code.ivysaur.me
nmdc-webfrontend
A web interface to an NMDC/ADC hub.
Chat in real-time on your NMDC/ADC hub using a web browser.
Relationship to other projects
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
; orgo 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. - ⬇️ nmdc-webfrontend-1.3.0-win32.7z (1.44 MiB)
- ⬇️ nmdc-webfrontend-1.3.0-src.tar.xz (64.81 KiB)
- ⬇️ nmdc-webfrontend-1.3.0-linux64.tar.xz (1.69 MiB)
2017-11-14 1.2.3
- Update libnmdc to 0.15
- ⬇️ nmdc-webfrontend-1.2.3-win32.7z (1.41 MiB)
- ⬇️ nmdc-webfrontend-1.2.3-src.tar.xz (64.72 KiB)
- ⬇️ nmdc-webfrontend-1.2.3-linux64.tar.xz (1.66 MiB)
2017-10-28 1.2.2
- Enhancement: Simplify build process
- Fix an issue with closing PM tabs
- ⬇️ nmdc-webfrontend-1.2.2-win32.7z (1.41 MiB)
- ⬇️ nmdc-webfrontend-1.2.2-src.tar.xz (64.72 KiB)
- ⬇️ nmdc-webfrontend-1.2.2-linux64.tar.xz (1.66 MiB)
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 - ⬇️ nmdc-webfrontend-1.2.1-win32.7z (1.39 MiB)
- ⬇️ nmdc-webfrontend-1.2.1-src.tar.xz (65.74 KiB)
- ⬇️ nmdc-webfrontend-1.2.1-linux64.tar.xz (1.64 MiB)
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
- ⬇️ nmdc-webfrontend-1.2.0-win32.7z (1.39 MiB)
- ⬇️ nmdc-webfrontend-1.2.0-src.tar.xz (65.69 KiB)
- ⬇️ nmdc-webfrontend-1.2.0-linux64.tar.xz (1.64 MiB)
2017-02-11 1.1.4
- Update libnmdc to 0.14
- ⬇️ nmdc-webfrontend-1.1.4-win64.7z (1.36 MiB)
- ⬇️ nmdc-webfrontend-1.1.4-win32.7z (1.25 MiB)
- ⬇️ nmdc-webfrontend-1.1.4-src.tar.xz (65.53 KiB)
- ⬇️ nmdc-webfrontend-1.1.4-linux64.tar.xz (1.50 MiB)
- ⬇️ nmdc-webfrontend-1.1.4-linux32.tar.xz (1.41 MiB)
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
- ⬇️ nmdc-webfrontend-1.1.3-win64.7z (1.36 MiB)
- ⬇️ nmdc-webfrontend-1.1.3-win32.7z (1.25 MiB)
- ⬇️ nmdc-webfrontend-1.1.3-src.tar.xz (65.50 KiB)
- ⬇️ nmdc-webfrontend-1.1.3-linux64.tar.xz (1.50 MiB)
- ⬇️ nmdc-webfrontend-1.1.3-linux32.tar.xz (1.41 MiB)
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
- ⬇️ nmdc-webfrontend-1.1.2-win64.7z (1.36 MiB)
- ⬇️ nmdc-webfrontend-1.1.2-win32.7z (1.25 MiB)
- ⬇️ nmdc-webfrontend-1.1.2-src.tar.xz (65.42 KiB)
- ⬇️ nmdc-webfrontend-1.1.2-linux64.tar.xz (1.50 MiB)
- ⬇️ nmdc-webfrontend-1.1.2-linux32.tar.xz (1.41 MiB)
2017-02-06 1.1.1
- Fix an issue with malformed content in minified build
- ⬇️ nmdc-webfrontend-1.1.1-win64.7z (1.36 MiB)
- ⬇️ nmdc-webfrontend-1.1.1-win32.7z (1.25 MiB)
- ⬇️ nmdc-webfrontend-1.1.1-src.tar.xz (65.39 KiB)
- ⬇️ nmdc-webfrontend-1.1.1-linux64.tar.xz (1.50 MiB)
- ⬇️ nmdc-webfrontend-1.1.1-linux32.tar.xz (1.41 MiB)
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
- ⬇️ nmdc-webfrontend-1.1.0-win64.7z (1.36 MiB)
- ⬇️ nmdc-webfrontend-1.1.0-win32.7z (1.25 MiB)
- ⬇️ nmdc-webfrontend-1.1.0-src.tar.xz (65.39 KiB)
- ⬇️ nmdc-webfrontend-1.1.0-linux64.tar.xz (1.50 MiB)
- ⬇️ nmdc-webfrontend-1.1.0-linux32.tar.xz (1.41 MiB)
2016-11-29 1.0.2
- Rebuild with libnmdc 0.11
- Fix an issue with not setting a version in the client tag
- ⬇️ nmdc-webfrontend-1.0.2-win64.7z (1.34 MiB)
- ⬇️ nmdc-webfrontend-1.0.2-win32.7z (1.23 MiB)
- ⬇️ nmdc-webfrontend-1.0.2-src.tar.xz (54.28 KiB)
- ⬇️ nmdc-webfrontend-1.0.2-linux64.tar.xz (1.48 MiB)
- ⬇️ nmdc-webfrontend-1.0.2-linux32.tar.xz (1.39 MiB)
2016-10-08 1.0.1
- Fix an issue with backward compatibility with
dcwebui2
configuration file format - ⬇️ nmdc-webfrontend-1.0.1-win64.7z (1.35 MiB)
- ⬇️ nmdc-webfrontend-1.0.1-win32.7z (1.23 MiB)
- ⬇️ nmdc-webfrontend-1.0.1-src.tar.xz (54.25 KiB)
- ⬇️ nmdc-webfrontend-1.0.1-linux64.tar.xz (1.48 MiB)
- ⬇️ nmdc-webfrontend-1.0.1-linux32.tar.xz (1.39 MiB)
2016-10-08 1.0.0
- Port
dcwebui2
from Node.js (Javascript) to Go - Fix a cosmetic issue with not clearing userlist on disconnection
- ⬇️ nmdc-webfrontend-1.0.0-win64.7z (1.34 MiB)
- ⬇️ nmdc-webfrontend-1.0.0-win32.7z (1.23 MiB)
- ⬇️ nmdc-webfrontend-1.0.0-src.tar.xz (54.23 KiB)
- ⬇️ nmdc-webfrontend-1.0.0-linux64.tar.xz (1.48 MiB)
- ⬇️ nmdc-webfrontend-1.0.0-linux32.tar.xz (1.39 MiB)