text:
Impossible to compile sources of CPOD.

CPod version:
last (github clone)
Platform:
mac os
Installation type (.deb, Snap, etc.):
yarn... I try to compile
Description:
I cloned the gihub and , as it say, made a yarn.  but I have this message
warning ../../../package.json: No license field
[1/4] 🔍  Resolving packages...
⠁
[2/4] 🚚  Fetching packages...
[##################--------------------------------------------------------------------------------------------------------------------------] 135/1028
[3/4] 🔗  Linking dependencies...
[4/4] 🔨  Building fresh packages...
[1/4] ⡀ fsevents
[2/4] ⡀ electron
[3/4] ⡀ node-sass
warning Error running install script for optional dependency: "/Users/elekis/Desktop/Github/CPod/node_modules/dbus: Command failed.
Exit code: 1
Command: node-gyp configure build
Arguments:
Directory: /Users/elekis/Desktop/Github/CPod/node_modules/dbus
Output:
gyp info it worked if it ends with ok
gyp info using node-gyp@8.4.0
gyp info using node@14.15.1 | darwin | x64
gyp info find Python using Python version 3.9.9 found at "/usr/local/opt/python@3.9/bin/python3.9"
gyp info spawn /usr/local/opt/python@3.9/bin/python3.9
gyp info spawn args [
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args   'binding.gyp',
gyp info spawn args   '-f',
gyp info spawn args   'make',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/elekis/Desktop/Github/CPod/node_modules/dbus/build/config.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/usr/local/lib/node_modules/npm/node_modules/node-gyp/addon.gypi',
gyp info spawn args   '-I',
gyp info spawn args   '/Users/elekis/Library/Caches/node-gyp/14.15.1/include/node/common.gypi',
gyp info spawn args   '-Dlibrary=shared_library',
gyp info spawn args   '-Dvisibility=default',
gyp info spawn args   '-Dnode_root_dir=/Users/elekis/Library/Caches/node-gyp/14.15.1',
gyp info spawn args   '-Dnode_gyp_dir=/usr/local/lib/node_modules/npm/node_modules/node-gyp',
gyp info spawn args   '-Dnode_lib_file=/Users/elekis/Library/Caches/node-gyp/14.15.1/<(target_arch)/node.lib',
gyp info spawn args   '-Dmodule_root_dir=/Users/elekis/Desktop/Github/CPod/node_modules/dbus',
gyp info spawn args   '-Dnode_engine=v8',
gyp info spawn args   '--depth=.',
gyp info spawn args   '--no-parallel',
gyp info spawn args   '--generator-output',
gyp info spawn args   'build',
gyp info spawn args   '-Goutput_dir=.'
gyp info spawn args ]
Package dbus-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing dbus-1.pc' to the PKG_CONFIG_PATH environment variable No package 'dbus-1' found gyp: Call to 'pkg-config --cflags-only-I dbus-1 | sed s/-I//g' returned exit status 0 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error  gyp ERR! stack Error: gypfailed with exit code: 1 gyp ERR! stack     at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:259:16) gyp ERR! stack     at ChildProcess.emit (events.js:315:20) gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:277:12) gyp ERR! System Darwin 21.1.0 gyp ERR! command \"/usr/local/bin/node\" \"/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js\" \"configure\" \"build\" gyp ERR! cwd /Users/elekis/Desktop/Github/CPod/node_modules/dbus gyp ERR! node -v v14.15.1 [1/4] ⠠ fsevents [2/4] ⠠ electron [3/4] ⠠ node-sass error /Users/elekis/Desktop/Github/CPod/node_modules/node-sass: Command failed. Exit code: 1 Command: node scripts/build.js Arguments:  Directory: /Users/elekis/Desktop/Github/CPod/node_modules/node-sass Output: Building: /usr/local/bin/node /Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library= gyp info it worked if it ends with ok gyp verb cli [ gyp verb cli   '/usr/local/bin/node', gyp verb cli   '/Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/bin/node-gyp.js', gyp verb cli   'rebuild', gyp verb cli   '--verbose', gyp verb cli   '--libsass_ext=', gyp verb cli   '--libsass_cflags=', gyp verb cli   '--libsass_ldflags=', gyp verb cli   '--libsass_library=' gyp verb cli ] gyp info using node-gyp@3.6.2 gyp info using node@14.15.1 | darwin | x64 gyp verb command rebuild [] gyp verb command clean [] gyp verb clean removing "build" directory gyp verb command configure [] gyp verb check python checking for Python executable "/usr/local/opt/python@3.9/bin/python3" in the PATH gyp verbwhichsucceeded /usr/local/opt/python@3.9/bin/python3 /usr/local/opt/python@3.9/bin/python3 gyp verb check python version/usr/local/opt/python@3.9/bin/python3 -c "import platform; print(platform.python_version());"` returned: "3.9.9\n"
gyp ERR! configure error
gyp ERR! stack Error: Python executable "/usr/local/opt/python@3.9/bin/python3" is v3.9.9, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at PythonFinder.failPythonVersion (/Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/lib/configure.js:492:19)
gyp ERR! stack     at PythonFinder. (/Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/lib/configure.js:474:14)
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:299:7)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1048:16)
gyp ERR! stack     at Socket. (internal/child_process.js:439:11)
gyp ERR! stack     at Socket.emit (events.js:315:20)
gyp ERR! stack     at Pipe. (net.js:673:12)
gyp ERR! System Darwin 21.1.0
gyp ERR! command "/usr/local/bin/node" "/Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd /Users/elekis/Desktop/Github/CPod/node_modules/node-sass
gyp ERR! node -v v14.15.1
gyp ERR! node-gyp -v v3.6.2
warning Error running install script for optional dependency: "/Users/elekis/Desktop/Github/CPod/node_modules/fsevents: Command failed.
Exit code: 1
Command: node install
Arguments:
Directory: /Users/elekis/Desktop/Github/CPod/node_modules/fsevents
Output:
node-pre-gyp info it worked if it ends with ok
node-pre-gyp info using node-pre-gyp@0.12.0
node-pre-gyp info using node@14.15.1 | darwin | x64
node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp info check checked for "/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/lib/binding/Release/node-v83-darwin-x64/fse.node" (not found)
node-pre-gyp http GET https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.8/fse-v1.2.8-node-v83-darwin-x64.tar.gz
node-pre-gyp http 404 https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.8/fse-v1.2.8-node-v83-darwin-x64.tar.gz
node-pre-gyp WARN Tried to download(404): https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.8/fse-v1.2.8-node-v83-darwin-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for fsevents@1.2.8 and node@14.15.1 (node-v83 ABI, unknown) (falling back to source compile with node-gyp)
node-pre-gyp http 404 status code downloading tarball https://fsevents-binaries.s3-us-west-2.amazonaws.com/v1.2.8/fse-v1.2.8-node-v83-darwin-x64.tar.gz
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.2
gyp info using node@14.15.1 | darwin | x64
gyp info ok
gyp info it worked if it ends with ok
gyp info using node-gyp@3.6.2
gyp info using node@14.15.1 | darwin | x64
gyp ERR! configure error
gyp ERR! stack Error: Python executable "/usr/local/opt/python@3.9/bin/python3" is v3.9.9, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack     at PythonFinder.failPythonVersion (/Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/lib/configure.js:492:19)
gyp ERR! stack     at PythonFinder. (/Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/lib/configure.js:474:14)
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:299:7)
gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
gyp ERR! stack     at maybeClose (internal/child_process.js:1048:16)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
gyp ERR! System Darwin 21.1.0
gyp ERR! command "/usr/local/bin/node" "/Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/lib/binding/Release/node-v83-darwin-x64/fse.node" "--module_name=fse" "--module_path=/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/lib/binding/Release/node-v83-darwin-x64" "--napi_version=7" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83" "--python=/usr/local/opt/python@3.9/bin/python3"
gyp ERR! cwd /Users/elekis/Desktop/Github/CPod/node_modules/fsevents
gyp ERR! node -v v14.15.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
node-pre-gyp ERR! build error
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/lib/binding/Release/node-v83-darwin-x64/fse.node --module_name=fse --module_path=/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/lib/binding/Release/node-v83-darwin-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83 --python=/usr/local/opt/python@3.9/bin/python3' (1)
node-pre-gyp ERR! stack     at ChildProcess. (/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
node-pre-gyp ERR! stack     at ChildProcess.emit (events.js:315:20)
node-pre-gyp ERR! stack     at maybeClose (internal/child_process.js:1048:16)
node-pre-gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5)
node-pre-gyp ERR! System Darwin 21.1.0
node-pre-gyp ERR! command "/usr/local/bin/node" "/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/node_modules/node-pre-gyp/bin/node-pre-gyp" "install" "--fallback-to-build"
node-pre-gyp ERR! cwd /Users/elekis/Desktop/Github/CPod/node_modules/fsevents
node-pre-gyp ERR! node -v v14.15.1
node-pre-gyp ERR! node-pre-gyp -v v0.12.0
node-pre-gyp ERR! not ok
Failed to execute '/usr/local/bin/node /Users/elekis/Desktop/Github/CPod/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/lib/binding/Release/node-v83-darwin-x64/fse.node --module_name=fse --module_path=/Users/elekis/Desktop/Github/CPod/node_modules/fsevents/lib/binding/Release/node-v83-darwin-x64 --napi_version=7 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83 --python=/usr/local/opt/python@3.9/bin/python3' (1)"
info This module is OPTIONAL, you can safely ignore this error
========================
if I tape gulp
elekis@mydsz:~/Desktop/Github/CPod$ gulp
gulp[16796]: ../src/node_contextify.cc:676:static void node::contextify::ContextifyScript::New(const FunctionCallbackInfov8::Value &): Assertion `args[1]->IsString()' failed.
1: 0x1012e2bc5 node::Abort() (.cold.1) [/usr/local/bin/node]
2: 0x1000a5cb9 node::Abort() [/usr/local/bin/node]
3: 0x1000a5b21 node::Assert(node::AssertionInfo const&) [/usr/local/bin/node]
4: 0x1000994db node::contextify::ContextifyScript::New(v8::FunctionCallbackInfov8::Value const&) [/usr/local/bin/node]
5: 0x100259878 v8::internal::FunctionCallbackArguments::Call(v8::internal::CallHandlerInfo) [/usr/local/bin/node]
6: 0x100258b2c v8::internal::MaybeHandlev8::internal::Object v8::internal::(anonymous namespace)::HandleApiCallHelper(v8::internal::Isolate*, v8::internal::Handlev8::internal::HeapObject, v8::internal::Handlev8::internal::HeapObject, v8::internal::Handlev8::internal::FunctionTemplateInfo, v8::internal::Handlev8::internal::Object, v8::internal::BuiltinArguments) [/usr/local/bin/node]
7: 0x10025850f v8::internal::Builtin_Impl_HandleApiCall(v8::internal::BuiltinArguments, v8::internal::Isolate*) [/usr/local/bin/node]
8: 0x100a796d9 Builtins_CEntry_Return1_DontSaveFPRegs_ArgvOnStack_BuiltinExit [/usr/local/bin/node]
9: 0x100a0eb21 Builtins_JSBuiltinsConstructStub [/usr/local/bin/node]
10: 0x100af7263 Builtins_ConstructHandler [/usr/local/bin/node]
11: 0x100a129a2 Builtins_InterpreterEntryTrampoline [/usr/local/bin/node]
12: 0x100a129a2 Builtins_InterpreterEntryTrampoline [/usr/local/bin/node]
13: 0x100a129a2 Builtins_InterpreterEntryTrampoline [/usr/local/bin/node]
Abort trap: 6
==========
and if I tape yarn start, I have a white screen
elekis@mydsz:~/Desktop/Github/CPod$ yarn start
yarn run v1.22.17
warning ../../../package.json: No license field
$ electron .
Looks like config dir already exists, continuing
Using default settings file: /Users/elekis/Desktop/Github/CPod/public/default_settings.json
Using user settings file: /Users/elekis/Library/Application Support/cumulonimbus/user_settings.json
Loaded default settings.
Could not load user settings.
Checking for update
Error: Error: ENOENT: no such file or directory, open '/Users/elekis/Desktop/Github/CPod/dev-app-update.yml'
at /Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:370:27
at Generator.next ()
From previous event:
at MacUpdater.loadUpdateConfig (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/out/AppUpdater.js:395:11)
at Lazy.AppUpdater.configOnDisk.Lazy (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:132:43)
at Lazy.get value [as value] (/Users/elekis/Desktop/Github/CPod/node_modules/lazy-val/src/main.ts:18:23)
at /Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:281:46
at Generator.next ()
From previous event:
at MacUpdater.doCheckForUpdates (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/out/AppUpdater.js:353:11)
at /Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:264:25
at Generator.next ()
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
at MacUpdater._checkForUpdates (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/out/AppUpdater.js:307:11)
at MacUpdater.checkForUpdates (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:213:35)
at Object. (/Users/elekis/Desktop/Github/CPod/main.js:301:13)
at Object. (/Users/elekis/Desktop/Github/CPod/main.js:413:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at loadApplicationPackage (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js:287:12)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js:328:5)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js:365:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/init.js:186:8)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/init.js:188:3)
Auto-update error:
{ Error: ENOENT: no such file or directory, open '/Users/elekis/Desktop/Github/CPod/dev-app-update.yml'
at /Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:370:27
at Generator.next ()
From previous event:
at MacUpdater.loadUpdateConfig (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/out/AppUpdater.js:395:11)
at Lazy.AppUpdater.configOnDisk.Lazy (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:132:43)
at Lazy.get value [as value] (/Users/elekis/Desktop/Github/CPod/node_modules/lazy-val/src/main.ts:18:23)
at /Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:281:46
at Generator.next ()
From previous event:
at MacUpdater.doCheckForUpdates (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/out/AppUpdater.js:353:11)
at /Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:264:25
at Generator.next ()
at runCallback (timers.js:789:20)
at tryOnImmediate (timers.js:751:5)
at processImmediate [as _immediateCallback] (timers.js:722:5)
From previous event:
at MacUpdater._checkForUpdates (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/out/AppUpdater.js:307:11)
at MacUpdater.checkForUpdates (/Users/elekis/Desktop/Github/CPod/node_modules/electron-updater/src/AppUpdater.ts:213:35)
at Object. (/Users/elekis/Desktop/Github/CPod/main.js:301:13)
at Object. (/Users/elekis/Desktop/Github/CPod/main.js:413:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at loadApplicationPackage (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js:287:12)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js:328:5)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js:365:3)
at Module._compile (module.js:642:30)
at Object.Module._extensions..js (module.js:653:10)
at Module.load (module.js:561:32)
at tryModuleLoad (module.js:504:12)
at Function.Module._load (module.js:496:3)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/init.js:186:8)
at Object. (/Users/elekis/Desktop/Github/CPod/node_modules/electron/dist/Electron.app/Contents/Resources/electron.asar/browser/init.js:188:3)
cause:
{ Error: ENOENT: no such file or directory, open '/Users/elekis/Desktop/Github/CPod/dev-app-update.yml'
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/Users/elekis/Desktop/Github/CPod/dev-app-update.yml' },
isOperational: true,
errno: -2,
code: 'ENOENT',
syscall: 'open',
path: '/Users/elekis/Desktop/Github/CPod/dev-app-update.yml' }
How to compile the last version of CPod ?

I see two possible problems from the attached log:

Node version 14.15.1 is being used, but there has been a report that compilation fails with newer versions of Node. Please try using Node 8.

gyp wants Python 2 but Python 3 is being used:

gyp ERR! stack Error: Python executable "/usr/local/opt/python@3.9/bin/python3" is v3.9.9, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.

Side-note @e471wo please use a paste service for long log messages. This makes troubleshooting far nicer.


text:
Any interest in coding against an interface?

So we don't have to extend formfields, but just implement the interface...
<?php
namespace Encore\Admin\Contracts;

use Encore\Admin\Form;

interface Field
{
    /**
     * Fill data to the field.
     *
     * @param $data
     * @return void
     */
    public function fill($data);

    /**
     * Set original value to the field.
     *
     * @param $data
     * @return void
     */
    public function setOriginal($data);

    /**
     * Set the Form to the field
     *
     * @param Form $form
     * @return \Encore\Admin\Form\Field
     */
    public function setForm(Form $form);

    /**
     * Set the field options.
     *
     * @param array $options
     * @return \Encore\Admin\Form\Field
     */
    public function options($options = []);

    /**
     * Get or set rules.
     *
     * @param null $rules
     * @return string
     */
    public function rules($rules = null);

    /**
     * Set or get value of the field.
     *
     * @param null $value
     * @return mixed
     */
    public function value($value = null);

    /**
     * Get column of the field.
     *
     * @return string
     */
    public function column();

    /**
     * Get label of the field.
     *
     * @return string
     */
    public function label();

    /**
     * Get original value of the field.
     *
     * @return mixed
     */
    public function original();

    /**
     * Set the field as readonly mode.
     */
    public function readOnly();

    /**
     * Get view of this field.
     *
     * @return string
     */
    public function getView();

    /**
     * Render this filed.
     *
     * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
     */
    public function render();
}

```

