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
Jay Ohms
1e18ddcad5
Merge branch 'mobile/search-scrolling' into mobile/search-scrolling+clear-suggestion
...
* mobile/search-scrolling:
Extract event particulars helper method
Reapply "Push event payload body updates"
Bump z-index
Bump z-index
dep: Fix up Gemfile.saas.lock
2026-03-02 11:53:55 -05:00
Jay Ohms
71e295fb22
Merge branch 'main' into mobile/search-scrolling
...
* main:
Extract event particulars helper method
Reapply "Push event payload body updates"
Bump z-index
Bump z-index
dep: Fix up Gemfile.saas.lock
2026-03-02 11:53:28 -05:00
Adrien Maston
bedd2ff8ac
Add check icon
2026-03-02 16:56:24 +01: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
911d114eb5
Add tap target button utility
2026-03-02 15:46:34 +01:00
Adrien Maston
85ba8a63d5
Bump z-index
2026-03-02 15:07:26 +01:00
Adrien Maston
ef980a0d48
Allow notice to take more inline space
2026-03-02 14:50:58 +01:00
Adrien Maston
6a4db9af4d
Show the custom clear button
...
... instead of the browser's
2026-03-02 14:22:28 +01:00
Adrien Maston
340d9aa763
Delegate clearing the input to new controller
2026-03-02 14:21:32 +01:00
Adrien Maston
cc6809cd1f
Bump z-index
2026-03-02 11:03:32 +01:00
Adrien Maston
b8f7d5be2f
Merge remote-tracking branch 'origin/style-devices-page' into style-devices-page
...
* origin/style-devices-page:
Update saas/app/views/devices/index.html.erb
2026-03-02 10:21:14 +01:00
Adrien Maston
0caf9b057b
Update empty state test
2026-03-02 10:20:58 +01:00
Adrien Maston
fd13ffb5cc
Update saas/app/views/devices/index.html.erb
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-02 10:17:36 +01:00
Mike Dalessio
6a9121078e
dep: Fix up Gemfile.saas.lock
2026-02-28 10:06:55 -05:00
Dain Miller
bdf4459716
Fix small documentation typos
2026-02-28 05:41:55 -05:00
Jay Ohms
4e52b9b1d9
Display the save form button on Board Settings page as a bridge button
2026-02-28 05:18:48 -05:00
Jay Ohms
8a1a18562c
Display the native search input clear button in the native apps
2026-02-28 05:10:30 -05:00
Jay Ohms
cac08c8f06
Disable search results nested scrolling behavior for mobile apps
2026-02-28 04:39:36 -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
github-actions[bot]
763af3f4a4
Sync Gemfile.saas.lock
2026-02-27 20:26:07 +00:00
dependabot[bot]
a9c45c5979
Bump stackprof from 0.2.27 to 0.2.28
...
Bumps [stackprof](https://github.com/tmm1/stackprof ) from 0.2.27 to 0.2.28.
- [Changelog](https://github.com/tmm1/stackprof/blob/master/CHANGELOG.md )
- [Commits](https://github.com/tmm1/stackprof/compare/v0.2.27...v0.2.28 )
---
updated-dependencies:
- dependency-name: stackprof
dependency-version: 0.2.28
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-27 20:25:56 +00:00
github-actions[bot]
e1ffecb4f6
Sync Gemfile.saas.lock
2026-02-27 20:24:55 +00:00
dependabot[bot]
a21e93611e
Bump thruster from 0.1.17 to 0.1.18
...
Bumps [thruster](https://github.com/basecamp/thruster ) from 0.1.17 to 0.1.18.
- [Changelog](https://github.com/basecamp/thruster/blob/main/CHANGELOG.md )
- [Commits](https://github.com/basecamp/thruster/compare/v0.1.17...v0.1.18 )
---
updated-dependencies:
- dependency-name: thruster
dependency-version: 0.1.18
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-02-27 20:24:45 +00: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