Commit Graph

57157 Commits

Author SHA1 Message Date
Penar Musaraj d3e60bc670 Group composer mobile/ipad adjustments, use top anchoring + transforms
Fixes most issues, except on one browser: Firefox on Android!
2024-12-19 10:08:12 -05:00
Penar Musaraj 1db3354722 Adjust presence styling to match recent core changes 2024-12-18 13:19:45 -05:00
Penar Musaraj 797bf3c471 more cleanup 2024-12-18 12:34:59 -05:00
Penar Musaraj 20b3e2ef58 More CSS cleanup 2024-12-18 12:34:59 -05:00
Penar Musaraj c1faacb095 Restore some CSS that was deleted by mistake 2024-12-18 12:34:58 -05:00
Penar Musaraj 78a51c526f Minor CSS tweak 2024-12-18 12:34:58 -05:00
Penar Musaraj 0674216e8c CSS cleanup 2024-12-18 12:34:58 -05:00
Penar Musaraj 041260e2b1 update comment 2024-12-18 12:34:58 -05:00
Penar Musaraj 46c72c1200 another tweak 2024-12-18 12:34:58 -05:00
Penar Musaraj a3f0d08e1a extend touch-actions block a bit more 2024-12-18 12:34:58 -05:00
Penar Musaraj 174c0f32d7 test `touch-action` on submit panel 2024-12-18 12:34:58 -05:00
Penar Musaraj 13a2dc0309 Trying this out with a body scroll lock 2024-12-18 12:34:58 -05:00
Penar Musaraj 90167379c4 skip put-cursor-to-end for edits > 150 chars only 2024-12-18 12:34:58 -05:00
Penar Musaraj dfdaf35738 Disable put-cursor-at-end in iOS
When editing, it messes up the layout because iOS scrolls the
composer away, especially if the post is long. This means an extra tap
for the user sadly, but much more consistent behaviour.
2024-12-18 12:34:57 -05:00
Penar Musaraj 9157ce9303 remove safari-hacks file 2024-12-18 12:34:57 -05:00
Penar Musaraj 7e9a21c520 body scroll lock improvements
Limit logic to the composer state (keyboard visibility is not relevant)
2024-12-18 12:34:57 -05:00
Penar Musaraj 255f29978e Tweaks for ipados 2024-12-18 12:34:57 -05:00
Penar Musaraj 5c76692dc1 Add ipados-device class, move ios-device class to clientside 2024-12-18 12:34:57 -05:00
Penar Musaraj 957ed36663 fine-tune scroll lock on ios
reserveScrollBarGap and allow scrolling items inside composer
2024-12-18 12:34:57 -05:00
Penar Musaraj d6ed5e498b Use body scroll and full-height composer on all touch devices
Maybe a big hammer, but fixes issues on iPad
2024-12-18 12:34:57 -05:00
Penar Musaraj 4f77903e60 skip body scroll lock on ipad 2024-12-18 12:34:57 -05:00
Joffrey JAFFEUX 862fb155b3 linting 2024-12-18 12:34:56 -05:00
Joffrey JAFFEUX b9b6e8b011 more general solution 2024-12-18 12:34:56 -05:00
Joffrey JAFFEUX a28c825147 always handle body scroll on mobile 2024-12-18 12:34:56 -05:00
Penar Musaraj 6236dfb9d2 Fix issues with topic-footer changes in main 2024-12-18 12:34:56 -05:00
Penar Musaraj f67f4b6dfc DEV: Address composer mobile positioning issues 2024-12-18 12:34:56 -05:00
Penar Musaraj 7f72e602a9 Reapply "UX: Fix Android Firefox Mobile reply position (#29751)"
This reverts commit 3a8fb299261d346d36e399d054dcf8f6dfb12fd1.
2024-12-18 12:34:56 -05:00
Penar Musaraj 7719dfd6d2 Revert "UX: Fix Android Firefox Mobile reply position (#29751)"
This reverts commit f62ed063fb.
2024-12-18 12:34:56 -05:00
Régis Hanol 770a478fcc
UX: fix border around reply indicator (#30343)
On a narrow viewport on desktop, the margins above and below the "replying..." indicator were missing.

Internal - t/144612
2024-12-18 12:34:39 -05:00
Jarek Radosz 5747b910e6
FIX: Unpinning topics in glimmer topic list (#30342)
it's already handled by TopicStatus component (so one was undoing the other's toggle)
2024-12-18 15:55:02 +01:00
Kris 779fc74632
A11Y: show state change when post anchors are focused (#30334) 2024-12-18 09:41:33 -05:00
Discourse Translator Bot 1631c39391
Update translations (#30319) 2024-12-18 15:19:37 +01:00
David Taylor a254577688
PERF: Cache public extra-locales requests in nginx (#30340)
extra-locales bundles have unique digests in their URLs, and include an indefinite cache-control header. Therefore we should include them in the heavily-cached group of URLs in NGINX.
2024-12-18 13:59:27 +00:00
David Taylor 8f6c99df8c
DEV: Run prettier correctly for bundled-plugin test directories (#30338) 2024-12-18 12:02:28 +00:00
Jarek Radosz b2b0c462ba
DEV: Update content-tag to 3.1.0 (#30339) 2024-12-18 12:59:27 +01:00
dependabot[bot] 073c2098a1
Build(deps): Bump ace-builds from 1.36.5 to 1.37.0 (#30332)
Bumps [ace-builds](https://github.com/ajaxorg/ace-builds) from 1.36.5 to 1.37.0.
- [Release notes](https://github.com/ajaxorg/ace-builds/releases)
- [Changelog](https://github.com/ajaxorg/ace-builds/blob/master/CHANGELOG.md)
- [Commits](https://github.com/ajaxorg/ace-builds/compare/v1.36.5...v1.37.0)

---
updated-dependencies:
- dependency-name: ace-builds
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-18 12:32:35 +01:00
Loïc Guitaut 133a648d9b DEV: Fix policy classes delegating their `#call` method in services
There’s currently a bug when using a dedicated class as a policy in
services: if that class delegates its `#call` method (to an underlying
strategy object for example), then an error will be raised saying steps
aren’t allowed to provide default parameters.

This should not happen, and this patch fixes that issue.
2024-12-18 09:59:40 +01:00
Alan Guo Xiang Tan 9812407f76
FIX: Redo Sidekiq monitoring to restart stuck sidekiq processes (#30198)
This commit reimplements how we monitor Sidekiq processes that are
forked from the Unicorn master process. Prior to this change, we rely on
`Jobs::Heartbeat` to enqueue a `Jobs::RunHeartbeat` job every 3 minutes.
The `Jobs::RunHeartbeat` job then sets a Redis key with a timestamp. In
the Unicorn master process, we then fetch the timestamp that has been set
by the job from Redis every 30 minutes. If the timestamp has not been
updated for more than 30 minutes, we restart the Sidekiq process. The
fundamental flaw with this approach is that it fails to consider
deployments with multiple hosts and multiple Sidekiq processes. A
sidekiq process on a host may be in a bad state but the heartbeat check
will not restart the process because the `Jobs::RunHeartbeat` job is
still being executed by the working Sidekiq processes on other hosts.

In order to properly ensure that stuck Sidekiq processs are restarted,
we now rely on the [Sidekiq::ProcessSet](https://github.com/sidekiq/sidekiq/wiki/API#processes)
API that is supported by Sidekiq. The API provides us with "near real-time (updated every 5 sec)
info about the current set of Sidekiq processes running". The API
provides useful information like the hostname, pid and also when Sidekiq
last did its own heartbeat check. With that information, we can easily
determine if a Sidekiq process needs to be restarted from the Unicorn
master process.
2024-12-18 12:48:50 +08:00
Kelv f8837e1a8a
DEV: Refactor CanCheckEmails mixin to helper class (#30315)
* port CanCheckEmails mixin to helper class with explicit dependencies
* move isCurrentUser getter to components
* anonymous users should not be able to see sensitive information
2024-12-18 10:29:51 +08:00
Martin Brennan b5e2005d60
DEV: Unhide admin_sidebar_enabled_groups (#30336)
Followup 1bb33d15f2

Self-hosters still need access to this for now,
we will hide it on our own hosting.
2024-12-18 09:35:55 +10:00
Martin Brennan a879bcdc35
DEV: Introduce <DPageHeader /> and <DPageSubheader /> components (#30146)
This converts the `<AdminPageHeader />` component and the
`<AdminPageSubheader />` components into new components
that can be used outside of admin, and updates the CSS classes.
Also introduces a `<DPageActionButton />` component and child
components for the header action buttons.

I have to keep the old admin-only components around for
now until plugins are updated, then we can remove it,
and remove the re-exports that are done within
admin-page-action-button.gjs
2024-12-18 08:13:39 +10:00
Jordan Vidrine ef754cdd9a
UX: Invites styles refactor (#30329) 2024-12-17 15:11:21 -06:00
Jordan Vidrine 85b45a8379
ux: move to minimal layout (#30327) 2024-12-17 14:41:00 -06:00
Kris 284fe89165
UX: show correct message when creating topics is disabled by a tag (#30328) 2024-12-17 15:17:24 -05:00
Jordan Vidrine 8f26ae7b7d
UX: refactor password reset page (#30323) 2024-12-17 12:11:02 -06:00
Isaac Janzen af8c98217a
DEV: Remove empty `beforeEach` hooks (#30326) 2024-12-17 11:57:49 -06:00
Jordan Vidrine 086b1e82e4
UX: move to icon for password masking (#30321) 2024-12-17 11:12:41 -06:00
Penar Musaraj bcff64b9ab
DEV: Do not delay DButton actions on iOS (#30322)
Followup to #28019, on iOS this delay means that we don't properly set
focus on the composer.
2024-12-17 11:57:15 -05:00
Mark VanLandingham 415abe6491
FIX: Correctly place moderator post for full topic move with freeze_original (#30324)
When freeze_original option is passed to PostMover, and we are moving all posts there is an issue. We attempt to put the small_action right after the last moved post. The issue is when there is an existing small action after the last moved "real" post. We then try to put the moderator post at the same location of the existing small action, which causes an index conflict and the move fails.

This makes sure that we place the moderator post at the verrrrrry end of the topic :)
2024-12-17 10:31:34 -06:00
Ella E. 37f032752e
UX: Apply admin table to webhooks (#30317)
* UX: Apply admin table classes for consistent mobile styling on the web hooks page

* DEV: Remove icon on the status component; update status classes

* DEV: Update tests for webhook status component

* DEV: add space var with a smaller value

* DEV: Add styling for different status labels
2024-12-17 08:52:29 -07:00