This commit introduces a banner on the "Start Export" modal
to notify the admin that their personal setting to export
private data is not toggled ON.
The banner is shown when the 'Export type' is 'Standard' and
admin's personal setting to export private data is not toggled ON.
The banner ensures admins are aware their private data will
not be exported unless they enable the respective setting.
This commit adds a database migration to set is_recently_active=False
for channels based on the last time a message was sent.
The migration follows the same logic used in the
`update_channel_recently_active_status` management command.
This change is particularly useful for self-hosted servers, as it
avoids the need to wait a week for the
`update_channel_recently_active_status` management command to run
via cron.
This commit completely eliminates the home-grown
data_types.py system for checking types.
Now, in our unit tests and schema checkers, we use
pydantic types to check the shape of the event
objects that are either in our JSON fixtures or
that get captured by test_events.py.
The code in event_types.py was completely
code-generated from the legacy version of
event_schema.py, so there shouldn't be any
manual errors in how I ported the types over.
(The code generation was non-trivial, though,
as I had to account for changes from
snake_case to CamelCase and deal with some
other anomalies.)
When we move away from `data_types.py` in favor of using
`pydantic` to describe the shape of our event objects in
the events test (hopefully coming soon), then the code
I deleted here will no longer work.
The consequence of this change is that API docs may
diverge from the actual event types that we use, but
I believe there are better ways to manage this.
Also, the deleted code was particularly hard to debug
(and I say that as the original author). It probably
also causes friction for folks who want to update the
docs but who don't necessarily grok how the event tests
work under the legacy `data_types.py` regime.
Once we get pydantic types working, we can probably
just write a separate tool to validate against them
against the API docs using the `openapi-schema-pydantic`
package or something similar.
This commit fixes the currently broken feature of being
able to change the group info using the edit icon that
triggers the dialog_widget to let users edit their
group description.
Fixes#32767.
This commit conditionally adds the source command for
virtualenv in the user's bash profile only when the
system is virtualized.
Checking WSL_DISTRO_NAME in the env vars
is the cheapest option in case of checking
whether the system runs as WSL VM since
it is an in memory operation.
Hence it is checked for first in `is_wsl_instace`.
Fixes#15029.
If we move a paid plan from a remote server to a remote realm, and
the plan has automated license management, then we create an updated
license ledger entry when we move the plan for the remote realm
billing data so that we have an accurate user count for licenses
when the plan is next invoiced.
In commit ea863bab5b, handle_customer_migration_from_server_to_realm
was updated to only move a remote server's plan in the case that there
is only one remote realm on the server.
Updates the invite modal so that if the custom input is 0, the
submit button is deactivated, since an email invitation or invite
link that immediately expired would be unusable.
Also, updates the custom input to show 0 if a user navigates away
from and back to the custom input option afer putting in an invalid
value, e.g. "abc" or "-20". Previously, the custom input showed
"NaN" in that case.
This commit updates the "Markdown implementation"
documentation in the `markdown.md` file to reflect the
conversion of the `echo.js` module to TypeScript.
This commit updates the "Sending messages" documentation
in the `sending-messages.md` file to reflect the variable and
function updates, ensuring consistency with changes in the
codebase over time.