[codex] Implement editable composer resources#286
Merged
Conversation
|
Deployment failed with the following error: Learn More: https://vercel.link/3Fpeeb1 |
Contributor
There was a problem hiding this comment.
Pull request overview
This PR enhances the Bricks chat composer and Resources UX by adding desktop-friendly keyboard behavior, web clipboard image paste routed through the existing draft upload pipeline, and inline editing for todo/note resource previews. It also updates task lifecycle docs and code maps to reflect the new feature surfaces and regression risks.
Changes:
- Add
Shift+Enternewline insertion while keepingEnteras “send” in the composer, with widget test coverage. - Add Flutter Web clipboard image paste handling and connect it to the existing draft image upload flow (with lifecycle safety guards).
- Make Resources previews editable for todo checkboxes and note Markdown (toolbar + edit/preview + save), including refresh callbacks and widget tests; update tasks + code maps accordingly.
Reviewed changes
Copilot reviewed 15 out of 23 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| docs/tasks/done/2026-07-03-17-41-CST-pr-286-code-review-fixes.md | Documents the follow-up review scope and acceptance criteria for PR 286 fixes. |
| docs/tasks/done/2026-07-03-17-14-CST-task-status-cleanup.md | Records the task lifecycle cleanup and validation steps. |
| docs/tasks/done/2026-07-03-15-47-CST-editable-todo-and-note-resources.md | Captures requirements/AC for editable todo + note resources. |
| docs/tasks/done/2026-07-03-14-54-CST-puzzle-pack-maker-app-shell.md | Task moved to done/; referenced by code maps. |
| docs/tasks/done/2026-07-03-09-58-CST-chat-input-shift-enter-newline.md | Task artifact for Shift+Enter behavior. |
| docs/tasks/done/2026-07-02-12-49-CST-paste-image-upload-flow.md | Task artifact for paste-image upload parity with normal uploads. |
| docs/tasks/done/2026-06-30-16-39-CST-dokku-preview-github-deployment-button.md | Task moved to done/; referenced by code maps. |
| docs/tasks/done/2026-06-30-15-23-CST-flutter-web-static-cache.md | Task moved to done/; referenced by code maps. |
| docs/tasks/done/2026-06-30-15-02-CST-auth-limiter-scope.md | Task moved to done/; referenced by code maps. |
| docs/tasks/done/2026-06-30-14-33-CST-media-fullscreen-download-action.md | Task moved to done/; referenced by code maps. |
| docs/tasks/done/2026-06-30-13-09-CST-media-preview-download-actions.md | Task moved to done/; referenced by code maps. |
| docs/code_maps/logic_map.yaml | Updates logic index/doc/test references and change risks for composer paste + Shift+Enter + editable resources. |
| docs/code_maps/feature_map.yaml | Updates product smoke checks and entry paths for Shift+Enter, paste-image upload, and editable resource previews. |
| apps/mobile_chat_app/test/composer_bar_test.dart | Adds widget tests for Shift+Enter newline vs Enter send. |
| apps/mobile_chat_app/test/chat_navigation_page_test.dart | Adds widget tests for todo checkbox editing + note markdown editing/preview/save/failure behavior. |
| apps/mobile_chat_app/lib/features/chat/widgets/composer_pasted_image.dart | Introduces pasted-image payload model + subscription interface. |
| apps/mobile_chat_app/lib/features/chat/widgets/composer_paste_image.dart | Adds conditional-import façade for paste-image listening (web vs stub). |
| apps/mobile_chat_app/lib/features/chat/widgets/composer_paste_image_web.dart | Implements Flutter Web paste listener to extract clipboard images and emit base64 payloads. |
| apps/mobile_chat_app/lib/features/chat/widgets/composer_paste_image_stub.dart | No-op implementation for non-web platforms. |
| apps/mobile_chat_app/lib/features/chat/widgets/composer_bar.dart | Wires paste-image subscription + callback; adds Shortcuts/Actions for Enter vs Shift+Enter. |
| apps/mobile_chat_app/lib/features/chat/note_api_service.dart | Adds updateNote API client method for PATCHing note fields. |
| apps/mobile_chat_app/lib/features/chat/chat_screen.dart | Routes composer pasted-image events into the existing draft upload pipeline with generation/mounted guards. |
| apps/mobile_chat_app/lib/features/chat/chat_navigation_page.dart | Adds editable todo and note resource previews, including markdown toolbar, edit/preview toggle, save, and refresh callback. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| final items = event.clipboardData?.items; | ||
| if (items == null) return; | ||
|
|
||
| final itemCount = items.length ?? 0; |
Comment on lines
+1249
to
+1254
| child: Column( | ||
| crossAxisAlignment: CrossAxisAlignment.stretch, | ||
| children: [ | ||
| for (final line in lines) _MarkdownPreviewLine(line: line), | ||
| ], | ||
| ), |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
docs/tasks/done/and update code maps for the changed feature/test surfaces.Validation
./tools/init_dev_env.shdart format apps/mobile_chat_app/lib/features/chat/chat_navigation_page.dart apps/mobile_chat_app/test/chat_navigation_page_test.dartcd apps/mobile_chat_app && flutter test test/composer_bar_test.dart test/chat_navigation_page_test.dartcd apps/mobile_chat_app && flutter analyzecd apps/mobile_chat_app && flutter test -d chrome test/composer_bar_test.dartapps/node_backend/node_modules/.bin/js-yaml docs/code_maps/feature_map.yamlapps/node_backend/node_modules/.bin/js-yaml docs/code_maps/logic_map.yamlgit diff --checkNotes
main, so it also contains the prior local task-status cleanup commit8fc9c74.