mirror of
https://github.com/go-gitea/gitea
synced 2024-11-05 01:34:25 +00:00
e46dbec294
* Move EventSource to SharedWorker (#12095) Backport #12095 Move EventSource to use a SharedWorker. This prevents issues with HTTP/1.1 open browser connections from preventing gitea from opening multiple tabs. Also allow setting EVENT_SOURCE_UPDATE_TIME to disable EventSource updating Fix #11978 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: techknowlogick <techknowlogick@gitea.io> * Bugfix for shared event source For some reason our eslint configuration is not working correctly and a bug has become apparent when trying to backport this to 1.12. Signed-off-by: Andrew Thornton <art27@cantab.net> * Re-fix #12095 again Unfortunately some of the suggested changes to #12095 introduced bugs which due to caching behaviour of sharedworkers were not caught on simple tests. These are as follows: * Changing from simple for loop to use includes here: ```js register(port) { if (!this.clients.includes(port)) return; this.clients.push(port); port.postMessage({ type: 'status', message: `registered to ${this.url}`, }); } ``` The additional `!` prevents any clients from being added and should read: ```js if (this.clients.includes(port)) return; ``` * Dropping the use of jQuery `$(...)` selection and using DOM `querySelector` here: ```js async function receiveUpdateCount(event) { try { const data = JSON.parse(event.data); const notificationCount = document.querySelector('.notification_count'); if (data.Count > 0) { notificationCount.classList.remove('hidden'); } else { notificationCount.classList.add('hidden'); } notificationCount.text() = `${data.Count}`; await updateNotificationTable(); } catch (error) { console.error(error, event); } } ``` Requires that `notificationCount.text()` be changed to use `textContent` instead. Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: techknowlogick <techknowlogick@gitea.io> |
||
---|---|---|
.. | ||
adding-legal-pages.en-us.md | ||
api-usage.en-us.md | ||
api-usage.zh-cn.md | ||
ci-cd.en-us.md | ||
cmd-embedded.en-us.md | ||
config-cheat-sheet.en-us.md | ||
config-cheat-sheet.zh-cn.md | ||
customizing-gitea.en-us.md | ||
customizing-gitea.zh-cn.md | ||
external-renderers.en-us.md | ||
hacking-on-gitea.en-us.md | ||
hacking-on-gitea.zh-cn.md | ||
logging-documentation.en-us.md | ||
mail-templates-us.md | ||
make.en-us.md | ||
make.fr-fr.md | ||
make.zh-cn.md | ||
migrations.en-us.md | ||
oauth2-provider.md | ||
repo-indexer.en-us.md | ||
search-engines-indexation.en-us.md | ||
signing.en-us.md | ||
specific-variables.en-us.md | ||
specific-variables.zh-cn.md | ||
third-party-tools.en-us.md | ||
third-party-tools.zh-cn.md |