Isaac Janzen
f8dd468caa
DEV: Update headerIcons API ( #26090 )
...
- Remove panelPortal usage, which allowed for content to be added as a dropdown
- Instead rely on float-kit's DMenu to render a dropdown
2024-04-10 11:37:37 +01:00
Isaac Janzen
db10dd5319
PERF: Improve performance of most_replied_to_users ( #26373 )
...
This PR improves the performance of the `most_replied_to_users` method on the `UserSummary` model.
### Old Query
```ruby
post_query
.joins(
"JOIN posts replies ON posts.topic_id = replies.topic_id AND posts.reply_to_post_number = replies.post_number",
)
# We are removing replies by @user, but we can simplify this by getting the using the user_id on the posts.
.where("replies.user_id <> ?", @user.id)
.group("replies.user_id")
.order("COUNT(*) DESC")
.limit(MAX_SUMMARY_RESULTS)
.pluck("replies.user_id, COUNT(*)")
.each { |r| replied_users[r[0]] = r[1] }
```
### Old Query with corrections
```ruby
post_query
.joins(
"JOIN posts replies ON posts.topic_id = replies.topic_id AND replies.reply_to_post_number = posts.post_number",
)
# Remove replies by @user but instead look on loaded posts (we do this so we don't count self replies)
.where("replies.user_id <> posts.user_id")
.group("replies.user_id")
.order("COUNT(*) DESC")
.limit(MAX_SUMMARY_RESULTS)
.pluck("replies.user_id, COUNT(*)")
.each { |r| replied_users[r[0]] = r[1] }
```
### New Query
```ruby
post_query
.joins(
"JOIN posts replies ON posts.topic_id = replies.topic_id AND posts.reply_to_post_number = replies.post_number",
)
# Only include regular posts in our joins, this makes sure we don't have the bloat of loading private messages
.joins(
"JOIN topics ON replies.topic_id = topics.id AND topics.archetype <> 'private_message'",
)
# Only include visible post types, so exclude posts like whispers, etc
.joins(
"AND replies.post_type IN (#{Topic.visible_post_types(@user, include_moderator_actions: false).join(",")})",
)
.where("replies.user_id <> posts.user_id")
.group("replies.user_id")
.order("COUNT(*) DESC")
.limit(MAX_SUMMARY_RESULTS)
.pluck("replies.user_id, COUNT(*)")
.each { |r| replied_users[r[0]] = r[1] }
```
# Conclusion
`most_replied_to_users` was untested, so I introduced a test for the logic, and have confirmed that it passes on both the new query **AND** the old query.
Thank you @danielwaterworth for the debugging assistance.
2024-04-03 14:20:54 -06:00
Isaac Janzen
2947a23a27
FIX: "Flash" when loading search results ( #26249 )
2024-03-19 15:59:05 -06:00
Isaac Janzen
9484174f32
DEV: Close search menu after advanced search is clicked ( #26108 )
2024-03-08 15:34:11 -07:00
Isaac Janzen
91f52e79ab
DEV: Convert header buttons to use new headerButtons API ( #26014 )
2024-03-07 12:15:47 -07:00
Isaac Janzen
c7b2369bfa
FIX: In topic search for glimmer header ( #26040 )
...
- Fix cmd + f keyboard shortcut that opens up the search menu or browser search
2024-03-07 11:14:43 -07:00
Isaac Janzen
819bc63c47
DEV: Update home logo click action location ( #26062 )
2024-03-06 14:29:50 -07:00
Isaac Janzen
bf02657dbf
DEV: Add system test for soft loading topic search results ( #25525 )
...
Follow up to: https://github.com/discourse/discourse/pull/25504
2024-03-05 09:10:09 -07:00
Isaac Janzen
405bfba3c0
DEV: Convert home-logo widget to a glimmer component ( #25989 )
...
Part of the larger effort to upgrade the header from widgets to glimmer components: https://github.com/discourse/discourse/pull/25214
2024-03-04 10:02:23 -07:00
Isaac Janzen
841b353d38
DEV: Close user menu after clicking view-all notifications ( #25966 )
...
We needed to call closeUserMenu after navigating to the show all notifications url.
2024-02-29 11:52:51 -07:00
Isaac Janzen
0e5307d8e2
DEV: Add glimmer header deprecation notice ( #25891 )
...
- Remove `_customHeaderClasses`. It was not supposed to have been a part of the glimmer header PR
- Add deprecation notice to `addHeaderPanel`
# Example
<img width="437" alt="Screenshot 2024-02-26 at 2 50 39 PM" src="https://github.com/discourse/discourse/assets/50783505/23fce1ee-fff9-4071-8c34-a480cec7e2e7 ">
2024-02-28 11:59:44 -07:00
Isaac Janzen
8805a34001
DEV: Add before / after header-buttons plugin outlets ( #25887 )
2024-02-26 12:56:21 -07:00
Isaac Janzen
b5d4e06de7
DEV: Update chat addToHeaderIcons to pass component ( #25885 )
2024-02-26 11:00:16 -07:00
Isaac Janzen
23bce774d7
DEV: Update user dropdown aria-label ( #25845 )
2024-02-23 16:11:47 -07:00
Isaac Janzen
21f23cc032
DEV: Convert header to glimmer ( #25214 )
...
Here is a breakdown of the changes that will be implemented in this PR.
# Widgets -> Glimmer
Obviously, the intention of the todo here is to convert the header from widgets to glimmer. This PR splits the respective widgets as so:
### widgets/site-header.js
```mermaid height=200
flowchart TB
A[widgets/site-header.js]
A-->B[components/glimmer-site-header.gjs]
```
### widgets/header.js and children
```mermaid height=200
flowchart TB
A[widgets/header.js]
A-->B[components/glimmer-header.gjs]
B-->C[glimmer-header/contents.gjs]
C-->D[./auth-buttons.gjs]
C-->E[./icons.gjs]
C-->F[./user-menu-wrapper.gjs]
C-->G[./hamburger-dropdown-wrapper.gjs]
C-->H[./user-menu-wrapper.gjs]
C-->I[./sidebar-toggle.gjs]
C-->J[./topic/info.gjs]
```
There are additional components rendered within the `glimmer-header/*` components, but I will leave those out for now. From this view you can see that we split apart the logic of `widgets/header.js` into 10+ components. Breaking apart these mega files has many benefits (readability, etc).
# Services
I have introduced a [header](https://github.com/discourse/discourse/blob/cdb42caa04ebcd1cf395dbe0cea96a13ce007099/app/assets/javascripts/discourse/app/services/header.js ) service. This simplifies how we pass around data in the header, as well as fixes a bug we have with "swiping" menu panels.
# Modifiers
Added a [close-on-click-outside](https://github.com/discourse/discourse/blob/cdb42caa04ebcd1cf395dbe0cea96a13ce007099/app/assets/javascripts/discourse/app/modifiers/close-on-click-outside.js ) modifier that is built upon the [close-on-click-outside modifier](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/float-kit/addon/modifiers/close-on-click-outside.js ) that @jjaffeux built for float-kit. I think we could replace float-kit's implementation with mine and have it in a centralized location as they are extremely similar.
# Tests
Rewrote the existing header tests ([1](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/tests/integration/components/widgets/header-test.js ), [2](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/tests/integration/components/site-header-test.js )) as system tests.
# Other
- Converted `widgets/user-status-bubble.js` to a gjs component
- Converted `widgets/sidebar-toggle.js` to a gjs component
- Converted `topicFeaturedLinkNode()` to a gjs component
- Deprecated the [docking mixin](https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/mixins/docking.js )
2024-02-23 11:08:15 -07:00
Isaac Janzen
5a67c8f0ca
UX: Show search history for more contexts ( #25705 )
...
Add search history to 👇 contexts:
- "topic",
- "category",
- "tag",
- "tagIntersection",
- "user",
We display the search history when no search term is present.
# Demo
https://github.com/discourse/discourse/assets/50783505/c720f70e-0c4c-4dbd-9f28-8b046deef674
## Topic
<img width="1003" alt="Screenshot 2024-02-15 at 12 36 37 PM" src="https://github.com/discourse/discourse/assets/50783505/5a254d94-2489-4c0f-976d-0eb1e2d6d775 ">
## Category
<img width="1003" alt="Screenshot 2024-02-15 at 12 36 23 PM" src="https://github.com/discourse/discourse/assets/50783505/247ec625-0bc2-431b-ae4f-b4e664647cfe ">
## Tag
<img width="1020" alt="Screenshot 2024-02-15 at 12 35 50 PM" src="https://github.com/discourse/discourse/assets/50783505/e416a935-00c2-4e8a-aef4-8de6903864bf ">
## Tag Intersection
<img width="1004" alt="Screenshot 2024-02-15 at 12 35 28 PM" src="https://github.com/discourse/discourse/assets/50783505/d06cb287-52dd-4df4-ade8-75f30f67f07e ">
## User
<img width="1001" alt="Screenshot 2024-02-15 at 12 34 51 PM" src="https://github.com/discourse/discourse/assets/50783505/85a7a682-46f5-404c-a441-affb6bad05b6 ">
2024-02-15 13:25:50 -07:00
Isaac Janzen
45a130e696
FIX: Make recent search items populate input with value ( #25704 )
...
- Make clicking a recent search item populate the search input with said value
- Don't add empty search strings to recent search history.
2024-02-15 12:18:35 -07:00
Isaac Janzen
e54c07cf49
FIX: Make similar topics selectable ( #25682 )
...
I attempted to add a test for related topics, as they are untested. This was a massive challenge as related topics are only rendered after
- a user has stopped typing
- there is a timeout after typing
Between system tests, acceptance tests, and stubbing requests, this was difficult. So here is the pr san test.
2024-02-14 16:01:30 -07:00
Isaac Janzen
6acc203786
DEV: Only autocomplete search result when suggestion keyword present ( #25652 )
2024-02-12 13:54:03 -07:00
Isaac Janzen
32ee0e3c0a
FIX: Similar topics relying on widget search menu ( #25586 )
2024-02-07 18:15:54 +11:00
Isaac Janzen
5c43fd5054
DEV: Remove widget search menu ( #25545 )
2024-02-06 08:52:24 -07:00
Isaac Janzen
34a83fe1c8
DEV: Soft load topic results after closing then opening search menu ( #25504 )
...
# Context
Meta report: https://meta.discourse.org/t/dropdown-search-box-results-now-cleared-after-clicking-on-1-result/291240/1
# Demo
https://github.com/discourse/discourse/assets/50783505/3b258b2c-b346-4c81-a7b9-0c1bb6bd4b28
# Plugin Test Fix
- https://github.com/discourse/discourse-encrypt/pull/304
2024-02-01 09:44:40 -07:00
Isaac Janzen
491e7a3429
DEV: Don't create backups during version bumps ( #25484 )
2024-01-30 11:41:15 -07:00
Isaac Janzen
e463bc9a67
Revert "DEV: Version bumps for main: v3.2.0.beta4, v3.2.0.beta5-dev ( #25168 )" ( #25169 )
...
This reverts commit ab0fea3f42 .
2024-01-08 10:24:04 -07:00
Isaac Janzen
ab0fea3f42
DEV: Version bumps for main: v3.2.0.beta4, v3.2.0.beta5-dev ( #25168 )
...
* Bump version to v3.2.0.beta4
* Bump version to v3.2.0.beta5-dev
2024-01-08 10:07:33 -07:00
Isaac Janzen
c689eeef31
FIX: move-topics topic search losing focus ( #25116 )
...
- [Meta Report](https://meta.discourse.org/t/moving-posts-the-input-focus-shifts-when-searching-for-a-topic-to-move-a-post-to-as-typing/284924/1 )
### Correct Focus kept during Search
https://github.com/discourse/discourse/assets/50783505/ae9b4480-208e-470a-98c4-5ba10a053eb7
### Search Log after search
<img width="430" alt="Screenshot 2024-01-03 at 11 08 08 AM" src="https://github.com/discourse/discourse/assets/50783505/155f413a-adc1-4e59-a74b-dcef7af01990 ">
2024-01-03 14:21:43 -07:00
Isaac Janzen
1f94da349b
DEV: Make the Glimmer Search Menu the new default ( #25092 )
...
- Convert group based `experimental_search_menu_groups_enabled` site setting to be a _hidden_ boolean `experimental_search_menu` setting.
- Make default `true`
- Remove widget search menu tests
Discourse Encrypt Test Failure Fix - https://github.com/discourse/discourse-encrypt/pull/301
2024-01-03 09:07:27 -07:00
Isaac Janzen
4886c1fddc
DEV: Update when / how we display of full name on search-item-user ( #25090 )
...
- Full name should only be displayed within `initial options`
- Keep results on a single line unless full name is included
# Initial Options
<img width="416" alt="Screenshot 2024-01-02 at 9 58 07 AM" src="https://github.com/discourse/discourse/assets/50783505/a9f6880a-86e0-4683-978a-c0391a90c78e ">
# Other
<img width="432" alt="Screenshot 2024-01-02 at 9 58 43 AM" src="https://github.com/discourse/discourse/assets/50783505/83b508b0-c501-4fb7-89f7-8e66dc88979f ">
<img width="424" alt="Screenshot 2024-01-02 at 9 58 18 AM" src="https://github.com/discourse/discourse/assets/50783505/b98223d7-f92c-4803-87bf-0470e6ce05ed ">
2024-01-02 10:26:40 -07:00
Isaac Janzen
8e58c6dd93
DEV: Add extension points to Admin User Fields ( #25021 )
...
- Add plugin outlet to `AdminUserFieldItem`
- Add ability to include custom fields when saving `AdminUserFieldItem`
- Update plugin API with `includeUserFieldPropertiesOnSave` per ☝️
- Add `DiscoursePluginRegistry` to `UserFieldsController` to add custom columns
2023-12-28 08:24:24 -07:00
Isaac Janzen and Mark VanLandingham
043fa28fab
FIX: Add missing user search result name and styling ( #24974 )
...
Co-authored-by: Mark VanLandingham <markvanlan@gmail.com >
2023-12-19 23:14:00 -06:00
Isaac Janzen
bf48e14687
FIX: Move the search-menu-results-top plugin outlet ( #24774 )
...
The `search-menu-results-top` plugin outlet was not positioned at the top of `results` as expected. Additionally, the expected outlet arguments that existed in the "widget implementation" were not available on the glimmer search menu.
2023-12-07 12:36:39 -07:00
Isaac Janzen
6aeddad333
DEV: Add search-menu-before-advanced-search plugin outlet ( #24720 )
2023-12-05 10:08:27 -07:00
Isaac Janzen
b9110c5a71
FIX: Don't refresh on topic search result click ( #24697 )
...
Fixes an issue where when selecting a topic search result we were refreshing the page rather than letting `DiscourseURL` redirect us to the given topic. This was because we were leaning on a `a` tag and it's href to handle the redirect
https://github.com/discourse/discourse/blob/3aeff56fafd1bbd924a493c9f696ead0421db57a/app/assets/javascripts/discourse/app/components/search-menu/results/types.hbs#L15-L16
rather than `preventDefault`'ing the redirect
2023-12-04 11:27:38 -07:00
Isaac Janzen
aadc104817
FIX: Flashing when loading glimer search results ( #24658 )
2023-11-30 20:54:32 -07:00
Isaac Janzen
7539b457b2
DEV: Add forceDropdownForMenuPanels to plugin api ( #24655 )
2023-11-30 15:26:13 -07:00
Isaac Janzen
11636f8736
DEV: Add missing html-safe on search result blurb ( #24633 )
2023-11-29 09:05:10 -07:00
Isaac Janzen
8f6e8344aa
DEV: Remove unused search plugin outlets ( #24614 )
2023-11-28 14:55:22 -07:00
Isaac Janzen
9a909758ac
FIX: Escape topic titles when use_pg_headlines_for_excerpt true ( #24608 )
2023-11-28 14:32:22 -07:00
Isaac Janzen
e4499d98e6
DEV: Update search-menu-before-term-input outlet args ( #24573 )
2023-11-28 13:47:23 -07:00
Isaac Janzen
feb5eda0d1
DEV: Make theme-qunit discoverable from /tests ( #24606 )
...
https://github.com/discourse/discourse/assets/50783505/c6db8c35-1473-4ccd-aca2-bfb71af9e73e
2023-11-28 10:04:23 -07:00
Isaac Janzen
c55c354a13
FIX: Include missing search service on login modal ( #24432 )
2023-11-17 11:13:37 -07:00
Isaac Janzen
d561a9ebd9
DEV: Don't render login modal when redirecting to external auth ( #24418 )
...
Move external login logic from the **Login Modal** -> **Login Service**. This is advantageous as we can utilize the external login logic from both within and outside of the login modal.
A downside of having the external login logic within the login modal is that there is a brief "flash" of the login modal being rendered and then us automatically redirecting to the external login method. This PR will clean up the visual side affects.
2023-11-16 12:55:03 -07:00
Isaac Janzen
8db0eb2afd
FIX: Navigate to search result url on click ( #24414 )
...
Broken in https://github.com/discourse/discourse/pull/24393
2023-11-16 08:04:49 -07:00
Isaac Janzen
a7ff465ca6
FIX: Redirect to highlighted search result on 'Enter` ( #24393 )
...
Raised in https://meta.discourse.org/t/keyboard-navigation-messes-up-the-search-menu/285405
We were incorrectly accessing the highlighted search result target's href which caused issues when navigating the topic list (eg /latest) with **j / k** and then immediately after accessing the search menu and navigating to and selecting a search result with the keyboard.
### Current Behavior
Hitting enter on a search result redirects to the href of the topic in the topic list that was previously highlighted.
### Expected Behavior
Hitting enter on a search result redirects to the href of the highlighted search result.
2023-11-15 11:13:28 -07:00
Isaac Janzen and Mark VanLandingham
3d6b812220
DEV: Move relevant glimmer search menu logic to service ( #23483 )
...
This will allow initializing the glimmer search menu without having to pass args directly from header.js widget, to help themes and plugins with search customizations
---------
Co-authored-by: Mark VanLandingham <markvanlan@gmail.com >
2023-09-13 14:32:12 -05:00
Isaac Janzen
7b165c6c2f
Revert "DEV: Replace BulkTopicSelection mixin with a helper object ( #23268 )" ( #23484 )
...
This reverts commit 206969e49d .
2023-09-09 00:26:56 +01:00
Isaac Janzen
198181b7f8
DEV: Convert raw-email modal to component-based API ( #23471 )
2023-09-08 13:28:23 -05:00
Isaac Janzen
daf8c32d0e
FIX: Render 'In topic context' search results at the correct time ( #23481 )
2023-09-08 12:20:55 -05:00
Isaac Janzen
72f124a5d0
DEV: Update install-theme modal extension points ( #23444 )
2023-09-07 10:28:16 -05:00
Isaac Janzen
5288d875d5
A11Y: Ensure you can tab to submit on 2FA modal ( #23135 )
...
This PR relies upon https://github.com/discourse/discourse/pull/23093
- move login modal tests to `..../modal/login/....`
2023-09-06 12:22:41 -05:00
Isaac Janzen
152a99b3f4
DEV: Allow uploadUrl to be based to theme-upload-add modal ( #23415 )
2023-09-05 15:36:48 -05:00
Isaac Janzen
bb2d1f8703
DEV: Convert login modal to component-based API ( #23093 )
...
# Desktop
##### Before
<img width="865" alt="Screenshot 2023-08-17 at 1 32 02 PM" src="https://github.com/discourse/discourse/assets/50783505/1691ae34-8cc3-4deb-bee0-748851a43f6c ">
##### After
<img width="818" alt="Screenshot 2023-08-17 at 1 34 13 PM" src="https://github.com/discourse/discourse/assets/50783505/0dcc6d95-270f-44a1-8582-5f7bf89e7e2c ">
# Mobile
##### Before
<img width="364" alt="Screenshot 2023-08-17 at 1 28 20 PM" src="https://github.com/discourse/discourse/assets/50783505/6758b7f9-da65-464e-b289-d43177218026 ">
##### After
<img width="365" alt="Screenshot 2023-08-17 at 1 28 33 PM" src="https://github.com/discourse/discourse/assets/50783505/f32f28d3-a48c-485f-91eb-dc6bcaf8a2e1 ">
# Changes Made
- I took the liberty to hide the password <kbd>Show</kbd> / <kbd>Hide</kbd> toggle when no password present.
##### Before
<img width="237" alt="Screenshot 2023-08-15 at 4 46 16 PM" src="https://github.com/discourse/discourse/assets/50783505/dfa46535-27ea-4756-8cb0-2c1108505ec7 ">
<img width="240" alt="Screenshot 2023-08-15 at 4 43 03 PM" src="https://github.com/discourse/discourse/assets/50783505/b1b9bacd-8b11-4fb5-89ce-53135417193f ">
<img width="244" alt="Screenshot 2023-08-15 at 4 42 58 PM" src="https://github.com/discourse/discourse/assets/50783505/88f3176b-fc25-4d0b-8193-967bf898f113 ">
##### After
<img width="263" alt="Screenshot 2023-08-15 at 4 45 47 PM" src="https://github.com/discourse/discourse/assets/50783505/48241693-5b0b-4c21-8a06-e14262ede79c ">
<img width="268" alt="Screenshot 2023-08-15 at 4 45 50 PM" src="https://github.com/discourse/discourse/assets/50783505/3c2c4aeb-6fde-45c5-8e45-2879ecb7ead2 ">
<img width="221" alt="Screenshot 2023-08-15 at 4 45 39 PM" src="https://github.com/discourse/discourse/assets/50783505/94406f13-6b20-484c-831e-1b828600cccf ">
2023-09-05 12:01:39 -05:00
Isaac Janzen
6650aa18f5
DEV: Convert move-to-topic modal to component-based API ( #23293 )
...
<img width="654" alt="Screenshot 2023-08-28 at 2 49 04 PM" src="https://github.com/discourse/discourse/assets/50783505/5fc4dfb5-a7da-4a2b-a524-e81b5039efe6 ">
<img width="745" alt="Screenshot 2023-08-28 at 2 48 47 PM" src="https://github.com/discourse/discourse/assets/50783505/4432338e-ba05-4206-8553-eb69f8b31b4f ">
<img width="448" alt="Screenshot 2023-08-28 at 2 48 44 PM" src="https://github.com/discourse/discourse/assets/50783505/6d6c305d-396b-488a-9ee9-bc41773dd98b ">
<img width="747" alt="Screenshot 2023-08-28 at 2 48 42 PM" src="https://github.com/discourse/discourse/assets/50783505/9279f591-ca4a-4152-81c5-71d79dbcbc10 ">
<img width="671" alt="Screenshot 2023-08-28 at 2 40 42 PM" src="https://github.com/discourse/discourse/assets/50783505/dea02b8b-cf87-45bb-8466-449367b5609a ">
<img width="643" alt="Screenshot 2023-08-28 at 2 40 37 PM" src="https://github.com/discourse/discourse/assets/50783505/e422b9b0-89b5-4681-91db-89b8eee05872 ">
2023-08-29 13:50:13 -05:00
Isaac Janzen
2671de3f86
DEV: Convert post-enqueued modal to component-based API ( #23295 )
2023-08-29 11:09:57 -05:00
Isaac Janzen
026cd3e532
DEV: Convert flag modal to component-based API ( #23279 )
...
# Topic Flag
<img width="587" alt="Screenshot 2023-08-28 at 10 53 12 AM" src="https://github.com/discourse/discourse/assets/50783505/6ffe4e47-05a6-406c-9d1b-899ff4d5c2c9 ">
# Post Flag
<img width="620" alt="Screenshot 2023-08-28 at 10 52 44 AM" src="https://github.com/discourse/discourse/assets/50783505/1f893916-b62f-4825-a337-4c0e0e4ce3af ">
# Chat Flag
<img width="648" alt="Screenshot 2023-08-28 at 10 52 31 AM" src="https://github.com/discourse/discourse/assets/50783505/e79444e8-a8b1-4f05-9b47-03d425bc9085 ">
2023-08-28 16:51:58 -05:00
Isaac Janzen
6870f38e87
DEV: Convert feature-topic modal to component-based API ( #23277 )
...
Updated styles with some sign off from @jordanvidrine
<img width="655" alt="Screenshot 2023-08-28 at 9 07 47 AM" src="https://github.com/discourse/discourse/assets/50783505/31b453ef-a787-436f-9fd9-48c9cd3a2e81 ">
2023-08-28 09:41:14 -05:00
Isaac Janzen
aaf0b0f1cc
DEV: Convert feature-topic-on-profile modal to component-based API ( #23275 )
...
# Before
<img width="738" alt="Screenshot 2023-08-25 at 2 04 31 PM" src="https://github.com/discourse/discourse/assets/50783505/c0778da2-d062-48d9-93e8-4b481190fadc ">
# After
<img width="750" alt="Screenshot 2023-08-25 at 2 04 34 PM" src="https://github.com/discourse/discourse/assets/50783505/07aa2bec-e282-424e-b87d-48f5104eb534 ">
2023-08-26 09:52:19 -05:00
Isaac Janzen
058c8496f0
DEV: Convert explain-reviewable modal to component-based API ( #23274 )
...
# Before
<img width="826" alt="Screenshot 2023-08-25 at 12 49 10 PM" src="https://github.com/discourse/discourse/assets/50783505/25c2bf52-33f3-4b18-89c1-9826ed605519 ">
# After
<img width="632" alt="Screenshot 2023-08-25 at 12 52 37 PM" src="https://github.com/discourse/discourse/assets/50783505/0d6697f2-6226-4acc-8aac-031f4645db93 ">
2023-08-25 13:09:21 -05:00
Isaac Janzen
dcbfb8c54b
DEV: Convert edit-topic-timer modal to component-based API ( #23252 )
...
# Before
<img width="479" alt="Screenshot 2023-08-25 at 10 52 04 AM" src="https://github.com/discourse/discourse/assets/50783505/65ec8f94-d3e3-4520-a3f0-b265af069e83 ">
# After
<img width="569" alt="Screenshot 2023-08-25 at 10 53 44 AM" src="https://github.com/discourse/discourse/assets/50783505/35d12af7-c287-42f8-bf9c-d0ae1b5a08db ">
2023-08-25 12:17:34 -05:00
Isaac Janzen
34f502f68d
DEV: Convert uploaded-image-list modal to component-based API ( #23245 )
...
<img width="660" alt="Screenshot 2023-08-24 at 4 55 01 PM" src="https://github.com/discourse/discourse/assets/50783505/3fb8360d-c8cd-4ff4-acb2-15843eb4f868 ">
2023-08-25 09:20:14 -05:00
Isaac Janzen
0496199090
FIX: Badge preview not displaying grant count ( #23269 )
...
<img width="510" alt="Screenshot 2023-08-25 at 8 19 38 AM" src="https://github.com/discourse/discourse/assets/50783505/9ebf467e-7b3b-49e2-91d9-43e37b838431 ">
2023-08-25 09:19:01 -05:00
Isaac Janzen
e7cb417aaf
DEV: Convert auth-token modal to component-based API ( #23251 )
...
<img width="744" alt="Screenshot 2023-08-24 at 6 41 15 PM" src="https://github.com/discourse/discourse/assets/50783505/a5df1a15-fbb0-43a9-acce-742ef484d70a ">
2023-08-25 08:56:29 -05:00
Isaac Janzen
98f2e6ab12
DEV: Convert edit-user-directory-columns modal to component-based API ( #23250 )
2023-08-25 07:22:09 -05:00
Isaac Janzen
5c652dd7a1
DEV: Convert reseed modal to component-based API ( #23232 )
...
<img width="728" alt="Screenshot 2023-08-24 at 1 35 53 PM" src="https://github.com/discourse/discourse/assets/50783505/5532eea4-1238-43dc-b2b7-a511e78d1f97 ">
2023-08-25 07:21:38 -05:00
Isaac Janzen
c22e2de2d8
DEV: Convert form-template-validation-options modal to component-based API ( #23236 )
...
<img width="794" alt="Screenshot 2023-08-25 at 6 38 21 AM" src="https://github.com/discourse/discourse/assets/50783505/f5cf6fa0-7a2f-4e38-93e2-657fb01f6703 ">
2023-08-25 07:02:54 -05:00
Isaac Janzen
3052779ea6
DEV: Convert staff-action-log-details modal to component-based API ( #23240 )
...
<img width="800" alt="Screenshot 2023-08-24 at 3 08 38 PM" src="https://github.com/discourse/discourse/assets/50783505/c498c49c-88ca-4b34-90a0-194f177b5856 ">
2023-08-25 06:43:52 -05:00
Isaac Janzen
0c26d8b375
DEV: Convert color-scheme-select-base modal to component-based API ( #23234 )
...
<img width="560" alt="Screenshot 2023-08-24 at 2 12 38 PM" src="https://github.com/discourse/discourse/assets/50783505/9180f090-2142-4818-bb40-78cf7c25e9fe ">
2023-08-25 06:26:39 -05:00
Isaac Janzen
eab3bfc8d0
DEV: Allow ForgotPassword emailOrUsername arg to be null ( #23246 )
2023-08-24 17:36:02 -05:00
Isaac Janzen
d7538d7c99
DEV: Remove updated modals from KNOWN_LEGACY_MODALS ( #23239 )
...
`KNOWN_LEGACY_MODALS` now correctly reflects the remaining modals to be upgraded to the component based Modal API
2023-08-24 15:12:18 -05:00
Isaac Janzen
59569a6e64
DEV: Remove unused admin-theme-item modal ( #23233 )
2023-08-24 14:14:51 -05:00
Isaac Janzen
742d71e99c
DEV: Finalize glimmer search menu ( #23174 )
...
There was a few outstanding items that needed cleaning up.
### Make sure we don't clear the topic context prematurely
##### Before
https://github.com/discourse/discourse/assets/50783505/e92e4d6f-f42c-4357-8f13-8fa9f1024ade
_getting to zero search characters would automatically clear the search context_
##### After
https://github.com/discourse/discourse/assets/50783505/fd805dfd-576d-4e32-b6b5-5b93c25a5782
### Style fixes
##### Before
<img width="498" alt="Screenshot 2023-08-21 at 4 37 31 PM" src="https://github.com/discourse/discourse/assets/50783505/70847db1-43ec-477e-a21a-54ef2de0af42 ">
##### After
<img width="500" alt="Screenshot 2023-08-21 at 4 38 36 PM" src="https://github.com/discourse/discourse/assets/50783505/98cfb2e9-7c4d-44a6-bde2-53b85318fed3 ">
##### Before
<img width="450" alt="Screenshot 2023-08-21 at 4 33 45 PM" src="https://github.com/discourse/discourse/assets/50783505/3e057a52-5d1c-4776-93d0-a48133a722bc ">
##### After
<img width="451" alt="Screenshot 2023-08-21 at 4 34 30 PM" src="https://github.com/discourse/discourse/assets/50783505/77548f6c-a9cf-4cf8-88d8-ee249736d684 ">
##### Before
<img width="460" alt="Screenshot 2023-08-21 at 4 31 01 PM" src="https://github.com/discourse/discourse/assets/50783505/9da57868-bc66-4d84-9108-4ae705a0562b ">
##### After
<img width="456" alt="Screenshot 2023-08-21 at 4 30 52 PM" src="https://github.com/discourse/discourse/assets/50783505/f9444546-97f2-4d1a-9f78-7407f0f32ae7 ">
2023-08-21 17:51:11 -05:00
Isaac Janzen
3eb8046dde
DEV: Update replaceWith on Route ( #23153 )
...
# Context
This PR was originally implemented in https://github.com/discourse/discourse/pull/22645 then reverted in https://github.com/discourse/discourse/pull/22693 . We protect from aborted transition when _awaiting_ on `replaceWith` by utilizing [followRedirects()](https://api.emberjs.com/ember/5.1/classes/Transition/methods/followRedirects?anchor=followRedirects )
# Description
Per https://deprecations.emberjs.com/v3.x/#toc_routing-transition-methods
We are upgrading all `this.replaceWith` calls on routes to directly call the router service (`this.router.replaceWith`)
2023-08-21 16:53:54 -05:00
Isaac Janzen
a5542eeab0
DEV: Convert penalize-user modal to component-based API ( #22960 )
...
<img width="681" alt="Screenshot 2023-08-03 at 12 55 08 PM" src="https://github.com/discourse/discourse/assets/50783505/79cc045a-523d-45a2-8c33-04b556331358 ">
<img width="763" alt="Screenshot 2023-08-03 at 12 55 05 PM" src="https://github.com/discourse/discourse/assets/50783505/7196a97f-e4f4-4870-b8ac-77255d604c27 ">
<img width="711" alt="Screenshot 2023-08-03 at 12 55 11 PM" src="https://github.com/discourse/discourse/assets/50783505/a916a85d-8bdb-41fb-8210-1e0c06cf7cf1 ">
2023-08-14 13:02:54 -05:00
Isaac Janzen
ba46b34581
DEV: Convert badge-preview modal to component-based API ( #22969 )
...
<img width="801" alt="Screenshot 2023-08-03 at 4 00 27 PM" src="https://github.com/discourse/discourse/assets/50783505/f4abc35d-4f3f-47b1-af8d-be36df69fe07 ">
<img width="486" alt="Screenshot 2023-08-03 at 4 00 15 PM" src="https://github.com/discourse/discourse/assets/50783505/65be7f67-ecfa-4c0c-a1d4-01dfd7452e06 ">
2023-08-14 12:33:45 -05:00
Isaac Janzen
ac4e854a04
DEV: Convert edit-badge-groupings modal to component-based API ( #22984 )
...
<img width="603" alt="Screenshot 2023-08-04 at 4 43 02 PM" src="https://github.com/discourse/discourse/assets/50783505/033192cc-2c5c-4be6-adde-9dd89b6b05c3 ">
<img width="594" alt="Screenshot 2023-08-04 at 4 42 59 PM" src="https://github.com/discourse/discourse/assets/50783505/efe8d8fe-f06c-4940-9c99-66a2f8fb3532 ">
2023-08-14 12:03:28 -05:00
Isaac Janzen
c280c1c52b
DEV: Convert site-setting-default-categories modal to component-based API ( #22968 )
2023-08-10 10:31:34 +01:00
Isaac Janzen
d2502c9a79
DEV: Convert theme-change modal to component-based API ( #22964 )
...
# Before
<img width="575" alt="Screenshot 2023-08-03 at 1 35 47 PM" src="https://github.com/discourse/discourse/assets/50783505/b4ae1487-bef8-40d4-8949-902e36303d43 ">
# After
<img width="897" alt="Screenshot 2023-08-03 at 1 41 21 PM" src="https://github.com/discourse/discourse/assets/50783505/a37c5fe1-eee5-4e0a-8b0a-66aebbaf2342 ">
This modal could still use some design love. I will raise this internally.
2023-08-03 15:01:40 -05:00
Isaac Janzen
a820be117c
DEV: Convert install-theme modal to component-based API ( #22939 )
2023-08-03 10:52:04 -05:00
Isaac Janzen
ecd9e6d4b7
DEV: Convert watched-word-test modal to component-based API ( #22911 )
2023-08-01 16:08:56 -05:00
Isaac Janzen
7c8b0b9869
DEV: Convert delete-user-posts-progress modal to component-based API ( #22916 )
...
https://github.com/discourse/discourse/assets/50783505/414ffcc5-06e9-470f-b160-83b4c12bbb96
2023-08-01 15:49:26 -05:00
Isaac Janzen
da6ddb638f
DEV: Convert api-key-urls modal to component-based API ( #22913 )
...
<img width="474" alt="Screenshot 2023-08-01 at 1 29 26 PM" src="https://github.com/discourse/discourse/assets/50783505/1a46901f-8231-46fb-8c36-cb441b7fd883 ">
2023-08-01 14:51:18 -05:00
Isaac Janzen
ed000be722
DEV: Convert merge-users modals to component-based API ( #22727 )
2023-08-01 10:35:36 -05:00
Isaac Janzen
542b3ffc32
DEV: Convert change-timestamp modal to component-based API ( #22832 )
2023-08-01 08:52:03 -05:00
Isaac Janzen
6b9e208612
DEV: Convert download-calendar modal to component-based API ( #22837 )
2023-08-01 08:50:52 -05:00
Isaac Janzen
6c8af90f5d
DEV: Convert start-backup modal to component-based API ( #22812 )
2023-08-01 08:40:25 -05:00
Isaac Janzen
106a0498f1
DEV: Convert convert-to-public-topic modal to component-based API ( #22835 )
2023-08-01 08:18:03 -05:00
Isaac Janzen
99e05b1280
DEV: Convert edit-slow-mode modal to component-based API ( #22840 )
...
<img width="772" alt="Screenshot 2023-07-28 at 1 41 18 PM" src="https://github.com/discourse/discourse/assets/50783505/9e97c4c8-af29-4e56-80dc-4f0244e2c4db ">
2023-08-01 08:17:49 -05:00
Isaac Janzen
de6070fac4
DEV: Convert delete-topic-disallowed modal to component-based API ( #22830 )
2023-07-27 15:08:37 -05:00
Isaac Janzen
291629834d
DEV: Convert delete-topic-confirm modal to component-based API ( #22813 )
...
<img width="677" alt="Screenshot 2023-07-26 at 4 19 52 PM" src="https://github.com/discourse/discourse/assets/50783505/5b969d38-0283-4217-9f70-de3561f82dd5 ">
2023-07-27 11:52:12 -05:00
Isaac Janzen
f3b7351ff6
DEV: Convert theme-upload modal to component-based API ( #22699 )
2023-07-26 12:46:02 -05:00
Isaac Janzen
a5b810fe18
FIX: Flashing history modal when changing versions ( #22785 )
...
## Problem
History modal is flashing when changing revision versions
## Context
This was introduced in https://github.com/discourse/discourse/pull/22666
We need to have a conditional loading spinner for the initial paint of the history modal as we don't have the revision yet loaded, so this can cause some odd rendering issues. At the same time we don't want to display the loading spinner each time we toggle between the revision versions, because the loading spinner replaces the revision body causing the modal sizes to be drastically different resulting in _jumping_ or _flashing_.
## Fix
Render the loading spinner only on the first paint of the modal.
https://github.com/discourse/discourse/assets/50783505/8d19275e-86a5-4132-8a1f-af4b4f5301a6
2023-07-26 11:08:59 -05:00
Isaac Janzen
0db03b684d
DEV: Convert delete-posts-confirmation modal to component-based API ( #22700 )
2023-07-25 16:11:32 -05:00
Isaac Janzen
37942cb8bb
DEV: Convert admin-incoming-email modal to component-based API ( #22701 )
...
- Convert `admin-incoming-email` modal to component-based API
- Testing that the modal was working in local development was extremely challenging due to the need for `rejected` and `bounced` emails. Something that is not easy to stub in a local dev environment. To make this process more smooth for future developers I have added a new rake task:
```
desc "Creates sample email logs"
task "email_logs:populate" => ["db:load_config"] do |_, args|
DiscourseDev::EmailLog.populate!
end
```
That will generate fully functional email logs in development to be toyed with.
<img width="787" alt="Screenshot 2023-07-20 at 3 27 04 PM" src="https://github.com/discourse/discourse/assets/50783505/47b3fe34-cd7e-49a5-8fe6-768c0fbd1aa2 ">
2023-07-20 16:31:20 -05:00
Isaac Janzen
1561e51a13
DEV: Revert "DEV: Update replaceWith on Route ( #22645 )" ( #22693 )
...
This reverts commit 33db93c9b2 .
2023-07-19 10:47:31 -05:00
Isaac Janzen
bd88b7d6c4
DEV: Remove transition-methods deprecation ( #22673 )
...
All https://deprecations.emberjs.com/v3.x/#toc_routing-transition-methods deprecations have been resolved.
2023-07-18 16:09:28 -05:00
Isaac Janzen
72edb7270c
DEV: Upgrade replaceRoute on Controller ( #22648 )
...
Per https://deprecations.emberjs.com/v3.x/#toc_routing-transition-methods
We are upgrading all `this.replaceRoute` calls on controllers to directly call the router service (`this.router.replaceRoute`)
2023-07-18 15:16:41 -05:00
Isaac Janzen
33db93c9b2
DEV: Update replaceWith on Route ( #22645 )
...
Per https://deprecations.emberjs.com/v3.x/#toc_routing-transition-methods
We are upgrading all `this.replaceWith` calls on routes to directly call the router service (`this.router.replaceWith`)
2023-07-18 15:05:53 -05:00
Isaac Janzen
a2ea9c5417
DEV: upgrade transitionToRoute on Controller ( #22647 )
...
Per https://deprecations.emberjs.com/v3.x/#toc_routing-transition-methods
We are upgrading all `this.transitionToRoute` calls on controllers to directly call the router service (`this.router.transitionTo`)
2023-07-18 14:53:23 -05:00
Isaac Janzen
011ba5b9f6
DEV: Update transitionTo on Route ( #22644 )
...
Per https://deprecations.emberjs.com/v3.x/#toc_routing-transition-methods
We are upgrading all `this.transitionTo` calls on routes to directly call the router service (`this.router.transitionTo`)
2023-07-18 14:52:55 -05:00
Isaac Janzen
5fbce985a8
DEV: Convert create-invite-bulk modal to component-based API ( #22549 )
...
This PR converts the `create-invite-bulk` modal to make use of the new component-based API
2023-07-18 12:31:32 -05:00