Alexander Ebert [Sat, 12 Nov 2022 11:09:55 +0000 (12:09 +0100)]
Fix the condition to rebuild the phrase cache
Alexander Ebert [Sat, 12 Nov 2022 11:06:50 +0000 (12:06 +0100)]
Create the directory used for JS phrase preloads
Alexander Ebert [Fri, 11 Nov 2022 17:33:38 +0000 (18:33 +0100)]
Simplify the events by using constructor property promotion
Alexander Ebert [Fri, 11 Nov 2022 17:30:42 +0000 (18:30 +0100)]
Invert the order of the phrase preloader and the web component bundle
Alexander Ebert [Fri, 11 Nov 2022 17:30:25 +0000 (18:30 +0100)]
Replace the usage of `\gmdate()`
Alexander Ebert [Thu, 10 Nov 2022 17:10:13 +0000 (18:10 +0100)]
Add explicit markers to the preload cache files
Alexander Ebert [Thu, 10 Nov 2022 16:57:51 +0000 (17:57 +0100)]
Remove the previous service implementation
For some reason the `git mv` did not properly work.
Alexander Ebert [Thu, 10 Nov 2022 16:57:17 +0000 (17:57 +0100)]
Add the cache buster to the generated JS artifacts
Alexander Ebert [Thu, 10 Nov 2022 16:46:33 +0000 (17:46 +0100)]
Move the URL generation for the phrase preloader into the template
Alexander Ebert [Thu, 10 Nov 2022 16:42:26 +0000 (17:42 +0100)]
Move the URL handling of the phrase preloader into the bootstrap script
Alexander Ebert [Thu, 10 Nov 2022 16:38:34 +0000 (17:38 +0100)]
Restrict preload phrases to static exports only
Evaluating template scripting on runtime inside JavaScript is still possible, but not server-side replacements will be made.
Alexander Ebert [Thu, 10 Nov 2022 15:38:08 +0000 (16:38 +0100)]
Add a reference to the phrase preload cache
Alexander Ebert [Thu, 10 Nov 2022 15:36:33 +0000 (16:36 +0100)]
Add `PhrasePreloadCache` to retrieve and implicitly create the preload cache
Alexander Ebert [Thu, 10 Nov 2022 15:32:11 +0000 (16:32 +0100)]
Create the preload cache for phrases
Alexander Ebert [Thu, 10 Nov 2022 15:13:32 +0000 (16:13 +0100)]
Rename `RebuildPreloadPhrases` to `CachePreloadPhrases`
Alexander Ebert [Thu, 10 Nov 2022 15:09:56 +0000 (16:09 +0100)]
Reset the preload cache when a language has been imported
Alexander Ebert [Thu, 10 Nov 2022 15:00:35 +0000 (16:00 +0100)]
Reset the preload cache if a cached phrase was modified
Alexander Ebert [Thu, 10 Nov 2022 13:36:39 +0000 (14:36 +0100)]
Request the rebuild of the preload cache after changes to the package list
Alexander Ebert [Wed, 9 Nov 2022 15:50:42 +0000 (16:50 +0100)]
Add a PoC for a static phrase preloader
Alexander Ebert [Sat, 12 Nov 2022 11:29:39 +0000 (12:29 +0100)]
Add the `PackageInstallationSynced` event
Alexander Ebert [Thu, 10 Nov 2022 15:09:43 +0000 (16:09 +0100)]
Add the `LanguageImported` event
Alexander Ebert [Thu, 10 Nov 2022 13:49:42 +0000 (14:49 +0100)]
Add the `PhraseChanged` event
Alexander Ebert [Thu, 10 Nov 2022 13:08:30 +0000 (14:08 +0100)]
Add the `PackageListChanged` event
Marcel Werk [Fri, 11 Nov 2022 13:53:19 +0000 (14:53 +0100)]
Merge pull request #5118 from WoltLab/remove-legacy-cookie-banner
Remove legacy cookie banner
Alexander Ebert [Thu, 10 Nov 2022 16:50:44 +0000 (17:50 +0100)]
Merge pull request #5107 from WoltLab/js-lang-early
Make JavaScript Language module available early
Tim Düsterhus [Thu, 10 Nov 2022 15:40:48 +0000 (16:40 +0100)]
Fix code style in \wcf\system\WCF
Marcel Werk [Thu, 10 Nov 2022 12:11:14 +0000 (13:11 +0100)]
Remove legacy cookie banner
From a legal point of view, this type of cookie banner is useless.
Tim Düsterhus [Thu, 10 Nov 2022 11:49:57 +0000 (12:49 +0100)]
Update composer dependencies
Alexander Ebert [Wed, 9 Nov 2022 15:03:37 +0000 (16:03 +0100)]
Add `getPhrase()` and `registerPhrase()` to the `Language` module
This makes it much easier to auto-import the helper functions in modules. The old names were too unspecific and made it pretty much impossible to properly import them.
The `addObject()` has always been a lazy function with a severe performance penalty. The soon-to-be-introduced `{jsphrase}` helper makes it much easier to work with it.
Alexander Ebert [Wed, 9 Nov 2022 14:56:08 +0000 (15:56 +0100)]
Rename the phrase functions to `getPhrase()` and `registerPhrase`
Marcel Werk [Wed, 9 Nov 2022 11:57:53 +0000 (12:57 +0100)]
Add 4k support for avatar images (#5114)
Add 4k support for avatar images
Marcel Werk [Tue, 8 Nov 2022 15:14:49 +0000 (16:14 +0100)]
Merge pull request #5116 from WoltLab/automatic-template-diff
Add automatic template diff
Marcel Werk [Tue, 8 Nov 2022 14:56:44 +0000 (15:56 +0100)]
Add automatic template diff
Automatically compare with default template if it is the only option.
Tim Düsterhus [Tue, 8 Nov 2022 13:41:08 +0000 (14:41 +0100)]
Update cuyz/valinor composer dependency
Tim Düsterhus [Tue, 8 Nov 2022 13:36:45 +0000 (14:36 +0100)]
Update pelago/emogrifier composer dependency
Alexander Ebert [Mon, 7 Nov 2022 17:01:03 +0000 (18:01 +0100)]
Convert the typing for `WoltLabTemplate` into a plain interface
Tim Düsterhus [Mon, 7 Nov 2022 16:55:57 +0000 (17:55 +0100)]
Remove workaround for WoltLabSuite/Core/Template
Tim Düsterhus [Mon, 7 Nov 2022 16:23:53 +0000 (17:23 +0100)]
Remove broken `_token_stack:` label from Jison output
see zaach/jison#285
Marcel Werk [Mon, 7 Nov 2022 16:25:07 +0000 (17:25 +0100)]
Remove deprecated avatar / thumbnail sizes
Alexander Ebert [Mon, 7 Nov 2022 15:59:44 +0000 (16:59 +0100)]
Fix misuse of the exception parameter
Tim Düsterhus [Mon, 7 Nov 2022 14:51:30 +0000 (15:51 +0100)]
Make Language available to WebComponents
Tim Düsterhus [Mon, 7 Nov 2022 14:38:33 +0000 (15:38 +0100)]
Make Template available to WebComponents
Tim Düsterhus [Mon, 7 Nov 2022 14:12:03 +0000 (15:12 +0100)]
Make Language/Store available to WebComponents
Tim Düsterhus [Mon, 7 Nov 2022 13:52:34 +0000 (14:52 +0100)]
Use esbuild to build and bundle the web components
Tim Düsterhus [Mon, 7 Nov 2022 13:49:00 +0000 (14:49 +0100)]
Add esbuild npm dependency
Alexander Ebert [Mon, 7 Nov 2022 13:27:27 +0000 (14:27 +0100)]
Merge pull request #5112 from SoftCreatR/patch-4
Add new template event
Sascha Greuel [Mon, 7 Nov 2022 07:13:35 +0000 (08:13 +0100)]
Added new template event
In 6.0, the way how share-button providers are initialized has been changed. Unfortunately, with this change, it became somewhat impossible to add new providers to the sharing dialog, because there's no longer a way to extend the list.
With this PR, a new template event is introduced, that allows adding individual providers easily.
Tim Düsterhus [Fri, 4 Nov 2022 11:27:04 +0000 (12:27 +0100)]
Merge pull request #5108 from WoltLab/exception-enum
Resolve enum cases in Exception renderer
Tim Düsterhus [Fri, 4 Nov 2022 09:12:11 +0000 (10:12 +0100)]
Resolve enum cases in Exception renderer
Tim Düsterhus [Thu, 3 Nov 2022 16:03:04 +0000 (17:03 +0100)]
Inline StringUtil functions in WoltLabSuite/Core/Template
The implementation of these functions is pretty much trivial. Inline them to
remove the dependency on `StringUtil` which is fairly large for little benefit.
Alexander Ebert [Wed, 2 Nov 2022 14:16:49 +0000 (15:16 +0100)]
Merge pull request #5103 from WoltLab/exception-overhaul
Overhaul of the exception visualization
Alexander Ebert [Wed, 2 Nov 2022 14:11:43 +0000 (15:11 +0100)]
Update the behavior to review a previously failed sync attempt
Alexander Ebert [Wed, 2 Nov 2022 14:05:00 +0000 (15:05 +0100)]
Sync the error handling of `Ajax/Request` with `Ajax/Error.ts`
Alexander Ebert [Wed, 2 Nov 2022 13:13:11 +0000 (14:13 +0100)]
Carefully check for the start and end of the middleware
Alexander Ebert [Wed, 2 Nov 2022 13:11:40 +0000 (14:11 +0100)]
Highlight the file name and line number of the exception origin
Alexander Ebert [Wed, 2 Nov 2022 13:02:09 +0000 (14:02 +0100)]
Fix the handling of exceptions inside the middleware stack
Alexander Ebert [Wed, 2 Nov 2022 12:57:48 +0000 (13:57 +0100)]
Preserve the full file path for the exception origin
Alexander Ebert [Wed, 2 Nov 2022 12:57:29 +0000 (13:57 +0100)]
Move the error code after the exception name
Alexander Ebert [Tue, 1 Nov 2022 17:04:07 +0000 (18:04 +0100)]
Display a HTML error response using an `<iframe>`
Alexander Ebert [Tue, 1 Nov 2022 15:57:17 +0000 (16:57 +0100)]
Merge the error type, code and file into one field
Alexander Ebert [Tue, 1 Nov 2022 14:59:57 +0000 (15:59 +0100)]
Overhaul the visuals and structure of exceptions
The following changes have been made:
* Update the typography to match our most recent UI conventions.
* Move the stack trace into a dedicated section.
* Changes the order of the stack trace values to highlight the class instead of the file.
* Highlight the class names in the stack trace to make them easier to identify.
* Highlight redacted values represented by `SensitiveParameterValue`
* Strip the full path from the output to remove visual clutter.
* Hide the middleware behind a `<details>` element.
Alexander Ebert [Tue, 1 Nov 2022 12:45:24 +0000 (13:45 +0100)]
Update the typography to match the default style
Alexander Ebert [Tue, 1 Nov 2022 12:43:23 +0000 (13:43 +0100)]
Reformat the `core.functions.php`
Alexander Ebert [Tue, 1 Nov 2022 12:06:50 +0000 (13:06 +0100)]
Fix the z-index stacking of drop-down menus
Alexander Ebert [Tue, 1 Nov 2022 12:04:19 +0000 (13:04 +0100)]
Mark the scrollbar event listeners as blocking
This is an old version of the library that raises a few warning due to their implicit blocking nature.
Alexander Ebert [Mon, 31 Oct 2022 17:48:55 +0000 (18:48 +0100)]
Fix the outdated expectations of the DOM layout
Fixes #5092
Alexander Ebert [Mon, 31 Oct 2022 17:45:49 +0000 (18:45 +0100)]
Consistently position icons relative to adjacent text
Fixes #5090
Alexander Ebert [Mon, 31 Oct 2022 17:08:03 +0000 (18:08 +0100)]
Fix the calculation of tooltips in the new overlay container
Fixes #5074
Alexander Ebert [Mon, 31 Oct 2022 16:56:34 +0000 (17:56 +0100)]
Disable scrolling the page while dialogs are open
Alexander Ebert [Mon, 31 Oct 2022 16:42:01 +0000 (17:42 +0100)]
Move the styling of the page overlay container into the general location
Fixes #5097
Alexander Ebert [Mon, 31 Oct 2022 16:30:06 +0000 (17:30 +0100)]
Keep the `reflect-metadata` in sync
Alexander Ebert [Mon, 31 Oct 2022 15:55:47 +0000 (16:55 +0100)]
Merge pull request #5101 from WoltLab/ts-view
Helper class to implicitly bind to DOM elements
Alexander Ebert [Sat, 29 Oct 2022 14:13:34 +0000 (16:13 +0200)]
Perform strict runtime type checks for matching elements
The reflection API is limited and can only resolve basic types. Type-Unions will yield only an empty `Object` and arrays of elements are represented by an empty array.
Alexander Ebert [Sat, 29 Oct 2022 14:12:07 +0000 (16:12 +0200)]
Add `reflect-metadata`
Alexander Ebert [Sat, 29 Oct 2022 12:17:15 +0000 (14:17 +0200)]
Add decorators to implicitly bind to DOM elements
mutec [Thu, 6 Oct 2022 20:56:44 +0000 (22:56 +0200)]
Add return type to AbstractFormFieldDecorator::getAttribute()
see
a95b68e5bc004c04909f79c64922bbf486535bb2
Closes #5032
Tim Düsterhus [Mon, 31 Oct 2022 11:30:38 +0000 (12:30 +0100)]
Merge branch '5.5'
Sascha Greuel [Mon, 31 Oct 2022 11:04:20 +0000 (12:04 +0100)]
Update outdated links within phrases (#5096)
see #5095
see https://www.woltlab.com/community/thread/297811-neuer-twitter-link-registrierung/
Tim Düsterhus [Mon, 31 Oct 2022 09:50:17 +0000 (10:50 +0100)]
Merge remote-tracking branch 'origin/master'
Tim Düsterhus [Mon, 31 Oct 2022 09:49:46 +0000 (10:49 +0100)]
Merge branch '5.5'
Sascha Greuel [Mon, 31 Oct 2022 09:38:44 +0000 (10:38 +0100)]
Update Twitter Developer link (#5095)
See https://www.woltlab.com/community/thread/297811-neuer-twitter-link-registrierung/
Niklas [Mon, 31 Oct 2022 08:09:02 +0000 (09:09 +0100)]
Fix typo in PHPDoc in `ValueFormFieldDependency` (#5089)
Tim Düsterhus [Fri, 28 Oct 2022 14:41:04 +0000 (16:41 +0200)]
Add explicit `void` return type to UserLoginCancelLostPasswordListener::__invoke()
Tim Düsterhus [Fri, 28 Oct 2022 14:33:46 +0000 (16:33 +0200)]
Add return type to bootstrap closure
Tim Düsterhus [Fri, 28 Oct 2022 11:32:57 +0000 (13:32 +0200)]
Merge pull request #5084 from WoltLab/require-minversion
Require the `minversion` of a `<requiredpackage>` to be set
Tim Düsterhus [Fri, 28 Oct 2022 11:31:17 +0000 (13:31 +0200)]
Merge pull request #5086 from WoltLab/logging-aware-exception
Remove ILoggingAwareException
Tim Düsterhus [Fri, 28 Oct 2022 11:30:57 +0000 (13:30 +0200)]
Merge pull request #5085 from WoltLab/escapeString
Remove the global `escapeString()` function
Tim Düsterhus [Fri, 28 Oct 2022 10:54:57 +0000 (12:54 +0200)]
Remove ILoggingAwareException
See the deprecation commit
55343e879a9546d30539d7c746b2de22733469be for
reasoning.
Tim Düsterhus [Fri, 28 Oct 2022 10:46:40 +0000 (12:46 +0200)]
Remove the global `escapeString()` function
This function is trivially replaced if still used and the removal cleans up
core.functions.php a little further.
Tim Düsterhus [Fri, 28 Oct 2022 10:43:22 +0000 (12:43 +0200)]
Remove redundant PHPDoc type in DatabasePackageInstallationPlugin
Tim Düsterhus [Fri, 28 Oct 2022 10:38:49 +0000 (12:38 +0200)]
Require the `minversion` of a `<requiredpackage>` to be set
If “any version” is actually what is desired, a minversion of `0.0.0` or
similar can be specified, but more often than not a missing minversion is an
accident.
Tim Düsterhus [Fri, 28 Oct 2022 10:01:13 +0000 (12:01 +0200)]
Add proper types to BackgroundQueueHandler
Tim Düsterhus [Fri, 28 Oct 2022 09:58:23 +0000 (11:58 +0200)]
Use `->prepare()` instead of `->prepareStatement()` in BackgroundQueueHandler
Tim Düsterhus [Fri, 28 Oct 2022 09:57:30 +0000 (11:57 +0200)]
Mark BackgroundQueueHandler as final
Tim Düsterhus [Thu, 27 Oct 2022 11:43:48 +0000 (13:43 +0200)]
Add wcf1_language.locale to update_com.woltlab.wcf_6.0.php
see
c453132c800e1ad123439875332934c74674bc42
Tim Düsterhus [Fri, 28 Oct 2022 08:04:15 +0000 (10:04 +0200)]
Merge branch '5.5'
Tim Düsterhus [Fri, 28 Oct 2022 07:08:26 +0000 (09:08 +0200)]
Merge pull request #5083 from WoltLab/cryptoutil-performance
Improve performance of CryptoUtil::getValueFromSignedString()
Tim Düsterhus [Thu, 27 Oct 2022 15:29:42 +0000 (17:29 +0200)]
Fix CryptoUtil API misuse in SessionHandler
The previous version was not incorrect (we never sign a falsy string in
SessionHandler). However the return value should always be explicitly compared
to `null` to make verification of correctness easier.
Tim Düsterhus [Thu, 27 Oct 2022 15:25:33 +0000 (17:25 +0200)]
Stop using `CryptoUtil::validateSignedString()` in `SessionHandler`
Tim Düsterhus [Thu, 27 Oct 2022 15:23:09 +0000 (17:23 +0200)]
Deprecate CryptoUtil::validateSignedString()