# Commit history · dara/icarus

[View on GitCafe](https://git.cafe/dara/icarus/commits/71baf288dbcfee5c5d42980d541bc08ff163a1da)

Repository: [dara/icarus](https://git.cafe/dara/icarus)

Visibility: public

Requested revision: 71baf288dbcfee5c5d42980d541bc08ff163a1da

Requested commit: 71baf288dbcfee5c5d42980d541bc08ff163a1da

- [Check again before leaving a cloud strategy with work pending](https://git.cafe/dara/icarus/commit/71baf288dbcfee5c5d42980d541bc08ff163a1da?format=markdown) — 71baf288dbcfee5c5d42980d541bc08ff163a1da; Dara Adedeji

- [Reload through the same guard as leaving a strategy](https://git.cafe/dara/icarus/commit/76fe662312fdf800245837810f3ce4917f298c16?format=markdown) — 76fe662312fdf800245837810f3ce4917f298c16; Dara Adedeji

- [Never offer a reload over unsaved work, and give every refusal a way out](https://git.cafe/dara/icarus/commit/6104d28543bb5964d937f1c7bc29209cb1204e49?format=markdown) — 6104d28543bb5964d937f1c7bc29209cb1204e49; Dara Adedeji

- [Tell the user when the server needs a newer Icarus](https://git.cafe/dara/icarus/commit/22429c6588c23be3fb4bfea833aea9f2da6225f1?format=markdown) — 22429c6588c23be3fb4bfea833aea9f2da6225f1; Dara Adedeji

- [Refuse payload reads to clients on an old protocol](https://git.cafe/dara/icarus/commit/75b58e133943f678861088ab3adb1544273a2539?format=markdown) — 75b58e133943f678861088ab3adb1544273a2539; Dara Adedeji

- [Remove a stray music video and the bun init scaffold](https://git.cafe/dara/icarus/commit/930f0c64ee749afee87ee416caf265d4ddbba545?format=markdown) — 930f0c64ee749afee87ee416caf265d4ddbba545; Dara Adedeji

- [Put the gated promotion store's doc comment back on it](https://git.cafe/dara/icarus/commit/a3cdfa778aee33447bd1b39abdca30b1ae3fed78?format=markdown) — a3cdfa778aee33447bd1b39abdca30b1ae3fed78; Dara Adedeji

- [Never count kept or stale work as the canvas's own](https://git.cafe/dara/icarus/commit/a51270597a928684c5787ab016f1b1856556e274?format=markdown) — a51270597a928684c5787ab016f1b1856556e274; Dara Adedeji

- [Save drawings exactly as desktop 4.6.3 does too](https://git.cafe/dara/icarus/commit/7083fe9d3c412ea8c0d9c475eea7ad7976d94cec?format=markdown) — 7083fe9d3c412ea8c0d9c475eea7ad7976d94cec; Dara Adedeji

- [Give the repository fakes the new accountSubject argument](https://git.cafe/dara/icarus/commit/dc81abdc70954326277a2a896b31af8b243c9266?format=markdown) — dc81abdc70954326277a2a896b31af8b243c9266; Dara Adedeji

- [Send a batch of cloud changes only as the account that queued it](https://git.cafe/dara/icarus/commit/128420bf7e6b405a7c7667305c574a6b140397da?format=markdown) — 128420bf7e6b405a7c7667305c574a6b140397da; Dara Adedeji

- [Keep Hive's crash recovery on for the cloud outboxes](https://git.cafe/dara/icarus/commit/878dfe77ac3af28d6bbf34df02cc82e4f2a4d632?format=markdown) — 878dfe77ac3af28d6bbf34df02cc82e4f2a4d632; Dara Adedeji

- [Say Saved only when the save actually landed](https://git.cafe/dara/icarus/commit/7dc9f1472fcb57f73351182189da87baf2f08098?format=markdown) — 7dc9f1472fcb57f73351182189da87baf2f08098; Dara Adedeji

- [Open the local library even when the cloud fails to start](https://git.cafe/dara/icarus/commit/15283c00577d948b1050a7c5d1822cbe3d6ef2b1?format=markdown) — 15283c00577d948b1050a7c5d1822cbe3d6ef2b1; Dara Adedeji

- [Mark recovered work by what the canvas queued, not by when the queue opened](https://git.cafe/dara/icarus/commit/65f978afef8d5f6d6ee4dbc622944f772e222e9c?format=markdown) — 65f978afef8d5f6d6ee4dbc622944f772e222e9c; Dara Adedeji

- [Match the build number to data version 104 so the next release can bump](https://git.cafe/dara/icarus/commit/8eaacc121068db01c04c6d45d1feb506a48e3dc5?format=markdown) — 8eaacc121068db01c04c6d45d1feb506a48e3dc5; Dara Adedeji

- [Quiet the expected adapter-override warnings in the rollback test](https://git.cafe/dara/icarus/commit/f2cbb03f16ff1c7a8e1f07c23461df6348884de8?format=markdown) — f2cbb03f16ff1c7a8e1f07c23461df6348884de8; Dara Adedeji

- [Let a second launch open its \.ica file on Windows again](https://git.cafe/dara/icarus/commit/da247dafd9b3e44f90c73d6e5a2b3c9409101a0a?format=markdown) — da247dafd9b3e44f90c73d6e5a2b3c9409101a0a; Dara Adedeji

- [Test that an old-size cloud Paranoia opens corrected and sends nothing](https://git.cafe/dara/icarus/commit/6b1fe932e20f848ed286cb3858fcf8331a992e0b?format=markdown) — 6b1fe932e20f848ed286cb3858fcf8331a992e0b; Dara Adedeji

- [Deploy the web beta and run CI from main](https://git.cafe/dara/icarus/commit/f4dd70c0913c49133e9041ce8a990a7e154e2b3f?format=markdown) — f4dd70c0913c49133e9041ce8a990a7e154e2b3f; Dara Adedeji

- [Keep a recovered edit when the user drops a held item over it](https://git.cafe/dara/icarus/commit/53bbfea74d5a6436480a699e6fb186deeb0aa16a?format=markdown) — 53bbfea74d5a6436480a699e6fb186deeb0aa16a; Dara Adedeji

- [Save the library exactly as desktop 4.6.3 does, so a rollback keeps it](https://git.cafe/dara/icarus/commit/309333fec68d142a8fc30cc518576e9a7210904d?format=markdown) — 309333fec68d142a8fc30cc518576e9a7210904d; Dara Adedeji

- [Refuse protocol 3 clients so none can move a Paranoia twice](https://git.cafe/dara/icarus/commit/cbbdadf7d3e1eaf4c2ab5d92a78bf990e24e5ccf?format=markdown) — cbbdadf7d3e1eaf4c2ab5d92a78bf990e24e5ccf; Dara Adedeji

- [Draw cloud Paranoias at their in-game size too](https://git.cafe/dara/icarus/commit/6239072b6de59c52aa5888c1a6a3e1156609e796?format=markdown) — 6239072b6de59c52aa5888c1a6a3e1156609e796; Dara Adedeji

- [Merge main into icarus-cloud: Paranoia at in-game size, folder grid, defense resize](https://git.cafe/dara/icarus/commit/11bb7467d281f85e7250be70c6d6848669155cb1?format=markdown) — 11bb7467d281f85e7250be70c6d6848669155cb1; Dara Adedeji

- [Keep deleted pages in a 30-day trash, with Recently deleted and restore \(\#228\)](https://git.cafe/dara/icarus/commit/97dd6c463e8a43054d943cf73803a6534c907c6b?format=markdown) — 97dd6c463e8a43054d943cf73803a6534c907c6b; Dara Adedeji

- [Ask the server which images it still shows before dropping an upload \(\#233\)](https://git.cafe/dara/icarus/commit/d56ab729bbef8dbcccd00c50a5dbe8edbd7e37a9?format=markdown) — d56ab729bbef8dbcccd00c50a5dbe8edbd7e37a9; Dara Adedeji

- [Export video on the web beta, and of cloud strategies anywhere \(\#230\)](https://git.cafe/dara/icarus/commit/3cbd0f7c2b024599870ac140e29a02f962666aaa?format=markdown) — 3cbd0f7c2b024599870ac140e29a02f962666aaa; Dara Adedeji

- [Keep a capture's shared download client open until the capture ends \(\#232\)](https://git.cafe/dara/icarus/commit/9adbbe24beb3a4b88b824432be1e0051b48e1d09?format=markdown) — 9adbbe24beb3a4b88b824432be1e0051b48e1d09; Dara Adedeji

- [Take screenshots on the web beta, and of cloud strategies anywhere \(\#229\)](https://git.cafe/dara/icarus/commit/5424d767d036f3ff4be3466c8a81c8a401175983?format=markdown) — 5424d767d036f3ff4be3466c8a81c8a401175983; Dara Adedeji

- [Store a resize on release and settle its position a frame later \(\#231\)](https://git.cafe/dara/icarus/commit/0491d518b734b7115ae46402322d152d0e309fad?format=markdown) — 0491d518b734b7115ae46402322d152d0e309fad; Dara Adedeji

- [Keep text and images in place when resized on defense \(\#226\)](https://git.cafe/dara/icarus/commit/4bb00504507ddcde13cccdd0c0a10fff52caeb3a?format=markdown) — 4bb00504507ddcde13cccdd0c0a10fff52caeb3a; Dara Adedeji

- [Let anyone with a strategy link view it without an account \(\#225\)](https://git.cafe/dara/icarus/commit/6f29281aa13c0716483e7ff90000554547619004?format=markdown) — 6f29281aa13c0716483e7ff90000554547619004; Dara Adedeji

- [Tell the user when a teammate deletes the page holding their unsaved work \(\#215\)](https://git.cafe/dara/icarus/commit/bdbd8e5b3ffc721fdb952750e6a2ae966e9ae202?format=markdown) — bdbd8e5b3ffc721fdb952750e6a2ae966e9ae202; Dara Adedeji

- [Run CI in parallel lanes and gate desktop releases on the upgrade test \(\#219\)](https://git.cafe/dara/icarus/commit/7a8c1cf8286a78730ac8ea356219a0d2de44fec3?format=markdown) — 7a8c1cf8286a78730ac8ea356219a0d2de44fec3; Dara Adedeji

- [Reuse the built path of strokes a remote merge left unchanged \(\#221\)](https://git.cafe/dara/icarus/commit/646b2776824a4ccd459ceb2490bfdd9746411394?format=markdown) — 646b2776824a4ccd459ceb2490bfdd9746411394; Dara Adedeji

- [Wait for an upload's URL to expire before deleting its bytes \(\#218\)](https://git.cafe/dara/icarus/commit/029717f45ac219ad6f830a019cd0f21a63176cd8?format=markdown) — 029717f45ac219ad6f830a019cd0f21a63176cd8; Dara Adedeji

- [Apply teammates' changes item by item instead of reloading the page \(\#208\)](https://git.cafe/dara/icarus/commit/d967315486fc6d5f76c5483f2378e569ef81ac58?format=markdown) — d967315486fc6d5f76c5483f2378e569ef81ac58; Dara Adedeji

- [Refuse deleting a lineup origin or landing a live link still names \(\#213\)](https://git.cafe/dara/icarus/commit/d7d9d580f8ffbebb1cf151b52b8f96888ddabe66?format=markdown) — d7d9d580f8ffbebb1cf151b52b8f96888ddabe66; Dara Adedeji

- [Store the Discord name and avatar at sign-in \(\#217\)](https://git.cafe/dara/icarus/commit/c01bea87cea7d8d41b2d14703c48da3cc04f8459?format=markdown) — c01bea87cea7d8d41b2d14703c48da3cc04f8459; Dara Adedeji

- [Read Discord names and avatars from flattened JWT claims \(\#216\)](https://git.cafe/dara/icarus/commit/87b10f9bd7d6b375ad1e86a58c6c462e85dda7f8?format=markdown) — 87b10f9bd7d6b375ad1e86a58c6c462e85dda7f8; Dara Adedeji

- [Say why a lineup was refused instead of calling it a conflict \(\#212\)](https://git.cafe/dara/icarus/commit/5b0abd0b7a161fdd95f1dc27d244f980efb32436?format=markdown) — 5b0abd0b7a161fdd95f1dc27d244f980efb32436; Dara Adedeji

- [Show who else is on a strategy and their live cursors \(\#214\)](https://git.cafe/dara/icarus/commit/afa19dfa1a10d8403680f19ce4fe6cc515dc5d7a?format=markdown) — afa19dfa1a10d8403680f19ce4fe6cc515dc5d7a; Dara Adedeji

- [Keep the server's order within sortIndex ties \(\#211\)](https://git.cafe/dara/icarus/commit/a8b34ce51ed0796c1dd72f696628d740c5def698?format=markdown) — a8b34ce51ed0796c1dd72f696628d740c5def698; Dara Adedeji

- [Say the server has users: migrate, never wipe \(\#210\)](https://git.cafe/dara/icarus/commit/e881a0713a3ba5c61d21fc011521d0b1f36860d5?format=markdown) — e881a0713a3ba5c61d21fc011521d0b1f36860d5; Dara Adedeji

- [Refuse lineup links whose origin or landing is gone \(\#209\)](https://git.cafe/dara/icarus/commit/9b0c60afaa94fae9783d687a1e92657c8bbd0206?format=markdown) — 9b0c60afaa94fae9783d687a1e92657c8bbd0206; Dara Adedeji

- [Keep unfinished canvas edits when a teammate's change streams in \(\#207\)](https://git.cafe/dara/icarus/commit/ff825f2d5f0ddf8c96c0b5810aaed498323929f4?format=markdown) — ff825f2d5f0ddf8c96c0b5810aaed498323929f4; Dara Adedeji

- [Serve the web beta from the production Convex deployment \(\#206\)](https://git.cafe/dara/icarus/commit/3faff44f332dc2fe6f2bb85177babc787040afeb?format=markdown) — 3faff44f332dc2fe6f2bb85177babc787040afeb; Dara Adedeji

- [Keep media cleanup and duplicate within Convex limits \(\#204\)](https://git.cafe/dara/icarus/commit/79d856a2079f69034573616734ee540770c99a1b?format=markdown) — 79d856a2079f69034573616734ee540770c99a1b; Dara Adedeji

- [Cover partial reverts in undo \(\#203\)](https://git.cafe/dara/icarus/commit/a9974811da61d21f20d3990b2050fde0fed423a9?format=markdown) — a9974811da61d21f20d3990b2050fde0fed423a9; Dara Adedeji

- [Stop Convex contract previews from piling up and steady the upgrade test cleanup \(\#205\)](https://git.cafe/dara/icarus/commit/8ce645e605dff1e2116669cf51dc7b5de1b39a5f?format=markdown) — 8ce645e605dff1e2116669cf51dc7b5de1b39a5f; Dara Adedeji

- [Skip undo steps a teammate already reverted \(\#202\)](https://git.cafe/dara/icarus/commit/66dc33dc843a7987bb69c3ef85980aa6fd3b4fe9?format=markdown) — 66dc33dc843a7987bb69c3ef85980aa6fd3b4fe9; Dara Adedeji

- [Drop legacy lineup groups and fix two media cleanup gaps \(\#201\)](https://git.cafe/dara/icarus/commit/dcd013021a982edef58fdff871b1f8c220c9e9dd?format=markdown) — dcd013021a982edef58fdff871b1f8c220c9e9dd; Dara Adedeji

- [Finish applied-effect undo for lineup images and stale entries \(\#200\)](https://git.cafe/dara/icarus/commit/217c07af4e5afcb810f45e68736705a782df931e?format=markdown) — 217c07af4e5afcb810f45e68736705a782df931e; Dara Adedeji

- [Sync the lineup graph to the cloud natively \(\#196\)](https://git.cafe/dara/icarus/commit/37e59ca30d28c20b5805fbc146929c3a3b73c438?format=markdown) — 37e59ca30d28c20b5805fbc146929c3a3b73c438; Dara Adedeji

- [Cover lineup undo edge cases and keep focus after clear \(\#199\)](https://git.cafe/dara/icarus/commit/b3f15ddd8a42c8094fa91fbe598862dea1766085?format=markdown) — b3f15ddd8a42c8094fa91fbe598862dea1766085; Dara Adedeji

- [Refuse oversized images on desktop and tighten placeholder cleanup \(\#198\)](https://git.cafe/dara/icarus/commit/bb89f7a8fde4a25b0d8c6f92306bfbda76d213b9?format=markdown) — bb89f7a8fde4a25b0d8c6f92306bfbda76d213b9; Dara Adedeji

- [Copy images when duplicating a cloud strategy \(\#197\)](https://git.cafe/dara/icarus/commit/ad2cc41a43653cc8ebfdd01f5a5a35ed1b381657?format=markdown) — ad2cc41a43653cc8ebfdd01f5a5a35ed1b381657; Dara Adedeji

- [Undo only your own change on shared pages \(\#195\)](https://git.cafe/dara/icarus/commit/478f31157081362120376e4415564357ad53ea89?format=markdown) — 478f31157081362120376e4415564357ad53ea89; Dara Adedeji

- [Point CLAUDE.md at AGENTS.md so every agent reads one file \(\#194\)](https://git.cafe/dara/icarus/commit/287cbd373f97998e15c3793a8bddd9e7ad6531cb?format=markdown) — 287cbd373f97998e15c3793a8bddd9e7ad6531cb; Dara Adedeji

- [Keep viewers out of the title and drop the share path after redeeming \(\#192\)](https://git.cafe/dara/icarus/commit/85f86de0d2d8276622175a23fc2e4a074f176cc3?format=markdown) — 85f86de0d2d8276622175a23fc2e4a074f176cc3; Dara Adedeji

- [Record the local web port the R2 CORS rule allows \(\#190\)](https://git.cafe/dara/icarus/commit/2d29319208c5082eb48d2e20da8a1d91f66ddda6?format=markdown) — 2d29319208c5082eb48d2e20da8a1d91f66ddda6; Dara Adedeji

- [Fix three rough edges the web beta smoke test found \(\#191\)](https://git.cafe/dara/icarus/commit/5ebca4083f7910e593171f1996bf2ad3426fff9e?format=markdown) — 5ebca4083f7910e593171f1996bf2ad3426fff9e; Dara Adedeji

- [Stop retrying changes for a strategy the server no longer has \(\#189\)](https://git.cafe/dara/icarus/commit/dd5141c246da437ab5e73ad8acc4fc0cee2ca0ce?format=markdown) — dd5141c246da437ab5e73ad8acc4fc0cee2ca0ce; Dara Adedeji

- [Reopen the strategy after a reload on web and clear two startup errors \(\#188\)](https://git.cafe/dara/icarus/commit/8c27add9e8efcb37386ac308ccdf2bbf463056f6?format=markdown) — 8c27add9e8efcb37386ac308ccdf2bbf463056f6; Dara Adedeji

- [Sync editor changes from the web beta \(\#187\)](https://git.cafe/dara/icarus/commit/23cdc22924ccf6deeeee4c500e6861a10326c961?format=markdown) — 23cdc22924ccf6deeeee4c500e6861a10326c961; Dara Adedeji

- [Keep the cloud library connected after a page refresh on web \(\#185\)](https://git.cafe/dara/icarus/commit/8787b8ddff3277b45dc69cc659eb381a43066b6d?format=markdown) — 8787b8ddff3277b45dc69cc659eb381a43066b6d; Dara Adedeji

- [Add images and lineups to cloud strategies from the web beta \(\#184\)](https://git.cafe/dara/icarus/commit/b0e53999276f1c8ee3162eac9721349a6ce40f15?format=markdown) — b0e53999276f1c8ee3162eac9721349a6ce40f15; Dara Adedeji

- [Make the web build a signed-in beta instead of a demo \(\#183\)](https://git.cafe/dara/icarus/commit/e5baf16da624ba3439ab599f8bac6d06b29bb44f?format=markdown) — e5baf16da624ba3439ab599f8bac6d06b29bb44f; Dara Adedeji

- [Sign in with Discord on web and make share links origin-aware \(\#182\)](https://git.cafe/dara/icarus/commit/b32d08655c49fa9372d1353ac8b9019cd31a5c13?format=markdown) — b32d08655c49fa9372d1353ac8b9019cd31a5c13; Dara Adedeji

- [Render cloud images on web from their remote URL \(\#181\)](https://git.cafe/dara/icarus/commit/ee96bb57fa9375d0c8bf767983c8ce479ead89ba?format=markdown) — ee96bb57fa9375d0c8bf767983c8ce479ead89ba; Dara Adedeji

- [Deploy the web beta to Cloudflare Pages on push \(\#180\)](https://git.cafe/dara/icarus/commit/fbf9ff3291ca040d8d29ac86a165141f3f62512d?format=markdown) — fbf9ff3291ca040d8d29ac86a165141f3f62512d; Dara Adedeji

- [Merge main into icarus-cloud \(\#179\)](https://git.cafe/dara/icarus/commit/37f992db6371a63d8d1189b86fe10bec9a90c7a0?format=markdown) — 37f992db6371a63d8d1189b86fe10bec9a90c7a0; Dara Adedeji

- [Merge pull request \#167 from SunkenInTime/t3code/ea16dc4d](https://git.cafe/dara/icarus/commit/594b3088f51e992d5971b8292d6f8de48a592e45?format=markdown) — 594b3088f51e992d5971b8292d6f8de48a592e45; Dara Adedeji

- [Merge pull request \#163 from SunkenInTime/t3code/ea16dc4d](https://git.cafe/dara/icarus/commit/384cfdd29fad70865c5f6c3c6e184fc9fdd5c1f0?format=markdown) — 384cfdd29fad70865c5f6c3c6e184fc9fdd5c1f0; Dara Adedeji

- [Merge pull request \#149 from SunkenInTime/t3code/library-title-strip](https://git.cafe/dara/icarus/commit/7dfc5be5bccd5459a0546051a73c15c8cba5c37c?format=markdown) — 7dfc5be5bccd5459a0546051a73c15c8cba5c37c; Dara Adedeji

- [Merge pull request \#158 from SunkenInTime/codex/sync-recovery-followup](https://git.cafe/dara/icarus/commit/bb56ffd8f088766a4d61ef481002cb0a314162c2?format=markdown) — bb56ffd8f088766a4d61ef481002cb0a314162c2; Dara Adedeji

- [Merge pull request \#156 from SunkenInTime/agent/cloud-readiness-integration-98296362](https://git.cafe/dara/icarus/commit/b1e74c38c22b6ac6e3aa226d1494223d77898bd6?format=markdown) — b1e74c38c22b6ac6e3aa226d1494223d77898bd6; Dara Adedeji

- [Merge pull request \#143 from SunkenInTime/codex/canonical-coordinates-cloud](https://git.cafe/dara/icarus/commit/b364914c01d1d1596d63b549eaa38ee368ba1e8d?format=markdown) — b364914c01d1d1596d63b549eaa38ee368ba1e8d; Dara Adedeji

- [fix: harden cloud beta recovery paths](https://git.cafe/dara/icarus/commit/eee56acccfdade75441b760ae8917e7b4e419226?format=markdown) — eee56acccfdade75441b760ae8917e7b4e419226; Dara Adedeji

- [fix: keep local library rollback-safe](https://git.cafe/dara/icarus/commit/ee5d247b9b107ff3148d02affd534a547f518957?format=markdown) — ee5d247b9b107ff3148d02affd534a547f518957; Dara Adedeji

- [fix: preserve placed image Hive field](https://git.cafe/dara/icarus/commit/284a785a58c8513e170448556893b66787afa6d5?format=markdown) — 284a785a58c8513e170448556893b66787afa6d5; Dara Adedeji

- [Merge origin/main into icarus-cloud](https://git.cafe/dara/icarus/commit/6c78d5f52a2b257ae1fee9d18f739285817d3124?format=markdown) — 6c78d5f52a2b257ae1fee9d18f739285817d3124; Dara Adedeji

- [Merge pull request \#139 from SunkenInTime/codex/close-online-beta-visible-gate](https://git.cafe/dara/icarus/commit/31d4bf4f9cc198040c04f07563914ccc45ceb052?format=markdown) — 31d4bf4f9cc198040c04f07563914ccc45ceb052; Dara Adedeji

- [Merge pull request \#138 from SunkenInTime/codex/online-beta-release-gate](https://git.cafe/dara/icarus/commit/8513eb4167ff575f9c66c3768d73e5fa51bea86c?format=markdown) — 8513eb4167ff575f9c66c3768d73e5fa51bea86c; Dara Adedeji

- [Merge pull request \#137 from SunkenInTime/codex/remove-bundled-agent-skills](https://git.cafe/dara/icarus/commit/e5c032e19f241f42fe8dfb675fb1fdc78d276302?format=markdown) — e5c032e19f241f42fe8dfb675fb1fdc78d276302; Dara Adedeji

- [Merge pull request \#136 from SunkenInTime/t3code/convex-client-gauntlet](https://git.cafe/dara/icarus/commit/ce9beec189e35f48cced623e161aa55f2642e782?format=markdown) — ce9beec189e35f48cced623e161aa55f2642e782; Dara Adedeji

- [Merge pull request \#135 from SunkenInTime/t3code/greeting](https://git.cafe/dara/icarus/commit/e59402eedee9035cf14693fbd26fe8b097d6abfa?format=markdown) — e59402eedee9035cf14693fbd26fe8b097d6abfa; Dara Adedeji

- [Merge pull request \#134 from SunkenInTime/cloud-beta/cloud-empty-states](https://git.cafe/dara/icarus/commit/16a19f7ee1b5477be03477a4d7f5ad7c5085b297?format=markdown) — 16a19f7ee1b5477be03477a4d7f5ad7c5085b297; Dara Adedeji

- [Merge pull request \#133 from SunkenInTime/cloud-beta/readiness-checklist](https://git.cafe/dara/icarus/commit/8db9253c928b41554dd42c8c866471c6c82cae60?format=markdown) — 8db9253c928b41554dd42c8c866471c6c82cae60; Dara Adedeji

- [Merge pull request \#132 from SunkenInTime/cloud-beta/share-link-language](https://git.cafe/dara/icarus/commit/fd91bbd4f847279ed65325eeadf3de8968f129e4?format=markdown) — fd91bbd4f847279ed65325eeadf3de8968f129e4; Dara Adedeji

- [Merge pull request \#131 from SunkenInTime/cloud-beta/automation-semantics](https://git.cafe/dara/icarus/commit/83c102f1e89da95715ecbf1d9e199be1781dfe1a?format=markdown) — 83c102f1e89da95715ecbf1d9e199be1781dfe1a; Dara Adedeji

- [Merge pull request \#130 from SunkenInTime/cloud-beta/web-client](https://git.cafe/dara/icarus/commit/d440cc0c37f17ac6f342fb035a6b4d506b8a7f56?format=markdown) — d440cc0c37f17ac6f342fb035a6b4d506b8a7f56; Dara Adedeji

- [Write the cloud branch AGENTS.md](https://git.cafe/dara/icarus/commit/277fc14a893389c51047794ca9fce70de44cc31c?format=markdown) — 277fc14a893389c51047794ca9fce70de44cc31c; Dara Adedeji

- [Merge pull request \#78 from SunkenInTime/codex/reconcile-main-into-cloud](https://git.cafe/dara/icarus/commit/161d538d8b9fc5bb60f4aa10a540d99727eebb00?format=markdown) — 161d538d8b9fc5bb60f4aa10a540d99727eebb00; Dara Adedeji

- [Rename share-link dialog to add shared item](https://git.cafe/dara/icarus/commit/46e524209d1f47ea2e552ca13ac3e452ce6ac5da?format=markdown) — 46e524209d1f47ea2e552ca13ac3e452ce6ac5da; Dara Adedeji

- [Stream image uploads with live progress toast](https://git.cafe/dara/icarus/commit/29a124c527a14d1c8834a1c4c3cbc4317e88790d?format=markdown) — 29a124c527a14d1c8834a1c4c3cbc4317e88790d; Dara Adedeji

- [Migrate image storage to Cloudflare R2](https://git.cafe/dara/icarus/commit/aa4a1a316a22da15d0d4b0b27abd85acd69bc768?format=markdown) — aa4a1a316a22da15d0d4b0b27abd85acd69bc768; Dara Adedeji

- [Add friendly share link codes](https://git.cafe/dara/icarus/commit/5baaeec25f71da1da9c0a16b04ca05848540fa95?format=markdown) — 5baaeec25f71da1da9c0a16b04ca05848540fa95; Dara Adedeji

- [Merge pull request \#76 from SunkenInTime/cursor/convex-image-asset-storage-3cc3](https://git.cafe/dara/icarus/commit/01650cf65c6f819b2495f55657a753af44cbb9da?format=markdown) — 01650cf65c6f819b2495f55657a753af44cbb9da; Dara Adedeji

More commits follow; continue with `GET /api/repos/dara/icarus/commits?after=IjBlMTU4MGI2NjViODNhM2I2NWVhNWE5ODAzMWFlMGNjY2E0Y2JjZGYi`.
