TODO 13.6 KB
Newer Older
1
2
-*- Mode: outline; -*-

David Kågedal's avatar
David Kågedal committed
3
Att göra i elisp-klienten
David Kågedal's avatar
David Kågedal committed
4
5
=========================

David Byers's avatar
David Byers committed
6
7
8
9
            Om du fixar någonting som står med på den här
            listan, glöm inte att ta bort det från listan!


David Byers's avatar
David Byers committed
10
11
* SAKER ATT KOLLA

David Byers's avatar
David Byers committed
12
13
    Hur och var skall man egentligen spara inställningar? .emacs är
    kanske inte det bästa alternativet. 
David Byers's avatar
David Byers committed
14
15


16
* BUGGAR
David Kågedal's avatar
David Kågedal committed
17

David Byers's avatar
David Byers committed
18
19
** OSORTERADE

20
21
22
23
24
25
26
27
28
29
    LysKOM fungerar inte i XEmacs i tty-mode. No such face:
    kom-active-face. Antingen är det fixat eller så är det inte fel i
    20.2.

    Om förbindelsen bryts så får man args out of range ibland.

    Om förbindelsen bryts i en buffert så ofungerar scrollningen en
    gång i en annan buffert. Man trycker SPC och får inte nästa
    kommando, utan hamnar överst i bufferten.

30
31
32
33
34
35
    Om man byter buffert med C-x b till den sista aktiva KOM-bufferten
    så tycker Nästa LysKOM att det inte finns fler aktiva
    KOM-sessioner. Funktionen verkar vara lite för känslig för hur
    lyskom-buffer-list ser ut. Den borde nog göra något lite
    intelligentare när listan ser ut att ha tagit slut.

David Byers's avatar
David Byers committed
36
37
    Peter Enderborg hade en 118 tecken bred XEmacs 20.3 med scrollbar,
    och vilkalistan blev precis 1 tecken för bred. I Gnu Emacs 19.30
38
    blev det rätt. Det verkar som om window-width ljuger.
David Byers's avatar
David Byers committed
39
40
41
42
43
44
45
46
47
48
49

    Race condition när man skickar in inlägg. Fönsterkonfigurationen
    återställs asynkront, och det går att trycka C-c C-c k
    tillräckligt fort att man skapar den nya inläggsbufferten innan
    den gamla fönsterkonfigurationen (för den förra inläggsbufferten)
    återställs. Resultatet är att man aldrig ser den nya bufferten.

    Endast gör fortfarande fel. Den klarar inte hål och använder inte
    set-last-read, utan set-unread.


David Byers's avatar
David Byers committed
50
51
52
53
54
55
56
57
** CACHE

    Det kan hända att inläggstexter kastas ur cachen så fort man har
    läst dem. Om det är så, så är det *inte* bra, för att om man
    kommenterar så måste inlägget hämtas igen. [DET VERKAR INTE VARA
    SÅ]


58
59
** VIKTIGA BUGGAR

David Byers's avatar
David Byers committed
60
61
62
63
64
65
66
67
68
    Buggar i special-insert gör att eoc inte körs, och man har inte
    läst inlägget. Man borde få inlägget läsmarkerat och få end of
    command.

    lyskom-w3-region får inte krascha. Stoppa condition-case runt.

    lyskom-format-html får inte försöka formattera som HTML om det
    inte går att ladda w3.

David Byers's avatar
David Byers committed
69
70
71
72

** OMBRYTNING

    Vi klarar inte emailheaders som är brutna över flera rader.
David Byers's avatar
David Byers committed
73
74
75
76
77
    Klienten tror att den indragna fortsättningen är början på ett
    nytt stycke. Man skulle kunna tänka sig att nytt-stycke-regeln
    inte gör nytt stycke om alla rader har börjat med ord: och man
    hamnar på en indragen rad. Indragna rader skulle inte sabotera
    ord:-prefixet. 
