| Age | Commit message (Collapse) | Author |
|
Fix https://github.com/FreshRSS/FreshRSS/issues/8268
To better support user management on FreshRSS instance with many users.
SQL speed improved. On a reduced test with 5 users, including some large accounts (PostgreSQL on a very tiny and slow server), improving from ~2.3s to ~1.8s, which gives ~20% speed improvement.
Then tested with 1000 users, with only the default feed (on my old desktop computer):
```sh
for i in {1..1000}; do ./cli/create-user.php --user=freshrss$i --password=freshrss; done
app/actualize_script.php
cli/access-permissions.sh
```
SQLite:
```console
$ time cli/user-info.php | wc -l
1001
real 0m1.366s
user 0m0.908s
sys 0m0.475s
```
PostgreSQL:
```console
$ time cli/user-info.php | wc -l
1001
real 0m28.498s
user 0m12.137s
sys 0m2.217s
```
MariaDB:
```console
# time ./cli/user-info.php | wc -l
1001
real 0m49.485s
user 0m1.276s
sys 0m2.258s
```
Yes, SQLite is much faster - not a surprise for such use-cases, where the TCP connection is not re-used.
I have added some CLI options to disable some statistics:
```sh
cli/user-info.php --no-db-size --no-db-counts
```
For the Web UI, I have disabled detailed user statistics if it takes too long, and retrieve missing user statistics asynchronously via JavaScript. Lazy loading of the user details based on IntersectionObserver, with maximum 10 requests in parallel.
Web UI tested on 1000 users as well. Checked with SeaMonkey.
|
|
* Replace translation status flags with text section
* make fix-all
* Update README.md
Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
* Improve with suggestions
* Improve with further suggestions
* fix headers
* BCP 47
https://developer.mozilla.org/en-US/docs/Glossary/BCP_47_language_tag
* en-US: `TODO` -> `IGNORE`
* i18n: fr
* i18n: fr
* i18n: fr
* Links
---------
Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Show translation status in README.md
* Fix colon
* markdownlint: Allow tag `<translations>`
* Use mostly Unicode flags instead
* Only `oc.svg` remains in an image format
* `check.translation.php` still supports `.png` even though there aren't any PNGs as of right now
* Fix CodeSniffer
* Attempt approach with generating local SVGs
* Fixes for local SVG approach
* Cleanup old code
* PHPStan fix
* Remove decimal precision from percentages
* Suggestions + better error messages
* codesniffer fix v2
* Revert `ghSearchUrl` change
* Generate readme
* Fix syntax highlight, maybe
* Regenerate
* Update help message
* Use existing translation files instead of .txt
* Add test against wrong Unicode flag
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Added api password indicator text
* make fix-all
* i18n
* i18n: it
Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: UserRoot-Luca <55756898+UserRoot-Luca@users.noreply.github.com>
|
|
* Add quiet option to cli/db-backup.php
* Fix CI test error
* Fix README
|
|
* CLI database backup and restore
Can also be used to migrate from one database to another (e.g. MySQL to PostgreSQL) or to ease upgrade to a major PostgreSQL version (e.g. 15 to 16).
* +x
* Fix some cases
* Update to docker-compose-v2
* More documentation
|
|
* Separates long & short options for parsing
* Adds parsing for short options + doc rewrites
* Fixes undefined constant in check.translation
* Standardises CL option parsing
* Refactors option parsing
* Renames getLongOptions -> getOptions
* Removes unused code
* Converges on string typing for options
* Updates docs & help files
* Updates array syntax array( ) -> [ ]
|
|
* Updates do-install params
* Adds parseCliParams to _cli.php
* Updates do-install to use parseCliParams
* Updates reconfigure to use parseCliParams
* Fixes bug mail_login => email
* Update create-user to use parseCliParams
* Minor refactor
* Updates update-user to use parseCliParams
* Fix no_default_feeds => no-default-feeds
* Refactors arrays
* Updates CLI Readme
* Adds docblocks to _cli functions
* Sets vars in _cli functions
* Fixes indentation
* Meeting coding standards around colons
* Meeting PHPStan standards
* Removes stray whitespace
* Meeting PHPStan Next Level standards
* More specific typing
* Maintaining types
* Typing around getopt()
* Fixes typo
* Fixes typo perameters -> parameters
* Removes unused variable
* Rewrites deprecation warning message
|
|
* More robust application of access permissions
We were in particular missing directory traversal `+X` in our current recommendations.
Extracted to own shell script so it can easily be invoked.
Update access permissions in Docker to account to be more robust.
#fix https://github.com/FreshRSS/FreshRSS/discussions/5037
* Minor simplification
* Restrict mkdir permissions
Default mkdir permissions are 0777, which is not good for security, so downgrade to 0770.
|
|
|
|
* Custom logo HTML
Add option for custom HTML logo/title in the main Web UI view.
Can potentially be different per user.
#fix https://github.com/FreshRSS/FreshRSS/pull/3830/files#r850472247
* logo_html in main config
With new `./data/config.custom.php` to provide custom values before install
* Docker documentation
* whitespace
* Auto relax CSP to allow images for HTML logo
* Documentation
|
|
* added: ./cli/manipulate.translation.php + divided in sub sections
* headline structure
* blank lines added
|
|
* Improved markdownlint
* Relaxed rules slighlty
* `npm run markdownlint` for automatic tests
* `npm run markdownlint_fix` for automatic syntax fixing
* Applied the fixes on all our Markdown files
|
|
* CLI user-info JSON option
Add a JSON user-info output
https://github.com/FreshRSS/FreshRSS/issues/2967#issuecomment-627441744
* Uses ISO Zulu time
* Typo
|
|
* Add lang and mail in CLI user-info
Anf update documentation after
https://github.com/FreshRSS/FreshRSS/pull/2296
* iff and language
|
|
* markdownlint
I have started to use
[markdownlint](https://github.com/DavidAnson/markdownlint/) to find
typos in Markdown. Let's discuss which rules to enforce / disable /
customize
* markdownlint cli/readme
|
|
* Better performance with yield
Largely decrease the time to first byte, and reduced memory consumtion.
Before, we used to make several copies in memory of the whole list of
articles before sending them to the client. Now streamed as they are
processed.
* Travis
|
|
Many broken links.
Related to https://github.com/FreshRSS/FreshRSS/pull/2614
|
|
|
|
* CLI to export/import any database to/from SQLite
Require PHP 5.5+ https://github.com/FreshRSS/FreshRSS/pull/2495
* Travis
* Execution rights
* Fix wrong static fields
* Fix MySQL bad default buffering
https://stackoverflow.com/questions/6895098/pdo-mysql-memory-consumption-with-large-result-set/6935271#6935271
https://php.net/manual/ref.pdo-mysql
* Fix count on progression
* Avoid static DB information
To ease working with two DBs at the same time
* Less static, simplify
Needs some testing
* Small corrections
* Special case for SQLite to SQLite
* Modify special case for SQLite
* Remove special case for SQLite
More uniform logic for the 3 databases.
Fix wrong DROP TABLE for SQLite.
* Drop indexes
* Revert "Drop indexes"
This reverts commit f28d2bae0935745c1c74ea38f2ee083f3fd4bf9d.
* Fix deletion
* Fix classic export
* Update cli/README.md
Co-Authored-By: Marien Fressinaud <dev@marienfressinaud.fr>
* Addressing part of review
* Remove goto :cry:
* Travis
* Comment for SQLite case
* Fix missing fields when inserting
|
|
Avoid cron sending email in case of success command
|
|
Instead of PubSubHubbub / PuSH
|
|
* First draft of custom tags
https://github.com/FreshRSS/FreshRSS/issues/928
https://github.com/FreshRSS/FreshRSS/issues/1367
* SMALLINT to BIGINT for id_entry
And uppercase SQL types
* Fix layout for unreads
* Start UI menu
* Change menu order
* Clean database helpers
https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r217971535
* Travis rules do not understand PostgreSQL constants
Grrr
* Tag controller + UI
* Add column attributes to tags
* Use only favicon for now, for label
* Fix styling for different themes
* Constant for maximum InnoDB index length in Unicode
https://github.com/FreshRSS/FreshRSS/pull/2027#discussion_r219052200
(I would have personnally prefered keeping the readability of a real
value instead of a constant, in this case of many SQL fields)
* Use FreshRSS_Factory::createCategoryDao
* Add view of all articles containing any tag
* Fix search in tags
* Mark as read tags
* Partial auto-update unread tags
* More auto update tag unreads
* Add tag deletion
* Do not purge tagged articles
* Minor comment
* Fix SQLite and UI bug
* Google Reader API support for user tags
Add SQL check that tag names must be distinct from category names
* whitespace
* Add missing API for EasyRSS
* Compatibility SQLite
Problematic parentheses
* Add SQL DISTINCT for cases with multiple tags
* Fix for PostgreSQL
PostgreSQL needs some additional type hint to avoid "could not determine
data type of parameter $1"
http://www.postgresql-archive.org/Could-not-determine-data-type-of-parameter-1-tp2171092p2171094.html
|
|
* Better test if server has public address
* Wrong trailing slash in documentation
|
|
|
|
* Draft of new Docker
Based on Alpine Linux. Size ~78MB.
https://github.com/FreshRSS/docker-freshrss/issues/4
https://github.com/FreshRSS/FreshRSS/issues/520
https://github.com/FreshRSS/docker-freshrss
https://github.com/FreshRSS/docker-freshrss-production
* Docker readme
* +x execution rights prepare
* Docker readme links to hub.docker.com
https://hub.docker.com/r/freshrss/freshrss/
|
|
|
|
* added documentation about updating FreshRSS
moved Installation to admin directory
linked some already existing documentation files
|
|
CLI optimize database https://github.com/FreshRSS/FreshRSS/issues/1583
And VACUUM in SQLite https://github.com/FreshRSS/FreshRSS/issues/918
Add VACUUM for PostgreSQL (Not tested yet)
|
|
|
|
https://github.com/FreshRSS/FreshRSS/issues/1600
Not tested
|
|
Remove cd and sudo
https://github.com/FreshRSS/FreshRSS/pull/1544#discussion_r118556797
|
|
Do not require write access to check if new ZIP version is available
https://github.com/FreshRSS/FreshRSS/issues/1450
|
|
|
|
https://github.com/FreshRSS/FreshRSS/issues/1542
|
|
https://github.com/FreshRSS/FreshRSS/issues/1449#issuecomment-284191560
https://github.com/FreshRSS/FreshRSS/issues/1447
|
|
https://github.com/FreshRSS/FreshRSS/issues/1449#issuecomment-283927614
|
|
https://github.com/FreshRSS/FreshRSS/issues/1445#issuecomment-283908468
|
|
https://github.com/FreshRSS/FreshRSS/issues/1424
https://github.com/FreshRSS/FreshRSS/issues/1432
https://github.com/FreshRSS/FreshRSS/pull/1436
https://github.com/FreshRSS/FreshRSS/pull/1439
|
|
https://github.com/FreshRSS/FreshRSS/pull/1363
|
|
Small fixes in install (e.g. better check that DB password works)
|
|
https://github.com/FreshRSS/FreshRSS/issues/1345
https://github.com/FreshRSS/FreshRSS/issues/1358
|
|
https://github.com/FreshRSS/FreshRSS/issues/1345
|
|
|
|
https://github.com/FreshRSS/FreshRSS/pull/1338
https://github.com/FreshRSS/FreshRSS/issues/1095
|
|
https://github.com/FreshRSS/FreshRSS/issues/1095
|