Commit Graph

2178 Commits

Author SHA1 Message Date
Steve Howell b2bb2f8ea0 Extract people.init() function.
We need this for node tests, so that you don't have to explicitly
remove every user between tests.  (Also, people.remove() is about
to have different semantics.)
2016-12-15 17:44:58 -08:00
vaibhav 75bf501553 Add optional waiting period for users to create streams.
This adds support for only allowing normal users with account age
equal or greater than a "waiting period" threshold to create streams;
this is useful for open organizations that want new members to
understand the community before creating streams.

If create_stream_by_admins_only setting is set to True, only admin users
were able to create streams. Now normal users with account age greater
or equal than waiting period threshold can also create streams.

Account age is defined as number of days passed since the user had
created his account.

Fixes: #2308.

Tweaked by tabbott to clean up the actual can_create_streams logic and
the tests.
2016-12-15 16:54:30 -08:00
Niels Terwiesch e04fe084b7 docs: Add user guide for change stream color. 2016-12-15 16:28:20 -08:00
Umair Khan db5d86ab9e i18n: Title attribute should be translatable. 2016-12-15 13:44:13 -08:00
Sampriti Panda 0fb3c07c6e integrations: Add documentation for AppFollow 2016-12-15 11:13:27 -08:00
Sampriti Panda 91780180f6 integrations: Add webhook code, API endpoint, and tests for AppFollow 2016-12-15 11:13:27 -08:00
Tim Abbott f0f4be4af7 lint: Fix remaining no-unused-vars eslint rule violations. 2016-12-14 22:36:47 -08:00
Tim Abbott fe2d38392f subs: Restore debouncing of stream filtering.
This appears to have been accidentally removed in the redesign.
2016-12-14 22:36:47 -08:00
Rafid Aslam 45f39be37f lint: Fix many no-unused-vars eslint rule violations.
These have been carefully audited by tabbott to ensure they are
unlikely to cause regressions.
2016-12-14 21:34:51 -08:00
Brock Whittaker 80ad28bab5 Don't repeat date header if message date is same as previous.
This primarily works to make sure that new queued messages don’t end up
with redundant date headers on them.
2016-12-14 20:41:33 -08:00
Tommy Ip 0329b67048 admin: Limit bots in settings page.
Updated `get_editable()` so that organization admins only see their
own bots in their personal settings page; this removes a lot of
unnecessary clutter.

Fixes #2657.
2016-12-14 19:29:02 -08:00
Tommy Ip fa4050d62d Improve error handling in is_current_user().
Realm bots have a owner of `null` but that is not explicity handled
in `is_current_user()`.
2016-12-14 19:27:43 -08:00
Steve Howell 546cc27f0d minor: Add code comment re:unread counts. 2016-12-14 19:10:55 -08:00
Steve Howell 5444486acb Have unread_topic_counter.get_counts() return a result.
Before this change, we passed in a hash to get_counts() to
mutate, but now we make the caller responsible for splicing
results into a bigger data structure.

The function now involves no mutation.
2016-12-14 19:10:55 -08:00
Steve Howell b11fbf0b4b Consolidate stream/topic logic for unread messages.
This change introduces an unread_topic_counter object
that manages unread counts for streams and topics.  Consolidating
all the logic into a single class will set us up to add
logic for dealing with topic counts that includes provisional
counts of unread messages from the server.  It also makes
the current code a little easier to reason about.

Most of this change was simply extracting functions, but
I also removed a few unnecessary and inconsistent calls to
`stream_data.canonicalized_name` that preceded our use of
Dict with a fold_case argument.
2016-12-14 19:10:55 -08:00
Brock Whittaker c25694a9d9 Do not reload page on form submission in settings page.
Currently under Zulip Labs and Notifications, saving changes reloads
the page. This shouldn’t happen.

Fixes #2697.
2016-12-14 16:32:32 -08:00
Brock Whittaker 706b2e7978 Absolutely position the .recipient_row_date.
Firefox doesn’t handle multiple floats well so this is a better
solution — to absolutely position it in the recipient row container.
2016-12-14 15:44:54 -08:00
Brock Whittaker 6ed7ba8935 Blur all links after clicking.
The links don’t have to stay focused and produce unintended side
effects.
2016-12-14 15:37:43 -08:00
Brock Whittaker 660144a79d Blur the active element on settings/streams modal exit.
This blurs any focused element so that you can’t accidentally enter
into anything on a hidden modal.
2016-12-14 15:37:43 -08:00
Umair Khan 3b7959c308 Django 1.10: Update i18n.
Django 1.10 uses the correct locales for simplified and traditional
Chinese languages. Previous versions used 'zh_CN' and 'zh_TW'
respectively while now the locales are 'zh_Hans' and 'zh_Hant'. This
commit takes care of this transition by doing the following:

- Add a missing translation zh-hans locale so that our tests pass.
- Add zh_Hans locale directory under 'static'. Case of the local name
is important, if we use 'zh_HANS' then the compiled translations
do not work under certain conditions.
2016-12-13 21:40:43 -08:00
peguin40 01a0d11705 Show markdown help in message editing UI.
Fixes #2578.
2016-12-13 20:49:39 -08:00
Brock Whittaker a460fcddef Add Date Headers to Floating Bar and Message Headers.
This adds the date of a block of messages to the floating recipient
bar along with message headers of blocks that are the first of a
particular day.
2016-12-13 20:36:39 -08:00
Brock Whittaker 2fc803786b Fix margins in Subscriptions Overlay.
There is a case with browser zoom that the inline-block split view
breaks down and the two 50% tabs fall below each other. This prevents
that issue from happening.
2016-12-13 20:35:14 -08:00
Bojidar Marinov 8b44ace3a8 frontend: Make global notifications live-update on changes.
Fixes #2527
2016-12-13 20:22:13 -08:00
Cynthia Lin 23652f8025 docs: Add user guide for *Browse and join streams* feature. 2016-12-13 18:48:23 -08:00
Brock Whittaker a3fcc6e026 Change groups of muted topics to be less translucent on hover.
On hover, the transparency of muted stream/topic groups should turn up
to 0.6 so that they are easily readable by people looking to find a
particular stream/topic, but not completely opaque as to be confused
with a non-muted item.