David Byers's avatar
David Byers committed
78
79


80
** DEFERRED INSERT
81

David Byers's avatar
X    
David Byers committed
82
83
84
    lyskom-replace-deferred verkar inte använda lyskom-last-viewed i
    alla fall. Och den beter sig fel när man står vid prompten och
    vill bläddra bakåt.
85

86
    Om ett namn som fylls i i efterhand gör att sista raden blir för
David Byers's avatar
David Byers committed
87
88
89
    lång, så scrollar klienten trots att den inte borde. David Kågedal
    trodde att han hade fixat det. (Detta är en gammal rapport. Den
    kanske inte stämmer.)
90
91
92
93


** PREFETCH 

David Byers's avatar
X    
David Byers committed
94
95
96
    Dubbla prefetcher kan vara väldigt förvirrande. Om man t.ex. gör
    endast i ett möte (säg IÅM) innan det prefetchas får man två
    parallella prefetcher på samma möte.
David Kågedal's avatar
David Kågedal committed
97

98
99
    Gå ur mötet man prefetchar genererar en bug.

100
101
102
    Om man går till ett möte som inte prefetchats och inte har några
    inlägg blir promten fel, och man får ett felmeddelande.

103
104
105

** COMPLETING READ

106
107
108
109
110
    Om man skriver in ett namn exakt, modulo parenteser, borde det
    *antagligen* accepteras som exakt. Jus nu krävs det att man
    skriver in parenteserna också. Problem uppstår till exempel om det
    finns två möten "(På) TV" och "(Gamla) TV-spel erfarenhetsutbyte".
    Om man skriver in "TV" så betraktas det inte som en exakt match.
