| Age | Commit message (Collapse) | Author |
|
* Add extension hook simplepie_after_init
fix https://github.com/FreshRSS/FreshRSS/issues/7006
* Add documentation note
* fix doc get_headers
* Syntax void
* Forgotten code
|
|
* Copy CustomCSS and CustomJS
Original: FreshRSS/Extensions@9f21984
* Rename CustomCSS -> UserCSS
* Rename CustomJS -> UserJS
* Change metadata
The name is used for the directory where the configuration
is stored and should not contain spaces.
Since the name was changed, I reset the version number and
changed to semantic versioning.
* Change data directory
Changed the location of the configuration file to
the user data directory, because it is not `static`.
That way, the user's configurations are gathered
in the user directory, which makes it easier to backup them.
* Edit documentations
Remove procedures to install the extension
because it is no longer necessary.
* Fix wrong variables in the configuration page
Remove permission error indication because the storage location
is now in the user data directory managed by the application.
* Remove the `xExtension-` prefix for core extensions
* Set version to 1.0.0 for UserCSS, UserJS
* Refactoring
* Remove unused variables
* Remove version 0.0.1 in Changelog
Version 0.0.1 will not be merged, so only version 1.0.0 will remain.
* public getFileUrl
* Revert more protected
* Use entrypoint for extension user path instead of name
* Add space to extension name
* Add `#[\Override]`
* Add explains of User CSS and User JS to docs
* Remove README of User CSS and User JS
* Add migration code for extension user path
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
|
|
* PHP 8.3 #[\Override]
https://php.watch/versions/8.3/override-attr
With PHPStan `checkMissingOverrideMethodAttribute` https://phpstan.org/config-reference#checkmissingoverridemethodattribute
And modified the call to phpstan-next on the model of https://github.com/FreshRSS/Extensions/pull/228 (more robust than the find method, which gave some strange errors)
* Update extension example accordingly
|
|
This will allow to change CSP rules to authorize the use of external scripts.
We might need to add some safeguard since it will be virtually possible to
load any script even malicious one.
|
|
* New extension hook entry_auto_read
For extensions to be notified of articles being automatically marked as read for various reasons
* Documentation + entry_auto_unread
|
|
* delete 04_Changing_source_code.md
* make pot
---------
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* done
* Update docs/fr/developers/Minz/index.md
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Easier full-text search possibility
Contributes to https://github.com/FreshRSS/FreshRSS/issues/1331
Avoid concats in searches to make text indexes easier to build
* Fix tests
* Documentation
|
|
* Update markdownlint-cli dev dependency
And fix https://github.com/advisories/GHSA-6vfc-qv3f-vr6c
* npm ci
|
|
* Use typographic quotes
* A few fixes
* Fix
* Fix not saved
* Implement feedback
* Detail
* Revert spoken English fixes
Left for a future dedicated discussion
* More reverts
* Final reverts
* Final minor
|
|
(#4134)
|
|
* Fix most PHPDocs errors
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103
https://phpstan.org/writing-php-code/phpdoc-types
* Avoid func_get_args
Use variadic syntax instead https://php.net/manual/functions.arguments#functions.variable-arg-list
And avoid dynamic functions names when possible to more easily identify calls and unused functions.
Contributes to https://github.com/FreshRSS/FreshRSS/issues/4103
* PHPStan level 3
* PHPStand level 4
* Update default to PHPStan level 4
* Towards level 5
* Fix level 4 regression
* Towards level 5
* Pass PHPStan level 5
* Towards level 6
* Remove erronenous regression from changelog
https://github.com/FreshRSS/FreshRSS/pull/4116
|
|
* 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
|
|
Before, only the user configuration was supported by extensions. But it was
limiting if one has to create a system extension with configuration.
Now, both user and system configuration are supported.
|
|
The new hook allows to add maintenance extensions at the user level.
See #3398
|
|
Before, the extension configuration was handled by its author. There
was discrepancies between extensions on how the configuration was
stored.
Now, we could rely on a single way of storing configuration. This won't
invalidate how the extensions are storing their configuration but will
allow authors to focus on what is important.
|
|
Before the extension documentation was not very clear about the methods
in the extension and how to use them. I hope that now it makes more
sense.
|
|
* remove outdated mailing list information
* add information about normal view
* add information about global and reader view
* fix import section header
* reorder documentation to reflect menu's order
* clarify setting as default in normal view
* add info about reading section for config
* fix heading levels, add info about archive + profile sections
* unfix heading levels
* move section on feed-specific settings to the subscription management page
* update information about adding feeds, add information about feed management
* fix link to security page in installation
* fix broken links
* fix broken link to install page
* add lighttpd from project readme
* add php modules to step 4, add horizontal line to better separate steps from footnotes visually
* fix broken link
* add index page for easier access of other pages
* move first steps document
* make dedicated bug reporting page
* make index page for linking to other pages
* moved fever API to relevant location, linked to index
* remove outdated mailing list information
* add information about normal view
* add information about global and reader view
* fix import section header
* reorder documentation to reflect menu's order
* clarify setting as default in normal view
* add info about reading section for config
* fix heading levels, add info about archive + profile sections
* unfix heading levels
* move section on feed-specific settings to the subscription management page
* update information about adding feeds, add information about feed management
* fix link to security page in installation
* fix broken links
* fix broken link to install page
* add lighttpd from project readme
* add php modules to step 4, add horizontal line to better separate steps from footnotes visually
* fix broken link
* add index page for easier access of other pages
* move first steps document
* make dedicated bug reporting page
* make index page for linking to other pages
* moved fever API to relevant location, linked to index
* re-fix link
* remove mention of defunct mailing list
* grammar fix
* replace stream with feed
* add optional items, replace stream with feed
* replace stream with feed
* fix word choice
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* fix word choice
better reflect age of project
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* grammar fixes
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* remove double headings
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* change single quote to double quote for consistency
* add subreddit link
* change php module list to Dockerfile link
* fix link to developer index, change html links to md for consistency
* update css selector terms
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
|
|
When an extension defines an `autoload` method, it will be registered
automatically before enabling the extension.
For the extension creator, it's easier because there is no need to
register it manually.
|
|
* add two new hooks
I develop a new extension and i need 2 new hooks for it
* update EN documentation
* Correct typing errors
* Update app/views/helpers/javascript_vars.phtml
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
* Add a Minz_Migrator class
Until now, we updated the database structure somewhere in the code but
it wasn't always consistent and somehow complicated to find. Also, this
code was always checked for nothing.
The Migrator aims to improve and ease the creation of migrations. It
should improve the way we apply the updates, making the update server
almost useless.
References:
- example of migration (before Migrator): https://github.com/FreshRSS/FreshRSS/commit/cc0db9af4f980829faa4bf0960617807b32fb4fa#diff-11a53443fa81512b128c66b065df0679R10
- update server: https://github.com/FreshRSS/update.freshrss.org
- PR moving the code of the update server to the core: https://github.com/FreshRSS/FreshRSS/pull/1760
* Automatically apply migrations
For now, administrators are used to have nothing to do during an update
else than getting the new code. I suggest to keep this behaviour and
automatically apply migrations if we detect new ones.
Another solution would be to create a CLI command and ask admins to call
it after getting the new code. It could hide migrations errors to end
users, but admin can forget to apply migrations since there are not used
to it.
* Add documentation for Minz Migrator
* Execute migrations even if next ones are applied
* Change mechanism to prevent multiple update at once
* Use mkdir to create the lock and to test it exists
Reference: https://stackoverflow.com/a/731634
* Append .lock to applied_migrations_path
There are no needs to define another file to serve as a lock.
* Change migrations naming convention
* Apply suggestions from code review
Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
* Perform a low-cost migration versions comparaison
* Clarify version numbers concerning the migration system
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
|
|
By default, the container starts without extensions. But if for some reasons,
you need to add them without copying or moving some code, you can embed them
while starting the container. The syntax is:
```
make start extensions="/full/path/to/extension/1 /full/path/to/extension/2"
```
|
|
* doc: Write proper doc for internationalization
* Apply suggestions from code review
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
* Update docs/en/internationalization.md
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
|
|
See <https://github.com/FreshRSS/FreshRSS/pull/2704#issuecomment-592950971>.
|
|
* [i18n] Add docs po4a script
* Add proof of concept
* Add a few more translations
* Hush ShellCheck and shfmt
* Make that list po4a-friendly
* drat, this document could've probably been auto-generated
* Definitive proof that it's translated from French ;-)
* Add some brand spanking new French translation
* More translation
* Mostly finish that config page
* Fix up FAQ
* More contributing
* Dev first steps
* Let's ignore that admin stuff at the very least for now
* Translate release new version, make French the source first and copy all translations
Then replace French with English in the source.
Much quicker than any alternative route.
* And add the English translation
* Minor stylistic leftover from French
* Most of first steps
* Forgot the extensions
* Use po4a 0.56 to get rid of way too many newlines
* Fix up those newlines
* No point linking to Firefox integration anymore from the new user guide
* Start on main view
* A bunch of main view stuff
* More main view
* And some subscriptions before going to bed
* First steps for devs
* More dev first steps
* Incomplete French → English dev/GH translation
Because I need to ask about that mailing list thing
* Fix typo in docs/en/developers/02_Github.md
* Translate & complete devs/github to English
* Fix up most of extensions
* Is that supposed to be a non-breaking space? Let's see
* Match up some users/mobile access
* More users/mobile access
* Add fresh French translation to Fever API
* Fix typo
* Match frontend todo thingies
* Fix a typo
* Some extensions strings
* Remove Fx subscription service from the docs
Cf. https://github.com/FreshRSS/FreshRSS/pull/2606
* Add translation for https://github.com/FreshRSS/FreshRSS/pull/2643
* fix typo as per https://github.com/FreshRSS/FreshRSS/pull/2643#discussion_r345433009
* Add some more French translations
* Update French translation as per @aledeg comment https://github.com/FreshRSS/FreshRSS/pull/2590#discussion_r345465909
* Translate some of the meaningless stuff
* Translate the rest of contributing.md to French
* Fix conflicts
* Translate Docker first steps to French
* Update with change from #2665
* Add @aledeg corrections
* Overlooked a couple @aledeg corrections thanks to GitHub autohide
* Latest @aledeg suggestions
|
|
* Take advantage of PHP 5.4+ short echo
https://php.net/migration54.new-features thanks to
https://github.com/FreshRSS/FreshRSS/pull/2495
Use `<?= ?>` instead of `<?php echo; ?>`
10kB of code saved :-)
Done with regular expression:
```
<\?php echo (.+?);? *\?>
<?= \1 ?>
```
* Try Travis fix
https://github.com/squizlabs/PHP_CodeSniffer/issues/2045#issuecomment-395238272
|
|
|
|
Hooks allow to:
- add items in menus
- perform new actions at the end of FreshRSS initialization
|
|
* New extension event + Tumblr GDPR
https://github.com/FreshRSS/FreshRSS/issues/1894
simplepie_before_init event
* Refactor extension enabling + Tumblr GDPR enabled by default
Add possibility for extensions to be enabled by default, and disabled
back by users.
* Minor whitespace
|
|
|
|
https://github.com/FreshRSS/FreshRSS/pull/1729
|
|
See https://github.com/FreshRSS/FreshRSS/pull/1697#discussion_r154290857
* lowercase dir as pointed out by @kevinpapst in https://github.com/FreshRSS/FreshRSS/pull/1704#issuecomment-350458110
* Add French translation with improvements suggested by @aledeg
|
|
https://github.com/FreshRSS/FreshRSS/issues/1605
|
|
|