Commit Graph

1163 Commits

Author SHA1 Message Date
bitfl0wer 199bf91daf Factor out GatewayStore into own type 2023-11-14 20:04:23 +01:00
bitfl0wer 99eb869878 Remove unneeded import 2023-11-14 19:00:43 +01:00
bitfl0wer a67c54168b Merge branch 'dev' into feature/wasm32-unknown 2023-11-14 19:00:20 +01:00
Flori c23c07a262 Fix: #430 (#440)
Fixes #430
2023-11-14 17:59:53 +01:00
bitfl0wer b4193e2c2e Make id Optional, custom impl Updateable 2023-11-14 17:31:07 +01:00
kozabrada123 2bff2cb8cf fix: Voice State session id is a string, not a snowflake 2023-11-14 17:08:46 +01:00
bitfl0wer 2ee421d57e Generate snowflake if not exists 2023-11-14 16:55:23 +01:00
bitfl0wer 572a586505 I fucked up the merge and merged gateway wrongly 2023-11-14 16:42:01 +01:00
bitfl0wer bdfc261c93 Merge branch 'main' into feature/wasm32-unknown 2023-11-14 16:30:24 +01:00
bitfl0wer 7d8e980cc2 bump version 2023-11-14 16:11:00 +01:00
bitfl0wer 1caf8e9ba2 bump version 2023-11-14 16:10:37 +01:00
Flori 26bab1d12e Several small patches (#439)
- Bump versions of 2 packages to mitigate security vulnerabilities
- Remove redundant structdef
- Split up gateway.rs into multiple files for better clarity
2023-11-14 16:09:25 +01:00
Flori e055d8f04c Bump version 2023-11-14 16:02:51 +01:00
Flori 08b663c114 Split up gateway, fix a few clippy warnings (#436)
As the title suggests, `Gateway` has been split up into several files,
due to it being several hundred locs in length and, in my opinion,
becoming difficult/frustrating to navigate.

I have also fixed 2 clippy warnings: I have refactored an `if
x.is_some()... { x.unwrap() }` into the more idiomatic `if let Some(y) =
x ...`, and I have removed the duplicate definition of `NSFWLevel` in
`types/invite`.
2023-11-14 16:00:02 +01:00
bitfl0wer 32b163a4c7 Move HEARTBEAT_ACK_TIMEOUT
Delete events.rs

Unify import

Move HEARTBEAT_ACK_TIMEOUT since its not an OPCODE
2023-11-14 15:46:23 +01:00
Flori 512e26d9ec Bump rustix from 0.38.11 to 0.38.22 (#438)
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.11
to 0.38.22.
<details>
<summary>Commits</summary>
<ul>
<li><a
href="58238c794c"><code>58238c7</code></a>
chore: Release rustix version 0.38.22</li>
<li><a
href="ee297a1541"><code>ee297a1</code></a>
Miscellaneous clippy fixes. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/928">#928</a>)</li>
<li><a
href="b28c5a8308"><code>b28c5a8</code></a>
Miscellaneous documentation cleanups. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/929">#929</a>)</li>
<li><a
href="cc82ed28cc"><code>cc82ed2</code></a>
Fix ioctl numbers on BSDs (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/926">#926</a>)</li>
<li><a
href="90b2fbd818"><code>90b2fbd</code></a>
Add ioctl <code>Updater</code> type (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/925">#925</a>)</li>
<li><a
href="e1d66b5822"><code>e1d66b5</code></a>
Make <code>runtime::fork</code> return the PID in both the parent and
child. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/924">#924</a>)</li>
<li><a
href="31dfad159d"><code>31dfad1</code></a>
Fixes for empty and multiple-entry control message buffers. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/915">#915</a>)</li>
<li><a
href="1edcdfe02a"><code>1edcdfe</code></a>
Add a <code>readlinkat_raw</code> function. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/923">#923</a>)</li>
<li><a
href="15278a1279"><code>15278a1</code></a>
Implement <code>rustix::process::sched_getcpu</code>. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/921">#921</a>)</li>
<li><a
href="560b2e818a"><code>560b2e8</code></a>
Remove redundant checks for <code>linux_kernel</code> in the linux_raw
backend. (<a
href="https://redirect.github.com/bytecodealliance/rustix/issues/922">#922</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/bytecodealliance/rustix/compare/v0.38.11...v0.38.22">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=rustix&package-manager=cargo&previous-version=0.38.11&new-version=0.38.22)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/polyphony-chat/chorus/network/alerts).

</details>
2023-11-14 12:46:16 +01:00
Flori 065b2d32e0 Bump tungstenite from 0.20.0 to 0.20.1 (#437)
Bumps [tungstenite](https://github.com/snapview/tungstenite-rs) from
0.20.0 to 0.20.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/snapview/tungstenite-rs/blob/master/CHANGELOG.md">tungstenite's
changelog</a>.</em></p>
<blockquote>
<h1>0.20.1</h1>
<ul>
<li>Fixes <a
href="https://redirect.github.com/snapview/tungstenite-rs/pull/379">CVE-2023-43669</a>.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="219075edaa"><code>219075e</code></a>
Merge pull request <a
href="https://redirect.github.com/snapview/tungstenite-rs/issues/379">#379</a>
from snapview/CVE-2023-43669</li>
<li><a
href="f0f1a06a50"><code>f0f1a06</code></a>
Bump crate version</li>
<li><a
href="2e5029284b"><code>2e50292</code></a>
Add checking for header sanity</li>
<li><a
href="f916b332a9"><code>f916b33</code></a>
Add <code>AttackAttempt</code> error variant</li>
<li><a
href="53914c1180"><code>53914c1</code></a>
Include examples so that <code>cargo publish</code> works</li>
<li><a
href="5323559891"><code>5323559</code></a>
Bump version</li>
<li>See full diff in <a
href="https://github.com/snapview/tungstenite-rs/compare/v0.20.0...v0.20.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=tungstenite&package-manager=cargo&previous-version=0.20.0&new-version=0.20.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)
You can disable automated security fix PRs for this repo from the
[Security Alerts
page](https://github.com/polyphony-chat/chorus/network/alerts).

</details>
2023-11-14 12:41:29 +01:00
dependabot[bot] 318007d1e7 Bump rustix from 0.38.11 to 0.38.22
Bumps [rustix](https://github.com/bytecodealliance/rustix) from 0.38.11 to 0.38.22.
- [Release notes](https://github.com/bytecodealliance/rustix/releases)
- [Commits](https://github.com/bytecodealliance/rustix/compare/v0.38.11...v0.38.22)

---
updated-dependencies:
- dependency-name: rustix
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-14 11:35:55 +00:00
Flori 5e8fe3d24b Manually bump tungstenite to 0.20.1 in cargo.toml 2023-11-14 12:33:12 +01:00
dependabot[bot] 564f5cb270 Bump tungstenite from 0.20.0 to 0.20.1
Bumps [tungstenite](https://github.com/snapview/tungstenite-rs) from 0.20.0 to 0.20.1.
- [Changelog](https://github.com/snapview/tungstenite-rs/blob/master/CHANGELOG.md)
- [Commits](https://github.com/snapview/tungstenite-rs/compare/v0.20.0...v0.20.1)

---
updated-dependencies:
- dependency-name: tungstenite
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-14 10:22:09 +00:00
bitfl0wer 5243eee256 Remove redundant `NSFWLevel` structdef 2023-11-14 11:13:21 +01:00
bitfl0wer 81447c9dda Split up gateway.rs into several files 2023-11-14 11:13:02 +01:00
Flori 12a58ada0d Enhancement/readme (#435) 2023-11-13 22:21:36 +01:00
bitfl0wer 97e4db012a Refactor Chorus library documentation and examples 2023-11-13 22:20:57 +01:00
bitfl0wer 7e710072c5 Add login, instance examples 2023-11-13 22:20:50 +01:00
bitfl0wer ec8d1c1f90 Replace tokio::time with safina-timer 2023-11-13 19:20:38 +01:00
bitfl0wer 641abe8ba6 Use patched reqwest with multipart-headers support 2023-11-13 17:34:16 +01:00
bitfl0wer 1b7450366f Include `rand` crate in all targets 2023-11-13 15:38:20 +01:00
bitfl0wer 9f81806ff1 remove sqlx from wasm-exclusion, add futures-timer 2023-11-13 15:29:37 +01:00
bitfl0wer aa657d12fc Ensure rt and rt_multi_thread aren't both enabled 2023-11-13 15:26:46 +01:00
bitfl0wer 7f3bb944b7 make SentryConfiguration wasm-compatible
- Moved `hostname` lib behind conditional compiling
- provided alternative implementation of hostname::get for wasm-targets
2023-11-13 15:18:22 +01:00
bitfl0wer af0178e15a compile-lock most wasm32 incompatibilities 2023-11-13 13:55:55 +01:00
bitfl0wer cc80bb50be Format changes 2023-11-13 12:57:17 +01:00
bitfl0wer 110ce51c05 + ws_stream_wasm, - dev-dependency on tokio/full 2023-11-13 12:43:00 +01:00
bitfl0wer 6af267c7cf HOTFIX: remove openssl, like it was intended 2023-11-12 18:04:47 +01:00
bitfl0wer c3d6937171 Remove openssl-dependency fully 2023-11-12 18:04:15 +01:00
Flori f9065d4c99 OpenSSL -> rustls, actions version bumps (#433) 2023-11-12 17:43:51 +01:00
bitfl0wer 279ac9d8ca Bump version for chorus 2023-11-12 17:41:59 +01:00
Flori e1d82f0632 bump actions version (#432)
- bump checkout to @v4
- bump rust-toolchain to @v1
2023-11-12 17:39:55 +01:00
bitfl0wer 2edab4cc99 include "dev" branch in actions executions 2023-11-12 17:32:57 +01:00
Flori 5c6d14fc48 Remove openssl, use rustls and rand instead (#431)
This PR removes the dependency on `openssl`, which is not compatible
with the `wasm32-unknown-unknown` target, completely. It is replaced by
`rustls` for TLS/SSL and `rand` for cryptographically safe pseudo-RNG.
2023-11-12 17:31:31 +01:00
bitfl0wer fac543bf5a bump actions version
- bump checkout to @v4
- bump rust-toolchain to @v1
2023-11-12 17:30:49 +01:00
bitfl0wer 2f559b1397 Remove openssl, use rustls and rand instead 2023-11-12 17:20:32 +01:00
Flori 5f63f3cf36 Merge Dev changes into main (#428)
The changes in this branch include a ton of QoL improvements I have
discovered while working on the Client, using Chorus.
2023-09-10 11:46:14 +02:00
bitfl0wer c4b0891ec8 Make events module pub 2023-09-06 01:32:38 +02:00
bitfl0wer 33b99534ca Make WebsocketEvent send, Sznc, Debug 2023-09-05 22:29:04 +02:00
bitfl0wer 3e86460271 Implement UpdateMessage for GuildCreate 2023-09-05 14:41:02 +02:00
bitfl0wer c037c7907b Implement UpdateMessage for GuildDelete 2023-09-05 13:35:01 +02:00
bitfl0wer 59ab862b17 Simplify this loop 2023-09-05 13:34:22 +02:00
bitfl0wer 242021a50a Make the fields on this type public 2023-09-05 13:33:50 +02:00