David Byers's avatar
David Byers committed
111
112
113
114
115
116
117
118
119
120
121
122
123
124

    Man kan få oländiga loopar i completion. Just nu är det inte så
    lätt, men det går fortfarande. Problemet uppstår då två teckern
    har spacesemantik men inte mappas till samma tecken av
    collate-tabellen. Den riktiga fixen är i två steg: (1) se till att
    collate-tabellen alltid mappar alla space till space (2) se till
    att lyskom-complete-string kan detektera en oländig loop och
    stoppa den. 

        Minitestfall: (lyskom-complete-string '("L\t" "L s")).
        Problem uppstår om man får space-mismatch pga att två olika
        tecken med spacesemantik mismatchar (fin svenska, eller hur.)
        Man borde få match när det inträffar.

David Byers's avatar
David Byers committed
125
126
127
128
129
130
131
132
133
134
    lyskom-read-session-no hanterar inte att man anger specifikt
    sessionsnummer om samma person har flera sessioner, tror jag.
    Problemet är att s xxxx hanteras i lyskom-read-conf-internal som
    bara kan returnera conf-z-info. Man borde låta den returnera info
    om specifikt sessionsnummer också.

    Fixa så LysKOM och complete.el fungerar ihop genom att sätta om
    samma mappar som complete.el gör, till wrappers runt complete.el
    som kollar om completion är LysKOM-completion eller något annat.

135
136
137

** HANTERING AV FOTNOTER

David Kågedal's avatar
David Kågedal committed
138
139
140
    Den försöker fortfarande följa hemliga kommentarer om
    kom-show-footnotes-immediately är satt.

141
142
143
    Om man läser ett inlägg som har en fotnot (t ex 1449843) och vill
    spara det på fil, så blir det bara fotnoten som sparas.  Man vill
    nog spara minst själva huvudinlägget, och nog också fotnoterna
David Byers's avatar
David Byers committed
144
145
146
147
    samtidigt. [Pja, det är faktist meningen att det skall funka så
    här. Spara text sparar sisa inlägget man tittade på.
    Prefixargument ger fler. Frågan om det är *bra* eller inte är en
    helt annan...]
148

149
    Fotnoter som visas på en gång filtreras inte. [verkar fixat]
David Kågedal's avatar
David Kågedal committed
150

David Kågedal's avatar
David Kågedal committed
151
152
153
    kom-review-tree på en text med fotnoter visar fotnoterna på en
    gång. Är det en bug?

154
155

** PROMPTEN
David Kågedal's avatar
David Kågedal committed
156

157
158
    När jag ska läsa en kommentar till ett brev i min brevlåda så blir
    prompten "Läsa nästa brev" i stället för "Läsa nästa
David Byers's avatar
David Byers committed
159
    kommentar". Kommentaren ligger inte i brevlådan. (LÅG PRIORITET)
160

David Byers's avatar
David Byers committed
161

162
163
164
165
166
167
168
** HEISENBUGS

    Sentinelmeddelanden i ikoniferade frames buggar. Prova att kasta
    ut en session i ett ikonifierat fönster. Eller kanske till och med
    bara i en gömd buffert.

    Tommy Persson får LysKOM protocol error. Det kan bero på strulande
David Byers's avatar
David Byers committed
169
170
    modem. Tyvärr var det någon annan som också fick det, som kanske
    inte sitter bakom modem. Nu fick Kågedal också problemet, men
171
    fortfarande kan ingen reproducera det. Nu har jag också fått det. 
172
173
174



David Byers's avatar
David Byers committed
175
176
* FÖRBÄTTRINGAR

177
178
179
** LÄSA INLÄGG

    Det vore skoj om lyskom.el kunde, som jag har för mig att någon
David Byers's avatar
David Byers committed
180
181
182
183
184
185
    föreslog en gång, parsa fotnoter av det där slaget [sed-mönster
    ungefär] och applicera dem på texten. Det korrigerade inlägget
    skulle ha formatmarkeringen (korrigerad av 123455) i foten. Återse
    omodifierat skulle visa inlägget okorrigerat. Den korrigerande
    fotnoten visas inte i den normala läsordningen och markeras som
    läst automatiskt.
186
187
188
189
190

        * Krävs inkrokningar view-text.el för att inte skriva ut att
          det finns en fotnot.
        * Krävs mer flexibel formatmarkering.
        * Krävs att man hämtar fotnoter innan man visar inlägget.
David Byers's avatar
David Byers committed
191
        * Troligtvis är det bättre att använda aux-items för detta.
192
193


David Byers's avatar
David Byers committed
194

David Byers's avatar
David Byers committed
195
** SKRIVA INLÄGG
David Byers's avatar
David Byers committed
196

David Byers's avatar
David Byers committed
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
    Frågan om flera mottagare kanske inte borde ställas om man har
    arrangerat om mottagarlistan rejält. Den skall ställas om man
    lägger till en mottagare till en existerande. Den kanske inte
    behöver ställas om man har arrangerat om alla mottagare. Frågan är
    vad som händer mittemellan.

    Varningen om olästa kommentarer är inte perfekt. Det finns flera
    förslag till ändringar. Ett är att varna bara för kommentarer som
    skapades efter man började skriva kommentaren, men det verkar vara
    en kompromiss. Minst en som efterfrågade det ville i själva verket
    kunna slå på/av varningarna per möte. Bellman ville att varningen
    inte skulle gå att slå av helt med mindre än att man explicit slår
    av den i alla möten som man är med i.

        * Den rätta saken att göra är antagligen att göra det möjligt
          att ge variabeln ett defaultvärde och ha möjlighet att ge
          undantag. 

        * Defaultvärden skulle kunna vara varna, varna inte och varna
          för nya. Ett förslag är också att varna för nya enbart om
          man har läst minst en eller kanske alla av kommentarerna
          till inlägget man kommenterar.

        * Eventuellt skulle det vara bra med en varning innan man
          börjar kommentera om kommentarer som redan finns där. Den
          varningen borde vara oberoende av den som kommer när man
          skickar in.

    Addera det kommenterades författare som mottagare vid behov när
    man börjar skriva inlägget. Se till att inte gnälla om denna
    mottagare när man skickar in inlägget.

        * När man börjar skriva inlägg, håll reda på att man har lagt
          till författare automatiskt, och försök låta bli att gnälla
          om dessa. 

        * Hans Persson ville att att det kommenterades författare
          skulle läggas till automatiskt, men att om man har editerad
          headrarna så skulle kontrollen göras om igen när man
          skickade in inlägget. Dock skulle den *inte* göras om man
          manuellt tog bort det kommenterades författare (det här
          skulle hindra att man tog bort mottagare så att det
          kommenterades författare blev utan.) Hans Persson har helt
          rätt.
David Byers's avatar
David Byers committed
241

242
243

** EDIT-BUFFERTEN
David Kågedal's avatar
David Kågedal committed
244

David Byers's avatar
David Byers committed
245
246
    Defaultplaceringen av nya mottagare i editbufferten är fånig.

247
248
249
250
251
252
253
    Borde kolla efter dublettmottagare innan man skickar in inlägget.
    Annars så får man ett tråkigt felmeddelande från servern.

    Kolla hur misslyckad inskickning hanteras. Vi borde ajtomagiskt
    ploppa upp edit-bufferten, alternativt ha ett kommando för att
    göra det (och göra det till defaultkommandot.)

David Byers's avatar
David Byers committed
254
255
256
257
258
259
260
    Det borde gå att ändra mottagare till cc-mottagare genom att bara
    lägga till mottagaren igen som cc-mottagare. Motsvarande för bcc
    och så vidare.

    Man borde kunna manipulera mottagare i editbufferten med musen (ta
    bort, ändra typ.)

David Byers's avatar
David Byers committed
261

262
** FILTER
David Byers's avatar
David Byers committed
263

264
265
266
267
268
269
270
271
272
    Ny filter-edit-mode

    Använd den nya filterkompilatorn.

    Gör inte nästa kommando efter en filtrering. Kontrollera med
    variabel.


** ASYNKRONA MEDDELANDEN
David Byers's avatar
David Byers committed
273

David Byers's avatar
David Byers committed
274
275
    Färgläggning av meddelanden baserat på varifrån de kommer, och
    vart det går. John Olsson efterfrågar.
David Kågedal's avatar
David Kågedal committed
276

277
278
279
280
281
    Filtrera asynkrona meddelanden (Pontus Lidman)


** MEDLEMSSKAPSINFORMATION

David Byers's avatar
X    
David Byers committed
282
    Lista medlemsskap borde hållas uppdaterad. Vi behöver hookar för
283
284
285
286
    - Gå in i möte (uppdatera datum)
    - Ändra prioritet (det har vi)
    - Ändra olästa
    - Invalidera conf-stat (kanske)
David Byers's avatar
X    
David Byers committed
287
288
289
290
    Plus att vi måste fixa en datastruktur till bufferten. Vilket slit.
    Kanske kan man mergea prioritera och lista medlemsskap? Det skulle
    ju förenkla...

291
292
293

** ÅTERSE

David Byers's avatar
X    
David Byers committed
294
295
296
297
298
299
300
301
    Återse senaste borde vara superinkrementell. Man kunde hämta så
    mycket man hinner under säg tre sekunder och stoppa någonting på
    read-listan som hämtar nästa tre sekunder eller så.

    "Återse n inlägg av person x till möte y från datum z framåt"

    "Återse n inlägg av person x till möte y under de senaste k dagarna"

David Kågedal's avatar
David Kågedal committed
302
303
    Strunta i hemliga texter vid åar.

304
    Återse alla markerade borde gå att avbryta med nästa möte.
David Kågedal's avatar
David Kågedal committed
305

David Byers's avatar
David Byers committed
306
307
308
    Det vore trevligt om inlägg man återsåg inte bidde varnade för när
    man skriver kommentarer.

309

310
311
312
** INTERNA SAKER

    Inför en membership-cache.
313

David Kågedal's avatar
David Kågedal committed
314
315
316
    Har detta att göra med lite för optimistisk cache att göra? Kanske
    bör man läsa om person-staten innan man varnar för lapp på dörren?

317
    Använd blocking.el som innehåller en reentrant blocking-do.
318

319
320
321
322
323
324

** FOTNOTER

    Skriv inte ut stora fonoter på en gång.

    Visa fotnoter på ett bättre sätt.
David Kågedal's avatar
David Kågedal committed
325

David Byers's avatar
X    
David Byers committed
326
    Kommandot kom-review-comments visar fotnoter sist, inte först.
327

David Kågedal's avatar
David Kågedal committed
328
    Det skulle vara bra om skönsvärde för att skriva fotnot vore den
David Byers's avatar
David Byers committed
329
330
    senaste text man själv skrev, inte den senaste man läste. Eller
    kanske den senaste man läste om det var man själv som skrev den?
331
332
    Snarare den sista man läste av sig själv alt. den sista man skrev
    om man inte har läst något av sig själv sedan dess.
333

David Byers's avatar
X    
David Byers committed
334

335
336
** ANVäNDARVäNLIGHET

David Byers's avatar
David Byers committed
337
338
339
    Man skulle kunna låta fönstrets titelrad indikera om man har
    olästa i någon session. Det skulle vara praktiskt för oss som har
    KOM igång ikonifierad i en separat Emacs större delen av tiden.
340
    Klickbara kommandon, vad nu det är.
341

David Byers's avatar
David Byers committed
342
343
344
345
    Det behövs dokumentation: fråmst användarhandledning, men det
    skulle inte skada med en kortfattad beskrivning av stabila delar
    av systemet för presumtiva kommandoskribenter.

David Byers's avatar
David Byers committed
346
    Språkgranskning av den engelska versionen.
347

David Byers's avatar
David Byers committed
348
349
350
351
352
353
354
355
356
357
358
    Det skulle vara bra om man kunde ange för varje inställning om den
    skulle sparas i servern eller inte. I princip är det enkelt, men
    det behövs ett gränssnitt för det.


** AUX-ITEMS

    Implementera en FAQ aux-item. Detta kommer att kräva en flagga
    till i servern som talar om för servern att inte garba ett inlägg.
    Det i sin tur kräver att man fixar dbck att forcera garb av inlägg
    med den här flaggan som inte borde ha den eller nåt sånt.
359

360
361
362
    Implementera aux-items på medlemskap. En iten skulle vara att
    medlemskapet egentligen är en inbjudan.

363

David Byers's avatar
David Byers committed
364
** MARKERINGAR
David Byers's avatar
David Byers committed
365

David Byers's avatar
David Byers committed
366
367
368
369
    JySKomska markeringstyper.


** DIVERSE OSORTERAT
David Byers's avatar
David Byers committed
370

371
372
373
    Lista sessioner, ungefär som lista klienter, men som ger mer
    sessionsinformation, till exempel idletid. Önskad av David Hedbor.

374
    Sortera vilkaslistan efter t.ex. idletid.
David Byers's avatar
David Byers committed
375

David Byers's avatar
David Byers committed
376
377
378
    Lista nyheter borde göra start of command innan den pratar om att
    vänta på medlemskapslistan. Den gör rätt ibland, men inte alltid.

David Byers's avatar
David Byers committed
379
380
381
382
383
384
    Man borde använda get-unread-confs för att lista ut vilka
    medlemsskap som skall prefetchas först. Då måste man ordna så att
    ingenting är beroende av att medlemsskapslistan hämtas i
    prioritetsordning. Prefetchen måste kunna sortera in medlemsskap i
    prioritetsordning när den får dem från servern.

David Byers's avatar
David Byers committed
385

386
387
388
389
390
391

Local variables:
mode: outline
paragraph-separate: "[ \t]*$"
outline-regexp: "[*]+"
end: