Giter VIP home page Giter VIP logo

stately's People

Contributors

jh0ker avatar lloydtorres avatar poussinou avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

stately's Issues

No using WorkManager while scheduling reliable asynchronous tasks

Dear Developer!

My name is Alejandro Mazuera-Rozo, I am a PhD Student at Universidad de los Andes, and at Università della Svizzera italiana. I am part of a research on the usage of network libraries within Android apps. As result of this we identified some code locations that might have network related problems.

In this case, we address the code locations that are related to a potential issue while scheduling reliable asynchronous tasks. As you might know, WorkManager is an API that makes it easy to schedule such tasks which are expected to run even if the app exits or the device restarts. The WorkManager API is a suitable and recommended replacement for all previous Android background scheduling APIs, including FirebaseJobDispatcher, GcmNetworkManager, and, in this particular scenario, Job Scheduler.

In order to address this issue we recommend you to visit:

  1. https://developer.android.com/topic/libraries/architecture/workmanager
  2. https://android-developers.googleblog.com/2019/11/unifying-background-task-scheduling-on.html

Potential Code Location missing WorkManager

JobScheduler scheduler =
(JobScheduler) c.getSystemService(Context.JOB_SCHEDULER_SERVICE);

Missing response code validation after performing network operation

Dear Developer!

My name is Alejandro Mazuera-Rozo, I am a PhD Student at Universidad de los Andes, and at Università della Svizzera italiana. I am part of a research on the usage of network libraries within Android apps. As result of this we identified some code locations that might have network related problems.

In this case, we present the code locations that are related to a missing validation of the response code when performing network operations. When you make an HTTP request, your application should validate the response status code before manipulating it, otherwise it could cause misbehaviour within the app.

In order to address this issue we recommend you to visit:

  1. https://developer.android.com/training/volley/requestqueue

Potential Code Location missing Response Code validation

  1. When a new request is being added to the Volley queue:

if (!DashHelper.getInstance(this).addRequest(stringRequest)) {

  1. There is no previous validation of statusCode when assigning response inside the onResponse() method
    NSStringRequest stringRequest = new NSStringRequest(getApplicationContext(),
    Request.Method.GET, targetURL,
    new Response.Listener<String>() {
    CensusHistory censusResponse = null;
    @Override
    public void onResponse(String response) {
    Persister serializer = new Persister();
    try {
    censusResponse = serializer.read(CensusHistory.class, response);

[F-Droid] Projection Metadata and Description.

As soon as the Crashlytics removal is merged, the last thing to get Stately onto F-Droid is to add the necessary images/metadata/screenshots.
See: https://f-droid.org/en/docs/All_About_Descriptions_Graphics_and_Screenshots/#in-the-applications-source-repository
Those additions could be used by @lloydtorres to also publish on the Google play store.
There are two options, namely tripple-T and fastlane. I personally prefer fastlane.
Since I personally can't access my main dev machine, I can't provide the necessary patches in the next few days. @lloydtorres I couldn't find anything in the repo, do you have some kind of banner already?

Improved BBCode parsing

In Stately 1.1.0, BBCode styling can easily break if the hierarchy isn't correct (e.g. [b][u]whatever[/b][/u]). There is also no support for [color] and [spoiler], both of which can be used in the region factbook, RMB and/or WA (ref: The Complete List of NSCodes). Finally, raw links posted by a user cannot be interacted with. Fix this.

Missing response content validation after performing network operation

Dear Developer!

My name is Alejandro Mazuera-Rozo, I am a PhD Student at Universidad de los Andes, and at Università della Svizzera italiana. I am part of a research on the usage of network libraries within Android apps. As result of this we identified some code locations that might have network related problems.

In this case, we address the code locations that are related to a potential issue concerning a missing validation of the response content against expected values. It would be a good practice to validate whether external server’s responses are correct, use validation rules.

In order to address this issue we recommend you to visit:

  1. https://developer.android.com/training/volley/requestqueue

Potential Code Location missing Response Content validation

  1. When a new request is being added to the Volley queue:

if (!DashHelper.getInstance(this).addRequest(stringRequest)) {

  1. There is no validation when assigning response inside the onResponse() method
    NSStringRequest stringRequest = new NSStringRequest(getApplicationContext(),
    Request.Method.GET, targetURL,
    new Response.Listener<String>() {
    CensusHistory censusResponse = null;
    @Override
    public void onResponse(String response) {
    Persister serializer = new Persister();
    try {
    censusResponse = serializer.read(CensusHistory.class, response);

No Dispatches/Factbooks

Stately doesn't seem to support Factbooks or Dispatches, making it nearly unusuable for roleplay in my region.

Screenshot_20231105-141051_Stately.png

Screenshot_20231105-141056_Stately.png

Can't login anymore

I recently changed my password. And it works fine on the website. But if i try to login with that same combination on the app it says "invalid nation name or password".

I tried to delete the app data and to reinstall the app but the problem persists. Does someone have an idea how to solve that problem?

Same behaviour with another nation i yesterday created which i never used with stately. Login on Nationstaates works but on stately not.

I'm using Keepass2Android could this be an problem?

Network connection may not be being verified in project

Dear Developer!

My name is Camilo Escobar, I am a PhD Student at Universidad de los Andes, Colombia. I am part of a research on the usage of network libraries within android apps. As a result of this we identified that there is a missing validation of network connection within the project since some network operations are being performed in the application.

As you might know, a device may not be connected to a network. In order to get such information see https://developer.android.com/reference/android/net/ConnectivityManager. Therefore it is recommended for the app to identify whether the device has a network connection available before performing a network operation.

In order to address this issue we recommend you to visit:

  1. https://developer.android.com/training/basics/network-ops/managing
  2. https://developer.android.com/reference/android/net/ConnectivityManager.NetworkCallback

Note: public NetworkInfo getActiveNetworkInfo () returns details about the currently active default data network. When connected, this network is the default route for outgoing connections. You should always check NetworkInfo#isConnected() before initiating network traffic, it requires Manifest.permission.ACCESS_NETWORK_STATE. However, isConnected() was deprecated in API level 29, one should instead use the ConnectivityManager.NetworkCallback API to learn about connectivity changes, to be more specific the onAvailable() method.

Stately Marked as 18+

On the Google Play Store, Stately is marked as R18+ for 'References to Sexual Violence, Online Interactivity, Users Interact'. I believe this was chosen incorrectly and should probably be fixed, because it blocks any minors from downloading the app.
Screenshot 2023-11-07 at 09 38 42

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.