I've been thinking about this,define a CustomField
class CustomField implements Field
{
//....
}

Register the CustomField in bootstrap.php
Form::register('customField', function($column, $arguments){
    return new CustomField($column, $arguments);
});

Then we can use it in controller like other fields.
$form->customField('columnName', ...);

That looks nice as well...
What I was looking for as well is to create a FieldGroup kindof Field, that can containt other fields.
For inlining fields for example.

source: gharchive/issue

authors: axyr z-song

repo: z-song/laravel-admin

license: mit

license_type: permissive

license_source: bigquery


text:
Fix GolangCI

Describe the bug
Golang CI check bot has been failing since the merge of vendor directory.
To Reproduce
Steps to reproduce the behaviour:

On submitting any PR

A brief examining of the Golang-CI bot logs concluded that this might have occurred due to the absence of go.mod and go.sum files.

repo: zairza-cetb/bench-routes

license_source: github-api


text:
Support for config screen and various go improvements

For the new config screen.
Works to be done in this PR:

[x] Replace the URL in the URI for each route
[x] Delete routes from config screen
[x] Alert when service is unreachable

@Harkishen-Singh Will make a new PR with changes. I figured out what was wrong

@aquibbaig sure, that should be good.

source: gharchive/pull-request

authors: Harkishen-Singh aquibbaig


text:
query params of type object are not being deserialized

Description
When defining objects to take through a query string, they are not being deserialized in my app code.  The function parameter is being passed an empty dict, but request.form definitely sees the proper values.
Expected behaviour
The params are deserialized into a dict and passed into my view.
Actual behaviour
The params show up on request.form, but are not being deserialized; I receive an empty dict for the key defined in my spec.
Steps to reproduce
openapi: 3.0.3
info:
  title: REST API
  version: 1.0.0
servers:
  - url: /api/v1
