aboutsummaryrefslogtreecommitdiff
path: root/caches/SQLiteCache.php (follow)
AgeCommit message (Collapse)AuthorFilesLines
2023-09-28feat: improve sqlite cache robustness (#3715)Gravatar Dag 1-2/+7
2023-09-24chore: prepare 2023-09-24 release (#3703)2023-09-24Gravatar Dag 1-0/+4
2023-09-21refactor: logger (#3678)Gravatar Dag 1-4/+9
2023-09-10fix: mastodon, cache tweaks, docs (#3661)Gravatar Dag 1-0/+4
* cache tweaks * docs * fix(mastodon): type bug
2023-09-10fix: rewrite and improve caching (#3594)Gravatar Dag 1-50/+42
2023-07-20fix(sqlitecache): store blob as blob (#3555)Gravatar Dag 1-1/+1
serialize() can return output with null bytes and other non-text data. The prior behavior truncated data which later results in unserialize() errors. This happens when e.g. caching an object with a private field or when caching e.g. a JPEG file (starts with 0xFFD8FFE1) Fixes errors such as e.g.: unserialize(): Error at offset 20 of 24 bytes at caches/SQLiteCache.php line 51
2023-07-19refactor(cache): extract and encapsulate cache expiration logic (#3547)Gravatar Dag 1-14/+24
* refactor(cache): extract and encapsulate cache expiration logic * fix: logic bug in getSimpleHTMLDOMCached * fix: silly me, index should of course be on the key column * silly me again, PRIMARY keys get index by default lol * comment out the delete portion in loadData * remove a few log statements * tweak twitter cache timeout
2023-07-16fix(sqlitecache): bug in prior refactor (#3540)Gravatar Dag 1-6/+10
fixes: rssbridge.WARNING Trying to access array offset on value of type bool at caches/SQLiteCache.php line 72
2023-07-15fix(sqlitecache): log failed unserialization (#3539)Gravatar Dag 1-1/+3
2023-07-15perf(SqliteCache): add index to updated (#3515)Gravatar Dag 1-13/+10
* refactor(SqliteCache) * perf(SqliteCache): add index to updated
2023-07-06feat(sqlite cache): add config options (#3499)Gravatar Dag 1-50/+41
* refactor: sqlite cache * refactor * feat: add config options to sqlite cache * refactor
2023-07-06refacor: improve cache interface (#3492)Gravatar Dag 1-24/+7
* fix: proper typehint on setScope * refactor: type hint setKey() * typehint
2023-07-05fix(CacheInterface): logic bug in getTime (#3491)Gravatar Dag 1-1/+1
* fix(CacheInterface): logic bug in getTime * test
2022-08-23fix: case-insensitive config from env, fix #2935 (#2973)Gravatar Dag 1-1/+1
* refactor * fix: case-sensitive config from env, fix #2935 * lowercase all config section and keys * test: add test for case-insensitivity
2022-08-06refactor: general code base refactor (#2950)Gravatar Dag 1-27/+11
* refactor * fix: bug in previous refactor * chore: exclude phpcompat sniff due to bug in phpcompat * fix: do not leak absolute paths * refactor/fix: batch extensions checking, fix DOS issue
2022-08-02refactor: use static values for cache scopeGravatar Dag 1-3/+4
This fixes a future problem when code is placed under a namespace because `get_class($bridge)` will then return e.g. `RssBridge\Bridge\TwitterBridge` instead of the the current value `TwitterBridge`. Also a bit refactoring of `Configuration.php`.
2022-07-08feat: introduce template engine (#2899)Gravatar Dag 1-3/+8
2022-07-01Reformat codebase v4 (#2872)Gravatar Dag 1-123/+133
Reformat code base to PSR12 Co-authored-by: rssbridge <noreply@github.com>
2022-03-24[Config] Don't check PATH_CACHE for memcached (#1489)Gravatar Jakub Valenta 1-0/+7
2019-06-07config: Use global constant for config filesGravatar logmanoriginal 1-2/+2
The configuration files are currently hard-coded in the configuration classes and error messages. However, the implementation should not rely on specific details like the file name. Instead, the files should be part of the global definition. This commit introduces two global constants for the configuration files - FILE_CONFIG => 'config.ini.php' - FILE_CONFIG_DEFAULT => 'config.default.ini.php'
2019-04-29caches: Refactor the API (#1060)Gravatar fulmeek 1-19/+41
- For consistency, functions should always return null on non-existing data. - WordPressPluginUpdateBridge appears to have used its own cache instance in the past. Obviously not used anymore. - Since $key can be anything, the cache implementation must ensure to assign the related data reliably; most commonly by serializing and hashing the key in an appropriate way. - Even though the default path for storage is perfectly fine, some people may want to use a different location. This is an example how a cache implementation is responsible for its requirements.
2019-03-02[SQLiteCache] Check sqlite3 extension in __constructGravatar logmanoriginal 1-0/+3
Checks if the sqlite3 extension is loaded and throws an error if it's missing.
2019-02-24[SQLiteCache] Implement cache based on SQLite 3 (#1035)Gravatar fulmeek 1-0/+96