(???) vim: set ts=8 sw=4 tw=0 fdm=marker
(???) legend: "-" task, "c" critical, "v" finished, "." pending, "n" cancelled, "--" finished notes
(???) vimfolding quickstart: zc - close fold, zo - open; use zMzr on this doc
(???) highlight critical tasks: /^c.*
(???) --- minimal release ---------------------------------------------------- {{{
(???) accsniffer
(???) alt
(???) versiontable
(???) versionlog
(???) client
(???) log
(???) activity
(???) server
(???) db
(???) crime
(???) notify
(???) mbuzzer
(???) ip
(???) haship
(???) ping
(???) maplog
(???) watch
(???) }}}
(???) --- tmww: bugs --------------------------------------------------------- {{{
(???) review limited access policy since now it's possible to execute arbitrary code from config
(???) inished .............................. {{{
(???) fix accsniffer empty party bug
(???) bash/zsh compatibility rewrite (some constructions from dash don't work in them)
(???) escape quotes in client versions for valid yaml in versionlog/versiontable
(???) strict field matching with jq
(???) check all shell test numerical comparisons to include 2>&- or rewrite with number check -- probably done
(???) fix cmdline escaping last backslash issue -- fixed cmdline_prefix part to single quotes
(???) fix accsniffer quotes to single quote
(???) "detected czemu ... tt" - fix questions in names >> cannot reproduce
(???) }}}
(???) }}}
(???) --- tmww: maintain ----------------------------------------------------- {{{
(???) debian packaging
(???) split shtest
(???) split md2man
(???) change md2man definition list from multiple spaces to colon; replace it in all docs
(???) inished .............................. {{{
(???) attach gnulib build-aux/gitlog-to-changelog as ChangeLog generator
(???) single user deploy concerning distributed package/example files -- cancelled, added multiuser upgrade
(???) separate public repo and private - restricted plugins; separated packaging too -- cancelled
(???) }}}
(???) }}}
(???) --- tmww: features ----------------------------------------------------- {{{
(???) add main option to disable "external", "script" and any other external executable action
(???) check if possible to get rid of "cat" solution vs rsync/cp with ACL on or somehow else -- suid not suitable
(???) add action to export online list snapshots to log format
(???) inished .............................. {{{
(???) add "preload" section to override some plugins and libraries (e.g. altsdb for server version)
(???) add "-h" option for plugins called using command line with config CMDPREFIX
(???) add main option to prevent exporting shell variables
(???) fix config parser to reuse predefined on cmdline TMWW_ variables
(???) rethink parser - check if some backquote escaping may be dropped
(???) fix < and > signs in html parser
(???) rewrite awk config parser. look at allowed characters
(???) move ring to end, add flag variable to check if ring required at the end
(???) option to turn off color
(???) plugin to work with alts db
(???) ensure all plugins are working with lists
(???) portable bugtracker for bug/feature/todolist >> just pretty vimfolding
(???) choose database >> plaintext/jsonlines
(???) working lists compilation from databases
(???) rename plugins for .plugin suffix, fix tmww code
(???) check shared tmp and private tmp folders concept
(???) add trap in each local lock handler for all plugins
(???) add handler to check included plugins are not included multiple times
(???) check printf in all plugins
(???) change fetch, altsdb, lists paths for common/priv tmp
(???) replace awk with printf $n when needed - less external calls
(???) make temporary wrapper for singleuser mv and multiuser workaround with cat
(???) bash/zsh completion -- zsh only
(???) add tmw config modline to lessen errors with config name collision with workdir -- just added ".conf" extension
(???) replace sed for extended regexp option flag compatibility (-r/-E)
(???) refactor plugins into plugins+libs (not sure) -- refactored
(???) uberqool feature to read variables from cmdline and pass to commands in actions -- possible now within "execute script"
(???) add "execute section" action to add arbitrary code within config
(???) translate chars.txt database into jsonl >> canceled, no much need for timestamps
(???) }}}
(???) }}}
(???) --- tmww: plugin: activity --------------------------------------------- {{{
(???) fix daily/monthly subcommand - accept multiple targets for daily output
(???) add raw output - lines of numbers; suitable for postprocessing
(???) add firstseen
(???) fix some subcommands - add avg playing time per day (not sure needed) with some indication of deviation
(???) fix daily and monthly for inexistent dates
(???) inished .............................. {{{
(???) add "exclude char" command to activity printer (daily/monthly/average)
(???) remove -n option where -d/-m available
(???) }}}
(???) }}}
(???) --- tmww: plugin: client ----------------------------------------------- {{{
(???) possible automatic analyser for full month to check inconsistent client stats
(???) possible automatic analyser for moment of client version change reporting matched chars not on same account and not already in db
(???) inished .............................. {{{
(???) }}}
(???) }}}
(???) --- tmww: plugin: alts ------------------------------------------------- {{{
(???) crash tests
(???) add "player" special word to lists to use player alts db
(???) make minimal testing script (e.g. to ensure escaping done well on most common tasks)
(???) add "player list custom" for custom jq
(???) add "player list with NULL as FIELD" with NULL as special word to determine empty fields
(???) inished .............................. {{{
(???) sort dbplayer entries with jq for easier rcsdiff -- require jq 1.4 or some ugly hack (skipped by default)
(???) add "player show parties by char/id/player"
(???) fix internal aux_ procedures to reduce dummy arguments (inherited without proper shift)
(???) finish automatic char/account resolve
(???) set up alts db
(???) fix add char collision
(???) some output to access every records (maybe with order number)
(???) add NOT to query "player list" command
(???) fix 2>&- for all jq expressions
(???) add fields types quick reference
(???) add operation "append" to add to db dumped record -- not safe operation, added note to try sanitize when done
(???) fix accsniffer pcap expression to sniff only particular server -- isn't it done?
(???) some output to access arrays (meaningful only for bot to wrap manaplus urls) >> left for bot task
(???) }}}
(???) }}}
(???) --- tmww: plugin: server ----------------------------------------------- {{{
(???) add "char list with xx as yy", expr: [not] as|lt|gt|le|ge
(???) add "char get id by login" and "char get login by id"
(???) inished .............................. {{{
(???) crash tests
(???) db/server completion
(???) process config sections for fields/aliases
(???) char get inventory/storage by item/itemid
(???) fix - init fields_printer with empty lines
(???) party
(???) player
(???) summary
(???) }}}
(???) }}}
(???) --- tmww: plugin: maplog ----------------------------------------------- {{{
(???) inished .............................. {{{
(???) }}}
(???) }}}
(???) --- tmww: plugin: watch ------------------------------------------------ {{{
(???) list compilation
(???) list updates
(???) update file removal
(???) colorize background - e.g. for lists. probably another section
(???) fixed columns number
(???) output every list to new column option
(???) inished .............................. {{{
(???) }}}
(???) --- tmww: plugin: util ------------------------------------------------- {{{
(???) inished .............................. {{{
(???) function spot: see if player is under known alts online
(???) }}}
(???) }}}
(???) --- tmww: documentation ------------------------------------------------ {{{
(???) simple guide
(???) add note on new alsa device to tmww-conf
(???) inished .............................. {{{
(???) md2man fix singleline paragraph/blankline issue
(???) add note to clean variables in script action after runaction
(???) glossary section: alt, account, player, etc.
(???) place author, year, license in sources
(???) generate 1 manpage for tmww. plugins only in info manual
(???) separated pages for plugins
(???) generate single html from separated pages
(???) alts howto for limited access
(???) alts example configs
(???) alts document playerdb fields
(???) pretty print example
(???) alts howto
(???) alts faq section
(???) fix alts local multiuser setup (full access) tmp folder
(???) move to pandoc for fast doc regen and texinfo(?) without creepy toolchain
(???) move to pandoc just for man/html, no texinfo
(???) source documentation >> manual is already extensive
(???) }}}
(???) }}}