dev-null-tty 0.3.0__tar.gz → 0.4.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/PKG-INFO +24 -5
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/README.md +23 -4
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/pyproject.toml +1 -1
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/pyproject.toml.orig +1 -1
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/src/dev_null_tty/__init__.py +822 -112
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/src/dev_null_tty/api.py +52 -2
- dev_null_tty-0.4.0/src/dev_null_tty/log_cache.py +244 -0
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/src/dev_null_tty/styles.tcss +0 -5
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/src/dev_null_tty/__main__.py +0 -0
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/src/dev_null_tty/desktop.py +0 -0
- {dev_null_tty-0.3.0 → dev_null_tty-0.4.0}/src/dev_null_tty/image_preview.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dev-null-tty
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: A terminal interface for /dev/null
|
|
5
5
|
Author: Avetis Avo Pisikyan
|
|
6
6
|
Author-email: Avetis Avo Pisikyan <apisikya@gmail.com>
|
|
@@ -18,7 +18,10 @@ with [Textual](https://textual.textualize.io/) and managed with
|
|
|
18
18
|
|
|
19
19
|
The **Following**, **Latest**, and **Trending** journals load real commits from
|
|
20
20
|
the signed `/api/v1/log/{log}` endpoint after sign-in. Each journal supports
|
|
21
|
-
automatic cursor-based infinite scrolling
|
|
21
|
+
automatic cursor-based infinite scrolling, with a bottom-right notification
|
|
22
|
+
while another page loads. When a selected commit is clipped, `j` / `k` scroll
|
|
23
|
+
it into view before changing selection; oversized commits scroll through before
|
|
24
|
+
advancing. Guest users can view the profile
|
|
22
25
|
and sign in; journals require an approved device. Signed-in
|
|
23
26
|
users can browse a cursor-paginated notifications inbox, publish commits,
|
|
24
27
|
reply to a commit, or quote it. Opening the notifications inbox marks
|
|
@@ -53,11 +56,12 @@ are labeled beside the commenter's name; the replying-to pane also shows the
|
|
|
53
56
|
quoted author's name and text inline. Quoted text wraps to the available width,
|
|
54
57
|
and deleted or unavailable targets are labeled where previews are shown. In a
|
|
55
58
|
commit thread, press `i` to open
|
|
56
|
-
the current commit's expanded image view.
|
|
59
|
+
the current commit's expanded image view. Opening a commit preloads its attached images
|
|
60
|
+
into a bounded in-memory cache for faster browsing. A minimap overlay appears
|
|
57
61
|
in the upper-left corner. The full image initially fits inside the available
|
|
58
62
|
view frame without stretching; zooming moves a frame-sized viewport over it.
|
|
59
63
|
Use `n` / `Ctrl+N` to move to
|
|
60
|
-
the next / previous image, `=` / `-` to zoom in / out, and `h` / `j` / `k` / `l`
|
|
64
|
+
the next / previous image (wrapping at either end), `=` / `-` to zoom in / out, and `h` / `j` / `k` / `l`
|
|
61
65
|
to pan while zoomed. A compact square minimap appears while zoomed, showing the
|
|
62
66
|
view position as a dot; the image edge turns red when you reach it. Panning
|
|
63
67
|
allows a small buffer beyond the image edges, and the image-view keybinds remain
|
|
@@ -70,7 +74,9 @@ highlighted help line shows the active image keybinds. The composer action
|
|
|
70
74
|
buttons share one row at the bottom.
|
|
71
75
|
Press `Enter` on a selected journal entry to open its full commit and replies.
|
|
72
76
|
Use `j` / `k` to navigate replies; if the selected reply is partly obscured,
|
|
73
|
-
they first scroll it
|
|
77
|
+
they first scroll it into view. Oversized replies scroll through their remaining
|
|
78
|
+
content before selection advances. Deleted replies remain visible as tombstones
|
|
79
|
+
and cannot be opened or acted on. Press `Enter` to follow a reply into its
|
|
74
80
|
own thread, `u` to move to the parent comment, and `q` or `Escape` to return to
|
|
75
81
|
the previous screen. Commit details show the ancestor and parent-comment
|
|
76
82
|
context in a scrollable pane on the left, and the comment being replied to
|
|
@@ -98,6 +104,19 @@ key with a signed `GET /api/v1/me` and restores the profile when the device is
|
|
|
98
104
|
still approved. A revoked or unapproved key is retained, but the app remains
|
|
99
105
|
signed out so you can authorize a device again.
|
|
100
106
|
|
|
107
|
+
Signed-in journal pages are cached locally under
|
|
108
|
+
`$XDG_CACHE_HOME/dev-null-tui/` (or `~/.cache/dev-null-tui/` when
|
|
109
|
+
`XDG_CACHE_HOME` is unset). Cache files are private to the account and the
|
|
110
|
+
cache directory/file use owner-only permissions. Each journal keeps at most
|
|
111
|
+
one page of commits; cached pages display immediately at startup while the
|
|
112
|
+
active journal refreshes in the background. Other cached journals refresh when
|
|
113
|
+
opened. The last signed-in profile is cached too, so the profile and journal
|
|
114
|
+
cards can render while an existing saved device key is being checked. This
|
|
115
|
+
cached view does not enable signed-in actions until the API confirms the
|
|
116
|
+
device. An explicit authentication rejection clears that account's cached
|
|
117
|
+
profile and journals; missing keys, network errors, and manual logout leave the
|
|
118
|
+
cache intact.
|
|
119
|
+
|
|
101
120
|
**Log out** removes the local private and public key files and clears the
|
|
102
121
|
in-memory session; callback handoff data and the callback-handler registration
|
|
103
122
|
are left untouched. This API does not expose a device-revocation endpoint, so
|
|
@@ -6,7 +6,10 @@ with [Textual](https://textual.textualize.io/) and managed with
|
|
|
6
6
|
|
|
7
7
|
The **Following**, **Latest**, and **Trending** journals load real commits from
|
|
8
8
|
the signed `/api/v1/log/{log}` endpoint after sign-in. Each journal supports
|
|
9
|
-
automatic cursor-based infinite scrolling
|
|
9
|
+
automatic cursor-based infinite scrolling, with a bottom-right notification
|
|
10
|
+
while another page loads. When a selected commit is clipped, `j` / `k` scroll
|
|
11
|
+
it into view before changing selection; oversized commits scroll through before
|
|
12
|
+
advancing. Guest users can view the profile
|
|
10
13
|
and sign in; journals require an approved device. Signed-in
|
|
11
14
|
users can browse a cursor-paginated notifications inbox, publish commits,
|
|
12
15
|
reply to a commit, or quote it. Opening the notifications inbox marks
|
|
@@ -41,11 +44,12 @@ are labeled beside the commenter's name; the replying-to pane also shows the
|
|
|
41
44
|
quoted author's name and text inline. Quoted text wraps to the available width,
|
|
42
45
|
and deleted or unavailable targets are labeled where previews are shown. In a
|
|
43
46
|
commit thread, press `i` to open
|
|
44
|
-
the current commit's expanded image view.
|
|
47
|
+
the current commit's expanded image view. Opening a commit preloads its attached images
|
|
48
|
+
into a bounded in-memory cache for faster browsing. A minimap overlay appears
|
|
45
49
|
in the upper-left corner. The full image initially fits inside the available
|
|
46
50
|
view frame without stretching; zooming moves a frame-sized viewport over it.
|
|
47
51
|
Use `n` / `Ctrl+N` to move to
|
|
48
|
-
the next / previous image, `=` / `-` to zoom in / out, and `h` / `j` / `k` / `l`
|
|
52
|
+
the next / previous image (wrapping at either end), `=` / `-` to zoom in / out, and `h` / `j` / `k` / `l`
|
|
49
53
|
to pan while zoomed. A compact square minimap appears while zoomed, showing the
|
|
50
54
|
view position as a dot; the image edge turns red when you reach it. Panning
|
|
51
55
|
allows a small buffer beyond the image edges, and the image-view keybinds remain
|
|
@@ -58,7 +62,9 @@ highlighted help line shows the active image keybinds. The composer action
|
|
|
58
62
|
buttons share one row at the bottom.
|
|
59
63
|
Press `Enter` on a selected journal entry to open its full commit and replies.
|
|
60
64
|
Use `j` / `k` to navigate replies; if the selected reply is partly obscured,
|
|
61
|
-
they first scroll it
|
|
65
|
+
they first scroll it into view. Oversized replies scroll through their remaining
|
|
66
|
+
content before selection advances. Deleted replies remain visible as tombstones
|
|
67
|
+
and cannot be opened or acted on. Press `Enter` to follow a reply into its
|
|
62
68
|
own thread, `u` to move to the parent comment, and `q` or `Escape` to return to
|
|
63
69
|
the previous screen. Commit details show the ancestor and parent-comment
|
|
64
70
|
context in a scrollable pane on the left, and the comment being replied to
|
|
@@ -86,6 +92,19 @@ key with a signed `GET /api/v1/me` and restores the profile when the device is
|
|
|
86
92
|
still approved. A revoked or unapproved key is retained, but the app remains
|
|
87
93
|
signed out so you can authorize a device again.
|
|
88
94
|
|
|
95
|
+
Signed-in journal pages are cached locally under
|
|
96
|
+
`$XDG_CACHE_HOME/dev-null-tui/` (or `~/.cache/dev-null-tui/` when
|
|
97
|
+
`XDG_CACHE_HOME` is unset). Cache files are private to the account and the
|
|
98
|
+
cache directory/file use owner-only permissions. Each journal keeps at most
|
|
99
|
+
one page of commits; cached pages display immediately at startup while the
|
|
100
|
+
active journal refreshes in the background. Other cached journals refresh when
|
|
101
|
+
opened. The last signed-in profile is cached too, so the profile and journal
|
|
102
|
+
cards can render while an existing saved device key is being checked. This
|
|
103
|
+
cached view does not enable signed-in actions until the API confirms the
|
|
104
|
+
device. An explicit authentication rejection clears that account's cached
|
|
105
|
+
profile and journals; missing keys, network errors, and manual logout leave the
|
|
106
|
+
cache intact.
|
|
107
|
+
|
|
89
108
|
**Log out** removes the local private and public key files and clears the
|
|
90
109
|
in-memory session; callback handoff data and the callback-handler registration
|
|
91
110
|
are left untouched. This API does not expose a device-revocation endpoint, so
|