vug0s53sbvafd50f6lklfrimeni7j7or · 68 rows
| id | issue_id | event_type | actor | old_value | new_value | comment | created_at |
|---|---|---|---|---|---|---|---|
| 019f7c4a-ed78-7e5f-a8ba-1177909cc9d2 | memestudio-7ho | closed | Eugene Blikh | Replaced all twelve gallery placeholders with bundled original 640px transparent PNG stickers, added alpha-aware preview/edge/compositor rendering, persisted sticker metadata, and verified browser and container packaging behavior. | NULL | 2026-07-20T00:31:53Z | |
| 019f7c4b-1aa5-71d8-89e9-9baa7abeb988 | memestudio-djc | claimed | Eugene Blikh | {"id":"memestudio-djc","title":"Reconcile manifest vs saved doc","description":"On load, a saved doc fully replaces templates and the manifest bootstrap is skipped, so rebuilding the template library won't surface new templates in an existing doc. Decide/implement a merge (keep the doc's on-selection + uploads, refresh the library list).","status":"open","priority":3,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-18T15:21:28Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T15:21:28Z","labels":["backend"]} | {"assignee":"Eugene Blikh","status":"in_progress"} | NULL | 2026-07-20T00:32:04Z |
| 019f7c50-c4f7-7e0d-921a-4f5efa63213a | memestudio-djc | closed | Eugene Blikh | Merged saved template state with the current manifest by ID, preserving the active template and user uploads; added browser and backend-startup regression coverage. | NULL | 2026-07-20T00:38:15Z | |
| 019f7c50-ecfa-73dc-b9d8-fbb9593d9c15 | memestudio-uc3 | claimed | Eugene Blikh | {"id":"memestudio-uc3","title":"Persist undo history across reload","description":"Undo/redo history is in-memory; a reload restores the document but not the undo stack. Optionally persist a bounded history (or accept as-is).","status":"open","priority":3,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-18T15:21:28Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T15:21:28Z","labels":["backend","editor"]} | {"assignee":"Eugene Blikh","status":"in_progress"} | NULL | 2026-07-20T00:38:26Z |
| 019f7c57-8e0e-7c96-8765-83176a70f57f | memestudio-uc3 | closed | Eugene Blikh | Persisted a validated undo/redo window in the live draft, capped at 24 entries and 1 MiB; restored it across reload and reloads images referenced by restored states. | NULL | 2026-07-20T00:45:40Z | |
| 019f7c57-c476-78f1-a032-9b3f1d390299 | memestudio-a3d | claimed | Eugene Blikh | {"id":"memestudio-a3d","title":"Image corner-radius inspector row","description":"The image inspector spec has a Radius slider; placed images use a fixed 3px radius. Add radius to placed state + render + compositor (roundRect).","status":"open","priority":3,"issue_type":"task","owner":"bigbes@gmail.com","created_at":"2026-07-18T15:21:27Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T15:21:27Z","labels":["editor"]} | {"assignee":"Eugene Blikh","status":"in_progress"} | NULL | 2026-07-20T00:45:54Z |
| 019f7c5b-e46d-7d56-9d44-9cf16709fd43 | memestudio-a3d | closed | Eugene Blikh | Added a 0–40px image-radius slider with a 3px compatibility default, live DOM updates, rounded compositor clipping for images and stickers, and persistence coverage. | NULL | 2026-07-20T00:50:24Z | |
| 019f7c5c-0652-7e8e-a762-3fbd53825ddc | memestudio-cv9 | claimed | Eugene Blikh | {"id":"memestudio-cv9","title":"Dynamic breadcrumb","description":"The 'Templates / Drake Hotline Bling' breadcrumb is static. Reflect the selected template/base name.","status":"open","priority":3,"issue_type":"chore","owner":"bigbes@gmail.com","created_at":"2026-07-18T15:21:27Z","created_by":"Eugene Blikh","updated_at":"2026-07-18T15:21:27Z","labels":["editor"]} | {"assignee":"Eugene Blikh","status":"in_progress"} | NULL | 2026-07-20T00:50:33Z |
| 019f7c5e-0c4b-7cae-bb24-4bd6edfeeba1 | memestudio-cv9 | closed | Eugene Blikh | Made the breadcrumb derive from the active template or uploaded base, with safe truncation and full-name title; verified selection, reload, and restored-history transitions. | NULL | 2026-07-20T00:52:46Z | |
| 019f7c84-6a6c-7ae1-b162-4434fde2b04d | memestudio-d65 | created | Eugene Blikh | NULL | 2026-07-20T01:34:40Z | ||
| 019f7c84-7a01-738e-a8e6-6fb6374156c3 | memestudio-d65 | claimed | Eugene Blikh | {"id":"memestudio-d65","title":"Fetch Imgflip templates once on first server start","description":"Move Imgflip template acquisition out of the image/build path. On the first server start, launch a non-blocking Go job that fetches the Imgflip catalog and image bytes into SQLite; subsequent starts reuse the stored templates without contacting Imgflip. Update the template-serving path, packaging, documentation, and tests to match.","acceptance_criteria":"The server starts without waiting for Imgflip; an empty database triggers one background import; imported template metadata and image bytes persist in SQLite; a populated database does not refetch on restart; the UI can load templates through the server; builds no longer fetch or bundle generated templates; relevant Go and frontend tests/build checks pass.","status":"open","priority":1,"issue_type":"feature","owner":"bigbes@gmail.com","created_at":"2026-07-19T22:34:41Z","created_by":"Eugene Blikh","updated_at":"2026-07-19T22:34:41Z"} | {"assignee":"Eugene Blikh","status":"in_progress"} | NULL | 2026-07-20T01:34:44Z |
| 019f7c86-a85e-714c-8d19-6b79458a8816 | memestudio-d65 | updated | Eugene Blikh | {"id":"memestudio-d65","title":"Fetch Imgflip templates once on first server start","description":"Move Imgflip template acquisition out of the image/build path. On the first server start, launch a non-blocking Go job that fetches the Imgflip catalog and image bytes into SQLite; subsequent starts reuse the stored templates without contacting Imgflip. Update the template-serving path, packaging, documentation, and tests to match.","acceptance_criteria":"The server starts without waiting for Imgflip; an empty database triggers one background import; imported template metadata and image bytes persist in SQLite; a populated database does not refetch on restart; the UI can load templates through the server; builds no longer fetch or bundle generated templates; relevant Go and frontend tests/build checks pass.","status":"in_progress","priority":1,"issue_type":"feature","assignee":"Eugene Blikh","owner":"bigbes@gmail.com","created_at":"2026-07-19T22:34:41Z","created_by":"Eugene Blikh","updated_at":"2026-07-19T22:34:45Z","started_at":"2026-07-19T22:34:45Z"} | {"design":"Add SQLite templates plus a singleton import-completion row. Startup launches an Imgflip importer goroutine; it downloads the catalog and bounded image bodies concurrently, then commits usable templates and the completion marker in one transaction. GET /api/templates returns 202 + Retry-After until that marker exists and a manifest-shaped response afterward; GET /api/templates/{id} serves the stored blob. The browser renders immediately and polls the API in the background, while static-only hosting keeps its built-in placeholders. Remove the Docker network-fetch stage and the obsolete generator."} | NULL | 2026-07-20T01:37:07Z |
| 019f7c8f-0068-7232-85eb-172abbb41071 | memestudio-d65 | closed | Eugene Blikh | Implemented asynchronous first-start Imgflip import into SQLite, local template APIs, browser readiness polling, build-stage removal, documentation, and restart/failure tests. | NULL | 2026-07-20T01:46:14Z | |
| 019f7ca6-efd6-7d2f-b528-e2f254ad6b61 | memestudio-am3 | created | Eugene Blikh | NULL | 2026-07-20T02:12:22Z | ||
| 019f7ca7-0355-7595-83c8-6453718b9779 | memestudio-am3 | claimed | Eugene Blikh | {"id":"memestudio-am3","title":"Compact template rail and restore scrollable canvas","description":"The first-start library exposes 100 templates directly in the sidebar. That makes the sidebar's min-content height expand the app grid, vertically centers the canvas against the oversized page, and leaves most of the canvas inaccessible. Keep six popular/selected templates in the rail, move the full searchable library into an overlay picker, preserve Imgflip popularity order, and constrain sidebar/stage/inspector scrolling to the viewport.","acceptance_criteria":"The sidebar renders at most six template tiles plus an All templates action; the full 100-template library is searchable and selectable in a keyboard-accessible overlay; Imgflip catalog order drives popularity and the active template remains visible in the quick rail; the app stays exactly viewport-high; sidebar, stage, and inspector scroll independently; an oversized or zoomed canvas can be reached by scrolling/panning; relevant server, JavaScript, CSS, and Docker checks pass.","status":"open","priority":1,"issue_type":"bug","owner":"bigbes@gmail.com","created_at":"2026-07-19T23:12:23Z","created_by":"Eugene Blikh","updated_at":"2026-07-19T23:12:23Z"} | {"assignee":"Eugene Blikh","status":"in_progress"} | NULL | 2026-07-20T02:12:27Z |
| 019f7ca8-d58b-72ce-9150-b98ea0525b8b | memestudio-am3 | updated | Eugene Blikh | {"id":"memestudio-am3","title":"Compact template rail and restore scrollable canvas","description":"The first-start library exposes 100 templates directly in the sidebar. That makes the sidebar's min-content height expand the app grid, vertically centers the canvas against the oversized page, and leaves most of the canvas inaccessible. Keep six popular/selected templates in the rail, move the full searchable library into an overlay picker, preserve Imgflip popularity order, and constrain sidebar/stage/inspector scrolling to the viewport.","acceptance_criteria":"The sidebar renders at most six template tiles plus an All templates action; the full 100-template library is searchable and selectable in a keyboard-accessible overlay; Imgflip catalog order drives popularity and the active template remains visible in the quick rail; the app stays exactly viewport-high; sidebar, stage, and inspector scroll independently; an oversized or zoomed canvas can be reached by scrolling/panning; relevant server, JavaScript, CSS, and Docker checks pass.","status":"in_progress","priority":1,"issue_type":"bug","assignee":"Eugene Blikh","owner":"bigbes@gmail.com","created_at":"2026-07-19T23:12:23Z","created_by":"Eugene Blikh","updated_at":"2026-07-19T23:12:28Z","started_at":"2026-07-19T23:12:28Z"} | {"design":"Keep six quick templates in the sidebar: the first six by Imgflip catalog rank, replacing the sixth with the active template when needed. Put all templates plus upload in a native dialog with its own search; sidebar search and Browse all open it, and Escape/native focus handling close it. Persist catalog rank in SQLite and run a one-time metadata-only rank migration for databases created before the rank column, without redownloading image blobs. Constrain the grid/flex min-heights to 100dvh, make the stage independently scrollable, size the zoom wrapper to transformed dimensions, and support wheel/scrollbar plus space- or middle-drag panning."} | NULL | 2026-07-20T02:14:27Z |
| 019f7cb3-5bf9-71b5-b023-6f5ac4c76ebf | memestudio-am3 | closed | Eugene Blikh | Implemented six-template quick rail, searchable native full-library picker, persisted Imgflip popularity rank with metadata-only legacy migration, viewport-constrained independent scrolling, zoom-aware stage sizing, and space/middle-button panning. Go tests including race, vet/build, JS syntax, Docker build, and a 100-template headless browser interaction check pass. | NULL | 2026-07-20T02:25:57Z | |
| 019f7cc3-0d54-7d32-b385-9b6cf416a480 | memestudio-5tg | created | Eugene Blikh | NULL | 2026-07-20T02:43:05Z |