magicbell-js

JavaScript/TypeScript SDK monorepo for MagicBell - The real-time notification inbox for web & mobile apps

OTHER License

Downloads
139.2K
Stars
28
Committers
19

Bot releases are visible (Hide)

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] over 1 year ago

Minor Changes

  • 4347cf3 Thanks @smeijer! - feat: category labels in the preferences pane are now translatable.

    const customLocale = {
      name: 'en',
      translations: {
        preferences: {
          categories: { // mapping from slug > label
            billing: 'My Billing',
          },
        },
      },
    };
    
    function MyComponent() {
      return (
        <MagicBell locale={customLocale} apiKey={MAGICBELL_API_KEY} userEmail="[email protected]" />
          {(props) => <FloatingNotificationInbox height={450} {...props} />}
        </MagicBell>
      );
    }
    
magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] over 1 year ago

Patch Changes

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

  • #46 017b0cd Thanks @smeijer! - fix: wait for markAsRead before opening notification action_url.

    This fixes a race-condition where the page reload and fetching new notifications is faster than marking the notification as read, which would result in showing the notification as 'unread' upon page (re)load.

  • Updated dependencies [8d30258]:

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

  • #43 d9d2318 Thanks @rollacaster! - fix: initialize stores in an effect instead of lazy use-state.

    This solves an "cannot update component" warning that was thrown in development mode.

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

magicbell-js - [email protected]

Published by github-actions[bot] almost 2 years ago

Minor Changes

  • #39 68b2fbd Thanks @smeijer! - Add support for usage in browsers.

    • Stop tracking client-id. Client id was a random token stored on the filesystem, so we could identify origins across session.

    • Don't generate HMAC if no api-secret is provided, or if HMAC is already provided via request options.

    • Export createHmac, a util that generates MagicBell compatible HMAC digests.

      import { createHmac } from 'magicbell';
      createHmac(process.env.MAGICBELL_API_SECRET, user.email);
      
magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

magicbell-js - [email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

magicbell-js - [email protected]

Published by github-actions[bot] almost 2 years ago

Major Changes

  • #27 c698320 Thanks @smeijer! - improve types for notifications, push-subscriptions, imports and users resources.
magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

  • #26 2f295b0 Thanks @smeijer! - Remove react-dom from peer-dependencies, so we don't cause trouble in react-native projects.
magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

magicbell-js - [email protected]

Published by smeijer almost 2 years ago

Minor Changes

  • #22 366adc6 Thanks @smeijer! - Add the magicbell.imports resource to import users in bulk, and query the status of import jobs. Methods that have been made available are magicbell.imports.create and magicbell.imports.get.

    See #imports for more information.

  • #24 6cf938c Thanks @smeijer! - Released the .listen method. With this method you can listen to server sent events in realtime. For example, to do something when new notifications come in, or to trigger an event when a user marks a notification as read.

    The following events are currently emitted. Please note that all events are bound to a specific user. See #realtime for more information.

    event.name description
    notifications/new a new notification has been created
    notifications/read a notification has been read
    notifications/unread a notification has been marked as unread
    notifications/delete a notification has been deleted
    notifications/read/all all notifications have been marked as read
    notifications/seen/all all notifications have been marked as seen
  • #16 615b2fa Thanks @smeijer! - Loads the axios http adapter when XMLHttpRequest is unsupported. This allows magicbell to be used in for example vscode extensions.

    • Don't persist config if os.homedir is unavailable, which is for example the case in vscode extensions.
    • Add support for authentication using x-magicbell-user-external-id header.
    • Allow specifying the userKey. This allows users to use magicbell, without the need to provide the apiSecret key to generate the HMAC on runtime.
  • #25 13ee1d2 Thanks @smeijer! - Add type coverage to all resource methods.

    • Payload and Response types are driven by json schemas, which are stored under /schemas.
    • Requests now use the accept-version: v2 header, so we use the latest version of our preferences api.
    • Failed requests now log a curl command when debug: true is provided to the client.
    • Requests no longer include empty headers.
    • Requests no longer include empty wrapping entities in the body.
  • #23 bb857a7 Thanks @smeijer! - Add the magicbell.pushSubscriptions resource to manage mobile devices / push subscriptions. Methods that have been made available are magicbell.pushSubscriptions.create and magicbell.pushSubscriptions.delete. Note that these methods are currently in beta, and need to be enabled via feature flags.

    See #pushSubscriptions for more information.

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

  • #13 1cb984c Thanks @3v0k4! - Fix embeddable web notifications: since embeddable aliases axios (redaxios) and redaxios does not implement .getUri, the code was failing for the embeddable package (that uses redaxios) but not for the react package (that uses axios).
magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] almost 2 years ago

Patch Changes

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] about 2 years ago

Patch Changes

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] about 2 years ago

Patch Changes

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] about 2 years ago

Patch Changes

  • #7 7712e28 Thanks @smeijer! - ensure that stores are updated to include or remove notification after an mark-all-read action.

  • #8 6a812ca Thanks @smeijer! - ensure that stores are updated to include or remove notification after an mark-all-seen action.

magicbell-js - @magicbell/[email protected]

Published by github-actions[bot] about 2 years ago

Patch Changes

  • bae93af Thanks @smeijer! - treeshake process.env.NODE_ENV checks from minified builds.
Package Rankings
Top 4.27% on Npmjs.org
Related Projects