rsg-group / rsg-chess-mobile Goto Github PK
View Code? Open in Web Editor NEWCross-platform mobile chess app, built by React Native and based on a custom API.
Home Page: https://rsg-chess.now.sh/
Cross-platform mobile chess app, built by React Native and based on a custom API.
Home Page: https://rsg-chess.now.sh/
https://steemit.com/utopian-io/@menoski/additional-feature-to-rsg-chess-hide-status-bar
Some folks requested this feature and I've added it. The status bar in RSG Chess 2.O automatically hides when you start playing. Now I can add option in the settings if someone wants to return it back.
Firebase is doing great job with reporting bugs so I can fix them.
This time I got the following issues:
The logs reveal the bugs occur mostly on Galaxy S5 with Android 4.4.2. I'll wait to see if the bug continues to happen on newer devices.
Anyways there are already open (and some closed) React Native Github issues for the both errors. They haven't been resolved yet but some workarounds are provided.
debuggable false
option so if you're trying to run it in some kind of debug mode it may throw this issue.(I have enabled multidex, so it could cause these problems...)
Integrate these changes and prepare for Google Play store:
RSG-Group/Chess@b43ccb5
RSG-Group/Chess@a7fdf75
RSG-Group/Chess@11ce1e1
RSG-Group/Chess#1
UPDATE:
And also RSG-Group/Chess@73bab88
We will support multiple languages in 2.O
and newer versions of RSG Chess mobile.
Starting with English, Russian & Bulgarian in 2.0.0-beta.5
we will continue to add new languages in every major update. My plans are we to support: English, Russian, Bulgarian, German, Spanish, Italian, French, Greek, Japanese and some additional languages as of 3.O
Programmatically we will create one big set of strings in the config.js
file as JS objects. Then the app will detect the preferred language using navigator.globalization.getPreferredLanguage
provided by the globalization plugin. This data will be stored in the component's state so the preferences can be easily customized by the user.
It freezes on the loading screen on some devices. I will try to find out what's going on. Maybe there are problems with the API levels or just RSG Chess' React SPA cannot run on Android KitKat.
For more information check out these:
The reports for 29th June - 1 July from Firebase showed new bug in RSG Chess:
undefined is not an object (evaluating 'o.x'), stack:
<unknown>@556:4165 <unknown>@556:4145 <unknown>@556:4091 warning@556:4069 <unknown>@556:2951
simulateAndFilter@556:2731 getValidMoves@556:14119 checkmate@556:3207 moveSelected@556:2546 handlePress@306:3766
touchableHandlePress@178:1279 _performSideEffectsForTransition@167:8505 _receiveSignal@167:7292 touchableHandleResponderRelease@167:4757
g@41:296 invokeGuardedCallback@41:496 invokeGuardedCallbackAndCatchFirstError@41:611 A@41:2410
D@41:3172 U@41:2969 <unknown>@41:15497 batchedUpdates@41:135715 Ie@41:14848 ze@41:15343 receiveTouches@41:16180
value@18:3582 <unknown>@18:1067 value@18:3009 value@18:1039
July 1st, 12:15 PM GMT
in version 2.0.1
and is predicted to occur around 400 times in 10 000 sessions...That means the bug isn't too rare, and can be reproduced, but I'm still not able to find it...
Also the additional event logging shows the bug is somehow related to the pawn promotion:
I tried to follow the callstack in index.android.bundle
release file, but It seems the columns of the characters reported with the callstack are different than the actual ones in index.android.bundle
.
I'm pretty sure o.x
stands for king.x
in https://github.com/RSG-Group/RSG-Chess-API/blob/master/rsg-chess-api/src/game.js#L231
...
if (xxx && xxx.color !== color) {
xxx.getValidMoves().forEach(function (mmm) {
if (mmm.x === king.x && mmm.y === king.y) result = true
})
}
...
However there are few another places in the minified bundle where o.x
is used:
More information:
I translated the app to Bulgarian and Russian (#8). Everything worked in phoneGap on Windows, but when I changed the language of physical phone RSG Chess wasn't able to detect it. There are two main POSSIBLE problems:
// such as:
let lang = language.value.split(/\s*-\s*/g)[0]
if (_.includes(Object.keys(strings.languages), lang)) {
this.setState({ lang })
}
I'm gonna test the posibble problems and find out what's actually happening.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.