Commit Graph

143 Commits

Author SHA1 Message Date
Jorge Manrubia f58a1aeb31 Use a dedicated resource for showing cards in draft mode
Mobile team needs this. Also, this lets us get rid from some conditionals for handling
both modes with a single template.

https://3.basecamp.com/2914079/buckets/44843469/messages/9437287330
2026-01-08 10:40:21 +01:00
Jorge Manrubia 6d05ab428e Remove engagements
We are not using this anymore!
2026-01-07 16:43:33 +01:00
Jason Zimdars 6e90a6dbfb Add hotkeys for triaging cards in columns
Hover to select items
2025-12-19 14:33:47 -06:00
Stanko K.R. 15cb1f7fe1 Add UI to prevent assigning more than 10 asignees 2025-12-15 16:40:52 +01:00
Jankees van Woezik 477b4d65f2 API: Support created_at for API card and comment creation (#2056)
* Add support to set `created_at`

Discussed in
https://github.com/basecamp/fizzy/pull/1766#issuecomment-3637846074,
this allows users to import cards from another system with entries from
the past. For instance I'm importing all our Github issues (including
the closed onces) to Fizzy.

* Iron out published state tracking

---------

Co-authored-by: Jeremy Daer <jeremy@37signals.com>
2025-12-10 19:57:38 -08:00
Stanko K.R. 90e6322092 Return no content on update 2025-12-10 15:07:22 +01:00
Stanko K.R. 7b30ca203e Add index actions for Comments and Columns
Also, fix crash when a deactivated user is serialized (they don't have
an identity).
2025-12-10 09:23:52 +01:00
Stanko K.R. d16b3756de Add API for reactions 2025-12-10 09:23:52 +01:00
Stanko K.R. eeed2a8416 Add API for watching cards 2025-12-10 09:23:52 +01:00
Stanko K.R. ed1002f6c5 Add API for card triage 2025-12-10 09:23:52 +01:00
Stanko K.R. 8a84785056 Add API for tagging cards 2025-12-10 09:23:52 +01:00
Stanko K.R. c517ef6063 Add API for CRUD actions on steps 2025-12-10 09:23:52 +01:00
Stanko K.R. 8a61ca2a79 Add API for postponing cards 2025-12-10 09:23:52 +01:00
Stanko K.R. 52e65b3c08 Add API for removing card images 2025-12-10 09:23:52 +01:00
Stanko K.R. 1caeea541d Add API for gilding cards 2025-12-10 09:23:52 +01:00
Stanko K.R. 41115eaf87 Add API for comments CRUD 2025-12-10 09:23:52 +01:00
Stanko K.R. b4012dfb40 Add API for closing and opening cards 2025-12-10 09:23:52 +01:00
Stanko K.R. cf52982b8b Add API for mobing cards between boards 2025-12-10 09:23:52 +01:00
Stanko K.R. 23e6f3b095 Add API for assigning cards 2025-12-10 09:23:52 +01:00
Jorge Manrubia 15983cede3 No need to pass Currentl.user since it is the default value for the param 2025-12-07 20:03:06 +01:00
Stanko K.R. 5cfe6930ee Change reaction admin permission check to be in-line with other controllers 2025-12-04 11:01:23 +01:00
Stanko K.R. 77f1110020 Allow only the owner of a reaction to delete it 2025-12-03 11:10:44 +01:00
Mike Dalessio 3811088db3 Prioritize current user and assigned users in assignment dropdown
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 13:46:14 -05:00
Stanko K.R. 4e52f9b9a9 Show tags the card is tagged with first 2025-11-25 11:24:21 +01:00
Kevin McConnell bd259f7795 Add optimistic pausing to avoid stale reads
Instead of writer pinning, we'll track the last transaction ID of each
write in the session. Then on each read we'll wait for the replica to
report that this transaction is available.

If it doesn't become available within a reasonable timeout, we'll
proceed anyway, and accept the possibility of a stale read.

The hope here is that most of the time, the replica is caught up in the
time between a write request and the following read request. If it's
not, we now have a little tolerance to wait for it, which hopefully
proves enough to stale reads are not encountered in normal use.

