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
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
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
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
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