Commit Graph

57 Commits

Author SHA1 Message Date
Nick Krecklow
97ef92ff92
enh: update to parcel2 (#237) 2021-03-30 19:04:03 -05:00
Nick Krecklow
783b49ee15
5.5.8 2020-08-01 14:54:23 -05:00
Nick Krecklow
e194c345c2
5.5.7 2020-07-07 21:53:36 -05:00
Nick Krecklow
2ef2dc04de
5.5.6 release 2020-06-24 15:19:16 -05:00
Nick Krecklow
7b1496511f
5.5.5 2020-06-17 22:22:29 -05:00
Nick Krecklow
e6de86a9a6
release 5.5.4, update uplot dependency 1.0.8 -> 1.0.11 2020-06-16 20:26:43 -05:00
Nick Krecklow
0389c0ca6a
5.5.3 release preview 2020-06-13 00:59:27 -05:00
Nick Krecklow
a8a4c23e3a
increase package.json version to 5.5.2 2020-06-12 22:20:55 -05:00
Nick Krecklow
f73f8c26db
Update package.json & package-lock.json 2020-06-09 21:43:49 -05:00
Nick Krecklow
25d28fbbd0
downgrade uPlot to 1.0.9 to resolve gaps TypeError 2020-06-09 20:45:53 -05:00
Nick Krecklow
8ce9df7611
Update various dependencies 2020-06-08 16:41:36 -05:00
Nick Krecklow
bfd5686613
5.5.1 release preview 2020-06-08 16:33:34 -05:00
Nick Krecklow
7fd0117f74
replace uplot lib with npm package 2020-05-12 19:50:28 -05:00
Nick Krecklow
08415d74dd
5.5.0 release preview 2020-05-11 20:16:48 -05:00
Nick Krecklow
e3feaf95a9
update mcping-js dependency 1.3.1->1.4.0 2020-05-10 01:11:48 -05:00
Nick Krecklow
62f3aae6cb
5.4.1 release preview 2020-05-10 00:32:29 -05:00
Nick Krecklow
cfbd3016fd
update mcping-js dependency to 1.3.0 2020-05-10 00:28:29 -05:00
Nick Krecklow
10bd23cfa4
use mcping-js, prevent ping loops while the last is still running 2020-05-09 23:28:37 -05:00
Nick Krecklow
5f2c62c23a
beta 5.4.0 2020-05-08 02:01:17 -05:00
Nick Krecklow
49379acc77
release 5.3.1 2020-05-05 23:45:04 -05:00
Nick Krecklow
84e38c90de
release 5.3.0 2020-05-05 17:20:52 -05:00
Nick Krecklow
ca9e127e3e
replace socket.io usage with WebSockets 2020-05-05 16:49:01 -05:00
Nick Krecklow
2ee9c8b919
release 5.2.1 2020-05-01 15:29:11 -05:00
Nick Krecklow
45c34f1477
release 5.2.0 2020-04-29 04:25:08 -05:00
Hugo Manrique
cfefb7932b
Merge branch 'master' into master 2020-04-23 14:32:45 +02:00
Hugo Manrique
cabbd2bdf8
Minetrack requires Node 12.4.0+ 2020-04-23 14:28:19 +02:00
Nick Krecklow
1a4a67f478
5.1.2 release 2020-04-22 18:20:37 -05:00
Nick Krecklow
e226066a61
fix records being overwritten at boot 2020-04-21 18:51:29 -05:00
Nick Krecklow
4d13965e6b
Backend cleanup (#146)
* Add ServerRegistration, begin refactoring to match frontend

* move graphData logic into ServerRegistration

* move ping updates/history into ServerRegistration

* start updating main app entry methods

* fix default rates.updateMojangStatus

* fix record loading delays on freshly booted instances

* move database loading logic to method + callback

* use data in frontend for type lookup instead of ping

* cleanup app.js

* reorganize methods to improve flow

* avoid useless mojang updates, remove legacy fields

* rename legacy fields for consistency

* finish restructure around App model

* ensure versions are sorted by release order

* filter errors sent to frontend to avoid data leaks

* fix version listing behavior on frontend

* 5.1.0
2020-04-21 17:59:53 -05:00
Nick Krecklow
f875361bc7
Minetrack 5 (#143)
* remove unused #getServer methods, inline #roundToPoint

* replace #safeName regex with incremental ids

* remove legacy #setInterval based #updateMojangServices handling

* add Tooltip class, move faviconSize to css instead of js

* move server id assignment to ServerRegistry

* move printPort logic to formatMinecraftServerAddress, add MINECRAFT_DEFAULT_PORTS

* simplify ping tracking

* rework perc-bar tooltip to not use mousemove event

* begin moving graphing logic to GraphDisplayManager

* begin merge graph point tracking into graphDisplayManager

* centralizing graphing logic into GraphDisplayManager

* properly reset GraphDisplayManager when handling disconnects

* move individual server graph data into ServerGraph class

* constantly run sortServers loop to simplify logic

* inline #updateMojangServices method

* resize performance improvements

* remove legacy bootTime refresh behavior, require manual user refresh

* move class defs to core.js

* remove unused #isGraphDataVisible arg

* remove #toggleControlsDrawer

* dont call #updatePercentageBar in #updateServerStatus calls

* centralize caption handling

* inline #msToTime

* remove hackish seconds handling for timestamps

* reduce #forEach calls with filter/map

* safely fallback to errorMessage if errno/description does not match

* Add /images/missing_favicon.png path instead of putting base64 in js

* remove debug

* cleanup mojang status handling

* move historyPlot instance into GraphDisplayManager

* cleanup checkbox html generation

* cleanup #updateServerStatus

* fix up tooltip styling

* move jquery code out of core.js

* fix add server race condition when initially pinging servers

* send error.placeholder=true for pending pings so the frontend can discard later

* filter placeholder pings sent by the backend

* del assets/images/logo_2014.png

* move graph code into graph.js

* merge pingTracker into ServerRegistry+ServerGraph

* remove todos

* simplify getVisibleGraphData

* fix potential sortServers race condition when adding

* use #show instead of #fadeIn(0)

* remove publicConfig.json, send over socket

* update docs/CHANGELOG.md

* getOrAssign -> getOrCreateId

* dont delete graph controls when disconnected

* early work cleaning up HTML+CSS structures

* cleanup server css elements

* cleanup graph control css elements

* move base CSS color values into @media(prefers-color-scheme: light)

* move CSS magic colors to vars

* reduce duplicated CSS color rules

* inline body text color CSS

* WIP replacing jQuery calls with vanilla JS

* WIP replacing jQuery calls with vanilla JS

* replace getElementsByClass with querySelectorAll

* typeMarker -> serverTypeHTML

* use jQuery slim for remaining flot.js dependency

* merge setAllGraphVisibility into GraphDisplayManager

* break apart element update and redraw logic

* add eslint + parcel bundler

* auto lint assets/js when building

* statically serve favicons/ for faviconOverrides outside of dist/

* only send favicons when changed

* move faviconOverride behavior into entry in servers.json

* add warning to backend server files

* remove .server-favicon-missing class

* add Minetrack 5 migration guide

* add npm run build step to install.sh

* adjust package.json version to 5.0.0

* remove js references from index.html

* move logic and behavior out of site.js

* cleanup ServerRegistry methods

* prevent multiple history graph redraws

* add comments

* cleanup #addServer usage, move to App

* move graph control bindings into GraphDisplayManager

* site.js -> main.js, core.js -> servers.js

* move Tooltip/Caption into util.js

* spacing tweak

* format index.html

* ensure the frontend does not handling updateHistoryGraph events

* prevent versions/record updates if the same value

* avoid empty percbar updates, ensure versions are sorted

* only include main.js ref in index.html

* serve minified copy of font awesome directly

* bundle icons.css into main.css, remove Open Sans 400

* add new SVG logo

* update docs/CHANGELOG.md

* new design, server version grouping

* remove start.sh call from install.sh

* move graph controls into header with new button

* move #handleSettingsToggle back to graph

* fix legacy code behavior of currentVersionIndex applying globally

* fix header text color in light mode

* fix mojang status text color in light mode

* fix toggle settings and checkbox colors

* tweak button hover color

* tweak button hover color

* add new status-overlay to avoid complicated DOM management during loading

* fix initial graph rendering bug

* add comments

* update default graph tick sizes

* prevent #tooltip from overflowing page

* remove localhost spec

* prevent minor connection errors from reshuffling layout

* update CHANGELOG.md

* add message/button for manually loading historical graph on mobile devices

* send isGraphVisible to frontend to prevent alert if logToDatabase: false

* send timestamp data with record

* update docs/CHANGELOG.md

* remove clock icon

* remove 24h peak timestamp

* Only check favicon if present

* safely handle undefined/empty knownVersions in #formatMinecraftVersions

* merge config.versions and minecraft.json into minecraft_versions.json, simplify index matching behavior

* remove localhost url in socket.io config

* stub methods/linkage for FocusManager

* add #isObjectEqual hack, add event proxying to FocusManager

* wip extended stats box

* remove server-type badging

* tweak mojang unstable color

* serve socket.io-client using parcel

* fix incorrect mojang status colors

* remove legacy capitalization design

* redesign focus boxes

* update docs/CHANGELOG.md

* remove localhost ref

* color clock icon

* use background-color for hover effect, remove unused var

* improve stats focus box icons

* change mojang sessions icon to globe

* Add favorites system

* remove focus boxes

* update docs/CHANGELOG.md

* remove focus icons from font

* simplify graph related event binding

* Add Sort By button

* store current sortOption in localStorage

* update docs/CHANGELOG.md

* move magic 0 sortOption to SORT_OPTION_INDEX_DEFAULT

* remove localhost ref

* merge #settings-toggle, #sort-by and .mojang-status CSS

* remove .focus-box CSS

* use sortedServerIds for _lastSortedServers

* tweak --color-blue

* new missing_favicon design to match logo

* edit footer CSS/text, remove github icon

* replace player count diff counter with GROWTH sort option

* italize non-default sort options

* add Only Favorites button to auto sync favorites to the visible graph data

* add icons to graph control buttons

* update docs/CHANGELOG.md

* use * to denote non-default sort option instead

* remove localhost url in socket.io config

* add value highlighting to make sort by easier to read

* remove last remaining uppercase text

* remove serverTypesVisible from config.json

* simplify header CSS, fix spacing with logToDatabase=false

* fix inverted text color on highlighted values

* remove localhost url in socket.io config

* break header into rows on mobile devices

Co-authored-by: Hugo Manrique <contact@hugmanrique.me>
2020-04-19 19:27:59 -05:00
Nick Krecklow
8c5e25b259
use mc-ping-updated 0.1.1 2020-04-08 08:45:55 -05:00
Nick Krecklow
0202003aa7
4.0.5 release 2020-04-01 22:38:46 -05:00
Nick Krecklow
ad6907b0cc
Update package.json version to 4.0.3 2020-04-01 22:16:11 -05:00
Nick Krecklow
cf8f3f0dcd
update socket.io dependency 1.3.7->2.3.0, fixes security vulns 2020-04-01 21:44:35 -05:00
Nick Krecklow
afebd2ff83
4.0.2 release 2020-04-01 21:20:21 -05:00
Nick Krecklow
db4c934c8d
update mime 1.3.4->2.4.4, sqlite3 3.1.8->4.1.1, request 2.74.0->2.88.2 2020-04-01 20:42:27 -05:00
Nick Krecklow
0ac311ce37
4.0.0 2020-03-30 01:16:52 -05:00
Hugo Manrique
a90d6faf45 Update sqlite3 dependency and add caret ranges (#86)
I added caret version ranges to big packages because there are no breaking changes in a patch update. Taken from npm: Allows changes that do not modify the left-most non-zero digit in the [major, minor, patch] tuple. In other words, this allows patch and minor updates for versions 1.0.0 and above, patch updates for versions 0.X >=0.1.0, and no updates for versions 0.0.X. [More](https://docs.npmjs.com/misc/semver#caret-ranges-123-025-004)
2017-08-09 00:55:25 -05:00
Cryptkeeper!
ac0ea0d5d7 3.1.0 (#69) 2017-03-14 17:07:58 -05:00
Cryptkeeper!
2c4f3e0865 3.0.0 2017-03-11 17:44:21 -06:00
benmag1
003c3dfd01 Fix for 2 vulnerable dependency paths (#53)
Minetrack currently has a 11 vulnerable dependency paths, introducing 6 different types of known vulnerabilities.

This PR fixes  vulnerable dependencies, [ReDOS vulnerability](https://snyk.io/vuln/npm:tough-cookie:20160722) in the `tough-cookie` dependency, [remote memory exposure ](https://snyk.io/vuln/npm:request:20160119) vulnerability in the `request` dependency.

You can see [Snyk test report](https://snyk.io/test/github/Cryptkeeper/Minetrack) of this project for details. 

This PR changes `Package.json` to upgrade `request` to the newer 2.74.0 version, and will fix all the vulnerabilities listed above.

You can get alerts and fix PRs for future vulnerabilities for free by [watching this repo with Snyk](https://snyk.io/add).

Note this PR fixes all the vulnerabilities introduced trough `request` dependency, in order to be vulnerability free you will need to upgrade others dependencies as well.

Full disclosure: I'm a part of the Snyk team, just looking to spread some security goodness and awareness ;)
2016-10-25 13:14:35 -05:00
Cryptkeeper
487285775f 2.2.2, clean up documentation 2016-07-05 14:11:09 -05:00
Nick
d6bf15415f Build against mcpe-ping-fixed instead of mcpe-ping 2016-07-05 12:57:51 -05:00
Cryptkeeper
75703db9be Become version 2.2.0 2016-03-06 01:31:21 -06:00
Devin Ryan
43c284aa8a Show supported versions for PC servers
The Minetrack daemon will send a different protocol version each time
it pings a server. If a server responds with the same protocol version,
it is assumed that the version is supported, and it is shown on the
page above the server's player count.

The list of versions to be tried is stored in config.json.
At the moment, 4 versions are checked:
- 4 (Minecraft 1.7.2)
- 5 (Minecraft 1.7.10)
- 47 (Minecraft 1.8)
- 107 (Minecraft 1.9)
2016-03-01 21:09:38 -06:00
Cryptkeeper
1280226874 Bump version to 2.1.0 2016-02-23 19:29:28 -06:00
Cryptkeeper
c5e37a3f0d Increase version to 2.0.0 2016-02-01 05:36:26 -06:00
Cryptkeeper
01f977b16e Database logging via sqlite3 2015-12-10 22:06:27 -06:00
Tux
018a3072a3 Add gulpfile 2015-11-25 20:55:09 -05:00
Cryptkeeper
d64252d35d Begin work on frontend! 2015-11-08 18:34:17 -06:00