Alexander Ebert [Fri, 14 Jul 2023 16:34:01 +0000 (18:34 +0200)]
Invert the logic by short-circuiting for thumbnails
Alexander Ebert [Fri, 14 Jul 2023 16:29:19 +0000 (18:29 +0200)]
Simplify the handling of the alignment CSS classes
Alexander Ebert [Fri, 14 Jul 2023 15:35:55 +0000 (17:35 +0200)]
Slightly improve the consistency of HTML generation
Alexander Ebert [Fri, 14 Jul 2023 15:21:05 +0000 (17:21 +0200)]
Use short circuits and replace large string concats with `\sprintf()`
Alexander Ebert [Fri, 14 Jul 2023 14:55:34 +0000 (16:55 +0200)]
Split the `getParsedTag()` method into specific functions
Alexander Ebert [Fri, 14 Jul 2023 14:39:24 +0000 (16:39 +0200)]
Remove long deprecated support for external object lists
This features was deprecated 9 years ago in https://github.com/WoltLab/WCF/commit/
0a2b09a2d0d914887eedf43d02328add19ec4216
Tim Düsterhus [Fri, 14 Jul 2023 12:58:23 +0000 (14:58 +0200)]
Merge pull request #5586 from WoltLab/package-installation-submit-ux
Improve the UX around submitting package installation requests
Tim Düsterhus [Fri, 14 Jul 2023 12:20:46 +0000 (14:20 +0200)]
Show the regular AJAX status in package installation until the first request goes through
Until the first request goes through, nothing is visible, as the dialog is not
yet spawned. Show the regular AJAX status to improve the UX.
Tim Düsterhus [Fri, 14 Jul 2023 12:20:08 +0000 (14:20 +0200)]
Disable submit button in package installation confirmation after clicking
It might take a while for the request to go through and the admin should not
click twice.
Marcel Werk [Fri, 14 Jul 2023 11:20:06 +0000 (13:20 +0200)]
Merge pull request #5584 from WoltLab/reset-date-selection-ui
Improve UI of the reset button in the date picker
Tim Düsterhus [Fri, 14 Jul 2023 08:33:11 +0000 (10:33 +0200)]
Merge remote-tracking branch 'origin/master'
Tim Düsterhus [Fri, 14 Jul 2023 08:32:14 +0000 (10:32 +0200)]
Merge branch '5.5'
Tim Düsterhus [Fri, 14 Jul 2023 08:28:50 +0000 (10:28 +0200)]
Fix truncation of Unicode string query parameters in Benchmark
This needs to use `mb_substr()`, as we checked UTF-8 validity before to use
`UNHEX()` with binary strings. Previously UTF-8 sequences might've been cut
short and the resulting invalid sequence cannot be JSON encoded, as JSON
requires strings to be valid UTF-8.
see https://www.woltlab.com/community/thread/298853-schwer-reproduzierbar-fehlermeldungen-beim-importieren-von-sprachdateien/
Marcel Werk [Thu, 13 Jul 2023 16:43:38 +0000 (18:43 +0200)]
Remove obsolete code
Marcel Werk [Thu, 13 Jul 2023 16:27:50 +0000 (18:27 +0200)]
Improve UI of the reset button in the date picker
Alexander Ebert [Thu, 13 Jul 2023 14:27:43 +0000 (16:27 +0200)]
Merge pull request #5577 from WoltLab/unbundle-ckeditor
Defer loading of CKEditor and unbundle its components for the accelerated guest view
Alexander Ebert [Thu, 13 Jul 2023 14:23:15 +0000 (16:23 +0200)]
Merge pull request #5581 from WoltLab/newsfeed-loading
Improve the loading experience of the newsfeed in dark mode
Alexander Ebert [Thu, 13 Jul 2023 14:18:52 +0000 (16:18 +0200)]
Improve the behavior on mobile, use the loading indicator component
Alexander Ebert [Thu, 13 Jul 2023 13:59:16 +0000 (15:59 +0200)]
Merge pull request #5578 from WoltLab/light-mode-contrast
Improve the contrast of colors in the light mode
Alexander Ebert [Thu, 13 Jul 2023 13:58:52 +0000 (15:58 +0200)]
Slightly increase the size of buttons and inputs on touch devices
See https://www.woltlab.com/community/thread/300621-input-height-mobile-device/
Marcel Werk [Thu, 13 Jul 2023 13:50:19 +0000 (15:50 +0200)]
Merge pull request #5583 from WoltLab/url-detection
Improve detection of URL in texts
Marcel Werk [Thu, 13 Jul 2023 13:48:13 +0000 (15:48 +0200)]
Limit URL detection to http(s) protokoll
Marcel Werk [Thu, 13 Jul 2023 13:40:53 +0000 (15:40 +0200)]
Apply suggestions from code review
Marcel Werk [Thu, 13 Jul 2023 13:25:14 +0000 (15:25 +0200)]
Improve detection of URL in texts
Tim Düsterhus [Thu, 13 Jul 2023 12:59:39 +0000 (14:59 +0200)]
Improve the loading experience of the newsfeed in dark mode
The default page of an `<iframe>` is `about:blank` which has a light background
color. In case the newsfeed loads slowly or fails to load entirely, there will
be a big white block in a dark mode ACP which looks odd.
Fix this issue by setting the `<iframe>` to be `visibility: hidden` until the
contents are available. Additionally a spinner is shown while the iframe is
hidden.
Tim Düsterhus [Thu, 13 Jul 2023 10:02:37 +0000 (12:02 +0200)]
Merge pull request #5579 from WoltLab/return-symbol
Use correct character for return key in phrases
Tim Düsterhus [Thu, 13 Jul 2023 09:51:32 +0000 (11:51 +0200)]
Use correct character for return key in phrases
Per https://en.wikipedia.org/wiki/Enter_key#Keyboard_symbols:
> The return key symbol is U+23CE ⏎ RETURN SYMBOL, an arrow pointing down and
> leftward;
Tim Düsterhus [Thu, 13 Jul 2023 07:58:35 +0000 (09:58 +0200)]
Add dummy definition file for `ckeditor5-bundle` module
This prevents TypeScript from complaining about a non-existent module when
dynamically loading it for the definitions of the globals.
Marcel Werk [Wed, 12 Jul 2023 15:59:23 +0000 (17:59 +0200)]
Change icon for the notification to solid version
This will bring the icon more in line with the other icons in the user panel.
Alexander Ebert [Wed, 12 Jul 2023 15:46:40 +0000 (17:46 +0200)]
Update the default colors
Alexander Ebert [Mon, 10 Jul 2023 09:55:14 +0000 (11:55 +0200)]
Improve the color contrast of badges
Alexander Ebert [Fri, 7 Jul 2023 15:29:49 +0000 (17:29 +0200)]
Improve the color contrast in the light mode
Alexander Ebert [Wed, 12 Jul 2023 15:29:20 +0000 (17:29 +0200)]
Remove CKEditor components from the tiny bundle
Alexander Ebert [Wed, 12 Jul 2023 15:23:48 +0000 (17:23 +0200)]
Defer loading of the CKEditor bundle until it is first requested
Alexander Ebert [Wed, 12 Jul 2023 14:21:02 +0000 (16:21 +0200)]
Restructure the toolbar a bit
Alexander Ebert [Wed, 12 Jul 2023 14:09:56 +0000 (16:09 +0200)]
Force the button separators to cover the entire height
Alexander Ebert [Wed, 12 Jul 2023 14:06:52 +0000 (16:06 +0200)]
Improve the appearance of split buttons
Tim Düsterhus [Wed, 12 Jul 2023 13:48:21 +0000 (15:48 +0200)]
Add PHP 8.3 to the php.yml workflow
Alexander Ebert [Wed, 12 Jul 2023 11:49:15 +0000 (13:49 +0200)]
Add some margin around spoilers
Alexander Ebert [Tue, 11 Jul 2023 15:50:00 +0000 (17:50 +0200)]
Increase the top gap of quotes to separate them from preceding content
Marcel Werk [Tue, 11 Jul 2023 14:06:08 +0000 (16:06 +0200)]
Merge pull request #5574 from WoltLab/language-selector-icons
Add icons to the mobile version of the language selector
Marcel Werk [Tue, 11 Jul 2023 13:59:48 +0000 (15:59 +0200)]
Fix javascript error when you click on the language selector in the mobile menu
Marcel Werk [Tue, 11 Jul 2023 13:59:15 +0000 (15:59 +0200)]
Add icon to the mobile version of the language selector
Alexander Ebert [Tue, 11 Jul 2023 12:23:34 +0000 (14:23 +0200)]
Use `overflow-x: clip` instead of `hidden`
The `hidden` property breaks `position: sticky`, but the `clip` value restores the behavior.
This value is not supported in Safari <16 in which case it falls back to the previous behavior of permitting horizontal overflow. This is an acceptable behavior.
Marcel Werk [Tue, 11 Jul 2023 12:05:42 +0000 (14:05 +0200)]
Fix icon colors in message header / thread list
The link color has affected the icons, which was not intended in these locations.
Alexander Ebert [Tue, 11 Jul 2023 10:29:58 +0000 (12:29 +0200)]
Preventing the body scrolling no longer requires a hack on non-iOS devices
Alexander Ebert [Tue, 11 Jul 2023 10:23:55 +0000 (12:23 +0200)]
Fix the position of non-fixed elements
See https://www.woltlab.com/community/thread/300599-reaktionsauswahl-scrollt-nach-unten/
Alexander Ebert [Mon, 10 Jul 2023 15:38:47 +0000 (17:38 +0200)]
Release 6.0.0 Alpha 5
WoltLab [Mon, 10 Jul 2023 15:32:09 +0000 (15:32 +0000)]
Updating minified JavaScript files
Alexander Ebert [Mon, 10 Jul 2023 15:19:57 +0000 (17:19 +0200)]
Update the CKEditor 5 bundle
Alexander Ebert [Mon, 10 Jul 2023 14:39:43 +0000 (16:39 +0200)]
Strip the unnecessary alignment of the to top button
Fixes #5570
Alexander Ebert [Mon, 10 Jul 2023 14:34:31 +0000 (16:34 +0200)]
Add a hover state for inline code inside links
See https://www.woltlab.com/community/thread/300478-linked-inline-code-not-distinguishable/
Alexander Ebert [Mon, 10 Jul 2023 14:20:20 +0000 (16:20 +0200)]
Make `woltlab-core-dialog.show()` idempotent
See https://www.woltlab.com/community/thread/300525-seitenauswahl-verschwindet/
Marcel Werk [Mon, 10 Jul 2023 13:34:04 +0000 (15:34 +0200)]
Merge pull request #5573 from WoltLab/breadcrumbs-css2
Cleanup CSS for breadcrumbs
Tim Düsterhus [Mon, 10 Jul 2023 13:32:09 +0000 (15:32 +0200)]
Merge pull request #5572 from WoltLab/cli-prompt-time
Show current time in CLI prompt
Marcel Werk [Mon, 10 Jul 2023 13:24:50 +0000 (15:24 +0200)]
Cleanup CSS for breadcrumbs
* Move all breadcrumbs-related CSS into one file
* Remove some obsolete CSS
* Rewrite selectors to use the new CSS classes
* Fix the issue that the parent indicator icon is shown in tablet view
Tim Düsterhus [Mon, 10 Jul 2023 13:18:59 +0000 (15:18 +0200)]
Show current time in CLI prompt
Alexander Ebert [Mon, 10 Jul 2023 12:03:37 +0000 (14:03 +0200)]
Permit concurrent scroll requests for the same element
See https://www.woltlab.com/community/thread/300558-ckeditor-alle-zitate-einf%C3%BCgen-funktioniert-nicht-korrekt/
Alexander Ebert [Mon, 10 Jul 2023 11:51:13 +0000 (13:51 +0200)]
Do not scroll the editor into the view if it is already (partially) visible
See https://www.woltlab.com/community/thread/300513-durch-ein-im-editor-eingef%C3%BCgter-smiley-wird-die-seite-nach-oben-geschoben/
Alexander Ebert [Mon, 10 Jul 2023 10:06:33 +0000 (12:06 +0200)]
Merge branch '5.5'
Alexander Ebert [Mon, 10 Jul 2023 10:04:39 +0000 (12:04 +0200)]
Merge branch '5.4' into 5.5
Alexander Ebert [Mon, 10 Jul 2023 09:59:31 +0000 (11:59 +0200)]
Migrate the ACP news from Twitter to woltlab.com
Tim Düsterhus [Mon, 10 Jul 2023 07:44:37 +0000 (09:44 +0200)]
Update focus-trap
https://www.woltlab.com/community/thread/300576-benachrichtungen-unter-firefox-102-13-0esr/?postID=
1930817#post1930817
Alexander Ebert [Fri, 7 Jul 2023 11:14:14 +0000 (13:14 +0200)]
Fix the selection of color variables in Safari
Alexander Ebert [Thu, 6 Jul 2023 15:47:57 +0000 (17:47 +0200)]
Sync the appearance of suggestions with the style
See https://www.woltlab.com/community/thread/300529-styling-men%C3%BC-erw%C3%A4hnungen/
Alexander Ebert [Thu, 6 Jul 2023 14:57:34 +0000 (16:57 +0200)]
Fix the notification counter on the favicon
The selector was no longer valid when the `rel` property of the favicon was updated in
a1513aeb5fffb4a540e817e5e3424bf45ff5609b
Alexander Ebert [Thu, 6 Jul 2023 14:41:20 +0000 (16:41 +0200)]
Fix the check of quoted users
The check against the host was simplified in
2e238f48617d5d2a97d1e2b7a0d296337570b396, but the condition was incorrectly modified.
Marcel Werk [Thu, 6 Jul 2023 14:06:09 +0000 (16:06 +0200)]
Merge pull request #5568 from WoltLab/breadcrumbs-css
Overhaul CSS for breadcrumbs
Marcel Werk [Thu, 6 Jul 2023 12:06:39 +0000 (14:06 +0200)]
Fix/unify use of title case
Marcel Werk [Thu, 6 Jul 2023 11:27:36 +0000 (13:27 +0200)]
Overhaul CSS for breadcrumbs
Alexander Ebert [Thu, 6 Jul 2023 10:28:09 +0000 (12:28 +0200)]
Suppress hover states for `.tabularListRow` on touch devices
See https://www.woltlab.com/community/thread/300514-hover-sieht-mobil-nach-wie-vor-doof-aus-in-themenlisten/
Alexander Ebert [Thu, 6 Jul 2023 10:26:09 +0000 (12:26 +0200)]
Suppress the content border at the top of the first message
Alexander Ebert [Thu, 6 Jul 2023 10:18:51 +0000 (12:18 +0200)]
Fix the calculation of element positions with unrestricted body heights
Alexander Ebert [Thu, 6 Jul 2023 10:18:39 +0000 (12:18 +0200)]
Allow the `<html>` and `<body>` element to grow
Alexander Ebert [Thu, 6 Jul 2023 09:18:17 +0000 (11:18 +0200)]
Fix parts of the editor showing through the loading overlay
See https://www.woltlab.com/community/thread/300450-ladezustand-nach-absenden-eines-beitrags-zeigt-drop-down-icons/
Alexander Ebert [Wed, 5 Jul 2023 18:02:56 +0000 (20:02 +0200)]
Migrate the mobile sidebar box layout to CSS grids
This allows us to abandon the utterly broken `columns` and greatly simplifies the `gap` logic.
See https://www.woltlab.com/community/thread/300330-mobile-boxen-beim-darkmode-haben-einen-rahmenfehler/
Alexander Ebert [Wed, 5 Jul 2023 17:36:31 +0000 (19:36 +0200)]
Reintroduce the fixed height of html/body
This is required to force the layout calculation of element positions to be consistent.
See
10cd0f106eafc17411ead418189ddf3a90a439aa
Alexander Ebert [Wed, 5 Jul 2023 17:10:01 +0000 (19:10 +0200)]
Fix the color scheme of `.boxInfo`
See https://www.woltlab.com/community/thread/300490-com-woltlab-wcf-registerbutton-s-boxinfo-class-has-no-effect/
Alexander Ebert [Wed, 5 Jul 2023 16:50:38 +0000 (18:50 +0200)]
Improve the visuals of the mobile message list
See https://www.woltlab.com/community/thread/300501-border-radius-in-mobiler-ansicht-der-messagesidebar/
Alexander Ebert [Wed, 5 Jul 2023 16:29:45 +0000 (18:29 +0200)]
Fix layout jumps causing by collapsing content heights
This is a recurring issue caused by `height: 100%` in this context means “100% of the height”.
`100vh` is relative to the viewport and forces 100% of its height as the elements min-height.
This wasn’t used before, because the browser support was lackluster back then (tm).
Alexander Ebert [Wed, 5 Jul 2023 16:23:56 +0000 (18:23 +0200)]
Prevent content from overflowing the window
Alexander Ebert [Wed, 5 Jul 2023 14:35:29 +0000 (16:35 +0200)]
Reduce repeated `<hr>`, `<br>` and empty `<p>`
Tim Düsterhus [Wed, 5 Jul 2023 12:43:56 +0000 (14:43 +0200)]
Increase MySQL minimum version to 8.0.30 from 8.0.29
MySQL 8.0.29 is so critically broken that the release was officially yanked and
thus is no longer available for download:
https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-29.html
> This release is no longer available for download. It was removed due to a
> critical issue that could cause data in InnoDB tables having added columns to
> be interpreted incorrectly. Please upgrade to MySQL 8.0.30 instead.
There is no reason for *anyone* to be running MySQL 8.0.29 and thus we exclude
this version from being supported.
Alexander Ebert [Wed, 5 Jul 2023 11:22:34 +0000 (13:22 +0200)]
Add a preview feature when restoring a draft
See https://www.woltlab.com/community/thread/300352-dialog-entwurf-wiederherstellen-verbessern/
Alexander Ebert [Wed, 5 Jul 2023 10:39:34 +0000 (12:39 +0200)]
Remove a legacy workaround for scroll disable
See https://www.woltlab.com/community/thread/300504-woltlab-suite-6-seite-scrollt-bei-schlie%C3%9Fen-von-modal-fenster-kurz-nach-oben/
Alexander Ebert [Tue, 4 Jul 2023 15:39:03 +0000 (17:39 +0200)]
Fix the support for the alignment of embedded media
Tim Düsterhus [Tue, 4 Jul 2023 14:57:58 +0000 (16:57 +0200)]
Fix PHP 8.2 deprecation in TagCloudCacheBuilder
Alexander Ebert [Tue, 4 Jul 2023 14:43:52 +0000 (16:43 +0200)]
Release 6.0.0 Alpha 4
WoltLab [Tue, 4 Jul 2023 14:37:59 +0000 (14:37 +0000)]
Updating minified JavaScript files
Alexander Ebert [Tue, 4 Jul 2023 14:36:31 +0000 (16:36 +0200)]
Update the CKEditor 5 bundle
Tim Düsterhus [Tue, 4 Jul 2023 14:32:47 +0000 (16:32 +0200)]
Merge pull request #5566 from WoltLab/strip-html
Fix StringUtil::stripHTML()
Tim Düsterhus [Tue, 4 Jul 2023 14:10:40 +0000 (16:10 +0200)]
Fix the HTML tag stripping regex
The previous regex was incorrect (by attempting to support backslash escapes in
HTML attributes), incomprehensible and inefficient (by allowing for
catastrophic backtracking).
Replace it by a much simpler and more correct version that matches:
- Anything between `<` and `>`.
- That starts with an optional `/` for the closing tag.
- Followed by a single a-zA-Z letter.
- Followed by anything not `>`, except when `>` is either correctly singly or
doubly quoted.
Fixes #5558
Alexander Ebert [Tue, 4 Jul 2023 14:06:26 +0000 (16:06 +0200)]
Fix the sizing of input fields on smartphones
See https://www.woltlab.com/community/thread/300456-editor-block-einf%C3%BCgen-mobil/
Tim Düsterhus [Tue, 4 Jul 2023 13:54:59 +0000 (15:54 +0200)]
Merge pull request #5565 from WoltLab/search-index-strip-html
Use DOMDocument + textContent to strip HTML tags for search
Tim Düsterhus [Tue, 4 Jul 2023 13:53:20 +0000 (15:53 +0200)]
Merge pull request #5564 from WoltLab/search-index-no-context
Fix updating the search index if the index manager does not support contexts
Tim Düsterhus [Tue, 4 Jul 2023 13:51:08 +0000 (15:51 +0200)]
Inline the HTML regex patterns in StringUtil
These are very specific to `StringUtil::stripHTML()` and cannot be usefully
used outside of that method. Inline them to improve readability and to remove
them from the public API.
Alexander Ebert [Tue, 4 Jul 2023 13:46:42 +0000 (15:46 +0200)]
Fix the color of active tooltip buttons
See https://www.woltlab.com/community/thread/300483-aktiver-status-beim-positionieren-von-bildern-nicht-erkennbar/
Tim Düsterhus [Tue, 4 Jul 2023 13:40:52 +0000 (15:40 +0200)]
Fix updating the search index if the index manager does not support contexts
With the current logic `SearchIndexManager::setWithContext()` needs to delegate
to `$this->set()` instead of `$searchIndexManager->set()` for the HTML
stripping to work correctly.
see
db5d43f179789e908febb24418c91260005bbd07
Alexander Ebert [Tue, 4 Jul 2023 13:39:36 +0000 (15:39 +0200)]
Add support for attachments in existing messages
See https://www.woltlab.com/community/thread/300484-eingebettete-dateianh%C3%A4nge-werden-beim-bearbeiten-nicht-angezeigt/
Tim Düsterhus [Tue, 4 Jul 2023 13:09:36 +0000 (15:09 +0200)]
Use DOMDocument + textContent to strip HTML tags for search
This is likely going to result in better (i.e. more correct) results compared
to some naive tag stripping. As an example, DOMDocument will correctly
understand and handle HTML entities, specifically `<` and `>` that *need*
to be encoded for use within HTML.
Updating the search index is a somewhat expensive operation anyway, making it
worth the overhead.
see #5558