Frédéric Guillot
37d539eb42
fix(template): webauthn error alert was broken on the settings page
2025-08-11 20:01:53 -07:00
jvoisin
884521a7dd
refactor(template): use modern svg directive
...
https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Element/use
https://developer.mozilla.org/en-US/docs/Web/SVG/Reference/Attribute/xlink:href
> Warning: Since SVG 2, the xlink:href attribute is deprecated in favor of
href. See xlink:href page for more information.
2025-08-11 18:31:16 -07:00
Julien Voisin
98da7b3f22
feat(template): provide a link for the Apache 2.0 license in the about page
...
- Provide a link for the Apache 2.0 license
- Factorise the checks for IsAdmin
- Fix some indentation issues
2025-08-08 10:31:21 -07:00
Frédéric Guillot
f7e672452b
feat(js): force page reload to prevent stale data from bfcache
...
The unread page may show outdated entries when navigating back from an article, due to Chrome's back/forward cache (bfcache) restoring the page from memory.
Reference: https://web.dev/articles/bfcache
2025-08-07 19:35:16 -07:00
jvoisin
14cd5e9c0d
refactor(template): reduce the amount of code in common templates
...
There is no need to have templates used only used in a single file be part of
every single other ones. This should reduce a bit the resident memory
consumption of miniflux.
2025-08-07 17:36:41 -07:00
Frédéric Guillot
80f48c88c7
refactor: replace interface{}
with any
2025-08-05 20:26:07 -07:00
Julien Voisin
2565ff930c
refactor(template): make use of template.ParseFS
2025-08-05 20:07:49 -07:00
Julien Voisin
ed0e4a667d
refactor(template): reindent and merge tags in feed_list.html
...
- Fix some indentation
- Factorize/merge some <span>
- Remove superfluous spaces
- Reindent some nested tags
2025-08-05 17:50:09 -07:00
Frédéric Guillot
b505a63f3b
refactor(js): rewrite toast notification implementation
2025-08-02 21:37:16 -07:00
Frédéric Guillot
3e1a7e411c
feat(js): register the service worker as JavaScript module
2025-08-02 11:26:43 -07:00
Frédéric Guillot
bfbc1c88c3
feat(js): load app.js
using JavaScript module
...
- The JS bundle has its own isolated scope
- There is no need to use IIFEs anymore (Immediately Invoked Function Expressions)
- Modules are executed after the HTML document is fully parsed, similar to `defer` attribute
- There is no need to use `DOMContentLoaded` anymore
- Module scripts inherently run in strict mode (no need to define `use strict` anymore)
2025-08-02 11:07:27 -07:00
Frédéric Guillot
bfd8cb3d22
feat(ui): add icons to main menu
2025-07-30 19:12:50 -07:00
Frédéric Guillot
20825a92c5
Revert "perf(template): use ParseFS
to directly parse the embedded template data"
...
This reverts commit 4336a0bd85
.
2025-07-22 21:31:34 -07:00
Julien Voisin
1825320369
refactor(template): remove unused functions and reduce the complexity of truncate
function
...
- Remove unused functions like hasKey, domain, hasPrefix and contains.
- Lower the complexity of truncate from O(n) to O(1).
2025-07-17 20:53:41 -07:00
jvoisin
d80fb242db
refactor(template): reduce translation-related introspection
...
Keys in translation maps are always strings, never anything else, so there is
no need to introspect them.
2025-07-17 20:48:36 -07:00
Julien Voisin
4336a0bd85
perf(template): use ParseFS
to directly parse the embedded template data
...
Use ParseFS to directly parse the embedded template data, instead of manually
reading it and then using Parse.
2025-07-17 20:46:33 -07:00
Julien Voisin
dc05965895
chore(template): remove X-UA-Compatible
meta tag specific to Internet Explorer
2025-06-20 11:59:08 -07:00
Frédéric Guillot
2a9d91c783
feat: add entry filters at the feed level
2025-06-19 15:15:16 -07:00
jvoisin
117c031f1c
feat(integration)!: remove Pocket integration
...
BREAKING CHANGE: Pocket will no longer be available after July 8, 2025.
https://support.mozilla.org/en-US/kb/future-of-pocket#w_when-is-pocket-shutting-down
2025-06-15 13:29:55 -07:00
Frédéric Guillot
70b513b8db
feat(ui): display external URL in single entry view
...
Display the article's external URL directly in the single entry view.
Rationale: On mobile devices, users couldn't see where a link pointed before tapping it.
Previously, the only way to view the external URL was by hovering - an action not available on touch devices.
2025-06-09 21:14:55 -07:00
Frédéric Guillot
8db637cb39
feat(ui): add user setting to control target="_blank"
on links
...
Rationale: Opening links in the current tab is the default browser behavior.
Using `target="_blank"` on external links can lead to accessibility issues and override user preferences. It may also interfere with assistive technologies and expected browser behavior.
To maintain backward compatibility, this option is enabled by default (`true`), which adds `target="_blank"` to links.
2025-06-08 21:07:11 -07:00
Frédéric Guillot
a8bb7a48d7
feat(ui): avoid showing an excessive number of tags
2025-06-08 15:29:09 -07:00
Jesse Jaggars
43d302e768
feat: adding support for saving entries to karakeep
...
Signed-off-by: Jesse Jaggars <jhjaggars@gmail.com>
2025-06-04 21:10:26 -07:00
Frédéric Guillot
bfd8860398
feat(api): add new endpoints to manage API keys
2025-05-25 15:50:13 -07:00
Kelly Norton
09fb05aaaf
feat: add option to always open articles externally
2025-05-24 19:46:01 -07:00
Anton Larionov
e99864a456
fix(locale): localize Git commit label at about page
2025-05-22 19:30:10 -07:00
Anton Larionov
553c578f2e
feat(rssbridge): support auth token for RSS-Bridge
2025-05-19 20:47:12 -07:00
Frédéric Guillot
327d027d38
feat(settings): replace div.panel
with paragraph tags for OAuth2 links
2025-05-11 18:06:16 -07:00
Frédéric Guillot
d33e305af9
fix(api): hide_globally
categories field should be a boolean
2025-04-21 19:43:25 -07:00
Tali Auster
fe7ec25a09
chore: fix indentation
2025-04-17 17:07:38 -07:00
Tali Auster
2959a4d2bf
fix: clarify share flow in UI
...
Prior to this commit, to share an entry, a user has to click on the
share link and then copy the URL they are redirected to. The danger is
that they may right-click and copy the share link without actually
clicking on it, and therefore share a link that, when authenticated,
shares the entry, rather than actually sharing the entry.
Here, we avoid this misinterpretation by making sharing into a POST
request and using a form rather than a link.
2025-04-17 17:07:38 -07:00
Frédéric Guillot
ef22e95f8b
feat: implement proxy URL per feed
2025-04-06 21:05:19 -07:00
Frédéric Guillot
94fb3d6159
fix: change labels from Read / Unread to "Mark as Read"
2025-03-28 17:34:44 -07:00
Frédéric Guillot
c0fcdf3b6e
fix(ui): update entry tags display logic to show links based on user authentication
2025-03-28 15:53:08 -07:00
Frédéric Guillot
87fccfee3a
fix(ui): remove touch-action style because it could cause horizontal scrolling issue
2025-03-28 15:20:31 -07:00
Frédéric Guillot
e643effefa
feat: combine feed icon handlers to use only externalIconID
2025-03-28 14:29:19 -07:00
Paul Stenius
0cf5051cf8
feat: show size of DB on the about page
2025-03-05 15:49:32 -08:00
Uziskull
55a3f9fcc9
feat(integrations/ntfy): make ntfy topics configurable per feed, with default one as fallback
2025-02-24 16:29:08 -08:00
Sergio Moura
3387201634
feat(pushover): add integration with pushover.net
2025-02-13 20:50:37 -08:00
Frédéric Guillot
6a008eee14
feat(ui): open the <details> tag in edit feed page when the feature is enabled
2025-01-31 17:21:49 -08:00
Wesley van Tilburg
459284ab96
feat(integration): add webhook URL per feed
2025-01-31 16:33:11 -08:00
Sangeeth Sudheer
e40446ad3c
fix(ui): Redirect correctly post feed removal from category feeds list
...
Currently, removing a feed from `/category/{id}/feeds` redirects incorrectly to `/feeds`. This change fixes it so that
removing a feed will now correctly redirect to `/category/{id}/feeds`. Removing a feed from `/feeds` is unaffected and
will work as it does currently.
To fix this, a new UI endpoint `/category/{categoryID}/feed/{feedID}/remove` is added and a corresponding handler method
to validate and perform the removal from DB.
2025-01-27 17:43:54 -08:00
CaptainArk
fba23cf464
feat(integration): add Slack integration
2025-01-27 17:37:22 -08:00
Frédéric Guillot
49c62db2e1
fix: update Wallabag URL label to avoid confusion
2025-01-18 17:22:49 -08:00
Brieuc Dubois
a702bf0342
feat(ntfy): Add option to use internal links
2025-01-13 10:36:49 -08:00
Frédéric Guillot
f5fde36d45
fix(ui): reading preferences are reset if the form values are incorrect
2025-01-12 16:16:29 -08:00
CaptainArk
9b25ea4ed6
feat(integration): add Discord integration
2025-01-12 12:18:57 -08:00
Julien Voisin
6eb1f25a53
feat: only show the commit URL if it's not empty on /about
2024-11-12 20:09:48 -08:00
Frédéric Guillot
65ff328804
fix: show only one player when there are several audio/video enclosures
2024-11-03 21:28:26 -08:00
Frédéric Guillot
51030ef1a8
feat(webauthn): show help message regarding username and non-discoverable credentials
...
The username is required for non-resident keys, but it's not necessary for discoverable credentials like Passkeys.
2024-10-26 21:49:23 -07:00