Storybooks for commit f224e82c38c14d12c60dbfc70f7869b213e8cca3

Date
9/21/2026, 10:10:10 PM UTC
Summary
chore(deps): replace bluebird with native promises
Description
## Because

- Bluebird is an extra dependency. Native promises do everything the two packages used it for.
- The Bluebird-only helpers (`P.using`, `.spread`, `.tap`, `P.map`, `.done`) hid where the code waits and where it does not.

## This pull request

- Removes the `bluebird` dependency from `fxa-profile-server` and `fxa-geodb`, and deletes `lib/promise.js`.
- Converts both packages to native promises and `async`/`await`. `Promise.promisify` becomes `util.promisify`.
- Replaces `P.using` and its disposer in the MySQL store with a `_withConnection` helper. The helper releases the connection in a `finally` block, so a failed query still returns the connection to the pool.
- Releases the pool connection in `_getConnection` when a session setup query fails. A failed setup no longer leaks a connection.
- Gives `profileCache.drop` its own `catch` in `events.js`. Nothing waits on that drop, so a rejection was unhandled.
- Adds Jest specs `mysql.spec.ts` and `events.spec.ts`.

## Issue that this pull request solves

Closes: https://mozilla-hub.atlassian.net/browse/FXA-13924