A web interface to an NMDC hub
https://code.ivysaur.me/nmdc-webfrontend/
client | ||
vendor | ||
.gitignore | ||
bindata.go | ||
Config.go | ||
go.mod | ||
go.sum | ||
main.go | ||
Makefile | ||
nmdc-webfrontend.conf.SAMPLE | ||
README.md |
nmdc-webfrontend
A web interface to an NMDC/ADC hub.
Chat in real-time on your NMDC/ADC hub using a web browser. This project forks and deprecates my earlier dcwebui2
project since Go seems to use less memory than node.
This project supercedes dcwebui, flexdc, and dcwebui2.
Upgrading from dcwebui2
- The configuration file content is identical between
nmdc-webfrontend
1.0.0 anddcwebui2
1.3.0, but please now ensure it's valid JSON instead of arbitrary javascript. This means no assignment, use double-quoted strings, and no comments. - Future changes to the configuration file since
nmdc-webfrontend
1.0.0 are backward compatible (see the changelog for more details).
Developing
- Install Go (>= 1.11), Node.js, NPM, and 7-Zip (
p7zip-full
on Debian) - Download the source code
-
git clone https://git.ivysaur.me/code.ivysaur.me/nmdc-webfrontend.git
; or -go get code.ivysaur.me/nmdc-webfrontend
; or - download and extract a source archive - Install dependencies:
sudo make deps
- Build:
make
- Optional: Set
web.external_webroot: true
in the config file for unminified development
Changelog
2017-11-26 1.3.0
- Update libnmdc to 0.16 (adds ADC hub support)
- Configuration: The
hub.port
property is now optional. You can specify a full URI in thehub.address
property instead.
2017-11-14 1.2.3
- Update libnmdc to 0.15
2017-10-28 1.2.2
- Enhancement: Simplify build process
- Fix an issue with closing PM tabs
2017-10-16 1.2.1
- Enhancement: Increase scrollback buffer size
- Fix an issue with missing
contented
upload link once logged in - Fix a cosmetic issue with
(0)
appearing in page title
2017-10-15 1.2.0
- Feature: Add
contented
integration (setapp.contented_server
in config file) - Fix a cosmetic issue with the menu icon on devices without unicode font coverage
2017-02-11 1.1.4
- Update libnmdc to 0.14
2017-02-11 1.1.3
- Feature: Display user IP address on hover, if available
- Enhancement: Allow clicking on popup notifications
- Enhancement: Only show 'popups enabled' notification when enabling for the first time, not persistent page load
- Update libnmdc to 0.13
- Fix a cosmetic issue with not displaying non-zero user share sizes
2017-02-06 1.1.2
- Autodetect 'extern', no need to include it in config files
- Enhancement: Remove redundant request, for a faster page load
- Display server version number in log file and in response headers
- Fix a cosmetic issue with spacing around user count in page title
2017-02-06 1.1.1
- Fix an issue with malformed content in minified build
2017-02-06 1.1.0
- Feature: Remember last username/password for login; remember last "show joins/parts" status
- Feature: Display user details on hover (description, email, client tag, share size)
- Feature: Optional desktop notifications for background PMs (not possible in incognito)
- Feature: Automatically reconnect with the same username/password if connection was lost
- Feature: Re-enter last message (Ctrl+Up, Ctrl+Down)
- Feature: Set custom date/time format (Minutes, Seconds, Full), remembered for next session
- Feature: Clickable magnet links
- Feature: Display unread main-chat message count in the page title if the window is inactive
- Feature: Add warning message when closing tab while still connected (optional preference, disabled by default, will be remembered).
- Feature: Admin option to load a custom favicon (set
web.custom_favicon=true
and place afavicon.ico
in the current directory) - Feature: Admin option to use external web resources (set
web.external_webroot=true
and use the /client/ directory) - Enhancement: Higher resolution favicon
- Enhancement: Display operators in green in the user list
- Enhancement: Enable spellcheck for text input once logged in
- Enhancement: Prevent sending referrer to remote URLs
- Enhancement: Display joins/parts and connection/disconnection messages in PM tabs
- Enhancement: Support Shift+Tab to autocomplete backward
- Enhancement: Support unread status for the main tab
- Enhancement: Improve page load time via minification
- Remove unused options from the config file
- Update socket.io to 1.7.2
- Update libnmdc to 0.12
- Add margin between bottom of the text area and the text input box
- Fix a cosmetic issue with collapsing consecutive spaces in posted messages
- Fix a cosmetic issue with text size adjustment on mobile devices
- Fix a cosmetic issue with clearing the screen on reconnection
- Fix a cosmetic issue with not clearing the userlist on certain types of network error
- Fix a cosmetic issue with closed PM tabs reappearing in some cases
- Fix a cosmetic issue with marking all PM tabs as read when switching to a single one
2016-11-29 1.0.2
- Rebuild with libnmdc 0.11
- Fix an issue with not setting a version in the client tag
2016-10-08 1.0.1
- Fix an issue with backward compatibility with
dcwebui2
configuration file format
2016-10-08 1.0.0
- Port
dcwebui2
from Node.js (Javascript) to Go - Fix a cosmetic issue with not clearing userlist on disconnection