Commit Graph

9573 Commits

Author SHA1 Message Date
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
Jay Ohms 2d41463074 Merge branch 'main' into card-perma-editing
* main: (56 commits)
  Update app/views/cards/container/_closure_buttons.html.erb
  Update app/views/columns/show/_add_card_button.html.erb
  Update app/views/events/index/_add_card_button.html.erb
  Just return the object
  Rename is-main-action to display-as-primary-action
  Remove debug line
  Rename show-label to display-title
  Include path in web push payload for backwards compatibility
  Add base_url to native push notification payload
  Use internal account ID as `account_id` and add `account_slug`
  Make APNS and FCM env vars available
  Fix devices_path route helper in native devices partial
  Fix tests for renamed fixtures and new stacked notifications
  Add creator_familiar_name to push notification payload
  Add creator initials and avatar color to push notification payload
  Add avatar_url so we always get an avatar even when the user hasn't set one
  Document --push flag for testing native push notifications
  Don't read APNS_TEAM_ID from 1Password
  Simplify push.yml to only use B64 encryption keys
  Rename apns-dev to push-dev and unify 1Password credentials
  ...
2026-02-26 07:32:18 -05:00
Adrien Maston 1505ed7783 Merge pull request #2611 from basecamp/mobile/tweak-bridge-buttons 2026-02-26 13:23:39 +01:00
Adrien Maston c4cea3d5db Update app/views/cards/container/_closure_buttons.html.erb
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 12:14:37 +01:00
Adrien Maston 7f6351ea41 Update app/views/columns/show/_add_card_button.html.erb
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 12:14:28 +01:00
Adrien Maston 3f7b33889b Update app/views/events/index/_add_card_button.html.erb
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-02-26 12:14:13 +01:00
Adrien Maston a62defb570 Just return the object 2026-02-26 11:48:01 +01:00
Adrien Maston 047e8efad3 Rename is-main-action to display-as-primary-action 2026-02-26 11:33:24 +01:00