Commit Graph

28186 Commits

Author SHA1 Message Date
Yashashvi Dave
1400a040fd user settings: Improve style of "Preview profile" btn.
This commig update button to show user profile in user
settings. This commit change text in button, add external
link icon and change style of button.
2018-08-28 13:59:45 -07:00
Steve Howell
9f3b71b0b8 Adjust the message feed for long messages.
We now have a callback for whenever the compose
box gets autosized by our old vendored version
of the autosize widget.  It calls code to
scroll up the message feed if we are newly
covering it.
2018-08-28 13:50:19 -07:00
Tim Abbott
2c7f9ce0fc puppet: Fix puppet-lint warnings in various manifests.
Apparently, `puppet-lint` on Ubuntu trusty throws warnings for certain
quoting patterns that are OK in modern `puppet-lint`.  I believe the
old Zulip code was actually correct (i.e. the old `puppet-lint`
implementation was the problem), but it seems worth changing anyway to
suppress the warnings.

We also exclude more of puppet-apt from linting, since it's
third-party code.
2018-08-28 13:46:31 -07:00
Tim Abbott
54e90deda8 notifications: Handle APNS "Unregistered" errors properly.
Apparently, the APNS library we're using is inconsistent about the
format of its result entries; some are strings while others are
tuples.
2018-08-28 12:12:46 -07:00
Yago González
c36cf95dc8 api docs: Document GET /server_settings. 2018-08-27 17:45:50 -07:00
Cynthia Lin
e92ec362ca popovers: Show line breaks in Long type fields in user profile popovers. 2018-08-27 17:38:15 -07:00
Tim Abbott
0af7a12197 api: Fix typos in doc on constructing narrows. 2018-08-27 17:37:37 -07:00
Yashashvi Dave
9a09513b4d user settings: Add link to user profile popover.
Add button to view current user's profile popover
from user settings page.
2018-08-27 17:26:07 -07:00
Yashashvi Dave
4049a08b88 user popover: Display text as link for URL custom field.
In user profile popover, for URL type custom field
display text as link in popover, so user can easily
click on link directly.
2018-08-27 17:26:07 -07:00
Yashashvi Dave
1c14e0166c user profile popover: Enhance popover style.
This commit make changes in style of exit-sign of modal,
and also remove spacing between fields in modal.
2018-08-27 17:26:07 -07:00
Yashashvi Dave
1d7164225f custom field: Rename field type List to List of options in UI. 2018-08-27 17:26:07 -07:00
Roman Godov
a2f407c11b api: Add an endpoint for listing the user groups in realm.
Adds endpoint for listing the user groups in realm.
Provides "description", "members", "name" and "id" for each user group.

Fixes #10298
2018-08-27 16:56:23 -07:00
Lyla Fischer
1efcdfdb5c templates: Merge Help and API doc main into documentation_main.
With minor fixes by eeshangarg.
2018-08-27 20:19:24 -02:30
Yago González
8b141e6dbc muting: Correct agrammatical error message.
The error message displayed when unmuting a topic that wasn't previously
muted wasn't properly formulated.
2018-08-27 14:12:03 -07:00
Vishnu Ks
98dac0f0a9 billing: Remove Customer.billing_user. 2018-08-27 12:35:46 -07:00
Vishnu Ks
dcb7b15069 billing: Use UserProfile.is_billing_admin instead of Customer.billing_user. 2018-08-27 12:35:46 -07:00
Marco Burstein
6f57cd4d23 upload: Use a placeholder when uploading.
Use the placeholder `[uploading file]()` when uploading before the
upload has completed. This behavior prevents an image from being
improperly placed when typing after starting an upload. This is based
on GitHub's handling of image uploading.

Also, add tests to the `upload` Node tests and update existing tests to
account for the new behavior.

