Andy Smith
f8815fd914
Merge pull request #2603 from nqst/mobile-nav-menu-no-autofocus
...
Mobile → Jump menu: Remove input autofocus
2026-03-03 09:37:10 -06:00
Rosa Gutierrez
53df0e405b
Move devices endpoint from /devices to /my/devices
...
Keep legacy /devices routes for backwards compatibility with mobile
apps not yet updated.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-03 16:30:41 +01:00
Kevin McConnell
f6ed923e75
Merge pull request #2651 from basecamp/update-thruster-0.1.18
...
Update Thruster to v0.1.18
2026-03-03 13:41:23 +00:00
Kevin McConnell
6e3ee266ec
Update Thruster to v0.1.18
2026-03-03 13:30:55 +00:00
Jorge Manrubia
5b15ae91fa
Merge pull request #2650 from basecamp/update-deps
...
Bump solid_queue to 1.3.2 and importmap-rails to 2.2.3
2026-03-03 14:09:42 +01:00
Jorge Manrubia
4c2b6626e7
Revert "Bump thruster from 0.1.17 to 0.1.18"
...
This reverts commit a0dcc26cda .
2026-03-03 14:06:13 +01:00
Jorge Manrubia
7ef343e83d
Revert "Sync Gemfile.saas.lock"
...
This reverts commit 2fef068ad0 .
2026-03-03 14:06:13 +01:00
Jorge Manrubia
4853536ced
Revert "Fix Gemfile.saas.lock: add missing thruster 0.1.18 platform variants"
...
This reverts commit a515f1f007 .
2026-03-03 14:06:04 +01:00
Jorge Manrubia
a515f1f007
Fix Gemfile.saas.lock: add missing thruster 0.1.18 platform variants
...
The saas.lock sync only bumped the version number but never added the
platform-specific entries that were present for 0.1.17.
2026-03-03 14:01:50 +01:00
Jorge Manrubia
8ae619891c
Bump solid_queue from 1.3.1 to 1.3.2 and importmap-rails from 2.2.2 to 2.2.3
2026-03-03 14:01:36 +01:00
github-actions[bot]
2fef068ad0
Sync Gemfile.saas.lock
2026-03-03 14:01:36 +01:00
dependabot[bot]
a0dcc26cda
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-03-03 14:01:36 +01:00
Jorge Manrubia
6d7e0dbe99
Revert "Sync Gemfile.saas.lock"
...
This reverts commit e1ffecb4f6 .
2026-03-03 13:57:42 +01:00
Jorge Manrubia
ea88e7f458
Revert "Bump thruster from 0.1.17 to 0.1.18"
...
This reverts commit a21e93611e .
2026-03-03 13:57:42 +01:00
Jorge Manrubia
41cc11d2c0
Revert "Bump solid_queue from 1.3.1 to 1.3.2 and importmap-rails from 2.2.2 to 2.2.3"
...
This reverts commit 14a57c2b90 .
2026-03-03 13:57:12 +01:00
Jorge Manrubia
b1495153cd
Revert "Restore platform-specific thruster entries in Gemfile.saas.lock"
...
This reverts commit c295af7baf .
2026-03-03 13:57:12 +01:00
Jorge Manrubia
c295af7baf
Restore platform-specific thruster entries in Gemfile.saas.lock
...
The dependabot PR that bumped solid_queue and importmap-rails accidentally
dropped the platform variants for thruster 0.1.18 from Gemfile.saas.lock,
causing "Unsupported platform: x86_64-linux" boot failures on production.
2026-03-03 13:42:12 +01:00
Jorge Manrubia
f0b321057e
Merge pull request #2649 from basecamp/dependabot-gem-updates
...
Bump solid_queue from 1.3.1 to 1.3.2 and importmap-rails from 2.2.2 to 2.2.3
2026-03-03 12:41:17 +01:00
Adrien Maston
f6b9e765b8
Merge pull request #2619 from basecamp/style-devices-page
...
Style devices page
2026-03-03 12:20:09 +01:00
Adrien Maston
34ab9c6231
Update saas/app/views/devices/index.html.erb
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-03 12:14:28 +01:00
Jorge Manrubia
9bf0663941
Merge pull request #2219 from jmporchet/patch-1
...
Add signup info when email config is not available
2026-03-03 11:44:24 +01:00
Jorge Manrubia
ffb80ea3e0
Merge pull request #2216 from creslinux/docs/clarify-triage-endpoint
...
Clarify API docs for triage endpoint and S3 configuration
2026-03-03 11:42:51 +01:00
Jorge Manrubia
35c242ca9f
Remove redundant clarification from triage endpoint description
2026-03-03 11:42:10 +01:00
Adrien Maston
8ce5a3c1b5
Merge pull request #2648 from basecamp/mobile/fix-change-email-layout
...
Mobile / Fix change email layout
2026-03-03 11:39:14 +01:00
Adrien Maston
00dd28790b
Merge pull request #2644 from basecamp/mobile/done-button-with-icon
...
Mobile / Done button with icon
2026-03-03 11:38:56 +01:00
Adrien Maston
0cdb4495f9
Merge pull request #2640 from basecamp/mobile/search-scrolling+clear-suggestion
...
Mobile / Search scrolling + clear button suggestion
2026-03-03 11:38:27 +01:00
Jorge Manrubia
14a57c2b90
Bump solid_queue from 1.3.1 to 1.3.2 and importmap-rails from 2.2.2 to 2.2.3
2026-03-03 11:36:26 +01:00
Jorge Manrubia
991e31bd66
Merge pull request #2634 from basecamp/dependabot/bundler/stackprof-0.2.28
...
Bump stackprof from 0.2.27 to 0.2.28
2026-03-03 11:34:58 +01:00
Jorge Manrubia
6f33d09471
Merge pull request #2630 from basecamp/dependabot/bundler/thruster-0.1.18
...
Bump thruster from 0.1.17 to 0.1.18
2026-03-03 11:34:52 +01:00
Adrien Maston
a041c5bbfb
Merge pull request #2643 from basecamp/mobile/fix-tag-button-tap-target
...
Mobile / Fix tag button tap target
2026-03-03 11:34:35 +01:00
Adrien Maston
9798026e73
Merge branch 'mobile/search-scrolling' into mobile/search-scrolling+clear-suggestion
...
* mobile/search-scrolling:
Mobile: improve search screen (#2636 )
Document has_attachments in API card responses (#2523 )
Change exceeding and nearing limits to account for the 1000th card (#2345 )
Include concrete example motivating this module file
Simplify comment in skip-detached override
Extract detached-blob guard into its own file
Skip AnalyzeJob when blob has no attachments
Allow notice to take more inline space
Fix small documentation typos
Display the save form button on Board Settings page as a bridge button
billing.rb: destroy -> destroy!
Strip whitespace from webhook URLs
Add test for webhook URL with trailing whitespace
2026-03-03 11:33:00 +01:00
Adrien Maston
c4795ee075
Merge branch 'main' into mobile/search-scrolling
...
* main:
Mobile: improve search screen (#2636 )
Document has_attachments in API card responses (#2523 )
Change exceeding and nearing limits to account for the 1000th card (#2345 )
Include concrete example motivating this module file
Simplify comment in skip-detached override
Extract detached-blob guard into its own file
Skip AnalyzeJob when blob has no attachments
Allow notice to take more inline space
Fix small documentation typos
Display the save form button on Board Settings page as a bridge button
billing.rb: destroy -> destroy!
Strip whitespace from webhook URLs
Add test for webhook URL with trailing whitespace
2026-03-03 11:32:50 +01:00
Jorge Manrubia
f2f5254efa
Merge pull request #2638 from dainmiller/doc-typos-readme-kamal
...
Fix small documentation typos
2026-03-03 11:24:00 +01:00
Jorge Manrubia
7f0ac98902
Merge pull request #2637 from basecamp/mobile/board-settings
...
Mobile: display the save form button on Board Settings page as a bridge button
2026-03-03 11:23:31 +01:00
Jay Ohms
2e6d06afa7
Mobile: improve search screen ( #2636 )
...
* Disable search results nested scrolling behavior for mobile apps
* Display the native search input clear button in the native apps
2026-03-03 11:22:28 +01:00
Adrien Maston
c606a9f40c
Remove fixed panel size
2026-03-03 10:59:23 +01:00
Adrien Maston
757f990b85
Merge pull request #2641 from basecamp/mobile/fix-notice-size
...
Mobile / Fix notice size
2026-03-03 10:32:45 +01:00
Adrien Maston
8fced550d8
Refactor
2026-03-03 10:31:08 +01:00
Rob Zolkos
3cb5e29552
Document has_attachments in API card responses ( #2523 )
...
Follow-up to #2455 — add the has_attachments field to the card JSON
examples for the cards index, cards show, and pins index endpoints.
2026-03-03 10:30:31 +01:00
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
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