Code Monkey home page Code Monkey logo

mab-lab's People

Contributors

appspell avatar evgenru avatar gabrielcastro avatar klinger-ofir avatar marchbot avatar medialoha avatar xeno010 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  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mab-lab's Issues

Improve issues view

The issue list view is not really clear. Ideas :

  • Instead of filtering state, split it in tabs (one tab by state)
  • Do the same with package name (ie one tab, one application)
  • We should be able to group reports manually

Any ideas is welcome !

Operations bug UNHANDLED ACTION REQUESTED

When I try to delete (or change status of) a group of bug reports or delete a bug report using an options in detailed view - nothing happens, tough all operations work when I do them on a single report.
JS console log outputs nothing, and all messages look as if the operation succeeded.

Missing users table prefix in db install script

In /install/db-install.sql file there an error. In line 12 is:
INSERT INTO mabl_users (user_name, user_password, user_email) VALUES ('admin', MD5('password'), '');
should be:
INSERT INTO %PREFIX%users (user_name, user_password, user_email) VALUES ('admin', MD5('password'), '');

mabl_users -> %PREFIX%users

formUriBasicAuthLogin & formUriBasicAuthPassword?

I have MAB-LAB up and running on my hosted server. Well done. The instructions were easy to follow.

As for my android app, I included the settings as suggested in the instructions:

Configure your app

MAB-LAB support GET, POST and PUT method. We chose to use the third and then the most tested.

