Skip to content

Releases: eoussama/firemitt

Handshake

Choose a tag to compare

@eoussama eoussama released this 18 Oct 23:05

Highlights

The Fireguard window no longer gets stuck loading on the first try, and failures now reject with real, typed errors.

Fixes

  • Fireguard stuck loading:
    • In iframe mode, Fireguard's first message could arrive before Firemitt listened.
    • A blocked popup left the promise pending forever.
    • App names with characters outside Latin-1 (emoji, Arabic, CJK…) prevented the configuration from being sent.
  • Sessions: each auth() call runs its own session. A new call cancels the previous one (closing its popup or removing its iframe), and an invalid call no longer cancels the active session.
  • Results:
    • A blocked popup rejects with PopupBlockedError.
    • A failure reported by Fireguard rejects with AuthFailedError, an Error keeping the remote type, name, message and code.
    • A success without a token now rejects.
    • A token sent right before the popup closes is no longer lost.
  • Options:
    • Width and height must be numbers greater than zero.
    • Invalid positions fall back to the defaults.
    • The popup is centered on the current window.
    • Provider ids are normalized.
  • CommonJS: require("@eoussama/firemitt") now works (firemitt.umd.cjs). Script tags and CDNs keep firemitt.umd.js.

Security

  • Firemitt only accepts messages from its own Fireguard window, and sends the configuration to Fireguard's origin instead of "*".

Changes

  • measurementId, storageBucket and messagingSenderId are now optional in TFirebaseConfig.
  • New: PopupBlockedError, AuthFailedError, ErrorType.PopupBlocked and ErrorType.AuthFailed, and an optional code on errors.
  • EventHelper: a source filter for on(), a target origin for send(), and dispose().
  • Dependencies upgraded, including @eoussama/core 0.1.2, which no longer installs a linting toolchain in your project.

Compatibility

  • Works with the deployed Fireguard (0.1.3) and the upcoming 0.1.4.
  • Behaviour change: SAML providers return no OAuth token, so they now reject instead of resolving with an empty string.

Full Changelog: 0.1.8...v0.1.9

Production Package

Choose a tag to compare

@eoussama eoussama released this 28 Jun 16:29

Flattened distributions.
Full Changelog: 0.1.7...0.1.8

Typing

Choose a tag to compare

@eoussama eoussama released this 28 Jun 16:22

Bug Fixes

  • Fix missing type declarations in published package — previous releases only included firemitt.es.js in dist/. This was caused by "noEmit": true in tsconfig.json (required by allowImportingTsExtensions) blocking vite-plugin-dts from emitting .d.ts files.

Changes

  • Added tsconfig.build.json — a build-only TypeScript config that extends the main tsconfig.json with emit-compatible overrides (noEmit: false, declaration: true, emitDeclarationOnly: true).
  • Updated vite.config.js to point vite-plugin-dts at tsconfig.build.json, ensuring dist/index.d.ts and all declaration files are generated on every build.

The "types": "./dist/index.d.ts" export condition in package.json now resolves correctly for consumers.

Full Changelog: 0.1.6...0.1.7

Polish Release

Polish Release Pre-release
Pre-release

Choose a tag to compare

@eoussama eoussama released this 28 Jun 15:40

What's Changed

Full Changelog: 0.1.5...0.1.6

QoL

QoL

Choose a tag to compare

@eoussama eoussama released this 26 Jan 21:39

What's Changed

Full Changelog: 0.1.4...0.1.5

Stability Patch

Choose a tag to compare

@eoussama eoussama released this 23 Jan 14:21
1595c50

What's Changed

Full Changelog: 0.1.3...0.1.4

GitHub Registry

Choose a tag to compare

@eoussama eoussama released this 23 Jan 13:57

What's Changed

Full Changelog: 0.1.1...0.1.3

NPM

NPM

Choose a tag to compare

@eoussama eoussama released this 23 Jan 00:46

Added scoped npm package.

Full Changelog: 0.1.0...0.1.1

Initial Release

Choose a tag to compare

@eoussama eoussama released this 23 Jan 00:45

What's Changed

New Contributors

Full Changelog: https://github.com/eoussama/firemitt/commits/0.1.0