Commit Graph

103 Commits

Author SHA1 Message Date
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
Anders Kaseorg 70c977696d requirements: Upgrade flup to 1.0.3.dev20161029 for Python 3 support
Signed-off-by: Anders Kaseorg <andersk@mit.edu>
2016-11-26 13:20:22 -08:00
Chelsea Voss 32f5db16fb Add pytest-runner as a prereq to pip installing python-twitter.
While I was setting up the dev environment, pip failed to install
python-twitter: https://github.com/bear/python-twitter/issues/406

This was fixed by manually installing pytest-runner before trying to
install python-twitter, for both the python and python3 virtualenvs.
2016-11-20 13:06:41 -08:00
Tim Abbott a960ff6773 requirements: Update cryptography packages. 2016-11-15 10:13:51 -08:00
Umair Khan 47e8a56870 Django 1.10: Use compatible django guardian. 2016-11-14 16:09:12 -08:00
Umair Khan e89af4c470 Django 1.10: Fix django-bitfield.
SubfieldBase was deprecated in Django 1.10 so the version we use now
doesn't rely on that class.
2016-11-14 16:09:12 -08:00
paxapy 456e761294 lint: Add pep8 checker to the project.
We set this up initially with all of the rules that Zulip violates
disabled.

Also, the pep8 linter is substantially slower than the other Zulip
linters, so we've put it behind an option to `tools/lint-all`.
2016-11-09 15:17:49 -08:00
paxapy 93965a8e89 Add tools for dumping and comparing markdown renderings.
This adds a couple new tools that can be used to determine whether a
particular change in Zulip's backend markdown processor would impact
the rendering of historical messages, without a human actually looking
at the message content.  This is a useful way to verify whether a
change to our markdown syntax is likely to create problems.

[commit message and code tweaked by tabbott]
2016-11-07 07:49:56 -08:00
Tim Abbott 50382f153a requirements: Upgrade pillow to the latest version. 2016-11-06 20:52:04 -08:00
Tim Abbott c6ceae868b requirements: Upgrade twisted, adding incremental and constantly.
Twisted 16.5.0 has a couple new dependencies.
2016-11-05 09:13:35 -07:00
Tim Abbott be506d63f6 requirements: Upgrade a bunch of minor Python package versions.
These are all minor versions and thus shouldn't have any impact.
2016-11-05 09:13:28 -07:00
K.Kanakhin 09e17fbe17 run-dev: Use tornado for dev proxy server for HTTP requests.
- Use tornado as proxy server for development environment,
  replacing twisted (this doesn't support websockets).
- Upgrade tornado version to 4.4.1 (needs to be coupled to the
  above since neither change works without the other)
2016-11-01 20:35:31 -07:00
Tim Abbott 7a02ed42e7 requirements: Move fakeldap to dev.txt. 2016-10-28 11:04:08 -07:00
Umair Khan 50422e775b Add LDAP tests. 2016-10-28 09:27:55 -07:00
K.Kanakhin 6b31fcd63a docs-test: Add scrapy crawler to check documentation not having broken links.
- Add scrapy project with rewrited 'crawl' command and spider to check documentation.
  Command was rewrited due to return exit status by the exception existing,
  it returns exit code 0 if exception happens inside spider in standard behavour.

- Add scrapy requirements to for dev environment. It was added to twisted requirements list.

Fixes #1492
2016-10-25 11:35:16 -07:00
Tim Abbott 0784c4b339 requirements: Install the Zulip API bindings by default.
Now that we're no longer using the --install-option feature of
requirements.txt, we can add this back in again.
2016-10-17 23:21:43 -07:00
Tim Abbott e91f227c0b requirements: Update python-social dependency.
Also, fix the use of `>=` in the version declarations; we want to be
precise about what versions we're installing.
2016-10-16 01:13:50 -07:00
Tim Abbott 14e2540b2f requirements: Upgrade a bunch of dependencies.
These are all minor version upgrades that should be safe.
2016-10-16 01:13:50 -07:00
Tim Abbott ec9dcd7fb4 Upgrade mypy to version 0.4.5.
Now that 0.4.5 is out, we no longer need to use a forked version of mypy.
2016-10-16 01:10:43 -07:00
umkay c028815385 bugdown: Update python-markdown to version 2.6.7.
This updates Bugdown to reflect the changes in the updated
markdown. In particular, we now pass a default config object in the
__init__ for the Bugdown extension, update the make_md_engine function
to take kwargs as opposed to a config list, and have UListProcessor
inherit from ulist as opposed to olist (which no longer works).

We update the (forked from upstream) fenced_code extension's
makeExtension to take args and kwargs, and update
FencedBlockPreprocessor __init__ method with updated Codehilite
arguments.

We update the (forked from upstream) Codehilite extension to
mirror the logic with the latest upstream Codehilite:
	Add parse_hl_lines function
	update makeExtension to take args and kwarfs instead of config
	list
	Add regex for highlight lines
	use linenums instead of linenos
	use get_formatter_by_name instead of HtmlFormatter
	user get_lexer_by_name instead of TextLexer
	add hl_lines and use_pygments arguments to the codehlite
	constructor
2016-10-15 23:38:32 -07:00
umkay bfbf07fde2 Update pinned SQLAlchemy requirement to latest upstream version.
The prerequisite to this change is
278574a6ec
2016-10-14 14:45:43 -07:00
Umair Khan 624f79a892 Use a version of Talon hardcoded to use the --no-ml argument.
This works around https://github.com/pypa/pip/issues/3845, where the
`--install-option` argument was incorrectly polluting other
dependencies).
2016-10-12 22:32:34 -07:00
K.Kanakhin e7642daa2a py3_prod: Add py3 production requirements file. 2016-10-11 14:19:00 -07:00
Tim Abbott 7639dc87a8 Revert "requirements: Install the Zulip API bindings by default."
This reverts commit de5b6d9e37.