Fix #10305.
2018-08-26 23:33:24 -07:00
Marco Burstein
fa22cf18f6 compose_ui: Create the compose_ui.replace_syntax function.
`replace_syntax` will replace text inside of a compose textbox. Also,
add tests to the `compose_ui` Node tests for this function.
2018-08-26 23:33:24 -07:00
Harshit Bansal
e204fe3948 minor: Fix for failing tests. 2018-08-27 06:16:16 +00:00
Yago González
54464feda7 api docs: Document the PATCH /users/me/subscriptions/muted_topics endpoint. 2018-08-26 23:10:21 -07:00
Marco Burstein
76511aeed6 settings: Add a minimum width to "person picker" custom fields.
Empty "person picker" fields appear with a much smaller width than all
other custom fields. Increase the `min-width` of the field that it
matches the widths of other text boxes.

Fix #10414.
2018-08-26 23:05:10 -07:00
Rishi Gupta
e31fa7edfe integration docs: Note that the stream name has to be URL-encoded. 2018-08-26 22:58:16 -07:00
Rishi Gupta
e9e2721aa2 integration docs: Simplify create a bot instructions. 2018-08-26 22:58:16 -07:00
Vishnu Ks
62b93d551a signup: Fix broken resend email link in realm creation flow.
Also use name for selecting form in casper tests
as form with action=new is present in both /new
and /accounts/new/send_confirm/ which breaks
test in CircleCI as
waitWhileVisible('form[action^="/new/"]) never stops
waiting.
2018-08-26 22:54:05 -07:00
Vishnu Ks
d2e4417a72 urls: Separate endpoint for signup and new realm email confirm.
This is preparation for the next commit.
2018-08-26 22:53:57 -07:00
Steve Howell
c8fbc0706f tests: Test misc things with input pills. 2018-08-26 22:32:08 -07:00
Steve Howell
53fee3606c tests: Test arrowing between input pills. 2018-08-26 22:32:08 -07:00
Steve Howell
a3b573a07c tests: Test pasting into pill input area. 2018-08-26 22:32:08 -07:00
Steve Howell
892085723f tests: Test copying text from input pills. 2018-08-26 22:32:08 -07:00
Steve Howell
1600529a8b tests: Clean up duplicate setup for input_pill.
We just set pill_input.before to a noop for all
of our tests in set_up, and callers can always
override it with more specific implementations.
2018-08-26 22:32:08 -07:00
Steve Howell
3745d44bed node tests: Add test for input pill exit button. 2018-08-26 22:32:08 -07:00
Steve Howell
bb3ecb178a Fix bugs related to batching message events.
This is general fix that makes sure that we
apply all message-modifying events after we
apply the events for the initial incoming
messages.

The particular scenario that was reported here
was when you would have two tabs for Zulip,
with one of them open and in a PM view, and
with the open tab being at the bottom of the
feed, such that incoming messages would be
immediately visible.

Now suppose the other person in that PM
conversation sent you a message.

The open tab would properly immediately
mark the message as read, and notify
the server.  The problem was that the closed
tab would not process the main message event
until it "woke up", by which time the flag-update
event was bundled into the same event batch
as the main message event.  We'd then process
the flag-update first, which essentially was
a noop, since the actual message wasn't in
the message store yet.  The user would then
see unread counts increment in the closed tab,
while the open tab didn't increment.  This
was confusing.

Now `server_events.js` processes the actual
message first and does the flag-update as part of a
`post_message_events` loop.

We include events for updating message flags,
deleting messages, and attaching submessages
to messages in the `post_message_events` array.

This bug was a bit difficult to simulate in a dev
environment, since you needed your "open" tab
to be in focus to simulate the race, but as
soon as you tab to another place to deliver
a message (whether from the browser or otherwise),
the open tab is no longer in focus.

I did this in the console of my "open"
tab to work around it:

    unread_ops.process_visible = unread_ops.mark_current_list_as_read;

This problem was easy to reproduce, but it wasn't
entirely consistent.  I often needed to send
several messages in succession to trigger event
batching and force the race condition.  (This wasn't
precisely a "race", as events actually arrive in the
correct order; it was having them arrive in the same
batch that triggered the bug.)
2018-08-26 22:26:28 -07:00
Steve Howell
5d98879922 minor: Rename var to update_message_events. 2018-08-26 22:26:28 -07:00
Steve Howell
ffb6f5099c minor: Alphabetize cases for event dispatching. 2018-08-26 22:26:28 -07:00
Harshit Bansal
d96d6a96f7 build_emoji: Add a missing check for image existence. 2018-08-26 22:16:23 -07:00
Harshit Bansal
f5454dff51 build_emoji: Automatically calculate sprite dimensions.
Instead of using a hardcoded value for spritesheet dimensions,
automatically calculate it using `emoji_data`. This will free
us from updating it only emoji datasource update as well as
allow us to add google blob emojiset.
2018-08-26 22:16:23 -07:00
Harshit Bansal
dbc3774c2f build_emoji: Refactor get_emoji_code() to not fail for old datasources.
If `non_qualified` field is not present then return the value of
`unified` field instead of failing.
2018-08-26 22:16:23 -07:00
Harshit Bansal
ec2ebd1cc9 build_emoji: Change sprite CSS files to use hyphens in names.
This is more consistent with our other names in emoji infra.
2018-08-26 22:16:23 -07:00
Harshit Bansal
9bd56d0ce4 build_emoji: Change emoji sprite sheets to use hyphens in names.
Use of hyphens is more consistent with our other emoji infra names.
2018-08-26 22:16:23 -07:00
Harshit Bansal
96f00d1dfa settings: Remove unused emoji sprite CSS entries in static assets pipeline. 2018-08-26 22:16:23 -07:00
Harshit Bansal
aa6f098496 build_emoji: Extract setup_emoji_farm(). 2018-08-26 22:16:23 -07:00
Harshit Bansal
dc9ff928f3 build_emoji: Refactor ensure_emoji_image() to take paths as args. 2018-08-26 22:16:23 -07:00
Harshit Bansal
ed694001da build_emoji: Rename setup_emoji_farm() to setup_emoji_farms(). 2018-08-26 22:16:23 -07:00
Yashashvi Dave
d72280f1c7 invite user: Fix click handler called multiple time on submit.
This commit fixes multiple invite-user-email sent to user.

In invite-user-form, submit-form click handler is getting
called multiple times on submit-invite-user-form event, which
results in multiple invitation mail to user.
Because, we registered same submit click handler multiple times.
Submit form click handler is registered when user opens invite-user
modal. If user opens modal multiple times, click handler get
registered multiple times.

We should register this click handler on `exports.initialize`
function instead of `exports.launch` function. This modal is unlike
other modal, where we append html when user opens modal. In this
case, we append modal on initialization. We only show modal when
user opens. So on initialization, modal element already exists,
register click handler on submit-btn element, on intialization
not when user open modal.

Fixes #10354.
2018-08-26 22:15:50 -07:00
Yashashvi Dave
f4067bb38b static/js/invite.js: Extract func submit_invitation_form.
Extract function `submit_invitation_form` and relocate
some functions to make it easy to review diff.
2018-08-26 22:15:50 -07:00
Steve Howell
37acb3e2cb tests: Test left arrow for pill input. 2018-08-25 06:51:15 -04:00
Steve Howell
c9fab959b9 tests: Test comma behavior for input pills. 2018-08-25 06:51:15 -04:00
Rishi Gupta
eec07072ee billing: Add coupons. 2018-08-24 17:27:26 -07:00
Rishi Gupta
d229948a43 billing: Make source optional when creating stripe customer. 2018-08-24 16:40:34 -07:00
Rishi Gupta
4ad8f20c28 billing: Add comment explaining race condition in customer creation. 2018-08-24 16:40:34 -07:00