@ReportsCrashes (
formKey = "", // This is required for backward compatibility but not used
formUri = "http://your-web-server/path/to/mab-lab/report.php",
httpMethod = org.acra.sender.HttpSender.Method.PUT,
reportType = org.acra.sender.HttpSender.Type.JSON,
...

But I was surprised to see no settings for a reporter username and password. Did I miss a step? What about the formUriBasicAuthLogin & formUriBasicAuthPassword settings?

Problem with loading some info from crash

Hello I found problem in you code and solved it:

commit a2dc21345da0684441d1050dbff685bab9b0d42b
Author: Michał Rowicki <[email protected]>
Date:   Wed Nov 20 17:38:38 2013 +0100

    Solve problem with parsing JSON, where keys were compared to UPPER_CASE values. This resulted in ie not loading the information about features.

diff --git a/includes/reporthelper.class.php b/includes/reporthelper.class.php
index e8bf76d..188efb3 100644
--- a/includes/reporthelper.class.php
+++ b/includes/reporthelper.class.php
@@ -81,12 +81,14 @@ class ReportHelper {

                $values = array();
                foreach ($json as $k=>$v) {
-                       $k = strtolower($k);
+^M

                        if (in_array($k, self::$mSerializedFields)) {
-                                $values[$k] = base64_encode(serialize($v));
+                $k = strtolower($k);^M
+                               $values[$k] = base64_encode(serialize($v));^M

                        } else {
+                $k = strtolower($k);^M
                                // report_id is translate to report_key
                                if (strcmp($k, 'report_id')==0) {
                                        $values['report_key'] = DBHelper::escapeString($v);

"Need to be fixed" issues count is wrong

Hi:

First of all, thanks for creating this amazing tool, I think it's one of the most advanced ACRA reporters.

I think that the "Need to be fixed" issue count is wrong, because it also includes the already resolved ones. Maybe I understood the concept in a wrong way, but I think that once an issue is marked as resolved, it doesn't need to be fixed.

I fixed it on my instance by editing pages/issues_states_box.php, replacing:

ISSUE_STATE.'<>'.ISSUE_STATE_ARCHIVED

with:

ISSUE_STATE.'<>'.ISSUE_STATE_ARCHIVED.' AND '.ISSUE_STATE.'<>'.ISSUE_STATE_CLOSED

Thanks for your time!

Minor error in HTTP basic authentication example

There is a minor error in the installation tutorial (which is outside of github). In the HTTP basic authentication. example the formUri is wrong. It is formUri = "http://your-web-server/path/to/mab-lab/report.php" but it should be formUri = "http://your-web-server/path/to/mab-lab/report/report.php"

Thanks for this great ACRA backend.

Syncing reports

The idea is having mabl installed in a private network and in a public area the report.php which store the reports into DB. Then mabl simply retreive the new reports if needed.

Some warning - after fresh install - caused by empty DB

Warning: Division by zero in /pages/home.php on line 69
Invalid argument supplied for foreach() in /pages/home.php on line 59

Line: 58

    $max = 0; $sum = 0;
    foreach ($res as $row) {
        $count =& $row[0];

        if ($count>$max)
            $max = $count;

        $sum += $count;
    }
        ?>
    <li>Reports per installation</li>
    <li>Avg <?php echo round($sum/sizeOf($res), 2); ?> / Max <?php echo $max; ?></li>

some fix:

    $count = sizeOf($res);
    $avg = 0;
    $max = 0; $sum = 0;
    if($count > 0)
    {
        $avg = round($sum/sizeOf($res), 2);
        foreach ($res as $row) {
            $count =& $row[0];

            if ($count>$max)
                $max = $count;

            $sum += $count;
        }
    }
        ?>
    <li>Reports per installation</li>
    <li>Avg <?php echo $avg; ?> / Max <?php echo $max; ?></li>

"UNHANDLED ACTION REQUESTED" in new reports box

Noticed this bug in the index page. Though it loads correctly first as a part of the index page, for some reason it tries to get it again and fails. I confirmed this using the developer tools in Chrome.

DB Setup

Hi there,

seems to me that there are some problems with DB setup.

The install/db-install.sql creates version 4(?) tables but no functions or triggers.
The update-to-4/db-update.sql alter the tables, with errors being already updated, and add functions and triggers (with errors).
The update-to-5/db-update.sql alter the tables and drop functions and triggers.

Meanwhile the app, in DBHelper::deleteReports(), still call the missing function FctDeleteReport...

What's going on ?

Has anyone did a successful clean install from GitHub project ?

Maybe I didn't get something...

Regards
Sergio

Issues grouping wrong

for example:

Report A - Stack Trace:

java.lang.NullPointerException
at  xxx.removeDownloadLinks (DownloadLinkCollector.java : 141)
at  xxx.removeDownloadsOutStatus (DownloadLinkCollector.java : 134)
at  xxx$3.onClick (DownloadAddActivity.java : 172)
at  com.android.internal.app.AlertController$AlertParams$3.onItemClick (AlertController.java : 963)
at  android.widget.AdapterView.performItemClick (AdapterView.java : 298)
at  android.widget.AbsListView.performItemClick (AbsListView.java : 1128)
at  android.widget.AbsListView$PerformClick.run (AbsListView.java : 2812)
at  android.widget.AbsListView$1.run (AbsListView.java : 3571)
at  android.os.Handler.handleCallback (Handler.java : 725)
at  android.os.Handler.dispatchMessage (Handler.java : 92)
at  android.os.Looper.loop (Looper.java : 153)
at  android.app.ActivityThread.main (ActivityThread.java : 5299)
at  java.lang.reflect.Method.invokeNativeNative Method
at  java.lang.reflect.Method.invoke (Method.java : 511)
at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java : 833)
at  com.android.internal.os.ZygoteInit.main (ZygoteInit.java : 600)
at  dalvik.system.NativeStart.mainNative Method

Report B - Stack Trace:

java.lang.NullPointerException
at  xxx.getHoster (HosterController.java : 86)
at  xxx.onHandleIntent (HosterUpload.java : 75)
at  android.app.IntentService$ServiceHandler.handleMessage (IntentService.java : 59)
at  android.os.Handler.dispatchMessage (Handler.java : 99)
at  android.os.Looper.loop (Looper.java : 130)
at  android.os.HandlerThread.run (HandlerThread.java : 60)

Current: Report A and B is the same issue but this is wrong.

Better is two different issues.

Report C - Stack Trace:

  java.lang.RuntimeException
:Error receiving broadcast Intent { act=XXX.action.DOWNLOADER_MAP_CHANGE flg=0x10 } in xxx$2@42db49e8
at  android.app.LoadedApk$ReceiverDispatcher$Args.run (LoadedApk.java : 778)
at  android.os.Handler.handleCallback (Handler.java : 730)
at  android.os.Handler.dispatchMessage (Handler.java : 92)
at  android.os.Looper.loop (Looper.java : 137)
at  android.app.ActivityThread.main (ActivityThread.java : 5414)
at  java.lang.reflect.Method.invokeNativeNative Method
at  java.lang.reflect.Method.invoke (Method.java : 525)
at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java : 1187)
at  com.android.internal.os.ZygoteInit.main (ZygoteInit.java : 1003)
at  dalvik.system.NativeStart.mainNative Method
Caused by : java.util.ConcurrentModificationException
at  java.util.AbstractList$SimpleListIterator.next (AbstractList.java : 62)
at  java.util.Collections.sort (Collections.java : 1895)
at  xxx.sort (DownloadItem.java : 214)
at  xxx.loadListView (DownloadOverall.java : 133)
at  xxx.access$3 (DownloadOverall.java : 124)
at  xxx$2.onReceive (DownloadOverall.java : 721)
at  android.app.LoadedApk$ReceiverDispatcher$Args.run (LoadedApk.java : 768))
...  9 more
java.util.ConcurrentModificationException
at  java.util.AbstractList$SimpleListIterator.next (AbstractList.java : 62)
at  java.util.Collections.sort (Collections.java : 1895)
at  xxx.sort (DownloadItem.java : 214)
at  xxx (DownloadOverall.java : 133)
at  xxx$3 (DownloadOverall.java : 124)
at  xxx$2.onReceive (DownloadOverall.java : 721)
at  android.app.LoadedApk$ReceiverDispatcher$Args.run (LoadedApk.java : 768)
at  android.os.Handler.handleCallback (Handler.java : 730)
at  android.os.Handler.dispatchMessage (Handler.java : 92)
at  android.os.Looper.loop (Looper.java : 137)
at  android.app.ActivityThread.main (ActivityThread.java : 5414)
at  java.lang.reflect.Method.invokeNativeNative Method
at  java.lang.reflect.Method.invoke (Method.java : 525)
at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java : 1187)
at  com.android.internal.os.ZygoteInit.main (ZygoteInit.java : 1003)
at  dalvik.system.NativeStart.mainNative Method

Report D - Stack Trace:

java.lang.RuntimeException
:Error receiving broadcast Intent { act=xxxx.action.DOWNLOADER_MAP_CHANGE flg=0x10 } in xxxx$2@40fd4b70
at  android.app.LoadedApk$ReceiverDispatcher$Args.run (LoadedApk.java : 768)
at  android.os.Handler.handleCallback (Handler.java : 725)
at  android.os.Handler.dispatchMessage (Handler.java : 92)
at  android.os.Looper.loop (Looper.java : 137)
at  android.app.ActivityThread.main (ActivityThread.java : 5039)
at  java.lang.reflect.Method.invokeNativeNative Method
at  java.lang.reflect.Method.invoke (Method.java : 511)
at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java : 793)
at  com.android.internal.os.ZygoteInit.main (ZygoteInit.java : 560)
at  dalvik.system.NativeStart.mainNative Method
Caused by : java.util.ConcurrentModificationException
at  java.util.AbstractList$SimpleListIterator.next (AbstractList.java : 62)
at  java.util.Collections.sort (Collections.java : 1895)
at  xxxort (DownloadItem.java : 214)
at  xxx.loadListView (DownloadOverall.java : 133)
at  xxx.access$3 (DownloadOverall.java : 124)
at  xxx$2.onReceive (DownloadOverall.java : 721)
at  android.app.LoadedApk$ReceiverDispatcher$Args.run (LoadedApk.java : 758))
...  9 more
java.util.ConcurrentModificationException
at  java.util.AbstractList$SimpleListIterator.next (AbstractList.java : 62)
at  java.util.Collections.sort (Collections.java : 1895)
at  XXX.sort (DownloadItem.java : 214)
at  XXX.loadListView (DownloadOverall.java : 133)
at  xxx.access$3 (DownloadOverall.java : 124)
at  XXX$2.onReceive (DownloadOverall.java : 721)
at  android.app.LoadedApk$ReceiverDispatcher$Args.run (LoadedApk.java : 758)
at  android.os.Handler.handleCallback (Handler.java : 725)
at  android.os.Handler.dispatchMessage (Handler.java : 92)
at  android.os.Looper.loop (Looper.java : 137)
at  android.app.ActivityThread.main (ActivityThread.java : 5039)
at  java.lang.reflect.Method.invokeNativeNative Method
at  java.lang.reflect.Method.invoke (Method.java : 511)
at  com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java : 793)
at  com.android.internal.os.ZygoteInit.main (ZygoteInit.java : 560)
at  dalvik.system.NativeStart.mainNative Method

