Commit Graph

12210 Commits

Author SHA1 Message Date
Kouhei Sutou 683f49aa99 Support full text search for all languages using pgroonga.
This adds support for using PGroonga to back the Zulip full-text
search feature.  Because built-in PostgreSQL full text search doesn't
support languages that don't put space between terms such as Japanese,
Chinese and so on. PGroonga supports all languages including Japanese
and Chinese.

Developers will need to re-provision when rebasing past this patch for
the tests to pass, since provision is what installs the PGroonga
package and extension.

PGroonga is enabled by default in development but not in production;
the hope is that after the PGroonga support is tested further, we can
enable it by default.

Fixes #615.

[docs and tests tweaked by tabbott]
2016-08-26 21:04:03 -07:00
Steve Howell 51f35f2ff7 subject/topic: Rename empty_subject_placeholder. 2016-08-26 20:26:24 -07:00
Steve Howell a929c6a8ba subject/topic: Rename process_message_for_recent_subjects(). 2016-08-26 20:26:24 -07:00
Steve Howell 0c8c1bb4ae subject/topic: Rename remove_expanded_subjects(). 2016-08-26 20:26:24 -07:00
Steve Howell 8216a42d85 subject/topic: Rename same_stream_and_subject(). 2016-08-26 20:26:24 -07:00
Steve Howell 93095eca85 subject/topic: Rename rebuild_recent_subjects(). 2016-08-26 20:26:24 -07:00
Steve Howell e53b0f564f subject/topic: Rename unread_subjects to unread_topics. 2016-08-26 20:26:24 -07:00
Brock Whittaker 64079b382f Channel popup unsubscribe button.
From the popups that appear when clicking the down-arrow in the left
column's streams, you can now unsubscribe from that particular
channel. This runs on the same function that unsubscribes you from
streams in the "Subscriptions" tab.

Fixes: #1554.

[tweaked by tabbott to fix some errors]
2016-08-26 20:22:11 -07:00
saket14 83a05c2821 docs: Fix duplicate word in README.md. 2016-08-26 19:08:10 -07:00
Brock Whittaker 5840fef3b6 Text overflow for subscription description.
The text now overflows with an ellipsis and doesn’t break the page when
the page closes up.

Fixes: #1490.
2016-08-26 16:05:00 -07:00
Rishi Gupta 084bc63cad Change Day 2 email to be sent 24 hours after the user signs up.
Old behavior is to do something tricky that relies on the server being on
Pacific Time and the users being in the US. The goal is to have this message
appear during business hours, since click through rates are higher during
business hours. Our server is now on the East Coast though and our users are
in every timezone, so until we do something smarter this seems like a better
heuristic. We're also trying to cleanse our codebase of non-timezone-aware
datetime.datetime objects.
2016-08-26 15:59:30 -07:00
Brock Whittaker 64c48119de Fix message topic edit CSS.
This fixes the overflowing issues, the broken styling of the topic
edit input box, and makes it somewhat more responsive.

Fixes: #1270.
2016-08-26 15:22:39 -07:00
Brock Whittaker 5de33c94be Add padding to checkboxes and fix HTML.
The ‘for’ attribute is not valid HTML in the case of this because the
emails are invalid character sets and the input has no ID with the
email.

This changes it to a data-name which is still searchable but doesn’t
interfere with typical input behavior.

The checkboxes no longer float-left, fixing an issue with the
subscribe buttons leaning right in narrow windows.

Fixes: #1491.
2016-08-26 15:03:45 -07:00
Brock Whittaker ce4ff5850c Add permanent scrollbar to code blocks.
This adds a permanent scrollbar to code blocks to get around some
Chrome on Mac issues where scrollbars won’t appear with particular
combinations of hardware.

Fixes: #1565.
2016-08-26 14:33:19 -07:00
Tim Abbott 1d0ae8b11c docs: Clarify that one should unpack in /root to install. 2016-08-26 11:56:12 -07:00
Tim Abbott b200c6cdc0 Move assets/ to live under static/.
This decreases the clutter in the root directory of the Zulip
repository.
2016-08-26 10:23:38 -07:00
Brock Whittaker d8aed0227a Put register template into centering containers.
This centers the content of the register container by putting it in
some flex box elements.
2016-08-25 20:55:55 -07:00
Brock Whittaker b8a1dcdf0d Restyle registration pages.
The registration pages — both the landing page and the follow through
page after receiving an email have been restyled to be more linear in
nature and centered using flex box.
2016-08-25 20:55:55 -07:00
Tim Abbott 376e3736d3 templates: Reindent registration page. 2016-08-25 20:55:55 -07:00
Brock Whittaker 6f988b482a Move viewport meta-tag to base template.
The portico template inherits base but not index, but index inherits
base. Therefore the viewport meta-tag should be moved to base so that
the entire site can have the meta tag.
2016-08-25 20:26:06 -07:00
Tim Abbott 9001bebf2f Move THIRDPARTY to docs/ subdirectory. 2016-08-25 20:02:42 -07:00
Taranjeet Singh db4e629d51 .gitignore: Remove errors and stats dir.
These directories are no longer used.
2016-08-25 19:58:53 -07:00
Taranjeet Singh 4350b6e0fb provision.py: Create dir var/node-coverage for js test coverage.
test-js-with-node: Move istanbul test coverage to var/node-coverage.

