Commit Graph

442 Commits

Author SHA1 Message Date
Jorge Manrubia 704b5b9788 Fix: memoization was showing stale values when morphing 2025-12-04 21:21:54 +01:00
Jorge Manrubia bbec988516 Golden cards should be placed at the top 2025-12-04 19:23:55 +01:00
Jorge Manrubia a380492b32 Animate the column height with a stimulus controller so that it does not depend to the server to update when you D&D 2025-12-04 19:15:38 +01:00
Jorge Manrubia 539d3721db Keep the column color when D&D cards 2025-12-04 18:31:23 +01:00
Jorge Manrubia 3536b6fb32 Modify counters optimistically too 2025-12-04 18:31:23 +01:00
Jorge Manrubia 19051aec3e Append dropped cards instead of relying on server-side rendering to refresh the columns
This implements a simple strategy to optimistically insert cards in columns without waiting for the column refresh. Cards will be placed at the top respecting golden cards.

This uses sorting by "created at" with sorting by "updated at" for the _Not now_ column, so that the treatment everywhere is homogenous.
2025-12-04 18:31:23 +01:00
Jorge Manrubia 0cb65685e5 Capture key presses inside the column edit form to prevent interferences with column navigation
https://app.fizzy.do/5986089/cards/3249
2025-12-03 13:28:44 +01:00
Stanko Krtalić 297f727199 Merge pull request #1838 from basecamp/fix-crash-when-inserting-an-emoji-in-a-maxlength-reaction
Fix crash when inserting an emoji into a max length reaction
2025-12-03 10:36:38 +01:00
Stanko K.R. f8eda42187 Fix crash when inserting an emoji into a max length reaction 2025-12-03 10:32:49 +01:00
Kevin McConnell cdc1f9b143 Allow typing magic links on mobile
When typing a magic link, rather than pasting it, iOS seems to send
`keydown.enter`, and we weren't submitting the form in that case.

Changed to submit the form in either case, and use the state of the
input target to help guard against double submissions.
2025-12-02 20:09:26 +00:00
Kevin McConnell d24726c1d3 Merge pull request #1768 from basecamp/data-exports
Add "data export" feature
2025-12-02 09:56:40 +00:00
Jorge Manrubia 11249949eb Fix: edit comment button disappears when morphing the page
This also replaces the ad-hoc stimulus controller with the pure-css based
solution we recently added.

https://app.fizzy.do/5986089/cards/3243
2025-12-02 07:06:50 +01:00
Jason Zimdars 717ee86d27 Update show attribute when refreshing to correctly hide the field when unselected
Previously it would hang around and bleed in the terms input
2025-12-01 16:36:28 -06:00
Kevin McConnell e16cc21b0a Add "data export" feature
- Adds a button in Account Settings where you can request a ZIP export of your
  Fizzy data
- Export files are created in the background. When ready, a link to
  download them is sent to the requester.
- Exports expire after 24 hours. And are limited to 10 per day.
2025-12-01 15:23:26 +00:00
Jorge Manrubia 0a0a8642c9 Fix: scrolling to parent navigable list despite of setting
We need to check the setting of the parent controller

