Commit Graph

31767 Commits

Author SHA1 Message Date
Pragati Agrawal cdc50090b6 popovers: Hide email under hidden email-address-visibility cases.
In email hidden case (that is when `email_address_visibilty` is set to
everyone), for "non admins", this commit hides emails from:
- user popover
- custom profile popover
In email hidden case, for admins, email is shown in both user popovers and
custom profile popovers.
2019-05-20 15:56:21 -07:00
Pragati Agrawal 4df971c3c2 org settings: Add save/discard widget for realm authentication methods.
Along with this, we refactored settings_org.populate_auth_methods to use
HTML function after rendering all auth methods rows rather than appending
each row individually, which actually is a good practice.

Also in this commit, to compare `current_val` and `changed_val` in
`check_property_changed` function of the property
`realm_authentication_methods`, which are objects, and we found here
https://stackoverflow.com/a/1144249 that there is no easy way to do so. So
I followed this approach,

```js
 JSON.stringify(obj1) === JSON.stringify(obj2)
```

but before converting them to string we want the same order of keys, so we
used `sort_object_by_key` to sort `current_val` by keys and
`get_auth_method_table_data` always return `changed_val` having keys
sorted.

Since these refactor were closely related we kept them as a single commit
here.

Fixes: #11954.
2019-05-20 15:42:15 -07:00
Pragati Agrawal c634d22de9 org settings: Add `sort_obj_by_key` function to sort objects.
Actually, this is a preliminary commit which adds a general
`sort_obj_by_key` function to sort objects according to keys.

In this commit, we have refactored `populate_auth_methods` function by
extracting the logic for the desired `sort_obj_by_key` and used that to
sort `auth_methods`, but the main motive of this function is to sort
`realm_authentication_methods` in `check_property_changed` to sort
`current_val` in the upcoming commit.
2019-05-20 15:41:45 -07:00
Tim Abbott 7042965102 docs: Remove Vagrant docs zulip-devel recommendation.
Nobody has actually gone to the email list in like 2 years, and we
just renamed it to be an announcement list.
2019-05-20 15:37:13 -07:00
Tim Abbott a15d85e7c4 integrations: Remove zulip-devel@ recommendation for jenkins.
That list is deprecated, and further, the issue tracker for the plugin
is a better place to report issues/trouble with the plugin in any
case.
2019-05-20 15:30:04 -07:00
Tim Abbott e006a628b1 docs: Update THIRDPARTY notes on upstream.
Mostly copyright date updates, but also removing references to the
deprecated zulip-devel@googlegroups.com.
2019-05-20 15:29:05 -07:00
Tim Abbott 136a0da30b provision: Update unsupported architecture logging messages.
We don't use zulip-devel@ anymore, and also add a comment that it's
probably not a huge project to support e.g. arm.
2019-05-20 15:23:40 -07:00
Vishnu Ks d1007c0a6b docs: Mention twitter account as alternative to mailing list. 2019-05-20 15:21:15 -07:00
Vishnu Ks 6c6754d41c docs: Update mailing list id in contributing.md. 2019-05-20 15:21:15 -07:00
Rishi Gupta fbc2239f73 keyboard shortcuts: Update description for S. 2019-05-20 15:10:11 -07:00
Rishi Gupta 3a02e362f5 keyboard shortcuts: Remove P from Basics.
This is not a top ten shortcut to know, and will eventually be g+p anyway.
2019-05-20 15:10:11 -07:00
Puneeth Chaganti bdf8183f55 open graph: Uploaded realm icon URL is absolute for some backends.
The `LocalUploadBackend` returns a relative URL, while the `S3UploadBackend`
returns an absolute URL. This commit switches to using `urljoin` to obtain the
absolute URL, instead of simply joining strings.
2019-05-20 13:14:28 -07:00
Tim Abbott 263657dcb6 integrations: Clean up comments in devtool JavaScript.
Most of this is just editing for brevity or focus.
2019-05-20 12:52:56 -07:00
Hemanth V. Alluri 1a12e112d9 devtools: Completely overhaul the frontend for the integrations devtool.
This commit also adds a small functionality change where the results of
each webhook fixture message sent is now displayed to the user.

With a small tweak by tabbott to fix a styling bug.

Fixes #12122.
2019-05-20 12:36:15 -07:00
Hemanth V. Alluri ef98211f68 devtools: Add support for non-json fixtures for the integrations tool.
Note: If you're going to send fixtures which are not JSON or of the
text/plain content type, make sure you set the correct content type
in the custom headers.

