* Where possible and easy to figure out, change `array` to something like
`array<K,V>` or `V[]` for improved static analysis to catch/prevent
regressions in CI.
* Minor doc improvements:
- consistently use the imperative mood for method briefs,
- consistently use @internal instead of @private,
- explain in @throws why they happen to inform when they should be caught
(and remove if they are not meant to be caught/handled by any caller).
* Simplify addSources() implementation as a simple loop instead recursing
(not worth the complexity, only called once or twice at runtime).
* Use more granular exceptions to distinguish between errors that indicate
a mistake on the caller (logic/invalid arguments error), and runtime
errors (which are more circumstantial).
* Update register() unit test for bad 'moduleInfo' type to use
a nested value, given that the second-parameter level type is
now verified by the signature already.
Change-Id: Id98ba1f28cb7f1c72f0a3e82f4151bcbd0f3db77
When clearing the LocalisationCache, avoid instantiating a ResourceLoader
instance. Doing so introduces a circular dependency among service
instances.
This patch introduces a static method for clearing the MessageBlobStore
without the need for a ResoruceLoader instance.
Bug: T231866
Change-Id: I404e64713fee6a534ba014981cef78af0b91f2aa
* Add license header where missing.
* Add missing `@since` (1.17 for most classes), except
ResourceLoaderLessVarFileModule since 1.32 (1bc62c548c).
* Remove duplicate file-level description for class-only files,
merge with the class description instead.
* Remove my own `@author` annotation from one file.
* Mark core's own FileModule subclasses as `@internal`, except
for the following which we support use of in extensions:
ResourceLoaderLessVarFileModule,
ResourceLoaderOOUIIconPackModule, and
ResourceLoaderWikiModule.
Change-Id: I336af2e4ccdbe2512594e8861b72628d24194e41
It's not needed to escape UTF-8 characters in messages.
The characters '&', '<' and '>' are still escaped. For the output in
load.php this escaping is not necessary but messages can also embedded
into <script> tags and here are the characters '<' and '>' problematic.
Bug: T229301
Change-Id: If424a21df4a813ba6cb79b939f0857d96f162a17
Also remove a few redundant file-level descriptions in favour
of their class entity describing the same already.
Change-Id: I1a43fc402b5bd106931062a399952ba1e48beb48
Because it was still per-wiki, which isn't useful and makes
it really slow to invalidate by requiring a 900-wiki iteration
during deployments all of which fully initialise MW just to
send a single Memcached command basically.
Bug: T222539
Change-Id: I02a3e7d83172ccd7d8d0fba3be1e3f1ebb77efb2
Previously, it was exporting the result of $msg->plain() regardless
of $msg->exists(). This meant that, client-side, via mw.message
the message would always make mw.Message#exists return true, even
if in fact it did not exist.
Bug: T221294
Change-Id: I77122777ddaaa2d43f8385df9292540a8d21b328
This class is basically `@internal`, but not yet marked as such.
The only non-core use case is a WikimediaMaintenance script,
so I suppose we can keep it public.
It's purpose is for batching, the single blob method is not
used anywhere in Wikimedia Git.
Change-Id: If2a0497b1412efbfd55b34b512d2b9e5346359fb
Move source code to includes/resourceloader to match
test case. This is part of ResourceLoader and not meant
to be used elsewhere.
Merge two similar test cases for getting blobs and fetching
messages which were doing the same thing.
Rewrite the test names to be a better reflection of the stories
they test, add comments for why, and re-order them to put related
tests together.
Move test-utilities to the bottom and make them actually private.
Change-Id: I7a437eebf3ba6a722e286dfe77c2f9fe49ad222f
2019-03-27 23:53:23 +00:00
Renamed from includes/cache/MessageBlobStore.php (Browse further)