chvp / nanoledger Goto Github PK
View Code? Open in Web Editor NEWLedger (plain text accounting) data entry app for Android
License: MIT License
Ledger (plain text accounting) data entry app for Android
License: MIT License
I would like to repurpose two old Samsung phones with Android 5 and Android 7.1. Would you consider lowering the minimum Android version? I'm not an Android dev and don't know if it's feasible though. Thank you.
Looks like it's the only active mobile app for hledger. I am sure many hledger users, including myself, would be happy to chip in.
Having the remaining amount needed to balance a transaction show up is a nice touch, but it's actually kind of confusing to us. The "grey" is so subtly different from the actual value color it isn't always apparent unless I squint what element is a preview value and what is actually filled in.
This makes it super confusing what is happening when you add a second transaction with a blank amount. Now it isn't really obvious that both are blank.
Also when taping into the field, the cursor is displayed in the center of the input which is in the center of the preview amount. That's really confusing, and I kept trying to move the cursor or select the text that was there.
Account should be ellipsized instead.
I just gave NanoLedger v0.8.0 a spin and ran into a fairly confusing UX issue.
When entering a new transaction the "save" button (check box in floating action button bar) would frequently be non-functional.
First a minor detail: the "greyed out" non-active color scheme was not apparent, so even before there was a valid balanced transaction I was confused why it didn't work.
But then after it did activate, pressing it frequently got no response. My first transaction worked fine, but the second one took me a whole bunch of tries and I couldn't figure out why. I still didn't understand the active/non active color scheme, so I thought something was wrong with my transaction and kept fiddling with it.
Eventually it went through with no apparent reason why.
During later attempts a couple times I saw a toast message a few seconds after hitting the non-responsive button a few times about "unable to write file". No details just a brief toast that disappears. Eventually the save works if I press it enough times. I think the save must be hanging while the file backed (Nextcloud in my case) resolves and confirms a file sync.
It might be good that this is a blocker, but there should be some sort of feedback in the UI that a save attempt is underway at the very least and maybe something more prominent than an ephemeral toast when it fails.
Spinner should not show on first launch.
Edit transactions isn't trivial, because the parser throws away everything that isn't strictly what it needs. To be able to edit a transaction, we need to keep a transaction's "source". This might include extraneous data such as leading comments if we want to be able to write out the entire file, so we need to be careful that editing a transaction doesn't delete too much.
The App crashes instantly when I want to open it. There are no error reports.
This happens since version 0.1.3
Install Nanoleger 0.1.4
Open
Instantcrash
App doesnt crash
Samsung Galaxy A6+
Android 10
Add a transaction but only fill in the amount in the first box (leave the second amount one empty)
Click save (:white_check_mark: )
2023-09-14 test | test
test amount filled in 42 EUR
amount not filled in -42 EUR
or
2023-09-14 test | test
test amount filled in 42 EUR
amount not filled in
2023-09-14 test | test
test amount filled in 42 EUR
amount not filled in EUR
I have currency on the right but the error is also there with currency on the left.
Version: v0.1.1
Deleting transactions isn't trivial, because the parser throws away everything that isn't strictly what it needs. To be able to delete a transaction, we need to keep a transaction's "source". This might include extraneous data such as leading comments if we want to be able to write out the entire file, so we need to be careful that deleting a transaction doesn't delete too much.
Until such a time as this app is a 100% robust and feature complete hledger file editor (not the foreseeable future), I foresee keeping my main ledger data files separate and keeping a mobile only ledger file for data entry that I can sync/merge into the full fledged ledgers from a computer. This is also the workflow I'd want for quick mobile data entry (especially for my wife) that I expect to want to touch up later with perhaps missing tags or other extra information.
That puts completions (both payee and account) in an awkward position. For desktop editing I use a plugin that reads payees from a generated file that sees all the possible payees and a curated list of defined accounts (predefined so I can lint ledgers and reject ones that are not predefined).
I would like to use these sources on mobile too. This probably means being able to read a separate ledger and extract payees and accounts from there while editing a different file. That way the mobile ledger data could be periodically flushed out and moved to other files without loosing access to the payee and account completions.
Add transaction, fill all fields (2 accounts), save
NanoLedger 0.1.4
Redmi Note 5, Android 11
DivestOs 18.1
Logcat
FATAL EXCEPTION: DefaultDispatcher-worker-2
Process: be.chvp.nanoledger, PID: 22807
java.util.NoSuchElementException: List is empty.
at m3.o.F0(Unknown Source:24)
at x2.e.a(Unknown Source:92)
at z2.c0.g(Unknown Source:342)
at r3.a.c(Unknown Source:8)
at g4.g0.run(Unknown Source:109)
at kotlinx.coroutines.internal.f.run(Unknown Source:12)
at kotlinx.coroutines.scheduling.i.run(Unknown Source:2)
at kotlinx.coroutines.scheduling.a.run(Unknown Source:76)
Suppressed: g4.e0: [n1{Cancelling}@6ee7885, Dispatchers.IO]
Seems to happen with auto complete fields with new values in them? Needs more investigation
It'd be nice to be able to configure another decimal seperator. Ideally would be parsing the comodity
directive, but being able to configure it in the settings would also be fine.
That way, i can write amounts as 5,23 โฌ and use the autocompletion of the negative ammount on the other account.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.