Commit Graph

735 Commits

Author SHA1 Message Date
Ray d435932bfa fix: Normalize regex format (#188)
* fix: Normalize regex format

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>

* fix: ULID is missing some letters

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>

---------

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
2026-08-19 22:57:11 -06:00
Jacob Schlecht ee0a9803c5 refactor: Add ability to hydrate outside batch() (#186)
* refactor: Add ability to hydrate outside batch()

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* chore: Update javadoc for these new functions to use link

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* chore: Fix this comment

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-10 17:29:07 -06:00
Jacob Schlecht d9a7d919e7 chore: Downgrade typedoc (#185)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-08 00:03:05 -06:00
Jacob Schlecht 66d3cbf29d chore: Try to fix docs workflow a second time (#184)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-07 23:51:03 -06:00
Jacob Schlecht 8aa13b7f02 chore: Update dependencies to address some security issues (#183)
* chore: Update dependencies to address some security issues

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* chore: Update the docs runner

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-07 23:43:11 -06:00
Jacob Schlecht 5f8a2869a5 fix: Export these types as they're used in for-web (#182)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-07 23:27:01 -06:00
Mihai 528062b937 fix: role hierarchy enforcement in stoat.js (API/models) (#128)
* fix: role hierarchy enforcement in stoat.js (API/models)

Signed-off-by: mihai <45673304+mihaicm93@users.noreply.github.com>

* signarure

Signed-off-by: mihai <45673304+mihaicm93@users.noreply.github.com>

* fix: Populate role icon file object

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: mihai <45673304+mihaicm93@users.noreply.github.com>
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
Co-authored-by: Jacob Schlecht <Dadadah@users.noreply.github.com>
Co-authored-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-07 23:17:57 -06:00
Aki 836ae4c778 fix: don't drop role_mentions when hydrating messages (#181)
`hydrateInternal` resolves incoming payload keys using `keyMapping[key] ?? key` before invoking `functions[targetKey]`. Because `keyMapping` included entries for `mentions` and `replies` but missed `role_mentions`, the target key remained as its raw API string (`role_mentions`). Since no matching handler function existed under that name, it threw an error that was silently caught and logged as "Skipping key ... during hydration!".

Because of this missing mapping, `roleMentionIds` was never populated during hydration and its extractor function went completely unused. Any code relying on it received `undefined`. Specifically, `Message.mentioned` checks `roleMentions?.some((role) => role.assigned)`, which meant it could never return true for role-based mentions.

Adding `role_mentions` to the key mapping allows the existing extractor function to run as intended.

Signed-off-by: Aki <aki@akiworks.xyz>
2026-08-07 22:47:03 -06:00
Jacob Schlecht e90a1496f7 refactor: Move slowmodes from the client to the channel (#180)
* refactor: Move slowmodes from the client to the channel

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* fix: Format and lint

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-06 22:32:32 -06:00
Gabriel Gutiérrez Fuentes 33e526aa10 fix: allow passing MFA tickets when changing an account's email address (#179)
* fix: allow passing MFA tickets when changing an account's email address

This commit adds an `MFATicket` parameter to the `AccountCollection.changeEmail`, which the backend mandates when the account has MFA enabled. The client still has to manually check whether passing a ticket is necessary by using `MFA.authenticatorEnabled`.

Signed-off-by: Gabriel Gutiérrez Fuentes <me@gab.gf>

* style: fix formatting and linter issues

Signed-off-by: Gabriel Gutiérrez Fuentes <me@gab.gf>

---------

Signed-off-by: Gabriel Gutiérrez Fuentes <me@gab.gf>
2026-08-03 10:17:02 -06:00
Amelia 6d502bb194 feat: audit log (#177)
Signed-off-by: Amelia <amy+git@amogus.cloud>
2026-08-01 19:41:06 -06:00
Jacob Schlecht 27d886ff32 fix: Update a dependency and correct the type for errors (#175)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-08-01 11:05:27 -06:00
Amelia addfc29ce6 fix: nix shell not working (#176)
Signed-off-by: Amelia <amy+git@amogus.cloud>
2026-07-29 17:37:54 -06:00
Ray 7ee09129fd fix: Race condition on init & add method for overriding config options (#172)
* fix: Race condition on init & add method for overriding config options before configured() is set

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>

* fix: Cleanup lock when finished

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>

* fix: Improve comments

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>

* fix: Add config param to preConfig

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>

---------

Signed-off-by: Pecacheu <3608878+Pecacheu@users.noreply.github.com>
2026-07-27 09:38:20 -06:00
Jacob Schlecht 30b8505bc9 fix: Require MFA ticket for session revoke (#174)
* fix: Require MFA ticket for session revoke

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* refactor: Add _ prefix to consume function

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-07-24 23:27:14 -06:00
İspik 6fbb5ea162 feat: timeout functionality (#173)
Signed-off-by: İspik <ispik@ispik.dev>
2026-07-24 20:23:50 -06:00
Jacob Schlecht 7fef0567c7 fix: linter errors regarding unused imports (#171)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-07-17 23:18:14 -06:00
İspik c6b90b08ee feat: add pronouns (#169)
* feat: pronouns

Signed-off-by: İspik <ispik@ispik.dev>

* feat: add pronouns

Signed-off-by: İspik <ispik@ispik.dev>

---------

Signed-off-by: İspik <ispik@ispik.dev>
2026-07-17 23:08:56 -06:00
Jacob Schlecht 297710dbbe fix: Fix missing import for pr 125 (#170)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-07-17 21:38:54 -06:00
Taureon 2c3d0c5366 fix: Specify argument in Client "error" event to be Error instead of any. (#125)
Client.ts: change Events.error callback argument from any to Error

Only location where the "error" event was emitted:
https://github.com/stoatchat/javascript-client-sdk/blob/cdf406094b9b81c3ff285b14ed97fb3d138e3061/src/Client.ts#L263

Callback argument type where that "error" event comes from:
https://github.com/stoatchat/javascript-client-sdk/blob/main/src/events/EventClient.ts#L70

Signed-off-by: Taureon <45183108+Taureon@users.noreply.github.com>
2026-07-17 21:34:38 -06:00
İspik ed6ee065fe chore: update stoat-api (#168)
* chore: update stoat-api

Signed-off-by: İspik <ispik@ispik.dev>

* chore: update stoat-api

Signed-off-by: İspik <ispik@ispik.dev>

---------

Signed-off-by: İspik <ispik@ispik.dev>
2026-07-15 11:43:55 -06:00
Jacob Schlecht 4573e6b2bb refactor: Reexport UserLimits, change getLimits to get limits (#167)
* refactor: Reexport UserLimits, change getLimits to get limits

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* fix: Use new userlimits on the client class

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-06-29 12:00:18 -06:00
Jacob Schlecht afdd11fc3b feat: Add the ability to get a user's limits, including current (#153)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-06-25 09:05:21 -06:00
Jacob Schlecht 9da2032818 feat: Add voice statuses for participants, channels, and servers (#166)
This will allow marking servers as having active voice members

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-06-25 09:05:10 -06:00
Jacob Schlecht 3453407ba8 chore: Add tsconfigRootDir to eslint to fix linting in for-web (#164)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-05-23 19:04:10 -06:00
İspik 0ae58c30be feat: Add the userslowmode event (#162)
* feat: Add the userslowmode event

Signed-off-by: ispik <ispik@ispik.dev>

* chore: format

Signed-off-by: ispik <ispik@ispik.dev>

* chore: format

Signed-off-by: ispik <ispik@ispik.dev>

* refactor: satisfy review

Signed-off-by: ispik <ispik@ispik.dev>

* refactor: satisfy review

Signed-off-by: ispik <ispik@ispik.dev>

---------

Signed-off-by: ispik <ispik@ispik.dev>
2026-05-23 13:18:03 -06:00
Jacob Schlecht 8e9b8fa71a feat: Add a logout function for disposal of the client (#163)
* feat: Add a logout function for disposal of the client

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* fix: typo

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-05-23 13:17:45 -06:00
izzy cfc2b5b433 fix: typing for server ordered role 2026-05-17 23:08:47 +01:00
izzy de9908896a chore: update lockfile 2026-05-17 22:16:04 +01:00
izzy 58ae86c5c6 fix: pass entire role object for role icon 2026-05-17 22:10:37 +01:00
izzy 64d449d7d3 chore: role icon property 2026-05-17 21:57:13 +01:00
izzy 7de00aa7ce chore: upgrade stoat-api 2026-05-17 21:31:18 +01:00
Amy a672fea424 fix: hydrate Bot and User when using edit() (#147)
* fix: hydrate Bot and User when using edit()

closes #146

Signed-off-by: Amy <amy+git@amogus.cloud>

* chore: run formatter

Signed-off-by: Amy <amy+git@amogus.cloud>

---------

Signed-off-by: Amy <amy+git@amogus.cloud>
2026-05-10 18:15:26 -06:00
İspik 46b20bd7f7 feat: hydrate slowmode into channels and add the new permission (#151)
* feat: implement slowmode functionality with cooldown display

Signed-off-by: ispik <ispik@ispik.dev>

* refactor: format

Signed-off-by: ispik <ispik@ispik.dev>

* refactor: remove unnecessary function

Signed-off-by: ispik <ispik@ispik.dev>

---------

Signed-off-by: ispik <ispik@ispik.dev>
2026-05-10 18:14:53 -06:00
Amy 1c97bc2d5a chore: bump stoat-api version to 0.12.0 (#149) 2026-04-12 00:35:53 +01:00
Mihai b2a49fae3c Fix/server deletion lockup (#134)
* fix: Server deletion client lockup

Signed-off-by: mihai <45673304+mihaicm93@users.noreply.github.com>

* fix: lint errors

Signed-off-by: mihai <45673304+mihaicm93@users.noreply.github.com>

* fix lint error

Signed-off-by: mihai <45673304+mihaicm93@users.noreply.github.com>

---------

Signed-off-by: mihai <45673304+mihaicm93@users.noreply.github.com>
Co-authored-by: Christopher Hultin <chris.hultin@gmail.com>
7.3.7
2026-03-02 21:17:03 -07:00
Jacob Schlecht 7cdf5b1bce fix: linter fix to make pr checks pass (#137)
* fix: linter fix to make pr checks pass

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* fix: add missing eslint library

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-03-02 21:14:24 -07:00
Jacob Schlecht 4a1b1addff feat: Add emoji parsing to sync markdownToText (#136)
This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-03-02 20:47:39 -07:00
Jacob Schlecht 3c71fa73e8 fix: markdownToTextFetch will now return results even if fetches fail (#135)
This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-03-02 20:47:27 -07:00
z-nexx 64d8d2c657 fix: correct event name in example (#130)
correct event name

Signed-off-by: z-nexx <znexxpwnz0r@gmail.com>
2026-03-02 08:26:49 -07:00
Jacob Schlecht 97d924bb3a feat: Add the ability to parse markdown and replace tags asynchronously, and fetch the missing users and channels. (#131)
* chore: Update ulid to v3 to allow use in service workers

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* feat: Add async message parsing that calls fetch for service workers.

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* feat: add custom emoji text replacements to the markdown parser

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* feat: dedupe regex matches, wait for all requests at once

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* fix: run lint for Client.ts

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* refactor: Wait for all promises at once

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* Using spread operator

Signed-off-by: Christopher Hultin <chris.hultin@gmail.com>

* fix: run linter

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
Signed-off-by: Christopher Hultin <chris.hultin@gmail.com>
Co-authored-by: Christopher Hultin <chris.hultin@gmail.com>
2026-03-02 08:26:31 -07:00
Jacob Schlecht 746afa7839 feat: Enable asynchronous configuration loading and configuration signal (#127)
Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
2026-02-28 12:24:27 -07:00
Christopher Hultin 0f2cd21df8 fix: lint issues (#133)
Signed-off-by: Chris Hultin <chris.hultin@gmail.com>
2026-02-28 12:18:54 -07:00
izzy e1a9c8a856 chore: aggressively optimise large servers by just not loading many members 2026-02-12 21:45:40 +00:00
izzy cdf406094b chore: bump version to 7.3.6
Signed-off-by: izzy <me@insrt.uk>
2026-01-16 20:33:47 +00:00
Amy 075832ff2e fix: make ReadyData partial to match event documentation (#123)
Signed-off-by: Amy <amy+git@amogus.cloud>
7.3.6
2026-01-16 13:28:35 -05:00
Amy 8d2def3ee3 fix: missing undefined check on policy_changes (#122)
* feat: add nix shell

Signed-off-by: Amy <amy+git@amogus.cloud>

* fix: missing undefined check in policy_changes

Signed-off-by: Amy <amy+git@amogus.cloud>

---------

Signed-off-by: Amy <amy+git@amogus.cloud>
7.3.5
2026-01-01 12:51:30 -05:00
Amy 393bd00fdd feat: add nix shell (#121)
Signed-off-by: Amy <amy+git@amogus.cloud>
2026-01-01 12:50:43 -05:00
izzy dd74283320 fix: create user object when creating bot 2025-11-16 14:22:33 +00:00
izzy ec178587bf fix: consider DMs as voice channels 2025-10-23 13:34:31 +01:00