|
|
@ -287,12 +287,17 @@ None. |
|
|
|
## Supported browser engines |
|
|
|
## Supported browser engines |
|
|
|
|
|
|
|
|
|
|
|
* Gecko (Firefox): works in v132, both with JS enabled (offline mode) and with JS disabled (plain old client-server mode). |
|
|
|
* Gecko (Firefox): works in v132, both with JS enabled (offline mode) and with JS disabled (plain old client-server mode). |
|
|
|
* Blink (e.g. Chromium and Chromium-based browsers): not checked, should work in reasonably recent versions, |
|
|
|
Should work in offline mode starting with Firefox 63 (2018); should work in plain old client-server mode in all versions, |
|
|
|
both with JS enabled (offline mode) and with JS disabled (plain old client-server mode). |
|
|
|
although the design in Firefox 51 (2017) and older will probably not look very good due to the lack of the recent CSS features. |
|
|
|
|
|
|
|
* Blink (e.g. Chromium and Chromium-based browsers): superficially checked in Chromium 130, basic functionality seems to work. |
|
|
|
|
|
|
|
Should work in offline mode starting with Chrome 67 (2018); should work in plain old client-server mode in all versions, |
|
|
|
|
|
|
|
although the design in Chrome 56 (2017) and older will probably not look very good due to the lack of the recent CSS features. |
|
|
|
* WebKit (e.g. qutebrowser and notably Safari): not checked; should **not** work in offline mode, |
|
|
|
* WebKit (e.g. qutebrowser and notably Safari): not checked; should **not** work in offline mode, |
|
|
|
because WebKit does not fully implement decade-old standard which Gecko and Blink supported since 2018: |
|
|
|
because WebKit does not fully implement decade-old standard which Gecko and Blink supported since 2018: |
|
|
|
https://github.com/WebKit/standards-positions/issues/97. |
|
|
|
https://github.com/WebKit/standards-positions/issues/97. |
|
|
|
Everything should still work in online mode, falling back on client-server communication. |
|
|
|
Everything should still work in online mode, falling back on client-server communication, |
|
|
|
|
|
|
|
except that the design in Safari before 10.1 (2017) will not look very good (but will still be functional), |
|
|
|
|
|
|
|
and will probably become disfunctional in Safari before 3.1 (2008). |
|
|
|
* Servo: checked, does **not** work in nightly as of 2024-11-20, and I don't have an opportunity to figure out why |
|
|
|
* Servo: checked, does **not** work in nightly as of 2024-11-20, and I don't have an opportunity to figure out why |
|
|
|
(it's not packaged for Alpine (...yet), their regular Linux builds don't work on Alpine, |
|
|
|
(it's not packaged for Alpine (...yet), their regular Linux builds don't work on Alpine, |
|
|
|
so I had to check it on someone else's Windows machine). |
|
|
|
so I had to check it on someone else's Windows machine). |
|
|
@ -315,10 +320,6 @@ None. |
|
|
|
* Implement error handling and handling of incorrect / malformed game states (since they come from the client). |
|
|
|
* Implement error handling and handling of incorrect / malformed game states (since they come from the client). |
|
|
|
* Improve UI for large boards (disable autoplayers when board is too large, |
|
|
|
* Improve UI for large boards (disable autoplayers when board is too large, |
|
|
|
hide "enable autoplayer" buttons, provide clear indication to the user instead). |
|
|
|
hide "enable autoplayer" buttons, provide clear indication to the user instead). |
|
|
|
* Target older ES versions on the frontend, |
|
|
|
|
|
|
|
so that offline-only game can work in all browsers fully supporting Web Components |
|
|
|
|
|
|
|
(i.e. Blink-based and Firefox not older than 2018); |
|
|
|
|
|
|
|
right now ES2022 is targeted. |
|
|
|
|
|
|
|
* Figure out better API for game board, |
|
|
|
* Figure out better API for game board, |
|
|
|
`board.get(row, column)` and `board.get(row, column)` seemed to be a good way to encapsulate readonly state, |
|
|
|
`board.get(row, column)` and `board.get(row, column)` seemed to be a good way to encapsulate readonly state, |
|
|
|
but they became very inconvenient as the codebase grew and became more complex, |
|
|
|
but they became very inconvenient as the codebase grew and became more complex, |
|
|
|