Zoltan Hosszu
21d6316daf
Wrap tables in div
...
This prevents overflow of huge tables
2026-01-15 16:34:56 +01:00
Zoltan Hosszu
a5a24d0085
CSS updates for <table> support
2026-01-15 16:34:56 +01:00
Jorge Manrubia
ce1c04803e
Update to latest Lexxy
2026-01-15 16:34:56 +01:00
Stanko Krtalić
75710ecd42
Merge pull request #2371 from basecamp/fix-subscriber-count
...
Show only active subscriptions
2026-01-15 08:03:02 +01:00
Stanko K.R.
2fa3056e14
Show only active subscriptions
2026-01-15 08:00:19 +01:00
Mike Dalessio
5615b9f6f5
Add paid accounts stats to admin dashboard
...
Shows total, 7-day, and 24-hour counts of paid accounts based on
subscription created_at. Excludes comped accounts and avoids
double-counting accounts with multiple subscriptions.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-14 16:45:43 -05:00
Rosa Gutierrez
832e63f99a
Keep URLs in webhook events absolute
...
Follow-up to #2318
These are sent to other apps, so they need to be absolute. I changed
this too eagerly when I was moving calls to `polymorphic_url`.
2026-01-14 21:15:42 +01:00
Rosa Gutierrez
ee636f1994
Delete orphaned watches and pins when a card is moved to a private board
...
For watchers and users with pins that don't have access to the private
board where the card was moved to.
2026-01-14 19:38:15 +01:00
Rosa Gutierrez
0f35109e00
Merge pull request #2318 from basecamp/relative-urls
...
Use relative URLs where possible across all the app
2026-01-14 11:05:44 +01:00
Rosa Gutierrez
bf224b19f5
Add rollback script to convert relative URLs back to absolute
2026-01-14 11:01:42 +01:00
Rosa Gutierrez
bf6fe75b7c
Add a script to migrate existing rich texts to relative URLs
2026-01-14 11:01:42 +01:00
Rosa Gutierrez
527ffc42b9
Use relative URLs where possible across all the app
...
Skipping API responses, where we need absolute URLs, and those that are
intended for sharing or external use:
- account/join_codes/show.html.erb - Join code URL for sharing
- boards/edit/_publication.html.erb - Publication URL for sharing
- public/* views - Public page URLs and og:url meta tags
- pwa/manifest.json.erb - PWA manifest needs absolute URLs
For this, we had to replace `url_for` used with Active Storage variants
and previews with the specific path helper (for Active Storage
representations).
2026-01-14 11:01:42 +01:00
Rosa Gutierrez
235890e666
Use relative URLs for avatars and rich text attachments
...
These URLs can be problematic or inconsistent, as we might end up with
rich text content with beta URLs for attachments being used in
production, or viceversa. It'll also be problematic when importing or
exporting data between a self-hosted instance and the SaaS version.
2026-01-14 11:01:42 +01:00
Andy Smith
8823ff8930
Merge pull request #2359 from basecamp/disable-current-column
...
Disable card column buttons when active
2026-01-13 17:06:07 -06:00
Andy Smith
c8059dea90
Disable card column buttons when active
2026-01-13 16:15:33 -06:00
Andy Smith
b4413acffc
Merge pull request #2357 from basecamp/comment-boost-overlap
...
Prevent comment content from overlapping with reaction button
2026-01-13 14:17:58 -06:00
Andy Smith
fe57d9d013
Prevent comment content from overlapping with reaction button
2026-01-13 11:55:01 -06:00
Andy Smith
819864b756
Merge pull request #2355 from nqst/txt-balance
...
Add `.txt-balance` utility and use it for Magic Link instructions
2026-01-13 10:32:11 -06:00
Andy Smith
d79ffced89
Merge pull request #2351 from basecamp/improve-board-loading
...
Move handleDesktop inside restoreColumnsDisablingTransitions
2026-01-13 10:25:22 -06:00
Rosa Gutierrez
5e099c4c06
Delete pins belonging to cards in a board with revoked access
...
As part of cleaning up inaccessible data in the board after revoking
access.
2026-01-13 16:25:59 +01:00
Stanko Krtalić
829dd345f6
Merge pull request #2322 from drjayvee/locals-only-partial
...
Replace use of instance variable with local
2026-01-13 13:26:53 +01:00
Stanko Krtalić
c61f57d7da
Merge pull request #2352 from basecamp/dependency-updates
...
Dependency updates
2026-01-13 12:25:59 +01:00
Stanko K.R.
d5f270fe3a
Update development dependencies in SAAS lockfile
2026-01-13 12:06:43 +01:00
Stanko K.R.
f6557856f7
Update runtime dependencies
...
Updated kamal, bootsnap, rqrcode, net-http-persistent, web-push, aws-sdk-s3, bcrypt & rouge
2026-01-13 12:03:43 +01:00
Stanko K.R.
40a5d6211e
Update development dependencies
2026-01-13 11:52:10 +01:00
Alexander Zaytsev
6c6a7be607
Balance magic link instructions
2026-01-13 09:51:35 +01:00
Alexander Zaytsev
603e4d10b3
Add .txt-balance utility
2026-01-13 09:50:37 +01:00
Stanko Krtalić
ceff6ea4df
Merge pull request #2344 from secretpray/fix/deprecation-warnings-only
...
Fix deprecation warnings for skip_before_action :verify_authenticity_token
2026-01-13 08:59:15 +01:00
Andy Smith
589ae1ab36
Move handleDesktop inside restoreColumnsDisablingTransitions
2026-01-12 16:23:20 -06:00
Andy Smith
2d118b0bcd
Merge pull request #2349 from basecamp/card-placeholder-mobile
...
Clean up blank slates
2026-01-12 15:46:57 -06:00
Andy Smith
f428bfaa7c
Adjust border radius
2026-01-12 15:43:59 -06:00
Andy Smith
64fdbf6b8f
Clean up blank slates
2026-01-12 15:37:06 -06:00
Andy Smith
30928a1f5a
Merge pull request #2348 from basecamp/events-dialog-manager
...
Add dialog manager to events page
2026-01-12 14:04:24 -06:00
Andy Smith
4dedfce39f
Add dialog manager to events page
2026-01-12 14:00:37 -06:00
Andy Smith
6192fc5be8
Merge pull request #2347 from basecamp/andy-12-jan
...
Andy 12 jan
2026-01-12 13:56:08 -06:00
Andy Smith
8288e85df6
More sturated mini bubbles in light mode
2026-01-12 13:34:30 -06:00
Andy Smith
df7df74752
Brighten mini bubbles in dark mode
2026-01-12 13:31:36 -06:00
Rosa Gutierrez
025d70dd13
Use separate cache namespaces for each beta instance
...
Otherwise we end up with views including URLs from all the betas,
leading to some confusion and problems with the CSP.
2026-01-12 20:28:18 +01:00
Andy Smith
ca5bca9796
Bump boost size up a tick on mobile
2026-01-12 13:18:39 -06:00
Andy Smith
8bb043bef8
Move Undo form inside closure message element
2026-01-12 13:14:37 -06:00
Andy Smith
af3fa177aa
Phrasing tweak for exceeding storage limit
2026-01-12 13:07:34 -06:00
Andy Smith
99e89606b4
Keep strong tags words on same line
2026-01-12 13:06:30 -06:00
Jeremy Daer
006e61ea58
Allow ActionText embed reuse and safe purge ( #2346 )
2026-01-12 10:30:18 -08:00
secretpray
6895135977
Fix deprecation warnings for skip_before_action :verify_authenticity_token
...
Replace deprecated `skip_before_action :verify_authenticity_token` with
`skip_forgery_protection` to resolve Rails deprecation warnings.
Changes:
- app/controllers/notifications/unsubscribes_controller.rb
- saas/app/controllers/stripe/webhooks_controller.rb
2026-01-12 18:44:35 +02:00
Stanko K.R.
7c7b4eb621
Remove explicit queue definition
2026-01-12 15:16:33 +01:00
Stanko K.R.
5f11ee154f
Fix attribute name
2026-01-12 15:16:33 +01:00
Stanko K.R.
74c7ed3081
Explicitly define incineration priority
2026-01-12 15:16:33 +01:00
Stanko K.R.
ae78f25b06
Fix incorrect recurring job config
2026-01-12 15:16:33 +01:00
Stanko Krtalić
eceb6c9b43
Add self-service account deletion ( #2246 )
...
* Add self-service account deletion
* Disable access to cancelled accounts & implement Stripe interactions
* Add tests
* Fix failing tests
* Remove cancelled accounts from lists
* Fix incorrect redirect
* Use _path instead of _url for consistency
* Don't track how far the inicieration job got
We still want the step tracking so that the job can be interrupted. But, since the scope is idempotent, we don't need to track how far it got.
* Specify the exact time when the data will be deleted
* Fix crash due to unadvancable cursor
* Rename up_for_incineration to due_for_incineration
* Regenrate the schema
* Fix incorrect path check
* Migrate the SQLite schema
* Only show the cancel button on cancellable accounts
* Check that a subscirption method exists before calling it
* Ignore job failures due to missing records when an account gets deleted
* Skip sending notifications on cancelled accounts
* Use collbacks to integrate
* Add a blank line between queue_as and discard_on
* Break checks into methods
* Inline methods
* Rename Account::IncinerateJob
* Run migrations
* Migrate SQLite
2026-01-12 14:21:05 +01:00
Stanko Krtalić
2067d76e62
Merge pull request #2308 from robzolkos/api-docs-update
...
API Documentation updates
2026-01-12 13:17:02 +01:00