-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: allow admin to set default channel #19
Conversation
Ideally I should be testing this tonight. Changes should be available on http://wt0f-1.local.mesh:8080/meshchat this evening. |
287486c
to
acd2e7c
Compare
Found an issue with the refactoring of the config API call. Fixed and redeployed the package to WT0F-1. Current version is v20231121-default-channel-acd2e7c. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Broadly this seems fine. I have some questions that mostly come down to documentation/release notes.
|
||
local settings = { | ||
version = app_version, | ||
protocol_verison = protocol_version, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if this wasn't already in the config before, how was it used?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
protocol_version
is not used today. It is in the config file, but not in use. Never has been used from what I can tell.
The config API was only really giving the MeshChat version, node name and zone name to the front end code. I am adding more config values so that more features can be enabled on the front end code without having to hard code values into the front end. This will provide a single source of configuration for all of MeshChat.
In the relatively near future (next version or two), I expect that protocol_version
will be used to insure that an old API (either an old API package or cgi-bin scripts that did not get updated correctly) is not being used and/or adapt to the older API. This will probably come into to play as the message DB synchronization is improved.
node = node_name(), | ||
zone = zone_name(), | ||
default_channel = default_channel, | ||
debug = debug, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like this doesn't come up (at least not in this PR). what do you plan to do with this?
I love the idea of useful config flags to help development and support. I just want to be explicit about the purpose for these kinds of features.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure what you mean by it did not come up. I have been using this code for a bit and it has been working for me. I did have a problem on the Javascript side where I was defining a function and a variable with the same name that was causing problems. That has been resolved, but I have not pushed code yet as I am debugging another issue.
The debug
variable in the configuration file is used to turn on debugging in the backend code (not really there) and the debugging in the Javascript console in the front end. At some point it will probably be good to also turn the front end debugging on through a parameter on the URL line so that one does not have to modify the config file (or maybe does not have access to the file). This would allow debug logs to be created and submitted with bug reports to get a little more visibility into what a MeshChat instance is doing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I just meant what's the debug flag for. I didn't see that flag get used elsewhere in this PR. Thanks for the info.
I agree about turning it on without changing config. One scenario I find myself running into again and again is supporting other people's installation. In these cases I need deep info about system state, but I don't have ssh access or the admin password. It would be very nice if I could just flip a query param flag and suddenly see things.
I guess we still need to build those things to show :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the debug
function is in the commits that I have not yet pushed. I am trying to resolve a problem where the value of a Javascript variable is not being copied to another context correctly.
7f63975
to
c9b5157
Compare
Reorginanization of the repository so that it is code focused vs. being focused on how the packages are built. Packaging will be moved to GitHub Actions so that every commit will create new packages that can be used for testing. Releases will be created and produce packages when a tag is committed to the repository. Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
* refactor: add comments to clarify flow Signed-off-by: Gerard Hickey <[email protected]> * feat: add messages class to front end Update the handling of messages on the front end code to better control the update of messages and coordinateion with the rest of the UI. Signed-off-by: Gerard Hickey <[email protected]> * add more config support Signed-off-by: Gerard Hickey <[email protected]> * feat: message ID can be specified in send_message API Signed-off-by: Gerard Hickey <[email protected]> * add md5 module to front-end Signed-off-by: Gerard Hickey <[email protected]> * integrate message class into front-end code Signed-off-by: Gerard Hickey <[email protected]> --------- Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
A MeshChat administrator now has the ability to define the default channel that a newly logged in user is placed into. This requires that the administrator set the value `default_channel` in the configuration file. Setting `default_channel` to an empty string ('') will continue using the legacy setting of 'Everything'. Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
2a7b5b1
to
fca03a1
Compare
fca03a1
to
74f5dee
Compare
Signed-off-by: Gerard Hickey <[email protected]>
Signed-off-by: Gerard Hickey <[email protected]>
* fix: fix missing tab for file sharing * Initial pass at reorganization Reorginanization of the repository so that it is code focused vs. being focused on how the packages are built. Packaging will be moved to GitHub Actions so that every commit will create new packages that can be used for testing. Releases will be created and produce packages when a tag is committed to the repository. Signed-off-by: Gerard Hickey <[email protected]> * Added beginnings of package building code Signed-off-by: Gerard Hickey <[email protected]> * Now making directories during package build Signed-off-by: Gerard Hickey <[email protected]> * Minor fixes to populate-meshchat-api-fs.sh Signed-off-by: Gerard Hickey <[email protected]> * Fixed testing tag for version number Signed-off-by: Gerard Hickey <[email protected]> * Updated GitHub workflow Signed-off-by: Gerard Hickey <[email protected]> * Fixed incorrect param order for tar in ipk-build.sh Signed-off-by: Gerard Hickey <[email protected]> * Storing generated package as an artifact Signed-off-by: Gerard Hickey <[email protected]> * Refactored build API workflow Signed-off-by: Gerard Hickey <[email protected]> * Added build MeshChat package job Signed-off-by: Gerard Hickey <[email protected]> * Removed build file as no longer needed * Updating version info in meshchatconfig.lua Signed-off-by: Gerard Hickey <[email protected]> * More reorganization of files * Fixed installation of cgi-bin after reorg Signed-off-by: Gerard Hickey <[email protected]> * Fixed the installation of web files Signed-off-by: Gerard Hickey <[email protected]> * Added branch name and commit ref to testing builds Signed-off-by: Gerard Hickey <[email protected]> * Moved MeshChat source to top level Signed-off-by: Gerard Hickey <[email protected]> * feat: Set send channel when channel filter changed Signed-off-by: Gerard Hickey <[email protected]> * docs: Updated README with history of MeshChat Signed-off-by: Gerard Hickey <[email protected]> * chore: Added Bug Report issue template * chore: Added feature request issue template * build: Updates to better name packages Signed-off-by: Gerard Hickey <[email protected]> * Update Bug Report.yml * fix: set epoch in send_message API even if not specified Signed-off-by: Gerard Hickey <[email protected]> * feat: add message class abstracting message handling (#23) * refactor: add comments to clarify flow Signed-off-by: Gerard Hickey <[email protected]> * feat: add messages class to front end Update the handling of messages on the front end code to better control the update of messages and coordinateion with the rest of the UI. Signed-off-by: Gerard Hickey <[email protected]> * add more config support Signed-off-by: Gerard Hickey <[email protected]> * feat: message ID can be specified in send_message API Signed-off-by: Gerard Hickey <[email protected]> * add md5 module to front-end Signed-off-by: Gerard Hickey <[email protected]> * integrate message class into front-end code Signed-off-by: Gerard Hickey <[email protected]> --------- Signed-off-by: Gerard Hickey <[email protected]> * add more fields to bug issue template Signed-off-by: Gerard Hickey <[email protected]> * chore: remove packages from repo Signed-off-by: Gerard Hickey <[email protected]> * chore: add release-it config file for automated releases Signed-off-by: Gerard Hickey <[email protected]> * fix: discover zone name from /etc/config.mesh (#36) The zone name has traditionally been discovered by interogating /etc/config/services. The AREDN firmware is removing this file in favor of /etc/config.mesh/_setup.services.{dmz|nat}. This fix updates the location where the zone name is discovered. Signed-off-by: Gerard Hickey <[email protected]> Co-authored-by: Tim Wilkinson <[email protected]> * Add GitHub Actions workflow to automate releases (#40) * Added beginnings of package building code * chore: create release CI job * chore: add documentation section to changelog * chore: make build-meshchat-package a reusable workflow * chore: add build packages to release * fix: update-version.sh can now be told version to set * chore(ci): convert meshchat-api build to reusable workflow * chore(ci): set release to only work on release branch Signed-off-by: Gerard Hickey <[email protected]> * feat: Add documentation (#44) * add API docs as comments * add luadox configuation * add parameter table to API calls * create documentation to be published * add github pages artifact code * remove unused README * make publish-docs workflow reusable for releases * add troubleshooting documentation --------- Signed-off-by: Gerard Hickey <[email protected]> * chore(ci): update release pipeline Signed-off-by: Gerard Hickey <[email protected]> * feat: allow admin to set default channel (#19) A MeshChat administrator now has the ability to define the default channel that a newly logged in user is placed into. This requires that the administrator set the value `default_channel` in the configuration file. Setting `default_channel` to an empty string ('') will continue using the legacy setting of 'Everything'. Signed-off-by: Gerard Hickey <[email protected]> * add LICENSE file Signed-off-by: Gerard Hickey <[email protected]> --------- Signed-off-by: Gerard Hickey <[email protected]> Co-authored-by: Tim Wilkinson <[email protected]>
A MeshChat administrator now has the ability to define the default channel that a newly logged in user is placed into. This requires that the administrator set the value `default_channel` in the configuration file. Setting `default_channel` to an empty string ('') will continue using the legacy setting of 'Everything'. Signed-off-by: Gerard Hickey <[email protected]>
A MeshChat administrator now has the ability to define the default channel that a newly logged in user is placed into. This requires that the administrator set the value `default_channel` in the configuration file. Setting `default_channel` to an empty string ('') will continue using the legacy setting of 'Everything'. Signed-off-by: Gerard Hickey <[email protected]>
A MeshChat administrator now has the ability to define the default channel that a newly logged in user is placed into. This requires that the administrator set the value `default_channel` in the configuration file. Setting `default_channel` to an empty string ('') will continue using the legacy setting of 'Everything'. Signed-off-by: Gerard Hickey <[email protected]>
Initial pass at reorganization Reorginanization of the repository so that it is code focused vs. being focused on how the packages are built. Packaging will be moved to GitHub Actions so that every commit will create new packages that can be used for testing. Releases will be created and produce packages when a tag is committed to the repository. Signed-off-by: Gerard Hickey <[email protected]> Added beginnings of package building code Signed-off-by: Gerard Hickey <[email protected]> Updated GitHub workflow Signed-off-by: Gerard Hickey <[email protected]> Storing generated package as an artifact Signed-off-by: Gerard Hickey <[email protected]> Refactored build API workflow Signed-off-by: Gerard Hickey <[email protected]> More reorganization of files Moved MeshChat source to top level Signed-off-by: Gerard Hickey <[email protected]> feat: Set send channel when channel filter changed Signed-off-by: Gerard Hickey <[email protected]> docs: Updated README with history of MeshChat Signed-off-by: Gerard Hickey <[email protected]> fix: set epoch in send_message API even if not specified Signed-off-by: Gerard Hickey <[email protected]> feat: add message class abstracting message handling (#23) * refactor: add comments to clarify flow Signed-off-by: Gerard Hickey <[email protected]> * feat: add messages class to front end Update the handling of messages on the front end code to better control the update of messages and coordinateion with the rest of the UI. Signed-off-by: Gerard Hickey <[email protected]> * add more config support Signed-off-by: Gerard Hickey <[email protected]> * feat: message ID can be specified in send_message API Signed-off-by: Gerard Hickey <[email protected]> * add md5 module to front-end Signed-off-by: Gerard Hickey <[email protected]> * integrate message class into front-end code Signed-off-by: Gerard Hickey <[email protected]> --------- Signed-off-by: Gerard Hickey <[email protected]> Add GitHub Actions workflow to automate releases (#40) * Added beginnings of package building code * chore: create release CI job * chore: add documentation section to changelog * chore: make build-meshchat-package a reusable workflow * chore: add build packages to release * fix: update-version.sh can now be told version to set * chore(ci): convert meshchat-api build to reusable workflow * chore(ci): set release to only work on release branch Signed-off-by: Gerard Hickey <[email protected]> chore(ci): update release pipeline Signed-off-by: Gerard Hickey <[email protected]> feat: allow admin to set default channel (#19) A MeshChat administrator now has the ability to define the default channel that a newly logged in user is placed into. This requires that the administrator set the value `default_channel` in the configuration file. Setting `default_channel` to an empty string ('') will continue using the legacy setting of 'Everything'. Signed-off-by: Gerard Hickey <[email protected]>
A MeshChat administrator now has the ability to define the default channel that a newly logged in user is placed into. This requires that the administrator set the value
default_channel
in the configuration file. Settingdefault_channel
to an empty string ('') will continue using the legacy setting of 'Everything'.Signed-off-by: Gerard Hickey [email protected]
Closes #5