Hashir Sarwar
6364d27ed5
topic: Remove 7 days restriction for editing & moving topics.
...
Previously, we had a restriction that we could only
edit and move the topics of 7 days old messages.
This buggy behaviour is now removed as in this
commit.
Fixes #14492 .
Part of #13912 .
2020-05-08 12:57:50 -07:00
Anders Kaseorg
fead14951c
python: Convert assignment type annotations to Python 3.6 style.
...
This commit was split by tabbott; this piece covers the vast majority
of files in Zulip, but excludes scripts/, tools/, and puppet/ to help
ensure we at least show the right error messages for Xenial systems.
We can likely further refine the remaining pieces with some testing.
Generated by com2ann, with whitespace fixes and various manual fixes
for runtime issues:
- invoiced_through: Optional[LicenseLedger] = models.ForeignKey(
+ invoiced_through: Optional["LicenseLedger"] = models.ForeignKey(
-_apns_client: Optional[APNsClient] = None
+_apns_client: Optional["APNsClient"] = None
- notifications_stream: Optional[Stream] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
- signup_notifications_stream: Optional[Stream] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
+ notifications_stream: Optional["Stream"] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
+ signup_notifications_stream: Optional["Stream"] = models.ForeignKey('Stream', related_name='+', null=True, blank=True, on_delete=CASCADE)
- author: Optional[UserProfile] = models.ForeignKey('UserProfile', blank=True, null=True, on_delete=CASCADE)
+ author: Optional["UserProfile"] = models.ForeignKey('UserProfile', blank=True, null=True, on_delete=CASCADE)
- bot_owner: Optional[UserProfile] = models.ForeignKey('self', null=True, on_delete=models.SET_NULL)
+ bot_owner: Optional["UserProfile"] = models.ForeignKey('self', null=True, on_delete=models.SET_NULL)
- default_sending_stream: Optional[Stream] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
- default_events_register_stream: Optional[Stream] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
+ default_sending_stream: Optional["Stream"] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
+ default_events_register_stream: Optional["Stream"] = models.ForeignKey('zerver.Stream', null=True, related_name='+', on_delete=CASCADE)
-descriptors_by_handler_id: Dict[int, ClientDescriptor] = {}
+descriptors_by_handler_id: Dict[int, "ClientDescriptor"] = {}
-worker_classes: Dict[str, Type[QueueProcessingWorker]] = {}
-queues: Dict[str, Dict[str, Type[QueueProcessingWorker]]] = {}
+worker_classes: Dict[str, Type["QueueProcessingWorker"]] = {}
+queues: Dict[str, Dict[str, Type["QueueProcessingWorker"]]] = {}
-AUTH_LDAP_REVERSE_EMAIL_SEARCH: Optional[LDAPSearch] = None
+AUTH_LDAP_REVERSE_EMAIL_SEARCH: Optional["LDAPSearch"] = None
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2020-04-22 11:02:32 -07:00
Tim Abbott
843345dfee
message_edit: Add backend for moving a topic to another stream.
...
This commit reuses the existing infrastructure for moving a topic
within a stream to add support for moving topics from one stream to
another.
Split from the original full-feature commit so that we can merge just
the backend, which is finished, at this time.
This is a large part of #6427 .
The feature is incomplete, in that we don't have real-time update of
the frontend to handle the event, documentation, etc., but this commit
is a good mergable checkpoint that we can do further work on top of.
We also still ideally would have a test_events test for the backend,
but I'm willing to leave that for follow-up work.
This appears to have switched to tabbott as the author during commit
squashing sometime ago, but this commit is certainly:
Co-Authored-By: Wbert Adrián Castro Vera <wbertc@gmail.com>
2020-04-07 14:19:19 -07:00
Tim Abbott
49ca7cf717
topic: Add recipient_id to fields for message edit saves.
...
This is preparation for supporting moving messages between streams in
some cases.
It doesn't actually have any functional effect, since flush_message
clears the message unconditionally anyway.
2020-02-26 16:12:07 -08:00
Mateusz Mandera
2475adbf8a
messages_for_topic: Use stream.recipient_id for more efficient query.
2020-02-11 17:39:43 -08:00
Vishnu KS
4572be8c27
api: Rename subject_links to topic_links.
...
Fixes #13588
2020-02-07 14:35:22 -08:00
dustinheestand
157c98de99
bugdown: Correctly set has_link attribute on messages.
...
Now autolinks and message edits affect the has_link attribute on messages.
2019-12-11 17:01:41 +05:30
overide
dd67b1b3bb
topic: Change before bound limit from 2 to 7 days.
...
This limit was introduced in c588c79
as a part of the
feature and not due to performance crisis. So we are
increasing this limit to 7 days. Since topics tends to
naturally fizzle after day or two so 7 days limit
would be good enough.
2019-10-06 20:12:59 -07:00
Mateusz Mandera
dbe508bb91
models: Migration of Message.pub_date to date_sent, part 2.
...
Fixes #1727 .
With the server down, apply migrations 0245 and 0246. 0246 will remove
the pub_date column, so it's essential that the previous migrations
ran correctly to copy data before running this.
2019-10-05 19:01:34 -07:00
Anders Kaseorg
6d875dd211
topic: Clean up type ignores.
...
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-08-09 17:42:33 -07:00
Rishi Gupta
a914b86694
onboarding: Simplify get_turtle_message.
2019-03-21 12:33:32 -07:00
Tim Abbott
a64c434b9e
topics: Fix messages_for_topic to use iexact matching.
...
This fixes the archive codebase to use our covention of using
case-insensitive matching for message topics.
2019-01-24 17:55:15 -08:00
Steve Howell
eb4d279bbc
Extract get_turtle_message().
...
This seems like kind of a silly function to extract
to topic.py, but it will theoretically help us sweep
"subject" if we change the DB.
It had test coverage.
2018-11-14 23:24:06 -08:00
Steve Howell
27d79352da
topic -> subject: Extract get_topic_from_message_info().
...
This changes files where it's safe to just assume caller
may use either "topic" or "subject", and we prefer "topic"
but support "subject".
2018-11-14 23:24:06 -08:00
Steve Howell
aa4e9cec2d
minor: Add a code comment and move two constants.
2018-11-14 23:24:06 -08:00
Steve Howell
d86dd165da
gitter/slack/hipchat: Remove "subject" from conversions.
...
We (lexically) remove "subject" from the conversion code. The
`build_message` helper calls `set_topic_name` under the hood,
so things still have "subject" in the JSON.
There was good code coverage on `build_message`.
2018-11-12 15:47:11 -08:00
Steve Howell
e55fc144b9
Add alias support to REQ helpers for subject/topic.
...
The alias support is generic here, and we use it for
migrating subject -> topic in REQ_topic().
2018-11-12 15:47:11 -08:00
Steve Howell
de6c08a842
Extract messages_for_topic().
2018-11-12 15:47:11 -08:00
Steve Howell
754795c0b7
Extract REQ_topic() helper.
...
For now we use it only in the send path, not the update
path.
2018-11-12 15:47:11 -08:00
Steve Howell
0a171bf9bf
Fix "prev_subject" with LEGACY_PREV_TOPIC.
...
I added `LEGACY_` prefix to the var, because
otherwise you'd have really confusing code
where you change the key from `PREV_TOPIC`
to "prev_topic".
2018-11-12 15:47:11 -08:00
Steve Howell
a49ba8c577
Extract user_message_exists_for_topic().
2018-11-12 15:47:11 -08:00
Steve Howell
39e5c61d4a
Extact MATCH_TOPIC constant.
2018-11-12 15:47:11 -08:00
Steve Howell
8981b65bbc
Extract topic_column_sa().
2018-11-12 15:47:11 -08:00
Steve Howell
226a2826b5
Remove "subject" from zerver/lib/message.py.
...
We also lock this down file in the linter, so
that you can no longer introduce "subject"
to `message.py`.
2018-11-08 14:45:16 +00:00
Steve Howell
592dd290b2
Avoid "subject" in MessageDict.
2018-11-08 14:33:44 +00:00
Steve Howell
ff60055fa4
Use topic_match_sa() for topic searches.
...
Note this introduce literal(), which makes the way
we handle topic mutes more consistent with general
topic searches.
2018-11-07 10:03:53 -08:00
Steve Howell
79d5e36ca3
Extract topic_match_sa() helper.
...
We'll also use this in zerver/views/messages.py, but
that's a bigger change.
2018-11-07 10:03:53 -08:00
Steve Howell
2cf46f0122
Extract save_message_for_edit_use_case().
...
This is mostly extracted to help clean out
all "subject" references from actions.py.
2018-11-07 10:03:53 -08:00
Steve Howell
0cf4cddc5b
Extract update_messages_for_topic_edit().
...
This is somewhat hairy logic, so it's nice
to extract it and not worry about variable leaks.
Also, this moves some legacy "subject" references out
of actions.py.
2018-11-07 10:03:53 -08:00
Steve Howell
0e854288ee
Add some string constants to topic.py.
...
The goal here is to make it easy to
forbid "subject" in actions.py.
2018-11-07 10:03:53 -08:00
Steve Howell
7252861785
Extract filter_by_topic_name_via_message.
2018-11-07 10:03:53 -08:00
Steve Howell
dc8f893494
Extract filter_by_exact_message_topic().
2018-11-07 10:03:53 -08:00
Steve Howell
50e3f85557
Extract topic.py library.
...
We start by including functions that do custom
queries for topic history.
The goal of this library is partly to quarantine
the legacy "subject" column on Message.
2018-11-07 10:03:53 -08:00