This commit moves js test coverage generated through istanbul to
var/node-coverage.
2016-08-25 19:58:30 -07:00
Taranjeet Singh b36dfc0395 Store coverage data under var/ tree.
We set the COVERAGE_FILE environment variable which controls the
output file path for the .coverage file produced by python-coverage,
and also move the mypy coverage file to that location as well.
2016-08-25 19:51:53 -07:00
Tim Abbott c454b180e0 zjsunit: Fix running coverage.
Previously, we would end up treating the command-line arguments to
"instanbul cover" as filenames.
2016-08-25 19:51:50 -07:00
Rag Sagar ce1777b0cb Update update_realm view path and signature in the new feature tutorial. 2016-08-25 19:35:42 -07:00
Tim Abbott 546c23fd1f puppet: Activate pgroonga extension after installation.
The pgroonga extension needs to be activated using postgres root
access, so we make that happen from puppet.
2016-08-25 18:37:45 -07:00
Tim Abbott 9818a760b5 Install pgroonga in development and (optionally) in prod.
This is preliminary work towards being able to merge support for using
the pgroonga full-text search solution for all languages in Zulip.
2016-08-25 18:03:55 -07:00
Tim Abbott 5a065503cb docs: Update copyright license dates to include 2016. 2016-08-25 16:31:15 -07:00
Brock Whittaker 8f73701b96 Upgrade jQuery to 1.12.1 and fetch from node_modules.
Fixes: #1196.
2016-08-25 15:32:08 -07:00
Tim Abbott 3ba604cb47 Migrate jquery-validate to a current version installed via npm. 2016-08-25 15:32:08 -07:00
Tim Abbott 0644690602 Create static/node_modules symlink.
This will make it convenient to in the future install Zulip's
third-party dependencies via node without having to integrate them
with the webpack bundler.
2016-08-25 15:32:08 -07:00
Christie Koehler 7f48b3c137 tools: Update pre-commit hook so it works with vagrant dev setup.
Details:

Previously this hook required that you either be inside the vagrant
Zulip dev virtual machine when you ran git commit or that you had setup
your Zulip dev environment manually.

Now the script runs the linter via vagrant ssh if the following
conditions are met:

- VIRTUAL_ENV is not set
- vagrant is installed and a .vagrant directory exists in the repo

Otherwise the linter is run as it was before.

[tweaked to fix a few style things by tabbott]
2016-08-25 15:19:40 -07:00
Brock Whittaker e52d618f1b Switching from $.parseJSON to JSON.parse.
There are no modern browsers that do not have built in JSON parsing
abilities. We do not need $.parseJSON as it now just serves as a call
to JSON.parse.
2016-08-25 14:22:48 -07:00
Brock Whittaker 636d2df868 Convert misuses of attr to properly use prop.
Attr now returns “checked” instead of true and “” instead of false in
higher versions. This fixes those issues.

The attr(“data-*”) have also been covered to data() as well.
2016-08-25 14:22:28 -07:00
Brock Whittaker c16ab8d173 Set ajaxError to document, not body.
Body is deprecated and it should be bound to document instead.
2016-08-25 14:13:48 -07:00
Brock Whittaker 0ea770fc18 [spectrum.js] Patch invalid "!" color value with "#ffffff".
This code checks whether or not manual color inputs are supported in
the browser, but does so with an invalid property “!” which throws a
console.warn statement in jQuery. We change this test to a valid
“#ffffff” that works and does not throw warnings.
2016-08-25 14:13:48 -07:00
Brock Whittaker d02414ee88 Switch from deprecated $.browser to userAgent test.
$.browser is not supported in higher versions of jQuery. The solution
is to instead use vanilla JavaScript to test the navigator.userAgent
property for the browser.

Fixes: #1033.
2016-08-25 14:12:58 -07:00
Steve Howell 4dbeb66a4c tests: Add render.init() to node tests.
This makes sure we are explicit about partials in
individual test modules.  Eventually, we should figure
out a way to make partials automatically compile as
part of the node tests.
2016-08-25 13:56:08 -07:00
Steve Howell 8e38503d8c tests: Add sidebar_private_message_list() template test. 2016-08-25 13:56:08 -07:00
Tomasz Kolek 69a9fece70 Add GitLab integration.
Fixes: #33.
2016-08-25 13:49:51 -07:00
Tim Abbott 7e4caf3a67 Release Zulip 1.4. 2016-08-25 10:49:00 -07:00
Tim Abbott fba93cb494 scripts: rename deploy-zulip-from-git to reference upgrading. 2016-08-25 10:48:59 -07:00
Tim Abbott 7f445be23d docs: Clean up headings for maintenance page. 2016-08-25 10:48:48 -07:00
Tim Abbott 54c5c989c9 docs: Fix some broken links in headings. 2016-08-25 10:41:00 -07:00
Tim Abbott c0799a9d09 docs: Fix docs for upgrading from a git repository. 2016-08-25 10:40:51 -07:00
Tim Abbott 9839d93362 docs: Clean up duplicated content in development overview. 2016-08-25 10:40:51 -07:00
Tim Abbott f6c4e46afe docs: Move README.dev.md into ReadTheDocs.
Fixes: #669.
2016-08-25 10:40:51 -07:00
Tim Abbott d876909b69 docs: Clean up development environment headings. 2016-08-25 10:40:51 -07:00
Tim Abbott 30b5c2a4c0 docs: Document the fact that 14.04->16.04 is not supported. 2016-08-25 10:40:51 -07:00