A web interface to an NMDC hub https://code.ivysaur.me/nmdc-webfrontend/
Go to file
2018-12-31 18:33:13 +13:00
client build: replace IIFEMODE/sed with cat in makefile 2017-10-28 11:40:09 +13:00
vendor build: remove dep meta files, readd vendor directory 2018-12-31 18:22:33 +13:00
.gitignore vendor: commit existing golang vendor directory 2018-12-31 18:21:15 +13:00
bindata.go regenerate bindata.go 2017-10-28 13:27:19 +13:00
Config.go config: hub.port is optional, allow putting full URL in hub.address field 2017-11-26 19:54:03 +13:00
go.mod build: convert to Go Modules 2018-12-31 18:22:13 +13:00
go.sum build: convert to Go Modules 2018-12-31 18:22:13 +13:00
main.go config: hub.port is optional, allow putting full URL in hub.address field 2017-11-26 19:54:03 +13:00
Makefile build: remove Dep references in Makefile 2018-12-31 18:30:05 +13:00
nmdc-webfrontend.conf.SAMPLE modernise the sample configuration file 2017-11-26 19:56:43 +13:00
README.md doc: top-level README.md 2018-12-31 18:33:13 +13:00

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 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