Skip to content

Conversation

@svara
Copy link

@svara svara commented Jan 7, 2026

This PR adds Hotwire Native Bridge support and components.

Bridge components:

  • Page
  • Insets
  • Buttons
  • Form
  • Overflow menu

Example usage:

  • board settings button bridged using buttons component.
  • board creation form uses bridged_form_with.

Note: CSS has minimal additions to make the examples work.

@svara svara requested a review from adjogima January 7, 2026 12:03
@adjogima
Copy link
Contributor

adjogima commented Jan 8, 2026

Considering how we decided to move the app related CSS files into the existing structure, should we do the same here?
Something like:

javascript/
  controllers/
    bridge/
      xxx_controller.js
    xxx_controller.js
  helpers/
    bridge/
      xxx_helpers.js
    xxx_helpers.js
  initializers/
    bridge/
      xxx.js
    xxx.js

or even flat, like:

javascript/
  controllers/
    bridge_xxx_controller.js
    xxx_controller.js
  helpers/
    bridge_xxx_helpers.js
    xxx_helpers.js
  initializers/
    bridge_xxx.js
    xxx.js

adjogima and others added 19 commits January 8, 2026 17:47
* main:
  Fix that caching should be disabled in dev by default. References 3cf841d.
  Revert "Add CJK (Chinese, Japanese, Korean) search support"
  Account for new button sizes on mobile
  Bump filter z-index when filters are open
  Use a dedicated resource for showing cards in draft mode
  Refactor popup.css styles for focus state
  Add Segoe UI Variable Fizzy font face configuration comments
  Update @layer name to `base` in font-face definition for "Segoe UI Variable Fizzy"
  Fix font-face `src` reference for "Segoe UI Variable Fizzy" to correct local font lookup
  Adjust font-weight range for "Segoe UI Variable Fizzy" to include 800-900
  Update --font-sans and related font-face references to "Segoe UI Variable Fizzy" for consistency
  Add "Segoe UI fizzy" to --font-sans and define custom font faces
  Update --font-sans to include "Segoe UI Variable" for improved text rendering
  Add margin to details inside popup styles
… board perma since there are duplicate hidden elements
…s is always the same for the bridge message callback
* main:
  Consolidate footer text into a shared partial
  Tweak comment history button on mobile
  Transparent lexxy toolbar when inside a golden card
  Add rel noopener to external links
... to fix in the native apps
Comment on lines 23 to 29
receive(message) {
switch (message.event) {
case "set-text-size":
this.setTextSize(message.data)
break
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@svara This function is not currently being called within the controller. I think the iOS app is expecting a "connect" or "change" event with this as its callback?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good catch! It was leveraging the change event, but I removed it and forgot to fix this. I suggest we add a connect event as we can't rely on the visibility event. What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of combining unrelated things, how about we rename the "page" component to the "title" component and then you can implement a "text-size" component however you like? Android doesn't need the "text-size" component, so it's a better separation of concerns and its more clear what the components do.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agree 👌

adjogima and others added 10 commits January 12, 2026 17:30
* main:
  Remove explicit queue definition
  Fix attribute name
  Explicitly define incineration priority
  Fix incorrect recurring job config
  Add self-service account deletion (#2246)
  Document DELETE endpoint for removing card header image
  Document goldness endpoints for marking cards as golden
  Document closed and column fields in card API response
* main: (22 commits)
  Disable card column buttons when active
  Prevent comment content from overlapping with reaction button
  Delete pins belonging to cards in a board with revoked access
  Update development dependencies in SAAS lockfile
  Update runtime dependencies
  Update development dependencies
  Balance magic link instructions
  Add `.txt-balance` utility
  Move handleDesktop inside restoreColumnsDisablingTransitions
  Adjust border radius
  Clean up blank slates
  Add dialog manager to events page
  More sturated mini bubbles in light mode
  Brighten mini bubbles in dark mode
  Use separate cache namespaces for each beta instance
  Bump boost size up a tick on mobile
  Move Undo form inside closure message element
  Phrasing tweak for exceeding storage limit
  Keep strong tags words on same line
  Allow ActionText embed reuse and safe purge (#2346)
  ...
* main:
  Add rollback script to convert relative URLs back to absolute
  Add a script to migrate existing rich texts to relative URLs
  Use relative URLs where possible across all the app
  Use relative URLs for avatars and rich text attachments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants