loctrkd (2.00) experimental; urgency=medium * Release 2.00 without changes -- Eugene Crosser Mon, 26 Dec 2022 16:27:10 +0100 loctrkd (1.98) experimental; urgency=medium * Ignore pmod registrations older than an hour * Update README for two-protocol support * Update man pages to use correct name * Fix test when servers crash; less logging * evstore: do not use unixepoch() - for older sqlite -- Eugene Crosser Thu, 08 Dec 2022 13:00:56 +0100 loctrkd (1.97) experimental; urgency=medium * Change reporting of pmod to events -- Eugene Crosser Sun, 27 Nov 2022 23:08:07 +0100 loctrkd (1.96) experimental; urgency=medium * Send backlog only the the ws client that requested * Implement sending commands from the web interface * webdemo: implement sending cmds to the terminal -- Eugene Crosser Sun, 27 Nov 2022 21:21:04 +0100 loctrkd (1.95) experimental; urgency=medium * beesure: implement a few more server commands * wsgateway: clear locations on wsocket open * opencellid: use temp table rather than memory db * tests: separate fuzz tests in two modules * test: add fuzzer for beesure protocol * webdemo: use flexbox css * sysnits & config: update name, remove unneeded bit -- Eugene Crosser Mon, 05 Sep 2022 10:38:56 +0200 loctrkd (1.94) experimental; urgency=medium * rectifier: set umask for zmq publish socket * googlemaps: add code for manual testing * beesure: consider valid if enough satellites * lookaside returns accuracy too -- Eugene Crosser Fri, 05 Aug 2022 00:43:59 +0200 loctrkd (1.93) experimental; urgency=medium * beesure: fix parsing broken by prefious fix * Update html and readme to mention new name -- Eugene Crosser Wed, 03 Aug 2022 22:43:45 +0200 loctrkd (1.92) experimental; urgency=medium * beesure: more reliable parsing of binary content * opencellid: raise exception on the lack of data -- Eugene Crosser Wed, 03 Aug 2022 20:34:54 +0200 loctrkd (1.91) experimental; urgency=medium * opencellid: detach mem db when lookup failed -- Eugene Crosser Wed, 03 Aug 2022 12:20:37 +0200 loctrkd (1.90) experimental; urgency=medium * move stream parser/deframer to the protocol module * change error reporting and fix bugs * collector: get rid of more protocol specifics * Initial multiprotocol support * improve diagnistic message about left data * Multiprotocol support in zmq messages and storage * Rename gps303proto to zx303proto * rename gps303 -> loctrkd * Update package name and links in the README * debian: this replaces gps303 * rename deb package, adjust .gitignore * WIP: beesure protocol * cleanup framing/deframing of beesure * test: more robust version check for tools (black) * beesure: add ICCID proto * function `proto_handled()` in proto modules * make qry work again * beesure: decode wifi aps * watch: fix check for proto handling * beesure: location info parser * beesure: don't mess with timezones for devtime * Revive command sender and implement some commands * collector: close old connection on new login * beesure: remove the PROTO attribute * WIP converting wsgateway to multiprotocols * beesure: implement phone book commands * beesure: handle "TK" (Voice message) * qry: initial support for saving data in a file * beesure: implment MESSAGE command * collector: streamline tracking of polled fd-s * mkgpx: quick temp switch to beesure proto * protocols: make "interface" module * rename `lookaside` to `rectifier` * Adjust config to changing messaging topology * rectifier: add PUB zmq socket * protocols: introduce method `rectified()` * abstract protocol selection in `common` * rectifier: lookaside based on rectified objects * Convert recitifier to multiprotocol support * Cleanup some of the types * watch: watch for both raw and rectified feeds * storage: save both raw and rectified reports * wsgateway: switch to the use of cooked reports * rectifier: log.exception on lookaside crash -- Eugene Crosser Wed, 03 Aug 2022 10:45:34 +0200 loctrkd (1.02) experimental; urgency=medium * collector: prevent two active clients share IMEI -- Eugene Crosser Thu, 14 Jul 2022 22:17:51 +0200 gps303 (1.01) experimental; urgency=medium * collector: do not remove clients before all sends -- Eugene Crosser Tue, 12 Jul 2022 11:58:05 +0200 gps303 (1.00) experimental; urgency=medium * test: include lookaside and termconfig in the loop * doc: edit and correct README.md * docs: expand man pages * forgotten manpage for install -- Eugene Crosser Thu, 23 Jun 2022 22:58:35 +0200 loctrkd (0.99) experimental; urgency=medium * Revive mkgpx example script * Drop data if we are receiving junk * test: fuzzing collector * test: complete fuzzer unittest * collector: fix problems found by fuzzer test * test: make unittests individually runnable * collector: enable SO_KEEPALIVE on accepted conn. * test: message fuzzer and fix found problems * test: move `send_and_drain` to common module * test: skeleton for an end-to-end unittest * test: adjust sleeps and drains when daemons run * test: minimally functional test_storage * do not try to use zlib's _Decompress * test: use IPv4 because github actions * Add sample opencellid csv for tests * test: better aquisition of free ports * test: opencellid downloader -- Eugene Crosser Wed, 22 Jun 2022 18:04:10 +0200 loctrkd (0.98) experimental; urgency=medium * include runtime deps as build-time for typecheck * fix l3str/l3int breakage provoked by typeckeck * make termconfig use unit specific config section * expand README: lookaside and termconfig sections. * wsgateway: reclassify http write hack as permanent * Update README with configuring the terminal * Implement remaining "Out" commands * do not run black older than 21.1 -- Eugene Crosser Tue, 07 Jun 2022 00:17:55 +0200 loctrkd (0.97) experimental; urgency=medium * adjust tests * typecheck: skip test if mypy verison < 0.942 -- Eugene Crosser Tue, 31 May 2022 01:05:39 +0200 loctrkd (0.96) experimental; urgency=medium * Do not write startup message for command-line cmds * Add a (short) man page * typing: make zmsg.py typecheck * typing: annotate loctrkdproto.py (mostly) * typechecking: less hacky deal with dynamic attrs * typing: annotate opencellid.py * typchecking: annotate googlemaps.py * typechecking: annotate evstore.py * typechecking: annotate common.py * typeckecing: annotate ocid_dload.py * typeckecing: annotate watch.py * typechecking: annotate termconfig.py * typeckecking: annotate storage.py * typing: annotate lookaside.py * typechecking: annotate collector.py * typeckeck: annotate __main__ and fix loctrkdproto * typeckecking: annotate wsgateway.py * formatting: revive black formatting * unittest: type checking and formatting -- Eugene Crosser Tue, 31 May 2022 00:36:33 +0200 loctrkd (0.95) experimental; urgency=medium * Quick fix for a missing variable -- Eugene Crosser Thu, 26 May 2022 19:32:44 +0200 loctrkd (0.94) experimental; urgency=medium * Opencellid download service * Improve error handling of the downloader * cleanup and document config file a bit * Prepare to have dynamically chosen lookup backend * Add googlemaps lookaside backend -- Eugene Crosser Thu, 26 May 2022 19:25:40 +0200 loctrkd (0.93) experimental; urgency=medium * use fixed github action * try to make github actions work * "the `uses' attribute must be a path, a Docker image, or owner/repo@ref" * Update README * actions: action-gh-release, not artifact upload * Beautify logging * Make a `make-release` script to run `gbp dch` -- Eugene Crosser Tue, 24 May 2022 22:53:13 +0200 loctrkd (0.92) experimental; urgency=low [ Eugene Crosser ] * "When you start a pattern with *, you must use quotes." * add github action * allow imei as the document path * Report status (with battery %) to the webpage * Add references to the doc/source * webdemo: draw very simplistic line between locs -- Eugene Crosser Mon, 23 May 2022 23:55:46 +0200 loctrkd (0.91) experimental; urgency=low [ Eugene Crosser ] * fix log message using unknown variable -- Eugene Crosser Tue, 10 May 2022 09:42:30 +0200 loctrkd (0.90) experimental; urgency=low [ Eugene Crosser ] * Expand README * clean a couple of TODOs in wsgateway * make parse_message return UNKNOWN on parse crash * reimplement backlog query again * A hack in packet framing to false stop bytes match * do not respond to hibernation; minor cleanup * wsgateway with new message distribution model * fix zmq subscription topics * misc black reformatting * fill in `when` in Resp packet * WIP retoure messaging * Partly revert "Broadcast location, gps and approximated" -- Eugene Crosser Tue, 10 May 2022 09:09:08 +0200 loctrkd (0.01) experimental; urgency=low [ Eugene Crosser ] * adjust debianization to wsgateway * Update evstore schema to support in and out msgs * WIP on supporting multiple markers * WIP on baclog fetcher * lookaside - do not look for offline positioning * wsgateway aggregate subscriptions upstream * support subscriptions on the client side * wsgateway read html file every time * Webdemo use its url as the base for ws url * wsgateway properly handle write-busy websockets * Make constructor of protocol objects more elegant * mock use persistent history for enrered commands * Show coordinates on the map * WIP on ws gateway, it now works * Make ws gateway act as http server too * WIP on websocket gateway * Try to make systemd target more robust * lintian: override "unusual target" * some cleanup of debianization * set umask for group-writable unix domain sockets * Change LocEvt to use json encoding * remove local conf, add license * Broadcast location, gps and approximated * clean up `from_packet()` * expand README * update gitignore debianization * debianize * add command line script * cleanup of loctrkdproto * update mkgpx to the new api * export all classes * remove forgotten make_packet() call * command line frontend accepts `key=value` args * Accept various arg formats for `Out` construction * Fix metaclass, now works * WIP convert to In/Out nested classes * zmsg: always pack IPv6 address (mapped for IPv4) * Remove deprecated functions * Don't make unneeded responses, better debug log * introduce command-line forntend to send cmds * make `response` class method again * fix var name * introduce `class_by_prefix()` * add some more message types * Use config from the config file to config * Add some more commands * Do not respond to "Manual positioning" * remove obsolete __main__ * the whole shebang is working now * change storage format - save the whole packet * use old address format in the event database * Support IPv6 on client socket * full encoder/decoder for zmq messages * implement `inline_response()` * cleanup, make monolitic app work again * initial storage service * make collector.py work * WIP to reorganise to microservices * rename protocol module to "loctrkdproto" * Initial version of zmq based architecture * drop unresolvable points in mkgpx * add lookaside module and opencellid lookup * define more protocol units * add README * Work with cell location data; use opencellid * A script to parse data from the database * Use command line args and config more * use correct config entry * introduce config * add necessary responses * make object parser and sqlite store -- Eugene Crosser Sat, 7 May 2022 13:21:55 +0200