paths:
  /:
    get:
      parameters:
        - name: page
          in: query
          schema:
            type: object
            required:
              - pageNo
              - pageSize
            properties:
              pageNo:
                type: number
              pageSize:
                type: number
        - name: location
          in: query
          schema:
            type: object
            properties:
              street:
                type: string
              city:
                type: string

Additional info:
Output of the commands:

python --version
  Python 3.7.0

pip show connexion | grep "^Version\:"
  connexion 2.7.0

Thanks for the report @Halkcyon.
Connexion currently doesn't deserialize query objects with style: form correctly, which is the default. If you control the client, you can work around this by using style: deepObject instead. More info on the style values in the openapi docs.

Related to #963

authors: Halkcyon RobbeSneyders

repo: zalando/connexion


text:
fix discrepancy between 109 and 111

change "may" to stronger "should" for additional (unknown) properties described in #111 to be compliant with requirements from server described in #109

👍

👍

:+1:

👍

:+1:

authors: ePaul ktsypkina tfrauenstein tkrop

repo: zalando/restful-api-guidelines


text:
Add glodon 2023hw pocs

感谢，么么哒

license: MIT


text:
Delete custom tag issue

is there any way to manually delete custom tags that dont show the delete X next to them? I misspelled some tags but i dont get the X next to the tag to delete them.

Please provide a screenshot of the page below. If this is a custom tag, it must have an 'X' button (except for 'like').

Please provide a screenshot of the page below. If this is a custom tag, it must have an 'X' button (except for 'like').

sorry was busy. i recreated the issue because i had to do a reinstall.

as you can see there is no X to delete the tag. The last time this happened i accidentally pasted a whole generation tag set.

Do you not have a 'like' tag? Or did you manually modify the iib.db file before?

Do you not have a 'like' tag? Or did you manually modify the iib.db file before?

the like tag is there and its fine. i know that one isnt removable

The reason this occurred is because the tag name is too long. I'll handle it.

The reason this occurred is because the tag name is too long. I'll handle it.

sounds good. love using this either way, appreciate your work!!

This issue has been resolved.

This issue has been resolved.

nice its working, thank you so much.

authors: ChrisTello zanllp

repo: zanllp/sd-webui-infinite-image-browsing


text:
About the new update

The app looks very clean and nice right now, do you think adding support for 90 hz and 120 hz screens?
Also a category section would be great.

Thank you! What do you mean by adding support, it doesn't work on those screens?

It works but not at the desired refresh refresh rate by the screens.

But is it buggy? I really am not sure what can be done. Can you share a screencap?

Can I show it tomorrow, it's pretty late here, it's not buggy by the way, the app can't go beyond 60hz even though my phone set the hz to 120 hz for the app.

Can I show it tomorrow, it's pretty late here, it's not buggy by the way, the app can't go beyond 60hz even though my phone set the hz to 120 hz for the app.
(Nevermind, I guess it was the fault of my software, it is locked to 120hz now when I set it manually)

...

You can close the issue I guess, though I must say there's lags when clicking on app pages for about a second or two.

Is the lag due to the screen refresh rate? Not sure about that. I'll close here but reopen another one about the lag, esp if you can get a screencap. Thanks

repo: zapstore/zapstore


text:
无法播放伪装成png的ts片段的问题

请问一下播放器用的是dplayer吗，爬取某个网站视频m3u8返回数据里的片段被伪装png导致播放失败怎么解决的

非常抱歉这么晚才回复，因为这段时间事情挺多，这个项目重构也一直托着🤧。
解决的方法是：先用binwalk等工具从图片中检测出ts视频片段的起始位置，通常来说是一个1x1的小图片作为header，后面append上视频数据，只要把前面的数据去掉即可。我是通过代理的方式实现的，dplayer 请求m3u8文件，我返回一个修改过后的m3u8文件给dplayer。这个新m3u8中所有的fragment url 都会改成本地的代理url，dplayer请求某一个视频片段时，请求的也是本地代理，代理服务去请求原始的视频片段，然后去掉这个header在返回给dpalyer。

authors: Miku-frank zaxtyson

repo: zaxtyson/AnimeSearcher


text:
Auth failing due to self signed certificate in chain

Were I work we have a man in the middle SSL 'security' feature built into our laptops. This requires trusting any self signed certs being used. I run neovim using WSL on windows and have added the cert to the default path /etc/ssl/certs - and have apt curl git and other packages to work with certificates - so from what i can tell is that node doesn't adhere to these settings. I found that the copilot.vim project has an option for doing exactly this - is this also implemented in this project or is there a way to provide this flag also ?
https://github.com/github/copilot.vim/blob/1358e8e45ecedc53daf971924a0541ddf6224faf/doc/copilot.txt#L85

Sorry I was meant to open this in https://github.com/zbirenbaum/copilot.lua

repo: zbirenbaum/copilot-cmp


text:
Validation Failure & Success dark missing

Currently, the Validation Success and failure screens are forced to be light only.

        .preferredColorScheme(.light)

When system is set to dark, the app starts dark. The validation flow is also dark and failure screen is light. That is known but the issue here is that getting back to the test screen via try again button, the previous screen is a light one for a while and then switches to the dark. This visual bug needs to be fixed.
Fortunately the solution is to get rid of the force light modifier and implement dark version of the failure & success screen. @geffenz provided the screens on slack

Is this design final/actionable?

Done, the screens:

failure
success

repo: zcash/secant-ios-wallet


text:
Links

从搭建一个微信小程序开始- 腾讯云
https://www.qcloud.com/act/event/yingyonghao.html

repo: zce/weapp-demo


text:
Roughjs support

Can anyone provide an example of a map with roughjs or react roughjs support?  I have tried using React Rough, https://github.com/ooade/react-rough, with limited success.
Thank you for the great library

Hi @willb335,
I did this a while back:
https://codesandbox.io/s/react-simple-maps-rough-js-u3ple
Let me know if it helps you

Wow, very cool.  Thank you

repo: zcreativelabs/react-simple-maps


text:
Setup secured nginx example using self-signed certificate

Default setup of the ce should deliver self-signed certificate in dedicated ssl.conf.
By default it should redirect to http 80 port and default.conf where all location rules declared

low priority

done. testing should include verification of the:

presence empty nginx/ssl folder by default
that this folder is shared via docker-compose.yml
do basic acceptance using http regular setup

done. testing should include verification of the:

presence empty nginx/ssl folder by default
that this folder is shared via docker-compose.yml
do basic acceptance using http regular setup

Test result:

.gitkeep is present in nginx/ssl
passed
blocked now

Test result:

.gitkeep is present in nginx/ssl
passed
blocked now

Verified.

Verified.

authors: okamara vdelendik

repo: zebrunner/zebrunner


text:
Fix: Refactoring some code? #56 #brokenearlyaccess

[x] https://www.shellcheck.net/
[x] alignments (line length, comments, ...)
[x] remove some comments
[x] inputTapSleep
[x] testColor
[x] fix
[x] Update testColor to be able to send as many possible colors as we want... loop and exit at the first match.
[x] Add a testColorNANDto be able to check !=.
[x] On launch, just switch to usefull tabs (if at least one option is at true)
[x] fix again
[x] fix again, and again *
[ ] Update the way we check colors, because many times we call takeScreenshot whether it's needed or not... something like checking if we had tapped since last capture, or having a force capture parameter if we are in waiting for color loop.
[ ] refacto every PR 😿

[x] PR #48 > merge + fix
[x] PR #51 > Closed
[ ] PR #52
[x] PR #54 > merge + fix
[x] PR #55 > merge + fix
[ ] PR #57
[ ] PR #58
[ ] PR #60
[ ] PR #61

[ ] need profound review 😢
[ ] heavy testing 😭

I want to help. I ran it and got this.

I did not run the script, I'm waiting for other PR to be accepted to update everything, because I will get so much conflict...
And I was thinking to update the way we check colors, because many times we do multiple captures whether it's needed or not... something like checking if we had tapped since last capture, or having a force capture parameter.

script hangs here. waited 10 min to be sure lol

Well, I think I'll start to run the script too :finnadie: (this weekend, I will need more than a few hours to fix my mess)
And activate the DEBUG=2 at the beginning of afk-daily.sh it will show what it's looking for and where it's tapping.
There will be much verbose, but it's better than nothing I think 😄

I think it's all fixed for the most basic task:

config.sh
#!/bin/bash
# --- CONFIG: Modify accordingly to your game! --- #
# --- Use this link for help: https://github.com/zebscripts/AFK-Daily#configvariables --- #
# Player
canOpenSoren=false
arenaHeroesOpponent=5

# General
waitForUpdate=true
endAt="championship"

# Repetitions
maxCampaignFights=10
totalAmountArenaTries=2+0
totalAmountGuildBossTries=2+0

# Store
buyStoreDust=false
buyStorePoeCoins=false
buyStoreEmblems=false

# --- Actions --- #
# Campaign
doLootAfkChest=true
doChallengeBoss=false
doFastRewards=false
doCollectFriendsAndMercenaries=false

# Dark Forest
doSoloBounties=false
doTeamBounties=false
doArenaOfHeroes=false
doLegendsTournament=false
doKingsTower=false

# Ranhorn
doGuildHunts=false
doTwistedRealmBoss=false
doBuyFromStore=false
doStrengthenCrystal=false
doCompanionPointsSummon=false
doCollectOakPresents=false                      # Only works if "Hide Inn Heroes" is enabled under "Settings -> Memory"

# End
doCollectQuestChests=false
doCollectMail=false
doCollectMerchantFreebies=false