Fixes: #2487.
2016-12-13 14:24:56 -08:00
Brock Whittaker 65288848b1 Fix Hiding Stream Creation Prompt on "Enter".
The stream creation prompt would be hidden if someone clicked “Enter”
and the form failed. This is presumably due to some bootstrap magic.
2016-12-13 13:16:51 -08:00
Bickio 868f343980 Do not open compose box if user sidebar search is empty.
Fixes #2357.
2016-12-13 11:04:08 -08:00
reallyly 94b28e0afb pep8: Fix E128 violations.
With some line-wrapping tweaks by tabbott.
2016-12-13 10:50:14 -08:00
Steve Howell bb43c4d4c9 Remove select-default-language.png.
This accidentally got committed on the prior commit. It is
not used anywhere.
2016-12-12 12:55:52 -08:00
Cynthia Lin c0f87481c6 docs: Add user guide for *Message display settings* feature 2016-12-12 12:43:45 -08:00
Zach Breit 3368b90f34 docs: Add user guide for 'Changing the Default Language' 2016-12-12 09:29:58 -08:00
Brock Whittaker 1886f0a015 redesign: Convert subscriptions page to overlay.
This is a major change to the /#subscriptions page, converting it to
by a side-by-side list of streams and their settings in an overlay.
There are no new features added/removed, but it's a huge changeset,
because it replaces the old navigation logic and moves the stream
creation modal to appear in the right side of this overlay.
2016-12-09 11:08:08 -08:00
Cynthia Lin eb35d53ed1 docs: Add user guide for *Zulip glossary* 2016-12-09 05:07:57 -08:00
Brock Whittaker 9823e4de33 components: Change label.checkbox style.
Change the label.checkbox style to be grey instead of green which I
think blends with the current aesthetic more.
2016-12-08 11:49:45 -08:00
Igor Tokarev 0bac986f26 Fixed compose box PM recipient typeahead handling of focus.
This closes #2315.
2016-12-07 22:13:47 -08:00
Tommy Ip fe4a0e72fc Add new button to download ~/.zuliprc from settings page.
Added new option to download .zuliprc file directly from settings
page.  This should help reduce friction when setting up new
bots/integrations. This new feature is available in the bot cards and
the 'show your API key' section. One caveat is that the filename is
automatically set to 'zuliprc' instead of '.zuliprc', since as most
browsers do not allow filenames to start with a dot.

Fixes #2327.
2016-12-07 21:28:41 -08:00
Tomasz Kolek 9933abf833 css: Fix problem with too long stream name on stream deletion modal.
Add overflow-wrap rule to zulip.css for deactivation_stream_modal h3.

Fixes: #2596.
2016-12-07 21:23:23 -08:00
Tomasz Kolek 4fe3cd98f8 css: Fix problem with too long stream name in left sidebar.
Add overflow-wrap rule for .stream-name class to left-sidebar.css.
2016-12-07 21:21:47 -08:00
Tomasz Kolek eac002c6bd css: Fix problem with too long stream error formatting.
Add overflow-wrap rule for #response span to subscriptions.css.
2016-12-07 21:20:57 -08:00
Vamshi Balanaga 9fd375c249 integrations: Add documentation for mention 2016-12-07 21:19:03 -08:00
Niels Terwiesch 2288120155 docs: Add user guide for emoji 2016-12-07 20:48:39 -08:00
Igor Tokarev c93f1d4eda Add oembed/Open Graph/Meta tags data retrieval from inline links.
This change adds support for displaying inline open graph previews for
links posted into Zulip.

It is designed to interact correctly with message editing.

This adds the new settings.INLINE_URL_EMBED_PREVIEW setting to control
whether this feature is enabled.

By default, this setting is currently disabled, so that we can burn it
in for a bit before it impacts users more broadly.

Eventually, we may want to make this manageable via a (set of?)
per-realm settings.  E.g. I can imagine a realm wanting to be able to
enable/disable it for certain URLs.
2016-12-07 17:40:18 -08:00
Robert Hönig b44c4680ff docs: Add user guide for *Search for messages*. 2016-12-07 17:12:34 -08:00
Rafid Aslam 7856217a63 Migrate JS modules to CommonJS style.
Closes #1488.
2016-12-07 16:11:52 -08:00
Brock Whittaker 83ca1ab149 register: Make /register responsive again.
After some tremendous changes the container now shouldn’t break badly
on narrow screens as flexbox doesn’t set it off the screen.
2016-12-07 15:33:57 -08:00
Juanvulcano 2e5eb74eec help: Create name-change.md. 2016-12-07 12:27:24 -08:00
actuallyatoaster 25ed6876be docs: Add user guide for changing password. 2016-12-07 11:59:54 -08:00
Sampriti Panda a9e2de09da integrations: Add documentation for heroku 2016-12-07 05:39:45 -08:00
Yago González e65c42cb5f eslint: Turn on errors for new-cap rule.
Now the eslint rule "new-cap" is set as: ["error", { "newIsCap": true, "capIsNew": false }]
2016-12-07 05:33:16 -08:00