This change appears to have caused problems provisioning due to a
conflict with the `--install-option` feature used by talon.
2016-10-10 23:36:01 -07:00
Tim Abbott de5b6d9e37 requirements: Install the Zulip API bindings by default.
Fixes: #1957.
2016-10-10 17:41:46 -07:00
K.Kanakhin 06e70e1fbd run-dev-proxy: Fix twisted py3 compatibility.
- All necessary strings was converted to bytestring
 - Added twisted as py3 dependency
 - Change type annotation for method getchild of class Resource
 - Remove activating python2 env section from run-dev.py script

Fixes #1256
2016-10-06 20:21:25 -07:00
Tim Abbott a17a6a21c0 Upgrade Django to 1.8.15 with Zulip patches. 2016-09-27 20:29:08 -07:00
Tim Abbott 535a40ded9 requirements: Add enum34 for ipython on python 2.
I guess we don't have anything that tests ipython in CI, so this was
missed when I upgraded ipython earlier this week.
2016-09-20 22:37:47 -07:00
Tim Abbott 59f3fd55c9 requirements: Upgrade moto and dependencies. 2016-09-19 22:55:05 -07:00
Umair Khan e3078b226a Optimize incremental virtualenv creation.
This adds a new system for copying packages from old virtualenvs that
are sufficiently similar to the new virtualenv required.

In practice, this results in a huge performance improvement for
re-provisioning Zulip development environments when the requirements
files have changed (which is the dominant performance problem with
provision today).

Fixes: #1507.
2016-09-19 22:35:32 -07:00
Tim Abbott 27e4ed126f requirements: Upgrade various Python dependencies. 2016-09-19 22:32:02 -07:00
Tim Abbott 0cab02b58a Upgrade mypy to latest upstream git.
This new mypy version supports some performance improvements and
should also facilitate running mypy on our scripts more efficiently.
2016-09-19 22:19:38 -07:00
umkay 82d03d603a Update Pygments to latest upstream version.
In HTML, the line break immediately following a start tag is ignored
(see: https://www.w3.org/TR/html4/appendix/notes.html#h-B.3.1). An
extra span tag has been introduced in the upstream Pygments
HtmlFormatter in order to preserve the first new line. The Bugdown
Tests as well as our fenced_code.js frontend markdown processor have
been updated to reflect this new behavior.
2016-09-12 21:58:25 -07:00
Tim Abbott 317e2a63b3 Remove tools/deprecated/review and associated files.
This hasn't been used since before Zulip was open source, and isn't
super reusable, so we can remove it.  It'll always be there in the
history if someone ends up wanting it.

While we're at it, we remove the GitPython dependency (only used for
this tool) and the example MSMTP config for the review tool.
2016-09-10 10:53:02 -07:00
Tim Abbott a4536cca1e emoji_dump: Generate a sprite sheet for the Zulip emoji. 2016-09-08 15:16:58 -07:00
Umair Khan 13159ab266 Provide versions through egg.
Giving version in the git urls will allow pip to compare the
installed version and skip the download if the installed
version is up to date.
2016-09-08 14:15:20 -07:00
ukhan 3c1027a584 Update sockjs-tornado to latest version. 2016-08-15 16:58:58 -07:00
ukhan a7607f843b Update Tornado to 3.2.2, which does not break tests 2016-08-15 16:57:19 -07:00
ukhan db81647b7b Update packages in requirements that won't break tests
upgrade moto, downgrade httpretty for compatibility

downgrade commonmark for compatibility
2016-08-12 17:56:23 -07:00
ukhan 180b438c44 Upgrade setuptools prior to updating mock 2016-08-12 17:56:23 -07:00
Umair Khan 2edb79776e Calculate translation percentages.
Fixes: #1397
2016-07-29 11:58:41 -07:00
Umair Khan 2df62d4539 Add socialauth requirements file. 2016-07-28 15:26:00 -07:00
Eklavya Sharma 80bb27570d Remove unneeded dependencies.
We install service-identity to prevent twisted from giving spammy
warnings.  However, we don't need the security features provided
by service-identity.  So we can remove most of its cryptographic
dependencies.
2016-07-28 14:52:09 -07:00
Eklavya Sharma 9922ecc7d6 Shift twisted to requirements/py2_dev.txt.
Since twisted is only used for running tools/run-dev.py, we only
need it in development.  Also twisted is not python 3 compatible.
So it should be shifter to requirements/py2_dev.txt.
2016-07-28 14:52:09 -07:00
Eklavya Sharma af28d026e3 Upgrade coverage. 2016-07-28 14:38:23 -07:00
Eklavya Sharma 68058d6ca0 Upgrade transifex-client and urllib3. 2016-07-28 14:38:23 -07:00
Eklavya Sharma cdf73ccf84 Upgrade lxml. 2016-07-28 14:38:23 -07:00
Eklavya Sharma eb34c249d7 Upgrade doc-building dependencies.
Upgrade alabaster and sphinx to latest version.
commonmark can't be updated because recommonmark uses an old
version of commonmark which is incompatible with latest version.
2016-07-27 14:47:29 -07:00
Tim Abbott 65175ef15a Test upgrading Tornado to 3.1.1. 2016-07-27 13:47:34 -07:00
Eklavya Sharma c51b5bced8 Upgrade regex. 2016-07-27 13:03:31 -07:00