We also disable the writer affinity opt-out mechanism that we had
before, since we will no longer be using writer affinity at the load
balancer.
2025-11-24 13:29:52 +00:00
Mike Dalessio f5305b2fe6 Use Card number as the model param
instead of the UUID `id`
2025-11-17 09:12:41 -05:00
Stanko K.R. e0693de7c3 Scope jobs and controllers by account 2025-11-17 09:12:41 -05:00
Jorge Manrubia eea9afb639 Fix: dismiss grouped notifications by card from the notifications tray
This also splits the templates into two: index and tray, since the URL now changes.
2025-11-14 12:58:24 +01:00
Jorge Manrubia 17876b30d4 Manage comments with streams
We replacing the full list of comments within a turbo frame, which didn't feel great when you had several comments.
2025-11-13 17:12:46 +01:00
Jorge Manrubia 2d96e7c9c6 Use streams to update/remove reactions
Prevents race condition causing flickering https://app.fizzy.do/5986089/cards/2906

This will prevent these from udpating live, but we will tackle that as part of live card
updates with page refreshes, which I will tackle soon.
2025-11-12 18:04:20 +01:00
Jorge Manrubia 285328ec60 Smoother tag updates with streams 2025-11-12 17:29:35 +01:00
Jorge Manrubia 7bfcfb57c7 Fix: invalidate http cache when selecting assignees 2025-11-12 11:17:21 +01:00
Jorge Manrubia d36011dcbf Fix: invalidate http cache when selecting tags 2025-11-12 11:12:28 +01:00
Jorge Manrubia c31354d6c6 Fix: show columns in the right order
https://app.fizzy.do/5986089/cards/2820
2025-11-06 14:31:19 +01:00
Jorge Manrubia 39ec6cf062 Replace collection with board in the code, tests green 2025-11-05 13:41:12 +01:00
Jorge Manrubia 03a345609e Baseline replacing collection with board across code 2025-11-05 13:31:54 +01:00
David Heinemeier Hansson f3c602da21 Use etag for collections/edit 2025-11-03 17:28:16 +01:00
David Heinemeier Hansson 56e4cdabd6 Use etag for taggings/new 2025-11-03 17:24:59 +01:00
David Heinemeier Hansson 887559d1a3 Be consistent about using turbo stream templates 2025-11-03 17:23:37 +01:00
David Heinemeier Hansson 6570f5fc04 Use etag for assignments/new 2025-11-03 17:22:38 +01:00
David Heinemeier Hansson 1d00a53400 Provide etag for pins too 2025-11-03 16:53:49 +01:00
David Heinemeier Hansson 418548b9ba More efficient query for watched_by? and use etag for the status 2025-11-03 16:51:21 +01:00
David Heinemeier Hansson f5977522cb Use shared callback to set card 2025-11-03 16:51:21 +01:00
Jorge Manrubia 24da4066b7 Refresh the full meta area so that the assignee name gets updated too 2025-11-03 16:11:53 +01:00
Jorge Manrubia 00818697ef Use page refreshes with morphing to avoid flickering
Replacing the card container will reload the frame. Also, see
https://github.com/basecamp/fizzy/commit/5b70320a6b64adf2d1e0be4bd7dc221a5ba80c95
2025-11-03 16:11:53 +01:00
Jorge Manrubia da6d1011fd Replace card replacement with stream actions to prevent flickering when managing steps 2025-11-03 10:59:24 +01:00
Jorge Manrubia 9d4dd3b00e Remove "save as draft"
Removes the creating status completely as well as the abandoned cards system. It will
always resume drafts if they exist, for a given collection and user.

https://app.box-car.com/5986089/cards/2489
2025-11-03 09:32:29 +01:00
Jorge Manrubia d0c33b8550 Add http caching for the new columns/edit card resource 2025-10-31 10:40:45 +01:00
Jorge Manrubia f0c5285fb0 Move column editing to stream so that we can remove the invalidation concern 2025-10-31 10:40:28 +01:00
Jorge Manrubia c1936abed9 Reuse concern 2025-10-31 10:37:36 +01:00