zulip/zerver/lib
Aditya Bansal f50e325075 RealmAuditLog: Fill subscription events with event_last_message_id=None.
Creating the very first organization administrator user and
subscribing them to streams before any messages were sent resulted in
RealmAuditLog entries being created with a `event_last_message_id` of
None, because that's the maximum ID in the empty set.

We correct this by fixing the incorrectly created RealmAuditLog
entries, both for new servers and also fixing old broken entries on
existing servers.

This fixes an issue where if a user setup a Zulip server with just the
organization administrator, and then forgot about it (so that the
initial user became soft-deactivated), trying to sign in 3 weeks later
would throw an exception.

This fixes the issue reported here:

https://chat.zulip.org/#narrow/stream/9-issues/subject/500.20error.20on.20login/near/511981
2018-02-22 09:45:22 -08:00
..
bugdown api_code_example: Use json instead of ujson; specify separators. 2018-02-20 20:10:38 -03:30
url_preview zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
webhooks zerver/lib: Remove u prefix from strings. 2018-02-05 12:12:58 -08:00
__init__.py [manual] Rename Django app from zephyr to zerver. 2013-08-06 07:39:36 -04:00
actions.py RealmAuditLog: Fill subscription events with event_last_message_id=None. 2018-02-22 09:45:22 -08:00
addressee.py refactor: Move topic name checks to Addressee class. 2018-01-25 06:21:01 -05:00
alert_words.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
api_test_helpers.py api docs: Test sample fixture for invalid stream name error. 2018-02-20 20:03:55 -03:30
attachments.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
avatar_hash.py zerver/lib: Use Python 3 syntax for typing for several files. 2017-11-28 17:02:24 -08:00
avatar.py mypy: Use Python 3 type syntax in zerver/lib/avatar.py. 2017-12-18 11:32:52 -05:00
bot_config.py bot_config.py: Add function for loading config file templates. 2018-01-07 20:05:52 +01:00
bot_lib.py embedded bots: Log warning when bot quit()s. 2018-02-13 14:56:37 -08:00
bot_storage.py zerver/lib: Use python 3 syntax for typing. 2017-11-28 17:15:14 -08:00
bulk_create.py bulk_create: Fix buggy logic for generating recipients_by_email. 2017-11-21 21:07:32 -08:00
cache_helpers.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
cache.py cache: Add ignore_unhashable_lru_cache function. 2018-02-09 18:14:08 -08:00
camo.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
ccache.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
context_managers.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
create_user.py mypy: Amend tos_version parameter of create_user_profile to be Optional. 2017-12-23 01:22:22 +09:00
db.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
debug.py debug: Add facility to dump tracemalloc snapshots. 2017-11-28 15:52:07 -08:00
digest.py Add stream ids to urls for stream-related narrows. 2018-02-19 09:03:11 -08:00
domains.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
email_mirror.py zerver/lib: Remove u prefix from strings. 2018-02-05 12:12:58 -08:00
emoji.py mypy: Adjust 2 emoji.py functions to allow for strict-optional. 2017-12-23 01:22:22 +09:00
error_notify.py errors: Compute deployment metadata on the right deployment. 2017-12-22 11:52:13 -05:00
events.py avatars: Always include a working URL for the user's own avatar. 2018-02-05 12:45:41 -08:00
exceptions.py upload: Enforce per-realm quota. 2018-01-29 16:06:11 -08:00
export.py mypy: Annotate email_gateway_bot in export_files_from_s3(). 2018-02-13 11:40:52 -08:00
feedback.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
fix_unreads.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
generate_test_data.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
hotspots.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
html_diff.py mypy: Remove type: ignores that are unnecessary with new mypy. 2017-11-25 10:06:28 -08:00
i18n.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
initial_password.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
integrations.py webhooks: Add Facebook integration. 2018-02-19 09:41:49 -08:00
json_encoder_for_html.py mypy: Fix annotations for json_encoder_for_html. 2017-11-22 01:32:46 -08:00
logging_util.py logging: Fix corrupted default format for our logfiles. 2018-01-17 18:10:17 -08:00
management.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
mdiff.py mypy: Amend diff_strings to return str or raise DiffException. 2018-02-13 11:40:51 -08:00
mention.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
message.py messages: Calculate value of first visible message ID using cron job. 2018-01-24 17:15:08 -08:00
migrate.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
mobile_auth_otp.py zerver/lib/mobile_auth_otp: Sweep force_str. 2017-12-26 09:09:31 -05:00
name_restrictions.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
narrow.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
notifications.py Use newer stream urls in missed message emails. 2018-02-19 09:03:11 -08:00
onboarding.py bots: Clean up create_realm_internal_bots. 2018-02-06 18:59:57 -08:00
outgoing_webhook.py Add stream ids to urls for stream-related narrows. 2018-02-19 09:03:11 -08:00
parallel.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
profile.py mypy: Improve typing to profile.py & remove FuncT from decorator.py. 2017-10-29 17:10:13 -07:00
push_notifications.py push notifs: For group PMs, identify the users in the group. 2018-02-16 16:06:03 -08:00
queue.py rabbitmq: Do a better job of retrying failed connections. 2017-11-29 16:56:29 -08:00
rate_limiter.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
realm_icon.py zerver/lib: Remove u prefix from strings. 2018-02-05 12:12:58 -08:00
redis_utils.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
request.py REQ: Add type parameter to act as hint for typing. 2018-02-13 11:40:52 -08:00
request.pyi REQ: Add type parameter to act as hint for typing. 2018-02-13 11:40:52 -08:00
response.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
rest.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
retention.py zerver/lib: Use python 3 syntax for typing. 2017-11-28 17:15:14 -08:00
send_email.py settings: Added setting to turn on and off realm name in email subject. 2018-02-05 18:01:54 -08:00
sessions.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
slack_data_to_zulip_data.py slack importer: Get domain name from settings.EXTERNAL_HOST. 2018-02-21 08:58:27 -08:00
slack_message_conversion.py slack importer: Add test for checking link in message conversion. 2018-02-05 14:46:39 -08:00
soft_deactivation.py logging: Reduce create_logger to new log_to_file. 2017-12-12 17:17:08 -08:00
sqlalchemy_utils.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:45:52 -08:00
statistics.py zerver/lib: Use Python 3 syntax for typing for several files. 2017-11-28 17:02:24 -08:00
str_utils.py zerver/lib: Remove u prefix from strings. 2018-02-05 12:12:58 -08:00
stream_recipient.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
stream_subscription.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
stream_topic.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
streams.py stream settings: Add period at the end of error messages. 2018-01-19 13:05:43 -05:00
subdomains.py Convert EmailAuthBackend and LDAPAuthBackend to accept a realm. 2017-11-21 18:23:50 -08:00
test_classes.py api: Return anchor in get_messages when use_first_unread_anchor=True. 2018-02-16 10:06:20 -08:00
test_data.source.txt test_data.source.txt: Replace postmodernism generator text with a play. 2017-08-23 13:00:39 -07:00
test_fixtures.py django-2.0: Change parameter name to app_label. 2018-01-31 12:07:36 -08:00
test_helpers.py django-2.0: Shift to resolvers from urlresolvers. 2018-01-30 10:53:54 -08:00
test_runner.py mypy: Use Python 3 syntax for typing in test_runner.py 2018-01-23 08:49:42 -08:00
tex.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
timeout.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
timestamp.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
timezone.py schedulemessages: Add handle_deferred_message() to handle requests. 2018-01-19 11:33:11 -05:00
topic_mutes.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
type_debug.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
unminify.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
upload.py mypy: Amend logic in check_upload_within_quota to avoid None. 2018-02-19 09:20:30 -08:00
user_agent.py zerver/lib: Use python 3 syntax for typing. 2017-11-18 16:09:04 -08:00
user_groups.py user_groups: Fix reporting of empty user groups. 2017-11-29 16:13:55 -08:00
users.py settings: Limit the creation of generic bots. 2018-01-02 18:12:22 -05:00
utils.py zerver/lib: Use python 3 syntax for typing. 2017-11-21 20:56:40 -08:00
validator.py validator.py: Extend functionality of check_dict(). 2018-01-07 20:04:52 +01:00