Leo Franchi
1af7a9db1f
Reify skeleton person objects that local echo creates when sending out-of-realm PMs
...
(imported from commit c0fcdba736f1270d8c05d00546444ee539301877)
2014-03-04 10:09:40 -05:00
Leo Franchi
bdaf8b2cfe
Update message group recipient bars when rerendering messages individually
...
(imported from commit 3fb1386fee12c3a4a3f46810368cdd5d8cfb04d8)
2014-03-04 10:09:40 -05:00
Leo Franchi
6f67d94fc4
Split the recipient row of a message group into a partial
...
(imported from commit 660514daf932235b7c47ac4c22f963da17c7fc8b)
2014-03-04 10:09:40 -05:00
Zev Benjamin
28a6644384
jabber_mirror: Allow Jabber options to be specified in the Zulip config file
...
(imported from commit 7911fdd4c8a2e8668c01627697a3cd8a153d4612)
2014-03-03 17:30:58 -05:00
Zev Benjamin
66734d46cf
jabber_mirror: Clean up help text
...
(imported from commit bd9a4682c754423047a993b8914d965c2e12fdf4)
2014-03-03 17:30:58 -05:00
Zev Benjamin
4fbe78d037
api: Expose function for getting the default Zulip config file
...
(imported from commit 89d6b48f9393670429aa960ad0ff27f030166e34)
2014-03-03 17:30:58 -05:00
Zev Benjamin
dfed7f0b7e
jabber_mirror: Ignore attempts to join invalid MUCs
...
(imported from commit a82d53af1f581d059b6457a1bf7afe92af5d42d9)
2014-03-03 17:30:58 -05:00
Zev Benjamin
47f96dc2dd
jabber_mirror: Configure rooms after joining
...
(imported from commit d4c6e895dca1c7002ce39db81b671ba1c975d517)
2014-03-03 17:30:58 -05:00
Zev Benjamin
38212f83fc
jabber_mirror: Don't try to mirror messages from rooms themselves
...
These are usually administrative messages.
(imported from commit 58cbbc739fdd47acc586c235aedd2fccc83654fd)
2014-03-03 17:30:58 -05:00
Zev Benjamin
b21dc34eed
jabber_mirror: Change character used for loop detection
...
Previously, we were using U+1B80, which is 'SUNDANESE SIGN PANYECEK' (i.e., an
assigned character). U+1FFFE is a non-character (i.e., free for internal use)
on Plane 1.
(imported from commit f93d2401733afb96b6d717a7f659c011299071df)
2014-03-03 17:30:58 -05:00
Zev Benjamin
9634fccda7
jabber_mirror: Dynamically join and leave MUCs
...
For personal mirrors, this means that the mirror should join all Jabber rooms
corresponding to their Zulip subscriptions. For the public mirror, this means
that the mirror should join all Jabber rooms corresponding to Zulip streams that
end in "/xmpp".
(imported from commit 16ed9e3deee7e02b2ae0dd79925f0ed5c4acd044)
2014-03-03 17:30:58 -05:00
Zev Benjamin
814aed7cbe
Send an event when a stream is created, is deleted, becomes occupied, or becomes vacant
...
A stream is vacant when it has no subscribers and occupied when it has at least
one subscriber.
We have a slightly odd model where stream creation is conflated with
subscription creation. Streams are created by attempting to subscribe to a
stream that doesn't exist. We also hide streams with no subscribers from users
to make it seem like they've gone away. However, we can't actually remove those
streams because we want to preserve history.
This commit moves us towards a separation of these two concepts. By sending
events for stream creation, occupation, vacancy, and deletion, we allow clients
to directly observe the global state of streams rather than indirectly observing
subscription information. A more complete solution would involve adding a view
for explicitly creating streams without subscribing to them.
This commit does not handle the intricacies of invite-only streams. We
currently simply do not send these events for invite-only streams.
(imported from commit 5430e5a5eecefafcdba4f5d4f9aa665556fcc559)
2014-03-03 17:30:58 -05:00
Zev Benjamin
5c44fa9a29
Move bulk of get_streams_backend to actions.py
...
(imported from commit 3601444a2aabd1c613db61d71e6bc9fd6b4984d5)
2014-03-03 17:30:57 -05:00
Zev Benjamin
64b0550f58
api: Add get_subscribers method
...
(imported from commit 801021768431a04cfecf146b58f4d118e1dc7508)
2014-03-03 17:29:54 -05:00
Zev Benjamin
9c52818b93
jabber_mirror: Pull rooms to join from Zulip based on mode
...
(imported from commit 115d4d4732d8ff4f12d336cfc42a056183251d87)
2014-03-03 17:29:53 -05:00
Zev Benjamin
b23dc256e4
jabber_mirror: Document which mode handles which kinds of messages
...
(imported from commit 983224ac58bce724529806f6b8eaa3ea30cc730b)
2014-03-03 17:29:53 -05:00
Zev Benjamin
204e7e7e90
jabber_mirror: Only mirror messages from streams that end in '/xmpp'
...
(imported from commit 5213d40063361ffcf073772580ac0f699228cb3f)
2014-03-03 17:29:53 -05:00
Zev Benjamin
0e3af9b238
jabber_mirror: Mirror Jabber room 'foo' to stream 'foo/xmpp'
...
(imported from commit db771b5b5056cdca5780b90f66924c6f9ae3e84d)
2014-03-03 17:29:53 -05:00
Zev Benjamin
3fbdfeee88
jabber_mirror: Use new-style client name
...
(imported from commit a1bc5b076a9c0384c1abdc2377183b0eac19f450)
2014-03-03 17:29:53 -05:00
Zev Benjamin
406e3025fb
Recognize new-style client name for Jabber mirror
...
(imported from commit 3c1f8120f4daa809e0844602bc8bea659837d84e)
2014-03-03 17:29:53 -05:00
Zev Benjamin
8155b8ea04
jabber_mirror: Add --debug option
...
(imported from commit 8d6986ba97f464359a1fe214d5605fa744660a9b)
2014-03-03 17:29:53 -05:00
Zev Benjamin
2850800e48
jabber_mirror: Exit if we fail to connect to the Jabber server
...
(imported from commit f5cc600325a3547412cf0b05239c988410354c10)
2014-03-03 17:29:53 -05:00
Zev Benjamin
0dd209c813
jabber_mirror: Respond to XMPP pings
...
Other clients like Pidgin sends these.
(imported from commit 61c69a080accda939b82ce8701b10ffc6dda672e)
2014-03-03 17:29:53 -05:00
Zev Benjamin
802bd6448c
jabber_mirror: Working PM mirroring
...
(imported from commit 34617f989e83029c6591461adc3ffa18ddea2037)
2014-03-03 17:29:53 -05:00
Zev Benjamin
577d8d33e1
jabber_mirror: Working room/stream mirroring
...
(imported from commit 5d0a33423e90edaee3a1094b1d48fae73cfb54ca)
2014-03-03 17:29:53 -05:00
Zev Benjamin
2ca49c3735
jabber_mirror: Require the --conference-domain option when running in 'public' mode
...
(imported from commit 1dd564a212538e292ffc8b7a52caf7eae66d4475)
2014-03-03 17:29:53 -05:00
Zev Benjamin
40dd0c677e
jabber_mirror: Clarify the two modes the mirror can run in
...
(imported from commit 8084e0552b06c6763f2f13a63c90c9dc73d6bf90)
2014-03-03 17:29:53 -05:00
Zev Benjamin
bf17ea0ee4
zephyr_mirror: Fix comment
...
(imported from commit aed76ecc3b4fd8bb01c299169a8e4eefd35f7cd8)
2014-03-03 17:29:53 -05:00
Zev Benjamin
cd1e07fed3
jabber_mirror: Take the Jabber username as a separate option
...
(imported from commit 86131c7502df7b841c34b09c0e94b071c89b3fde)
2014-03-03 17:29:52 -05:00
Zev Benjamin
e8843be3d0
jabber_mirror: Use zulip.init_from_options
...
(imported from commit 5839c5308a948d2c060d1eb5688b9cf0bd9ed3a2)
2014-03-03 17:29:52 -05:00
Zev Benjamin
8a16ea4cc6
jabber_mirror: Separate Jabber options into their own group
...
(imported from commit 223ecceee956ab30b1647eb0925d11982b2ef37d)
2014-03-03 17:29:52 -05:00
Zev Benjamin
4d47f487cb
jabber_mirror: Use the Zulip API option group
...
(imported from commit 68243e4ebd44cd3b08bf0789c34bb85016d0d1b9)
2014-03-03 17:29:52 -05:00
Zev Benjamin
5ba0b6b633
api: Disambiguate the names of Zulip options
...
(imported from commit 67525764cc2f2a26081640063e2d78852f6229ca)
2014-03-03 17:29:52 -05:00
Zev Benjamin
213c0b49bc
api: Let generate_option_group prepend a prefix to added options
...
(imported from commit 41cdd90a83914139c92cb3ea649cb5653f56d4ca)
2014-03-03 17:29:52 -05:00
Zev Benjamin
5696ff5ce6
api: Clarify that the API option group is for the Zulip API
...
(imported from commit e471fb60c04c4cf8d5e1ceb8cbd639dc3460fc48)
2014-03-03 17:29:52 -05:00
Zev Benjamin
fbe67f5d84
jabber_mirror: Use consistent casing for commandline arguments
...
(imported from commit e30aedc2f626d64b79a9b36b7f3a0fbee84a8ada)
2014-03-03 17:29:52 -05:00
Zev Benjamin
8bb359d194
jabber_mirror: Remove dead code
...
(imported from commit a8802340e1a624934a92d5bdd4ba8ad26faaadbf)
2014-03-03 17:29:52 -05:00
Zev Benjamin
52d6973191
jabber_mirror: Fix anti-looping
...
(imported from commit 5b0ee18b3ec4fd73912fde83b14083e77940ab6e)
2014-03-03 17:29:52 -05:00
Zev Benjamin
f6cec22e6d
jabber_mirror: Do domain replacement more safely
...
(imported from commit 1a6a3d23120f06d54bc954d4e89d5fccf666332e)
2014-03-03 17:29:52 -05:00
Zev Benjamin
2aeb5dde67
jabber_mirror: Use str.replace instead of re.sub
...
(imported from commit 55798a06951366f0c3d246a243dbb3d41ee5b4f7)
2014-03-03 17:29:52 -05:00
Zev Benjamin
151370277c
jabber_mirror: Use consistent method name casing
...
(imported from commit 0f68b94bab992ba20aa7c185fa40eafeea22f92e)
2014-03-03 17:29:52 -05:00
Zev Benjamin
adcec427b6
jabber_mirror: Factor out jid_to_zulip and use str.rpartition
...
(imported from commit 435f076d7125676b5b964c73ec1e3753496c32af)
2014-03-03 17:29:52 -05:00
Zev Benjamin
f7518ea853
jabber_mirror: Make copyright date clearer
...
(imported from commit a97382d174994be0592fbd98cdef1ed39c1b0400)
2014-03-03 17:29:51 -05:00
Tim Abbott
2ac428ad7d
Add Jabber mirroring bot.
...
(imported from commit a539e1e9322bfbef4d93efce951f058d09fc58fe)
2014-03-03 17:29:51 -05:00
Jessica McKellar
df7f85d3c3
Don't show in-app notifications if stream desktop notifications are disabled.
...
(imported from commit efa29afaa40b65557149ea8a2cbc60e1bc44bee2)
2014-03-03 17:22:17 -05:00
Allen Rabinovich
2761f1338d
Fix stream color changes
...
(imported from commit 37c0a2a5fba10404d9c51d1e4cdce7f45e18f54b)
2014-03-03 14:46:38 -07:00
Jessica McKellar
fae92685ae
Convert /json/subscriptions/property to supporting bulk property updates.
...
This includes removing GET support for the endpoint, which is unused
and doesn't map well to this being a bulk endpoint.
(imported from commit 348ff9dfa84be1661368c6d7d35aebf2ae2a9ae0)
2014-03-03 16:08:33 -05:00
Jessica McKellar
816c0a4393
Add a validator for arguments that are of a variable type.
...
We'll need this to validate subscription properties, which can be
strings or booleans.
(imported from commit 2572e334cd04ffe05151cba266e15a0ea7ae21c5)
2014-03-03 16:08:33 -05:00
Jessica McKellar
4e24b432c4
[manual] Add script to migrate subs to new stream notification settings.
...
Previously, streams used `notifications`. Now they have separate
`desktop_notifications` and `audible_notifications`.
On staging, this should be run after the schema migration has been
applied (and technically before the code that uses the new fields is
deployed, but for staging, processing our notification settings a few
minutes late won't hurt anyone).
On prod, the script should be re-run just before the code using the
new notification settings is deployed to process any customer
notification settings changed since the staging deploy.
(imported from commit d99d238cd1b317c5180d7f940d70a7e2f8f9c712)
2014-03-03 16:08:33 -05:00
Jessica McKellar
66edc784f9
Generate and handle client-side events for global notification changes.
...
(imported from commit 40056e8ae284da27db0215e7d8320c8f7db2c52b)
2014-03-03 16:08:33 -05:00