Herculino Trotta
dfb5cf37b4
fix(dropdown): keep submenu open while the pointer moves into it
...
Moving the pointer diagonally from a submenu trigger to its flyout crosses
the items below it, which closed the flyout before it could be reached.
Delay hiding the flyout by 300ms, and show it immediately on hover or focus.
2026-10-12 02:33:14 -03:00
eitchtee
ac16359ff4
chore(locale): update translation files
...
[skip ci] Automatically generated by Django makemessages workflow
0.23.3
2026-10-10 21:20:53 +00:00
Herculino Trotta
ab7b0c7929
Merge pull request #618 from eitchtee/fix/simulator-amount-mask
...
fix(simulator): use money mask on amount field
2026-10-10 18:20:07 -03:00
Herculino Trotta
174d2eb340
fix(simulator): use money mask on amount field
...
Match the other amount fields by using the Alpine money mask, and parse the masked value with the user's separators.
2026-10-10 18:19:07 -03:00
Herculino Trotta
84416c64d8
Merge pull request #617 from eitchtee/dependabot/npm_and_yarn/frontend/source-map-js-1.2.2
...
build(deps): bump source-map-js from 1.2.1 to 1.2.2 in /frontend
2026-10-10 18:13:45 -03:00
dependabot[bot]
3a91772490
build(deps): bump source-map-js from 1.2.1 to 1.2.2 in /frontend
...
Bumps [source-map-js](https://github.com/7rulnik/source-map-js ) from 1.2.1 to 1.2.2.
- [Release notes](https://github.com/7rulnik/source-map-js/releases )
- [Changelog](https://github.com/7rulnik/source-map-js/blob/main/CHANGELOG.md )
- [Commits](https://github.com/7rulnik/source-map-js/compare/v1.2.1...v1.2.2 )
---
updated-dependencies:
- dependency-name: source-map-js
dependency-version: 1.2.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-10 21:10:30 +00:00
Herculino Trotta
98a1be04e7
Merge pull request #616 from eitchtee/chore/python-3.14
...
build: upgrade to Python 3.14
2026-10-10 18:08:25 -03:00
Herculino Trotta
f58c341a84
ci: use python 3.14 in translations workflow
2026-10-10 18:05:25 -03:00
Herculino Trotta
1b9c0ed0b1
build(docker): use python 3.14 base images
2026-10-10 18:05:25 -03:00
Herculino Trotta
10b3c45014
build: require python 3.14
...
Python 3.11 has been security-only since 2024. Bump requires-python to >=3.14 and re-lock.
2026-10-10 18:05:25 -03:00
Herculino Trotta
5f71288e44
Merge pull request #612 from fxmacrodata/fxmacrodata-hardening
...
fix(automatic-exchange-rates): don't follow redirects or log the key in the FXMacroData provider
2026-10-10 17:52:17 -03:00
eitchtee
ca267fedef
chore(locale): update translation files
...
[skip ci] Automatically generated by Django makemessages workflow
2026-10-10 20:52:09 +00:00
Herculino Trotta
92c33a9fcc
Merge pull request #615 from eitchtee/fix/oidc-unverified-email-autoconnect
...
feat(auth): make OIDC email trust configurable
2026-10-10 17:51:37 -03:00
Herculino Trotta
d1bb9698a0
Merge pull request #614 from eitchtee/feat/simulation-tool
...
feat: add Simulator tool
2026-10-10 17:51:24 -03:00
Herculino Trotta
c274e92f86
Merge pull request #613 from eitchtee/feat/transaction-convert-menu
...
feat(transactions): convert a transaction into a quick transaction, recurring transaction or installment plan
2026-10-10 17:51:13 -03:00
Herculino Trotta
2544820e1a
Merge pull request #569 from eitchtee/copilot/fix-code-scanning-alerts
...
Stop exposing exception text in OAuth dynamic client registration errors
2026-10-10 17:50:53 -03:00
Herculino Trotta
e925822574
fix(oauth): keep specific DCR errors without exposing exception text
...
Parsing helpers now return (value, error) instead of raising, so no
exception object flows into the response while clients keep the
precise messages they had before.
full_clean() failures map to fixed per-field messages; redirect URI
errors surface as NON_FIELD_ERRORS from Application.clean().
Also reject non-string token_endpoint_auth_method with a 400 instead
of crashing with a TypeError.
2026-10-10 17:48:14 -03:00
Herculino Trotta
89c7a6bd4f
docs(auth): explain OIDC email trust modes
2026-10-10 17:01:56 -03:00
Herculino Trotta
59de9f2443
feat(auth): configure OIDC email trust
...
Allow verified-only linking with OIDC_TRUST_EMAIL=false while retaining case-insensitive matching. Keep unconditional trust enabled by default for compatibility with #518 ; that mode retains the documented takeover risk.
2026-10-10 17:01:52 -03:00
Herculino Trotta
6e72594ec7
test(simulator): cover baseline calculation and page
2026-10-10 15:26:59 -03:00
Herculino Trotta
916c401ce3
feat(sidebar): add simulator to tools menu
2026-10-10 15:26:59 -03:00
Herculino Trotta
bdf0cf8d4c
feat(simulator): add simulator tool page
...
Hyperscript-driven page to simulate one-time, recurring and installment expenses or incomes over the projected balance.
2026-10-10 15:26:59 -03:00
Herculino Trotta
81e572c8ab
feat(simulator): add projected baseline calculation
...
Per-currency monthly net changes from active, tracked accounts, plus the exchange rate for currencies with an exchange currency.
2026-10-10 15:26:59 -03:00
Herculino Trotta
195da63998
feat(transactions): add Convert submenu to the transaction actions menu
...
Replaces the "Add as quick transaction" action.
2026-10-09 23:25:20 -03:00
Herculino Trotta
8c5c299312
feat(transactions): add views to convert a transaction into a quick transaction, recurring transaction or installment plan
2026-10-09 23:25:19 -03:00
Herculino Trotta
cd6069f857
feat(transactions): let new recurring transactions and installment plans adopt an existing transaction
2026-10-09 23:25:19 -03:00
Robert Tidball
237f8efc6c
fix(automatic-exchange-rates): don't follow redirects or log the key in the FXMacroData provider
2026-10-05 21:45:20 +11:00
Herculino Trotta
8a8b9b880d
Merge pull request #605 from eitchtee/dependabot/uv/soupsieve-2.9
...
build(deps): bump soupsieve from 2.8.4 to 2.9
2026-10-03 14:08:00 -03:00
Herculino Trotta
c6e8e2716e
Merge pull request #606 from eitchtee/dependabot/uv/anyio-4.14.2
...
build(deps): bump anyio from 4.13.0 to 4.14.2
2026-10-03 14:07:44 -03:00
Herculino Trotta
2a270f6189
Merge pull request #610 from eitchtee/dependabot/uv/urllib3-2.8.0
...
build(deps): bump urllib3 from 2.7.0 to 2.8.0
2026-10-03 14:07:32 -03:00
eitchtee
8c631d2893
chore(locale): update translation files
...
[skip ci] Automatically generated by Django makemessages workflow
2026-10-03 17:07:08 +00:00
Herculino Trotta
8c7b6d5376
Merge pull request #608 from eitchtee/dependabot/uv/pyjwt-2.15.0
...
build(deps): bump pyjwt from 2.13.0 to 2.15.0
2026-10-03 14:06:19 -03:00
Herculino Trotta
dbfc5a2816
Merge pull request #609 from eitchtee/dependabot/uv/django-5.2.17
...
build(deps): bump django from 5.2.16 to 5.2.17
2026-10-03 14:06:03 -03:00
Herculino Trotta
187e9d3148
Merge pull request #611 from fxmacrodata/fxmacrodata-exchange-rates
...
feat(automatic-exchange-rates): add FXMacroData as a provider
2026-10-03 14:05:32 -03:00
Robert Tidball
1c3c29d366
feat(automatic-exchange-rates): add FXMacroData as a provider
2026-10-01 15:33:26 +10:00
dependabot[bot]
720114aec7
build(deps): bump urllib3 from 2.7.0 to 2.8.0
...
Bumps [urllib3](https://github.com/urllib3/urllib3 ) from 2.7.0 to 2.8.0.
- [Release notes](https://github.com/urllib3/urllib3/releases )
- [Changelog](https://github.com/urllib3/urllib3/blob/main/CHANGES.rst )
- [Commits](https://github.com/urllib3/urllib3/compare/2.7.0...2.8.0 )
---
updated-dependencies:
- dependency-name: urllib3
dependency-version: 2.8.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-01 02:35:44 +00:00
dependabot[bot]
68fc9e46a1
build(deps): bump django from 5.2.16 to 5.2.17
...
Bumps [django](https://github.com/django/django ) from 5.2.16 to 5.2.17.
- [Commits](https://github.com/django/django/compare/5.2.16...5.2.17 )
---
updated-dependencies:
- dependency-name: django
dependency-version: 5.2.17
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-01 02:35:41 +00:00
dependabot[bot]
d4cb39dfed
build(deps): bump pyjwt from 2.13.0 to 2.15.0
...
Bumps [pyjwt](https://github.com/jpadilla/pyjwt ) from 2.13.0 to 2.15.0.
- [Release notes](https://github.com/jpadilla/pyjwt/releases )
- [Changelog](https://github.com/jpadilla/pyjwt/blob/master/CHANGELOG.rst )
- [Commits](https://github.com/jpadilla/pyjwt/compare/2.13.0...2.15.0 )
---
updated-dependencies:
- dependency-name: pyjwt
dependency-version: 2.15.0
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-10-01 00:27:17 +00:00
dependabot[bot]
d44a4c3244
build(deps): bump anyio from 4.13.0 to 4.14.2
...
Bumps [anyio](https://github.com/agronholm/anyio ) from 4.13.0 to 4.14.2.
- [Release notes](https://github.com/agronholm/anyio/releases )
- [Commits](https://github.com/agronholm/anyio/compare/4.13.0...4.14.2 )
---
updated-dependencies:
- dependency-name: anyio
dependency-version: 4.14.2
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-19 00:30:17 +00:00
dependabot[bot]
327c0a8f26
build(deps): bump soupsieve from 2.8.4 to 2.9
...
Bumps [soupsieve](https://github.com/facelessuser/soupsieve ) from 2.8.4 to 2.9.
- [Release notes](https://github.com/facelessuser/soupsieve/releases )
- [Commits](https://github.com/facelessuser/soupsieve/compare/2.8.4...2.9 )
---
updated-dependencies:
- dependency-name: soupsieve
dependency-version: '2.9'
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com >
2026-09-18 01:45:45 +00:00
Herculino Trotta
02b9fe6507
Merge pull request #604 from eitchtee/weblate
...
Translations update from Weblate
0.23.2
2026-09-13 11:38:27 -03:00
Herculino Trotta
17673681ea
locale(Portuguese (Brazil)): update translation
...
Currently translated at 99.8% (787 of 788 strings)
Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/pt_BR/
2026-09-13 14:34:33 +00:00
Dimitri Decrock
138fb07ae7
locale(Dutch): update translation
...
Currently translated at 100.0% (788 of 788 strings)
Translation: WYGIWYH/App
Translate-URL: https://translations.herculino.com/projects/wygiwyh/app/nl/
2026-09-13 11:48:49 +00:00
eitchtee
0de1914ed9
chore(locale): update translation files
...
[skip ci] Automatically generated by Django makemessages workflow
2026-09-13 05:22:24 +00:00
Herculino Trotta
28e05d3c95
Merge pull request #603
...
feat(transactions): update cuelume; bring back improved volume user setting
2026-09-13 02:21:56 -03:00
Herculino Trotta
a2ee0b4ae6
feat(transactions): update cuelume; bring back improved volume user setting
2026-09-13 01:24:37 -03:00
eitchtee
5a1c0ab818
chore(locale): update translation files
...
[skip ci] Automatically generated by Django makemessages workflow
2026-09-12 21:03:37 +00:00
Herculino Trotta
f32805ba02
Merge pull request #602
...
feat(insights): replace fixed overviews with a single arrangeable overview
2026-09-12 18:03:14 -03:00
Herculino Trotta
82211567d0
feat(insights): replace fixed overviews with a single arrangeable overview
...
Categories, Tags and Entities Overview are merged into one Overview page.
Levels are chips that can be dragged (or moved with the arrow keys) to set
the hierarchy and clicked to switch off, so any ordering of the three is
reachable from the same page.
Only the results reload on change; the controls stay in place. The chip
order is kept in the session and defaults to categories by tags, matching
the old Categories Overview.
2026-09-12 18:02:24 -03:00
Herculino Trotta
a39ee4b5d2
build(frontend): add @alpinejs/sort for drag sorting
2026-09-12 18:02:24 -03:00