Feat/visual enhancement - #10
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
WalkthroughChangesSurface act platform
Estimated code review effort: 4 (Complex) | ~45 minutes Sequence Diagram(s)sequenceDiagram
participant useSurfaceActs
participant resolveTransactionEntries
participant AxoneBlockAPI
participant SurfaceActStream
participant SurfaceActLine
useSurfaceActs->>resolveTransactionEntries: resolve transaction entries
resolveTransactionEntries->>AxoneBlockAPI: fetch block transaction hashes
AxoneBlockAPI-->>resolveTransactionEntries: return height/index mappings
useSurfaceActs->>SurfaceActStream: provide normalized acts
SurfaceActStream->>SurfaceActLine: render visible act and typing state
SurfaceActLine-->>SurfaceActStream: emit typing-complete
🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
src/components/SurfaceActStream.vue (1)
18-24: 🚀 Performance & Scalability | 🔵 Trivial
knownActIdsis unbounded in animated mode.The set is only cleared when
reducedMotionbecomes true (Line 119); in the normal animated path it accumulates every act id seen for the component's lifetime. Given indefinite polling, consider pruning ids that fall outside the current window when acts drop off.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/components/SurfaceActStream.vue` around lines 18 - 24, Bound knownActIds in the animated path by pruning IDs for acts that have dropped outside the current visible/pending window. Update the logic around knownActIds and the act-window update flow in SurfaceActStream so retained IDs correspond only to currently tracked acts, while preserving duplicate prevention for visible and pending acts.src/infra/axone-tx-api.ts (1)
54-66: 🚀 Performance & Scalability | 🔵 TrivialUnbounded cache growth over long-lived polling.
blockTransactionsByHeight(Line 5) is never evicted; sinceuseSurfaceActspolls every 15s for the lifetime of the mounted component, distinct block heights accumulate indefinitely on always-on displays. Block data is immutable so caching is correct, but consider a bounded LRU or capping retained heights to the register window.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@src/infra/axone-tx-api.ts` around lines 54 - 66, Bound the size of blockTransactionsByHeight in blockTransactionHashes so long-lived polling cannot retain every requested height indefinitely. Preserve caching for immutable block data, but evict the least-recently-used or oldest entries once the configured register-window capacity is exceeded, while retaining the existing rejection cleanup behavior.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@src/components/SurfaceActLine.vue`:
- Around line 89-92: Update the inscription paragraph in SurfaceActLine to bind
aria-label to the complete assertion value rather than the progressively
rendered typedAssertion. Preserve the existing typedAssertion display and cursor
behavior while ensuring assistive technology can access the full assertion
during typing.
---
Nitpick comments:
In `@src/components/SurfaceActStream.vue`:
- Around line 18-24: Bound knownActIds in the animated path by pruning IDs for
acts that have dropped outside the current visible/pending window. Update the
logic around knownActIds and the act-window update flow in SurfaceActStream so
retained IDs correspond only to currently tracked acts, while preserving
duplicate prevention for visible and pending acts.
In `@src/infra/axone-tx-api.ts`:
- Around line 54-66: Bound the size of blockTransactionsByHeight in
blockTransactionHashes so long-lived polling cannot retain every requested
height indefinitely. Preserve caching for immutable block data, but evict the
least-recently-used or oldest entries once the configured register-window
capacity is exceeded, while retaining the existing rejection cleanup behavior.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 2e87b37c-e020-4568-b524-2fa2ee772a86
⛔ Files ignored due to path filters (2)
package.jsonis excluded by!**/*.jsonpnpm-lock.yamlis excluded by!**/pnpm-lock.yaml,!**/*.yaml
📒 Files selected for processing (14)
src/components/HeroCanvas.vuesrc/components/SurfaceActBadge.vuesrc/components/SurfaceActItem.vuesrc/components/SurfaceActLine.vuesrc/components/SurfaceActStream.vuesrc/components/__tests__/SurfaceActStream.spec.tssrc/composables/__tests__/useSurfaceActs.spec.tssrc/composables/useSurfaceActs.tssrc/domain/__tests__/surface-act-mapper.spec.tssrc/domain/surface-act-mapper.tssrc/domain/surface-act.tssrc/infra/__tests__/axone-tx-api.spec.tssrc/infra/axone-tx-api.tssrc/styles.css
💤 Files with no reviewable changes (2)
- src/components/SurfaceActBadge.vue
- src/components/SurfaceActItem.vue
|
@coderabbitai resolve |
✅ Action performedComments resolved. Approval is disabled; enable |
Some improvements (visual & concepts) around the following principle:
block.tx.messageentry references resolved from block order and cached per height.