Commit Graph

7168 Commits

Author SHA1 Message Date
Donal McBreen 9c8d5e40ad Always apply patches on load 2025-11-21 09:15:19 +00:00
Donal McBreen f665b5a1fa No need for default schema 2025-11-21 09:15:19 +00:00
Donal McBreen 4f6ec19491 Drop comments 2025-11-21 09:15:19 +00:00
Donal McBreen 0e11a139a5 Move quoting 2025-11-21 09:15:19 +00:00
Donal McBreen 62d102578f Table name already correct 2025-11-21 09:15:19 +00:00
Donal McBreen ca17193620 Belongs_to not optional 2025-11-21 09:15:19 +00:00
Donal McBreen 6dfb961b83 Delegate to_s to terms 2025-11-21 09:15:19 +00:00
Donal McBreen ec06b7085b No need to default created_at 2025-11-21 09:15:19 +00:00
Donal McBreen 5edb0a2075 Update schema 2025-11-21 09:15:19 +00:00
Donal McBreen 19b0e25eac Split sqlite/mysql record stuff 2025-11-21 09:15:19 +00:00
Donal McBreen a4850fbe73 Remove adapter specific logic from searchable 2025-11-21 09:15:19 +00:00
Donal McBreen a682a807ed Handle SQLite date subtraction 2025-11-21 09:15:19 +00:00
Donal McBreen cc7e091508 Disable multi-db for SQLite 2025-11-21 09:15:19 +00:00
Donal McBreen bb36b4846f Support SQLite searching 2025-11-21 09:15:19 +00:00
Donal McBreen a2333d9a37 Add SQLite support
- UUID support
- Schema compatibility layer, ignore MySQL specific options
- Search not working yet
2025-11-21 09:15:19 +00:00
Jorge Manrubia 7f76835150 Merge pull request #1668 from basecamp/pinned-stale
Several fixes for pinned cards
2025-11-21 10:03:32 +01:00
Jorge Manrubia 9d08f26c59 Disable turbo when navigating to another account
So that the turbo-permanent trays get properly replaced

https://app.fizzy.do/5986089/cards/3094
2025-11-21 09:54:16 +01:00
Jorge Manrubia 021831f810 Extract partials for the different sections 2025-11-21 09:48:00 +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
David Heinemeier Hansson ae640198ae Stick with the same general retention policy we use for everything 2025-11-21 09:40:50 +01:00
David Heinemeier Hansson 0a88565bd7 Slim down 2025-11-21 09:39:59 +01:00
David Heinemeier Hansson f66da318aa No longer needed now that we are back to a single DB 2025-11-21 09:39:33 +01:00
David Heinemeier Hansson 62d4998f27 We stopped using load_async in the code base 2025-11-21 09:35:25 +01:00
Jorge Manrubia e813b7eaf0 Invalidate HTTP caching when the cards change
https://app.fizzy.do/5986089/cards/3067
2025-11-21 09:32:02 +01:00
Jorge Manrubia 1211e180c2 Merge pull request #1667 from basecamp/prevent-lexxy-dup
Fix: duplicated lexxy when toggling done while in edit mode
2025-11-21 09:03:09 +01:00
Jorge Manrubia 649888dbd4 Making the frame permanent with an id would reconnect the editor causing the dup
This is something we need to fix in Lexxy for good, but for now this patch will do it.

