Commit Graph

934 Commits

Author SHA1 Message Date
Kris b5c1132546 UX: add bulk-select to mobile topic lists (#15386) 2022-07-26 15:36:35 -04:00
David Taylor 3960ba6588 FIX: Ensure admin templates are not used for non-admin controllers (#17667)
Previously, if a non-admin controller did not have a template defined, then the resolver would return an admin template with the same name. This is not the desired behavior, and regressed in fc36ac6cde. However, we *do* want this behavior for components defined in the admin bundle (because admin components are not namespaced).

This was noticed because the non-admin `badges` route was using the `admin/badges` template

This commit fixes the behavior, and adds a tests for these cases.
2022-07-26 17:03:49 +01:00
Andrei Prigorshnev 47917c0be4 FIX: make sure every user instance has correct status tracking counter 2022-07-26 18:42:55 +04:00
David Taylor fccbe5c604 UX: Replace site-settings link with "Admin" link in sidebar (#17665)
The main landing page for admins/mods should be the admin Dashboard, not the site settings. Having a "Settings" link can be confused with user settings.

This commit also displays the button for moderators, who are also allowed access to parts of the admin dashboard)
2022-07-26 14:46:33 +01:00
Andrei Prigorshnev 517e2f7dc4 FIX: handle correctly the case when several subscribers call trackStatus() on the user model (#17497) 2022-07-26 15:28:26 +04:00
David Taylor 17e733b6a8 DEV: Add optional timezone support to date-time-input-range (#17654)
This allows consumers to pass in, and receive, timestamps for a different timezone. Previously, attempting this would lead to very strange behavior which would become worse the further the input timestamp's timezone was from the browser's timezone.

The default behavior is unchanged - the browser's timezone will be assumed.
2022-07-26 11:14:22 +01:00
Krzysztof Kotlarek 3bfc254c4e FIX: correct mention paths in fixtures (#17660)
Our mention path are `/u/:username` and not `/users/:username`. Test fixtures should have those values correct as well.
2022-07-26 10:09:05 +08:00
Jean 424a274c12 FEATURE: add categories page style to order topics by created date (#17500) 2022-07-25 09:41:43 -04:00
Osama Sayegh 9103081eb7 DEV: Add likes, mentions and replies tabs to the new user menu (#17623)
This commit is a subset of the changes proposed in https://github.com/discourse/discourse/pull/17379.
2022-07-25 15:19:53 +03:00
Joffrey JAFFEUX 43b8cfeae3 FIX: improves handling of filter with invalid tag chars (#17640)
Tags mixin is already filtering a lot of data from the user submitted filter in `createContentFromInput()` which can lead to sk receiving an empty filter while the input actually has a value.
2022-07-25 12:00:52 +02:00
Alan Guo Xiang Tan 1dff3ad79d FIX: Title for keyboard shortcuts button in sidebar (#17638) 2022-07-25 15:47:39 +08:00
Alan Guo Xiang Tan 07424b9bb6 UX: Docking/undocking sidebar toggles sidebar hamburger dropdown (#17636)
Before this change, undocking the sidebar would just hide the sidebar
from the screen which led people to complain that they "lost" their
sidebar and had to "find" it. With this change, we automatically display
the sidebar hamburger dropdown when you undock the sidebar. Like wise
when the sidebar is docked, the sidebar hamburger dropdown is
automatically collapsed.
2022-07-25 14:45:16 +08:00
Jarek Radosz 10fa1cafb1 DEV: Remove yet another jQ use in tests (#17628) 2022-07-25 02:32:04 +02:00
Jarek Radosz b179fb98b1 DEV: Consistently use response helper (#17627) 2022-07-25 02:31:52 +02:00
Jarek Radosz 6cae26c499 DEV: Always await for publishToMessageBus (#17626)
(+ typos)
2022-07-24 19:55:58 +02:00
Alan Guo Xiang Tan 49d4f7c066 FEATURE: Add users and groups links to community section in sidebar (#17609) 2022-07-22 16:00:06 +08:00
Alan Guo Xiang Tan a626b99a50 UX: Remove bookmarks link from community section (#17608)
Product decision to drop it from Sidebar at this moment.
2022-07-22 15:55:13 +08:00
Alan Guo Xiang Tan 4594ce2723 UX: Rename Sidebar 'Topics' section to 'Community' (#17605)
Product decision to rename as not all links under the section falls
under the topics umbrella
2022-07-22 15:20:01 +08:00
Alan Guo Xiang Tan 99073338de FEATURE: Replace hamburger dropdown with Sidebar when undock (#17600)
When the experimental Sidebar is enabled, the hamburger drop down is replaced by a sidebar drop down. A user is given the ability to dock and undock the sidebar depending on their personal preference.

Do also note that the experimental sidebar is well, considered experimental at this point so I do not intend for the features here to be perfect. What I aim to do here is to ship the changes fast so that it can be used internally by the team to provide feedback. Custom links added by plugins and dark mode toggle has not been implemented as part of this commit as I aim to tackle it in another commit.

Co-authored-by: awesomerobot <kris.aubuchon@discourse.org>
2022-07-22 13:06:47 +08:00
Alan Guo Xiang Tan 71eb8d2e8e DEV: Support models argument for custom sidebar section link API (#17602)
* DEV: Improve documentation for custom sidebar section interfaces

* DEV: Improvements to sidebar custom section plugin API tests

* DEV: Support models argument for custom sidebar section link API
2022-07-22 12:06:21 +08:00
Alan Guo Xiang Tan ad7d72cea7 DEV: Remove reference to discourse chat in core (#17601) 2022-07-22 11:15:43 +08:00
Osama Sayegh 6b8d635943 DEV: Add implementations for various notification types for the new user menu (#17589)
This commit is a subset of the changes proposed in https://github.com/discourse/discourse/pull/17379.
2022-07-22 05:07:32 +03:00
David Taylor 6c5efb61c9 DEV: Introduce RenderGlimmer helper for use in widgets (#17592)
This allows an arbitrary Glimmer template to be rendered inside a Widget. That template can include any kind content, including Classic Ember components and Glimmer components. This leans on Ember's official `{{#in-element}}` helper which means that all component lifecycle hooks are called correctly.

This is a modern replacement for our existing `ComponentConnector` implementation. We'll deprecate `ComponentConnector` in the near future.

Example usage:

```javascript
// (inside an existing widget)
html(){
  return [
    new RenderGlimmer(
      this,
      "div.my-wrapper-class",
      hbs`<MyComponent @arg1={{@data.arg1}} />`,
      {
        arg1: "some argument value"
      }
    ),
  ]
}
```

See `widgets/render-glimmer.js` for documentation, and `render-glimmer-test` for more example uses.
2022-07-21 18:58:52 +01:00
Jarek Radosz cb40e4c322 DEV: Use a separate KVS namespace for tests (#17591) 2022-07-21 15:27:24 +02:00
Jarek Radosz 331874229e DEV: Fix pretender leaking request handlers (#17584) 2022-07-21 11:28:08 +02:00
Jarek Radosz e509c54b4c DEV: Randomize tests order in more cases (#17588)
Previously it would randomize the order only when running tests:

1 .through ember-exam
2. in browser, with no params

Running just core tests, or just plugins, or a single plugin, or with filter, etc. disabled randomization.

Now all those cases are covered.
2022-07-21 03:50:32 +02:00
Bianca Nenciu 7a668460e0 FIX: Make group members bulk operations consistent (#17561)
This commit improves several parts of the group members bulk operation.
It fixes the bug that did not show the menu button when the Select all
button was clicked. The other changes make the behavior more consistent
with topic list bulk operations.
2022-07-20 16:54:21 +03:00
Krzysztof Kotlarek 8dd0f8a712 FIX: pass sidebar custom link willDestroy (#17565)
Custom sidebar link willDestroy function has to be passed to SidebarLink component to call when component is removed.

Very similar to https://github.com/discourse/discourse/pull/17551
2022-07-20 13:44:13 +10:00
Jarek Radosz a4e5bd272a DEV: Make publishToMessageBus() wait for settled (#17575)
So you can just `await publishToMessageBus()` instead of following it with `await settled()` every time.
2022-07-19 22:59:52 +02:00
David Taylor 2159637e4d FIX: Ensure injections are skipped when rehydrating stale models (#17574)
This was causing an error when opening the experimental user menu for the second time in a session

Co-authored-by: Jarek Radosz <jradosz@gmail.com>
2022-07-19 21:53:32 +01:00
Andrei Prigorshnev 7f112ffd4e FIX: When a user status update received other users statuses were getting cleared (#17520) 2022-07-19 21:18:51 +04:00
David Taylor 13bc2f1f39 DEV: Upgrade to Ember 3.28 2022-07-19 10:00:59 +01:00
Martin Brennan a1a960caba DEV: Add empty array to ignored_users for currentUser fixture (#17564) 2022-07-19 15:27:07 +10:00
Osama Sayegh fac04f3e73 DEV: Introduce a basic version of the new notifications menu behind a feature flag (#17492) 2022-07-19 10:35:02 +08:00
Andrei Prigorshnev 48e2caf7b7 DEV: emoji helper: add the ability to set custom title (#17517) 2022-07-18 21:51:19 +04:00
Joffrey JAFFEUX c94a011d9f FIX: prevents multi-select to use noneItem for its list (#17523) 2022-07-18 11:26:12 +02:00
Alan Guo Xiang Tan 0d72a8c458 FEATURE: API for sidebar (#17296)
This plugin API can be used to add to sections and links to sidebar
2022-07-18 14:03:37 +10:00
Alan Guo Xiang Tan 54e63b3d31 Revert "UX: Remove experimental sidebar notification text (#17290)" (#17548)
This reverts commit 4df683f88d.

We've decided to bring back the words for counts in the experimental sidebar.
2022-07-18 10:34:22 +08:00
Jarek Radosz 070b1cbed6 DEV: Don't double inject in screen-track (#17543)
1. Injecting `appEvents` service into `screen-track` was unnecessary as it's already injected into all services (and was causing an assertion error)
2. Return a promise from `sendNextConsolidatedTiming()` (no need for `await settled()` then)
2022-07-17 23:44:20 +02:00
Jarek Radosz 1ccabe62d6 DEV: Move emoji-store test to the correct dir (#17544) 2022-07-17 23:44:10 +02:00
Jarek Radosz 057d6b406d DEV: Extensively use includes() (#17541)
Also, the change in insert-hyperlink (from `this.linkUrl.indexOf("http") === -1` to `!this.linkUrl.startsWith("http")`) was intentional fix: we don't want to prevent users from looking up topics with http in their titles.
2022-07-17 20:48:36 +02:00
Jarek Radosz 1c8d461ecc DEV: Remove unnecessary visit() calls (#17536) 2022-07-17 20:15:44 +02:00
Jarek Radosz c3f7a45821 DEV: Use key names in triggerKeyEvent (#17535) 2022-07-17 20:15:28 +02:00
Jarek Radosz 5538b8442e DEV: Introduce discourseLater (#17532)
A wrapper for `later()` from `@ember/runloop`, similar to `discourseDebounce`. It automatically reduces the delay in testing environment.
2022-07-17 00:50:49 +02:00
Jarek Radosz 5707431981 DEV: Don't await for updateCurrentUser (#17534)
It doesn't return Promises.
2022-07-17 00:21:12 +02:00
Jarek Radosz 39c35ee47d DEV: Clear tagsHtmlCallbacks after each test (#17530)
Fixes leakage between tests
2022-07-16 23:24:13 +02:00
Jarek Radosz 343b8dd7aa DEV: One more de-jQueryfied test (#17528)
Forgot to save this file when doing #17474 😅
2022-07-16 22:57:43 +02:00
Jarek Radosz facca3f46c DEV: We already restore sinon after each test (#17529) 2022-07-16 22:57:33 +02:00
Jarek Radosz 751a5e1430 DEV: Clear clearToolbarCallbacks after each test (#17531)
Fixes leakage between tests. Have a composer toolbar with a 100 "Add emoji" buttons? I gotchu.
2022-07-16 22:57:08 +02:00
Jarek Radosz 1b4dea75ee DEV: Also reset horizontal scroll after each test (#17527)
🤞 maybe this will cover the remaining out-of-viewport flakes
2022-07-16 22:56:19 +02:00