-
Notifications
You must be signed in to change notification settings - Fork 575
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
SQLx encode/decode support #2514
Commits on May 30, 2023
-
Reduce size of shard info and turn it into a struct (serenity-rs#1984)
This replaces the `[u64; 2]` shard info with `ShardInfo { id: u32, total: u32 }`. Co-authored-by: nickelc <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 5d80f7b - Browse repository at this point
Copy the full SHA 5d80f7bView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd28c50 - Browse repository at this point
Copy the full SHA bd28c50View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c1dff7 - Browse repository at this point
Copy the full SHA 8c1dff7View commit details -
Preserve values for unknown enum variants (serenity-rs#2008)
The `enum_number!` macro now takes the whole enum definition and generates `From` trait implementations to convert a value to the enum and back. The implementations can then be picked up by `serde` with `#[serde(from = "u8", into = "u8")]` to (de)serialize the types. ``` enum_number! { #[derive(Clone, Copy, Debug, Deserialize, Serialize)] #[serde(from = "u8", into = "u8")] pub enum Foo { A = 1, B = 2, _ => Unknown(u8), } } ``` BREAKING CHANGE: The `Unknown` variant now takes the unknown value and the removed `fn num() -> u64` method can be replaced with `let v = u8::from(kind)`.
Configuration menu - View commit details
-
Copy full SHA for 0f4291c - Browse repository at this point
Copy the full SHA 0f4291cView commit details -
Configuration menu - View commit details
-
Copy full SHA for bee6771 - Browse repository at this point
Copy the full SHA bee6771View commit details -
Remove
Shard
prefix inShardInfo
logging (serenity-rs#2014)Before `ShardInfo`: `[serenity::gateway::shard]: [Shard [15, 33]] ...` Currently: `[serenity::gateway::shard]: [Shard ShardInfo { id: 15, total: 33 }] ...` After: `[serenity::gateway::shard]: [ShardInfo { id: 15, total: 33 }] ...`
Configuration menu - View commit details
-
Copy full SHA for d713199 - Browse repository at this point
Copy the full SHA d713199View commit details -
Remove unneeded
#[must_use]
attributeThe returned `Result` is already marked as `#[must_use]`.
Configuration menu - View commit details
-
Copy full SHA for 4e9d942 - Browse repository at this point
Copy the full SHA 4e9d942View commit details -
Configuration menu - View commit details
-
Copy full SHA for b8253dc - Browse repository at this point
Copy the full SHA b8253dcView commit details -
Configuration menu - View commit details
-
Copy full SHA for ac1a4b1 - Browse repository at this point
Copy the full SHA ac1a4b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for e3bda85 - Browse repository at this point
Copy the full SHA e3bda85View commit details -
Configuration menu - View commit details
-
Copy full SHA for 10ea78f - Browse repository at this point
Copy the full SHA 10ea78fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 585b7e2 - Browse repository at this point
Copy the full SHA 585b7e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 30682f0 - Browse repository at this point
Copy the full SHA 30682f0View commit details -
Configuration menu - View commit details
-
Copy full SHA for d233a61 - Browse repository at this point
Copy the full SHA d233a61View commit details -
Configuration menu - View commit details
-
Copy full SHA for 283f7ed - Browse repository at this point
Copy the full SHA 283f7edView commit details -
Replace
json::from_number
withinto()
(serenity-rs#2034)Both `Value` types implement `From` for their number variants.
Configuration menu - View commit details
-
Copy full SHA for 659de9a - Browse repository at this point
Copy the full SHA 659de9aView commit details -
Merge application command & autocomplete interactions (serenity-rs#2031)
The structs are almost identical except for the `focused` field for the current autocompleted option and that the `resolved` data map is not sent for autocomplete interactions. The entities from the `CommandData::resolved` data map are no longer cloned for the option values during deserialization. But the resolved options and values can be accessed via the `CommandData::options()` method. For autocomplete interactions `CommandData::autocomplete()` returns the current autocompleted option + value. BREAKING CHANGES: - `ApplicationCommandInteraction` is now used for application commands and their autocomplete interaction. - The `CommandDataOptionValue`'s variants no longer have the cloned entities from the `CommandData::resolved` data map. See the `CommandData::options` method. - The fields `value`, `kind`, `options` and `focused` of `CommandDataOption` are streamlined into the `CommandDataOptionValue` enum with new variants for subcommands, subcommand groups and autocomplete.
Configuration menu - View commit details
-
Copy full SHA for dfa1a77 - Browse repository at this point
Copy the full SHA dfa1a77View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18801fd - Browse repository at this point
Copy the full SHA 18801fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7263b22 - Browse repository at this point
Copy the full SHA 7263b22View commit details -
Fix
Timestamp
having a fallibleFrom
impl (serenity-rs#2032)Co-authored-by: Michael Krasnitski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for ba8edf8 - Browse repository at this point
Copy the full SHA ba8edf8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5b0458f - Browse repository at this point
Copy the full SHA 5b0458fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a03c461 - Browse repository at this point
Copy the full SHA a03c461View commit details -
Fix deserialisation for reaction events
To simplify the deserialisation implementation for `Event`, it was changed to use serde's native support for `enum` representations that are adjacently tagged (meaning in a text form like JSON, the tag is in one field, the data in the other field). This helped in trimming the lines of code we have to maintain; however, it did break reaction events whose names are prepended `MESSAGE_`, which serde could not account for when renaming, for instance, `ReactionAdd` to SCREAMING_SNAKE_CASE -> `REACTION_ADD`, when it should have been `MESSAGE_REACTION_ADD`. This commit manually renames the reaction events to have `MESSAGE_` at the beginning of their event names.
Configuration menu - View commit details
-
Copy full SHA for b81bd56 - Browse repository at this point
Copy the full SHA b81bd56View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0d226d6 - Browse repository at this point
Copy the full SHA 0d226d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for d61342f - Browse repository at this point
Copy the full SHA d61342fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2c6b0e - Browse repository at this point
Copy the full SHA a2c6b0eView commit details -
Revert "Clean up dispatch and unnecessary clones in client (serenity-…
Configuration menu - View commit details
-
Copy full SHA for c2ac952 - Browse repository at this point
Copy the full SHA c2ac952View commit details -
Configuration menu - View commit details
-
Copy full SHA for 73716b8 - Browse repository at this point
Copy the full SHA 73716b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 42301a4 - Browse repository at this point
Copy the full SHA 42301a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for e70e79c - Browse repository at this point
Copy the full SHA e70e79cView commit details -
Fix compilation errors that arose from rebasing
Additionally, adapt some code to the `next` branch.
Configuration menu - View commit details
-
Copy full SHA for de2f8cd - Browse repository at this point
Copy the full SHA de2f8cdView commit details -
Fix clippy warnings and apply
next
patches to new code (serenity-rs……#2061) Co-authored-by: Michael Krasnitski <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 516574d - Browse repository at this point
Copy the full SHA 516574dView commit details -
Configuration menu - View commit details
-
Copy full SHA for a6cbc86 - Browse repository at this point
Copy the full SHA a6cbc86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1eacf13 - Browse repository at this point
Copy the full SHA 1eacf13View commit details -
Fix some builders returning unsendable Futures (serenity-rs#2069)
Due to how the permissions lookups were being performed, the Futures were being marked `!Send` because `GuildRef` is also `!Send`. So, we unfortunately have to clone the guild we get from the cache.
Configuration menu - View commit details
-
Copy full SHA for aa427a6 - Browse repository at this point
Copy the full SHA aa427a6View commit details -
Configuration menu - View commit details
-
Copy full SHA for ed3d3bf - Browse repository at this point
Copy the full SHA ed3d3bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 64ba5a1 - Browse repository at this point
Copy the full SHA 64ba5a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 32fed4b - Browse repository at this point
Copy the full SHA 32fed4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 327cf4d - Browse repository at this point
Copy the full SHA 327cf4dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 521eb1b - Browse repository at this point
Copy the full SHA 521eb1bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a89563f - Browse repository at this point
Copy the full SHA a89563fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 878786b - Browse repository at this point
Copy the full SHA 878786bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b471ec - Browse repository at this point
Copy the full SHA 9b471ecView commit details -
Enforce required fields for builders (serenity-rs#2087)
This commit adds enforcement for unconditionally required fields on builders. It does so by removing the implementation of `Default` on those builders and adding a `new` method that takes the required fields as argument.
Configuration menu - View commit details
-
Copy full SHA for 08711cd - Browse repository at this point
Copy the full SHA 08711cdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 843d211 - Browse repository at this point
Copy the full SHA 843d211View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c93d3c - Browse repository at this point
Copy the full SHA 4c93d3cView commit details -
Use fallback endpoints in
Webhook::{edit,delete}
if no token is set (……serenity-rs#2104) If the `Webhook::token` field is `None` when these functions are called, attempt to use the alternate authenticated endpoint instead of erroring. Also, add audit_log_reason parameter to `Http::edit_webhook_with_token`.
Configuration menu - View commit details
-
Copy full SHA for f5860be - Browse repository at this point
Copy the full SHA f5860beView commit details -
Configuration menu - View commit details
-
Copy full SHA for b70aebf - Browse repository at this point
Copy the full SHA b70aebfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f8b06d - Browse repository at this point
Copy the full SHA 1f8b06dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c59d50 - Browse repository at this point
Copy the full SHA 2c59d50View commit details -
Configuration menu - View commit details
-
Copy full SHA for f339052 - Browse repository at this point
Copy the full SHA f339052View commit details -
Configuration menu - View commit details
-
Copy full SHA for e48d9c1 - Browse repository at this point
Copy the full SHA e48d9c1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 73395d5 - Browse repository at this point
Copy the full SHA 73395d5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 95d55ba - Browse repository at this point
Copy the full SHA 95d55baView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd38a10 - Browse repository at this point
Copy the full SHA bd38a10View commit details -
Configuration menu - View commit details
-
Copy full SHA for b10809d - Browse repository at this point
Copy the full SHA b10809dView commit details -
Configuration menu - View commit details
-
Copy full SHA for d586c2b - Browse repository at this point
Copy the full SHA d586c2bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 11118d3 - Browse repository at this point
Copy the full SHA 11118d3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89cfc82 - Browse repository at this point
Copy the full SHA 89cfc82View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0ff08b8 - Browse repository at this point
Copy the full SHA 0ff08b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8e80e3b - Browse repository at this point
Copy the full SHA 8e80e3bView commit details -
Remove
parse_token
(serenity-rs#2162)It was broken due to tokens not being an officially documented format, and the format having changed silently since being implemented. `validate_token` still exists, but it does less intrusive check.
Configuration menu - View commit details
-
Copy full SHA for 23f9ea5 - Browse repository at this point
Copy the full SHA 23f9ea5View commit details -
Configuration menu - View commit details
-
Copy full SHA for adf1ffc - Browse repository at this point
Copy the full SHA adf1ffcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 84ce5d4 - Browse repository at this point
Copy the full SHA 84ce5d4View commit details -
Configuration menu - View commit details
-
Copy full SHA for bed0462 - Browse repository at this point
Copy the full SHA bed0462View commit details -
Fix
http
andgateway
features (serenity-rs#2172)Previously, you couldn't even build Serenity if you had just `http` or just `gateway` enabled. And, `gateway` used to depend on `http` and `utils` which is non-sensical. Both these things are fixed now.
Configuration menu - View commit details
-
Copy full SHA for d592d41 - Browse repository at this point
Copy the full SHA d592d41View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e50bd0 - Browse repository at this point
Copy the full SHA 0e50bd0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 99496a7 - Browse repository at this point
Copy the full SHA 99496a7View commit details -
Keep embeds in
EditInteractionResponse
by default (serenity-rs#2179)This also adds a new `testing` crate meant to host small snippets to verify correctness for all new pull requests.
Configuration menu - View commit details
-
Copy full SHA for d564323 - Browse repository at this point
Copy the full SHA d564323View commit details -
Configuration menu - View commit details
-
Copy full SHA for 63e515a - Browse repository at this point
Copy the full SHA 63e515aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9c30678 - Browse repository at this point
Copy the full SHA 9c30678View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9861527 - Browse repository at this point
Copy the full SHA 9861527View commit details -
Configuration menu - View commit details
-
Copy full SHA for ac629c5 - Browse repository at this point
Copy the full SHA ac629c5View commit details -
Include new features in documentation (serenity-rs#2193)
Documentation had a hard coded list of features (two duplicated copies of them, actually). The new `interactions_endpoint` was not among them, so that API was completely absent from the docs. This commit adds an internal `_docs` feature that enables all features that should be documented. The doc generation now refers to `_docs` instead of writing out the features
Configuration menu - View commit details
-
Copy full SHA for ff63b1e - Browse repository at this point
Copy the full SHA ff63b1eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a227868 - Browse repository at this point
Copy the full SHA a227868View commit details -
Configuration menu - View commit details
-
Copy full SHA for 76144a5 - Browse repository at this point
Copy the full SHA 76144a5View commit details -
Test JSON instead of serde tokens (serenity-rs#2200)
Removes serde_test dependency and cuts down on needless verbosity by testing only what we really need to test. We need to verify *JSON* de-/serialization is correct; where a lot of serde's extra metadata doesn't apply.
Configuration menu - View commit details
-
Copy full SHA for 69fb684 - Browse repository at this point
Copy the full SHA 69fb684View commit details -
Configuration menu - View commit details
-
Copy full SHA for a5b1a49 - Browse repository at this point
Copy the full SHA a5b1a49View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2e205a1 - Browse repository at this point
Copy the full SHA 2e205a1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6b9ed1f - Browse repository at this point
Copy the full SHA 6b9ed1fView commit details -
Configuration menu - View commit details
-
Copy full SHA for a4ef8e7 - Browse repository at this point
Copy the full SHA a4ef8e7View commit details -
Configuration menu - View commit details
-
Copy full SHA for ff2a387 - Browse repository at this point
Copy the full SHA ff2a387View commit details -
Configuration menu - View commit details
-
Copy full SHA for 23ffae3 - Browse repository at this point
Copy the full SHA 23ffae3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0affda8 - Browse repository at this point
Copy the full SHA 0affda8View commit details -
Configuration menu - View commit details
-
Copy full SHA for f99ae78 - Browse repository at this point
Copy the full SHA f99ae78View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7126490 - Browse repository at this point
Copy the full SHA 7126490View commit details -
Simplify serde (de)serialization implementations and remove `serde-va…
…lue` dependency (serenity-rs#2211)
Configuration menu - View commit details
-
Copy full SHA for 591f3b1 - Browse repository at this point
Copy the full SHA 591f3b1View commit details -
Clean up dependencies (serenity-rs#2212)
This: - removes dependencies: `cfg-if`, `mime`, `tokio-test` - makes dependencies optional: `fxhash`, `mime_guess` - puts each dependency in `Cargo.toml` on a single line - puts dependency attributes in consistent order (version, package/path, default-features, features, optional) - groups dependencies by category
Configuration menu - View commit details
-
Copy full SHA for a2876bf - Browse repository at this point
Copy the full SHA a2876bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e99479 - Browse repository at this point
Copy the full SHA 3e99479View commit details -
Put big model type fields behind
Box
(serenity-rs#2205)This helps reduce the stack size of most types.
Configuration menu - View commit details
-
Copy full SHA for d1bb161 - Browse repository at this point
Copy the full SHA d1bb161View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4c814f - Browse repository at this point
Copy the full SHA d4c814fView commit details -
Configuration menu - View commit details
-
Copy full SHA for d41b44b - Browse repository at this point
Copy the full SHA d41b44bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8270b9b - Browse repository at this point
Copy the full SHA 8270b9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f47e202 - Browse repository at this point
Copy the full SHA f47e202View commit details -
Configuration menu - View commit details
-
Copy full SHA for bd2e1e0 - Browse repository at this point
Copy the full SHA bd2e1e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c44cb29 - Browse repository at this point
Copy the full SHA c44cb29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 46bd1d7 - Browse repository at this point
Copy the full SHA 46bd1d7View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8f28cc9 - Browse repository at this point
Copy the full SHA 8f28cc9View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4e2730 - Browse repository at this point
Copy the full SHA d4e2730View commit details -
Configuration menu - View commit details
-
Copy full SHA for badd0c0 - Browse repository at this point
Copy the full SHA badd0c0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 14d3856 - Browse repository at this point
Copy the full SHA 14d3856View commit details -
Add `CacheSettings::{time_to_live, cache_guilds, cache_channels, cach…
…e_users}` (serenity-rs#2210) The idea is that even users on resource contrained devices can enable cache feature, but just disable all the individual caching flags. What remains is the cached fixed-size data: `CachedShardData` and more importantly `CurrentUser`.
Configuration menu - View commit details
-
Copy full SHA for a1e111a - Browse repository at this point
Copy the full SHA a1e111aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1df205b - Browse repository at this point
Copy the full SHA 1df205bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 12706a5 - Browse repository at this point
Copy the full SHA 12706a5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4795b5c - Browse repository at this point
Copy the full SHA 4795b5cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 399792f - Browse repository at this point
Copy the full SHA 399792fView commit details -
Configuration menu - View commit details
-
Copy full SHA for da42665 - Browse repository at this point
Copy the full SHA da42665View commit details -
Shorten type names (serenity-rs#2232)
Global find-and-replace: - ApplicationCommand -> Command - AutoModeration -> AutoMod - GuildScheduledEvent -> ScheduledEvent - MessageComponent -> Component
Configuration menu - View commit details
-
Copy full SHA for dec2865 - Browse repository at this point
Copy the full SHA dec2865View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7a3ded3 - Browse repository at this point
Copy the full SHA 7a3ded3View commit details -
Configuration menu - View commit details
-
Copy full SHA for fd2cf82 - Browse repository at this point
Copy the full SHA fd2cf82View commit details -
Rename
ModalSubmit
toModal
(serenity-rs#2234)`ModalInteraction` is just as clear as `ModalSubmitInteraction`
Configuration menu - View commit details
-
Copy full SHA for 4ad6c71 - Browse repository at this point
Copy the full SHA 4ad6c71View commit details -
Shorten interaction method names (serenity-rs#2235)
`create_interaction_response -> `respond` `create_followup_message` -> `respond_followup` `delete_original_interaction_response` -> `delete_response` `delete_followup_message` -> `delete_followup` `edit_original_interaction_response` -> `edit_response` `edit_followup_message` -> `edit_followup` `get_interaction_response` -> `get_response`
Configuration menu - View commit details
-
Copy full SHA for 3299730 - Browse repository at this point
Copy the full SHA 3299730View commit details -
Configuration menu - View commit details
-
Copy full SHA for d7523ed - Browse repository at this point
Copy the full SHA d7523edView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0689d72 - Browse repository at this point
Copy the full SHA 0689d72View commit details -
Remove
create_autocomplete_response
(serenity-rs#2254)serenity-rs#2228 changed `CreateAutocompleteResponse` to be a stand-alone response struct into just the representation of the `data` response struct field. That's because you are supposed to embed it in the `CreateInteractionResponse` enum now. But I forgot that there exists `create_autocomplete_response`, a convenience function for `create_response`, which took `CreateAutocompleteResponse` directly. After serenity-rs#2228, `create_autocomplete_response` still compiled, but now didn't send a proper response to discord but just its `data` field. This commit removes `create_autocomplete_response` as a temporary fix. For now, you should use `create_response` as for any other interaction response.
Configuration menu - View commit details
-
Copy full SHA for 1aa198f - Browse repository at this point
Copy the full SHA 1aa198fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0edbb4e - Browse repository at this point
Copy the full SHA 0edbb4eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0c5947b - Browse repository at this point
Copy the full SHA 0c5947bView commit details -
Improve event docs (serenity-rs#2249)
- Update Discord docs links on event structs - Add the required gateway intents to every event - On `Cache`, add information which events are used for which cache resource (fixes serenity-rs#1601)
Configuration menu - View commit details
-
Copy full SHA for a1e5e14 - Browse repository at this point
Copy the full SHA a1e5e14View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4aeee9b - Browse repository at this point
Copy the full SHA 4aeee9bView commit details -
Configuration menu - View commit details
-
Copy full SHA for cb8d6c4 - Browse repository at this point
Copy the full SHA cb8d6c4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3410ab7 - Browse repository at this point
Copy the full SHA 3410ab7View commit details -
Configuration menu - View commit details
-
Copy full SHA for cf538a9 - Browse repository at this point
Copy the full SHA cf538a9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 34652d2 - Browse repository at this point
Copy the full SHA 34652d2View commit details -
Configuration menu - View commit details
-
Copy full SHA for d519948 - Browse repository at this point
Copy the full SHA d519948View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4b5fd5e - Browse repository at this point
Copy the full SHA 4b5fd5eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4bd94cb - Browse repository at this point
Copy the full SHA 4bd94cbView commit details -
Configuration menu - View commit details
-
Copy full SHA for 9dfba93 - Browse repository at this point
Copy the full SHA 9dfba93View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8821f37 - Browse repository at this point
Copy the full SHA 8821f37View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3ae4787 - Browse repository at this point
Copy the full SHA 3ae4787View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89cdde0 - Browse repository at this point
Copy the full SHA 89cdde0View commit details -
Configuration menu - View commit details
-
Copy full SHA for a38f95a - Browse repository at this point
Copy the full SHA a38f95aView commit details -
Configuration menu - View commit details
-
Copy full SHA for caa8fd0 - Browse repository at this point
Copy the full SHA caa8fd0View commit details -
Revert "Rewrite collectors (serenity-rs#2240)"
This reverts commit c259280. I presumed it was Github being confused with which changes to show when merging the pull request (serenity-rs#2240), but they were real, reverting a few commits on `next` as a result.
Configuration menu - View commit details
-
Copy full SHA for 20242e4 - Browse repository at this point
Copy the full SHA 20242e4View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3480b1 - Browse repository at this point
Copy the full SHA c3480b1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e1fb16 - Browse repository at this point
Copy the full SHA 0e1fb16View commit details -
Make HTTP error more useful (serenity-rs#2277)
While developing the automod regex PR, I noticed that HTTP errors include lots of useless info about the URL, but don't even include the HTTP method (POST/GET/PATCH/...). This commit changes that. Old: `Http(UnsuccessfulRequest(ErrorResponse { status_code: 403, url: Url { scheme: "https", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("discord.com")), port: None, path: "/api/v10/guilds/703332075914264606/auto-moderation/rules", query: None, fragment: None }, error: DiscordJsonError { code: 50001, message: "Missing Access", errors: [] } }))` New: `Http(UnsuccessfulRequest(ErrorResponse { status_code: 403, url: "https://discord.com/api/v10/guilds/703332075914264606/auto-moderation/rules", method: POST, error: DiscordJsonError { code: 50001, message: "Missing Access", errors: [] } }))`
Configuration menu - View commit details
-
Copy full SHA for 6a0bd7c - Browse repository at this point
Copy the full SHA 6a0bd7cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 16aca38 - Browse repository at this point
Copy the full SHA 16aca38View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2903169 - Browse repository at this point
Copy the full SHA 2903169View commit details -
Configuration menu - View commit details
-
Copy full SHA for 96b761b - Browse repository at this point
Copy the full SHA 96b761bView commit details -
Perform miscellaneous HTTP refactoring (serenity-rs#2285)
Some small HTTP refactors, mainly getting rid of cruft and moving some things around: 1. Instead of having a `ratelimiter_disabled` flag, simply wrap `Http::ratelimiter` in `Option`. 2. Use `HttpBuilder` in `Http::new` instead of duplicating construction logic 3. Unify `ban` and `ban_with_reason`, and likewise with the kick methods. The model methods API remains unchanged. 4. Introduce a `SecretString` type to prevent leaking the token, e.g. via `Debug`. 5. Change `Http::proxy` to `Option<String>`, because url parsing is already done before a request is sent out.
Configuration menu - View commit details
-
Copy full SHA for ccfdd34 - Browse repository at this point
Copy the full SHA ccfdd34View commit details -
Overhaul HTTP routing (serenity-rs#2288)
This replaces the combination of `RouteInfo` and `Route` with a single `Route` struct, responsible for both the endpoint url and ratelimiting. A `routes!` macro is introduced to easily generate code for each endpoint. And `LightMethod` is inlined for each endpoint into the `Request` struct, as well as any query parameters.
Configuration menu - View commit details
-
Copy full SHA for 03ea246 - Browse repository at this point
Copy the full SHA 03ea246View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4d5ec93 - Browse repository at this point
Copy the full SHA 4d5ec93View commit details -
Configuration menu - View commit details
-
Copy full SHA for d4bcc86 - Browse repository at this point
Copy the full SHA d4bcc86View commit details -
Replace
moka
cache crate withmini-moka
for fewer dependencies (s……erenity-rs#2294) `mini-moka` provides a cache implementation `mini_moka::sync::Cache`, which is a successor of `moka::dash::Cache`. Currently Serenity uses `moka::dash::Cache` when `temp_cache` feature is enabled. `mini_moka::sync::Cache` has the same API and functionality as `moka::dash::Cache`, but has fewer external crate dependencies.
Configuration menu - View commit details
-
Copy full SHA for 7b5c044 - Browse repository at this point
Copy the full SHA 7b5c044View commit details -
Add call to
Framework::init()
after client initialisation and add `……ShardManager::intents()` (serenity-rs#2295)
Configuration menu - View commit details
-
Copy full SHA for f92593e - Browse repository at this point
Copy the full SHA f92593eView commit details -
Configuration menu - View commit details
-
Copy full SHA for f1b9b7f - Browse repository at this point
Copy the full SHA f1b9b7fView commit details -
Fix dispatching of guild scheduled events (serenity-rs#2307)
This renames types related to schedule events back the way they were before commit ea8651, which fixes dispatch as events are serialised/deserialised based on their names.
Configuration menu - View commit details
-
Copy full SHA for 2a58a54 - Browse repository at this point
Copy the full SHA 2a58a54View commit details -
Configuration menu - View commit details
-
Copy full SHA for bc88089 - Browse repository at this point
Copy the full SHA bc88089View commit details -
Make collector API backwards compatible (serenity-rs#2309)
By: - renaming foo_collector back to await_foo and await_foos - adding IntoFuture impl on collector types - and a deprecated `.build()` method that just redirects to `.stream()`
Configuration menu - View commit details
-
Copy full SHA for 4e07936 - Browse repository at this point
Copy the full SHA 4e07936View commit details -
Configuration menu - View commit details
-
Copy full SHA for f422fa2 - Browse repository at this point
Copy the full SHA f422fa2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8b13397 - Browse repository at this point
Copy the full SHA 8b13397View commit details -
Configuration menu - View commit details
-
Copy full SHA for df07d57 - Browse repository at this point
Copy the full SHA df07d57View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0fa84d6 - Browse repository at this point
Copy the full SHA 0fa84d6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e96536 - Browse repository at this point
Copy the full SHA 0e96536View commit details -
Configuration menu - View commit details
-
Copy full SHA for c973bdf - Browse repository at this point
Copy the full SHA c973bdfView commit details -
Alter
serenity::Result
to be aResult<T, E>
alias whereE
is `s……erenity::Error` by default (serenity-rs#2326)
Configuration menu - View commit details
-
Copy full SHA for e81134c - Browse repository at this point
Copy the full SHA e81134cView commit details -
Configuration menu - View commit details
-
Copy full SHA for a5d5b80 - Browse repository at this point
Copy the full SHA a5d5b80View commit details -
Configuration menu - View commit details
-
Copy full SHA for d68c7c1 - Browse repository at this point
Copy the full SHA d68c7c1View commit details -
Implement
Deserialize
for several types used in the `create_compone……nts` builder (serenity-rs#2335)
Configuration menu - View commit details
-
Copy full SHA for d2501b2 - Browse repository at this point
Copy the full SHA d2501b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for f80b62e - Browse repository at this point
Copy the full SHA f80b62eView commit details -
Fix
is_new
flag being invertedThis re-adds the negation that was accidentally removed in [e83c277]. [e83c277]: serenity-rs@e83c277#diff-414def8886b02bb26f69e6e93e08fa35e230e7faf2b37cf1614cdf58fe987a5dL429-R426
Configuration menu - View commit details
-
Copy full SHA for fb7adc8 - Browse repository at this point
Copy the full SHA fb7adc8View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea948e8 - Browse repository at this point
Copy the full SHA ea948e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for e5a4be8 - Browse repository at this point
Copy the full SHA e5a4be8View commit details -
Upgrade dependencies (serenity-rs#2353)
Update Serenity's dependencies to the latest major versions. This requires a breaking change to the signature of `serenity::json::from_str`. This is to ensure the soundness of calling `simd_json::from_str`, which is unsafe, in that it might modify the underlying string such that it no longer contains valid UTF-8. So, if our wrapper function takes ownership of the buffer, it will be dropped at the end of the function, guaranteeing that invalid UTF-8 cannot be used afterward.
Configuration menu - View commit details
-
Copy full SHA for 007a439 - Browse repository at this point
Copy the full SHA 007a439View commit details -
Configuration menu - View commit details
-
Copy full SHA for d91284d - Browse repository at this point
Copy the full SHA d91284dView commit details -
Add support for creating forum posts (serenity-rs#2357)
This adds a new builder `CreateForumPost`, and adds relevant methods `{Http, ChannelId, GuildChannel}::create_forum_post`.
Configuration menu - View commit details
-
Copy full SHA for 8d51294 - Browse repository at this point
Copy the full SHA 8d51294View commit details -
Remove redundant
ChannelId
inCreateStageInstance
builder (sereni……ty-rs#2360) Change the `channel_id` parameter to be required only at execution time. However, since the payload must also include a `channel_id` field, make the field an `Option<ChannelId>` and fill it in at execution time. This also adds support for the `send_start_notification` field. Breaking changes: - Remove `CreateStageInstance::channel_id`. - Remove the `channel_id` parameter of `CreateStageInstance::new`.
Configuration menu - View commit details
-
Copy full SHA for 7ad6dde - Browse repository at this point
Copy the full SHA 7ad6ddeView commit details -
Configuration menu - View commit details
-
Copy full SHA for bf2d347 - Browse repository at this point
Copy the full SHA bf2d347View commit details -
Add
CreateThread::invitable
(serenity-rs#2359)This is only relevant for private threads.
Configuration menu - View commit details
-
Copy full SHA for fa80c84 - Browse repository at this point
Copy the full SHA fa80c84View commit details -
Configuration menu - View commit details
-
Copy full SHA for 386fc01 - Browse repository at this point
Copy the full SHA 386fc01View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1c31f96 - Browse repository at this point
Copy the full SHA 1c31f96View commit details -
Configuration menu - View commit details
-
Copy full SHA for ea1bc6d - Browse repository at this point
Copy the full SHA ea1bc6dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 269c5f5 - Browse repository at this point
Copy the full SHA 269c5f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 04f69ec - Browse repository at this point
Copy the full SHA 04f69ecView commit details -
Re-export
Colour
and itsColor
alias into theserenity::model
m……odule (serenity-rs#2371) This also makes `GatewayIntents::auto_moderation_{configuration, execution}` const.
Configuration menu - View commit details
-
Copy full SHA for 7b775da - Browse repository at this point
Copy the full SHA 7b775daView commit details -
Fix breaking changes (serenity-rs#2356)
- Add back `Default` impl for `PresenceUser` - Add back removed `Cache` methods - Add back `Channel::category`
Configuration menu - View commit details
-
Copy full SHA for 115895c - Browse repository at this point
Copy the full SHA 115895cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 154cfe4 - Browse repository at this point
Copy the full SHA 154cfe4View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdf6005 - Browse repository at this point
Copy the full SHA cdf6005View commit details -
Prevent double slashes with HTTP proxy (serenity-rs#2377)
Fixes serenity-rs#2322 Probably wouldn't have caused because double slashes are treated by HTTP servers as single slashes in my experience. After a bit of back and forth I opted not to use reqwest methods. Parsing the given proxy in `HttpBuilder` into an `Url` directly means the builder method returns `Result` (or panics) which is both ugly. Also, `Url`'s methods yield the scheme and domain both as `&str`, so we would still just have a string in the internal proxy field instead of a type-safe value. So I kept the current simple solution that gets the job done and just added the fix.
Configuration menu - View commit details
-
Copy full SHA for 65a7214 - Browse repository at this point
Copy the full SHA 65a7214View commit details -
Remove
ShardManagerMonitor
and other gateway cleanup (serenity-rs#2372Configuration menu - View commit details
-
Copy full SHA for c09eca4 - Browse repository at this point
Copy the full SHA c09eca4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1e6ed8a - Browse repository at this point
Copy the full SHA 1e6ed8aView commit details -
Configuration menu - View commit details
-
Copy full SHA for f55f388 - Browse repository at this point
Copy the full SHA f55f388View commit details -
Rename
application_command
tocommand
everywhere (serenity-rs#2358)Except for permission names to avoid an inconsistent deviation from Discord's permission specifiers.
Configuration menu - View commit details
-
Copy full SHA for 5b6493a - Browse repository at this point
Copy the full SHA 5b6493aView commit details -
Remove related ID infrastructure (serenity-rs#2384)
It's a really bad way to extract data from an event and it was only used for `EventCollector`, which has been superseded by the strongly typed generic `collector` function, where you can just extract event data straightforwardly with a match instead of unwrapping related IDs.
Configuration menu - View commit details
-
Copy full SHA for e365475 - Browse repository at this point
Copy the full SHA e365475View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdacad9 - Browse repository at this point
Copy the full SHA cdacad9View commit details -
Configuration menu - View commit details
-
Copy full SHA for d530102 - Browse repository at this point
Copy the full SHA d530102View commit details -
Register collectors via shared mutex instead of channel (serenity-rs#…
…2388) Breaking changes: - `ShardMessenger::new` is not `const` anymore - the required argument wasn't obtainable in a const context anyway - `ShardMessenger::new` takes a `&ShardRunner` instead of a `Sender<ShardRunnerMessage>` now - `ShardRunnerMessage::AddCollector` was removed - to add a collector manually, use `ShardMessenger::add_collector` instead
Configuration menu - View commit details
-
Copy full SHA for 27232d8 - Browse repository at this point
Copy the full SHA 27232d8View commit details -
Slightly clean up
ShardRunner
loop (serenity-rs#2387)Breaking changes: - `ShardManager`: - `shard_update` method renamed to `update_shard_latency_and_stage` - `Shard`: - `heartbeat_instants` method removed in favor of the more specific `last_heartbeat_sent` and `last_heartbeat_ack` - `last_heartbeat_sent` and `last_heartbeat_ack` return type changed from `Option<&Instant>` to `Option<Instant>` - `heartbeat_interval` return type changed from `Option<&u64>` to `Option<Duration>` - `check_heartbeat` method renamed to `do_heartbeat`
Configuration menu - View commit details
-
Copy full SHA for adde418 - Browse repository at this point
Copy the full SHA adde418View commit details -
Configuration menu - View commit details
-
Copy full SHA for e9e89dd - Browse repository at this point
Copy the full SHA e9e89ddView commit details -
Implement voice messages (serenity-rs#2392)
No breaking changes. Newly added: - `Attachment` fields: `duration_secs`, `waveform` - `MessageFlags` bitflag: `IS_VOICE_MESSAGE` - `model::Error` variant: `CannotEditVoiceMessage` - `Permissions` bitflag: `SEND_VOICE_MESSAGES` discord/discord-api-docs#6082
Configuration menu - View commit details
-
Copy full SHA for 67ccb09 - Browse repository at this point
Copy the full SHA 67ccb09View commit details -
Configuration menu - View commit details
-
Copy full SHA for 822136c - Browse repository at this point
Copy the full SHA 822136cView commit details -
Configuration menu - View commit details
-
Copy full SHA for a603578 - Browse repository at this point
Copy the full SHA a603578View commit details -
Synchronise model structs/enums (serenity-rs#2393)
* Add Connection::two_way_link * Remove non-existent VoiceServerUpdateEvent::channel_id * Make CurrentUser a type alias to User CurrentUser had a bunch of fields missing, and CurrentUser and User are the same type in Discord docs (it's both just User Object) * Note that MessageApplication is an undocumented subset * Add 3 fields on StageInstance StageInstance::[privacy_level, discoverable_enabled, guild_scheduled_event_id]. Also added StageInstancePrivacyLevel as a new type * Fix copy-paste error in DefaultReaction Discord docs link * Add GuildPreview::stickers * Add Integration::scopes and sort fields * Add Member::flags and new GuildMemberFlags type And sort fields * Add ThreadMember::[member, guild_id] * Add 2 ScheduledEvent fields and a new type Fields: ScheduledEvent::[privacy_level, entity_id] New type: ScheduledEventPrivacyLevel * Add 5 AuditLogs fields and new PartialIntegration type Fields: AuditLogs::[auto_moderation_rules, application_commands, guild_scheduled_events, integrations, threads] * Note for later to rename Rule to AutomodRule * Add ChunkGuildMessage::presences * Add PartialChannel::[thread_metadata, parent_id] * Make FollowedChannel's fields actually public (lol) * Sort Reaction fields * Change GuildUpdateEvent::guild type to Guild * Presence: remove redundant serde-default's and sort fields And unwrap `guild_id` field (`Option<GuildId>` -> `GuildId`) The `#[serde(default)]` were redundant because the fields are required according to Discord docs, and I couldn't find any place in the codebase that relies on them being optional * Remove redundant CurrentUser methods avatar_url, default_avatar_url, face, static_avatar, and tag already have implementations on User (which CurrentUser is now a type alias to) guilds, invite_url, and invite_url_with_oauth2_scopes didn't have much to do with CurrentUser and didn't even access any field of it * Add 2 GuildChannel fields and new type New fields: permissions, default_forum_layout New type: ForumLayoutType * Add MessageReference::fail_if_not_exists * Add 2 Message fields and a new type New fields: position, role_subscription_data New type: RoleSubscriptionData * Add new MessageType's RoleSubscriptionPurchase, InteractionPremiumUpsell, StageStart, StageEnd, StageSpeaker, StageTopic, GuildApplicationPremiumSubscription * Include Discord doc text in ChunkGuildFilter * Remake MessageUpdateEvent By going off Message as the base state, and then commenting out the fields that aren't editable, wrapping the rest in Option, and making the corresponding CacheUpdate implementation * Note in PresenceUser docs that it should base off User * Remosed unused InterimMember * Add Discord docs link for extra Member fields * Add GuildMembersChunkEvent::[not_found, presences] And integrate Discord docs text * Add 5 new InviteCreateEvent fields And integrate Discord docs text New fields: created_at, target_type, target_user, target_application, uses * Add note about Discord schemas to ReactionRemoveEvent * Use Debug derive for VoiceServerUpdateEvent Previously it just reimplemented the derive * Add required permission to GuildAuditLogEntryCreateEvent docs * Sort ReactionRemoveAllEvent fields * Add TypingStartEvent::member and sort fields And integrate Discord doc text * Change UserUpdateEvent::current_user type to User And integrate Discord docs text * Remove non-existent ResumedEvent::trace field * Fix ThreadListSyncEvent::channel_ids field typo * Fix ThreadMembersUpdateEvent::removed_member_ids field typo * Sort GuildScheduledEventUser[Add, Remove]Event fields * Add Activity::created_at And remove redundant #[serde(default)] on the kind/type * Fix PresenceUser Discord docs link * Remove 2 Ready fields, add 2 Removed presences, private_channels, trac Added resume_gateway_url And sorted the fields * Add Invite::scheduled_event * Update InviteGuild * ADDENDUM update InviteGuild * Make InviteStageInstance fields pub * Added 7 new User fields and a new type New fields: system, mfa_enabled, locale, verified, email, flags, premium_type New type: PremiumType And sorted User fields * Remove non-existent VoiceState::token field * Add 4 Webhook fields New fields: application_id, source_guild, source_channel, url And sorted fields * Add Command::nsfw * Add CurrentApplicationInfo::role_connections_verification_url * Add Attachment::description waveform and duration_secs are still missing; they're coming with serenity-rs#2392 * Fix Reaction::member field type * Update TriggerMetadata fields and make them pub * Update Trigger Adds allow_list field to Trigger::Keyword Changes KeywordPreset from tuple variant to struct variant and adds allow_list field Adds Trigger::MentionSpam Removes Trigger::HarmfulLink (doesn't exist anymore in Discord docs, it's presumably deleted) Removes the internal InterimTriggerMetadata in favor of TriggerMetadata (they modeled the same fields, just with negliglible ownership difference). * Fix Integration struct Fixes expire_behavior typo and makes the guild_id optional because it's only sent sometimes * Add more documentation to PartialMember * Add more documentation to ThreadMember * Sort Guild fields and 5 new fields New fields: unavailable, scheduled_events, premium_progress_bar_enabled, max_stage_video_channel_users, icon_hash * Add GuildInfo::features and sort fields * Update PartialGuild by basing off Guild * Add 3 RoleTags fields New fields: subscription_listing_id, available_for_purchase, guild_connections * Add 2 Permissions flags VIEW_CREATOR_MONETIZATION_ANALYTICS and USE_SOUNDBOARD * Update ApplicationFlags flags Incorporated Discord doc text Added APPLICATION_AUTO_MODERATION_RULE_CREATE_BADGE and APPLICATION_COMMAND_BADGE Fixed bitflag integers for VERIFICATION_PENDING_GUILD_LIMIT, EMBEDDED, GATEWAY_MESSAGE_CONTENT, GATEWAY_MESSAGE_CONTENT_LIMITED * Add 2 SystemChannelFlags flags SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATIONS and SUPPRESS_ROLE_SUBSCRIPTION_PURCHASE_NOTIFICATION_REPLIES * Note deliberately omitted `summary` field in CurrentApplicationInfo * Sort BotGateway fields * Add channel field to [Command, Component, Modal]Interaction * Remove InviteTargetType::Normal and fix EmmbeddedApplication typo * Add StickerFormatType::Gif * Improve some docs * Add Scope::RoleConnectionsWrite and fix RelactionshipsRead typo * Add ChannelType::GroupDm Bots don't support group DMs but it's still important to support in serenity for OAuth2 discord/discord-api-docs#426 * Fix SortOrder::CreationData wrong enum value * Add AutoModAction::[FlagToChannel, UserCommunicationDisabled] * Add Action::BlockMessage::custom_message * Update Discord status page related schemas * Add some Discord docs link (no field changes required) * Update SelectMenu and SelectMenuOption Added Discord docs links Added SelectMenu::[channel_types, disabled] Removed SelectMenu::values (this was from the time Discord accidentally deployed select menu support in modals. But they yanked it, and it wasn't documented anyways) * Update InputText It was completely out-of-date. CreateInputText duplicated all of its fields, and only CreateInputText was kept up-to-date. I made CreateInputText use InputText internally now, to keep up-to-date and not have duplicated fields Added InputText::{style, label, min_length, max_length, required, placeholder}. Changed InputText::value type from String to Option<String> - that's what it says in the Discord docs, and the field needs to be optional anyways now to be usable within CreateInputText * Fix three wrong field types marked by TODOs * Make MessageUpdateEvent's update code available publically This is useful for e.g. poise, which previously had to reimplement it https://github.com/serenity-rs/poise/blob/77e4d3a4897657c91c743f5b45a5d8975b0a778d/src/track_edits.rs#L7-L48
Configuration menu - View commit details
-
Copy full SHA for 721ebcb - Browse repository at this point
Copy the full SHA 721ebcbView commit details -
Configuration menu - View commit details
-
Copy full SHA for dd1571b - Browse repository at this point
Copy the full SHA dd1571bView commit details -
Configuration menu - View commit details
-
Copy full SHA for a1122d3 - Browse repository at this point
Copy the full SHA a1122d3View commit details -
Fix
missing field "waveform"
error (serenity-rs#2402)This was overlooked due to an annoying serde-derive footgun: serde-rs/serde#2249 (comment)
Configuration menu - View commit details
-
Copy full SHA for 5a20918 - Browse repository at this point
Copy the full SHA 5a20918View commit details -
This moves to a new toolchain action, uses a new caching action and fixes the Windows CI failing.
Configuration menu - View commit details
-
Copy full SHA for 47674d9 - Browse repository at this point
Copy the full SHA 47674d9View commit details -
Fix shutdown (serenity-rs#2400)
Previous execution path of ShardManager::shutdown: ``` ShardManager::shutdown() sends ShardQueuerMessage::ShutdownShard to ShardQueuer::run() calls ShardQueuer::shutdown() sends ShardRunnerMessage::Shutdown to ShardRunner::recv() calls ShardRunner::handle_rx_value() calls ShardRunner::checked_shutdown() calls ShardManager::shutdown_finished() sends ACK to ShardManager::shutdown(), which can now finally return ``` New execution path: ``` ShardManager::shutdown() calls Shard::shutdown() ``` To do that, ShardManager needed direct access to the Shard instance (instead of only sending messages to ShardRunner). So I added a `shard: Arc<Mutex<Shard>>` field to `ShardRunnerInfo` (`ShardManager` contains a `runners: Arc<Mutex<HashMap<ShardId, ShardRunnerInfo>>>`). This also meant ShardRunner couldn't own the Shard directly anymore but needed to store an `Arc<Mutex<Shard>>` too and lock it when needed. This makes for a bit of an ugly diff in shard_runner.rs but oh well. After this, I removed shutdown related functions from ShardRunner and ShardQueuer (and the corresponding enum variants from ShardRunnerMessage and ShardQueuerMessage). Instead there's now just a single simple `shutdown` function on `Shard`, which is called directly by `ShardManager`.
Configuration menu - View commit details
-
Copy full SHA for f63e1a4 - Browse repository at this point
Copy the full SHA f63e1a4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7edba3b - Browse repository at this point
Copy the full SHA 7edba3bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c717aba - Browse repository at this point
Copy the full SHA c717abaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7dfb60d - Browse repository at this point
Copy the full SHA 7dfb60dView commit details -
Move
CreateQuickModal
toutils
(serenity-rs#2374)All other builder types in that module belong to an HTTP request and clearly represent that request's fields as per Discord documentation. `CreateQuickModal` doesn't; it's an arbitrary abstraction on top of multiple HTTP requests (and gateway events, violating the pattern that the builder module doesn't have anything to do with gateway). This kind of feature fits better in the `utils` module. This also opens the possibility to add `serde::Serialize + serde::Deserialize` bounds to the `Builder` trait (cc serenity-rs#2337).
Configuration menu - View commit details
-
Copy full SHA for 74d790f - Browse repository at this point
Copy the full SHA 74d790fView commit details -
Revert "Implement
Deserialize
for several types used in the `create……_components` builder (serenity-rs#2335)" (serenity-rs#2413) This reverts commit 851ddc4. The decision to add `Deserialize` impls for all builders has been pushed back to be made only after the 0.12 release. Considering this commit was a partial implementation (only for `CreateComponents`), keeping it would be inconsistent.
Configuration menu - View commit details
-
Copy full SHA for c890301 - Browse repository at this point
Copy the full SHA c890301View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7268c75 - Browse repository at this point
Copy the full SHA 7268c75View commit details -
Configuration menu - View commit details
-
Copy full SHA for 74ef227 - Browse repository at this point
Copy the full SHA 74ef227View commit details -
Change
CurrentUser
to a newtype aroundUser
. (serenity-rs#2418)This removes the unintentionally-exposed `User::edit`, which was confusing. The `edit` function can now only be called on `CurrentUser`, which upholds the requirement that a user can only edit their own profile.
Configuration menu - View commit details
-
Copy full SHA for c6fcf1d - Browse repository at this point
Copy the full SHA c6fcf1dView commit details -
Do not feature gate
MessageUpdateEvent::apply_to_message
under `cac……he` (serenity-rs#2422) This is used in poise and it should be useful even when `cache` is disabled.
Configuration menu - View commit details
-
Copy full SHA for 579bf82 - Browse repository at this point
Copy the full SHA 579bf82View commit details -
Remove
FromStrAndCache
andStrExt
(serenity-rs#2424)`FromStrAndCache` is like `ArgumentConvert` but worse (was only implemented for `Channel` and `Role`, supported only cache retrieval and no on-demand async requests, and it had no access to the channel ID and guild ID it was called in). `StrExt` was a simple extension trait with a single `parse_cached()` method that called out to `FromStrAndCache`.
Configuration menu - View commit details
-
Copy full SHA for bb433c0 - Browse repository at this point
Copy the full SHA bb433c0View commit details -
Make
InputText::{label, style}
optional (serenity-rs#2423)Discord says they are required, implied for both send and receive direction, but they're only required for sending. When receiving, they are apparently missing. discord/discord-api-docs#6141
Configuration menu - View commit details
-
Copy full SHA for 41f1231 - Browse repository at this point
Copy the full SHA 41f1231View commit details -
Fix caching of updates to channels and clean up permission calculatio…
…n a bit (serenity-rs#2428) A few things: - Rewrite `user_permissions_in` - Change `ModelError::InvalidPermissions` fields from `(Permissions)` to `{ required: Permissions, present: Permissions }` - Deprecate `role_permissions_in`/`permissions_for_role` - Change `has_perms` to `require_perms` and reduce boilerplate - Implement `member_permissions` in terms of `_user_permissions_in` (de-duplicate permission calculation code)
Configuration menu - View commit details
-
Copy full SHA for ee6aef4 - Browse repository at this point
Copy the full SHA ee6aef4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 89c7c6f - Browse repository at this point
Copy the full SHA 89c7c6fView commit details -
Sync builders with Discord API (serenity-rs#2425)
* Add a bunch of CreateChannel fields * Add a bunch of EditChannel fields * Make CreateEmbed{Author, Footer} into newtypes * Add CreateCommand::nsfw and sort fields * CreateInteractionResponseFollowup Sort fields and remove username and avatar_url because those are only supported in webhooks * Make EditInteractionResponse newtype over EditWebhookMessage Replaced EditWebhookMessage's methods with EditInteractionResponse's ones (they function the same) and make EditInteractionResponse delegate * Make AutocompleteChoice alias to CommandOptionChoice They're same according to Discord * Add CreateMessage::nonce * Sort CreateScheduledEvent fields * Add CreateStageInstance::privacy_level * CreateSticker: remove optional fields from constructor * Make CreateGuildWelcomeChannel newtype * Add EditGuild::premium_progress_bar_enabled * Add EditMember::flags * Add EditScheduledEvent::privacy_level * Add EditStageInstance::privacy_level * Add EditThread::{rate_limit_per_user, flags} * Add ExecuteWebhook::thread_name * Fix WebhookIncomming misspelling
Configuration menu - View commit details
-
Copy full SHA for f822b90 - Browse repository at this point
Copy the full SHA f822b90View commit details -
Clean up
serenity::model::prelude
(serenity-rs#2429)Cleans up the model prelude by removing some re-exports, namely: - Don't re-export all the submodules of `model` - Don't re-export 3rd party types that are only used internally - Define the `Color` type alias in `model::colour` - Clean up collisions around `automod::EventType` by not glob-exporting from `guild::automod::*` Note that `guild::audit_log` and `guild::automod` still end up getting re-exported via `guild::*`, but I'm not sure how to address that without manually re-exporting each type from `guild`, which would be annoying.
Configuration menu - View commit details
-
Copy full SHA for df54f98 - Browse repository at this point
Copy the full SHA df54f98View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0b4f7fd - Browse repository at this point
Copy the full SHA 0b4f7fdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 8958cce - Browse repository at this point
Copy the full SHA 8958cceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 80b445a - Browse repository at this point
Copy the full SHA 80b445aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6d17691 - Browse repository at this point
Copy the full SHA 6d17691View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa948cb - Browse repository at this point
Copy the full SHA aa948cbView commit details -
Include all
Message
fields inMessageUpdateEvent
(serenity-rs#2443)I previously had commented some out in https://github.com/serenity-rs/serenity/pull/2393/files#diff-ae030146ad938ad8598138dec5f70cd4a4d3df75907295fc933f3d281a54430dL423-L448 because they cannot change in message update events. But unbeknownst to me, Discord doesn't send only the changed fields, but it sends some fields even when they didn't change. The safer thing is to have just every single field of `Message`'s fields also in `MessageUpdateEvent`.
Configuration menu - View commit details
-
Copy full SHA for b4121b4 - Browse repository at this point
Copy the full SHA b4121b4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 7761a2f - Browse repository at this point
Copy the full SHA 7761a2fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 296886b - Browse repository at this point
Copy the full SHA 296886bView commit details
Commits on Jun 1, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 6f256e7 - Browse repository at this point
Copy the full SHA 6f256e7View commit details
Commits on Jun 3, 2023
-
Configuration menu - View commit details
-
Copy full SHA for d3dab34 - Browse repository at this point
Copy the full SHA d3dab34View commit details -
Configuration menu - View commit details
-
Copy full SHA for 14e65e3 - Browse repository at this point
Copy the full SHA 14e65e3View commit details
Commits on Jun 5, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 82359c3 - Browse repository at this point
Copy the full SHA 82359c3View commit details
Commits on Jun 12, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 19166de - Browse repository at this point
Copy the full SHA 19166deView commit details -
Configuration menu - View commit details
-
Copy full SHA for 528ca91 - Browse repository at this point
Copy the full SHA 528ca91View commit details -
Configuration menu - View commit details
-
Copy full SHA for bed34b6 - Browse repository at this point
Copy the full SHA bed34b6View commit details
Commits on Jun 13, 2023
-
Add dedicated type for storing image hashes (serenity-rs#2462)
This converts the hex representation that is used across the API into a much smaller (56 vs 17) type which improves type safety, saves space, and reduces heap allocations (only during a clone).
Configuration menu - View commit details
-
Copy full SHA for 9ea3660 - Browse repository at this point
Copy the full SHA 9ea3660View commit details -
Implement passing
thread_id
forWebhook::edit_message
, `Webhook::……delete_message`, and `Webhook::get_message`. (serenity-rs#2465)
Configuration menu - View commit details
-
Copy full SHA for 7f31a63 - Browse repository at this point
Copy the full SHA 7f31a63View commit details
Commits on Jun 16, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 1e4797a - Browse repository at this point
Copy the full SHA 1e4797aView commit details -
Optimise size of model structs (serenity-rs#2464)
This commit reduces the sizes of many integer fields, or converts data to enums when appropriate: - Reduce the size of rate_limit fields - Reduce the size of channel position - Reduce size of role position - Use an enum for `auto_archive_duration` - `DefaultReaction` -> `ForumEmoji` - Swap `AfkTimeout` for enum - Reduce `Sticker::sort_value` to u16 - Reduce size of `min`/`max_values` - Reduce size of `max_uses` and `max_age` - Reduce size of `ActivityParty::size` - Reduce size of `Ready::version` - Reduce `InputText::min/max_length` - Reduce `size`/`width`/`height` -- Discord filesize limits mean we won't hit the size limit, and therefore won't hit height/width limits, plus discord rejects 0 sized files so we can use `NonZero*` - Reduce size of `mention_total_limit` - Reduce size of `RoleSubscriptionData::total_months_subscribed` -- This gives us ~5000 years of role subscription - Fix Change sizes
Configuration menu - View commit details
-
Copy full SHA for 2bb56ba - Browse repository at this point
Copy the full SHA 2bb56baView commit details
Commits on Jun 23, 2023
-
Skip parsing attributes from rustfmt or clippy (serenity-rs#2473)
This alters attribute parse code in `command_attr` to not parse attributes like `#[rustfmt::skip]` as its own, and instead should emit them in the output of the macros.
Configuration menu - View commit details
-
Copy full SHA for 16bfbe2 - Browse repository at this point
Copy the full SHA 16bfbe2View commit details
Commits on Jun 24, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 755f07c - Browse repository at this point
Copy the full SHA 755f07cView commit details -
Deserialize to
arrayvec::ArrayString
instead ofString
for `Image……Hash` (serenity-rs#2467) This saves an allocation on creation of `ImageHash`.
Configuration menu - View commit details
-
Copy full SHA for 4145d84 - Browse repository at this point
Copy the full SHA 4145d84View commit details
Commits on Jun 25, 2023
-
Change
CreateCommand::{min_length, max_length}
to takemut self
(s……erenity-rs#2477) Fixes serenity-rs#2476
Configuration menu - View commit details
-
Copy full SHA for 56867af - Browse repository at this point
Copy the full SHA 56867afView commit details
Commits on Jun 27, 2023
-
Use regular integer types for sizes/dimensions of images and videos (s…
…erenity-rs#2472) Signed-off-by: Miezhiko <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for 0c12aa8 - Browse repository at this point
Copy the full SHA 0c12aa8View commit details
Commits on Jul 6, 2023
-
Fix broken deserialization when
Webhook::token
(and subsequently `W……ebhook::url`) are None (serenity-rs#2484)
Configuration menu - View commit details
-
Copy full SHA for c8c39cf - Browse repository at this point
Copy the full SHA c8c39cfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 77b9e33 - Browse repository at this point
Copy the full SHA 77b9e33View commit details -
Configuration menu - View commit details
-
Copy full SHA for bb95c39 - Browse repository at this point
Copy the full SHA bb95c39View commit details -
Revert "Fix shutdown (serenity-rs#2400)"
This reverts commit f63e1a4.
Configuration menu - View commit details
-
Copy full SHA for c6fe6f6 - Browse repository at this point
Copy the full SHA c6fe6f6View commit details
Commits on Jul 11, 2023
-
Configuration menu - View commit details
-
Copy full SHA for e0046c4 - Browse repository at this point
Copy the full SHA e0046c4View commit details
Commits on Jul 19, 2023
-
Configuration menu - View commit details
-
Copy full SHA for 00eef3a - Browse repository at this point
Copy the full SHA 00eef3aView commit details
Commits on Jul 21, 2023
-
Fix compilation with just the
http
andbuilder
features enabled (s……erenity-rs#2496) Untangles dependencies on the `model` and `utils` feature from the `http` feature, allowing compilation without them.
Configuration menu - View commit details
-
Copy full SHA for 6ac57a0 - Browse repository at this point
Copy the full SHA 6ac57a0View commit details
Commits on Aug 9, 2023
-
Add support for setting custom activity status (serenity-rs#2503)
This allows custom statuses to be used. See: discord/discord-api-docs#6345
Configuration menu - View commit details
-
Copy full SHA for 4bb5d95 - Browse repository at this point
Copy the full SHA 4bb5d95View commit details
Commits on Aug 16, 2023
-
Initial prototype SQLx encode/decode support
Currently only supports IDs, might expand to guilds/users/etc as a utility in the future, depending on PR feedback.
Configuration menu - View commit details
-
Copy full SHA for e1f2f3b - Browse repository at this point
Copy the full SHA e1f2f3bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 29e8ff0 - Browse repository at this point
Copy the full SHA 29e8ff0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 6cdf0c6 - Browse repository at this point
Copy the full SHA 6cdf0c6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a478a3 - Browse repository at this point
Copy the full SHA 3a478a3View commit details -
Configuration menu - View commit details
-
Copy full SHA for ebd8a30 - Browse repository at this point
Copy the full SHA ebd8a30View commit details