Commit Graph
100 Commits
Author SHA1 Message Date
Jarek Radosz e02b8b4a83 DEV: Remove extra whitespace from glimmer topic list items (#27225) 2024-05-28 14:23:36 +02:00
Jarek Radosz 4c10b2eb33 DEV: Fix home-logo test flakes (#27135) 2024-05-22 17:49:04 +02:00
Jarek RadoszandDavid Taylor 24230e7461 DEV: Silence whitespace-eating-comment warnings (#27129)
e.g. `unexpectedly found "! no whitespace ~" when slicing source, but expected " no whitespace "`
See: https://github.com/emberjs/ember.js/issues/19392

Co-authored-by: David Taylor <david@taylorhq.com>
2024-05-22 16:21:51 +02:00
Jarek Radosz 4b29ab8572 DEV: Fix glimmer suggested topic item badges (#27123) 2024-05-22 03:06:45 +02:00
Jarek Radosz ea7e6ea459 DEV: Add missing tr wrapper to glimmer topic-list-header (#27107) 2024-05-21 19:00:03 +02:00
Jarek Radosz 5678332ffb DEV: Add td to the element helper list (#27106)
…so it uses the more performant glimmer/template-only component wrapper instead of falling back to an ember component wrapper. see the `element` helper PR for more details.
2024-05-21 18:59:50 +02:00
Jarek Radosz 87769a83c4 DEV: Implement glimmer topic-list (#26743)
(experimental)

The initial implementation of glimmer topic-list and related components. Does not include new APIs and isn't compatible with existing customization. That's gonna come in future PRs.

Enabled by adding groups to `experimental_glimmer_topic_list_groups` setting.
2024-05-21 14:36:15 +02:00
Jarek Radosz eb2df2b7d6 DEV: Clean up sidebar modals (#26999)
1. async/await
2. TrackedSet
3. don't rely on ember array methods
4. list used props
5. move stuff out of constructors
6. don't use ember's Input component
7. convert a function to a method (to avoid passing in a class prop)
8. add missing `@tracked`
9. remove tracking from props that don't need it (not used in templates)
2024-05-21 14:35:22 +02:00
Jarek Radosz 24c55d6797 FIX: Sidebar mode switching on subfolder (#27026) 2024-05-15 10:12:15 +02:00
Jarek Radosz d112a49cc5 FIX: Incorrect user menu title/alt (#27019) 2024-05-14 15:46:11 +02:00
Jarek Radosz fc76622b56 DEV: Add a has truth-helper for use with Set (#26980)
and clean up re-exports
2024-05-12 20:29:45 +02:00
Jarek Radosz 38bd0b3f86 DEV: Remove unused screenNotFull code (#26979) 2024-05-12 20:29:07 +02:00
Jarek Radosz fcd2293226 DEV: Convert the entire sidebar to gjs (#26978) 2024-05-12 19:43:51 +02:00
Jarek Radosz 2f95628f87 DEV: Check lifetime props in the Presence service (#26975) 2024-05-11 17:44:36 +02:00
Jarek Radosz 4c47f25530 DEV: Simplify sidebar's collapsedSections (#26972) 2024-05-11 11:15:38 +02:00
Jarek Radosz 20e049bcbc DEV: Minor refactor of d-menu/d-tooltip (#26942)
* `menuInstance` cached getter -> prop
* `next()` and a `trigger` check -> gone
* `allowedProperties` action -> getter
* `keys` -> `entries`
* update the `service` import
* flatten the object spread structures
2024-05-09 10:54:37 +02:00
Jarek Radosz e579cfc08f DEV: Avoid using the old action helper (#26935) 2024-05-08 20:26:48 +02:00
Jarek Radosz 1b80ee9eb7 FIX: Track User.status property (#26941)
Fixes a bug I stumbled upon in dev env:

```
Error: Assertion Failed: You attempted to update <discourse@model:user::ember337>.status to "[object Object]", but it is being tracked by a tracking context, such as a template, computed property, or observer. In order to make sure the context updates properly, you must invalidate the property when updating it. You can mark the property as `@tracked`, or use `@ember/object#set` to do this.
```
2024-05-08 19:07:43 +02:00
Jarek Radosz 5d7aff12a7 DEV: Convert dialog-holder to gjs (#26869) 2024-05-08 13:04:01 +02:00
Jarek Radosz b49fc052eb DEV: Use current-user service wherever possible (#26901) 2024-05-07 22:19:42 +02:00
Jarek Radosz 16cd098de9 DEV: Convert count-i18n to gjs (#26888) 2024-05-06 21:03:39 +02:00
Jarek Radosz 79870d3a1e DEV: Fix random typos (#26881) 2024-05-06 20:52:48 +02:00
Jarek Radosz d8b1c3c807 DEV: Don't add 0-width char if there's no icon in d-button (#26880)
Previously, if you supplied your own content to DButton it would still add the character:

```hbs
<DButton>my text</DButton>
```

```html
<button>&#8203; my text</button>
```
2024-05-06 20:52:11 +02:00
Jarek Radosz 378faf060d Revert "DEV: Remove unused ignored_columns from ActiveRecord models (#26875)" (#26887)
This reverts commit 755ff43dc1.
2024-05-06 20:18:53 +02:00
Jarek Radosz c97d58f377 DEV: Add placement: center option to float-kit (#26830)
Implements this custom placement strategy: https://floating-ui.com/docs/offset#creating-custom-placements
2024-05-01 12:12:00 +02:00
Jarek Radosz b39736a167 DEV: Add autofocus option to d-menu (#26829)
(to be used by the glimmer replacement of topic-entrance component)
2024-05-01 12:11:11 +02:00
Jarek Radosz 3930064fd1 DEV: Convert various components to gjs (#26782)
Those were all low hanging fruits - all were already glimmer components, so this was mostly merging js and hbs files and adding imports.

(occasionally also adds/fixes class names)
2024-04-30 16:44:49 +02:00
Jarek Radosz 0548f24208 DEV: Convert topic-title to glimmer/gjs (#26808)
This reverts commit 5d568d0bab. (reland of #26775)

Now with removed unnecessary `?.` operators to workaround a terser/babel/??? issue.
2024-04-29 23:06:50 +02:00
Jarek Radosz 5d568d0bab Revert "DEV: Convert topic-title to glimmer/gjs (#26775)" (#26794)
This reverts commit 261ef8404e.
2024-04-29 09:15:35 +08:00
Jarek Radosz f75c253b95 DEV: Inline cancel-link code (#26778)
No need for this small component (and its unused and empty admin component twin)
2024-04-27 14:26:29 +02:00
Jarek Radosz 505d8b52b8 DEV: Add support for arrays to concatClass (#26777)
It'd be useful in cases like:

```gjs
get flagNames() {
  return this.flags?.map((flag) => flag && `flag-${flag.name}`);
  // w/o this change you'd have to handle it here:
  // return this.flags?.map((flag) => flag && `flag-${flag.name}`).filter(Boolean).join(" ");
}

<template>
  <span class={{concatClass "gadget" this.flagNames}}>
  {{! …or here: }}
  <span class={{concatClass "gadget" (concatClass this.flagNames)}}>
```

(also: replaces ember's `compact()` with `filter(Boolean)`)
2024-04-27 12:02:20 +02:00
Jarek Radosz cf11e556cb DEV: Update htmlSafe imports (#26776) 2024-04-27 12:01:58 +02:00
Jarek Radosz 261ef8404e DEV: Convert topic-title to glimmer/gjs (#26775) 2024-04-27 11:58:59 +02:00
Jarek Radosz 2a52f7f13f DEV: Convert track-selected to glimmer/gjs (#26773) 2024-04-27 11:58:42 +02:00
Jarek Radosz 6c7e46a32f DEV: Remove key-enter-escape mixin (#26759)
Was used in only two places, just inline it to unblock conversion to glimmer
2024-04-26 16:42:22 +02:00
Jarek Radosz 9874801f94 DEV: Convert topic-post-badges to glimmer/gjs (#26760) 2024-04-26 16:16:32 +02:00
Jarek Radosz bfd6a7b86c DEV: Clean up sidebar/filter.gjs (#26673)
The most important change being the replacement of `Input` component with an `<input>` element.
2024-04-18 13:17:21 +02:00
Jarek RadoszandDavid Taylor 2d5d7b5a33 DEV: Don't leak the topic model through minimized arg (#26669)
Co-authored-by: David Taylor <david@taylorhq.com>
2024-04-18 13:17:09 +02:00
Jarek Radosz 27d9b53bac FEATURE: Allow dismissing tooltips by clicking their button (#26668)
Also: fixes typos, updates tests, and moves the tooltip element into document.body
2024-04-18 13:16:55 +02:00
Jarek Radosz 285acf0b86 DEV: Add missing svg icons to the svg_sprite list (#26674) 2024-04-18 13:01:48 +02:00
Jarek Radosz 84efa66cc1 DEV: Apply flex-direction: column on .d-header (#26658)
This doesn't change anything in 99.9% of cases - by default d-header has only one child element `.wrap`.

There are only two themes that I'm aware of that add another child:
1. discourse-categories-navbar - which I'm currently updating to use the new header APIs, and where the column layout makes more sense
2. a private theme, which was recently updated to use those APIs and that works around the current layout by applying `flex-wrap: wrap` to d-header (I'll remove that override as it conflicts with this change)
2024-04-17 23:00:55 +02:00
Jarek Radosz 99391277d4 DEV: Remove an unused hbr template (#26620) 2024-04-16 12:58:18 +02:00
Jarek Radosz 4d2dcdad9b UX: Emoji aligment fixes, followup to #26491 (#26618) 2024-04-12 10:48:14 +02:00
Jarek Radosz f296881703 FIX: Broken timeline back button title (#26604)
"[en.Go back to your last unread post]" ain't it 😉
2024-04-12 10:36:07 +02:00
Jarek Radosz 98ec4af327 FIX: Add the ident to fix user status styling in posts (#26585) 2024-04-10 01:44:37 +02:00
Jarek Radosz 54cc0a0304 FIX: Nested list checkboxes css (#26581)
regressed in 6cf7447cb9
2024-04-10 00:28:23 +02:00
Jarek Radosz d16bc06b66 UX: Fix user menu ellipsis color (#26578) 2024-04-09 17:20:26 +02:00
Jarek Radosz 6cf7447cb9 UX: Tweak the checklist plugin css (#26577)
Fixes alignment of checboxes in posts. Removes unused styles.
2024-04-09 16:00:26 +02:00
Jarek Radosz f5c9e75438 UX: Fix alignment issues around user status (#26491)
Minor changes but they 1. correct the html structure (no divs in spans) 2. unify the margins
2024-04-09 11:10:12 +02:00
Jarek Radosz 8080ced95b DEV: Remove unused code (#26556)
Left over from e3cfb1967d
2024-04-08 16:10:42 +02:00
Jarek RadoszandDavid Taylor 32e0a0a0d3 DEV: De-jQ click-interceptor (#26515)
Co-authored-by: David Taylor <david@taylorhq.com>
2024-04-08 13:38:46 +02:00
Jarek Radosz 570e3f7a1a UX: Tweak the mention padding (#26492)
…to prevent them from overlapping/touching when placed on consecutive lines of text
2024-04-05 22:23:37 +02:00
Jarek Radosz c117f6de04 DEV: Redo DiscourseURL.isInternal() (#26504)
Simplify the implementation and make it return `true` for prefix-less relative urls, like `docs`
2024-04-04 15:39:51 +02:00
Jarek Radosz 49409f4985 DEV: Use the release version of sprockets (#26490) 2024-04-04 10:58:19 +08:00
Jarek Radosz 01c11dff91 DEV: Silence the output of migration specs (#26365)
(plus fix the typo in the filename)
2024-03-26 11:32:44 +01:00
Jarek Radosz 4c860995e0 DEV: Remove unnecessary rails_helper requiring (#26364) 2024-03-26 11:32:01 +01:00
Jarek Radosz 0aec53ee9b DEV: Add a watched-words/mini_racer perf regression spec (#26341)
/t/121361
2024-03-25 13:35:02 +01:00
Jarek Radosz 9c7b1b16dd UX: Convert mention style to inline (#26317)
Works around a webkit bug (?) and makes more sense for elements that are mostly text and displayed _inline_ with text content.

Tested on Chromium and in macOS Safari, with 3 different text sizes in the Interface settings
2024-03-25 09:55:29 +01:00
Jarek Radosz 6d137a41c2 DEV: Remove the last transpile_js mentions (#26263) 2024-03-20 15:32:37 +01:00
Jarek Radosz 16b377bc3f DEV: Fix dark mode in QUnit (#26262)
Fixes a semi-recent regression and adds dark color scheme css vars so the rendered app content in tests is dark too.
2024-03-20 14:51:29 +01:00
Jarek Radosz 1f17602b86 DEV: Remove href/auto-route attrs from buttons (#26247)
Those apply only to `a` elements
2024-03-20 06:59:37 +08:00
Jarek Radosz 83e73722a7 DEV: Fix typos in a chat service tests (#26239)
channnel -> channel

and use `assert.true()/assert.false()`
2024-03-19 12:07:19 +01:00
Jarek Radosz 6da7865a77 FIX: Regressed scroll-lock after mobile menu close (#26232) 2024-03-19 10:56:46 +01:00
Jarek Radosz 11099434b5 DEV: Clean up mobileView/desktopView uses (#26229)
Inspired by a piece of "do not do x if it's not a mobile view" code 🙃
2024-03-18 23:29:42 +01:00
Jarek Radosz a65e3c5870 FIX: Close user menu on navigation (#26131) 2024-03-11 20:46:11 +01:00
Jarek Radosz dcf1c2bc04 FIX: Correctly detect RTL (#26127) 2024-03-11 15:53:52 +01:00
Jarek Radosz 296af7310a FIX: Don't prevent opening regular links in 🍔wrapper (#26126) 2024-03-11 13:44:10 +01:00
Jarek Radosz 4f8ded5ce4 DEV: Fix glimmer node deprecations (#26124)
* DEV: Fix the `escaped` glimmer deprecation
* DEV: Fix `original` glimmer deprecations
2024-03-11 13:10:05 +01:00
Jarek Radosz b6819fd8c1 DEV: Convert IframedHtml to gjs (#24836)
* DEV: Convert IframedHtml to gjs
* disable lint
* didUpdate
* no className
2024-03-11 11:55:32 +01:00
147e5563fb DEV: Update moment and moment-timezone (#26089)
* Bump the moment-timezone version in package.json
* update yarn lock
* bump moment
* bin/rails javascript:update
* npx yarn-deduplicate
* update the spec (not sure which tz changed exactly but there's a 1 hour difference now for year 2018 and earlier 🤷‍♂️)

---------

Co-authored-by: Anton Morgunov <45741336+anmorgunov@users.noreply.github.com>
Co-authored-by: Anton Morgunov <anton@ischemist.com>
2024-03-11 03:04:51 +01:00
Jarek Radosz e01f75cb32 DEV: Convert edit-topic-timer-form to glimmer (#25995) 2024-03-06 21:13:38 +01:00
Jarek Radosz 5d90332cfc DEV: Use the "new" service import (#26059) 2024-03-06 18:05:11 +01:00
Jarek Radosz 11067c73d0 DEV: Use fn+mut instead of action+mut (#26057)
One step closer to removing all `action` helper usage
2024-03-06 18:05:03 +01:00
Jarek Radosz 5dc95eaacc DEV: Update ExpandingTextArea component (#25890) 2024-03-01 17:20:15 +01:00
Jarek Radosz 03de0421af DEV: Convert share-source to gjs (#25964) 2024-02-29 15:12:17 +01:00
Jarek Radosz 49e67d32fb DEV: Convert second-factor-input to gjs (#25946) 2024-02-29 12:27:12 +01:00
Jarek Radosz 5c54fbfdb1 DEV: Fix random typos (#25957)
February 2024 edition
2024-02-29 12:24:37 +01:00
Jarek Radosz 8e4affec54 DEV: Update aws gems (#25956)
bundler hygiene 😉
2024-02-29 12:23:21 +01:00
Jarek Radosz 36a9b5d0fa DEV: Introduce a helper for handling events (#25433)
Instead of

```hbs
{{on "input" (action this.foo value="target.value")}}
{{on "input" (action (mut this.bar) value="target.value")}}
```

you can use:

```hbs
{{on "input" (with-event-value this.foo)}}
{{on "input" (with-event-value (fn (mut this.bar)))}}
```

or in gjs:

```gjs
import { fn } from "@ember/helper";
import { on } from "@ember/modifier";
import withEventValue from "discourse/helpers/with-event-value";
…
{{on "input" (withEventValue (fn (mut this.bar)))}}
```
2024-02-28 14:00:53 +01:00
Jarek Radosz f44bee1333 DEV: Use autocomplete="new-password" (#25913)
And normalize `<PasswordField />` arguments

(we were getting `[DOM] Input elements should have autocomplete attributes (suggested: "current-password")` in smoke test logs, this may or may not fix that 😛)
2024-02-27 13:29:12 +01:00
Jarek Radosz 3736d66f17 DEV: Extensively use exception: true in system() (#25911)
Specifically fixes a bug in smoke-test where it would just move on after failing to install latest js dependencies with yarn.
2024-02-27 11:33:28 +01:00
Jarek Radosz b337ae5ae9 DEV: Update chrome-launcher from 0.15.2 to 1.1.0 (#25909) 2024-02-27 11:25:11 +01:00
Jarek Radosz 7a14831695 DEV: Remove ember-router-service-refresh-polyfill (#25910) 2024-02-27 11:10:19 +01:00
Jarek Radosz 299b323d9a DEV: Update ember-cli to 5.6.0 (#25886) 2024-02-27 10:48:30 +01:00
Jarek Radosz 43583772d5 DEV: Remove a duplicated file (#25802) 2024-02-21 23:50:36 +01:00
Jarek Radosz 428db40deb DEV: Minor refactor of screen-track service (#25699)
Set/Map, async/await, inline vars, updated tests
2024-02-21 17:17:10 +01:00
Jarek Radosz 5817156499 UX: Fix the video spinner css (#25770)
A followup to 62e36145c5
2024-02-20 20:44:23 +01:00
Jarek Radosz 62e36145c5 UX: Tweak play button css (#25754)
* Remove unnecessary properties
* Use rem unit
* Add a drop shadow
* Make the "box shadow" slightly more subtle
* Use --d-border-radius
* Don't scale the "box shadow" on hover
* Scale down the on-hover size
* Make the button slightly larger
* Respect prefers-reduced-motion
* Use white rather than --secondary-or-primary
* Don't animate on-hover on mobile
2024-02-20 12:13:20 +01:00
Jarek Radosz 09b1db8c3c Revert "Build(deps): Bump @uppy/drop-target from 2.0.1 to 2.0.3 in /app/assets/javascripts (#25747)" (#25756)
This reverts commit 9e4e085666.
2024-02-20 09:31:09 +10:00
Jarek Radosz 368551da2f FIX: A regression in b797434 (#25694)
This resulted in showing the unread count on the "Latest" nav item on desktop.
2024-02-15 11:45:36 +01:00
Jarek Radosz 21a830b53d FIX: Clicking a notification was triggering an error (#25583) 2024-02-07 00:21:44 +01:00
Jarek Radosz 4b2be8c6b3 FIX: Correctly save group invites (#25566)
regressed in 19b86e7ea2
2024-02-05 10:27:23 +01:00
Jarek Radosz bb57b31a4d DEV: Bump content-tag to 2.0.1 (#25541) 2024-02-02 13:33:29 +01:00
Jarek Radosz f72ba754f1 DEV: Rework reorder-categories modal (#25475) 2024-02-01 13:13:38 +01:00
Jarek Radosz dbc00d113f DEV: Update content-tag to 2.0.0 (#25520) 2024-02-01 13:00:32 +01:00
Jarek Radosz 58be138e75 FIX: Site-setting integer input type (#25485)
Regressed in f2e1363f67
2024-01-30 20:25:48 +01:00
Jarek Radosz f2e1363f67 FIX: Deprecate NumberField, use <input> instead (#25434)
* Revert "FEATURE: Use native number fields for integer inputs (#24984)"

This reverts commit 8fce890ead.

* FIX: Deprecate NumberField, use <input> instead

This reverts #24984 as it introduced regressions (behavioral and visual) and instead it deprecates the NumberField component and replaces its uses in core with native `<input>` elements.
2024-01-26 17:56:07 +01:00
Jarek Radosz 4d1ed4a62d DEV: Don't check for ResizeObserver existence (#25419)
We already assume it's there in many other places
2024-01-25 13:47:15 +01:00
Jarek Radosz 5734066942 DEV: Use document.body directly (#25417)
No need to fire up those query parsing engines :P
2024-01-25 12:50:33 +01:00
Jarek Radosz fd3c3fa565 DEV: Use service: lookups instead of :main (#25402)
where applicable
2024-01-24 15:59:44 +01:00