gps303 (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 gps303 (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 gps303 (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 gps303 (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 gps303proto.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 gps303proto * typeckecking: annotate wsgateway.py * formatting: revive black formatting * unittest: type checking and formatting -- Eugene Crosser Tue, 31 May 2022 00:36:33 +0200 gps303 (0.95) experimental; urgency=medium * Quick fix for a missing variable -- Eugene Crosser Thu, 26 May 2022 19:32:44 +0200 gps303 (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 gps303 (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 gps303 (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 gps303 (0.91) experimental; urgency=low [ Eugene Crosser ] * fix log message using unknown variable -- Eugene Crosser Tue, 10 May 2022 09:42:30 +0200 gps303 (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 gps303 (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 gps303proto * 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 "gps303proto" * 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