https://app.fizzy.do/5986089/cards/3184
2025-11-27 18:04:38 +01:00
Jorge Manrubia ca10e4ba4e Prevent autoscroll to the root columns container to prevent jump on page load
https://app.fizzy.do/5986089/cards/3160
2025-11-25 21:01:18 +01:00
Jason Zimdars 0c05694a3c This seems to have caused the unwanted effect of not focusing the field in Mobile Safari
Looks like it regressed in
https://github.com/basecamp/fizzy/commit/250935530f86eb628d6b54ec6b7212dac9e76f8b.
Let's see if we can get focus in Safari without sacrificing select in
other browsers by simply moving the nextFrame() call
2025-11-24 17:48:02 -06:00
Jason Zimdars 9cc63c6dce This is too fancy, remove it 2025-11-24 15:48:08 -06:00
Andy Smith d61bff7321 Ability to close search when input is empty 2025-11-21 15:17:17 -06:00
Andy Smith 250935530f Better focus and clearing when searching 2025-11-21 14:32:10 -06:00
Jason Zimdars d179316662 Merge pull request #1650 from basecamp/column-nav-keyboard
Navigate columns with keyboard
2025-11-21 12:59:32 -06:00
Stanko K.R. ac2ed4851e Blur comment field after submission 2025-11-21 15:59:22 +01:00
Jorge Manrubia 6daccc88ae Deselect column/card selection when clicking outside 2025-11-21 12:53:13 +01:00
Jorge Manrubia 6af9ab9b6d Make selection work when toggling columns 2025-11-21 12:28:37 +01:00
Stanko K.R. 7c15be02f8 Skip navigation when opening a new tab 2025-11-21 11:48:29 +01:00
Jorge Manrubia a4cc568a71 Merge branch 'main' into column-nav-keyboard
Resolved conflict in app/views/boards/show/_columns.html.erb by combining:
- hide-scrollbar class from main
- navigable-list controller from column-nav-keyboard

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-21 10:54:45 +01:00
Jorge Manrubia 85b9e3dfd4 Make the notifications tray reload on broadcasted refreshes
We can't use the normal refresh: :morph because everything is contained in a turbo permanent section
so that the trays persist across regular navigation.
2025-11-21 09:41:03 +01:00
Jorge Manrubia 7c0fb3c79b Fix: activate only when the option is set 2025-11-20 14:13:59 +01:00
Jorge Manrubia ccfc1b6058 Support containing actionable items to focused items in the navigable list 2025-11-20 14:03:00 +01:00
Jorge Manrubia eb51edac1c Rename properties 2025-11-20 13:56:27 +01:00
Jorge Manrubia cc4f696a00 Remove trace 2025-11-20 13:46:57 +01:00
Jorge Manrubia c472825a55 Move comment 2025-11-20 13:42:33 +01:00
Jorge Manrubia 20a0e2be9b Extract method 2025-11-20 13:42:25 +01:00
Jorge Manrubia 3247841c2d Expanding columns and selection working 2025-11-20 13:00:59 +01:00
Jorge Manrubia 0726da2708 Things more or less working 2025-11-20 11:29:09 +01:00
Jorge Manrubia 3bfab09795 Add keyboard navigation support for board columns
- Add horizontal/vertical navigation configuration options to navigable_list controller
- Support nested navigation (columns contain lists of cards)
- Disable horizontal navigation within individual columns
- Enable horizontal navigation at the column level
- Refactor selection logic into reusable methods

This allows users to navigate between columns with left/right arrow keys
and between cards within a column using up/down arrow keys.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-20 09:34:08 +01:00
Jorge Manrubia 09f18a2087 Navigate columns with the keyboard 2025-11-20 09:21:42 +01:00
David Heinemeier Hansson 66d397fa80 Eager load lazy frames inside dialogs on hover 2025-11-19 08:28:18 +01:00
Jorge Manrubia 38bb47a883 Merge pull request #1621 from basecamp/selection-no-one
Fix: Filter by "no one" assigned
2025-11-18 10:21:01 +01:00
Jorge Manrubia 4deb310497 Fix: Filter by "no one" assigned
This also adds support to make some selection items exclusive in the combo boxes.
2025-11-18 10:13:13 +01:00
Jorge Manrubia 6269f3c47e Reload notifications tray when the window regain the focus
https://app.fizzy.do/5986089/cards/2743

It includes a debounce interval to avoid too many of these.
2025-11-18 08:49:19 +01:00
Mike Dalessio 6a3135b67a Introduce a simple stimulus controller for the magic link form
which avoids the double-submit problem from:

- https://app.fizzy.do/5986089/cards/2980
- https://app.fizzy.do/5986089/cards/2771
2025-11-17 14:48:20 -05:00
Kevin McConnell f378f7c122 Use non-numeric user ID in JS 2025-11-17 17:00:58 +00:00
Jorge Manrubia 3b60e68ceb Merge branch 'main' into unique-notifications 2025-11-13 09:38:01 +01:00
Andy Smith 3615c07f7f Clear filters when dialog closes 2025-11-12 15:29:27 -06:00
Andy Smith 44b0f5f5bc Make the dialog sizing property optional 2025-11-12 11:44:31 -06:00
Jason Zimdars 4080b742ca Merge branch 'main' into unique-notifications 2025-11-12 10:06:47 -06:00
Jorge Manrubia 0f664a8ce1 Add create cards with keyboard
CTRL+ENTER to create
CTRL+SHIFT+ENTER to create and add another
2025-11-11 12:38:23 +01:00
Andy Smith e033f71dee Cleanup 2025-11-10 14:44:14 -06:00
Andy Smith e2ac6c1d7e Keep selected item in view 2025-11-10 14:42:42 -06:00