111 lines
5.1 KiB
Markdown
111 lines
5.1 KiB
Markdown
# 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](https://code.ivysaur.me/dcwebui/), [flexdc](https://code.ivysaur.me/flexdc/), and [dcwebui2](https://code.ivysaur.me/dcwebui2/).
|
|
|
|
### Upgrading from `dcwebui2`
|
|
|
|
- The configuration file content is identical between `nmdc-webfrontend` 1.0.0 and `dcwebui2` 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
|
|
|
|
1. Install Go (>= 1.11), Node.js, NPM, and 7-Zip (`p7zip-full` on Debian)
|
|
2. 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
|
|
3. Install dependencies: `sudo make deps`
|
|
4. Build: `make`
|
|
5. 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 the `hub.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 (set `app.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 a `favicon.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
|