output with debug=2
Task: Checking for adb...
Success: Found locally!
Task: Checking for updates...
Success: Checked/Updated!
Task: Searching for config.sh file...
Success: Found!
Task: Validating config.sh...
Success: Passed!
Task: Checking Line endings of file config.sh...
Success: Passed!
Task: Checking Line endings of file afk-daily.sh...
Success: Passed!
Task: Checking last time script was run...
Task: Restarting ADB...
Success: Restarted!
Task: Searching for device through ADB...
Success: Found Bluestacks!

Info: Platform: Bluestacks
Info: Script Directory: storage/emulated/0/scripts/afk-arena

[INFO] Starting script... (Wed Apr 28 10:13:25 CEST 2021)

[DEBUG] testColorOR 450 1775 cc9261
[DEBUG] getColor 450 1775 > RGB: 111111
[DEBUG] inputTapSleep 970 380 0
[DEBUG] inputTapSleep 550 1850
[OK] Switched to the Campaign Tab.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] inputTapSleep 550 1850
[OK] Switched to the Campaign Tab.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] testColorOR 740 205 ffc15b
[DEBUG] getColor 740 205 > RGB: 393d2f
[DEBUG] inputTapSleep 550 1850
[OK] Switched to the Campaign Tab.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] inputTapSleep 550 1500 1
[DEBUG] inputTapSleep 750 1350 3
[DEBUG] inputTapSleep 550 1850 1
[OK] AFK Chest looted.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] inputTapSleep 550 1500 1
[DEBUG] inputTapSleep 750 1350 3
[DEBUG] inputTapSleep 550 1850 1
[OK] AFK Chest looted.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] inputTapSleep 300 1850
[OK] Switched to the Dark Forest Tab.
[DEBUG] getColor 240 1775 > RGB: d49a61
[DEBUG] inputTapSleep 740 1050
[DEBUG] inputTapSleep 550 1370 0

[INFO] End of script! (Wed Apr 28 10:14:11 CEST 2021)

I'll add more levels for DEBUG in futur updates.

Love this debug option!

Also, I've changed my mind: I will first attempt to merge all open PRs that introduce new features to the script without thinking too much if code is written in the "correct shell way", as I'd need to "lose time" on learning that first. So I'd rather create the core script features first and then attempt to correct everything at once. Sorry about that.

Mmh, some experiments later I have multiple possibilities:
# Execute all myfunc then echo OK
$ myfunc(){ echo "DEBUG" >&2; echo 1; echo "DEBUG" >&2; }; if [ "$(myfunc)" = '1' ]; then echo "OK"; fi
DEBUG
DEBUG
OK

# Execute myfunc until return, then echo OK (2 line: myfunc; if [ $? = "1" ])
$ myfunc(){ echo "DEBUG"; return 1; echo "DEBUG"; }; myfunc; if [ $? = "1" ]; then echo "OK"; fi
DEBUG
OK

# Execute myfunc until return, then echo OK (1 line if if myfunc || [ $? = "1" ])
$ myfunc(){ echo "DEBUG" >&2; return 1; echo "DEBUG" >&2; }; if myfunc || [ $? = "1" ]; then echo "OK"; fi
DEBUG
OK

Small test runs and something is broken in my loops (while, until,...) :finnadie:

log (DEBUG=4)
Task: Checking for adb...
Success: Found locally!
Task: Searching for config.sh file...
Success: Found!
Task: Validating config.sh...
Success: Passed!
Task: Checking Line endings of file config.sh...
Success: Passed!
Task: Checking Line endings of file afk-daily.sh...
Success: Passed!
Task: Checking last time script was run...
Task: Restarting ADB...
Success: Restarted!
Task: Searching for device through ADB...
Success: Found Bluestacks!

Info: Platform: Bluestacks
Info: Script Directory: storage/emulated/0/scripts/afk-arena

[INFO] Starting script... (Thu Apr 29 13:30:47 CEST 2021)

[DEBUG] loopUntilNotRGB 1 450 1775 cc9261
[DEBUG] testColorOR 450 1775 cc9261
[DEBUG] getColor 450 1775 > RGB: 0f0f0f
[DEBUG] switchTab Campaign
[OK] Switched to the Campaign Tab.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] switchTab Dark Forest
[DEBUG] switchTab Ranhorn
[DEBUG] switchTab Campaign true
[OK] Switched to the Campaign Tab.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] testColorOR 740 205 ffc15b
[DEBUG] getColor 740 205 > RGB: 393d2f
[DEBUG] switchTab Campaign
[OK] Switched to the Campaign Tab.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] lootAfkChest
[OK] AFK Chest looted.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] challengeBoss
[DEBUG] testColorORTapSleep 550 740 f2d79f
[DEBUG] testColorOR 550 740 f2d79f
[DEBUG] getColor 550 740 > RGB: 1f2a1d
[DEBUG] testColorORTapSleep 450 1775 cc9261 0
[DEBUG] testColorOR 450 1775 cc9261
[DEBUG] getColor 450 1775 > RGB: cc9261
[OK] Challenged boss in campaign.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] fastRewards
[OK] Fast rewards collected.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] collectFriendsAndMercenaries
[OK] Sent and recieved companion points, as well as auto lending mercenaries.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] lootAfkChest
[OK] AFK Chest looted.
[DEBUG] getColor 450 1775 > RGB: cc9261
[DEBUG] switchTab Dark Forest
[DEBUG] switchTab Ranhorn
[DEBUG] collectQuestChests
[DEBUG] quickCollectQuestChests
[DEBUG] testColorOR 700 670 82fdf5
[DEBUG] getColor 700 670 > RGB: 82fdf5
[DEBUG] quickCollectQuestChests
[DEBUG] testColorOR 700 670 82fdf5
[DEBUG] getColor 700 670 > RGB: 4d3417
[ERROR] VerifyRGB: Failure! Expected d49a61, but got 54331a instead.

[ERROR] Failed to collect daily and weekly quest chests.
[DEBUG] getColor 20 1775 > RGB: 54331a

It's starting to look like something that could be used 😄
I hope that I will be able to do a default config.sh this weekend.

Progression of my testing

[ ] Player

[ ] canOpenSoren
[x] arenaHeroesOpponent

[ ] General

[ ] waitForUpdate
[x] endAt

[x] Campaign

[x] doLootAfkChest
[x] doChallengeBoss
[x] doFastRewards
[x] doCollectFriendsAndMercenaries

[ ]  Dark Forest

[x] doSoloBounties
[x] doTeamBounties
[x] doArenaOfHeroes
[ ] doLegendsTournament
[ ] doKingsTower

[ ] Ranhorn

[ ] doGuildHunts
[ ] doTwistedRealmBoss
[x] doBuyFromStore

[x] buyStoreDust
[x] buyStorePoeCoins
[x] buyStoreEmblems

[x] doStrengthenCrystal
[x] doCompanionPointsSummon
[ ] doCollectOakPresents

[ ] End

[ ] doCollectQuestChests
[x] doCollectMail
[x] doCollectMerchantFreebies

So cool! Great work! Love to see this progressing.
I also wonder how much impact it'll have on the time it'll take for the script to run. Whenever this is ready, I'll make some small timing tests! And don't worry, I will for sure welcome this PR whenever it's ready!

In my opinion, the impact on the speed of the script will be small, but on the efficiency of development / debugging will be great.
But for example, if I end up doing that:

Update the way we check colors, because many times we call takeScreenshot whether it's needed or not... something like checking if we had tapped since last capture, or having a force capture parameter if we are in waiting for color loop.

There will be only one or two updates to do in the code to update every capture.
Or some of my PR will be reduced to 1 line instead of 4 lines (getColor > test > tap)

I totally agree with that. You're developing tools to assist us in making our tool better! :+1:

Here is my progress:

add of sRGBColorDelta
prepare to use screenshotRequired to optimise the code.

And my test run:
afk-daily.sh > DEBUG=4 & SHOW_DELTA=1

config.sh
#!/bin/bash
# --- CONFIG: Modify accordingly to your game! --- #
# --- Use this link for help: https://github.com/zebscripts/AFK-Daily#configvariables --- #
# Player
canOpenSoren=false                  # Not tested I can't :(
arenaHeroesOpponent=5

# General
waitForUpdate=true
endAt="mail"

# Repetitions
maxCampaignFights=5
maxKingsTowerFights=5
totalAmountArenaTries=2+6
totalAmountGuildBossTries=2+1

# Store
buyStoreDust=true
buyStorePoeCoins=true
buyStoreEmblems=true

# --- Actions --- #
# Campaign
doLootAfkChest=true
doChallengeBoss=false               # Not tested
doFastRewards=true
doCollectFriendsAndMercenaries=true

# Dark Forest
doSoloBounties=true
doTeamBounties=true
doArenaOfHeroes=false                           # not working, try to find a fight then exit, but failed to exit :/
doLegendsTournament=true                        # break if try to launch a fight but no more tickets
doKingsTower=true                               # Open towers but no fight

# Ranhorn
doGuildHunts=false                  # Not tested
doTwistedRealmBoss=false            # Not tested
doBuyFromStore=true
doStrengthenCrystal=true
doCompanionPointsSummon=true
doCollectOakPresents=true

# End
doCollectQuestChests=true
doCollectMail=true
doCollectMerchantFreebies=true                  # not working

And the broken things:

doArenaOfHeroes i think it's a color problem, or maybe i broke something...
doLegendsTournament it's a bug of waitBattleStart 😢 infinite loop without possibility to escape if you don't have remaining tries
doKingsTower Didn't realy look the code

