This adds a progress indicator to the three job status endpoints.
There's a function to calculate progress, which is mostly left as a stub
for now.
In the future we may even want to do dynamically updating averages.
Bumps [diesel](https://github.com/diesel-rs/diesel) from 2.1.4 to 2.2.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/diesel-rs/diesel/blob/v2.2.1/CHANGELOG.md">diesel's
changelog</a>.</em></p>
<blockquote>
<h2>[2.2.1] 2024-06-12</h2>
<h2>Fixed</h2>
<ul>
<li>Fixed using <code>#[dsl::auto_type]</code> with functions that
accept reference arguments</li>
<li>Fixed using <code>#[derive(Queryable)]</code> with structs that use
a type named <code>Row</code> as field type</li>
<li>Fixed a regression that prevented using <code>mysqlclient-sys</code>
0.2.x with diesel 2.2</li>
<li>Fixed connecting to postgres database using the scram-sha-256
authentication method on windows while using the bundled postgres
builds</li>
<li>Improved the error messages in diesel-cli for cases where a
file/folder was not found</li>
<li>Fixed several version detection bugs in mysqlclient-sys to use
pre-generated bindings in more situations</li>
</ul>
<h2>[2.2.0] 2024-05-31</h2>
<h3>Added</h3>
<ul>
<li>Support <code>[print_schema] except_custom_type_definitions =
["Vector"]</code>. If a <code>custom type</code> matches one
element on the list it's skipped.</li>
<li>Added automatic usage of all sqlite <code>rowid</code> aliases when
no explicit primary key is defined for <code>print-schema</code></li>
<li>Added a <code>#[dsl::auto_type]</code> attribute macro, allowing to
infer type of query fragment functions</li>
<li>Added the same type inference on <code>Selectable</code> derives,
which allows skipping specifying <code>select_expression_type</code>
most of the time, in turn enabling most queries to be written using just
a <code>Selectable</code> derive.</li>
<li>Added an optional <code>#[diesel(skip_insertion)]</code> field
attribute to the <code>Insertable</code> derive macro, allowing fields
which map to generated columns to be skipped during insertion.</li>
<li>Support for connection instrumentation. This allows to inspect any
query run by your application</li>
<li>Logging in diesel-cli</li>
<li>Support for libsqlite3-sys 0.28</li>
<li>Add <code>sqlite-integer-primary-key-is-bigint</code> configuration
option, usable with SQLite 3.37 or above, allowing to use
<code>BigInt</code> for <code>INTEGER PRIMARY KEY</code> columns in
SQLite for tables without the <code>WITHOUT ROWID</code> attribute (<a
href="https://www.sqlite.org/lang_createtable.html#rowid">SQLite
doc</a>).</li>
<li>Support for multiple <code>print_schema</code> entry in
<code>diesel.toml</code> (e.g. <code>[print_schema.user1]</code>), which
allows generating multiple schema.rs files</li>
<li>Add support for <code>COPY TO</code> and <code>COPY FROM</code>
statements</li>
<li>Add support for mapping <code>chrono::Duration</code> to
postgresql's <code>INTERVAL</code> sql type</li>
<li>Added <code>serialize_database_to_buffer</code> and
<code>deserialize_readonly_database_from_buffer</code> methods in
<code>SqliteConnection</code> to support serialization/deserialization
of SQLite databases to and from byte buffers.</li>
<li>Added <code>SerializedDatabase</code> wrapper type for a serialized
database that is dynamically allocated by calling
<code>serialize_database_to_buffer</code>. This RAII wrapper deallocates
the memory when it goes out of scope with
<code>sqlite3_free</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The minimal officially supported rustc version is now 1.78.0</li>
<li>Deprecated <code>sql_function!</code> in favour of
<code>define_sql_function!</code> which provides compatibility with
<code>#[dsl::auto_type]</code></li>
<li>Deserialization error messages now contain information about the
field that failed to deserialize</li>
</ul>
<h2>[2.1.6] 2024-04-19</h2>
<ul>
<li>Fix using <code>BoxableExpression</code> with having clauses</li>
<li>Fix using numeric expressions with aliased fields</li>
<li>Minor documentation fixes</li>
</ul>
<h2>[2.1.5] 2024-03-15</h2>
<ul>
<li>Fix <code>impl SqlOrd</code> postgres > postgres_backend feature
flag.</li>
<li>Allow <code>Queryable</code> to be used with multiple table
names.</li>
<li>Fix an inconsistent unit test</li>
<li>Fix a clippy lint</li>
<li>Fix ./bin/test feature flag calls.</li>
<li>Update <code>libsqlite3-sys</code> to allow version 0.28 as
well</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/diesel-rs/diesel/commit/08be4f21e500fce5fff0b4b19ebab208ff26de9d"><code>08be4f2</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4071">#4071</a>
from weiznich/prepare/2.2.1</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/8c47c6f867f524a1878070ce8f5faa954501eed7"><code>8c47c6f</code></a>
Bump mysqlclient-sys to 0.4</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/96a822a8950c2dbf3b90c2c663eb9351bece3228"><code>96a822a</code></a>
Prepare a 2.2.1 release</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/1ae7a0aed78522bb45aa886cf7bd65737bc95545"><code>1ae7a0a</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4057">#4057</a>
from weiznich/fix/4055</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/4d5fb4fd96614d19344f7fabad14e140565e2418"><code>4d5fb4f</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4054">#4054</a>
from weiznich/fix/auto_type_lifetimes</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/1062c2732fad9c88f3809089866d31addac8139f"><code>1062c27</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4063">#4063</a>
from sugar700/allow-type-name-conflicting-with-trait...</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/5c870f7c60229e700cf0a3339acb58f0d4dd21c5"><code>5c870f7</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4067">#4067</a>
from weiznich/fix/cli_diff_schema_default_schema</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/48ccc7804c7e0399bfcb6df97ee71e35820f20b5"><code>48ccc78</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4064">#4064</a>
from weiznich/fix/mysqlclient_regression_with_old_ve...</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/f6da5f5311d1afe7fdca6d2b5730332eda024c48"><code>f6da5f5</code></a>
Merge pull request <a
href="https://redirect.github.com/diesel-rs/diesel/issues/4065">#4065</a>
from weiznich/fix/scram</li>
<li><a
href="https://github.com/diesel-rs/diesel/commit/197f06d8d1c0f66774b1ab24c5db93d28962e07a"><code>197f06d</code></a>
Fix the includes in all <code>Cargo.toml</code> files</li>
<li>Additional commits viewable in <a
href="https://github.com/diesel-rs/diesel/compare/v2.1.4...v2.2.1">compare
view</a></li>
</ul>
</details>
<br />
[](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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [actix-http](https://github.com/actix/actix-web) from 3.4.0 to
3.7.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/actix/actix-web/releases">actix-http's
releases</a>.</em></p>
<blockquote>
<h2>actix-http: v3.7.0</h2>
<h3>Added</h3>
<ul>
<li>Add <code>rustls-0_23</code> crate feature</li>
<li>Add <code>{h1::H1Service, h2::H2Service,
HttpService}::rustls_0_23()</code> and
<code>HttpService::rustls_0_23_with_config()</code> service
constructors.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Update <code>brotli</code> dependency to <code>6</code>.</li>
<li>Minimum supported Rust version (MSRV) is now 1.72.</li>
</ul>
<h2>actix-http: v3.6.0</h2>
<h3>Added</h3>
<ul>
<li>Add <code>rustls-0_22</code> crate feature.</li>
<li>Add <code>{h1::H1Service, h2::H2Service,
HttpService}::rustls_0_22()</code> and
<code>HttpService::rustls_0_22_with_config()</code> service
constructors.</li>
<li>Implement <code>From<&HeaderMap></code> for
<code>http::HeaderMap</code>.</li>
</ul>
<h2>actix-http: v3.5.1</h2>
<h3>Fixed</h3>
<ul>
<li>Prevent hang when returning zero-sized response bodies through
compression layer.</li>
</ul>
<h2>actix-http: v3.5.0</h2>
<h3>Added</h3>
<ul>
<li>Implement <code>From<HeaderMap></code> for
<code>http::HeaderMap</code>.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Updated <code>zstd</code> dependency to <code>0.13</code>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Prevent compression of zero-sized response bodies.</li>
</ul>
<h2>awc: v3.5.0</h2>
<ul>
<li>Add <code>rustls-0_23</code>, <code>rustls-0_23-webpki-roots</code>,
and <code>rustls-0_23-native-roots</code> crate features.</li>
<li>Add <code>awc::Connector::rustls_0_23()</code> constructor.</li>
<li>Fix <code>rustls-0_22-native-roots</code> root store lookup</li>
<li>Update <code>brotli</code> dependency to <code>6</code>.</li>
<li>Minimum supported Rust version (MSRV) is now 1.72.</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/actix/actix-web/commit/acb740584c759499000cc19d322d4f0293389631"><code>acb7405</code></a>
fix: correct aws rustls v0.23 feature gating</li>
<li><a
href="https://github.com/actix/actix-web/commit/9a437fe8357a74d4ab04e6df1c431d499a334413"><code>9a437fe</code></a>
chore(awc): prepare release 3.5.0</li>
<li><a
href="https://github.com/actix/actix-web/commit/59115bca49bbbb539c6774d613165f424df29a49"><code>59115bc</code></a>
chore(actix-web): prepare release 4.6.0</li>
<li><a
href="https://github.com/actix/actix-web/commit/fe7268487aa89fe92fac92a547c9fd23dd37508e"><code>fe72684</code></a>
chore(actix-http): prepare release 3.7.0</li>
<li><a
href="https://github.com/actix/actix-web/commit/e8262da1381c24a265747ac604e45aee635e00b8"><code>e8262da</code></a>
chore: update rcgen to 0.13</li>
<li><a
href="https://github.com/actix/actix-web/commit/18e02b83d5e160d3fe7e051104eea700f8eaa3af"><code>18e02b8</code></a>
docs: fix middleware docs warning</li>
<li><a
href="https://github.com/actix/actix-web/commit/2e63ff5928abc0704cadf330bcbf630162a37fa8"><code>2e63ff5</code></a>
actix-web: Add rustls 0.23 (<a
href="https://redirect.github.com/actix/actix-web/issues/3363">#3363</a>)</li>
<li><a
href="https://github.com/actix/actix-web/commit/48d7adb7bfee8e373e31e9fe6c78a7da4cec5bec"><code>48d7adb</code></a>
Documentation for actix multipart (<a
href="https://redirect.github.com/actix/actix-web/issues/3344">#3344</a>)</li>
<li><a
href="https://github.com/actix/actix-web/commit/0a2788d6627ed26d3fec560474b1c7f9febd78db"><code>0a2788d</code></a>
actix-test: re-export types from awc (<a
href="https://redirect.github.com/actix/actix-web/issues/3349">#3349</a>)</li>
<li><a
href="https://github.com/actix/actix-web/commit/2d035c066ea60e9113ce9a710728a59ad03a0066"><code>2d035c0</code></a>
actix-http: Add rustls 0.23 (<a
href="https://redirect.github.com/actix/actix-web/issues/3361">#3361</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/actix/actix-web/compare/awc-v3.4.0...http-v3.7.0">compare
view</a></li>
</ul>
</details>
<br />
[](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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [bytemuck](https://github.com/Lokathor/bytemuck) from 1.14.0 to
1.16.0.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/Lokathor/bytemuck/blob/main/changelog.md">bytemuck's
changelog</a>.</em></p>
<blockquote>
<h2>1.16.0</h2>
<ul>
<li>Adds a <code>const_zeroed</code> feature (MSRV 1.75) which puts a
<code>zeroed</code> fn at the crate root.
This is just like the <code>Zeroable::zeroed</code> method, but as a
<code>const fn</code>.</li>
</ul>
<h2>1.15.0</h2>
<p>This primarily relaxes the bounds on a <code>From</code> impl.</p>
<p>Previously:</p>
<blockquote>
<p><code>impl<T: NoUninit> From<Box<T>> for
BoxBytes</code></p>
</blockquote>
<p>Now:</p>
<blockquote>
<p><code>impl<T: ?Sized + sealed::BoxBytesOf>
From<Box<T>> for BoxBytes</code></p>
</blockquote>
<p>All related functions and methods are similarly updated.</p>
<p>We believe this to be backwards compatible with all previous uses,
and now <code>BoxBytes</code> can be converted to/from more types than
before.</p>
<h2>1.14.3</h2>
<ul>
<li>The new std simd nightly features are apparently arch-specific.
This adjusts the feature activation to be x86/ x86_64 only.</li>
</ul>
<h2>1.14.2</h2>
<ul>
<li>Changes the name of the Nightly feature activated by the crate's
<code>nightly_stdsimd</code> feature. This is needed as of
(approximately) Nightly
2024-02-06 and later, because the Nightly feature was changed.</li>
</ul>
<h2>1.14.1</h2>
<ul>
<li>docs clarifications.</li>
</ul>
<h2>1.14</h2>
<ul>
<li><code>write_zeroes</code> and <code>fill_zeroes</code> functions:
Writes (to one) or fills (a slice)
zero bytes to all bytes covered by the provided reference. If your type
has
padding, this will even zero out the padding bytes.</li>
<li><code>align_offset</code> feature: causes pointer alignment checks
to use the
<code>align_offset</code> pointer method rather than as-casting the
pointer to <code>usize</code>.
This <em>may</em> improve codegen, if the compiler would have otherwise
thought that
the pointer address escaped. No formal benchmarks have been done either
way.</li>
<li><code>must_cast</code> feature: Adds <code>must_*</code> family of
functions. These functions will
fail to compile if the cast requested can't be statically known to
succeed.
The error messages can be kinda bad when this happens, but eliminating
the
possibility of a runtime error might be worth it to you.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/4c46b919e2cccae67b3ef2648b1f746d0638afb3"><code>4c46b91</code></a>
chore: Release bytemuck version 1.16.0</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/5287f8cf6da8d488b39015daea3e1164d721c76c"><code>5287f8c</code></a>
we can put out 1.16 without waiting for more</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/a41510f30350c17dcc82971af873dde95da8f67b"><code>a41510f</code></a>
put const_zeroed into the changelog</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/9319f4858b98a7ce1cfb888450ffe08e9cdb43c0"><code>9319f48</code></a>
make clippy be quiet about useless nonsense.</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/b39b6813a7253a4411d77213fc13c004b0a9a735"><code>b39b681</code></a>
fix up docs warnings</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/99e95084a613b552d1a828b2603e71e46d46208e"><code>99e9508</code></a>
support const zeroed() (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/240">#240</a>)</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/7ef8801cfff71abab08b9a9a5425d5538e64a3da"><code>7ef8801</code></a>
Add documentation to generated public items (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/236">#236</a>)</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/eeb6e9dd5313e46770ad300e0ee0a3a6c2121b73"><code>eeb6e9d</code></a>
Update TransparentWrapper asserts (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/232">#232</a>)</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/0c821ce9d54ef851bd932534544f329de454a25c"><code>0c821ce</code></a>
Fix miri CI (<a
href="https://redirect.github.com/Lokathor/bytemuck/issues/231">#231</a>)</li>
<li><a
href="https://github.com/Lokathor/bytemuck/commit/4d2fc16208e55db8e231a6f0bf5ea4b928579502"><code>4d2fc16</code></a>
chore: Release bytemuck version 1.15.0</li>
<li>Additional commits viewable in <a
href="https://github.com/Lokathor/bytemuck/compare/v1.14.0...v1.16.0">compare
view</a></li>
</ul>
</details>
<br />
[](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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [image](https://github.com/image-rs/image) from 0.24.7 to 0.25.1.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/image-rs/image/blob/main/CHANGES.md">image's
changelog</a>.</em></p>
<blockquote>
<h3>Version 0.25.1</h3>
<p>Bug fixes:</p>
<ul>
<li>Fixed corrupt JPEG output when attempting to encode images
containing an alpha
channel.</li>
<li>Only accept ".ff" file extension for farbfeld images.</li>
<li>Correct farbfeld feature flag for
<code>ImageFormat::{reading_enabled, writing_enabled}</code>.</li>
<li>Disable strict mode for JPEG decoder.</li>
<li>Add nasm feature to optionally enable faster AVIF encoding.</li>
</ul>
<h3>Version 0.25.0</h3>
<p>Breaking changes:</p>
<ul>
<li>Added <code>BufRead</code> + <code>Seek</code> bound on many
decoders.</li>
<li>Use <code>ExtendedColorType</code> instead of <code>ColorType</code>
when encoding.</li>
<li>Removed <code>ImageOutputFormat</code>,
<code>GenericImageView::bounds</code>, and several other
deprecated items.</li>
<li>Removed incremental decoding support and changed
<code>ImageDecoder</code> so the trait
is object safe.</li>
<li>Pixel types are now <code>repr(transparent)</code> rather than
<code>repr(C)</code>.</li>
<li>Made color_quant dependency optional.</li>
<li>Renamed some feature flags.</li>
</ul>
<p>Structural changes:</p>
<ul>
<li>Increased MSRV to 1.67.1</li>
</ul>
<p>Codec changes:</p>
<ul>
<li>Switched to image-webp for WebP encoding.</li>
<li>Switched to zune-jpeg for JPEG decoding.</li>
<li>Made the HDR decoder produce f32 images.</li>
<li>Removed DXT encoding and decoding support.</li>
</ul>
<h3>Version 0.24.9</h3>
<p>Structural changes:</p>
<ul>
<li>Relicense to MIT OR Apache-2.0</li>
<li>Increase MSRV 1.63.0</li>
</ul>
<p>New features:</p>
<ul>
<li>Support limits in PNG animation decoding.</li>
<li>Added offsets to SubImage to compensate for the now-deprecated
bounds call
from GenericImageView.</li>
</ul>
<p>Bug fixes:</p>
<ul>
<li>Correct limit tests for TIFF.</li>
<li>Avoid overflow in gif::Decoder::buffer_size.</li>
<li>Return error instead of using asssertion for Avif decoder
unsupported or
invalid bit depth.</li>
</ul>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/image-rs/image/commit/b7617037c8e05eb538c55799622855db37c26d3b"><code>b761703</code></a>
Release 0.25.1 (<a
href="https://redirect.github.com/image-rs/image/issues/2187">#2187</a>)</li>
<li><a
href="https://github.com/image-rs/image/commit/318ed0ab294d06060f74d3d843ef493bcb044476"><code>318ed0a</code></a>
Fix error string for unsupported color type (<a
href="https://redirect.github.com/image-rs/image/issues/2191">#2191</a>)</li>
<li><a
href="https://github.com/image-rs/image/commit/4594c80b3626076af128b7a853c8e5c5187f7a64"><code>4594c80</code></a>
Only accept .ff as path extension for Farbfeld (<a
href="https://redirect.github.com/image-rs/image/issues/2181">#2181</a>)</li>
<li><a
href="https://github.com/image-rs/image/commit/5c3d3db0d71970566ee15200ffb7141d1e729ea4"><code>5c3d3db</code></a>
Disable strict mode for JPEG decoder (<a
href="https://redirect.github.com/image-rs/image/issues/2183">#2183</a>)</li>
<li><a
href="https://github.com/image-rs/image/commit/73c7bfe8e26cef3df929fad76297f653d1c8decf"><code>73c7bfe</code></a>
fix: Correct the Farbfeld feature flag for
ImageFormat::{reading_enabled, wri...</li>
<li><a
href="https://github.com/image-rs/image/commit/d407e366e7c080d3757f83c4e120be7f9444b8e1"><code>d407e36</code></a>
Add nasm to optionally enable faster AVIF encoding</li>
<li><a
href="https://github.com/image-rs/image/commit/87cbef72bc2b07c67540baa6166ddab05bee2a45"><code>87cbef7</code></a>
Remove lingering references to ImageOutputFormat (<a
href="https://redirect.github.com/image-rs/image/issues/2176">#2176</a>)</li>
<li><a
href="https://github.com/image-rs/image/commit/c193acbf7b745b071f5617e269f0955ee97c25d3"><code>c193acb</code></a>
fix rgba8 image jpeg encode bug (<a
href="https://redirect.github.com/image-rs/image/issues/2169">#2169</a>)</li>
<li><a
href="https://github.com/image-rs/image/commit/fbd3f3e7cd0b327f71875cafc4f7012e929067aa"><code>fbd3f3e</code></a>
Remove JPEG size limits while parsing header (<a
href="https://redirect.github.com/image-rs/image/issues/2175">#2175</a>)</li>
<li><a
href="https://github.com/image-rs/image/commit/e8b7acb970857a7b397dddd4d62f31515ceaa4fc"><code>e8b7acb</code></a>
Mention DXT removal in changelog (<a
href="https://redirect.github.com/image-rs/image/issues/2166">#2166</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/image-rs/image/compare/v0.24.7...v0.25.1">compare
view</a></li>
</ul>
</details>
<br />
[](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)
</details>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [time](https://github.com/time-rs/time) from 0.1.45 to 0.3.30.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/time-rs/time/releases">time's
releases</a>.</em></p>
<blockquote>
<h2>v0.3.30</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.29</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.28</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.27</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.26</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.25</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.24</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.23</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.22</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.21</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.20</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.19</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.18</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.17</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.16</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.15</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<h2>v0.3.14</h2>
<p>See the <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">changelog</a>
for details.</p>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/time-rs/time/blob/main/CHANGELOG.md">time's
changelog</a>.</em></p>
<blockquote>
<h2>0.3.30 [2023-10-13]</h2>
<h3>Added</h3>
<ul>
<li><code>powerfmt::smart_display::SmartDisplay</code> has been added
for the main types in the library. These
implementations ensure that values follow the requested fill, width, and
alignment when using
<code>format!</code> or similar macros. <code>Display</code> is
implemented in terms of <code>SmartDisplay</code>.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Large values no longer wrap around in release mode when using
<code>NumericalDuration</code> or
<code>NumericalStdDuration</code>.</li>
</ul>
<h2>0.3.29 [2023-09-24]</h2>
<h3>Added</h3>
<ul>
<li>Niche value optimization for <code>Date</code> has been added. Both
<code>Date</code> and <code>Option<Date></code> are four
bytes.</li>
<li>Unit conversions have been added. It is now possible to write
<code>Second::per(Day)</code>, which returns
the number of seconds in one day. See the types in the <a
href="https://time-rs.github.io/api/time/convert/index.html"><code>time::convert</code>
module</a> for more
information.</li>
</ul>
<h3>Changed</h3>
<ul>
<li>The diagnostic for <code>--cfg unsound_local_offset</code> has been
removed.</li>
<li><code>#![feature(no_coverage)]</code> was previously used internally
for code coverage. It is no longer used,
so it has been removed.</li>
<li>The default value for <code>modifier::OffsetHour</code> has been
changed. This was unintentionally changed in
v0.3.17 and went unnoticed until now. The sign is now only present if
needed by default, as was
the case previously. This does not affect any situation where
<code>format_description!</code> or
<code>format_description::parse</code> is used.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Adding or subtracting a <code>std::time::Duration</code> to/from an
<code>OffsetDateTime</code> will not result in
integer overflow internally. It will still panic if the result is out of
range.</li>
</ul>
<h2>0.3.28 [2023-08-27]</h2>
<h3>Added</h3>
<ul>
<li>More additional constants for the well-known <code>Iso8601</code>
format description have been added. This
avoids the need to manually configure the format.</li>
<li>An <code>[end]</code> component has been added. This is ignored
during formatting, but is used to indicate
the end of input when parsing. If any input remains after this
component, an error is returned.
This is useful when using the <code>[first]</code> component, as it
avoids the need to reorder variants.</li>
</ul>
<h3>Changed</h3>
<!-- raw HTML omitted -->
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li>See full diff in <a
href="https://github.com/time-rs/time/commits/v0.3.30">compare
view</a></li>
</ul>
</details>
<br />
[](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/storytold/storyteller-rust/network/alerts).
</details>
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Brandon Thomas <echelon@gmail.com>
"query":"\nSELECT\n maybe_model_type as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\n FROM (\n SELECT\n token,\n maybe_model_type\n FROM generic_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n AND maybe_model_type IS NOT NULL\n UNION\n SELECT\n token,\n maybe_model_type\n FROM generic_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n AND maybe_model_type IS NOT NULL\n) as generic_inner\nGROUP BY queue_type\nUNION\nSELECT\n \"legacy_tts\" as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\nFROM (\n SELECT\n token\n FROM tts_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n UNION\n SELECT\n token\n FROM tts_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n) as legacy_inner\nGROUP BY queue_type\n ",
"query":"\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE tts.token = ?\n ",
"query":"\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_migration_new_model_weights_token,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE\n tts.token = ?\n AND tts.user_deleted_at IS NULL\n AND tts.mod_deleted_at IS NULL\n ",
"query":"\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.maybe_ietf_language_tag,\n wt.maybe_ietf_primary_language_subtag,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n wt.cached_usage_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n LEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = wt.token\n AND featured_items.deleted_at IS NULL\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"query":"\nSELECT\n t.token as `token: tokens::tokens::tags::TagToken`,\n t.tag_value\n\nFROM\n tags AS t\nJOIN tag_uses AS u\n ON t.token = u.tag_token\nWHERE\n u.entity_type = ?\n AND u.entity_token = ?\n AND u.maybe_deleted_at IS NULL\nORDER BY t.id DESC\nLIMIT 500\n ",
"query":"\nSELECT\n COUNT(*) as record_count\n FROM media_files as f\n left outer join model_weights as w\n on f.maybe_origin_model_token = w.token\n left outer join model_weights as w_old\n on f.maybe_origin_model_token = w_old.maybe_migration_old_model_token\n WHERE (w.token = ? OR w_old.token = ?)\n AND f.created_at >= ?\n AND f.created_at < ? + INTERVAL 1 DAY\n ",
"query":"\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.maybe_ietf_language_tag,\n wt.maybe_ietf_primary_language_subtag,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n wt.cached_usage_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n LEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = wt.token\n AND featured_items.deleted_at IS NULL\n WHERE\n wt.token = ?\n ",
"query":"\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n ",
"query":"\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.is_user_upload,\n m.is_intermediate_system_file,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.extra_file_modification_info,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"query":"\nSELECT\n job_type as queue_type,\n count(*) as pending_job_count,\n NOW() as present_time\n FROM (\n SELECT\n token,\n job_type\n FROM generic_inference_jobs\n WHERE status IN (\"pending\", \"attempt_failed\")\n AND job_type IS NOT NULL\n UNION\n SELECT\n token,\n job_type\n FROM generic_inference_jobs\n WHERE status IN (\"started\")\n AND created_at > (CURDATE() - INTERVAL 15 MINUTE)\n AND job_type IS NOT NULL\n) as generic_inner\nGROUP BY queue_type\n ",
"query":"\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n WHERE\n wt.token = ?\n ",
"query":"\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w_extension.ietf_language_tag as maybe_ietf_language_tag,\n w_extension.ietf_primary_language_subtag as maybe_ietf_primary_language_subtag,\n w_extension.maybe_default_pretrained_vocoder as `maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType`,\n w_extension.text_pipeline_type as maybe_text_pipeline_type,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n\n LEFT OUTER JOIN model_weights_extension_tts_details as w_extension\n ON w_extension.model_weights_token = wt.token\n\n WHERE\n wt.maybe_migration_old_model_token = ?\n ",
"query":"\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n jobs.maybe_inference_args,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"query":"\nSELECT\n jobs.token as `job_token: tokens::tokens::generic_inference_jobs::InferenceJobToken`,\n\n jobs.status as `status: enums::common::job_status_plus::JobStatusPlus`,\n jobs.attempt_count,\n\n jobs.maybe_creator_user_token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n jobs.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n jobs.creator_ip_address,\n\n jobs.product_category as `product_category: enums::by_table::generic_inference_jobs::inference_job_product_category::InferenceJobProductCategory`,\n jobs.inference_category as `inference_category: enums::by_table::generic_inference_jobs::inference_category::InferenceCategory`,\n jobs.maybe_model_type,\n jobs.maybe_model_token,\n jobs.maybe_raw_inference_text,\n jobs.maybe_inference_args,\n\n jobs.frontend_failure_category as `maybe_frontend_failure_category: enums::by_table::generic_inference_jobs::frontend_failure_category::FrontendFailureCategory`,\n\n jobs.on_success_result_entity_type as maybe_result_entity_type,\n jobs.on_success_result_entity_token as maybe_result_entity_token,\n\n model_weights.title as maybe_model_weights_title,\n tts_models.title as maybe_tts_model_title,\n voice_conversion_models.title as maybe_voice_conversion_model_title,\n\n tts_results.public_bucket_wav_audio_path as maybe_tts_public_bucket_path,\n voice_conversion_results.public_bucket_hash as maybe_voice_conversion_public_bucket_hash,\n\n media_files.public_bucket_directory_hash as maybe_media_file_public_bucket_directory_hash,\n media_files.maybe_public_bucket_prefix as maybe_media_file_public_bucket_prefix,\n media_files.maybe_public_bucket_extension as maybe_media_file_public_bucket_extension,\n\n jobs.assigned_worker as maybe_assigned_worker,\n jobs.assigned_cluster as maybe_assigned_cluster,\n\n jobs.is_keepalive_required,\n\n jobs.created_at,\n jobs.updated_at,\n\n jobs.first_started_at as maybe_first_started_at,\n jobs.successfully_completed_at as maybe_successfully_completed_at,\n\n NOW() as database_clock\n\nFROM generic_inference_jobs as jobs\n\nLEFT OUTER JOIN model_weights ON jobs.maybe_model_token = model_weights.token\nLEFT OUTER JOIN tts_models ON jobs.maybe_model_token = tts_models.token\nLEFT OUTER JOIN voice_conversion_models ON jobs.maybe_model_token = voice_conversion_models.token\n\nLEFT OUTER JOIN tts_results ON jobs.on_success_result_entity_token = tts_results.token\nLEFT OUTER JOIN voice_conversion_results ON jobs.on_success_result_entity_token = voice_conversion_results.token\nLEFT OUTER JOIN media_files ON jobs.on_success_result_entity_token = media_files.token\n\nWHERE jobs.token = ?\n ",
"query":"\nSELECT\n distinct coalesce(w.token, w_old.token) as token,\n mwuc.usage_count as maybe_previously_cached_model_use_count,\n COUNT(*) as usage_count\nFROM\n media_files as f\nLEFT OUTER JOIN model_weights as w\n ON f.maybe_origin_model_token = w.token\nLEFT OUTER JOIN model_weights as w_old\n ON f.maybe_origin_model_token = w_old.maybe_migration_old_model_token\nLEFT OUTER JOIN model_weight_usage_counts as mwuc\n ON coalesce(w.token, w_old.token) = mwuc.token\n AND mwuc.on_date = ?\nWHERE f.maybe_origin_model_token IS NOT NULL\n AND f.created_at >= ?\n AND f.created_at < ? + INTERVAL 1 DAY\nGROUP BY coalesce(w.token, w_old.token), mwuc.usage_count\nORDER BY usage_count DESC\n ",
"query":"\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n WHERE\n wt.token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"query":"\n SELECT\n wt.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n wt.title,\n wt.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n wt.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n wt.maybe_description_markdown,\n wt.maybe_description_rendered_html,\n wt.creator_ip_address,\n wt.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n wt.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash AS creator_gravatar_hash,\n\n wt.maybe_last_update_user_token as `maybe_last_update_user_token: tokens::tokens::users::UserToken`,\n wt.original_download_url,\n wt.original_filename,\n wt.file_size_bytes,\n wt.file_checksum_sha2,\n wt.public_bucket_hash,\n wt.maybe_public_bucket_prefix,\n wt.maybe_public_bucket_extension,\n\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w_extension.ietf_language_tag as maybe_ietf_language_tag,\n w_extension.ietf_primary_language_subtag as maybe_ietf_primary_language_subtag,\n w_extension.maybe_default_pretrained_vocoder as `maybe_default_pretrained_vocoder: crate::column_types::vocoder_type::VocoderType`,\n w_extension.text_pipeline_type as maybe_text_pipeline_type,\n\n wt.version,\n wt.created_at,\n wt.updated_at,\n wt.user_deleted_at,\n wt.mod_deleted_at\n\n FROM model_weights as wt\n JOIN users\n ON users.token = wt.creator_user_token\n LEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = wt.maybe_cover_image_media_file_token\n LEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = wt.token\n\n LEFT OUTER JOIN model_weights_extension_tts_details as w_extension\n ON w_extension.model_weights_token = wt.token\n\n WHERE\n wt.maybe_migration_old_model_token = ?\n AND wt.user_deleted_at IS NULL\n AND wt.mod_deleted_at IS NULL\n ",
"query":"\nSELECT\n distinct coalesce(w.token, w_new.token) as token,\n COUNT(*) as usage_count\nFROM\n tts_results as r\nLEFT OUTER JOIN model_weights as w\n ON r.model_token = w.maybe_migration_old_model_token\nLEFT OUTER JOIN model_weights as w_new\n ON r.model_token = w_new.token\nWHERE r.created_at >= ?\n AND r.created_at < ? + INTERVAL 1 DAY\nGROUP BY coalesce(w.token, w_new.token)\nORDER BY usage_count DESC\n ",
"query":"\nSELECT\n w.id,\n w.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n\n w.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n w.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n w.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n w.title,\n\n cover_image.token as `maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n w.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n extension_tts.ietf_language_tag as maybe_tts_ietf_language_tag,\n extension_tts.ietf_primary_language_subtag as maybe_tts_ietf_primary_language_subtag,\n\n extension_vc.ietf_language_tag as maybe_vc_ietf_language_tag,\n extension_vc.ietf_primary_language_subtag as maybe_vc_ietf_primary_language_subtag,\n\n w.created_at,\n w.updated_at,\n w.user_deleted_at,\n w.mod_deleted_at\n\nFROM model_weights as w\n\nJOIN users\n ON users.token = w.creator_user_token\n\nLEFT OUTER JOIN model_weights_extension_tts_details as extension_tts\n ON extension_tts.model_weights_token = w.token\nLEFT OUTER JOIN model_weights_extension_voice_conversion_details as extension_vc\n ON extension_vc.model_weights_token = w.token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weights\"\n AND entity_stats.entity_token = w.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = w.maybe_cover_image_media_file_token\n\nWHERE\n w.id > ?\nORDER BY id ASC\nLIMIT ?\n ",
"query":"\nSELECT\n w.id,\n w.token as `token: tokens::tokens::model_weights::ModelWeightToken`,\n\n w.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n w.weights_type as `weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n w.weights_category as `weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n w.title,\n\n w.maybe_ietf_language_tag,\n w.maybe_ietf_primary_language_subtag,\n\n cover_image.token as `maybe_cover_image_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n cover_image.public_bucket_directory_hash as maybe_cover_image_public_bucket_hash,\n cover_image.maybe_public_bucket_prefix as maybe_cover_image_public_bucket_prefix,\n cover_image.maybe_public_bucket_extension as maybe_cover_image_public_bucket_extension,\n\n w.creator_user_token as `creator_user_token: tokens::tokens::users::UserToken`,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n w.cached_usage_count,\n\n extension_tts.ietf_language_tag as maybe_tts_ietf_language_tag,\n extension_tts.ietf_primary_language_subtag as maybe_tts_ietf_primary_language_subtag,\n\n extension_vc.ietf_language_tag as maybe_vc_ietf_language_tag,\n extension_vc.ietf_primary_language_subtag as maybe_vc_ietf_primary_language_subtag,\n\n w.created_at,\n w.updated_at,\n w.user_deleted_at,\n w.mod_deleted_at,\n\n NOW() as database_read_time\n\nFROM model_weights as w\n\nJOIN users\n ON users.token = w.creator_user_token\n\nLEFT OUTER JOIN model_weights_extension_tts_details as extension_tts\n ON extension_tts.model_weights_token = w.token\nLEFT OUTER JOIN model_weights_extension_voice_conversion_details as extension_vc\n ON extension_vc.model_weights_token = w.token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"model_weight\"\n AND entity_stats.entity_token = w.token\nLEFT OUTER JOIN media_files as cover_image\n ON cover_image.token = w.maybe_cover_image_media_file_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = \"model_weight\"\n AND featured_items.entity_token = w.token\n AND featured_items.deleted_at IS NULL\n\nWHERE\n w.id > ?\nORDER BY id ASC\nLIMIT ?\n ",
"query":"\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE\n tts.token = ?\n AND tts.user_deleted_at IS NULL\n AND tts.mod_deleted_at IS NULL\n ",
"query":"\nSELECT\n tts.token as model_token,\n tts.tts_model_type as `tts_model_type: enums::by_table::tts_models::tts_model_type::TtsModelType`,\n tts.text_pipeline_type,\n tts.text_preprocessing_algorithm,\n tts.maybe_default_pretrained_vocoder,\n\n tts.use_default_mel_multiply_factor,\n tts.maybe_custom_mel_multiply_factor,\n\n tts.creator_user_token,\n users.username as creator_username,\n users.display_name as creator_display_name,\n users.email_gravatar_hash as creator_gravatar_hash,\n users.is_banned as creator_is_banned,\n\n tts.title,\n tts.description_markdown,\n tts.description_rendered_html,\n\n tts.ietf_language_tag,\n tts.ietf_primary_language_subtag,\n\n tts.is_front_page_featured,\n tts.is_twitch_featured,\n\n tts.maybe_suggested_unique_bot_command,\n\n tts.user_ratings_positive_count,\n tts.user_ratings_negative_count,\n tts.user_ratings_total_count,\n\n tts.creator_set_visibility,\n\n tts.is_locked_from_use,\n tts.is_locked_from_user_modification,\n\n tts.maybe_migration_new_model_weights_token,\n\n tts.maybe_custom_vocoder_token,\n vocoder.title as maybe_custom_vocoder_title,\n vocoder_user.token as maybe_custom_vocoder_creator_user_token,\n vocoder_user.username as maybe_custom_vocoder_creator_username,\n vocoder_user.display_name as maybe_custom_vocoder_creator_display_name,\n vocoder_user.email_gravatar_hash as maybe_custom_vocoder_creator_gravatar_hash,\n\n tts.created_at,\n tts.updated_at,\n\n tts.creator_ip_address_creation,\n tts.creator_ip_address_last_update,\n tts.mod_deleted_at,\n tts.user_deleted_at\n\nFROM tts_models as tts\nJOIN users\n ON users.token = tts.creator_user_token\n\nLEFT OUTER JOIN vocoder_models AS vocoder\n ON vocoder.token = tts.maybe_custom_vocoder_token\nLEFT OUTER JOIN users AS vocoder_user\n ON vocoder_user.token = vocoder.creator_user_token\n\nWHERE tts.token = ?\n ",
"query":"\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n AND m.user_deleted_at IS NULL\n AND m.mod_deleted_at IS NULL\n ",
"query":"\nSELECT\n m.token as `token: tokens::tokens::media_files::MediaFileToken`,\n\n m.media_class as `media_class: enums::by_table::media_files::media_file_class::MediaFileClass`,\n m.media_type as `media_type: enums::by_table::media_files::media_file_type::MediaFileType`,\n\n m.maybe_engine_category as `maybe_engine_category: enums::by_table::media_files::media_file_engine_category::MediaFileEngineCategory`,\n m.maybe_animation_type as `maybe_animation_type: enums::by_table::media_files::media_file_animation_type::MediaFileAnimationType`,\n\n m.maybe_media_subtype as `maybe_media_subtype: enums::by_table::media_files::media_file_subtype::MediaFileSubtype`,\n\n m.maybe_mime_type,\n\n users.token as `maybe_creator_user_token: tokens::tokens::users::UserToken`,\n users.username as maybe_creator_username,\n users.display_name as maybe_creator_display_name,\n users.email_gravatar_hash as maybe_creator_gravatar_hash,\n\n m.maybe_creator_anonymous_visitor_token as `maybe_creator_anonymous_visitor_token: tokens::tokens::anonymous_visitor_tracking::AnonymousVisitorTrackingToken`,\n\n m.maybe_batch_token as `maybe_batch_token: tokens::tokens::batch_generations::BatchGenerationToken`,\n\n m.maybe_style_transfer_source_media_file_token as `maybe_style_transfer_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n m.maybe_scene_source_media_file_token as `maybe_scene_source_media_file_token: tokens::tokens::media_files::MediaFileToken`,\n\n m.maybe_title,\n m.maybe_text_transcript,\n\n m.maybe_origin_filename,\n\n m.maybe_duration_millis,\n\n m.maybe_prompt_token as `maybe_prompt_token: tokens::tokens::prompts::PromptToken`,\n prompts.maybe_other_args as maybe_other_prompt_args,\n\n media_file_cover_image.public_bucket_directory_hash as maybe_file_cover_image_public_bucket_hash,\n media_file_cover_image.maybe_public_bucket_prefix as maybe_file_cover_image_public_bucket_prefix,\n media_file_cover_image.maybe_public_bucket_extension as maybe_file_cover_image_public_bucket_extension,\n\n m.creator_set_visibility as `creator_set_visibility: enums::common::visibility::Visibility`,\n\n m.is_user_upload,\n m.is_intermediate_system_file,\n\n model_weights.token as `maybe_model_weights_token: tokens::tokens::model_weights::ModelWeightToken`,\n model_weights.title as maybe_model_weights_title,\n model_weights.weights_type as `maybe_model_weights_type: enums::by_table::model_weights::weights_types::WeightsType`,\n model_weights.weights_category as `maybe_model_weights_category: enums::by_table::model_weights::weights_category::WeightsCategory`,\n\n model_weight_cover_image.public_bucket_directory_hash as maybe_model_cover_image_public_bucket_hash,\n model_weight_cover_image.maybe_public_bucket_prefix as maybe_model_cover_image_public_bucket_prefix,\n model_weight_cover_image.maybe_public_bucket_extension as maybe_model_cover_image_public_bucket_extension,\n\n model_weight_creator.token as `maybe_model_weight_creator_user_token: tokens::tokens::users::UserToken`,\n model_weight_creator.username as maybe_model_weight_creator_username,\n model_weight_creator.display_name as maybe_model_weight_creator_display_name,\n model_weight_creator.email_gravatar_hash as maybe_model_weight_creator_gravatar_hash,\n\n m.extra_file_modification_info,\n\n m.public_bucket_directory_hash,\n m.maybe_public_bucket_prefix,\n m.maybe_public_bucket_extension,\n\n entity_stats.ratings_positive_count as maybe_ratings_positive_count,\n entity_stats.ratings_negative_count as maybe_ratings_negative_count,\n entity_stats.bookmark_count as maybe_bookmark_count,\n\n featured_items.entity_token IS NOT NULL AS is_featured,\n\n m.created_at,\n m.updated_at\n\nFROM media_files AS m\nLEFT OUTER JOIN users\n ON m.maybe_creator_user_token = users.token\nLEFT OUTER JOIN model_weights\n ON m.maybe_origin_model_token = model_weights.token\nLEFT OUTER JOIN media_files as media_file_cover_image\n ON media_file_cover_image.token = m.maybe_cover_image_media_file_token\nLEFT OUTER JOIN media_files as model_weight_cover_image\n ON model_weight_cover_image.token = model_weights.maybe_cover_image_media_file_token\nLEFT OUTER JOIN users as model_weight_creator\n ON model_weight_creator.token = model_weights.creator_user_token\nLEFT OUTER JOIN entity_stats\n ON entity_stats.entity_type = \"media_file\"\n AND entity_stats.entity_token = m.token\nLEFT OUTER JOIN prompts\n ON prompts.token = m.maybe_prompt_token\nLEFT OUTER JOIN featured_items\n ON featured_items.entity_type = 'media_file'\n AND featured_items.entity_token = m.token\n AND featured_items.deleted_at IS NULL\nWHERE\n m.token = ?\n ",
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1I6KGQZFMMB2ZvCzWEqy9xTgGl0L5cmfP/view?usp=sharing', 'Turret-192', session_echelon)
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1T_hvgGcNOfofhNmDWUqpVtYDdSXQrWdE/view?usp=sharing', 'technoblade-324', session_brandon)
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1NKyRiex3K1J0QyIv2np17D_H0rE98HyK/view?usp=sharing', 'Noire', session_other)
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1VDHDOpsUR8C-MD07vEsnUf1Lpcf8hXg4/view?usp=sharing', 'MatPat80', session_other)
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1atFn4vm7mjkufXNK9TZS6J8WzISrAn3-/view?usp=sharing', 'King Julien-70', session_other)
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1-rlJpi2jAsagn-UCStcCc_ITNycXgn2F/view?usp=sharing', 'Jorgen', session_other)
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1togTNOEKnaarqWWrbZLSwIbZIZ8IT_qw/view?usp=sharing', 'edsheeransinging', session_nanashi)
# TEMP COMMENT DUE TO RATE LIMIT
# TEMP COMMENT DUE TO RATE LIMIT upload_tts_model('https://drive.google.com/file/d/1OAiu0cZDyUJMemyLc0Btqw7zEQgiN81D/view?usp=sharing', 'Wakko Warner v2 ST21', session_nanashi)
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.