Skip to content

Commit 2050ddb

Browse files
committed
docs: update todo.md
1 parent 8f9c353 commit 2050ddb

File tree

1 file changed

+76
-68
lines changed

1 file changed

+76
-68
lines changed

docs/todo.md

Lines changed: 76 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -2,80 +2,52 @@
22

33
## testing
44

5-
- [ ] #BUG: Token need to be optional (container error, it might be related to dbus issue which container based not use secretservice dbus?)
6-
- [x] when there is correctly setup gnome-keyring, it works.
7-
8-
```
9-
2025-10-31 12:04:00 - my_unicorn.backup - WARNING - warning:306 - Invalid version format detected, using lexicographic sorting
10-
2025-10-31 12:04:00 - my_unicorn.auth - ERROR - error:321 - Failed to retrieve GitHub token from keyring: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
11-
```
12-
13-
```bash
14-
# try to test it in container, and I confirm it is dbus issue
15-
github_pat_aXCvasdfbcasdfXZCXVA^Cdg1231asdfascvasd123 # example github pat, not real
16-
[devuser@arch-dev my-unicorn]$ my-unicorn auth --save-token
17-
Enter your GitHub token (input hidden):
18-
Confirm your GitHub token:
19-
15:37:15 - my_unicorn.auth - ERROR - Failed to save GitHub token to keyring: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
20-
15:37:15 - my_unicorn.cli.runner - ERROR - Unexpected error: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
21-
❌ Unexpected error: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
22-
```
23-
24-
- [ ] Copy the source code on start arch or shell arch? Start readonly current repo?
5+
- [ ] clean unused code
6+
- [x] locale, batch_mode on configs
7+
- [ ] network retry etc.
8+
this one is hard to implement, so I am thinking to remove it for now.
259
- [ ] #TEST: version command logic is deprecated, so testing to use **version** library
2610
- [ ] #BUG: Rotation error on logs...
27-
- Currently, implemented to custom rotation logic more simple and efficient
11+
- Currently, implemented to custom rotation logic more simple and efficient
2812
and also increased 1MB log to 10MB to increase the log size. Manual and pytest
2913
succesfully passed.
3014
- [ ] appimage build take times
31-
- [x] install/update show installation error reasons(show appimage build takes times)
32-
- [ ] take care the edge cases, maybe app not have appimage at all?
15+
- [x] install/update show installation error reasons(show appimage build takes times)
16+
- [ ] take care the edge cases, maybe app not have appimage at all?
3317
- [ ] Remove overengineering
34-
- [ ] dataclasses
35-
- [ ] strategy
18+
- [ ] dataclasses
19+
- [ ] strategy
3620
" If you only have a couple of algorithms and they rarely change, there’s no real reason to overcomplicate the program with new classes and interfaces
3721
that come along with the pattern." by <https://refactoring.guru/design-patterns/strategy>
38-
- [x] template
22+
- [x] template
3923
"Template methods tend to be harder to maintain the more steps they have.
4024
You might violate the Liskov Substitution Principle by suppressing a default step implementation via a subclass.
4125
" by <https://refactoring.guru/design-patterns/template-method>
4226

4327
## in-progress
4428

45-
- [ ] test.bash -> update test not available because we remove before catalog install or url install
46-
so we need a better logic to handle this case
29+
- [ ] better app.json config like owner, repo must be inside github dict
4730
- [ ] TEST: Never use the real user config logs, app location on pytest unittests which current is use them!
4831
it would be better to make the pytest logs like my-unicorn_pytest.log
4932

50-
- [ ] BUG: two time installed print on new version
51-
52-
```bash
53-
✅ All 2 specified app(s) are already installed:
54-
• qownnotes
55-
• legcord
56-
✅ All 2 specified app(s) are already installed:
57-
• qownnotes
58-
• legcord
59-
```
60-
6133
- [ ] add INFO level logs for verification instead of DEBUG
6234
- [ ] #BUG: Cycle detected in import chain for cache.py
6335
- [ ] API rate limiting
6436
- [ ] refactor
65-
<https://refactoring.guru/refactoring/smells>
66-
- [x] general
67-
- [x] logger
68-
- [x] scripts
69-
- [ ] config
70-
- [ ] handle FIXME, TODO for duplicate functions
71-
- [x] service.progress already active
72-
- [x] services
73-
- [x] utils.py seperated folders
74-
- [ ] strategies
75-
- [x] reading code from top to bottom
76-
- [x] functions instead of comments
77-
- [ ] contexts
78-
- [ ] remove license, contribution from readme.md because there is already markdown files for them
37+
<https://refactoring.guru/refactoring/smells>
38+
- [x] general
39+
- [x] logger
40+
- [x] scripts
41+
- [ ] config
42+
- [ ] handle FIXME, TODO for duplicate functions
43+
- [x] service.progress already active
44+
- [x] services
45+
- [x] utils.py seperated folders
46+
- [ ] strategies
47+
- [x] reading code from top to bottom
48+
- [x] functions instead of comments
49+
- [ ] contexts
50+
- [ ] remove license, contribution from readme.md because there is already markdown files for them
7951

8052
## todo
8153