log
[DEBUG] kingsTower
[DEBUG] inputTapSleep 500 870
[DEBUG] battleKingsTower 550 900
[DEBUG] inputTapSleep 550 900 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 540 1350
[DEBUG] testColorOR -f 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 1d201c
[DEBUG] testColorOR 1d201c != 1a1212 [Δ 96%]
[DEBUG] inputTapSleep 70 1810 3
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 70 1810 0
[DEBUG] battleKingsTower 250 500
[DEBUG] inputTapSleep 250 500 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 540 1350
[DEBUG] testColorOR -f 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 614317
[DEBUG] testColorOR 614317 != 1a1212 [Δ 83%]
[DEBUG] inputTapSleep 70 1810 3
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 70 1810 0
[DEBUG] battleKingsTower 800 500
[DEBUG] inputTapSleep 800 500 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 540 1350
[DEBUG] testColorOR -f 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 8d5728
[DEBUG] testColorOR 8d5728 != 1a1212 [Δ 73%]
[DEBUG] inputTapSleep 70 1810 3
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 70 1810 0
[DEBUG] battleKingsTower 250 1400
[DEBUG] inputTapSleep 250 1400 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 926d49
[DEBUG] testColorOR 926d49 != 1a1212 [Δ 65%]
[DEBUG] battleKingsTower 800 1400
[DEBUG] inputTapSleep 800 1400 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 550 150 > RGB: 926d49
[DEBUG] testColorOR 926d49 != 1a1212 [Δ 65%]
[DEBUG] inputTapSleep 70 1810
[DEBUG] verifyRGB 240 1775 d49a61
[DEBUG] getColor 240 1775
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 240 1775 > RGB: d49a61
[OK] Battled at the Kings Tower.

doCollectMerchantFreebies looks to be a color problem, or maybe i broke something...

Log
[DEBUG] collectMerchants
[DEBUG] inputTapSleep 120 300 3
[DEBUG] inputTapSleep 510 1820
[DEBUG] testColorNAND 375 940 0b080a
[DEBUG] getColor 375 940
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 375 940 > RGB: bfc5d8
[DEBUG] testColorNAND bfc5d8 != 0b080a [Δ 24%]
[DEBUG] inputTapSleep 200 750 1
[DEBUG] inputTapSleep 550 300 1
[DEBUG] inputTapSleep 280 1620 1
[DEBUG] testColorNAND 375 940 050a0f
[DEBUG] getColor 375 940
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 375 940 > RGB: 62401f
[DEBUG] testColorNAND 62401f != 050a0f [Δ 78%]
[DEBUG] inputTapSleep 200 750 1
[DEBUG] inputTapSleep 550 300 1
[DEBUG] inputTapSleep 460 1620 1
[DEBUG] testColorNAND 375 940 0b080a
[DEBUG] getColor 375 940
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 375 940 > RGB: 4d321e
[DEBUG] testColorNAND 4d321e != 0b080a [Δ 83%]
[DEBUG] inputTapSleep 200 750
[DEBUG] inputTapSleep 550 300 1
[DEBUG] inputTapSleep 70 1810 1
[DEBUG] verifyRGB 20 1775 d49a61
[DEBUG] getColor 20 1775
[DEBUG] takeScreenshot (screenshotRequired=true)
[DEBUG] getColor 20 1775 > RGB: d49a61
[OK] Collected daily/weekly/monthly offer.

PS: I reversed sRGBColorDelta after my testing. Delta is a distance, so 0 should be for being the same and 100 for being opposite

After more than 1 hour of pain :feelsgood:, reading every modification, I did find some mistakes :trollface:, will see later if that fixes all the problems.
But now, it's coffee time :coffee:.

@Zebiano  Should I group function/subfunctions by tabs (Campaign, Dark Forest, Ranhord), to have a more local view of the code?

Is there a way to do loopUntilRGB with 2 different rgb values?

Is there a way to do loopUntilRGB with 2 different rgb values?

At the moment, no, you need to copy/paste the code:
while testColorNAND -f <X> <Y> <COLOR> <COLOR>; do
    sleep 1
done

But it's a good idea, I'll add it in the next commit.

Still broken 😢

doChallengeBoss

failed to detect the fight ending with waitBattleFinish

doArenaOfHeroes

failed to pick an opponent (a test problem I hope)

legendsTournament

failed to go to the screen

doKingsTower

open the right tower, but failed to start the fight then loop in waitBattleStart

doTwistedRealmBoss

looks to be a coordinates problem, but work after entering in the screen
failed to detect the fight ending with waitBattleFinish

doCollectMerchantFreebies

I think test problem

Problems with:

waitBattleFinish & waitBattleFinish may be fix (missing 1 shift)
Failed to go to the screen may be fix (problem with Check if starting from tab or already inside activity)

Working:

Restart on error 😄

Will be working soon:

screenshotRequired values seem to be good, just need to add the condition before taking a screenshot. I'll add it when everything will be working.

@Zebiano  Should I group function/subfunctions by tabs (Campaign, Dark Forest, Ranhord), to have a more local view of the code?

If you think it helps you and others to read the code better, go ahead! I'm not entirely sure I understood what you plan on doing, but I'm pretty sure it's for the better. :)

Is there a way to do loopUntilRGB with 2 different rgb values?

Out of the top of my head I don't think there's a function for that in place no. But I do believe I've used that before somewhere... Might be wrong though.
Why do you need that in the first place though? Can't you work around it by using only one RGB maybe? And it's totally fine if not btw. Just asking in case you're missing something :)

@Zebiano  Should I group function/subfunctions by tabs (Campaign, Dark Forest, Ranhord), to have a more local view of the code?

If you think it helps you and others to read the code better, go ahead! I'm not entirely sure I understood what you plan on doing, but I'm pretty sure it's for the better. :)

I want to have first the core function, then the global games function, then group by a tab (with subfunctions just before where they are needed).
For example, when I was looking for buyStoreItem I did scratch my head for quite a long time 😉

Current order
test()
sRGBColorDelta()
wait()
startApp()
closeApp()
switchApp()
disableOrientation()
takeScreenshot()
readRGB()
getColor()
verifyRGB()
inputSwipe()
inputTapSleep()
testColorOR()
testColorNAND()
testColorORTapSleep()
loopUntilRGB()
loopUntilNotRGB()
doAuto()
doSpeed()
doSkip()
waitBattleStart()
waitBattleFinish()
switchTab()
buyStoreItem()
oakSearchPresent()
oakPresentTab()
oakTryCollectPresent()
checkWhereToEnd()
quickBattleGuildBosses()
lootAfkChest()
challengeBoss()
fastRewards()
collectFriendsAndMercenaries()
soloBounties()
teamBounties()
tapClosestOpponent()
arenaOfHeroes()
legendsTournament()
battleKingsTower()
kingsTower()
guildHunts()
twistedRealmBoss()
buyFromStore()
quickCollectQuestChests()
collectQuestChests()
collectMail()
collectMerchants()
strengthenCrystal()
nobleTavern()
oakInn()
init()
run()

Another day another story or not, still broken 😉

doArenaOfHeroes

Still can't find start a fight, starting to sob 😭

log
[OK] Collected/dispatched team bounties.
[DEBUG] getColor 240 1775 > RGB: d49a61
[DEBUG] arenaOfHeroes
[DEBUG] inputTapSleep 740 1050 3
[DEBUG] inputTapSleep 550 450 3
[DEBUG] inputTapSleep 1000 1800
[DEBUG] inputTapSleep 980 410
[DEBUG] inputTapSleep 540 1800
[DEBUG] testColorNAND 200 1800 382314 382214
[DEBUG] getColor 200 1800
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 200 1800 > RGB: 150d08
[DEBUG] sRGBColorDelta 150d08 382314
[DEBUG] testColorOR 150d08 != 382314 [Δ 10%]
[WARN] Unable to fight in the Arena of Heroes because a new season is soon launching.
[DEBUG] inputTapSleep 70 1810
[DEBUG] verifyRGB 760 70 1f2d3a Checked the Arena of Heroes out. Failed to check the Arena of Heroes out.
[DEBUG] getColor 760 70
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 760 70 > RGB: 213241
[DEBUG] sRGBColorDelta 213241 1f2d3a
[INFO] Restarting
[ERROR] VerifyRGB: Failure! Expected 1f2d3a, but got 213241 instead. [Δ 2%]
[ERROR] Failed to check the Arena of Heroes out.

legendsTournament

5 first try working, but failed at the 6 try, but will be fixed by #67

doKingsTower

Enter king's tower, but don't start any fight, will look into it

log
[OK] Switched to the Dark Forest Tab.
[DEBUG] getColor 240 1775 > RGB: d49a61
[DEBUG] kingsTower
[DEBUG] inputTapSleep 500 870
[DEBUG] battleKingsTower 550 900
[DEBUG] inputTapSleep 550 900 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 540 1350
[DEBUG] testColorNAND -f 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 1d201c
[DEBUG] sRGBColorDelta 1d201c 1a1212
[DEBUG] testColorOR 1d201c != 1a1212 [Δ 4%]
[DEBUG] inputTapSleep 70 1810 3
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 70 1810 0
[DEBUG] battleKingsTower 250 500
[DEBUG] inputTapSleep 250 500 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 926d49
[DEBUG] sRGBColorDelta 926d49 1a1212
[DEBUG] testColorOR 926d49 != 1a1212 [Δ 35%]
[DEBUG] battleKingsTower 800 500
[DEBUG] inputTapSleep 800 500 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 926d49
[DEBUG] sRGBColorDelta 926d49 1a1212
[DEBUG] testColorOR 926d49 != 1a1212 [Δ 35%]
[DEBUG] battleKingsTower 250 1400
[DEBUG] inputTapSleep 250 1400 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 540 1350
[DEBUG] testColorNAND -f 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: a1e8c8
[DEBUG] sRGBColorDelta a1e8c8 1a1212
[DEBUG] testColorOR a1e8c8 != 1a1212 [Δ 70%]
[DEBUG] inputTapSleep 70 1810 3
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 1a1212
[DEBUG] inputTapSleep 70 1810 0
[DEBUG] battleKingsTower 800 1400
[DEBUG] inputTapSleep 800 1400 2
[DEBUG] testColorOR 550 150 1a1212
[DEBUG] getColor 550 150
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 550 150 > RGB: 926d49
[DEBUG] sRGBColorDelta 926d49 1a1212
[DEBUG] testColorOR 926d49 != 1a1212 [Δ 35%]
[DEBUG] inputTapSleep 70 1810
[DEBUG] verifyRGB 240 1775 d49a61 Battled at the Kings Tower. Failed to battle at the Kings Tower.
[DEBUG] getColor 240 1775
[DEBUG] takeScreenshot [screenshotRequired=true]
[OK] Battled at the Kings Tower.

