Andy Smith
9cd1167f85
Change exceeding and nearing limits to account for the 1000th card ( #2345 )
...
* Change exceeding and nearing limits to account for the 1000th card (instead of 1001)
* Add boundary condition tests for card limit checks
Tests now verify behavior at exactly the limit (1000 cards) and at the
nearing threshold (remaining = 100), covering the off-by-one fix.
---------
Co-authored-by: Jorge Manrubia <jorge@37signals.com >
2026-03-03 10:28:38 +01:00
Jorge Manrubia
f6952187c7
Merge pull request #2508 from henrik/patch-1
...
billing.rb: destroy -> destroy!
2026-03-03 10:25:48 +01:00
Jorge Manrubia
cae7990876
Strip whitespace from webhook URL's
...
Strip whitespace from webhook URL's
2026-03-03 10:06:31 +01:00
Joseph Hale, MS SE
49d22f9462
Merge pull request #2646 from basecamp/skip-analyze-job-for-detached-blobs
...
🤖 Skip AnalyzeJob when blob has no attachments
2026-03-02 15:55:46 -07:00
Joseph Hale
451920adc7
Include concrete example motivating this module file
2026-03-02 15:25:11 -07:00
Joseph Hale
7611236a67
Simplify comment in skip-detached override
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 14:40:21 -07:00
Joseph Hale
c61f49cce9
Extract detached-blob guard into its own file
...
Separate the attachment existence check from the broadcast suppression
override so each file has a single responsibility. The guard now lives
in ActiveStorageAnalyzeJobSkipDetached with its own documentation
explaining the upload-then-delete race condition.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 14:38:19 -07:00
Joseph Hale
143508fc22
Skip AnalyzeJob when blob has no attachments
...
Upload-then-delete races cause AnalyzeJob to hit S3 after PurgeJob has
already removed the object, producing Aws::S3::Errors::NoSuchKey noise
in solid_queue_failed_executions. Since PurgeOnLastAttachment destroys
the attachment row before enqueueing PurgeJob, checking
blob.attachments.exists? catches this — a fast DB query that avoids the
S3 round-trip entirely.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-02 14:13:00 -07:00
Adrien Maston
f4c35a1ca4
Merge pull request #2642 from basecamp/mobile/fix-missing-draft-button
...
Mobile / Fix missing draft button
2026-03-02 16:28:18 +01:00
Adrien Maston
1cb556ab2e
Merge pull request #2639 from basecamp/mobile/fix-new-column-dialog
...
Mobile / Fix new column dialog
2026-03-02 16:27:40 +01:00
Jirka Hutárek
f22afa7b56
Extract event particulars helper method
2026-03-02 16:15:28 +01:00
Jirka Hutárek
7e05794114
Reapply "Push event payload body updates"
...
This reverts commit 6e9de6a017 .
2026-03-02 16:15:28 +01:00
Adrien Maston
85ba8a63d5
Bump z-index
2026-03-02 15:07:26 +01:00
Adrien Maston
cc6809cd1f
Bump z-index
2026-03-02 11:03:32 +01:00
Mike Dalessio
6a9121078e
dep: Fix up Gemfile.saas.lock
2026-02-28 10:06:55 -05:00
dependabot[bot]
9128fb276b
Bump the development-dependencies group with 2 updates ( #2629 )
...
* Bump the development-dependencies group with 2 updates
Bumps the development-dependencies group with 2 updates: [web-console](https://github.com/rails/web-console ) and [selenium-webdriver](https://github.com/SeleniumHQ/selenium ).
Updates `web-console` from `bdbb391` to `90e3474`
- [Release notes](https://github.com/rails/web-console/releases )
- [Commits](https://github.com/rails/web-console/compare/bdbb39114348b037a515b2ce75a47457b0e647d1...90e3474306f2367cfeaf2875e91e2bc2d71b5f0f )
Updates `selenium-webdriver` from 4.40.0 to 4.41.0
- [Release notes](https://github.com/SeleniumHQ/selenium/releases )
- [Changelog](https://github.com/SeleniumHQ/selenium/blob/trunk/rb/CHANGES )
- [Commits](https://github.com/SeleniumHQ/selenium/compare/selenium-4.40.0...selenium-4.41.0 )
---
updated-dependencies:
- dependency-name: web-console
dependency-version: 90e3474306f2367cfeaf2875e91e2bc2d71b5f0f
dependency-type: direct:development
dependency-group: development-dependencies
- dependency-name: selenium-webdriver
dependency-version: 4.41.0
dependency-type: direct:development
update-type: version-update:semver-minor
dependency-group: development-dependencies
...
Signed-off-by: dependabot[bot] <support@github.com >
* Sync Gemfile.saas.lock
---------
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2026-02-27 23:46:48 -08:00
Jay Ohms
976f596990
Merge pull request #2635 from basecamp/mobile/remote-config
...
Update the android remote path config with the properties
2026-02-27 16:44:39 -05:00
Jay Ohms
29e80876e2
Update the android remote path config with the properties
2026-02-27 16:39:47 -05:00
Jay Ohms
4819b89a78
Merge pull request #2621 from basecamp/fix-long-card-title-truncation
...
Fix long card titles truncating in Safari
2026-02-27 14:14:53 -05:00
Stanko Krtalić
5426c619fb
Merge pull request #2627 from basecamp/revert-2626-push-event-payload-body-update
...
Revert "Push event payload body updates"
2026-02-27 20:02:26 +01:00
Stanko Krtalić
6e9de6a017
Revert "Push event payload body updates"
2026-02-27 19:59:18 +01:00
Stanko Krtalić
b2658eaf98
Merge pull request #2626 from basecamp/push-event-payload-body-update
...
Push event payload body updates
2026-02-27 19:56:50 +01:00
Jirka Hutárek
ad45eabfdc
Add fallback handling for blank board and title names in event payloads
2026-02-27 19:00:14 +01:00
Jirka Hutárek
97d188fae4
Rename new_board_name to new_location_name for clarity in event payload handling
2026-02-27 18:54:15 +01:00
Jirka Hutárek
fd0df9d8b4
Add tests for fallback payload when collection name is missing or blank, reformat
2026-02-27 18:52:21 +01:00
Jirka Hutárek
7ae3bbc6a5
Add test for fallback payload when column name is blank in triage event
2026-02-27 18:49:08 +01:00
Jirka Hutárek
44235da9c1
Add fallback message for card triage when column name is missing
2026-02-27 18:47:41 +01:00
Jirka Hutárek
7702e49afa
Handle collection change the same as board change
2026-02-27 18:42:49 +01:00
Jirka Hutárek
566dd8ded2
Update default message
2026-02-27 18:30:12 +01:00
Jirka Hutárek
856d17c510
Handle missing fields
2026-02-27 18:26:50 +01:00
Jirka Hutárek
9678bdbd24
Add more specific messages to event push payload body
2026-02-27 18:17:56 +01:00
Jirka Hutárek
b93752dbb5
Mention column name and creator in push event body when card is moved between columns
2026-02-27 18:10:37 +01:00
Jay Ohms
e685d68dec
Merge pull request #2620 from basecamp/identity-accounts
...
Only return identity accounts that are active with an active user
2026-02-27 09:48:06 -05:00
Jay Ohms
1ebd706d9a
Merge pull request #2625 from basecamp/mobile/hide-subscriptions
...
Mobile: Hide the subscription panel in the mobile apps
2026-02-27 09:47:28 -05:00
Jay Ohms
d758d9913e
Hide the subscription panel in the mobile apps
2026-02-27 09:40:05 -05:00
Jay Ohms
74eac289ee
Improve the structure so users_with_active_accounts is available on identity
2026-02-27 09:17:12 -05:00
Zoltán Hosszú
11e81a255f
Merge pull request #2624 from basecamp/remove-lexxy-content-class
...
Remove lexxy-content class on comment editor
2026-02-27 12:13:15 +01:00
Zoltan Hosszu
41cc5467c6
Remove lexxy-content class on comment editor
2026-02-27 12:09:46 +01:00
Zoltán Hosszú
cd49d4d2cc
Merge pull request #2622 from basecamp/ui-regression-fixes
...
UI regression fixes
2026-02-27 11:01:09 +01:00
Zoltan Hosszu
295b5dd94d
Tweak for ... icon to prevent Safari clipping
2026-02-27 10:49:03 +01:00
Zoltan Hosszu
f727afdabb
Stamp z-index issue fix
2026-02-27 10:37:32 +01:00
Silvia Uberti
0a83a2db73
Restore sc-chi cache after maintenance.
...
This reverts commit 4d2e111b01 .
2026-02-27 10:30:08 +01:00
Zoltan Hosszu
dea9e3e353
Button underline fix
2026-02-27 10:29:35 +01:00
Silvia Uberti
4d2e111b01
Temporarily disable sc-chi cache for maintenance. ( #2618 )
2026-02-27 10:14:50 +01:00
Fernando Olivares
d48b73ebdc
Fix long card titles truncating in Safari
...
text-wrap: balance conflicts with -webkit-line-clamp in Safari, causing
titles to collapse into fewer lines and truncate early. Unset text-wrap
when the title is line-clamped on the board view.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-02-26 21:21:36 -06:00
Jay Ohms
42900cf170
Only return identity accounts that are active with an active user
2026-02-26 16:45:16 -05:00
Jay Ohms
e7241204eb
Merge pull request #2615 from basecamp/card-perma-editing
...
Mobile: card perma improvements
2026-02-26 08:15:18 -05:00
Jay Ohms
867267890b
Update app/javascript/controllers/bridge/buttons_controller.js
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-26 08:05:48 -05:00
Jay Ohms
7427675fc8
PR feedback
2026-02-26 07:53:02 -05:00
Jay Ohms
84c650ab25
Fix beforeunload event listeners
2026-02-26 07:41:51 -05:00