nmdc-webfrontend/README.md

107 lines
5.1 KiB
Markdown
Raw Normal View History

2018-12-31 05:33:13 +00:00
# nmdc-webfrontend
2017-11-26 06:55:45 +00:00
A web interface to an NMDC/ADC hub.
2016-10-08 03:33:54 +00:00
2017-11-26 06:55:45 +00:00
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.
2016-10-08 03:33:54 +00:00
2018-12-31 05:33:13 +00:00
This project supercedes [dcwebui](https://code.ivysaur.me/dcwebui/), [flexdc](https://code.ivysaur.me/flexdc/), and [dcwebui2](https://code.ivysaur.me/dcwebui2/).
2016-10-08 03:33:54 +00:00
2018-12-31 05:33:13 +00:00
## Upgrading from `dcwebui2`
2016-10-08 03:33:54 +00:00
2018-12-31 05:33:13 +00:00
- 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).
2018-12-31 05:33:13 +00:00
## Developing
2018-12-31 05:33:13 +00:00
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
2018-12-31 05:33:13 +00:00
3. Install dependencies: `sudo make deps`
4. Build: `make`
5. Optional: Set `web.external_webroot: true` in the config file for unminified development
2018-12-31 05:33:13 +00:00
## Changelog
2016-10-08 03:33:54 +00:00
2017-11-26 06:55:45 +00:00
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 06:57:44 +00:00
2017-11-14 1.2.3
- Update libnmdc to 0.15
2017-10-28 00:17:50 +00:00
2017-10-28 1.2.2
- Enhancement: Simplify build process
- Fix an issue with closing PM tabs
2017-10-16 05:47:32 +00:00
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 09:06:35 +00:00
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 01:14:19 +00:00
2017-02-11 1.1.4
- Update libnmdc to 0.14
2017-02-11 00:13:09 +00:00
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 03:39:27 +00:00
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 00:45:22 +00:00
2017-02-06 1.1.1
- Fix an issue with malformed content in minified build
2017-02-05 23:24:50 +00:00
2017-02-06 1.1.0
2017-02-05 10:10:55 +00:00
- 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)
2017-02-05 23:24:50 +00:00
- Feature: Optional desktop notifications for background PMs (not possible in incognito)
2017-02-05 10:10:55 +00:00
- Feature: Automatically reconnect with the same username/password if connection was lost
2017-02-05 10:11:52 +00:00
- Feature: Re-enter last message (Ctrl+Up, Ctrl+Down)
2017-02-05 10:10:55 +00:00
- 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).
2017-02-05 23:24:50 +00:00
- 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)
2017-02-05 10:10:55 +00:00
- 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
2017-02-05 23:24:50 +00:00
- Enhancement: Improve page load time via minification
- Remove unused options from the config file
2017-02-05 10:11:52 +00:00
- Update socket.io to 1.7.2
- Update libnmdc to 0.12
2017-02-05 10:10:55 +00:00
- 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 07:19:29 +00:00
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 04:00:25 +00:00
2016-10-08 1.0.1
- Fix an issue with backward compatibility with `dcwebui2` configuration file format
2016-10-08 03:33:54 +00:00
2016-10-08 1.0.0
- Port `dcwebui2` from Node.js (Javascript) to Go
- Fix a cosmetic issue with not clearing userlist on disconnection