doTwistedRealmBoss

Fight but don't detect end of the fight

log
[DEBUG] loopUntilRGB 30 420 380 ca9c5d
[DEBUG] testColorOR -f 420 380 ca9c5d
[DEBUG] getColor 420 380
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 420 380 > RGB: ca9c5d
[DEBUG] testColorOR -f 420 380 ca9c5d
[DEBUG] getColor 420 380
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 420 380 > RGB: ca9c5d
[DEBUG] testColorOR -f 420 380 ca9c5d
[DEBUG] getColor 420 380

doCollectMerchantFreebies

Still not clicking on the correct one...

log
[DEBUG] getColor 20 1775 > RGB: d49a61
[DEBUG] collectMerchants
[DEBUG] inputTapSleep 120 300 3
[DEBUG] inputTapSleep 510 1820
[DEBUG] testColorNAND 375 940 0b080a
[DEBUG] getColor 375 940
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 375 940 > RGB: bfc4d8
[DEBUG] sRGBColorDelta bfc4d8 0b080a
[DEBUG] testColorOR bfc4d8 != 0b080a [Δ 76%]
[DEBUG] inputTapSleep 200 750 1
[DEBUG] inputTapSleep 550 300 1
[DEBUG] inputTapSleep 280 1620 1
[DEBUG] testColorNAND 375 940 050a0f
[DEBUG] getColor 375 940
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 375 940 > RGB: 62401f
[DEBUG] sRGBColorDelta 62401f 050a0f
[DEBUG] testColorOR 62401f != 050a0f [Δ 22%]
[DEBUG] inputTapSleep 200 750 1
[DEBUG] inputTapSleep 550 300 1
[DEBUG] inputTapSleep 460 1620 1
[DEBUG] testColorNAND 375 940 0b080a
[DEBUG] getColor 375 940
[DEBUG] takeScreenshot [screenshotRequired=true]
[DEBUG] getColor 375 940 > RGB: 62401f
[DEBUG] sRGBColorDelta 62401f 0b080a
[DEBUG] testColorOR 62401f != 0b080a [Δ 22%]
[DEBUG] inputTapSleep 200 750
[DEBUG] inputTapSleep 550 300 1
[DEBUG] inputTapSleep 70 1810 1
[DEBUG] verifyRGB 20 1775 d49a61 Collected daily/weekly/monthly offer. Failed to collect daily/weekly/monthly offer.
[DEBUG] getColor 20 1775
[DEBUG] takeScreenshot [screenshotRequired=true]
[OK] Collected daily/weekly/monthly offer.

Good points:

