Commit Graph

14255 Commits

Author SHA1 Message Date
Krzysztof Kotlarek 2e09dc8885 FEATURE: add downloadCalendar to plugin api (#14603)
New download calendar feature should be exposed via api
2021-10-15 09:14:35 +11:00
Penar Musaraj 2a7280ac48 FIX: Improve quick search speed and result highlights (#14610) 2021-10-14 15:24:11 -04:00
Mark VanLandingham 9b835e1003 DEV: Allow register options to be passed to registerServiceWorker (#14609) 2021-10-14 10:41:28 -05:00
Joffrey JAFFEUX d76d418e5d FIX: also track textContent mutations (#14607)
Tracking innerHTML was not enough to catch every mutations.
2021-10-14 12:14:48 +02:00
Osama Sayegh 7f3468e7d5 FIX: Decorate posts that are loaded after the initial render in post stream (#14600)
To clarify, this problem is not about the topic posts stream, it's about posts streams like the user Activity one in the profile page (or in technical terms anything using the `{{user-stream}}` component).

Post decorations are currently applied inside a `didInsertElement` hook of the `{{user-stream}}` component. However, when the user scrolls the component will load more posts but these will be missing decorations because the `didInsertElement` is only fired once at the beginning of the component lifecycle.

This PR makes the component keep track of the last decorated post/DOM node, and when new posts are loaded the component fire an event for each new post and pass the post's DOM node with the event. Our plugin API 

(I noticed this problem when I was working on https://github.com/discourse/discourse-follow/pull/37)

Co-authored-by: Robin Ward <robin.ward@gmail.com>
2021-10-14 08:10:13 +03:00
Krzysztof Kotlarek 9062fd9b7a FIX: improvements for download local dates (#14588)
* FIX: do not display add to calendar for past dates

There is no value in saving past dates into calendar

* FIX: remove postId and move ICS to frontend

PostId is not necessary and will make the solution more generic for dates which doesn't belong to a specific post.

Also, ICS file can be generated in JavaScript to avoid calling backend.
2021-10-14 09:22:44 +11:00
Penar Musaraj 0616a5ac7c UX: Better visibility for context search (#14599) 2021-10-13 15:52:17 -04:00
Mark VanLandingham 8b25aaed14 DEV: Export register service worker logic (#14598) 2021-10-13 13:19:20 -05:00
Mark VanLandingham e1d3175668 DEV: APIs to disable PWA badging and unsubscribe from user notifications (#14595) 2021-10-13 11:47:30 -05:00
David Taylor bc68da24cd DEV: Fix presence testing in legacy ember environment (#14596)
The legacy testing environment will remove the User.current() value before disposing of controllers/components. Presence often involves making HTTP calls during disposal of components, so this can cause issues.

Production, and the modern Ember-CLI environment, do not require this hack, so it is behind an `isTesting() && isLegacyEmber()` check.
2021-10-13 17:24:19 +01:00
Penar Musaraj 74706bab10 UX: Add Enter hint to search dropdown (#14587) 2021-10-13 12:09:28 -04:00
Penar Musaraj a3fde50b62 A11Y: Don't output aria label identical to title (#14586) 2021-10-13 11:19:38 -04:00
Bianca Nenciu c4843fc1c1 FEATURE: Allow admins to permanently delete posts and topics (#14406)
Sometimes administrators want to permanently delete posts and topics
from the database. To make sure that this is done for a good reasons,
administrators can do this only after one minute has passed since the
post was deleted or immediately if another administrator does it.
2021-10-13 12:53:23 +03:00
Gerhard Schlager 76c9de2d04 UX: Add missing translation (#14592) 2021-10-13 11:23:53 +02:00
Joffrey JAFFEUX b59c419253 FIX: attempts to observe preview mutation asap (#14590) 2021-10-13 09:28:55 +02:00
Joffrey JAFFEUX 00e8baffa2 FIX: attempts to enforce caret position in filter (#14589) 2021-10-13 08:19:34 +02:00
Penar Musaraj 308823a253 FIX: Use absolute URLs in search shortcut (#14585) 2021-10-13 10:14:45 +05:30
Vinoth Kannan 1b99f99ff7 UX: remove aria-label for buttons when title attribute exists. (#14529)
Both `aria-label` and `title` have the same value and NVDA reading both the texts while navigating between buttons. NVDA already has an open issue https://github.com/nvaccess/nvda/issues/7841. We're removing `aria-label` until they fix it.
2021-10-12 23:55:59 +05:30
David Taylor 100095af50 UX: Improve route hierarchy in for user-invites (#14583)
Previously the sidebar was being rendered in the `-show` routes, which meant that it disappeared and re-appeared when each tab was loading. This commit creates a parent `user-invited` route with the sidebar, and then renders the `-show` view in an outlet.

To avoid an extra HTTP request, the invite counts for the sidebar are fetched by the `-show` routes, and then applied to the parent controller. This means that there can be a very slight delay before the counts are displayed, but it is almost unnoticeable in normal use.
2021-10-12 17:39:47 +01:00
Joffrey JAFFEUX be7dcf694e DEV: correct argument names for addGlobalNotice (#14582) 2021-10-12 17:01:54 +02:00
Arpit Jalan d2f9108470 FIX: show group filter only when user is logged in and groups are present (#14578) 2021-10-12 19:46:39 +05:30
Penar Musaraj 915c93625a DEV: Add pluginApi support for quick search tips (#14556) 2021-10-12 09:54:00 -04:00
Alan Guo Xiang Tan baaee1ca26 UX: Restore new messages button on mobile on PM route. (#14576)
Follow-up to 9d5da2b383
2021-10-12 10:38:31 +08:00
Alan Guo Xiang Tan d0595127cc FIX: Missing excerpt for post small actions in topic timeline. (#14547) 2021-10-12 09:20:35 +08:00
David Taylor 821f14d8e0 DEV: Add basic acceptance tests for quote shortcut and fast-edit 2021-10-11 10:46:38 +01:00
David Taylor 9a3a5b19e9 DEV: Move duplicate selectText helper into qunit-helpers 2021-10-11 10:46:38 +01:00
David Taylor 9efc57f0c6 FEATURE: shortcuts for quote (q) and fast edit (e)
Reimplemented following the revert in ce0daae636

This approach uses the global `e`/`q` shortcuts, rather than shifting focus to the `quote-button` component. The current `quoteState` is used to determine whether the quote-button is currently visible. If yes, an appEvent transmits the intention to the quote-button component. If no, the old behavior is maintained.

Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
2021-10-11 10:46:38 +01:00
Robin Ward bef5223672 DEV: Plugin API for customizing text in the composer conditionally
Co-authored-by: Isaac Janzen <issac.janzen@discourse.org>
2021-10-08 13:58:18 -04:00
David Taylor ce0daae636 FIX: Resolve quoting issues by reverting new shortcuts (#14560)
This reverts the new e and q shortcuts for quick-edit, and quote. The current implementation of these is causing issues with quoting on mobile devices.

We intend restore these new shortcuts soon.

* Revert "FIX: Apply quote selection workaround to all browsers (#14558)"

This reverts commit 488f716c16.

* Revert "FIX: selection going missing in Safari (#14557)"

This reverts commit 538fe2cc31.

* Revert "UX: adds shortcuts for quote (q) and fast edit (e) (#14552)"

This reverts commit 2af6052307.
2021-10-08 15:31:43 +01:00
Bianca Nenciu ba81d1853b FIX: Disable previews if diffhtml is enabled (#14537)
diffhtml should not rerender video and audio elements so there is no
point in having these.
2021-10-08 15:57:08 +03:00
Penar Musaraj 488f716c16 FIX: Apply quote selection workaround to all browsers (#14558)
Firefox also needs this.
2021-10-07 16:17:14 -04:00
Penar Musaraj 538fe2cc31 FIX: selection going missing in Safari (#14557) 2021-10-07 14:55:38 -04:00
Penar Musaraj aa00960638 FIX: JS error when showing topic search results (#14551) 2021-10-07 11:47:01 -04:00
Joffrey JAFFEUX 2af6052307 UX: adds shortcuts for quote (q) and fast edit (e) (#14552) 2021-10-07 17:22:28 +02:00
David Taylor a55642a30a DEV: Various behind-the-scenes improvements to PresenceChannel (#14518)
- Allow the `/presence/get` endpoint to return multiple channels in a single request (limited to 50)
- When multiple presence channels are initialized in a single Ember runloop, batch them into a single GET request
- Introduce the `presence-pretender` to allow easy testing of PresenceChannel-related features
- Introduce a `use_cache` boolean (default true) on the the server-side PresenceChannel initializer. Useful during testing.
2021-10-07 15:50:14 +01:00
Penar Musaraj 8a377130f4 UX: Add keyboard shortcut for fast edits (#14543) 2021-10-07 11:25:58 +02:00
Penar Musaraj 0dbc83132a DEV: Fix flaky search test (#14546) 2021-10-06 20:57:28 -04:00
Arpit Jalan be75d20fad FIX: do not persist tags query param (#14527)
This commit fixes the inconsistent behaviour where a user lands on blank
page from the `/new-topic` route if the tag beign used does not have any
topic attached.

https://meta.discourse.org/t/tag-route-when-creating-a-topic-via-url/204973
2021-10-07 06:03:52 +05:30
Gerhard Schlager d6a24e9cd7 FIX: Tooltip in quick search didn't work (#14542) 2021-10-06 23:30:05 +02:00
Penar Musaraj 6141ed31c7 UX: More consistent shortcut labels for macOS (#14538) 2021-10-06 16:20:43 -04:00
Penar Musaraj e9b1d29d8b UX: Revamp quick search (#14499)
Co-authored-by: Robin Ward <robin.ward@gmail.com>
Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2021-10-06 11:42:52 -04:00
Bianca Nenciu 14efd17b7b FIX: Hide form after password reset (#14526)
When hide_email_address_taken was disabled, the forgot password modal
showed a flash message and continued to display the form causing
confusion. This change shows the flash message only when an error occurs
and in all other cases it shows a success message and hides the form.
2021-10-06 17:16:59 +03:00
Joffrey JAFFEUX 20e70d0ac5 DEV: adds a topic level bookmark toggle (#14471) 2021-10-06 11:53:57 +02:00
Krzysztof Kotlarek 6f76fb960b FIX: select all button on group assigned page (#14523)
Button is not working properly because `updateAutoAddTopicsToBulkSelect` function is not available.

Meta: https://meta.discourse.org/t/select-all-in-group-assigned-doesnt-work/205270
2021-10-06 16:18:16 +11:00
Krzysztof Kotlarek cb5b0cb9d8 FEATURE: save local date to calendar (#14486)
It allows saving local date to calendar.
Modal is giving option to pick between ics and google. User choice can be remembered as a default for the next actions.
2021-10-06 14:11:52 +11:00
Jordan Vidrine 6ab5f70090 UX: Change layout of invites page to match other user pages (#14520)
* UX: Change layout of invites page to match other user pages
2021-10-05 15:30:31 -05:00
Roman Rizzi e5c257e5b5 FIX: Reenable global setting HTML support. (#14521) 2021-10-05 16:25:41 -03:00
Roman Rizzi 766d337d42 FIX: Display embeddable host's post to category. (#14517)
The host's category was successfully updated on the database, but the category property was not properly set when rendering the component for the first time.
2021-10-05 13:59:27 -03:00
Dan Ungureanu 5569723321 DEV: Add plugin outlet to the bottom of flag modal (#14413)
This will be used by discourse-akismet to show the current status of the
Akismet scan (post marked as spam, not spam, etc).
2021-10-05 17:37:16 +03:00
Jarek Radosz d3a59e3f69 DEV: Use Set instead of array-as-an-object (#14511)
I don't know if JS engines were able to optimize-away those gigantic arrays but in any case that's a definite anti-pattern.
2021-10-05 14:35:32 +02:00