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
Mike Dalessio
23c310e154
Merge pull request #1657 from basecamp/fizzy-admin-stats-20251120
...
Add total counts and restructure admin stats dashboard
2025-11-20 14:40:40 -05:00
Mike Dalessio
1341830ed2
Add total counts and restructure admin stats dashboard
...
- Add total counts for accounts and identities alongside 7-day and 24-hour metrics
- Change layout from horizontal to vertical stacking
Co-Authored-By: Claude <noreply@anthropic.com >
2025-11-20 14:39:19 -05:00
Andy Smith
75a978e972
Merge pull request #1655 from basecamp/hide-title-scrollbar
...
Add hide-scrollbar utility and use on card titles
2025-11-20 11:37:17 -06:00
Mike Dalessio
8ce97e85b2
Merge pull request #1652 from basecamp/flavorjones/3062-draft-card-creation-time
...
Change "ADDED" to "DRAFTED" when rendering draft cards
2025-11-20 12:17:30 -05:00
Andy Smith
7fe2ea203d
Add hide-scrollbar utility and use on card titles
2025-11-20 11:03:10 -06:00
Andy Smith
3469965f7a
Merge pull request #1644 from basecamp/fix-too-large-filters
...
Remove special Safari hack
2025-11-20 10:48:22 -06:00
Stanko Krtalić
c33802d37b
Fix attachemnts ( #1627 )
...
* Load keys from tenanted dbs
* Implement sgid swapping
* Fix sgid generation
* Flip the logic to do lookups by tenant and id
* Create missing blobs
* Copy over variations
* fix-active-storage-links: fix mentions
* Fix variant generation
* Fix avatars
* Fix avatars
---------
Co-authored-by: Mike Dalessio <mike@37signals.com >
2025-11-20 11:47:49 -05:00
Jason Zimdars
fd3b32fd15
Merge pull request #1643 from basecamp/account-to-cache-key
...
Add `Current.account` to cache key
2025-11-20 10:27:59 -06:00
Mike Dalessio
7ba4d7ed73
Merge pull request #1653 from basecamp/flavorjones/claude-md
...
Add a CLAUDE.md and a STYLE.md
2025-11-20 11:18:15 -05:00
Mike Dalessio
7ef7a8e49b
Add a CLAUDE.md and a STYLE.md
...
The CLAUDE.md file is a stripped-down version of a file originally
generated by Claude.
The STYLE.md file is inspired by an internal 37signals style guide.
2025-11-20 10:20:02 -05:00
Mike Dalessio
71f2ffbf59
Change "ADDED" to "DRAFTED" when rendering draft cards
...
ref: https://app.fizzy.do/5986089/cards/3062
2025-11-20 09:32:42 -05:00
Stanko Krtalić
4217984f1b
Merge pull request #1651 from basecamp/add-retries-to-activestorage-analzejob
...
Retry file analisys on FileNotFoundError
2025-11-20 15:27:25 +01:00
Mike Dalessio
88750a3498
Prefer Time.current to Time.now
2025-11-20 09:13:17 -05:00
Stanko K.R.
e8a7b19647
Retry file analisys on FileNotFoundError
2025-11-20 15:09:43 +01:00