E.g. For the wordpress fixtures the "Content-Type" should be set to
"application/x-www-form-urlencoded".
2019-05-20 12:31:52 -07:00
Hemanth V. Alluri 8214d65336 devtools: Add support for send_all in the integrations dev panel.
Using this feature a reviewer can easily send and view all fixture
messages for any given integration - with only JSON fixtures that is.
2019-05-20 12:29:10 -07:00
Rishi Gupta d17fb622c9 popovers: Refactor user popover to match visual order.
Just swapping an "if is_me" block with a consecutive "unless is_me" block,
so should be no change in logic.
2019-05-20 12:21:57 -07:00
Rishi Gupta 36ff56e741 message feed: Add hotkey hint to Edit pencil on message hover. 2019-05-20 12:18:13 -07:00
Tim Abbott a28af1fd64 css: Remove unnecessary prefixed transitions.
The transition keyword has been standard for a while now; see the
previous commit for details.
2019-05-20 12:15:16 -07:00
Boris Yankov 18a350f042 css: Remove unnecessary 'prefixed-transition' mixin.
The `transition` property does not need prefixing. In fact, very
few properties need that nowadays. So remove it to simplify
the code. This is strictly a refactor with no style change intended.

Many of these styles shouldn't have been prefixed even if needed.
The prefixes exist exactly because the implementations might differ
from the incoming standard.

Looking at the supported browsers:
https://caniuse.com/#search=transition

We see that this property has had mainstream support from 2012 and
was supported on Firefox in 2006 !!!
2019-05-20 12:15:16 -07:00
Vaibhav 76295dd59f css: Club rules in reactions.scss under selector `.message_reaction_count`. 2019-05-20 12:01:49 -07:00
Vaibhav ae47ddc16e css: Use SCSS nesting in reactions.scss for `.reaction_button`. 2019-05-20 12:01:49 -07:00
Vaibhav e8c072a4c8 css: Reorder reactions.scss so that `.reaction_button` are in one place. 2019-05-20 12:01:49 -07:00
Vaibhav c4b683a638 css: Use SCSS nesting in reactions.scss for `.message_reaction`. 2019-05-20 12:01:49 -07:00
Vaibhav 9ef3a660b3 css: Reorder reactions.scss so `.message_reaction` are in same place. 2019-05-20 12:01:49 -07:00
Vaibhav 9e1ee434a7 css: Use SCSS nesting in reactions.scss for `.private-message`.
Precisely for `.private-message .message_reactions .message_reaction`.
2019-05-20 12:01:49 -07:00
Vaibhav 129dfec297 css: Use SCSS nesting in reactions.scss for `.message_reactions`. 2019-05-20 12:01:49 -07:00
Vaibhav c726198cbc css: Reorder reactions.scss so `.message_reactions` are in same place.
This atomically makes `.private-message` in same place too.
2019-05-20 12:01:49 -07:00
Vaibhav 7d8ced7375 css: Use SCSS nesting in reactions.scss for `.emoji-popover-emoji`. 2019-05-20 12:01:49 -07:00
Vaibhav eb8a8fa0dc css: Reorder reactions.scss so `.emoji-popover-emoji` are in same place. 2019-05-20 12:01:49 -07:00
Vaibhav a20b48589f css: Use SCSS nesting in reactions.scss for emoji popover rules. 2019-05-20 12:01:38 -07:00
Vaibhav 8eaa12c49a css: Reorder reactions.scss so `.emoji-popover` are in same place. 2019-05-20 11:53:34 -07:00
Vaibhav 09745d6637 css: Remove redundant `.reaction_button` rule from reactions.scss.
The removed rule does not apply in any case since it's always overridden
by `.message_reaction + .reaction_button` rule defined later on.
2019-05-20 11:53:34 -07:00
Tim Abbott e4c3864772 docs: Further update architecture overview intro. 2019-05-20 11:48:34 -07:00
Tim Abbott f140228528 docs: Update architecture overview introduction.
This doc needs significant further updates, but this at least makes
clear Zulip supports organizations well past 1000 users and adds some
links.
2019-05-20 11:35:47 -07:00
Steve Howell 6b39d6004e zjquery: Use Proxy to detect undefined stubs.
We now use a Proxy to wrap zjquery elements, so
that we can detect callers trying to invoke methods
(or access attributes) that do not exist.  We try
to give useful error messages in those cases.

