Resolve the issue with the UnixHostDuino not really being compatible
with the esp8266 Core String (...and the rest of the Core, as well)
Port the CMakeLists.txt from the rpnlib and update it use FetchContent
instead of either manually fetching dependencies or using PIO artifacts
Caching is *expected* to work, but might need slight adjustments
Refactor WebUI:
- remove jquery dependency from the base custom.js and use vanilla JS
- remove jquery + jquery-datatables dependency from the RFM69 module
- replace jquery-datatables handlers with pure-css table + some basic cell filtering
(may be incomplete, but tbh it is not worth additional 50Kb to the .bin size)
- introduce a common way to notify about the app errors, show small text notification
at the top of the page instead of relying on user to find out about errors by using the Web Developer Tools
- replace <span name=...> with <span data-settings-key=...>
- replace <div> templates with <template>, disallowing modification
without an explicit DOM clone
- run `eslint` on html/custom.js and `html-validate` on html/index.html,
and fix issues detected by both tools
Streamline settings group handling in custom.js & index.html
- drop module-specific button-add-... in favour of button-add-settings-group
- only enforce data-settings-max requirement when the property actually exists
- re-create label for=... and input id=... when settings group is
modified, so checkboxes refer to the correct element
- introduce additional data-... properties to generalize settings group additions
- introduce Enumerable object to track some common list elements for
<select>, allow to re-create <option> list when messages come in
different order
Minor fixes that also came with this:
- fix relay code incorrectly parsing the payload, causing no relay names
to be displayed in the SWITCHES panel
- fix scheduler code accidentally combining keys b/c of the way C parses
string literals on separate lines, without any commas in-between
- thermostat should not reference tmpUnit directly in the webui, replace with
module-specific thermostatUnit that is handled on the device itself
- fix index.html initial setup invalid adminPass ids
- fix index.html layout when removing specific schedules
- remove version handling, PIO already does this for us
- directly set generate_release_sh.py arguments instead of having a
getopt proxy for each one (and having to deal with short-arg support)
- slightly more logs for the build process
- remove .travis.yml
- ./travis_{script,install}.sh -> ./ci_{script,install}.sh
- flush stdout in test script to see logs more promptly
- adjust git config to ignore 'detachedHead' warnings
* base envs
* CI: speed up release process (since we still want some .bin files)
* fixup! CI: speed up release process (since we still want some .bin files)
* release dry run
* fixup! release dry run
* adjust
* fix .bin name
* it works
* minor cleanup for current git
* use pio suggestion about ldscript, reduce build_flags impact
* fix linker
* parse ${vars} instead of ignoring them
* add filtering and override file (sneak peak into tasmota's pio config)
* don't generate secure client (for now)
* formatting
* codacy
* travis: move build flags tests outside of hardware header
* mqtt: fix typo
* travis: use files instead of bundling test cases into script
* fixup! travis: use files instead of bundling test cases into script
* fix variable expansion, remove custom h at the end
* add ade7953 to sensors list
* custom.h path as variable
* shellcheck
* fix printf syntax, silent again
* fix bash 4.3 treating empty array as unset variable