Love [DEBUG] ❤
Restart working better than anticipated (well, it's skipping the problem)
screenshotRequired is looking good, soon will be used 😈

Will check if the fixes are working tomorrow...

Fix delta in testColorOR & testColorNAND (min/max swapped...)

Should fix doCollectMerchantFreebies
Maybe doArenaOfHeroes & doKingsTower

Fix loopUntilRGB (was using testColorOR instead of testColorNAND)

Should fix doTwistedRealmBoss

Also, could I ask you to create a message with all the changes so I can take a look at them instead of having to cycle between each message within this issue? Not yet, as you're not finished. But whenever you think the code refactoring is ready, that would be really nice. :)

Few fixes before the test run (seems I can't read properly 🤓)
Another day, another story 📅

[x] Campaign
[x] Dark Forest
[x] Ranhorn
[x] End

Everything seems to be working 👍
TODO 🔖

Try using screenshotRequired
@Zebiano Waiting for other PR to be done, then, group functions by tabs

Things I have done ✔

[x] Fix shell scripts (https://www.shellcheck.net/)
[x] Code/Comments alignments
[x] Remove unused comments
[x] Normalized functions comments
[x] Add stdout (>&1) or stderr (>&2) on echo
[x] Add DEBUG
[x] Add condition on switch tab (only switch to useful tabs)
[x] Add functions to test color:

testColorOR <X> <Y> <COLOR> [<COLOR>...], instead of:

getColor <X> <Y>
if [ "$RGB" = "<COLOR>" ]; then

getColor <X> <Y>
if [ "$RGB" = "<COLOR>" ] || [ "$RGB" = "<COLOR>" ]; then

testColorOR <X> <Y> <COLOR> [<COLOR>...], instead of:

getColor <X> <Y>
if [ "$RGB" != "<COLOR>" ]; then

getColor <X> <Y>
if [ "$RGB" != "<COLOR>" ] && [ "$RGB" != "<COLOR>" ]; then

[x] Add sRGBColorDelta to see color delta
[x] Add inputTapSleep to tap & sleep in 1 line (and it adds the possibility to add "default" actions when you tap, like screenshotRequired=true) + inputSwipe
[x] Move tests/init/run in functions
[x] Add restart on error
[x] Add wiki (@Zebiano Could be interesting to look at this)

I will try and find some time for the PRs this week still, most likely on the weekend. I just recently started a new job and it's taking a lot of the time I previously had for my personal projects.
Regarding the wiki action for the project, it looked interesting. Not sure yet if we want to use it as it might look a bit overkill. But, if it helps us keeping a nice wiki, as well as everyone being able to work on it without permissions, it looks good. Definitely a low priority though I'd say.

I will try and find some time for the PRs this week still, most likely on the weekend. I just recently started a new job and it's taking a lot of the time I previously had for my personal projects.

No problem 😉
I'm not available this weekend and the second half of next week, so take the time that you need.

The sections will look like this (with functions order by name inside)

Sections
# ##############################################################################
# Section       : Variables
# ##############################################################################

# ##############################################################################
# Section       : Core Functions
# Description   : It's like a library of useful functions
# ##############################################################################
closeApp()
disableOrientation()
getColor()
inputSwipe()
inputTapSleep()
loopUntilRGB()
loopUntilNotRGB()
readRGB()
startApp()
sRGBColorDelta()
switchApp()
takeScreenshot()
testColorOR()
testColorNAND()
testColorORTapSleep()
verifyRGB()
wait()

# ##############################################################################
# Section       : Game SubFunctions
# Description   : It's functions of this specific game
# ##############################################################################
doAuto()
doSpeed()
doSkip()
switchTab()
waitBattleFinish()
waitBattleStart()

# ##############################################################################
# Section       : Campaign
# ##############################################################################
challengeBoss()
collectFriendsAndMercenaries()
fastRewards()
lootAfkChest()

# ##############################################################################
# Section       : Dark Forest
# ##############################################################################
arenaOfHeroes()
battleKingsTower()
kingsTower()
legendsTournament()
soloBounties()
tapClosestOpponent()
teamBounties()

# ##############################################################################
# Section       : Ranhorn
# ##############################################################################
buyFromStore()
buyStoreItem()
guildHunts()
nobleTavern()
oakInn()
oakPresentTab()
oakTryCollectPresent()
oakSearchPresent()
quickBattleGuildBosses()
strengthenCrystal()
twistedRealmBoss()

# ##############################################################################
# Section       : End
# ##############################################################################
checkWhereToEnd()
collectQuestChests()
collectMail()
collectMerchants()
quickCollectQuestChests()

# ##############################################################################
# Section       : Test
# ##############################################################################
test()
tests()

# ##############################################################################
# Section       : Script Start
# ##############################################################################
init()
run()

And if you want, it's the moment to rename functions that have not the best name, and write naming convention.
Maybe using function_subfunction could be a good idea, for example:

Dark Forest

tapClosestOpponent() -> arenaOfHeroes_tapClosestOpponent()
battleKingsTower()-> kingsTower_battle()

Ranhorn

quickBattleGuildBosses() -> guildHunts_quickBattle()
buyStoreItem() -> buyFromStore_buyItem()
oakTryCollectPresent() -> oakInn_tryCollectPresent()
oakSearchPresent() -> oakInn_searchPresent()
oakPresentTab() -> oakInn_presentTab()

End

quickCollectQuestChests() -> collectQuestChests_quick()

Sections
# ##############################################################################
# Section       : Variables
# ##############################################################################

# ##############################################################################
# Section       : Core Functions
# Description   : It's like a library of usefull functions
# ##############################################################################
closeApp()
disableOrientation()
getColor()
inputSwipe()
inputTapSleep()
loopUntilRGB()
loopUntilNotRGB()
readRGB()
startApp()
sRGBColorDelta()
switchApp()
takeScreenshot()
test()
testColorOR()
testColorNAND()
testColorORTapSleep()
verifyRGB()
wait()

# ##############################################################################
# Section       : Game SubFunctions
# Description   : It's the extension of the Core for this specific game
# ##############################################################################
doAuto()
doSpeed()
doSkip()
switchTab()
waitBattleStart()
waitBattleFinish()

# ##############################################################################
# Section       : Campaign
# ##############################################################################
challengeBoss()
collectFriendsAndMercenaries()
fastRewards()
lootAfkChest()

# ##############################################################################
# Section       : Dark Forest
# ##############################################################################
arenaOfHeroes()
arenaOfHeroes_tapClosestOpponent()
kingsTower()
kingsTower_battle()
legendsTournament()
soloBounties()
teamBounties()

# ##############################################################################
# Section       : Ranhorn
# ##############################################################################
buyFromStore()
buyFromStore_buyItem()
guildHunts()
guildHunts_quickBattle()
nobleTavern()
oakInn()
oakInn_presentTab()
oakInn_searchPresent()
oakInn_tryCollectPresent()
strengthenCrystal()
twistedRealmBoss()

# ##############################################################################
# Section       : End
# ##############################################################################
checkWhereToEnd()
collectQuestChests()
collectQuestChests_quick()
collectMail()
collectMerchants()

# ##############################################################################
# Section       : Test
# ##############################################################################
tests()

# ##############################################################################
# Section       : Script Start
# ##############################################################################
init()
run()

With screenshotRequired it's still working well 😄

Maybe using function_subfunction could be a good idea

I guess this is generally a good idea, I just didn't understand in your examples why a function like arenaOfHeroes_tapClosestOpponent() even exists outside of the arenaOfHeroes() function. Doesn't it make sense to have the action of tapping the closest opponent inside the arenaOfHeroes() function? No need to call it a function in there either.

tapClosestOpponent is the function added few fix ago to try to fight another opponent if we don't find the desired one.
It's already in the current version, but it's not ordered or renamed in a way we can understand it's only used in the arenaOfHeroes function.

Looks to be working, still some values missing (currently 000000) to add as soon as possible, and it would be cool if every inputTapSleep was commented to where it's tapping 😄

Log
Task: Checking for adb...
Success: Found locally!
Task: Searching for config.ini file...
Success: Found!
Task: Validating config.ini...
Success: Passed!
Task: Checking Line endings of file config.ini...
Success: Passed!
Task: Checking Line endings of file afk-daily.sh...
Success: Passed!
Task: Checking last time script was run...
Task: Restarting ADB...
Success: Restarted!
Task: Searching for device through ADB...
Success: Found Bluestacks!

Info: Platform: Bluestacks
Info: Script Directory: storage/emulated/0/scripts/afk-arena

[INFO] Starting script... (Wed May 12 07:39:54 CEST 2021)

[OK] Switched to the Campaign Tab.
[OK] Switched to the Dark Forest Tab.
[OK] Switched to the Ranhorn Tab.
[OK] Switched to the Campaign Tab.
[OK] AFK Chest looted.
[OK] Challenged boss in campaign.
[OK] Fast rewards collected.
[INFO] No mercenaries to lend...
[OK] Sent and recieved companion points, as well as auto lending mercenaries.
[OK] AFK Chest looted.
[OK] Switched to the Dark Forest Tab.
[OK] Collected/dispatched solo bounties.
[OK] Collected/dispatched team bounties.
[OK] Checked the Arena of Heroes out.
[OK] Battled at the Legends Tournament.
[OK] Battled at the Kings Tower.
[OK] Switched to the Ranhorn Tab.
[OK] Battled Wrizz and possibly Soren.
[OK] Checked Twisted Realm Boss out.
[OK] Visited the Store.
[OK] Strenghened resonating Crystal.
[INFO] No heroes to ascend...
[OK] Attempted to ascend heroes.
[OK] Summoned one hero with Companion Points.
[OK] Attempted to collect Oak Inn presents.
[OK] Collected daily and weekly quest chests.
[INFO] No mail to collect...
[OK] Collected Mail.
[INFO] No Weekly to collect...
[INFO] No Monthly to collect...
[OK] Collected daily/weekly/monthly offer.

[INFO] End of script! (Wed May 12 07:56:39 CEST 2021)

ToDo
    # TODO:
    # check red dot to see if free fast reward is avaible
    # buyAmplifyingEmblem check yellow
    # Buy Elite Hero Soulstone
    # test 420 850 # Row 1, slot 2

    ## Next month
    # Check if red mark - Monthly Deals
    # Weekly - Purchase an item or hero from the Labyrinth store once
    # test 900 1500 # row 6, item 4 >  60 Rare Hero Soulstone / 2400 Labyrinth Tokens
    # test 660 1500 # row 6, item 3 >  60 Rare Hero Soulstone / 2400 Labyrinth Tokens
    # test 420 1500 # row 6, item 2 >  60 Rare Hero Soulstone / 2400 Labyrinth Tokens

So, I just started VSCode up thinking I'll be going through all those PRs and test them one by one, and suddenly realise they're all gone! 😄
I guess you decided to join them all into one big thing, which I respect. I also just took a glance over the wiki and I'm completely blown away by all the work you've put into it. Like seriously, thank you ever so much. Incredible. And the same applies to this PR of course.
Well... I guess what is missing now is me actually testing it all and validating it all. Oh boy, here we go...!

I of course didn't want to ping myself but instead ask @kevingrillet to take a look at my requested changes.

The .wiki folder with the individual files, are those actually linked up with the wiki of the project? Or are you making them ready to implement this action?

It's to help me prepare the fusion, you just need to copy/paste into the wiki :)
Or if you want to implement the action, it's already here.

I want to remove nox support, as it only gave me headaches and is then one less emulator we need to test every time.

No problem, it's just a few lines to remove.

Changing RGB variable name to HEX is also something I'd like to do in this PR.

Ok, just need to search & replace :)

Something else I'd like to define is the use of infinitive form or not. For example, should we use "buys stuff" or "buy stuff" when using comments in the code or even when writing in the README.md? I tend to prefer "buy stuff", "check if", "execute when", etc.

Ok, I'll try to look at this.

I will take a look at the wiki when this PR is ready to be merged, aka it'll be the last thing.

:+1:

I still need to go over the README.md, and I also want to add the stuff you mentioned here to this PR.

:+1:

Overall I'd say some more comments here and there would help, especially in those long ifs or those complicated functions. But this is minor, as mostly you can read the description above each function and you already have a good enough idea on what and how it's supposed to work! Reminder to self: check all of the comments!

I did add many comments to know where the script taps. But sometimes I didn't look at that (how the inn work for example)
I'll try to add all your suggestions/comment them as soon as possible (next week)

OK, I'll start testing the features one by one now @kevingrillet. Not sure if you still have some uncommitted changes that you might want to commit before I start? I'll try my best to do it in small commits, instead of big ones, so it's easier to pinpoint certain things.

I wanted to add a few things too, like check red dot before entering the inn / guild.

Let's keep out commits small then so we can easily merge stuff in case we're working on the same things! Feel free to code as well of course :)

Let's keep our commits small then so we can easily merge stuff in case we're working on the same things! Feel free to code as well of course :)

I'm with family today, so I'll work on it tomorrow

One more thing I'd like to quickly discuss: when the script encounters an error, it restarts and then skips the part it found the error in. So for example, the script gets hung up fighting in the campaign, so it then restarts and instead of attempting to fight in it again, skips it and goes on.
Why did you decide to do it this way? Any specific reason? I think it would be better if the script would try it again first, and then if that fails again, skip it. Maybe we could define a max amount of tries or something like that (yet another config variable, ugh)?
Forgive me if we've talked about this before and I'm not remembering. :)

I decided that because when I added the functionality the script would break if we try to redo something already half done like:

FastRewards, if you already collect the free reward
ArenaOfHeroes, if you don't have any remaining tries
LegendsTournament, if you don't have any remaining tries
GuildHunts, if you don't have any remaining tries

So when there is an error I will do it manually or try it with my debug config file

Can't we up the default DEFAULT_DELTA a bit @kevingrillet? 3 seems a bit low honestly. I'd say max 10, so we could do with 5 maybe? Have you played around with this and seen how much the delta changes things?

If you set default delta at 10 it will see dark brown & dark red as the same color :/
So you will need to remove it from 90% of the code and update it manually everywhere...
For example, it will break the new inn function, the shop too I think, ...

Hm, I see. Then I guess for the shop we could use -d 5 instead of the default value. Some more testing will be needed! Working on it now :)

Alright! I'm mostly done with testing basic feature of the script, and I can happily say they're all working as expected. Nice work @kevingrillet!
Next up is finishing the TODOs that are left, and this PR is basically ready to be finally merged. 🎉

authors: Zebiano delgatojr kevingrillet

repo: zebscripts/AFK-Daily


text:
Remove references to invitations

Closes #25
Now that we have an open beta, the invitation system no longer works or makes sense. This pull request removes any references to invitations.

Hey Petros.  I added single commit to this.  If that commit looks ok to you, you could merge this :).

authors: JosephTLyons petros

repo: zed-industries/docs


text:
Exception on broker shutdown

running the broker via broker.gsh, on shutdown (strg-c), this is logged:
2017-12-07 14:16:12.723  INFO 44558 --- [runner-broker-2] io.zeebe.logstreams                      : Creation of snapshot deployment took 5 ms.
Exception in thread "actor-scheduler-broker" java.lang.NullPointerException
        at java.util.HashMap.putMapEntries(HashMap.java:500)
        at java.util.HashMap.putAll(HashMap.java:784)
        at java.util.Collections$SynchronizedMap.putAll(Collections.java:2594)
        at ch.qos.logback.classic.util.LogbackMDCAdapter.setContextMap(LogbackMDCAdapter.java:197)
        at org.slf4j.MDC.setContextMap(MDC.java:264)
        at io.zeebe.util.actor.ActorSchedulerRunnable.run(ActorSchedulerRunnable.java:118)
        at java.lang.Thread.run(Thread.java:748)
