Go to file
Aman Agrawal 03ea1ce528 recent_view_ui: Fix quick multiple page downs resulting in errors.
Fixes #27209

Since post_scroll__pre_render_callback is called to set
the correct focus, we don't need to set focus again here.

This was happening because `set_table_focus` relies on rows
being already rendered in the DOM which is not the case with
page down since rows are still being rendered by list widget
as we scroll down.

This code was the source of the error:
```
    if (new_scrollTop >= table_height) {
        row_focus = topics_widget.get_current_list().length - 1;
    }
```

row_focus set here is not rendered yet, hence making set focus
on search box.

But, since we set focus on table if user is scrolling, this
sets focus back on the table.
2023-10-16 13:25:16 -07:00
.github ci: Temporarily upgrade postgresql-client-common before upgrading. 2023-09-15 07:50:17 -07:00
.tx provision: Replace transifex-client with new transifex-cli. 2022-12-13 12:34:08 -08:00
.vscode vscode: Recommend remote development extension. 2021-11-03 16:03:46 -07:00
analytics mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
api_docs push_notifs: Add endpoint for sending a test notification. 2023-10-12 18:15:00 -07:00
confirmation mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
corporate mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
docs docs: Rename references to stats.js to stats.ts in the analytics doc. 2023-10-15 19:50:43 -07:00
help help: Remove link to Recent conversations. 2023-10-12 12:58:20 -07:00
locale i18n: Update translation data from Transifex. 2023-10-12 11:17:17 -07:00
patches dependencies: Patch source-sans to correct format() for variable fonts. 2023-09-13 17:08:53 -07:00
pgroonga migrations: Import BaseDatabaseSchemaEditor from its canonical module. 2023-03-05 14:46:28 -08:00
puppet uploads-internal: Mark `self` as a valid source of loading media. 2023-10-12 09:57:21 -07:00
requirements requirements: Upgrade Python requirements. 2023-10-09 11:55:16 -07:00
scripts mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
static hello: Redesign page. 2023-10-02 22:30:03 -07:00
stubs/taint actions: Split out zerver.actions.message_send. 2022-04-14 17:14:34 -07:00
templates communities: Allow user to filter orgs by type. 2023-10-12 09:58:47 -07:00
tools user_deactivation_ui: Convert module to TypeScript. 2023-10-16 13:06:54 -07:00
var/puppeteer
web recent_view_ui: Fix quick multiple page downs resulting in errors. 2023-10-16 13:25:16 -07:00
zerver webpack_public_path: Replace with webpack 5 publicPath: "auto" setting. 2023-10-16 10:36:27 -07:00
zilencer push_notifs: Improve error responses from /test_notification endpoint. 2023-10-12 18:15:00 -07:00
zproject push_notifs: Add endpoint for sending a test notification. 2023-10-12 18:15:00 -07:00
.codecov.yml
.codespellignore codespell: Fix newly found typos. 2023-04-03 22:39:21 -07:00
.editorconfig
.eslintignore web: Move web app to ‘web’ directory. 2023-02-23 16:04:17 -08:00
.eslintrc.json eslint: Enable import/no-cycle rule. 2023-10-10 12:09:15 -07:00
.gitattributes .gitattributes: Mark *.bmp, *.bson, *.mp3, *.pdf as binary. 2022-02-07 18:51:06 -08:00
.gitignore hello: Redesign page. 2023-10-02 22:30:03 -07:00
.gitlint lint: Update line-length for commit message to 72 in gitlint. 2023-05-01 10:35:52 -07:00
.mailmap mailmap: Put sorted list back in order. 2023-08-02 17:19:05 -07:00
.npmignore
.npmrc dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
.prettierignore dependencies: Switch to pnpm. 2023-03-20 15:48:29 -07:00
.pyre_configuration
.readthedocs.yaml readthedocs: Add a configuration file. 2023-02-03 16:36:54 -08:00
.sonarcloud.properties
CODE_OF_CONDUCT.md docs: Rename "private message" -> "direct message". 2023-06-23 14:36:16 -07:00
CONTRIBUTING.md docs: Add a note about "good first issue" label to contributing guide. 2023-10-02 09:15:53 -07:00
Dockerfile-postgresql docs: Fix grammar errors found by mwic. 2023-10-09 13:24:09 -07:00
LICENSE
NOTICE
README.md README: Update Ruff badge. 2023-03-21 11:46:20 -07:00
SECURITY.md docs: Update .html links pointing to "Upgrade Zulip" or "Modify Zulip". 2023-08-11 16:49:32 -07:00
Vagrantfile vagrant: Add Fedora 36 support. 2022-09-08 16:12:59 -07:00
manage.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
package.json dependencies: Upgrade JavaScript dependencies. 2023-10-09 14:16:23 -07:00
pnpm-lock.yaml dependencies: Upgrade JavaScript dependencies. 2023-10-09 14:16:23 -07:00
prettier.config.js
pyproject.toml mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
stylelint.config.js dependencies: Upgrade JavaScript dependencies. 2023-07-21 15:58:42 -07:00
tsconfig.json dependencies: Install `@types/jquery.validation for type annotation. 2023-08-14 16:00:20 -07:00
version.py push_notifs: Add endpoint for sending a test notification. 2023-10-12 18:15:00 -07:00

README.md

Zulip overview

Zulip is an open-source team collaboration tool with unique topic-based threading that combines the best of email and chat to make remote work productive and delightful. Fortune 500 companies, leading open source projects, and thousands of other organizations use Zulip every day. Zulip is the only modern team chat app that is designed for both live and asynchronous conversations.

Zulip is built by a distributed community of developers from all around the world, with 74+ people who have each contributed 100+ commits. With over 1000 contributors merging over 500 commits a month, Zulip is the largest and fastest growing open source team chat project.

Come find us on the development community chat!

GitHub Actions build status coverage status Mypy coverage Ruff code style: black code style: prettier GitHub release docs Zulip chat Twitter GitHub Sponsors

Getting started

You may also be interested in reading our blog, and following us on Twitter and LinkedIn.

Zulip is distributed under the Apache 2.0 license.