Current: Report C and D is not the same issue but this is wrong.

Better is one issue.

I changed the function "getReportIssueKey" to:

    public static function getReportIssueKey(&$reportArr) {
        //$arr = explode("\n", $reportArr[REPORT_STACK_TRACE]); 
        //return md5($reportArr[REPORT_VERSION_CODE].$reportArr[REPORT_VERSION_NAME].$reportArr[REPORT_PACKAGE_NAME].$arr[0]);

        $stack = preg_replace('#^([^\t]+\n)#m', "", $reportArr[REPORT_STACK_TRACE]);
        $stack = $stack != null ? preg_replace('#\t(at (com\.android|android|java)\..*?)\n#', "", $stack) : $reportArr[REPORT_STACK_TRACE];
        $stack = $stack != null ? preg_replace('#\t\.\.\. \d+ more\n#', "", $stack) : $reportArr[REPORT_STACK_TRACE];

        return md5($reportArr[REPORT_VERSION_CODE].$reportArr[REPORT_VERSION_NAME].$reportArr[REPORT_PACKAGE_NAME].$stack);
    }

It works perfect.

New issue state: testing

Add a new state, testing. Sometime your not able to reproduce the bug localy a you try some stuffs to fix it. Issues could be set in test mode.

Specify SQL port in config.php [enhancement]

I have put MAB-LAB on server with uncommon SQL port. I think that it would be easier for everyone (or at least me?) to be able to easily set proper SQL port in config.php.

