88 Commits

Author SHA1 Message Date
github-actions[bot] 68db890456 Version Packages (next) 2026-05-26 15:26:38 +00:00
github-actions[bot] b97fcb0a93 Version Packages 2026-05-19 18:28:24 +00:00
github-actions[bot] 1cc86bee1c Version Packages (next) 2026-04-21 15:07:43 +00:00
Patrik Oldsberg 264be8b5c1 Merge pull request #33649 from erikmiller-gusto/feat/slack-scoped-message-updates
feat(notifications-slack): add scope-based message update support
2026-04-16 21:51:23 +02:00
Fredrik Adelöw 8e7f7249e7 chore: regenerate knip reports
Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Made-with: Cursor
2026-04-16 12:14:47 +02:00
Fredrik Adelöw f0c27227cf chore: remove duplicate dependencies/devDependencies entries
Several packages had the same dependency listed in both `dependencies`
and `devDependencies`. This removes the duplicate from whichever section
is incorrect based on actual usage in the source code.

Signed-off-by: Fredrik Adelöw <freben@spotify.com>
Made-with: Cursor
2026-04-16 10:22:01 +02:00
github-actions[bot] 93e643d142 Version Packages 2026-04-14 14:57:31 +00:00
Erik Miller 49cab31527 fix: use database clock and separate migrations table for slack module
Address reviewer feedback:
- Use a dedicated migrations table to avoid conflicts with the parent plugin
- Use database-native now() instead of JS Date for timestamp columns
- Use database-level interval arithmetic for cleanup retention cutoff

Signed-off-by: Erik Miller <erik.miller@gusto.com>
2026-04-09 07:59:41 -07:00
github-actions[bot] 6c10d88c13 Version Packages (next) 2026-04-07 15:30:58 +00:00
Erik Miller f399a7acab feat(notifications-slack): add scope-based message update support
When a Backstage notification is re-sent with the same scope, the
notifications backend updates the existing DB record and sets
notification.updated. Previously, the SlackNotificationProcessor always
called chat.postMessage(), creating duplicate Slack messages.

This adds database-backed scope-based update support:

- New slack_message_timestamps table to persist Slack message ts values
  keyed by (scope, channel)
- After each chat.postMessage(), store the response ts in the database
- When postProcess receives a notification with updated set and a
  matching stored ts, use chat.update() instead of chat.postMessage()
- Scope context is passed as parameters through the call chain to avoid
  race conditions with concurrent postProcess calls
- Scheduled daily cleanup of old timestamp records (24h retention)
- New messagesUpdated metrics counter for observability
- Graceful degradation when no database is provided
- Explicitly picks only supported fields for chat.update calls

Signed-off-by: Erik Miller <erik.miller@gusto.com>
2026-04-03 09:03:18 -07:00
Patrik Oldsberg b2319ffe45 errors: add toError utility and migrate assertError usages
Add a `toError` utility function to `@backstage/errors` that converts
unknown values to `ErrorLike` objects. If the value is already error-like
it is returned as-is. Strings are used directly as the error message, and
other values are stringified with a fallback to JSON.stringify to avoid
unhelpful `[object Object]` messages.

