Donal McBreen
70dd754cf7
Account key for search records
...
Add an account key field to improve search performance. This field
allows us to filter the records by account directly in the fulltext
index, so we only need to examine rows belonging to the relevant account.
2025-11-21 09:38:35 +00:00
Jorge Manrubia
93ee8899a0
More robust implementation to prevent method injection attacks
2025-11-21 10:38:16 +01:00
Jorge Manrubia
b0d732675c
Extract partial
2025-11-21 10:32:32 +01:00
Jorge Manrubia
e4558f00ab
Merge branch 'main' into expand-activity-columns
2025-11-21 10:25:39 +01:00
Donal McBreen
f24f959d19
Add brakeman ignores
2025-11-21 09:15:19 +00:00
Donal McBreen
3df9961b61
Ignore sqlite schema for rubocop
2025-11-21 09:15:19 +00:00
Donal McBreen
b4e3d08689
Add long back to dumped schema, need to check why it wants to change it though
2025-11-21 09:15:19 +00:00
Donal McBreen
dd18b6641d
Simplify patching
2025-11-21 09:15:19 +00:00
Donal McBreen
33ef482189
Patch dumper on load
2025-11-21 09:15:19 +00:00
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
Andy Smith
db235979ad
A couple CSS tweaks
2025-11-20 16:12:39 -06:00
Andy Smith
0bb93fd1da
Show icons instead of hotkeys for btn--circle-mobile
2025-11-20 15:59:28 -06: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