I think that changing line 389 at dbhelper.class.php is fair enough:
self::$dbo = new mysqli($mGlobalCfg['db.host'], $mGlobalCfg['db.user'], $mGlobalCfg['db.pwd'], $mGlobalCfg['db.name'], $mGlobalCfg['db.port']);

Then in config.php add:
'db.port'=>'3307,

Create install script

Needed now to populate the increments table instead of launching the update-to-5 script.

incorrect login

I installed the new version today (thanks for the quick turnaround!). When I try to submit a report, I don't see the new report in the dashboard. In the mab-lab log, the last entry says
[27-07-13 08:35.49] INFO REPORT : New report requested !
[27-07-13 08:35.49] DEBUG CONFIG : :
[27-07-13 08:35.49] ERROR REPORT : Somebody try to access report script without a correct login/password !!!

I have tried both with and without MD5 obfuscation and have the same result.

One interesting thing I did notice was that when changing the setting for MD5 obfuscation, the mab-lab log doesn't seem to show a setting for recording the state of the setting:

[27-07-13 08:34.56] DEBUG Array
(
[a] => updateconfig
[in-report-tags] =>
[in-date-format] => Y-m-d H:i
[in-date-timezone] => America/Los_Angeles
[in-report-packagename-shrink] => 1
[report-basicauth] => 1
[report-basicauth-login] => XXhiddenXXX
[report-basicauth-password] => XXXhiddenXX
[in-report-sendmail] => 1
[in-report-sendmail-recipients] => [email protected]
[in-mail-from-addr] =>
[in-mail-from-name] => MAB-LAB
[in-db-host] => XXXhiddenXXX
[in-db-user] => XXXhiddenXXX
[in-db-pwd] => XXXhiddenXXX
[in-db-name] => XXXhiddenXXX
[in-tbl-prefix] => mabl_
)

I would have expected to see a setting in there for MD5, but I suppose you may have a way of doing this without recording the setting there, or maybe that setting just isn't being echoed to the log. Just giving you a possible clue.

The bottom line is I cannot submit a report and I do not know how to fix it.

Date format

Hi there,

I'm facing an error so big that probably I'm doing something wrong.
I'm using Acra 4.5 to report crashes, with default configuration:

@ReportsCrashes(
formKey = "",
formUri = "http://..../report/report.php",
httpMethod = org.acra.sender.HttpSender.Method.PUT,
reportType = org.acra.sender.HttpSender.Type.JSON,
formUriBasicAuthLogin = "....",
formUriBasicAuthPassword = "....."

)

but when report get inserted to DB, I have this error:

Incorrect datetime value: '2013-11-18T17:04:17.000+01:00' for column 'user_app_start_date' at row 1

From what I read, all Acra dates are RFC 3339 formatted and MySql cannot handle this format.

Looking in the mablab.log file I get these values:

[user_crash_date] => 2013-11-18 17:04:27
[user_app_start_date] => 2013-11-18T17:04:17.000+01:00

user_crash_date seems somehow converted, the other one no...

My question is: what I'm missing?

Hope you can help

Best regards
Sergio

PHP Warning in issuse - list milestones

Hello,

The warning: "Warning: Invalid argument supplied for foreach() in D:\xampp\htdocs\webseiten\MAB-LAB-master\pages\issues_milestones.inc.php on line 27". Only when milestones is empty.

The function "fetchMilestones" return a array or null. In "issues_milestones.inc.php" is not tested of null.

I change the line 14 in:

$milesArr = DbHelper::fetchMilestones(($mSelectedAppId>0?MILE_APP_ID.'='.$mSelectedAppId:null));
$milesArr = $milesArr === null ? array() : $milesArr;

bug1

Reports evoloution graph

For each 15 past days display :

  • Number of new reports
  • Number of new issues
  • Number of closed issues
  • Average number of new issue per day

Sales statistics

Import sales reports from google play developer (updated each day) console and use it to generate usefull statistics.

Output to log, not in database

Hi... I have this issue that I can't see any reports in the database. They do show in the log and the log says that it can successfully insert them into the database... What can I do?

Edit:
Inserting report data failed ! #1118 : Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.

Edit: fixed by switching to MyISAM

Add tab "Environments"

Hello,

Can you add the tab "Environments" in "/pages/report_details_dialog.php"?

for example after the tab "Settings":

<div class="tab-pane" id="report-environments" >
    <dt>Environments</dt>
    <dd><br/><?php  ReportHelper::displayObjectValuesToHTMLArray($r->environment); ?></dd>
</div>

PHP Notic: Undefined index

Notice: Undefined index: report.basicauth.method in \MAB-LAB-master\includes\confighelper.class.php on line 67

"report.basicauth.method" is not set in config.php

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.