The main impact here is that we force lots of tests
to explicitly stub `length`.

Also, we can't do equality checks on zjquery
objects any more due to the proxy object, but the
easy workaround is to compare selectors.  (This
is generally an unnecessary technique, anyway.)

The proxy wrapper is fairly straightforward, and
we just have a few special cases for things like
"inspect" that happen when you try to print out
objects.
2019-05-20 11:28:32 -07:00
YashRE42 9b32c844df navbar: Fix stream + topic jump at 500px.
This resolves a bug where the "stream" tab item would be missaligned
with the rest of navbar and leave some empty space.
2019-05-20 11:26:22 -07:00
Tim Abbott c2baca2c78 ci: Don't run codecov on additional platforms.
The coverage data for the platform where we run the backend+frontend
tests should be complete, so there's no reason to upload coverage data
for the other platforms.

Hopefully this change will decrease the likelihood of codecov
producing flaky results.
2019-05-20 11:02:58 -07:00
Kanishk Kakar 77ab9a0eb0 docs: Update desktop repo URL. 2019-05-20 11:01:11 -07:00
K.Kanakhin e930851d16 retention-period: Add more core code for retention policy.
This is a very old commit for #106, which has been on hiatus for a few
years.  It was significantly modified by tabbott to:
* Improve coding style and variable names
* Update mypy annotations style
* Clean up the testing logic
* Update for API changes elsewhere in our system

But the actual runtime code is essentially unmodified from the
original work by Kirill.

It contains basic support for archiving Messages, UserMessages, and
Attachments with a nice test suite.  It's still not usable in
production (e.g. it will probably break Reactions, SubMessages, etc.),
but upcoming commits will address that.
2019-05-19 20:22:47 -07:00
Tim Abbott ec4221abb9 actions: Return message ID from internal_send_*_message.
This is handy for code that needs to do something with the sent
message.  We need it for a retention policy code path, but it seems
likely we'll use it a lot down the line.
2019-05-19 19:18:06 -07:00
Anders Kaseorg 01613e71fb ui: Replace set_up_scrollbar with data-simplebar attribute.
With perfectScrollbar, we needed to call a function from JavaScript to
enable a scrollbar on a new element, but simplebar has a much simpler
default API one can do by using data-simplebar attributes in the HTML.

So we can delete all the scrollbar creation/deletion code.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-19 18:06:38 -07:00
Tim Abbott 119948022f docs: Improve discussion of GitHub area teams.
The content in that paragraph had been written when GSoC was mainly
zulip/zulip.
2019-05-19 16:19:47 -07:00
Tim Abbott cd1ec37404 puppet: Make uwsgi listen backlog limit configurable.
This can be useful for busy servers to limit the risk of bursts of
traffic causing them to reject requests.
2019-05-17 12:38:56 -07:00
Anders Kaseorg 3daa4fa64d pm_list: Set up #private-container once and replace its contents.
Instead of deleting and rebuilding #private-container every time its
contents need to be updated, just replace its contents.  This
eliminates some scrollbar flashing.

Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-17 12:06:51 -07:00
Anders Kaseorg 141088586b Completely replace perfect-scrollbar with SimpleBar.
perfect-scrollbar replaces both the appearance and the behavior of the
scrollbar, and its emulated behavior will never feel native on most
platforms.  SimpleBar customizes the appearance while preserving the
native behavior.

Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2019-05-17 12:06:51 -07:00
Anders Kaseorg 491589579a dependencies: Upgrade simplebar to 4.0.0-alpha.9.
Signed-off-by: Anders Kaseorg <anders@zulipchat.com>
2019-05-17 12:06:51 -07:00
Hemanth V. Alluri e23d5e9631 devtools: Set default stream and topic in integrations dev panel.
This makes it a lot faster to just send a message with a few clicks.
2019-05-17 11:53:05 -07:00
Hemanth V. Alluri 2bd9c8cb42 devtools: Add custom HTTP headers support to the integrations dev panel.
This commit introduces a simple field where the user can now specify custom
HTTP headers. This commit does not introduce an improved system for storing
HTTP headers as fixtures - such a change would modify both the existing unit
tests as well as this devtool.
2019-05-17 11:50:53 -07:00
Hemanth V. Alluri 64b4fd5923 management: Extract parse_headers in send_webhook_fixture_message.
This way other devtools such as the integrations development panel
could also use the method.
2019-05-17 11:50:53 -07:00