lune
created pr with
124.1
changed status to
closed
Closing as superceded by 126
cmds
checkout latest patchset:
ssh pr.pico.sh print 124 | git am -3checkout any patchset in a patch request:
ssh pr.pico.sh print 124.[rev] | git am -3add changes to patch request:
git format-patch main --stdout | ssh pr.pico.sh pr add 124set PR to open (enables RSS notifications):
ssh pr.pico.sh pr open 124set PR to draft (stops RSS notifications):
ssh pr.pico.sh pr draft 124
Patchset
124.1
listing real name of tasks
juan
construction of db for management of decrypted names of tasks
2026-04-21T03:21:16Zjuan
fix UTF8 chracteres
2026-04-21T05:43:09Zjuan
filter by status and coloring types of status
2026-04-21T21:13:24Zjuan
update help
2026-04-21T21:18:53Zjuan
list areas names
2026-04-21T21:21:36Zjuan
adjust table tasks to truncate name and list area
2026-04-21T21:44:53Zjuan
partial implementation of listing tasks by areas
2026-04-21T21:56:40Zjuan
→ final implementation of listing tasks by areas with UTF-8 chracteres
2026-04-21T22:05:20Zjuan
sort on task list to show first do now
2026-04-21T22:10:20Zjuan
update with 8 char of id and db.go
2026-04-21T22:33:29Zjuan
partial implementation of TUI menu on task update
2026-04-21T23:27:54Zjuan
task name correcion on TUI menu of Update task
2026-04-21T23:35:35Zjuan
TUI menu for update task with others flags
2026-04-21T23:38:19Zjuan
helper for TUI update task
2026-04-21T23:43:02Zjuan
search by first 8 char of note id for editing it
2026-04-21T23:49:56Zjuan
partial implementation on note TUI menu for update
2026-04-22T00:00:17Zjuan
TUI menu notebook just with tags
2026-04-22T00:05:46Zjuan
Note update now let you insert only the first 8 char of notebook id in update
2026-04-22T00:20:55Zjuan
implementation of (lune note notebook-list) for listing all notebooks and its ID
2026-04-22T00:25:53Zjuan
partial implementation of lune note show-content ID
2026-04-22T01:10:51Zjuan
convert \n in new line and \ in space for lune note show-content ID
2026-04-22T02:01:11Zjuan
2026-04-22T02:18:42Z
final implementation of listing tasks by areas with UTF-8 chracteres
juan
2026-04-21T22:10:20ZSemantic diff summary
0 added,
1 modified,
0 signature changed,
0 removed
across 1 analyzed file
+5
-9
internal/db/reader.go
#
| ... | ... | @@ -245,11 +245,6 @@ func cleanName(s string) string { | |
| 245 | 245 | return "" | |
| 246 | 246 | } | |
| 247 | 247 | ||
| 248 | - | // If it's valid UTF-8 and contains no null bytes, it's probably fine | |
| 249 | - | if utf8.ValidString(s) && !strings.Contains(s, "\x00") { | |
| 250 | - | return s | |
| 251 | - | } | |
| 252 | - | ||
| 253 | 248 | b := []byte(s) | |
| 254 | 249 | ||
| 255 | 250 | // Check for UTF-16LE pattern (interleaved nulls) |
| ... | ... | @@ -271,11 +266,12 @@ func cleanName(s string) string { | |
| 271 | 266 | for i := 0; i < len(utf16s); i++ { | |
| 272 | 267 | utf16s[i] = binary.LittleEndian.Uint16(b[i*2:]) | |
| 273 | 268 | } | |
| 274 | - | return string(utf16.Decode(utf16s)) | |
| 269 | + | s = string(utf16.Decode(utf16s)) | |
| 270 | + | b = []byte(s) | |
| 275 | 271 | } | |
| 276 | 272 | ||
| 277 | - | // If it's not UTF-16 but has invalid UTF-8, it's likely Latin-1 (ISO-8859-1) | |
| 278 | - | if !utf8.ValidString(s) { | |
| 273 | + | // Now check if it's valid UTF-8. If not, it's likely Latin-1 (ISO-8859-1) | |
| 274 | + | if !utf8.Valid(b) { | |
| 279 | 275 | runes := make([]rune, len(b)) | |
| 280 | 276 | for i, v := range b { | |
| 281 | 277 | runes[i] = rune(v) |
| ... | ... | @@ -283,7 +279,7 @@ func cleanName(s string) string { | |
| 283 | 279 | return string(runes) | |
| 284 | 280 | } | |
| 285 | 281 | ||
| 286 | - | // Fallback: just remove null bytes if it's otherwise valid UTF-8 | |
| 282 | + | // Even if it is valid UTF-8, it might contain null bytes from a messy extraction | |
| 287 | 283 | return strings.ReplaceAll(s, "\x00", "") | |
| 288 | 284 | } | |
| 289 | 285 |