ATProto Browser

ATProto Browser

Experimental browser for the Atmosphere

Post

if you don't believe me for some reason here's the lua code that's calling into web API

May 8, 2025, 5:44 PM

Record data

{
  "uri": "at://did:plc:azy5dtqi56fxhgohal7ytb2a/app.bsky.feed.post/3loohmrt2h224",
  "cid": "bafyreiav7pn2aoqji3vyz5k4cqswmnlxmynqaq72xmg6xcrzummbbqyuvi",
  "value": {
    "text": "if you don't believe me for some reason here's the lua code that's calling into web API",
    "$type": "app.bsky.feed.post",
    "embed": {
      "$type": "app.bsky.embed.recordWithMedia",
      "media": {
        "$type": "app.bsky.embed.images",
        "images": [
          {
            "alt": "local js = require(\"js\")\nlocal window = js.global\nlocal document = window.document\n\nlocal canvas = document:getElementById(\"canvas\")\nlocal ctx = canvas:getContext(\"2d\")\n\nlocal image = js.new(window.Image)\nimage.src = \"./brazil.jpg\"\n\n\nlocal obj = {dx = 1, dy = 1, x = 10, y = 10}\nfunction main()\n    wait_for_event(image, \"load\")\n    draw()\nend\n\nfunction draw()\n    ctx.fillStyle = \"gray\"\n    ctx:fillRect(0, 0, 640, 360)\n    ctx.fillStyle = \"black\"\n    ctx.font = \"30px monospace\";\n\n    ctx:drawImage(image, obj.x, obj.y, 200, 200)\n    obj.x = obj.dx + obj.x\n    if obj.x < 0 or obj.x > 440 then\n        obj.dx = obj.dx * -1\n    end\n    obj.y = obj.dy + obj.y\n    if obj.y < 0 or obj.y > 160 then\n        obj.dy = obj.dy * -1\n    end\n\n    ctx:fillText(\"lua in the browser!!!\", 200, 250)\n    window:requestAnimationFrame(draw)\nend\n\ncoroutine.wrap(main)()",
            "image": {
              "$type": "blob",
              "ref": {
                "$link": "bafkreic55eixzhwdxzaqhy3y6wfbye2lfny7obnd4jrs2wry4sqfmzwbei"
              },
              "mimeType": "image/jpeg",
              "size": 319775
            },
            "aspectRatio": {
              "width": 477,
              "height": 723
            }
          }
        ]
      },
      "record": {
        "$type": "app.bsky.embed.record",
        "record": {
          "cid": "bafyreibcc7zaox7a4bjti6zx6eypicnrvdxosxur5et7ni65dsfvkvseny",
          "uri": "at://did:plc:azy5dtqi56fxhgohal7ytb2a/app.bsky.feed.post/3loohg5bizs24"
        }
      }
    },
    "langs": [
      "en"
    ],
    "createdAt": "2025-05-08T17:44:07.235Z"
  }
}