Conversation
|
@greptile review |
Greptile SummaryImplemented a comprehensive bottom sheet/modal system (
The implementation includes extensive CSS (948 lines for d-sheet), comprehensive touch handling, animation systems, dimension calculations, and accessibility features. The PR title "wip" suggests this is work in progress. Confidence Score: 3/5
Important Files Changed
Sequence DiagramsequenceDiagram
participant User
participant Trigger as DSheet.Trigger
participant Root as DSheet.Root
participant Controller
participant StateMachine
participant Registry as SheetRegistry
participant View as DSheet.View
participant Animation
participant Touch as TouchHandler
User->>Trigger: Click trigger button
Trigger->>Root: present()
Root->>Root: openSheet()
Root->>Controller: open()
Controller->>StateMachine: send("OPEN")
StateMachine->>StateMachine: Transition to "opening"
StateMachine->>Controller: Notify state change
Controller->>Registry: register(controller)
Registry->>Registry: applyScrollLock()
Registry->>Registry: recalculateInertOutside()
Controller->>View: Mount view with isPresented=true
View->>Controller: Register DOM elements
Controller->>Controller: Calculate dimensions
Controller->>Animation: Start opening animation
Animation->>View: Apply CSS transforms
Animation-->>StateMachine: Animation complete
StateMachine->>StateMachine: Transition to "open"
User->>View: Swipe gesture
View->>Touch: handleScrollStart()
Touch->>Controller: onTouchGestureStart()
Controller->>StateMachine: Update touch state
User->>View: Release swipe
View->>Touch: handleScrollEnd()
Touch->>Controller: onTouchGestureEnd()
Touch->>Touch: startScrollendMonitor()
alt Swiped to dismiss
Touch->>Controller: close()
Controller->>StateMachine: send("ACTUALLY_CLOSE")
StateMachine->>StateMachine: Transition to "closing"
Controller->>Animation: Start closing animation
Animation->>View: Apply exit transforms
Animation-->>StateMachine: Animation complete
StateMachine->>StateMachine: Transition to "closed"
Controller->>Registry: unregister(controller)
Registry->>Registry: removeScrollLock()
Controller->>Root: onClosed callback
else Stayed open
Touch->>Touch: Snap back to position
end
|
There was a problem hiding this comment.
Additional Comments (5)
-
frontend/discourse/float-kit/services/toasts.js, line 68 (link)logic:
options.datawill throw TypeError ifoptions.datais undefined -
frontend/discourse/float-kit/services/toasts.js, line 82-83 (link)logic:
options.datawill throw TypeError ifoptions.datais undefined -
frontend/discourse/float-kit/services/toasts.js, line 97-98 (link)logic:
options.datawill throw TypeError ifoptions.datais undefined -
frontend/discourse/float-kit/services/toasts.js, line 112-113 (link)logic:
options.datawill throw TypeError ifoptions.datais undefined -
frontend/discourse/float-kit/services/toasts.js, line 127-128 (link)logic:
options.datawill throw TypeError ifoptions.datais undefined
108 files reviewed, 5 comments
|
@greptile review |
Greptile's behavior is changing!From now on, if a review finishes with no comments, we will not post an additional "statistics" comment to confirm that our review found nothing to comment on. However, you can confirm that we reviewed your changes in the status check section. This feature can be toggled off in your Code Review Settings by deselecting "Create a status check for each PR". |
053ae39 to
cb5752c
Compare
Bump discourse_ai-tokenizers from 0.4.1 to 0.4.2.
discourse#38112) The sidebar "New Topic" button in Horizon was passing `this.tag?.id` (a numeric ID) to `composer.openNewTopic()`, which expects a comma-separated string of tag names. This caused two issues: - For non-staff users, `filterTags()` tried to access `.content` on a number, throwing "Cannot read properties of undefined (reading 'filter')" and preventing the composer from opening entirely. - For staff users, `filterTags()` passed the number through, resulting in the numeric ID being displayed as the tag name in the composer. Switching to `this.tag?.name` aligns with the pattern used by the discovery list controller and the composer's expected API. Also adds a system spec covering the tag page → new topic flow. Ref - t/178629
An admin could set `pg_function` to an arbitrary SQL fragment that would be string-interpolated into raw SQL queries in`DiscourseAi::Embeddings::Schema`.
No description provided.