Non-error causes passed to `CustomErrorBase` are now converted and stored
using `toError` rather than discarded. Existing `assertError` call sites
across the codebase are migrated to `toError`.

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
Made-with: Cursor
2026-04-03 10:16:23 +02:00
github-actions[bot] a2cb332e25 Version Packages (next) 2026-03-31 15:30:51 +00:00
github-actions[bot] c1b510cabb Version Packages (next) 2026-03-24 14:54:00 +00:00
github-actions[bot] 5725b5fcfa Version Packages 2026-03-17 21:39:07 +00:00
Gabriel Dugny 25e672c581 Add metric unit
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-14 14:19:11 +01:00
Gabriel Dugny e7c6c32f26 Refactor Slack Notifications Backend Module to use MetricsApi
Signed-off-by: Gabriel Dugny <gabriel.dugny@believe.com>
2026-03-14 13:56:34 +01:00
github-actions[bot] ed7c4e3bef Version Packages (next) 2026-03-10 17:34:12 +00:00
Fredrik Adelöw 422a79039b Merge pull request #32619 from kaidubauskas-dd/kaidd/fix-user-slack-dms
fix(notifications-slack): Only DM explicit user recipients
2026-03-10 15:33:57 +01:00
Kai Dubauskas 047c49a971 fix comment
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-03-05 18:19:06 -05:00
Kai Dubauskas 12a0ccb278 only dm original user entities
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-03-05 18:14:42 -05:00
github-actions[bot] 4bd6a3a1af Version Packages (next) 2026-02-24 19:24:06 +00:00
Patrik Oldsberg f1756fe39b Merge pull request #32733 from kaidubauskas-dd/kaidd/slack-block-kit-extension
feat(notifications-slack): Create slack block kit extension
2026-02-21 00:10:24 +01:00
Kai Dubauskas ea329727f9 check explicit user refs from options.recipients
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-02-18 16:28:39 -05:00
github-actions[bot] e6df5d52ce Version Packages 2026-02-17 16:06:18 +00:00
github-actions[bot] 7c41134684 Version Packages (next) 2026-02-10 16:14:59 +00:00
Kai Dubauskas 13d227e953 docs:add report
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-02-09 12:23:06 -05:00
Kai Dubauskas 806271fc80 fix: failing ci test
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-02-06 17:47:28 -05:00
Kai Dubauskas 3ff20e3c5a feat:slack block extension
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-02-06 17:35:21 -05:00
Kai Dubauskas 5ca7dcefb9 docs: tweak wording
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-01-31 14:00:59 -05:00
Kai Dubauskas cd62d78b78 fix: skipped user DMs when group is present
Closes #32584

Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2026-01-31 13:41:31 -05:00
github-actions[bot] d4b85dddee Version Packages (next) 2026-01-27 15:51:11 +00:00
github-actions[bot] c24788d5bb Version Packages 2025-12-16 14:08:20 +00:00
Patrik Oldsberg 8c07e4e942 Merge pull request #31914 from henrikedegrd/broadcast-notifications-to-specified-slack-channels
feat(notifications): Adds support for broadcasting notifications to specified Slack channels
2025-12-16 14:07:40 +01:00
Patrik Oldsberg bf940c940c Merge pull request #32046 from backstage/renovate/faker-js-faker-10.x
chore(deps): update dependency @faker-js/faker to v10
2025-12-16 14:03:55 +01:00
Henrik Edegård fe89ed7b55 Fix missing jsdoc
Signed-off-by: Henrik Edegård <henrik.edegard@fortnox.se>
2025-12-15 08:33:11 +00:00
Henrik Edegård 5b179d00ae Merge branch 'master' into broadcast-notifications-to-specified-slack-channels
Signed-off-by: Henrik Edegård <158468178+henrikedegrd@users.noreply.github.com>
2025-12-15 09:26:58 +01:00
Fredrik Adelöw 77568d46f6 Merge pull request #31805 from kaidubauskas-dd/kaidd/slack-module-rate-limit
Notification slack processor: make rate limit configurable
2025-12-13 19:26:44 +01:00
Kai Dubauskas c03ea7e6e8 address comments
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2025-12-10 12:07:03 -05:00
github-actions[bot] e08f48a9b5 Version Packages (next) 2025-12-09 15:00:09 +00:00
Kai Dubauskas c403c7c41b update config.d.ts
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2025-12-08 12:27:17 -05:00
Kai Dubauskas 08d6456b4a switch to throttleInterval and concurrencyLimit
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2025-12-08 12:27:17 -05:00
Kai Dubauskas b80857ab0b feat: add rate limit configuration
Signed-off-by: Kai Dubauskas <kai.dubauskas@doordash.com>
2025-12-08 12:27:17 -05:00
renovate[bot] f8230e46de chore(deps): update dependency @faker-js/faker to v10
Signed-off-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2025-12-08 15:24:29 +00:00
Henrik Edegård f95a5167e9 Adds support for broadcasting notifications to specified Slack channels.
Signed-off-by: Henrik Edegård <henrik.edegard@fortnox.se>
2025-11-28 12:52:07 +00:00
github-actions[bot] 756986e5e7 Version Packages (next) 2025-11-25 16:21:32 +00:00
github-actions[bot] 792f4d7e3d Version Packages 2025-11-18 12:23:09 +00:00
Fredrik Adelöw 72dd5202a8 Merge pull request #31396 from kc9ddi/include-slack-channel-name-in-error-message
Include slack channel ID in error message if message could not be sent
2025-11-17 15:15:31 +01:00
github-actions[bot] 20fae88bdf Version Packages (next) 2025-11-11 21:45:56 +00:00
github-actions[bot] 3738293d26 Version Packages (next) 2025-11-04 15:00:26 +00:00
github-actions[bot] 807af8ce0e Version Packages (next) 2025-10-21 16:14:43 +00:00