@@ -103,18 +75,19 @@
10375
- [ ] might be better to use loguru
10476
- [ ] mv neovim to usr bin to use appimage neovim
10577
mv /tmp/nvim.appimage /usr/local/bin/nvim
106-
- [ ] make sure tha decrease files on template and move them to one file to read more easy and make it function base utilities for it
10778
- [ ] make sure skip not skip verification if there is verification option
108-
- tested obsidian and it seems work but we need to make sure about it.
79+
- [x] freetube test verify digest even it is skip: true on the catalog,
80+
and I still keep it skip purposely
81+
- [x] obsidian test
10982
- [ ] upgrade need auto easy update and notify like appimages
11083
- [ ] config structure refactor
11184
- [ ] log rotation fix
11285
- [ ] things tested and need updates
113-
- [ ] general test
114-
- [ ] fish terminal, kitty terminal not good with rich library but alacrity good(artifacts on bars)
115-
- [x] auth log info, validation
116-
- [ ] add my unicorn export path to fish shells
117-
- [ ] kde wallet support via dbus-python, test in the shared folder 3. kdewallet isn't show any token saved which seems like we don't support ito. written script to keyring-my-unicorn folder, check that out.
86+
- [ ] general test
87+
- [ ] fish terminal, kitty terminal not good with rich library but alacrity good(artifacts on bars)
88+
- [x] auth log info, validation
89+
- [ ] add my unicorn export path to fish shells
90+
- [ ] kde wallet support via dbus-python, test in the shared folder 3. kdewallet isn't show any token saved which seems like we don't support ito. written script to keyring-my-unicorn folder, check that out.
11891
dbus-python used on kdewallet saves, so we can add that to auth later as a support.
11992
- [ ] #BUG: digest not became true on catalog installs if its use checksum_file with digest verify both
12093
- [ ] add verification passed or not to verification section on app-specific config
@@ -126,25 +99,60 @@
12699

127100
## backlog
128101

102+
- [ ] #BUG: Token need to be optional (container error, it might be related to dbus issue which container based not use secretservice dbus?)
103+
- [x] when there is correctly setup gnome-keyring, it works.
104+
105+
```
106+
2025-10-31 12:04:00 - my_unicorn.backup - WARNING - warning:306 - Invalid version format detected, using lexicographic sorting
107+
2025-10-31 12:04:00 - my_unicorn.auth - ERROR - error:321 - Failed to retrieve GitHub token from keyring: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
108+
```
109+
110+
```bash
111+
# try to test it in container, and I confirm it is dbus issue
112+
github_pat_aXCvasdfbcasdfXZCXVA^Cdg1231asdfascvasd123 # example github pat, not real
113+
[devuser@arch-dev my-unicorn]$ my-unicorn auth --save-token
114+
Enter your GitHub token (input hidden):
115+
Confirm your GitHub token:
116+
15:37:15 - my_unicorn.auth - ERROR - Failed to save GitHub token to keyring: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
117+
15:37:15 - my_unicorn.cli.runner - ERROR - Unexpected error: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
118+
❌ Unexpected error: Environment variable DBUS_SESSION_BUS_ADDRESS is unset
119+
```
120+
129121
- [ ] good cli design princibles
130122
<https://clig.dev/>
131123
<https://www.amazon.com/UNIX-Programming-Addison-Wesley-Professional-Computng/dp/0131429019>
132124

133125
My advice as a user of CLI:
134-
- no emojis please, ever
126+
- no emojis please, ever
135127
Many people are more visually oriented, and are greatly aided by images and color.
136128
A standard `NO_EMOJIS` environment variable could perhaps be used to help both camps, just like `NO_COLOR` is available today.
137-
- if you want to make it look nice, use ANSI escape codes for color rather than emojis.
129+
- if you want to make it look nice, use ANSI escape codes for color rather than emojis.
138130
even then, don't use color alone to convey meaning because it will most likely get destroyed by whatever you're piping it to.
139-
- No, please don't use escape codes in your output. Use the library that is designed for this purpose: terminfo.
140-
- please take the time to write detailed man pages, not just a "--help" screen
141-
- implement "did you mean?" for typos (git style) and potentially dangerous commands
142-
- separate the interface into a tree of subcommands (Go/Docker/AWS style) rather than a flat assortment of flags
143-
- if you are displaying tabular data, present an ncurses interface
144-
- (extremely important) shell completion for bash and zsh
131+
- No, please don't use escape codes in your output. Use the library that is designed for this purpose: terminfo.
132+
- please take the time to write detailed man pages, not just a "--help" screen
133+
- implement "did you mean?" for typos (git style) and potentially dangerous commands
134+
- separate the interface into a tree of subcommands (Go/Docker/AWS style) rather than a flat assortment of flags
135+
- if you are displaying tabular data, present an ncurses interface
136+
- (extremely important) shell completion for bash and zsh
145137

146138
- [ ] typer, click libraries
147139

140+
## done
141+
142+
- [x] Start source code readonly on container
143+
- [x] test.bash -> update test not available because we remove before catalog install or url install
144+
so we need a better logic to handle this case
145+
- [x] BUG: two time installed print on new version
146+
147+
```bash
148+
✅ All 2 specified app(s) are already installed:
149+
• qownnotes
150+
• legcord
151+
✅ All 2 specified app(s) are already installed:
152+
• qownnotes
153+
• legcord
154+
```
155+
148156
## Future Enhancements (Good-to-have)
149157

150158
### Asset detection, filtering, and prioritization

0 commit comments

Comments
 (0)