Exception in thread "actor-runner-broker-2" java.lang.NullPointerException
        at java.util.HashMap.putMapEntries(HashMap.java:500)
        at java.util.HashMap.putAll(HashMap.java:784)
        at java.util.Collections$SynchronizedMap.putAll(Collections.java:2594)
        at ch.qos.logback.classic.util.LogbackMDCAdapter.setContextMap(LogbackMDCAdapter.java:197)
        at org.slf4j.MDC.setContextMap(MDC.java:264)
        at io.zeebe.util.actor.ActorRunner.run(ActorRunner.java:85)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
Exception in thread "actor-runner-broker-1" java.lang.NullPointerException
        at java.util.HashMap.putMapEntries(HashMap.java:500)
        at java.util.HashMap.putAll(HashMap.java:784)
        at java.util.Collections$SynchronizedMap.putAll(Collections.java:2594)
        at ch.qos.logback.classic.util.LogbackMDCAdapter.setContextMap(LogbackMDCAdapter.java:197)
        at org.slf4j.MDC.setContextMap(MDC.java:264)
        at io.zeebe.util.actor.ActorRunner.run(ActorRunner.java:85)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:748)
Exception in thread "actor-runner-service-container" java.lang.NullPointerException
        at java.util.HashMap.putMapEntries(HashMap.java:500)
        at java.util.HashMap.putAll(HashMap.java:784)
        at java.util.Collections$SynchronizedMap.putAll(Collections.java:2594)
        at ch.qos.logback.classic.util.LogbackMDCAdapter.setContextMap(LogbackMDCAdapter.java:197)
        at org.slf4j.MDC.setContextMap(MDC.java:264)
        at io.zeebe.util.actor.ActorRunner.run(ActorRunner.java:85)
        at java.lang.Thread.run(Thread.java:748)
2017-12-07 14:16:12.821  INFO 44558 --- [       Thread-2] io.zeebe.broker.system                   : Broker closed

This should be fixed with https://github.com/zeebe-io/zeebe/issues/606 which is part of 0.7.0

fixed with 0.7.0

authors: jangalinski menski

repo: zeebe-io/spring-zeebe


text:
install error

[x] I am on the latest Hyper.app version

[x] I have searched the issues of this repo and believe that this is not a duplicate

OS version and name: window 10 1803

Link of a Gist with the contents of your .hyper.js:https://gist.github.com/Dec-F/af0f2d54fd25dbf4676dbf5ea0792416

Relevant information from devtools (CMD+ALT+I on macOS, CTRL+SHIFT+I elsewhere):

The issue is reproducible in vanilla Hyper.app:

Issue
Window-build-tool has been installed.
Errors occur after running  yarn , such as gist above

@Dec-F you didn't link to your hyper.js - instead you linked to the blog log which is good, but your config is also needed.
I also suggest trying this in a clean Windows VM if you need to use Windows.

@jcrben   Yes, I tried to run on the virtual machine's windows and it worked fine.Thanks

@Dec-F did you figure out the ultimate cause of the problem?

authors: Dec-F jcrben

repo: zeit/hyper


text:
fast-glob fails with SyntaxError: Unexpected token from  relocate-loader

Found syntax error when bundling fast-glob:
Repro:
git clone https://gist.github.com/7f5cb8d054337c0b1a8217501305514f.git ncc-bug
cd ncc-bug
npm i
npx ncc build input.js

logs:
ncc: Version 0.20.1
ncc: Compiling file index.js
Error: Module build failed (from (webpack)/ncc/loaders/relocate-loader.js):
SyntaxError: Unexpected token (22:10)
    at Object.re.raise (evalmachine.<anonymous>:1:271099)
    at Object.V.unexpected (evalmachine.<anonymous>:1:227376)
    at Object.ee.parseIdent (evalmachine.<anonymous>:1:270282)
    at Object.parseIdent (evalmachine.<anonymous>:1:466467)
    at Object.parseIdent (evalmachine.<anonymous>:1:191232)
    at Object.ee.parsePropertyName (evalmachine.<anonymous>:1:266678)
    at Object.parsePropertyName (evalmachine.<anonymous>:1:4077)
    at Object.Q.parseClassElement (evalmachine.<anonymous>:1:241588)
    at Object.parseClassElement (evalmachine.<anonymous>:1:464657)
    at Object.parseClassElement (evalmachine.<anonymous>:1:187765)
Module build failed (from (webpack)/ncc/loaders/relocate-loader.js):
SyntaxError: Unexpected token (23:10)
    at Object.re.raise (evalmachine.<anonymous>:1:271099)
    at Object.V.unexpected (evalmachine.<anonymous>:1:227376)
    at Object.ee.parseIdent (evalmachine.<anonymous>:1:270282)
    at Object.parseIdent (evalmachine.<anonymous>:1:466467)
    at Object.parseIdent (evalmachine.<anonymous>:1:191232)
    at Object.ee.parsePropertyName (evalmachine.<anonymous>:1:266678)
    at Object.parsePropertyName (evalmachine.<anonymous>:1:4077)
    at Object.Q.parseClassElement (evalmachine.<anonymous>:1:241588)
    at Object.parseClassElement (evalmachine.<anonymous>:1:464657)
    at Object.parseClassElement (evalmachine.<anonymous>:1:187765)
    at compiler.close.n (evalmachine.<anonymous>:1:1539315)
    at _promise0.then._result0 (eval at create (evalmachine.<anonymous>:1:273321), <anonymous>:13:1)
    at process._tickCallback (internal/process/next_tick.js:68:7)

Thanks! I was able to reproduce this issue.

I recently struggled with this same error trying to build fast-glob with browserify. Using the @babel/preset-env transform solved the problem, though I'm not sure which syntax transform solved it, or how you would do the same in webpack.

Fixed in 0.20.4 via https://github.com/zeit/ncc/pull/448.

@guybedford @styfle  I still face the same issue but not sure which dependency is causing it
2019-07-16T10:24:54.555Z  Error: Module build failed (from /tmp/6f7bd075/.build-utils/.builder/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js):
                          SyntaxError: Unexpected token (16:10)
                              at Object.re.raise (evalmachine.<anonymous>:1:266416)
                              at Object.z.unexpected (evalmachine.<anonymous>:1:222693)
                              at Object.ee.parseIdent (evalmachine.<anonymous>:1:265599)
                              at Object.parseIdent (evalmachine.<anonymous>:1:461728)
                              at Object.parseIdent (evalmachine.<anonymous>:1:186548)
                              at Object.ee.parsePropertyName (evalmachine.<anonymous>:1:261995)
                              at Object.parsePropertyName (evalmachine.<anonymous>:1:4333)
                              at Object.H.parseClassElement (evalmachine.<anonymous>:1:236905)
                              at Object.parseClassElement (evalmachine.<anonymous>:1:459918)
                              at Object.parseClassElement (evalmachine.<anonymous>:1:183081)
                          Module build failed (from /tmp/6f7bd075/.build-utils/.builder/node_modules/@zeit/ncc/dist/ncc/loaders/relocate-loader.js):
                          SyntaxError: Unexpected token (15:10)
                              at Object.re.raise (evalmachine.<anonymous>:1:266416)
                              at Object.z.unexpected (evalmachine.<anonymous>:1:222693)
                              at Object.ee.parseIdent (evalmachine.<anonymous>:1:265599)
                              at Object.parseIdent (evalmachine.<anonymous>:1:461728)
                              at Object.parseIdent (evalmachine.<anonymous>:1:186548)
                              at Object.ee.parsePropertyName (evalmachine.<anonymous>:1:261995)
                              at Object.parsePropertyName (evalmachine.<anonymous>:1:4333)
                              at Object.H.parseClassElement (evalmachine.<anonymous>:1:236905)
                              at Object.parseClassElement (evalmachine.<anonymous>:1:459918)
                              at Object.parseClassElement (evalmachine.<anonymous>:1:183081)
                              at compiler.close.n (evalmachine.<anonymous>:3:1350338)
                              at _promise0.then._result0 (eval at create (evalmachine.<anonymous>:1:349386), <anonymous>:13:1)
                              at <anonymous>

how can i debug this?

My issue was that the deployment environment was still using the old version of ncc but not sure how to upgrade it to 0.20.4

If you're using ZEIT Now, you can try the latest builder @now/node@canary.

@styfle it's building correctly after i tried canary but i am facing the following issue when trying to access the deployment URL
2019-07-16T16:07:02.708Z	8f2fbb84-5482-48bc-bd92-aeae76e8e330	Cannot find module '@nodelib/fs.stat'
2019-07-16T16:07:02.708Z	8f2fbb84-5482-48bc-bd92-aeae76e8e330	Did you forget to add it to "dependencies" in `package.json`?

@gimyboya Are you using yarn workspaces? There is a known bug we are working on with symlinks.

Oh right, I am.
Should I switch to npm?

You can try referencing the path directly (probably require('fs') in your case) instead of the workspace symlink.
Follow this PR which will probably be fixed today or tomorrow https://github.com/zeit/now-builders/pull/765

authors: A-lxe egoist gimyboya guybedford styfle

repo: zeit/ncc


text:
Server stops responding

Server hangs when you reload any pages 7 times. This happens only on the following situation:

run your server with dev mode
ServiceWorker is running by using next/prefetch

It seems Server Sent Events of webpack-hot-middleware and our Service Worker implementation is incompatible.

Oh! Is that the problem here.

authors: arunoda nkzawa