Alexander Ebert [Wed, 18 Oct 2023 16:43:46 +0000 (18:43 +0200)]
Enforce sane values for the theme color
Alexander Ebert [Tue, 17 Oct 2023 15:11:37 +0000 (17:11 +0200)]
Migrate the style system earlier to avoid bricking the ACP
See https://www.woltlab.com/community/thread/302169/
Alexander Ebert [Tue, 17 Oct 2023 11:31:10 +0000 (13:31 +0200)]
Add a workaround for invalid URIs generated by Guzzle’s Uri
See https://www.woltlab.com/community/thread/302171-malformeduriexception/
Alexander Ebert [Sat, 14 Oct 2023 16:04:29 +0000 (18:04 +0200)]
Normalize custom URLs
See https://www.woltlab.com/community/thread/302049-startseite-wird-nach-update-auf-woltlab-suite-6-0-nicht-angezeigt-es-erfolgt-ein/?postID=
1941879#post1941879
Tim Düsterhus [Fri, 13 Oct 2023 15:31:58 +0000 (17:31 +0200)]
Add VaryAcceptLanguage middleware (#5687)
* Add VaryAcceptLanguage middleware
* Fix typos
---------
Co-authored-by: Alexander Ebert <ebert@woltlab.com>
Tim Düsterhus [Fri, 13 Oct 2023 12:17:42 +0000 (14:17 +0200)]
Execute some middleware for early routing responses
This ensures that necessary security and cache control headers are also applies
for requests that do not resolve into a regular controller.
(cherry picked from commit
968dbff143170313e43098177b8327d1ddf54924)
Tim Düsterhus [Fri, 13 Oct 2023 12:10:17 +0000 (14:10 +0200)]
Add StaticResponseHandler
(cherry picked from commit
bf67ab0211fc021cecfdabb81e46201f9f97cc74)
Alexander Ebert [Thu, 12 Oct 2023 17:21:30 +0000 (19:21 +0200)]
Fix the default value for the custom CSS field
See https://www.woltlab.com/community/thread/302018-individuelles-css-und-scss-erg%C3%A4nzend-f%C3%BCr-dunkles-farbschema/
Alexander Ebert [Thu, 12 Oct 2023 17:06:58 +0000 (19:06 +0200)]
Add a remark to rerun the trophy migration script
Alexander Ebert [Thu, 12 Oct 2023 17:03:19 +0000 (19:03 +0200)]
Fix the fallback value for invalid trophy icons
See https://www.woltlab.com/community/thread/302007-fehler-mit-troph%C3%A4en-bei-update-von-5-5-auf-6-0/
See https://www.woltlab.com/community/thread/302031/
Alexander Ebert [Thu, 12 Oct 2023 14:45:06 +0000 (16:45 +0200)]
Ignore exceptions when decoding the purchased versions
See https://www.woltlab.com/community/thread/301999-erorr-handling-des-paketsystems-korrigieren/
Alexander Ebert [Thu, 12 Oct 2023 14:42:34 +0000 (16:42 +0200)]
Add the cache buster parameter to the ACP style editor
See https://www.woltlab.com/community/thread/302023-standard-stil-erstellt-unter-farbpalette-sieht-es-anders-aus/
See https://www.woltlab.com/community/thread/302024-farbpalette-anpassen-fehler/
Alexander Ebert [Thu, 12 Oct 2023 13:23:14 +0000 (15:23 +0200)]
Merge branch '5.5' into 6.0
Alexander Ebert [Thu, 12 Oct 2023 13:21:30 +0000 (15:21 +0200)]
Release 5.5.18
Alexander Ebert [Thu, 12 Oct 2023 12:14:25 +0000 (14:14 +0200)]
Add a workaround for printing the backup codes in Safari
See https://www.woltlab.com/community/thread/301990-woltlab-kundenbereich-ausdrucken-der-wiederherstellungscodes-funktioniert-nicht/
Alexander Ebert [Thu, 12 Oct 2023 11:30:29 +0000 (13:30 +0200)]
Enable the upgrade to the gold release of 6.0
Alexander Ebert [Wed, 11 Oct 2023 16:16:44 +0000 (18:16 +0200)]
Fix the release date
Alexander Ebert [Wed, 11 Oct 2023 13:02:39 +0000 (15:02 +0200)]
Release 6.0.0
WoltLab [Wed, 11 Oct 2023 10:26:22 +0000 (10:26 +0000)]
Updating minified JavaScript files
Alexander Ebert [Wed, 11 Oct 2023 10:24:39 +0000 (12:24 +0200)]
Fix the spelling of “Typeface”
See https://www.woltlab.com/community/thread/301979-language-wcf-acp-style-globals-font/
Alexander Ebert [Wed, 11 Oct 2023 10:11:37 +0000 (12:11 +0200)]
Update composer dependencies
Alexander Ebert [Mon, 9 Oct 2023 16:39:25 +0000 (18:39 +0200)]
`setHtml()` should replace the model to preserve the history
Alexander Ebert [Mon, 9 Oct 2023 15:45:22 +0000 (17:45 +0200)]
Use fixed values instead of dynamic values
The calculation yields factional pixel values which causes Safari to incorrect calculate the margins and subsequently misaligns the border of the editor area.
The fixed values are the result of rounding the computed values to the nearest integer.
See https://www.woltlab.com/community/thread/301932-safari-inhalt-%C3%BCberlagert-den-oberen-rahmen-des-editors/
Alexander Ebert [Sun, 8 Oct 2023 17:39:08 +0000 (19:39 +0200)]
Fix the detection of aligned embedded media images
See https://www.woltlab.com/community/thread/301943-bild-wird-bei-auswahl-von-textumflu%C3%9F-g%C3%A4sten-nicht-angezeigt/
Alexander Ebert [Sun, 8 Oct 2023 15:23:38 +0000 (17:23 +0200)]
Mark invalid box positions as `disabled`
See https://www.woltlab.com/community/thread/301929-boxen-nicht-verwendbare-positionen-werden-nicht-ausgeblendet/
Marcel Werk [Fri, 6 Oct 2023 14:14:22 +0000 (16:14 +0200)]
Merge pull request #5683 from WoltLab/ty-elon
Rebrand Twitter's share / social login button to X
Marcel Werk [Fri, 6 Oct 2023 13:26:26 +0000 (15:26 +0200)]
Rebrand Twitter's share / social login button to X
Marcel Werk [Fri, 6 Oct 2023 13:25:25 +0000 (15:25 +0200)]
Simplify visuals of the share buttons
Tim Düsterhus [Thu, 5 Oct 2023 15:38:50 +0000 (17:38 +0200)]
Merge pull request #5682 from WoltLab/package-download-instanceId
Transmit the instanceId when downloading packages
Alexander Ebert [Thu, 5 Oct 2023 15:28:16 +0000 (17:28 +0200)]
Show the data if the timestamp is more than 6 days ago
This prevents dates reading the “current” day but are actually referring to the same day of the week before.
The behavior is now in sync with the relative timestamp in <= 5.5 which also used 6 days as the maximum to use day names.
See https://www.woltlab.com/community/thread/301903-datum-wochentagsanzeige/
Tim Düsterhus [Thu, 5 Oct 2023 14:42:01 +0000 (16:42 +0200)]
Transmit the instanceId when downloading packages
Tim Düsterhus [Thu, 5 Oct 2023 13:59:35 +0000 (15:59 +0200)]
Merge pull request #5681 from WoltLab/content-disposition-filename
Make the content-disposition logic usable outside of FileReader
Tim Düsterhus [Thu, 5 Oct 2023 12:47:19 +0000 (14:47 +0200)]
Use ContentDisposition in FileReader
see #5680
Tim Düsterhus [Thu, 5 Oct 2023 12:46:58 +0000 (14:46 +0200)]
Add `wcf\http\ContentDisposition`
Resolves #5680
Tim Düsterhus [Thu, 5 Oct 2023 10:13:23 +0000 (12:13 +0200)]
Merge pull request #5679 from WoltLab/email-cfws
Reject email addresses containing CFWS
Tim Düsterhus [Thu, 5 Oct 2023 09:44:51 +0000 (11:44 +0200)]
Reject email addresses containing CFWS
see https://www.woltlab.com/community/thread/296849-mailbox-e-mail-validierung-fehlerhaft/
Alexander Ebert [Tue, 3 Oct 2023 13:46:07 +0000 (15:46 +0200)]
Use the unified card box shadow for `.contentItem`
Fixes #5678
Alexander Ebert [Tue, 3 Oct 2023 13:17:27 +0000 (15:17 +0200)]
Help the LSP to narrow down the type
Alexander Ebert [Tue, 3 Oct 2023 13:15:03 +0000 (15:15 +0200)]
Do not discard the element value if there are children
See https://www.woltlab.com/community/thread/301825-bild-wird-nicht-angezeigt/
Alexander Ebert [Tue, 3 Oct 2023 13:04:31 +0000 (15:04 +0200)]
Merge branch '5.5' into 6.0
Alexander Ebert [Tue, 3 Oct 2023 13:02:47 +0000 (15:02 +0200)]
Skip comment that no longer exist
See https://www.woltlab.com/community/thread/301877-fehler-attempt-to-read-property-objectid-on-null-durch-gel%C3%B6schten-pinnwandkommen/
Alexander Ebert [Tue, 3 Oct 2023 12:59:11 +0000 (14:59 +0200)]
Improve the visuals of embedded polls
See https://www.woltlab.com/community/thread/301874-bbcode-spoiler-hat-mit-umfragen-probleme/
Alexander Ebert [Mon, 2 Oct 2023 15:04:49 +0000 (17:04 +0200)]
Reduce the `z-index` of the CKEditor logo
See https://www.woltlab.com/community/thread/301804-ckeditor-copyright-%C3%BCberlagert-den-button-zur-verwaltung-gespeicherter-zitate/
Alexander Ebert [Mon, 2 Oct 2023 14:44:47 +0000 (16:44 +0200)]
Fix the searching for phrases with escaped values
See https://www.woltlab.com/community/thread/301714-problems-with-language-phrase-search/
Alexander Ebert [Mon, 2 Oct 2023 14:11:04 +0000 (16:11 +0200)]
Update the JS artifacts
Alexander Ebert [Mon, 2 Oct 2023 14:08:21 +0000 (16:08 +0200)]
Fix the handling of replaced polls
Editing a message with a poll could replace the poll, requiring a new initialization.
The previous map was replaced with a `WeakSet` because it is never read from and the map leaked memory when the poll was discarded.
See https://www.woltlab.com/community/thread/301810-unable-to-click-on-polls-after-editing-post/
Alexander Ebert [Mon, 2 Oct 2023 13:40:02 +0000 (15:40 +0200)]
Fix the color of active CKEditor panel buttons
See https://www.woltlab.com/community/thread/301766-ckeditor-unpassende-farbwerte-im-tabellen-widget/
Alexander Ebert [Mon, 2 Oct 2023 13:30:35 +0000 (15:30 +0200)]
Fix the creation of test paid subscriptions
See https://www.woltlab.com/community/thread/301865-test-notify-me-before-my-subscription-expires/
Alexander Ebert [Mon, 2 Oct 2023 13:12:03 +0000 (15:12 +0200)]
Add a failsafe for the creation of test trophies
Alexander Ebert [Mon, 2 Oct 2023 12:28:11 +0000 (14:28 +0200)]
Fix the icon name of the test trophy
See https://www.woltlab.com/community/thread/301854-an-error-has-occurred-expected-a-string-containing-an-icon-name-and-a-boolean-st/
Alexander Ebert [Mon, 2 Oct 2023 11:51:18 +0000 (13:51 +0200)]
Fix the size calculation of comment buttons
See https://www.woltlab.com/community/thread/301857-wall-button-add-a-reply-to-a-comment/
Alexander Ebert [Sat, 30 Sep 2023 10:28:51 +0000 (12:28 +0200)]
Remove the fixed positioning
This is not required and prevents the absolute positioning of elements.
Tim Düsterhus [Fri, 29 Sep 2023 14:38:37 +0000 (16:38 +0200)]
Merge pull request #5674 from WoltLab/license-cache-expiry
Expire the cached license data after 60 days
Tim Düsterhus [Fri, 29 Sep 2023 14:25:09 +0000 (16:25 +0200)]
Expire the cached license data after 60 days
Tim Düsterhus [Fri, 29 Sep 2023 14:10:16 +0000 (16:10 +0200)]
Correctly handle `null` license data in LicensePage
see
9f79c831c9bb9b5da9a718e42a5fc43aed4037a6
Tim Düsterhus [Fri, 29 Sep 2023 14:08:01 +0000 (16:08 +0200)]
Fix LicenseApi::clearLicenseFile()
Tim Düsterhus [Fri, 29 Sep 2023 13:51:45 +0000 (15:51 +0200)]
Merge pull request #5673 from WoltLab/license-page-graceful
Gracefully handle failed license update requests in LicensePage
Tim Düsterhus [Fri, 29 Sep 2023 13:40:11 +0000 (15:40 +0200)]
Improve phrasing of wcf.acp.license.error.parsingFailed
Co-authored-by: Alexander Ebert <ebert@woltlab.com>
Tim Düsterhus [Fri, 29 Sep 2023 13:34:50 +0000 (15:34 +0200)]
Merge pull request #5672 from WoltLab/license-update
Improve license file update
Tim Düsterhus [Fri, 29 Sep 2023 13:19:37 +0000 (15:19 +0200)]
Gracefully handle failed license update requests in LicensePage
Tim Düsterhus [Fri, 29 Sep 2023 13:04:37 +0000 (15:04 +0200)]
Allow InvalidSource in ParsingFailed's constructor
see
e326e68386437737777b2753953099035f22e0d8
Tim Düsterhus [Fri, 29 Sep 2023 12:55:18 +0000 (14:55 +0200)]
Update the license data using the PackageUpdateListChanged event
Tim Düsterhus [Fri, 29 Sep 2023 12:42:31 +0000 (14:42 +0200)]
Invoke PackageUpdateDispatcher::refreshPackageData() directly in LicensePage
Marcel Werk [Fri, 29 Sep 2023 12:26:54 +0000 (14:26 +0200)]
Unified phrases
Tim Düsterhus [Fri, 29 Sep 2023 10:00:29 +0000 (12:00 +0200)]
Merge pull request #5671 from WoltLab/license-file-header
Adjust format of the license file
Tim Düsterhus [Fri, 29 Sep 2023 09:25:37 +0000 (11:25 +0200)]
Adjust format of the license file
- Use a format that is consistent with `lib/bootstrap.php`.
- Ensure a trailing newline.
- Use the `creationDate` from the LicenseData object as the more accurate date.
Tim Düsterhus [Fri, 29 Sep 2023 09:21:03 +0000 (11:21 +0200)]
Use AtomicWriter to write the updated license file
The license file is rewritten automatically when refreshing the package list.
Depending on the timing it might only be partially written in case of
concurrent requests.
Tim Düsterhus [Fri, 29 Sep 2023 09:18:10 +0000 (11:18 +0200)]
Reset OPcache after writing an updated bootstrap loader
Tim Düsterhus [Thu, 28 Sep 2023 17:17:29 +0000 (19:17 +0200)]
Update composer dependencies
Alexander Ebert [Thu, 28 Sep 2023 16:44:07 +0000 (18:44 +0200)]
Force button labels to be centered when wrapping
See https://www.woltlab.com/community/thread/301793-new-conversation-wrong-button-display/
Alexander Ebert [Thu, 28 Sep 2023 16:37:29 +0000 (18:37 +0200)]
Increase the width of date picker inputs
See https://www.woltlab.com/community/thread/301777-date-inputs-need-more-space/
Alexander Ebert [Thu, 28 Sep 2023 15:19:15 +0000 (17:19 +0200)]
Release 6.0.0 RC 2
Alexander Ebert [Thu, 28 Sep 2023 15:17:39 +0000 (17:17 +0200)]
Revert "Refresh the internal data of cached reactions"
This reverts commit
701cba1bd001f09e6b2935523e37fa04820338bc.
WoltLab [Thu, 28 Sep 2023 14:35:00 +0000 (14:35 +0000)]
Updating minified JavaScript files
Alexander Ebert [Wed, 27 Sep 2023 14:43:16 +0000 (16:43 +0200)]
Merge pull request #5666 from WoltLab/persistent-license-data
Persist the license data
Olaf Braun [Wed, 27 Sep 2023 14:13:37 +0000 (16:13 +0200)]
Fix storing the Geocoding results (#5664)
This was broken due to a typo in the name of the data-* attribute (`googleMapsGeocdingStore`).
Co-authored-by: Tim Düsterhus <duesterhus@woltlab.com>
Tim Düsterhus [Wed, 27 Sep 2023 14:11:17 +0000 (16:11 +0200)]
Handle malformed JSON in LicenseApi::parseLicenseData()
Tim Düsterhus [Wed, 27 Sep 2023 14:03:18 +0000 (16:03 +0200)]
Reset OPcache after updating the license data
Tim Düsterhus [Wed, 27 Sep 2023 13:34:00 +0000 (15:34 +0200)]
Write an empty license file when failing to read the license data
Tim Düsterhus [Wed, 27 Sep 2023 13:32:14 +0000 (15:32 +0200)]
Clear the license data by writing `null` to the license file
This will allow to save the readability check in a follow-up commit.
Tim Düsterhus [Wed, 27 Sep 2023 13:23:42 +0000 (15:23 +0200)]
Store the creationDate in LicenseData
Tim Düsterhus [Wed, 27 Sep 2023 13:22:33 +0000 (15:22 +0200)]
Cleanly separate the LicenseApi service and the LicenseData value object
Tim Düsterhus [Wed, 27 Sep 2023 13:16:08 +0000 (15:16 +0200)]
Add helper methods to LicenseData
Tim Düsterhus [Wed, 27 Sep 2023 13:09:06 +0000 (15:09 +0200)]
Store the license data in serialized form
This avoids expensive remapping on every request.
Tim Düsterhus [Wed, 27 Sep 2023 13:03:21 +0000 (15:03 +0200)]
Map the license data into an object
Alexander Ebert [Wed, 27 Sep 2023 12:05:09 +0000 (14:05 +0200)]
Refresh the license file when searching for updates
Alexander Ebert [Wed, 27 Sep 2023 12:00:28 +0000 (14:00 +0200)]
Reformat the code to use an early return
Alexander Ebert [Wed, 27 Sep 2023 11:58:52 +0000 (13:58 +0200)]
Remove the side effect of fetching the license data from the remote
Alexander Ebert [Tue, 26 Sep 2023 15:40:52 +0000 (17:40 +0200)]
Add the update script to write the license file and sync credentials
Alexander Ebert [Tue, 26 Sep 2023 15:28:20 +0000 (17:28 +0200)]
Dynamically apply the branding free license
Alexander Ebert [Tue, 26 Sep 2023 15:05:55 +0000 (17:05 +0200)]
Make use of the license API in the first time setup
Alexander Ebert [Tue, 26 Sep 2023 15:03:50 +0000 (17:03 +0200)]
Add support for the CKEditor license key
Alexander Ebert [Tue, 26 Sep 2023 14:54:58 +0000 (16:54 +0200)]
Make use of the `LicenseApi` to validate the license
Tim Düsterhus [Tue, 26 Sep 2023 13:08:58 +0000 (15:08 +0200)]
Merge pull request #5665 from WoltLab/composer
Update composer dependencies
Tim Düsterhus [Tue, 26 Sep 2023 13:06:09 +0000 (15:06 +0200)]
Update composer dependencies
WoltLab [Tue, 26 Sep 2023 09:45:16 +0000 (09:45 +0000)]
Updating minified JavaScript files
Alexander Ebert [Mon, 25 Sep 2023 14:03:26 +0000 (16:03 +0200)]
Add support for the persistent storage of the license data
Tim Düsterhus [Mon, 25 Sep 2023 12:01:19 +0000 (14:01 +0200)]
Make use of the save value in WysiwygFormField
see
122d9d4ab574a8025fac3c556d40906a7e44ce54
Marcel Werk [Sat, 23 Sep 2023 16:47:11 +0000 (18:47 +0200)]
Simplify usage of WysiwygFormField
See #5624
Alexander Ebert [Fri, 22 Sep 2023 15:31:03 +0000 (17:31 +0200)]
Move the handling of the license data into a separate API