https://github.com/basecamp/lexxy/issues/263
2025-11-21 08:52:10 +01:00
Jason Zimdars c9e2927179 Merge pull request #1666 from basecamp/identify-account-in-notificaton-bundle
Show account if you have multiple
2025-11-20 22:05:33 -06:00
Jason Zimdars 9bae30f771 Show account if you have multiple
It's hard to know which account email notifications are coming from
2025-11-20 22:03:54 -06:00
Jason Zimdars 93375f59cd Merge pull request #1665 from basecamp/magic-link-in-subject
Display code right in the subject line
2025-11-20 21:52:12 -06:00
Jason Zimdars dca002bd64 Update test 2025-11-20 21:51:07 -06:00
Jason Zimdars b1762ea6b6 Display code right in the subject line 2025-11-20 21:45:26 -06:00
Jason Zimdars 5e18d79999 Merge pull request #1661 from basecamp/revert-1660-revert-1659-notifications-copy
Add more detail to events summaries
2025-11-20 21:41:09 -06:00
Jason Zimdars ad7eb594d3 Match copy coming in #1663 2025-11-20 21:31:40 -06:00
Mike Dalessio 9ab15688c2 Merge pull request #1664 from basecamp/flavorjones/fix-activejob-retry
Make sure jobs are enqueued only after all transactions are committed
2025-11-20 19:07:20 -05:00
Mike Dalessio 2c2a1c4b4a Make sure jobs are enqueued only after all transactions are committed
This should fix the recurring ActiveStorage::FileNotFoundError errors
from ActiveStorage::AnalyzeJob.

The issue is that, when images are not direct uploaded (e.g. a card
background image or avatar image), the AnalyzeJob has been getting
enqueued before the file itself was uploaded to blob storage.

Setting ActiveJob::Base.enqueue_after_transaction_commit = true makes
sure that jobs are always enqueued only once *all* transactions have
been committed.

This will be the Rails default at some point, but for now we still
need to explicitly set it.

Big thanks to @jeremy for the assist. 👏
2025-11-20 18:47:42 -05:00
Mike Dalessio fdee7aaaa5 Merge pull request #1654 from basecamp/flavorjones/3063-activity-spike-deadlocks
Fix race condition in Card::ActivitySpike::DetectionJob
2025-11-20 15:53:47 -05:00
Mike Dalessio 1bbb6d0c03 Fix race condition in Card::ActivitySpike::DetectionJob
The check-then-act pattern in `register_activity_spike` has been
replaced with `find_or_create_by!` to eliminate the race condition
that could lead to creating multiple activity spikes for a card. To
support this change, the `card_id` index on `cards_activity_spikes`
has been made unique.

ref: https://app.fizzy.do/5986089/cards/3063
2025-11-20 15:40:42 -05:00
Jorge Manrubia c052839bd6 Removed quotes since we were not using them 2025-11-20 21:37:41 +01:00
Jorge Manrubia a5b58e47fe Remove unclosed span 2025-11-20 21:32:43 +01:00
Jorge Manrubia baadd484b4 Review triage 2025-11-20 21:28:41 +01:00
Mike Dalessio 20020043f1 Merge pull request #1662 from basecamp/flavorjones/fix-up-fk-migration
Make sure the migration to remove FK constraints is robust
2025-11-20 15:20:50 -05:00
Mike Dalessio fb742d6d29 Make sure the migration to remove FK constraints is robust
where we've already removed the constraints.
2025-11-20 15:16:26 -05:00
Jorge Manrubia 3f21ea2329 Revert "Revert "Add more detail to events summaries"" 2025-11-20 21:12:41 +01:00
Jorge Manrubia fd812cf862 Merge pull request #1660 from basecamp/revert-1659-notifications-copy
Revert "Add more detail to events summaries"
2025-11-20 21:12:37 +01:00
Jorge Manrubia 7200af879f Revert "Add more detail to events summaries" 2025-11-20 21:12:10 +01:00
Jorge Manrubia 4aef7230e5 Merge pull request #1659 from basecamp/notifications-copy
Add more detail to events summaries
2025-11-20 21:11:58 +01:00
Jorge Manrubia a48aa84f11 Remove legacy event 2025-11-20 21:11:02 +01:00
Jorge Manrubia 93a80ab8c2 Add more detail to events 2025-11-20 21:07:55 +01:00
Mike Dalessio 4804e1367c Merge pull request #1658 from basecamp/fizzy-remove-foreign-key-constraints
Drop all foreign key constraints
2025-11-20 15:06:00 -05:00
Mike Dalessio 6e67a7787a Drop all foreign key constraints
These have been a contributing cause to some deadlocks, but also this
makes some operational tasks harder (data loading, data truncation)
and has some performance impact on insert/update/delete operations.

The team consensus is that we aren't relying on them, and so we're
comfortable with the referential integrity risk.
2025-11-20 15:01:25 -05:00