kresus merge requestshttps://framagit.org/kresusapp/kresus/-/merge_requests2024-03-28T07:40:15Zhttps://framagit.org/kresusapp/kresus/-/merge_requests/1629Draft: server: use `black` to format code2024-03-28T07:40:15ZBenjamin BouvierDraft: server: use `black` to format codeIf we'd go with it: we could remove the linting in python (probably?), and then tweak the CI task to cause a failure if the formatting didn't happen.If we'd go with it: we could remove the linting in python (probably?), and then tweak the CI task to cause a failure if the formatting didn't happen.https://framagit.org/kresusapp/kresus/-/merge_requests/1628feat: Add excludeFromBalance properties for categories2024-03-19T07:43:33ZPierre BOULC'Hfeat: Add excludeFromBalance properties for categoriesAdd excludeFromBalance properties for categories. If the switch is checked, no transactions in this category will appear in the charts or in the balance calculation.This is useful for categories such as "Internal transfer" for transactio...Add excludeFromBalance properties for categories. If the switch is checked, no transactions in this category will appear in the charts or in the balance calculation.This is useful for categories such as "Internal transfer" for transactions between two of the user's bank accounts.https://framagit.org/kresusapp/kresus/-/merge_requests/1627Make drivers return selectors instate of storing values in views (fix #1247)2024-03-27T09:54:53ZNicolas Frandeboeufmail@nicofrand.euMake drivers return selectors instate of storing values in views (fix #1247)I did not see any issue while testing everything, I checked the memoization by adding console.log in the functions called and navigating across charts/budgets/reports/etc.
memoization is mainly based on `state.banks`, which is kind of i...I did not see any issue while testing everything, I checked the memoization by adding console.log in the functions called and navigating across charts/budgets/reports/etc.
memoization is mainly based on `state.banks`, which is kind of identical to the previous way (we called driver.getView every time the driver or state.banks dependency changed).Benjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1626Swipe improvements2024-02-21T16:13:06ZNicolas Frandeboeufmail@nicofrand.euSwipe improvementsThis MR contains two things:
1. Scrolling through the list of transactions when putting the finger on the date or amount is now possible.
2. A swipe action is only executed when half of the action is displayed. It was not clear visually...This MR contains two things:
1. Scrolling through the list of transactions when putting the finger on the date or amount is now possible.
2. A swipe action is only executed when half of the action is displayed. It was not clear visually that before that half, nothing would happen. Now the background is a bit different (so we know we are swiping) but the action becomes blue or red only once half of it is shown. Behaviour shamelessly copied from K9-mail.
3. Add short text to the actions
![image](/uploads/94792af599584e50832c2407159d5c40/image.png)Benjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1625[client] Fix assertion on transaction deletion (with swipe) if transaction is...2024-02-21T16:08:27ZNicolas Frandeboeufmail@nicofrand.eu[client] Fix assertion on transaction deletion (with swipe) if transaction is from current monthI missed that case due to old transactions during my tests…I missed that case due to old transactions during my tests…Benjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1624[client] Fix missing default color for none category in reports view2024-02-12T09:28:14ZNicolas Frandeboeufmail@nicofrand.eu[client] Fix missing default color for none category in reports viewThe lines without category are missing their default color (I forgot it).The lines without category are missing their default color (I forgot it).https://framagit.org/kresusapp/kresus/-/merge_requests/1623[client] Swipable rows2024-02-11T12:32:24ZNicolas Frandeboeufmail@nicofrand.eu[client] Swipable rowsOn mobile the longpress is not that intuitive nowadays and only allows one action.
I often need to delete transactions because I create some manual transactions with a value that does not reflect the reality (forgot how many cents, or I...On mobile the longpress is not that intuitive nowadays and only allows one action.
I often need to delete transactions because I create some manual transactions with a value that does not reflect the reality (forgot how many cents, or I pay online some shopping but the final price will vary depending on the weight of some items, etc.) and the de-duplication won't work.
This MR makes the transactions rows swipable to the left or to the right with dedicated actions: open the details, and delete the transaction (with a confirmation message).
I did not delete the useLongPress hook yet, it might be useful for other purposes?
Video on some tests through Firefox devtools/RDM:
![swipablerows](/uploads/c6f0a3e03c10d990db62a133a7543027/swipablerows.webm)
At least half of the blue/red part must be swiped to be effective (quite usual in other softwares).
Some tweaking might be needed yet but that's hard to tell until properly used on real mobile devices…Benjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1622client: fix order of display in the earnings chart2024-01-25T09:33:24ZBenjamin Bouvierclient: fix order of display in the earnings chartFixes #1245.
The `ticks` variable used in the embedded function `makeDiff` was inverted with respect to the labels, because `makeDiff` would be called before we called `.reverse()`.Fixes #1245.
The `ticks` variable used in the embedded function `makeDiff` was inverted with respect to the labels, because `makeDiff` would be called before we called `.reverse()`.https://framagit.org/kresusapp/kresus/-/merge_requests/1621client: add a /batch endpoint2024-02-10T15:34:38ZBenjamin Bouvierclient: add a /batch endpointFixes #813.
Adds a new /batch endpoint in the API to create (resp. destroy) multiple categories at once. It's interesting to see how it immediately gets a bit complicated, because we have to repeat some consequences of fulfilling the re...Fixes #813.
Adds a new /batch endpoint in the API to create (resp. destroy) multiple categories at once. It's interesting to see how it immediately gets a bit complicated, because we have to repeat some consequences of fulfilling the request in multiple places. Curious if there's a better way to approach this.https://framagit.org/kresusapp/kresus/-/merge_requests/1620Rename IRC in Matrix in About page (fix #1244)2024-01-16T13:17:53ZNicolas Frandeboeufmail@nicofrand.euRename IRC in Matrix in About page (fix #1244)Benjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1619feat: orphan accounts2024-01-25T18:33:57ZBenjamin Bouvierfeat: orphan accountsWe now store whenever an account is considered an orphan, i.e. it couldn't be found during the latest sync with a provider (e.g. Woob).
This can happen if a sync returns accounts A, B, C on day 1, then accounts A, B on day 2. Account C ...We now store whenever an account is considered an orphan, i.e. it couldn't be found during the latest sync with a provider (e.g. Woob).
This can happen if a sync returns accounts A, B, C on day 1, then accounts A, B on day 2. Account C would be an orphan.
It's discretely shown under the "last sync" field whenever that happens. We could add a pill in the account list in the future.https://framagit.org/kresusapp/kresus/-/merge_requests/1618[client] Use redux toolkit for settings2024-01-19T10:08:21ZNicolas Frandeboeufmail@nicofrand.eu[client] Use redux toolkit for settingsBenjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1617comments: explain what startup tasks are/do2024-01-11T07:50:57ZBenjamin Bouviercomments: explain what startup tasks are/do(because i didn't remember lol)(because i didn't remember lol)https://framagit.org/kresusapp/kresus/-/merge_requests/1616Use the transactions' custom labels in more places (alerts and reports)2024-01-07T11:53:52ZBenjamin BouvierUse the transactions' custom labels in more places (alerts and reports)Fixes #1230.
Also includes a changelog since we missed that after the last release :)Fixes #1230.
Also includes a changelog since we missed that after the last release :)https://framagit.org/kresusapp/kresus/-/merge_requests/1615Automatically retry fetch whenever polling transactions or accounts failed2023-12-30T14:16:48ZBenjamin BouvierAutomatically retry fetch whenever polling transactions or accounts failedRight now, I've set this to 3 times, to see if it helps with my own setup. Maybe it should be configurable by
the user.
This is an attempt to counter spurious networking issues I'm encountering with the Crédit Mutuel bank, which randoml...Right now, I've set this to 3 times, to see if it helps with my own setup. Maybe it should be configurable by
the user.
This is an attempt to counter spurious networking issues I'm encountering with the Crédit Mutuel bank, which randomly disconnects me only from my server machine. We'd probably need less stupid checks to decide whether we retry or not (e.g. only retry when there's a network error, or some error among a known set of errors).https://framagit.org/kresusapp/kresus/-/merge_requests/1614[client] Sort recurring transactions by day of month (fix #1239)2023-12-29T22:21:14ZNicolas Frandeboeufmail@nicofrand.eu[client] Sort recurring transactions by day of month (fix #1239)Benjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1613[client] Use redux toolkit for categories & budgets2024-01-03T07:41:57ZNicolas Frandeboeufmail@nicofrand.eu[client] Use redux toolkit for categories & budgetshttps://framagit.org/kresusapp/kresus/-/merge_requests/1612[client] Do not use store for backend methods that do not alter the global state2023-12-28T09:31:06ZNicolas Frandeboeufmail@nicofrand.eu[client] Do not use store for backend methods that do not alter the global statehttps://framagit.org/kresusapp/kresus/-/merge_requests/1611[client] Use store getters/actions directly2023-12-26T08:56:02ZNicolas Frandeboeufmail@nicofrand.eu[client] Use store getters/actions directlyBenjamin BouvierBenjamin Bouvierhttps://framagit.org/kresusapp/kresus/-/merge_requests/1610Release helper2023-12-15T12:37:00ZNicolas Frandeboeufmail@nicofrand.euRelease helperFirst commit would help prevent future release mistakes.
Second commit is not mandatory but I manually apply it each time before a release (does not work without it), so I figured we might as well set it once for all?First commit would help prevent future release mistakes.
Second commit is not mandatory but I manually apply it each time before a release (does not work without it), so I figured we might as well set it once for all?Benjamin BouvierBenjamin Bouvier