"Execution Timeout Expired" on Large SQL Dataset

Model Builder or CLI Version:
<IP_ADDRESS>2602

Visual Studio Version (if applicable):
Microsoft Visual Studio Community 2022 (64-bit) - Current
Version 17.5.4

On which page of the tutorial did you run into an issue (URL): N/A this is a bug in the Model Builder itself.

Clear description of the problem:

Screen capture 1 shows a generic timeout error when attempting to connect to SQL data source.  This only occurs on very large datasets.  For example, the timeout occurring on the desired data training set has 3936051 records in the table.  I can switch to a table with a smaller number of records and everything loads just fine.  I don't see a way to change the timeout time other than in the Advanced Settings when connecting to the database, but I changed the Initialization >> Command Timeout value to 3600 and it still errors within the same amount of time so that doesn't appear to affect this timeout.
Screen capture 2 shows that I can go into the "Advanced data options" and manually set my label in the UI, but then throws an error when saving.  Screen capture 3 shows the selected label was saved regardless.
Screen capture 4 shows that I can select a different table from the database with smaller number of records and it loads just fine to proceed to the next steps.
To summarize the problem:

Using SQL database as source with very large dataset fails to load
"Data Preview, Processing data...." runs indefinitely
"Next step" button never enables due to these issues, so I can never finish the model unless I use a much smaller dataset which is not desirable for my application

Steps to reproduce the behavior:

Select value prediction scenario
Select local training environment
Input >> SQL Server
Data source >> Microsoft SQL Server
Authenticate server and select database
Select table with very large dataset (almost 4 million records in my case) and wait for the following error typically after ~30 seconds: "Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding."
Select a different table with smaller dataset to verify the connection is still active and working pointing to the large dataset as the issue

Expected behavior
The expected behavior is that "Data Preview" doesn't timeout that soon, that the preview of the large dataset is loaded, that I can then select from the "Column to predict (Label)" dropdown list which column should be the label, and that the "Next step" button enables after selecting the label.
Screen capture 1

Full stack trace:
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action1 wrapCloseInAction)    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)    at System.Data.SqlClient.SqlCommand.InternalEndExecuteReader(IAsyncResult asyncResult, String endMethod, Boolean isInternal)    at System.Data.SqlClient.SqlCommand.EndExecuteReaderInternal(IAsyncResult asyncResult)    at System.Data.SqlClient.SqlCommand.EndExecuteReaderAsync(IAsyncResult asyncResult)    at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.DataProviders.SQLDataProvider.d__15.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.ToolWindows.DataTextViewModel.d__146.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.ToolWindows.TextDataControl.<>c__DisplayClass4_0.<b__0>d.MoveNext()
Screen capture 2

Full stack trace:
at System.ThrowHelper.ThrowArgumentNullException(ExceptionArgument argument)
at System.Collections.Generic.Dictionary2.FindEntry(TKey key)    at System.Collections.Generic.Dictionary2.TryGetValue(TKey key, TValue& value)
at Microsoft.ML.ModelBuilder.Utils.Utilities.GetTrainValidateDataSplitRatio(String ratio)
at Microsoft.ML.ModelBuilder.ViewModels.AdvancedDataOptionsViewModel.d__64.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.ToolWindows.AdvancedDataOptions.AdvancedDataCleaningDialog.<>c__DisplayClass3_0.<<SaveButton_Click>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.Threading.JoinableTask.CompleteOnCurrentThread()
at Microsoft.ML.ModelBuilder.ToolWindows.AdvancedDataOptions.AdvancedDataCleaningDialog.SaveButton_Click(Object sender, RoutedEventArgs e)
Screen capture 3

Screen capture 4

Additional context
Consistently reproduceable following the steps above.  It only occurs trying to use the tables with many 100k's of records.

@shainey0816 I wonder if command timeout is correctly set in model builder, would you mind sharing your connection string(withouth sensitive data) in modelbuilder with us? You can find it in .mbconfig
also @zewditu

There doesn't appear to be too much in the connection string from model builder.  See below.
Data Source=mydatabase.database.windows.net;Initial Catalog=sffc-sns;Persist Security Info=True;User ID=myUser
I've tried changing the Command Timeout property to a value greater than the default 30 doesn't produce different results.  Still times out around ~30 seconds regardless of what value I use.

@shainey0816  after you change your command timeout property to some other value  greater than 30 seconds and save your Model builder file   could you share  your connection string from model builder?
It should appear in your connection string

From Model Builder Side we might need to improve the performance of some of our methods like GetSqlTableRowCountAsync

I'm facing the same issue. I checked the database query logs and I can see that the query was going on when Git Actions said it timed out. A new session is created to execute the error block. Once the new session is completed, the old session is killed too.


Is it possible to use the same Server for 2 scripts open in 2 tabs

Based on the example given, each time we open the script in a monaco editor in a browser a new server is started, is there a way to reuse the already started server.

The language server protocol is stateful, there is a handshake at start, so the protocol wasn't really designed for this, so there is no trivial way.
This being said, you can still implement a kind of "proxy" which play the role of the client to the server, and the role of the server to the client.
It can keep the language server up, and just send the DidOpenTextDocument notif when a client arrives and the DidCloseTextDocument when a client leaves

Oh I didn't read the title properly!
If you want 2 clients on the same server, I guess it's still possible using the same kind of proxy, you'll just need a "main" client responsible for the file update, and a specific logic for each server notifications/requests

Thanks for the update @CGNonofr . is there any example code for creating the proxy?.

I'm not aware of any implementation of it but I didn't search much.
Btw I'll probably have this need in the soon future so stay tuned.

Hi @CGNonofr  is there any update on this?

I think you can give a try to https://github.com/CodinGame/languageserver-mutualized.
It can do a little more than what you need (it allows multiple clients to edit the same file).
Do not hesitate to provide some feedback

Hi @CGNonofr ,
This solves most of the problem. I have one clarification..
Things are working as expected when opening file from same workspace in 2 different editor or browser tabs.. but when we try to open another file form a different workspace language it doesn't work as expected. How to handle this scenario.
Thanks
Arun

Please open an issue on the other repo and close your issue here, we'll not disturb this repo ;)

Actually, in the earlier approach where we open separate server for each browser tab this scenario was working. Now with new approach this is not working

So you have an issue using the languageserver-mutualized lib right? Why doesn't creating an issue there seem relevant to you?
Btw I need some clarifications on

we try to open another file form a different workspace language it doesn't work as expected

What is a "workspace language"? What doesn't work?

I am using Java Language Server, In this each maven project is a separate workspace.
I have created a new issue in the other repo. We can track this in the new issue


About the implementation of dynamic configuration rules

1.Why does the modsecurity_rules  instruction parameter not support the ngx.var.xxx($xxx) variable?
2.In order to not create a lot of location configuration, how to dynamically implement the rule configuration based on different domain names?

Hello @aipach ,
If I'm understanding your question 2 correctly, you can supply different configurations for two different nginx server blocks, or two different location blocks.
If you believe that those methods are inadequate for some needs, please fully illustrate how you would like to be using the technique you described in your first point, and why that would be preferable.

@martinhsv  For example：
server {
listen       80;
server_name  localhost;
    #charset koi8-r;
    #access_log  logs/host.access.log  main;
    set $sec_path /usr/local/openresty/nginx/conf/rules/modsecurity.conf;
    modsecurity on;
    modsecurity_rules_file $sec_path ;

    location / {

        root   html;
        index  index.html index.htm;
    }

}
error: nginx: [emerg] "modsecurity_rules_file" directive Failed to open the file: $sec_path
Some directives in nginx can take variables, Why is this configuration not allowed?

Hello @aipach ,
I don't believe this is unique to modsecurity_rules_file . My understanding is that within nginx, variables are expected in some places and not in others. I.e. that implementation of variable expansion is for specifically chosen items and not a general rule.
For example, I don't believe you can replace:
client_max_body_size 5M;

with
    set $cmb 5M;
    client_max_body_size $cmb ;

If there were a compelling use case, what you suggest could be considered as an enhancement. But given that this has not arisen in the 5 years since v3.0.0 was released, I guess I'm assuming that most users find being able to specify paths directly within server or location blocks to be sufficient.
If you like, feel free to illustrate an example where you think variable expansion would be of high value compared to what one can do today.

Hello @martinhsv ,
I know that this configuration will consume a lot of memory.
I just want to change variables for different domain names to implement different rules and reduce the configuration of nginx, or use lua language to directly modify the loaded rules of the memory variable value, reducing the number of nginx reload times, Achieve real-time rule change effect.
Anyway, thanks for your reply, I have been trying to see the source code modification.


JSON and HTML reports are not generated if a directory is given to --json and --html options

It's not really a bug but JSON and HTML reports are not generated if a directory is given to --json and --html options.
I wanted to generate JSON and HTML reports into a specific directory with by default names.
I just gave a directory to --json and --html options but it did not generate the reports.
Maybe it's possible to create --output_directory option (current directory by default) so that we just have to change names with --out1, --out2, --json and --html options. Just an idea 🙂 !

But actually this can be done with --json <dir/fastp.json> --html <dir/fastp.html>.
fastp will throw an error and quit immediately if you specify a existing folder name directly.

Yes yes of course, it was just an idea!
By default names were ok for me so I just try to give a directory to these 2 options and it did not work.
Thanks for your answer!

Likely a stupid question, but since I am struggling with something similar:
How to generate a report if I am using for <dir> a character string that is composed of  a directory name + fastq name? Thus e.g. 'samplenumber/fastqname'?
My file setup:
workingdir
    seqdata
        - sample1
            --file1.fq.gz
        - sample 2
            --file2.fq.gz

    pfast_out

In the working  directory I am executing fastp in a loop using:
#!/bin/bash
find $PWD/seqdata \( -name '*.fq.gz' -or -name '*.fq' \) -print0 | while read -d $'\0' fn
do
echo "Processing sample ${fn}"
fastp -i ${fn} -p -w 4  --json $PWD/pfast_out/${fn}/fastp.json --html $PWD/pfast_out/${fn}/fastp.html
done

directory pfast_out (in is created by me before starting pfast, but the *.json and *.html files are not generated??
Output names are /workingdir/pfast_out/seqdata/sample1/file1.fq.gz/fastp.json, etc.
Since the sub-directory in bold doesn't exists when the files have to be written, the*.json and *.html files are not generated...
How to achieve this?
Thanks for any suggestions!

For the archive; to answer my own question:
after 2nd thought the solution was quite simple: before calling fastp I only had to add a command to create a new directory:
mkdir -p $PWD/fastp_out/${fn}
That was all....


Add batch selection method options - such as slide in space

Currently randomly samples the space, convolutions would be really cool
What would be SUPER cool is if the visualizations showed the convolutions it was training on by highlighting a box or something

Coded up a sloppy version of this, it's working, and understood its first smiley face

Rewording this to "batch selection"


Dependency packages version conflict in .NET 6

I have a .NET 6 web application and I used
Microsoft.AspNetCore.Authentication.JwtBearer Version=6.0.1
This package has a dependency to Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 6.10.0)

Microsoft.Data.SqlClient -Version 4.0.1 has dependency to Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 6.8.0)

So there is a conflict with the versions
I think need to update dependencies

@sjahongir you can always overwrite the version in the csproj. Have you tried that?

@JRahnama As you said I will try, thank you for the answer.

@sjahongir any update on this issue? If your issue is solved please feel free to close it.

@JRahnama As you said I will try, thank you for the answer.

https://github.com/dotnet-outdated/dotnet-outdated
Command: dotnet outdated -u -t

@Ryba1986, I think the issue is addressed with the latest release of M.D.SqlClient v5.0. Closing the issue as fixed. Please feel free to open a new issue or comment here if you still see the problem.


Direct users to add kv-namespaces to specific portion of toml

cc @steveklabnik
If users add kv-namespaces snippet to bottom of a site config, it freaks out because it thinks it's part of site.
account_id = "f5518bfbf88c230551a64797c221c7da"
name = "website"
type = "webpack"
route = "www.steveklabnik.com/*"
zone_id = "9359b254c46ff9f5c546203686794862"
workers_dev = false

[site]
bucket = "./public"
entry-point = "workers-site"

kv-namespaces = [
         { binding = "new_namespace", id = "5161cf32bf194293a8591c3c65a24c0a" }
]

We should do two things here:

If we detect kv-namespaces in the site struct, we should warn them to move it
When we ask people to add kv-namespaces to their toml, we should direct them to add it to the top level config, and not below site

Alternatively we could just rewrite their toml for them but that gets a little hairy, especially if they have things like comments

I think option 1 is by far the best option. Option 2 doesn't play well with folks who have different environments and don't necessarily want to put their kv-namespaces up in the top-level config.

Actually, could we even just make
[site]
bucket = ""
entry-point ""

into
site = {
bucket = "", entry-point = ""
}

instead? This way, there is no way kv-namespaces will be accidentally lumped under sites. We can also stop users from getting confused between sites and environments...


demo: SPIRE HA mode

closing: out-of-scope.
HA SPIRE is an infrastructure concern, not necessarily related to how VSecM operates.


One more Druid test

Coverage increased (+1.7%) to 80.774% when pulling 37076dfb4158ea201978af172bf44bd1d9c8ca53 on druid_tests into a5f33fecd81ce1c86859856bdc1a3a4f73b7893c on master.


request for different sets of worker nodes

Hi,
Feature request: Install multiple workers with  different flavours
Could you please change the terraform code so it is possible to use multiple vm flavours on the worker nodes.
I.E. 2 workers with flavor y, 6 workers with flavor x and 3 workers with flavour z.
Usage for enduser: Preferably by specifying in settings.yml amount of workers and their flavour.
Regards
Fredrik

Thanks for the request. This sounds like a useful feature. We'll see what we can do about it.


ImportError: undefined symbol: clock_gettime

I ran these successfully:
$ bazel build -c opt //tensorflow/tools/pip_package:build_pip_package
$ bazel-bin/tensorflow/tools/pip_package/build_pip_package /tmp/tensorflow_pkg
$ pip install --user /tmp/tensorflow_pkg/tensorflow-0.5.0-py2-none-any.whl

But the convolutional.py Python script gives an error:
$ python2.7 tensorflow/models/image/mnist/convolutional.py
Traceback (most recent call last):
  File "tensorflow/models/image/mnist/convolutional.py", line 13, in <module>
    import tensorflow.python.platform
  File "/home/name/.local/lib/python2.7/site-packages/tensorflow/__init__.py", line 4, in <module>
    from tensorflow.python import *
  File "/home/name/.local/lib/python2.7/site-packages/tensorflow/python/__init__.py", line 22, in <module>
    from tensorflow.python.client.client_lib import *
  File "/home/name/.local/lib/python2.7/site-packages/tensorflow/python/client/client_lib.py", line 35, in <module>
    from tensorflow.python.client.session import InteractiveSession
  File "/home/name/.local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 11, in <module>
    from tensorflow.python import pywrap_tensorflow as tf_session
  File "/home/name/.local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 26, in <module>
    _pywrap_tensorflow = swig_import_helper()
  File "/home/name/.local/lib/python2.7/site-packages/tensorflow/python/pywrap_tensorflow.py", line 22, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description)
ImportError: /home/name/.local/lib/python2.7/site-packages/tensorflow/python/_pywrap_tensorflow.so:
undefined symbol: clock_gettime

Which OS version and glibc version are you using? Based the answers to a similar stackoverflow question, my guess is that you have a glibc version earlier than 2.17, which is needed for the binary distribution to work.
The easiest workaround may be to install a Docker container containing TensorFlow, by following the instructions here.

Docker seems like a good option, though I don't have root/sudo access on my current machine, so it's harder to install.
I did just solve the import error undefined symbol: clock_gettime error, by adding -lrt to the build like this:
--- a/tensorflow/tensorflow.bzl
+++ b/tensorflow/tensorflow.bzl
@@ -284,7 +284,7 @@ _py_wrap_cc = rule(attrs={

 def tf_extension_linkopts():
-  return []  # No extension link opts
+  return ["-lrt"]

Thanks for checking that that works!

might be a bit off topic but I'm getting the same error on another openai package:
>>> import fastzbarlight
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/lib64/python3.4/site-packages/fastzbarlight/__init__.py", line 7, in <module>
    from ._zbarlight import zbar_code_scanner
ImportError: /usr/lib64/python3.4/site-packages/fastzbarlight/_zbarlight.cpython-34m.so: undefined symbol: clock_gettime


add br 1-22 template to buildspec

Issue #, if available:
Description of changes:
Testing (if applicable):
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm


Disable fromClusterClaim when namespace restrictions are set

In commit 612affb, an attempt was made to restrict fromClusterClaim to a
specific namespace when the namespace is restricted (LookupNamespace).
The issue is that ClusterClaim is a cluster resource and not a namespace
resource so this approach did not work.
This commit makes it so that fromClusterClaim raises an error when the
namespace is restricted (LookupNamespace).

/lgtm


& character escaped to & on dynamic template subjects

Issue Summary
When using dyamic templates and substitutions to set the e-mail subject, the character & is escaped to & which makes the subject of the e-mail not show company / product names correctly.
EX: The subject is of the message received is Thanks for buying at C&A instead of the expected:  Thanks for buying at C&A.
Steps to Reproduce

Create a new dynamic template and set the subject to {{subject}}

Send the e-mail informing a subject containing the & character:

const sgMail = require("@sendgrid/mail");

const templateId = "XXXXXXXX";
const apiKey =  "XXXXXXXXXX";

sgMail.setApiKey(apiKey);
const msg = {
  templateId,
  to<EMAIL_ADDRESS>  from<EMAIL_ADDRESS>  dynamic_template_data: {
    subject: "Escape & work"
  }
};
sgMail.send(msg);

Check your e-mail client for the message with subject Escape & work

Technical details:

sendgrid-nodejs Version: 6.3.1
Node.js Version: 6.10.3

Hello @rafaelrpinto
Looks like what you need to do is use a triple bracket on your subject so that handlebars does not HTML encode the content. So instead of using {{subject}} use {{{subject}}}. We have an example of this in our docs here and is talked about in the handlebars documentation here under HTML Escaping.

@kylearoberts
Yep, that solves my problem.
Thanks for the quick response.
Rafael

@kylearoberts
Yep, that solves my problem.
Thanks for the quick response.
Rafael

Please show how your msg looks like (code example) after you added {{{}}} ?

@maxirby
The code is the same, what changed is the subject definition on the template where I set to: {{{subject}}} instead of {{subject}}

Thanks
On Thu, Aug 29, 2019 at 12:11 PM Rafael Pinto<EMAIL_ADDRESS>wrote:

@maxirby https://github.com/maxirby
The code is the same, what changed is the subject definition on the
template where I set to: {{{subject}}} instead of {{subject}}
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/sendgrid/sendgrid-nodejs/issues/741?email_source=notifications&email_token=AAN3HIAAR4C4A7P5BMV46M3QG6OFDA5CNFSM4FVM6IJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD5N7KTI#issuecomment-526120269,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAN3HICBW77KL3A637OMKTDQG6OFDANCNFSM4FVM6IJQ
.

It would be handy if the automatic plain text templates converted {{ value }} to {{{ value }}}` to avoid HTML entities appearing in plain text emails.

@kylearoberts
Yep, that solves my problem.
Thanks for the quick response.
Rafael

Please show how your msg looks like (code example) after you added {{{}}} ?

It's the template itself that needs to be updates - using the UI like this:

by adding the triple brackets in the settings/subject setting

Wrapping the variable with three brackets doesn't resolve the issue for the subject, just for the email body.
Test data:
{
    "first_name": "Mc'Brian"
}

In the Email Body:

Using {{first_name}} renders the encoded value Mc'Brian.
Using {{{first_name}}} renders the value correctly as Mc'Brian.

In the Subject Line:

Both {{first_name}} and {{{first_name}}} render the value as Mc'Brian.

I tried both {{{first_name}}}, and {{{ first_name }}}, the outcome is the same.


Error: SELF_SIGNED_CERT_IN_CHAIN undefined: Getting metadata from plugin failed with error: request to https://www.googleapis.com/oauth2/v4/token failed

Looks like issues that started at 12:30 CT about a self signed cert in chain when interacting with cloud datastore. This was a cron job that runs every minute and has been running for months.
If the support paths suggested above still do not result in a resolution, please provide the following details.
Environment details

OS: ubuntu 16
Node.js version: 12.15.0
npm version: 6.13.4
google-gax version: 1.15.1

Steps to reproduce
{ Error: SELF_SIGNED_CERT_IN_CHAIN undefined: Getting metadata from plugin failed with error: request to https://www.googleapis.com/oauth2/v4/token failed, reason: self signed certificate in certificate chain
    at Object.callErrorFromStatus (/snow-ticket-worker-4602/workspace/snow-ticket-worker-ci/master/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call.js:30:26)
    at Http2CallStream.call.on (/snow-ticket-worker-4602/workspace/snow-ticket-worker-ci/master/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/client.js:96:33)
    at Http2CallStream.emit (events.js:203:15)
    at process.nextTick (/snow-ticket-worker-4602/workspace/snow-ticket-worker-ci/master/node_modules/google-gax/node_modules/@grpc/grpc-js/build/src/call-stream.js:100:22)
    at process._tickCallback (internal/process/next_tick.js:61:11)
  code: 'SELF_SIGNED_CERT_IN_CHAIN',
  details:
   'Getting metadata from plugin failed with error: request to https://www.googleapis.com/oauth2/v4/token failed, reason: self signed certificate in certificate chain',
  metadata: Metadata { internalRepr: Map {}, options: {} },
  note:
   'Exception occurred in retry method that was not classified as transient' }
`11

No idea still, but assuming some bad CI job or hidden proxy


Adjust constness and suppress compilation warnings

Let's not suppress the warnings but rather fix them?

Sure, that's what I had in mind.


feat: industry page fast track

This PR adds the following updates to the industry page:
Updated Text
Updated Hero Image

@Cyro292 I closed the other PR (into develop), this here should be fine to merge after you checked


Music Cape

Changed achievement diary cape clue boost to 5%
Added 5% clue boost for quest cape
Added 5% master clue boost for music cape (ty gid)
Allowed the above capes boost's to work from bank (ty gid)
Added music cape to buyables
(has requirement of both qp cape + diary cape)
Added music cape to cl capes
Added chompy chick to various CL's, it was listed as unobtainable, guessing this was forgot about when chompy hunting was added

I have an idea for music cape which is more accurate to ingame than this (requires doing atleast 1 of every possible activity in the bot), and so it should be removed from this PR.

sorry but i dont think anyone wants that, sounds very tedious considering there is no list of all activities and half of osrs content is still missing


Development

TODO List:

[x] Remove npm ignore files
[x] Extract toolkit from core package
[x] Extract domain from core package
[x] Extract transport from core package
[x] Force override keyword
[x] Upgrade to the latest node version
[x] Add tsdoc
[x] Remove exception.constant
[x] Deploy typedoc to github pages
[x] Remove hygen
[x] Convert mappers to instances
[ ] Raise coverage

Codecov Report

Merging #58 (73d6c44) into next (9bdf649) will increase coverage by 14.47%.
The diff coverage is 37.95%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff             @@
##             next      #58       +/-   ##
===========================================
+ Coverage   22.70%   37.17%   +14.47%
===========================================
  Files          86       86
  Lines        1903     1727      -176
  Branches      266      251       -15
===========================================
+ Hits          432      642      +210
+ Misses       1438     1052      -386
  Partials       33       33


Refresh timeNow even before the first tick

Without this fix, when I run code similar to the one in #181 (i.e. displaying the amount of time that has passed since the button was clicked, which is always in the past of course), then it displays "within a few seconds" at first, and only after a second (after the first tick fires) it updates to the correct "a few seconds ago". That's because right after the button click, date has already been moved forward, but timeNow has not. The change of date triggers the useEffect, but that doesn't trigger a timeNow update until the first tick fired. Therefore, add a timeNow update immediately as well.

Presumably this also fixes the following problem:

Press the button once.
Go away for a day or so. (This is a long time, making it difficult to test manually; but in a real application, just imagine the user having the browser tab in the background, perhaps even putting the device to standby, and coming back a long time later.)
Press the button again.

Now, the button will show "in about a day" because date has been moved to the new day, but timeNow is still stuck at the old day. And this time, it won't fix itself after a second, because the period is computed as a day (or at least hour) as well, so it takes that long for the first tick to happen and for the display to correct itself.

I just merged a similar PR. Could you rebase and re-test?

I suppose it's equivalent indeed. I'll close this one, and I can pick this up again if, after you've released the other one to NPM and I've used it for a while in my application, there's still an issue. It's not possible to test this quickly, because the phenomenon I'm trying to fix only happens a day later.


🐛 | No GPIO Functions after 2.4

Bug
After Installation of the 2.1 Version the gpio service is not working anymore.
What I did
I installed the raspberry pi with above mentioned buster image and ran the installer script.
Erverything works fine as before but the configured gpio buttons are not working.
I expected this to happen
On older versions the gpio service was working properly after configuration.

What's the output of tail /var/log/sylph -n 200?

pi@phoniebox:~ $ tail /var/log/syslog -n 200
Feb  1 21:57:39 phoniebox systemd[1]: phoniebox-gpio-control.service: Service RestartSec=3s expired, scheduling restart.
Feb  1 21:57:39 phoniebox systemd[1]: phoniebox-gpio-control.service: Scheduled restart job, restart counter is at 35.
Feb  1 21:57:39 phoniebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Feb  1 21:57:39 phoniebox systemd[1]: Started Phoniebox GPIO Control Service.
Feb  1 21:57:39 phoniebox mopidy[5756]: INFO     [MpdSession-154] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38270
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:GPIO Started
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:['VolumeControl', 'PrevNextControl', 'PlayPause', 'Shutdown', 'PauseShutdown', 'Volume0', 'VolumeUp', 'VolumeDown', 'NextSong', 'PrevSong', 'FastForward', 'Rewind', 'Halt', 'RFIDDevice']
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:Device VolumeControl not enabled
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:Device PrevNextControl not enabled
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:adding GPIO-Device, PlayPause
Feb  1 21:57:39 phoniebox mopidy[5756]: INFO     [MpdSession-155] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38274
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:adding GPIO-Device, Shutdown
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:Device PauseShutdown not enabled
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:Device Volume0 not enabled
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: INFO:main:adding GPIO-Device, VolumeUp
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: PlayPause
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: Shutdown
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: VolumeUp
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: Traceback (most recent call last):
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 127, in
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:     devices = gpio_controler.get_all_devices(config)
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 95, in get_all_devices
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:     device = self.generate_device(config[section], section)
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 62, in generate_device
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:     pull_up_down=config.get('pull_up_down', fallback='pull_up'))
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py", line 87, in init
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]:     bouncetime=self.bouncetime)
Feb  1 21:57:39 phoniebox PhonieboxGPIOControl[18355]: RuntimeError: Failed to add edge detection
Feb  1 21:57:39 phoniebox systemd[1]: phoniebox-gpio-control.service: Main process exited, code=exited, status=1/FAILURE
Feb  1 21:57:39 phoniebox systemd[1]: phoniebox-gpio-control.service: Failed with result 'exit-code'.
Feb  1 21:57:40 phoniebox mopidy[5756]: INFO     [MpdSession-156] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38278
Feb  1 21:57:41 phoniebox mopidy[5756]: INFO     [MpdSession-157] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38282
Feb  1 21:57:42 phoniebox mopidy[5756]: INFO     [MpdSession-158] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38286
Feb  1 21:57:42 phoniebox systemd[1]: phoniebox-gpio-control.service: Service RestartSec=3s expired, scheduling restart.
Feb  1 21:57:42 phoniebox systemd[1]: phoniebox-gpio-control.service: Scheduled restart job, restart counter is at 36.
Feb  1 21:57:42 phoniebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Feb  1 21:57:42 phoniebox systemd[1]: Started Phoniebox GPIO Control Service.
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:GPIO Started
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:['VolumeControl', 'PrevNextControl', 'PlayPause', 'Shutdown', 'PauseShutdown', 'Volume0', 'VolumeUp', 'VolumeDown', 'NextSong', 'PrevSong', 'FastForward', 'Rewind', 'Halt', 'RFIDDevice']
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:Device VolumeControl not enabled
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:Device PrevNextControl not enabled
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:adding GPIO-Device, PlayPause
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:adding GPIO-Device, Shutdown
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:Device PauseShutdown not enabled
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:Device Volume0 not enabled
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: INFO:main:adding GPIO-Device, VolumeUp
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: PlayPause
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: Shutdown
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: VolumeUp
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: Traceback (most recent call last):
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 127, in
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:     devices = gpio_controler.get_all_devices(config)
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 95, in get_all_devices
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:     device = self.generate_device(config[section], section)
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 62, in generate_device
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:     pull_up_down=config.get('pull_up_down', fallback='pull_up'))
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py", line 87, in init
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]:     bouncetime=self.bouncetime)
Feb  1 21:57:43 phoniebox PhonieboxGPIOControl[18380]: RuntimeError: Failed to add edge detection
Feb  1 21:57:43 phoniebox systemd[1]: phoniebox-gpio-control.service: Main process exited, code=exited, status=1/FAILURE
Feb  1 21:57:43 phoniebox systemd[1]: phoniebox-gpio-control.service: Failed with result 'exit-code'.
Feb  1 21:57:43 phoniebox mopidy[5756]: INFO     [MpdSession-159] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38290
Feb  1 21:57:44 phoniebox mopidy[5756]: INFO     [MpdSession-160] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38294
Feb  1 21:57:44 phoniebox mopidy[5756]: INFO     [MpdSession-161] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38296
Feb  1 21:57:45 phoniebox mopidy[5756]: INFO     [MpdSession-162] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38300
Feb  1 21:57:46 phoniebox mopidy[5756]: INFO     [MpdSession-163] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38304
Feb  1 21:57:46 phoniebox systemd[1]: phoniebox-gpio-control.service: Service RestartSec=3s expired, scheduling restart.
Feb  1 21:57:46 phoniebox systemd[1]: phoniebox-gpio-control.service: Scheduled restart job, restart counter is at 37.
Feb  1 21:57:46 phoniebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Feb  1 21:57:46 phoniebox systemd[1]: Started Phoniebox GPIO Control Service.
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:GPIO Started
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:['VolumeControl', 'PrevNextControl', 'PlayPause', 'Shutdown', 'PauseShutdown', 'Volume0', 'VolumeUp', 'VolumeDown', 'NextSong', 'PrevSong', 'FastForward', 'Rewind', 'Halt', 'RFIDDevice']
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:Device VolumeControl not enabled
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:Device PrevNextControl not enabled
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:adding GPIO-Device, PlayPause
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:adding GPIO-Device, Shutdown
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:Device PauseShutdown not enabled
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:Device Volume0 not enabled
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: INFO:main:adding GPIO-Device, VolumeUp
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: PlayPause
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: Shutdown
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: VolumeUp
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: Traceback (most recent call last):
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 127, in
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:     devices = gpio_controler.get_all_devices(config)
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 95, in get_all_devices
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:     device = self.generate_device(config[section], section)
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 62, in generate_device
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:     pull_up_down=config.get('pull_up_down', fallback='pull_up'))
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py", line 87, in init
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]:     bouncetime=self.bouncetime)
Feb  1 21:57:46 phoniebox PhonieboxGPIOControl[18407]: RuntimeError: Failed to add edge detection
Feb  1 21:57:46 phoniebox systemd[1]: phoniebox-gpio-control.service: Main process exited, code=exited, status=1/FAILURE
Feb  1 21:57:46 phoniebox systemd[1]: phoniebox-gpio-control.service: Failed with result 'exit-code'.
Feb  1 21:57:47 phoniebox mopidy[5756]: INFO     [MpdSession-164] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38308
Feb  1 21:57:47 phoniebox mopidy[5756]: INFO     [MpdSession-165] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38312
Feb  1 21:57:48 phoniebox mopidy[5756]: INFO     [MpdSession-166] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38316
Feb  1 21:57:49 phoniebox mopidy[5756]: INFO     [MpdSession-167] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38318
Feb  1 21:57:49 phoniebox mopidy[5756]: INFO     [MpdSession-168] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38322
Feb  1 21:57:49 phoniebox systemd[1]: phoniebox-gpio-control.service: Service RestartSec=3s expired, scheduling restart.
Feb  1 21:57:49 phoniebox systemd[1]: phoniebox-gpio-control.service: Scheduled restart job, restart counter is at 38.
Feb  1 21:57:49 phoniebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Feb  1 21:57:49 phoniebox systemd[1]: Started Phoniebox GPIO Control Service.

Feb  1 21:57:50 phoniebox mopidy[5756]: INFO     [MpdSession-169] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38326
Feb  1 21:57:51 phoniebox mopidy[5756]: INFO     [MpdSession-170] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38330
Feb  1 21:57:52 phoniebox mopidy[5756]: INFO     [MpdSession-171] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38334
Feb  1 21:57:53 phoniebox systemd[1]: phoniebox-gpio-control.service: Service RestartSec=3s expired, scheduling restart.
Feb  1 21:57:53 phoniebox systemd[1]: phoniebox-gpio-control.service: Scheduled restart job, restart counter is at 39.
Feb  1 21:57:53 phoniebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Feb  1 21:57:53 phoniebox mopidy[5756]: INFO     [MpdSession-172] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38338
Feb  1 21:57:53 phoniebox systemd[1]: Started Phoniebox GPIO Control Service.
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:GPIO Started
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:['VolumeControl', 'PrevNextControl', 'PlayPause', 'Shutdown', 'PauseShutdown', 'Volume0', 'VolumeUp', 'VolumeDown', 'NextSong', 'PrevSong', 'FastForward', 'Rewind', 'Halt', 'RFIDDevice']
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:Device VolumeControl not enabled
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:Device PrevNextControl not enabled
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:adding GPIO-Device, PlayPause
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:adding GPIO-Device, Shutdown
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:Device PauseShutdown not enabled
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:Device Volume0 not enabled
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: INFO:main:adding GPIO-Device, VolumeUp
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: PlayPause
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: Shutdown
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: VolumeUp
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: Traceback (most recent call last):
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 127, in
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:     devices = gpio_controler.get_all_devices(config)
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 95, in get_all_devices
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:     device = self.generate_device(config[section], section)
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 62, in generate_device
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:     pull_up_down=config.get('pull_up_down', fallback='pull_up'))
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py", line 87, in init
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]:     bouncetime=self.bouncetime)
Feb  1 21:57:53 phoniebox PhonieboxGPIOControl[18459]: RuntimeError: Failed to add edge detection
Feb  1 21:57:53 phoniebox systemd[1]: phoniebox-gpio-control.service: Main process exited, code=exited, status=1/FAILURE
Feb  1 21:57:53 phoniebox systemd[1]: phoniebox-gpio-control.service: Failed with result 'exit-code'.
Feb  1 21:57:54 phoniebox mopidy[5756]: INFO     [MpdSession-173] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38342
Feb  1 21:57:54 phoniebox mopidy[5756]: INFO     [MpdSession-174] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38344
Feb  1 21:57:55 phoniebox mopidy[5756]: INFO     [MpdSession-175] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38348
Feb  1 21:57:56 phoniebox mopidy[5756]: INFO     [MpdSession-176] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38352
Feb  1 21:57:56 phoniebox systemd[1]: phoniebox-gpio-control.service: Service RestartSec=3s expired, scheduling restart.
Feb  1 21:57:56 phoniebox systemd[1]: phoniebox-gpio-control.service: Scheduled restart job, restart counter is at 40.
Feb  1 21:57:56 phoniebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Feb  1 21:57:56 phoniebox systemd[1]: Started Phoniebox GPIO Control Service.
Feb  1 21:57:57 phoniebox mopidy[5756]: INFO     [MpdSession-177] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38356
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:GPIO Started
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:['VolumeControl', 'PrevNextControl', 'PlayPause', 'Shutdown', 'PauseShutdown', 'Volume0', 'VolumeUp', 'VolumeDown', 'NextSong', 'PrevSong', 'FastForward', 'Rewind', 'Halt', 'RFIDDevice']
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:Device VolumeControl not enabled
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:Device PrevNextControl not enabled
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:adding GPIO-Device, PlayPause
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:adding GPIO-Device, Shutdown
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:Device PauseShutdown not enabled
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:Device Volume0 not enabled
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:main:adding GPIO-Device, VolumeUp
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: PlayPause
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: Shutdown
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: VolumeUp
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: Traceback (most recent call last):
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 127, in
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     devices = gpio_controler.get_all_devices(config)
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 95, in get_all_devices
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     device = self.generate_device(config[section], section)
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 62, in generate_device
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     pull_up_down=config.get('pull_up_down', fallback='pull_up'))
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py", line 87, in init
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     bouncetime=self.bouncetime)
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: RuntimeError: Failed to add edge detection
Feb  1 21:57:57 phoniebox systemd[1]: phoniebox-gpio-control.service: Main process exited, code=exited, status=1/FAILURE
Feb  1 21:57:57 phoniebox systemd[1]: phoniebox-gpio-control.service: Failed with result 'exit-code'.
Feb  1 21:57:58 phoniebox mopidy[5756]: INFO     [MpdSession-178] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38360
Feb  1 21:57:58 phoniebox mopidy[5756]: INFO     [MpdSession-179] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38364
Feb  1 21:57:59 phoniebox mopidy[5756]: INFO     [MpdSession-180] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38368
Feb  1 21:57:59 phoniebox mopidy[5756]: INFO     [MpdSession-181] mopidy_mpd.session New MPD connection from [::ffff:<IP_ADDRESS>]:38370
Feb  1 21:58:00 phoniebox systemd[1]: phoniebox-gpio-control.service: Service RestartSec=3s expired, scheduling restart.
Feb  1 21:58:00 phoniebox systemd[1]: phoniebox-gpio-control.service: Scheduled restart job, restart counter is at 41.
Feb  1 21:58:00 phoniebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Feb  1 21:58:00 phoniebox systemd[1]: Started Phoniebox GPIO Control Service.

Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: INFO:__main__:adding GPIO-Device, VolumeUp
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: PlayPause
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: Shutdown
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: VolumeUp
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: Traceback (most recent call last):
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 127, in <module>
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     devices = gpio_controler.get_all_devices(config)
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 95, in get_all_devices
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     device = self.generate_device(config[section], section)
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/gpio_control.py", line 62, in generate_device
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     pull_up_down=config.get('pull_up_down', fallback='pull_up'))
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:   File "/home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py", line 87, in __init__
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]:     bouncetime=self.bouncetime)
Feb  1 21:57:57 phoniebox PhonieboxGPIOControl[18482]: RuntimeError: Failed to add edge detection
Feb  1 21:57:57 phoniebox systemd[1]: phoniebox-gpio-control.service: Main process exited, code=exited, status=1/FAILURE
Feb  1 21:57:57 phoniebox systemd[1]: phoniebox-gpio-control.service: Failed with result 'exit-code'.

seems to be the issue here

Thanks for your quick reaction...
I wasnt able to fix this myself.
All rest including the display works perfectly.
Besides spotify obviously

Actually yes, I use gpio 4 for shutdown... I will change that and try... Why is that gpio a Problem in the new version? It used to work...

To be honest I’m not sure.
in some of the search results I read that some GPIO behavior was changed from Python 2 to Python 3. Maybe you were using a Phoniebox version, which was still Python 2 code.

Does this work now?

No sadly not. I cant get the gpio buttons to work ar all. Strange because they worked in a previous version. I will test again next week amd come back to you. Thanks for your help

I did an installation on a pi 3 today and saw the same symptoms.
Reverting to Phoniebox 2.3 made the issue go away.

Did you install 2.5 or the new 3.4 (future3)?

2.5

I did an installation on a pi 3 today and saw the same symptoms.
Reverting to Phoniebox 2.3 made the issue go away.

How did you actually revert to 2.3?

Do you want to try version 3.x or do you have reasons to stay on V2?

How did you actually revert to 2.3?

I copied the link to the install script and replaced this link in the oneline install (line).
The link is:
https://raw.githubusercontent.com/MiczFlor/RPi-Jukebox-RFID/24258901330d9d7d433e0ed05cd46bbc7f22ec57/scripts/installscripts/buster-install-default.sh
Since the file name has changed it also had to be replaced.

Do you want to try version 3.x or do you have reasons to stay on V2?

I don't have the box in my hands anymore. It is not planned to update it to version 3.
I'll do that with my own one soon™.

Could you share your gpio configuration?
I tested with a push button on version 2.5.0 and as far as i can say its working. Tested VolUp and PlayPause  on the predefinied pins and also gpio 4.
Did you used a fresh configuration or did you have one from an older installation? and if yes what version number was the old?

Not as a file. As I said, I cannot access the box any more.
It is the sample one with enabled volume, seek and play pause buttons.
This one: https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/develop/misc/sampleconfigs/gpio_settings.ini.sample

Same here. I have installed today a fresh 2.5 version with a RC522 connected and a button on PIN 29.
Everything works, except the button. tail /var/log/syslog -n 200 after sudo systemctl restart phoniebox-gpio-control
:
Jan 30 21:40:23 raspberrypiJukebox systemd[1]: Stopping Phoniebox GPIO Control Service...
Jan 30 21:40:23 raspberrypiJukebox systemd[1]: phoniebox-gpio-control.service: Succeeded.
Jan 30 21:40:23 raspberrypiJukebox systemd[1]: Stopped Phoniebox GPIO Control Service.
Jan 30 21:40:23 raspberrypiJukebox systemd[1]: Started Phoniebox GPIO Control Service.
Jan 30 21:40:24 raspberrypiJukebox PhonieboxGPIOControl[3300]: INFO:main:GPIO Started
Jan 30 21:40:24 raspberrypiJukebox PhonieboxGPIOControl[3300]: INFO:main:['VolumeUp', 'VolumeDown']
Jan 30 21:40:24 raspberrypiJukebox PhonieboxGPIOControl[3300]: INFO:main:adding GPIO-Device, VolumeUp
Jan 30 21:40:24 raspberrypiJukebox PhonieboxGPIOControl[3300]: INFO:main:adding GPIO-Device, VolumeDown
Jan 30 21:40:24 raspberrypiJukebox PhonieboxGPIOControl[3300]: INFO:main:Ready for taking actions
You can see, that it is ready but nothing happens...
This is my gpio_settings.ini:
[DEFAULT]
enabled: True
antibouncehack: False
[VolumeUp]
Type: Button
Pin: 29
pull_up_down: pull_up
hold_time: 0.3
hold_mode: Repeat
functionCall: functionCallVolU
[VolumeDown]
Type: Button
Pin: 31
pull_up_down: pull_up
hold_time: 0.3
hold_mode: Repeat
functionCall: functionCallVolD
What am I doing wrong? I use a Rasberry Pi 2B

What edition are you using? Classic or Spotify?
And could you supply the full log of tail /var/log/syslog -n 200 and the output of sudo journalctl -u phoniebox-gpio-control.service -n 200?
We couldn't narrow it down so far :/

This sounds strange
Jan 30 22:01:01 raspberrypiJukebox PhonieboxGPIOControl[427]: /home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py:88: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
Jan 30 22:01:01 raspberrypiJukebox PhonieboxGPIOControl[427]:   GPIO.setup(self.pin, GPIO.IN, pull_up_down=self.pull_up_down)
Jan 30 22:01:01 raspberrypiJukebox PhonieboxGPIOControl[427]: INFO:__main__:Ready for taking actions

This could be the problem

/home/pi/RPi-Jukebox-RFID/components/gpio_control/GPIODevices/simple_button.py:88: RuntimeWarning: This channel is already in use, ...

Can you share your whole gpio config file?

Is there a reason why you use hold_mode?
From my point of view this is only necessary, if you use TwoButtonControl, see https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/01734deb7c872c2ef241eb6b5c1990231aeee062/components/gpio_control/README.md#button

I suggest you remove hold_time and hold_mode.
Also if you set pull_up you should not use any resistors.
I.e.
[VolumeUp]
Type: Button
Pin: 29
pull_up_down: pull_up
functionCall: functionCallVolU

please check https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/master/components/gpio_control/README.md

Is there a reason why you use hold_mode?
From my point of view this is only necessary, if you use TwoButtonControl, see https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/01734deb7c872c2ef241eb6b5c1990231aeee062/components/gpio_control/README.md#button

using hold_mode should be fine also for simplebuttons, as its also in the examples:
https://github.com/MiczFlor/RPi-Jukebox-RFID/blob/4101984b1031996239903796ae8fc4ce180106a5/components/gpio_control/example_configs/gpio_settings.ini#L63

I think the problem is simple a misunderstanding with number used for Pin.
The docs state it has to be the GPIO number, not the board pin number.
Can you try and change your config from Pin: 29 to Pin: 5 and  from Pin: 31 to Pin: 6 ?

OMG - I am so sorry!! I counted the pins... Now it is working.

Glad it's working! Have fun.

Seems to be working. Feel free to reopen, if the issue still persists with version 2.6.

Just to let you know and to thank you for your work. I skippes 2.6 and gave 2.7 with Spotify reintegration a Chance... And everything including Spotify works Like a Charm! Thanks a lot for your effort


[BUG]: Types do not show up properly if you put $type before array

What version of drizzle-orm are you using?
0.29.2
What version of drizzle-kit are you using?
0.20.9
Describe the Bug
someField: jsonb('someField')
  .$type<{ test: string; }>()
  .array()

Fetched postgres response shows that someField is an unknown type. If you put .array() before .$type, then it works as expected.
Expected behavior
It should either return the correct type regardless of order, or show a type error if the order is incorrect.
Environment & setup
No response

hey @jakeleventhal Can I take this one !

Sure thing. Thanks


[BUG] - Invalid href in response when user is already signed up

Describe the bug
When user already has an account, and they attempt to sign up again the DM message with the users address is incorrect. Leads to https://explorer.theqrl.org/a/undefined
To Reproduce
Steps to reproduce the behavior:

sign up to the bot
sign up again to the bot
observe the link provided under address field is undefined

Expected behavior
Link to user wallet in the QRL explorer
Screenshots

closed with #14


Compiliation failed with sbt

Hi, Not sure this is the right place to ask this, but I am receiving a "compiliation failed" error every time I try to build a jar with this repo using sbt. These errors are detailed as "object is not a member of package org" for many packages before it fails completely. I have not modified any of the dependencies in the package. I have tried changing the version of sbt and java and am still receiving the same errors.
spark = 3.2.0
java = 1.8.0_301
sbt = 1.5.5
hadoop = 2.7.0

@jlachniet-mwhc After we satrted to support Spark 3.0 (PR #76), the sbt build is not supported. Please try maven build, mvn package. Or please see the connector jars in Maven central repository.


Only a single child?

Is there any specific reason why only a single child is allowed?
children: React.PropTypes.element

I've been using Dropzones with multiple children in an older version for some time and never had issues. I can of course just wrap all children in a span or div, but since the Dropzone children render in its div it seems redundant.

You're right. There is no reason for that. Can you submit a PR that fixes this?

I'll do that! Thanks.


fix(unmount): prevent async state-updates by checking if component is…

… still mounted

:tada: This PR is included in version 1.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


internalParameters update in SLSAv1.0 provenance

The SLSA documentation says the internalParameters maps to the predicate.invocation.environment from the v0.2 attestation. In the v0.2 attestation that chains created, the environment contains the taskRun and pipelineRun annotations and labels. Should this information be carried forward to the v1.0 attestation?

Our goal was to take something like the build type design doc and convert it to markdown and host it under https://tekton.dev/docs/chains/.

Our goal was to take something like the build type design doc and convert it to markdown and host it under https://tekton.dev/docs/chains/.

Thanks for the reply! I think it's in response to this issue? https://github.com/tektoncd/chains/issues/838

Our goal was to take something like the build type design doc and convert it to markdown and host it under https://tekton.dev/docs/chains/.

Thanks for the reply! I think it's in response to this issue? #838. Also, please let me know if I can help with this issue or #838

Yes, you're right. I will move this comment there.


[Improvement][Version]change version to 2.0.4-SNAPSHOT

Purpose of the pull request

Brief change log

Verify this pull request

This pull request is code cleanup without any test coverage.
(or)
This pull request is already covered by existing tests, such as (please describe tests).
(or)
This change added tests and can be verified as follows:

Codecov Report

Merging #8188 (5262dee) into dev (14908a2) will decrease coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                dev    #8188      +/-   ##
============================================
- Coverage     41.30%   41.27%   -0.03%
+ Complexity     3743     3741       -2
============================================
  Files           642      642
  Lines         27401    27401
  Branches       3116     3116
============================================
- Hits          11317    11310       -7
- Misses        14990    15000      +10
+ Partials       1094     1091       -3

Impacted Files
Coverage Δ

...he/dolphinscheduler/common/enums/SqoopJobType.java
0.00% <0.00%> (-88.89%)
:arrow_down:

...inscheduler/common/task/sqoop/SqoopParameters.java
74.00% <0.00%> (ø)

...dolphinscheduler/remote/future/ResponseFuture.java
83.60% <0.00%> (+1.63%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 14908a2...5262dee. Read the comment docs.


[New Feature]: Can add Hints and Undo Moves

🎮 feature Request
feature logic and basic description:

Undo Functionality
Description:
Allow players to undo their last move, providing an opportunity to correct mistakes or reconsider their strategy.

Logic:
Maintain a history of moves in an array.
Implement an undo button that reverts the last move

Hint Functionality
Description:
Provide players with a hint, suggesting the next best move to help them strategize better.

Logic:
Analyze the current game state.
Determine a strategic move (e.g., a move that will complete a box or block the opponent).
Highlight the suggested move.
Point down the features
feature points
Allow users to do changes it played wrongly by using undo functionality and hint may provide hints to the user when stuck.
Select program in which you are contributing
GSSoC24
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINE of this project.

Hello @shraddhha ,
I have good experience in JavaScript and have enough knowledge to work with game applications, I would like to work on this issue and create undo and hints functionality. Please assign me this issue.

I would like to work on this issue. I will ensure consistent styling and functionality by individually updating each relevant component also I will begin working on it immediately.


WIP: Tutorial Editing

This branch contains editing work done to the DaeDaLus tutorial based on team feedback.
If you have any suggestions on what to change, please add comments here so they aren't too spread out among issues/old PRs/direct messages.
Current editing tasks:

[x] Replace braced parsers with block for multi-line examples
[x] Prefer let to @ for declaring local variables
[x] Pull code source from the example files, and provide those examples as a download to the reader
[x] Provide solution templates for the PNG exercise

Alright, some pretty significant changes incoming:

Source code snippets are now pulled from the example files using Sphinx's :start-after: and :end-before: options to ..literalinclude, which makes the documentation much less sensitive to changes in the specs
I adapted a little Python script DavidC wrote for our SAW training materials to strip out the nasty-looking comments used for that code extraction and write the cleaned-up files to a spot in the build directory - The Makefile now packages up those files in a TAR, and I added a download link on the front page of the tutorial
Included with the full specs is png-template.ddl, a 'blank' version of the PNG spec to be filled in while following the exercises. It consists only of left-hand sides of declarations

I'm going to merge this as soon as CI passes so that you have the most up-to-date version of things when reviewing @yav; there I also cleaned up some text and changed the code samples as you suggested (e.g. preferring block to braces, let to @, etc)
Besides whatever you find during review, the other significant thing to take a look at is integrating the tutorial into the try-daedalus repo. I'll start working on that while waiting for any editing suggestions :)


enable Scala 3 tests in CI

https://github.com/circe/circe/projects/1#card-74176439

TODO: depends on https://github.com/circe/circe/pull/1877

Codecov Report

Merging #1878 (2471998) into main (12fbe92) will decrease coverage by 0.24%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #1878      +/-   ##
==========================================
- Coverage   86.29%   86.04%   -0.25%
==========================================
  Files          73       69       -4
  Lines        2531     2487      -44
  Branches      132      130       -2
==========================================
- Hits         2184     2140      -44
  Misses        347      347

Impacted Files
Coverage Δ

...d/src/main/scala/io/circe/NonEmptySeqDecoder.scala
91.66% <0.00%> (-8.34%)
:arrow_down:

...re/shared/src/main/scala/io/circe/KeyDecoder.scala
97.50% <0.00%> (-2.50%)
:arrow_down:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
86.54% <0.00%> (-1.17%)
:arrow_down:

...main/scala-2.13+/io/circe/CollectionDecoders.scala

...rc/main/scala-2.13+/io/circe/LiteralDecoders.scala

...rc/main/scala-2.13+/io/circe/LiteralEncoders.scala

...c/main/scala-2.13+/io/circe/FactoryInstances.scala

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 12fbe92...2471998. Read the comment docs.


[19.03] bump swarmkit to 4fb9e961aba635f0240a140e89ece6d6c2082585 (bump_v19.03)

full diff: https://github.com/docker/swarmkit/compare/961ec3a56b7b6c311a2137b6a398f9d778fba94b...4fb9e961aba635f0240a140e89ece6d6c2082585
included:

docker/swarmkit#2873 [19.03 backport] Only update non-terminal tasks on node removal

backport of docker/swarmkit#2867 Only update non-terminal tasks on node removal

@dperny @dani-docker @kolyshkin PTAL

WindowsRS1 is a flaky test; https://jenkins.dockerproject.org/job/Docker-PRs-WoW-RS1/26097/console
01:43:53 FAIL: docker_cli_start_test.go:190: DockerSuite.TestStartReturnCorrectExitCode
01:43:53
01:43:53 docker_cli_start_test.go:200:
01:43:53     c.Assert(exitCode, checker.Equals, 12, check.Commentf("out: %s", out))
01:43:53 ... obtained int = 125
01:43:53 ... expected int = 12
01:43:53 ... out: time="2019-07-30T01:43:53Z" level=error msg="error waiting for container: EOF"
01:43:53

Janky; https://jenkins.dockerproject.org/job/Docker-PRs/55091/console
01:52:59 FAIL: docker_api_swarm_test.go:292: DockerSwarmSuite.TestAPISwarmLeaderElection
01:52:59
01:52:59 Creating a new daemon
01:52:59 [d33633282af82] waiting for daemon to start
01:52:59 [d33633282af82] daemon started
01:52:59
01:52:59 Creating a new daemon
01:52:59 [d652ea0e2209d] waiting for daemon to start
01:52:59 [d652ea0e2209d] daemon started
01:52:59
01:52:59 Creating a new daemon
01:52:59 [d2311585af671] waiting for daemon to start
01:52:59 [d2311585af671] daemon started
01:52:59
01:52:59 [d33633282af82] Stopping daemon
01:52:59 [d33633282af82] exiting daemon
01:52:59 [d33633282af82] Daemon stopped
01:52:59 Waiting for election to occur...
01:52:59 assertion failed: error is not nil: Error response from daemon: rpc error: code = DeadlineExceeded desc = context deadline exceeded: [d652ea0e2209d] (*Daemon).GetNode: NodeInspectWithRaw("ly9njv6l2dcvh384ft0cyaz1c") failed
01:52:59 waited for 20.000971802s (out of 30s)
01:52:59 [d652ea0e2209d] Stopping daemon
01:52:59 [d652ea0e2209d] exiting daemon
01:52:59 [d652ea0e2209d] Daemon stopped
01:52:59 [d2311585af671] Stopping daemon
01:52:59 [d2311585af671] exiting daemon
01:52:59 [d2311585af671] Daemon stopped

...

02:15:17 FAIL: docker_cli_swarm_test.go:1129: DockerSwarmSuite.TestSwarmLockUnlockCluster
02:15:17

The diff LGTM 👍
not sure why the tests are failing but also can't see any relation to the code change

rebased to trigger CI (results were purged)

rebased on top of https://github.com/docker/engine/pull/313 to fix the build

This is all green now. I'll rebase once more because https://github.com/docker/engine/pull/313 was merged (to get rid of the extra commit in this PR). We can merge this one, once reviewed by a maintainer

I see that Jenkins in this repository is still using the Ubuntu 16.04 aufs and overlay workers;

https://jenkins.dockerproject.org/job/Docker-PRs-experimental/configure ubuntu-1604-aufs-stable
https://jenkins.dockerproject.org/job/Docker-PRs-vendor/configure ubuntu-1604-aufs-stable
https://jenkins.dockerproject.org/job/Docker-PRs/configure ubuntu-1604-overlay2-stable

Should we change those to 1804-overlay2 ?
oh, hm.. looks like we might not have 18.04; are these auto-scaling? if so should we switch them all to overlay?
https://jenkins.dockerproject.org/computer/


Feature/2275 Update reports which include stage status

What's included?
Closes #2275

Update the diversity report to align with the stage changes (from Selected to Selectable).
Update the outreach report to align with the stage changes (from Selected to Selectable).
Places that use hard-coded stages:

"Candidate Breakdown at Each Stage" on the exercise dashboard.
"Diversity" report
"Outreach" report

Places that use hard-coded statuses: (need to check the final version of statuses)

"Character" Issues report
"Statutory" Consultation report
"applicationCurrentStep" in src/helpers/exerciseHelper.js

Note: This PR needs changes on digital-platform: Feature/admin#2275 Update reports which include stage & status.
Who should test?
✅ Product owner
✅ Developers
✅ UTG
How to test?
Example exercise: https://jac-admin-develop--pr2295-feature-2275-update-znmzqtya.web.app/exercise/7LgaEMudSSfBC1fOwnaf/dashboard
Dashboard

Click "Refresh" to refresh the diversity report.
Check if "Selectable" appears under "Candidate Breakdown at Each Stage" section.
Click "Export data" and open the report. Check if "selectable" appears in the header.

Diversity Report

Click "Refresh" to refresh the diversity report.
Check the tab Selectable appearing onscreen.
Click "Export all data" and open the report. Check if "selectable" appears in the header.

Outreach Report

Click "Refresh" to refresh the outreach report.
Check the tab Selectable appearing onscreen.
Click "Export all data" and open the report. Check if "selectable" appears in the header.

Risk - how likely is this to impact other areas?
🟠 Medium risk - this does change code that is shared with other areas
Additional context
Include screen grabs, video demo, notes etc.
Related permissions
Have permissions been considered for this functionality?

No permission changes required
Permissions have been added / updated. Details:

PREVIEW:DEVELOP
can be OFF, DEVELOP or STAGING

@HalcyonJAC I can see the changes to Diversity and Outreach displays and reports and they look fine.
Can you clarify the work done on the other part of the ticket: Identify all places in our code base that use hard-coded stages and statuses so we have a 'hit list' of places to fix and then test, reports, report tabs, filter dropdowns, etc?

@nickaddy I have added the hit list to the PR.

@warrensearle Thank you for the suggestion. I have updated our codebase with constants EXERCISE_STAGE.* and APPLICATION_STATUS.*. I guess we might need to double-check them after the status V2 is finalised.

@NormaJAC I have re-deployed the cloud functions and it should work now. Could you test it again, please?

@nickaddy I have fixed the first and last issue. Could you test them again, please?


Add a new opt_lut pass, which combines inefficiently packed LUTs

On iCE40, techmapping $alu always results in a SB_LUT4 cell with only 3 inputs used. This is inefficient and nothing later in the synthesis pipeline is currently able to take advantage of this unused LUT input. This LUT input could be very useful for certain ALU designs, as using it to fold a multiplexer LUT into an ALU LUT in an expression such as c ? a : a + b or c ? 0 : a - b could result, in extreme cases, a 2x reduction in LUT count.
The new opt_lut pass is able to combine any k-LUT whose output is connected solely to an n-LUT where both of them share m inputs, given that at least one of these LUTs has a width of k + n - m - 1. (Attributes can be used to restrict LUT combining, such as to preserve instantiated carry logic.)
This pass is very generic and operates on any $lut cells, even ones of different size. To work with iCE40's SB_LUT4, the ice40_unlut pass (#716) is used; normal techmapping takes care of mapping the resulting $lut cells back, as opt_lut takes care to not disturb existing inputs or unnecessarily resize LUT cells.
This pass is tested by using equiv_induct and a behavioral model of SB_CARRY to check equivalence of several ALU elements similar to real-world ones before and after opt_lut.
This concludes my work on #715.

Doing more real-world testing. Statistics for another design, which generates VGA synchronization and also colorful squares:

Without -relut
   Number of cells:                378
     SB_CARRY                       34
     SB_DFF                          6
     SB_DFFE                        13
     SB_DFFESR                      49
     SB_DFFSR                       17
     SB_GB                           1
     SB_IO                          26
     SB_LUT4                       231
     SB_PLL40_CORE                   1

With -relut
   Number of cells:                346
     SB_CARRY                       34
     SB_DFF                          6
     SB_DFFE                        13
     SB_DFFESR                      49
     SB_DFFSR                       17
     SB_GB                           1
     SB_IO                          26
     SB_LUT4                       199
     SB_PLL40_CORE                   1

[Design](https://github.com/YosysHQ/yosys/files/2647377/xxx.zip)

@daveshah1 There are some very obvious improvements missing in this pass. For example, I want to sort the LUT inputs (without some attribute on the LUT, of course) and of course rewrite truth tables such that opt_merge can find and combine identical LUTs that only differ in input order.

Note: I've renamed opt_lut.cpp to opt_lut.cc in 2d98db7.

Ah, sorry, I haven't noticed.

No worries. Just letting you know so your don't run into unexpected merge conflicts on your side.


Organization

Hello @seladb. This project looks very useful :+1:  I have two questions:

What do I do if a want to pull stats from a repository under an organization? I can't use the format from the readme python github_traffic_stats.py collect -r [github-repo] -u [github-user] -p [github-password]. I'd need to input both my username and the organization name?
What about taking a GitHub API token instead of a plain password? I'm not comfortable typing my password on the command line like that.

Thanks for making these suggestions!
I'll add support for both shortly

That sounds wonderful! I've been looking around for a way to save GitHub traffic stats and yours looks really nice.

Done! pleas let me know if that what you meant

Fantastic! It works wonderfully. Thanks a lot.

BTW, I just added pip install so it's easier to install it. You can view installation instructions in README.md

I did follow the instructions :smile: You might want to mention that the script uses Python 2. On some Linux distributions one has to use python2 and pip2 for Python 2 programs.

You're right, I'll do that, thanks!


Refactor aggregate's update and delete

The update and delete methods in Aggregate class are called through a decorator self_or_classmethod which makes them able to get called either from an instante of Aggregate or the class itself. For instance both a = Aggregate.create(); a.update() and Aggregate.update() behave the same way.
In my opinion, this adds complexity for a use case that should not be provided (the second one).
Since the object oriented way of dealing with updates is to always modify a previously created object, I propose to refactor this to a more straightforward implementation as an instance method.
What do you think of this @garciparedes?

Hi @albamig!
I agree with you that having multiple ways to do the same thing is not a good practice, as it could dramatically increase the code complexity in the future. In any case, I decided to provide the two alternatives (instance and class calling to update and delete) for these two reasons:

Allowing to directly call these methods from the instance will keep the business logic clean and readable as it's the most natural way to perform changes over an instance.
Allowing to call those methods without needing to create instances will increase the system performance as it won't need to recreate (call the Snapshot to obtain the latest and full version of the Aggregate) for update and delete operations, which I think could provide a big performance improvement.

Despite that, we can discuss more about this topic as it's a foundational part of the minos framework and needs to be clarified as much as possible.
What do you think about this @Clariteia/core-devs? 🙂


Add a new paper

Hello,
We request to add our new work OACC-Net to this awesome repo.
Tittle: Occlusion-Aware Cost Constructor for Light Field Depth Estimation
Acronym: OACC-Net
paper: https://arxiv.org/pdf/2203.01576.pdf
code: https://github.com/YingqianWang/OACC-Net
Thanks !

感谢推荐，已添加！谢谢大佬分享


labels: add bugzilla/valid-bug label to valid bugs

This PR changes functionality of the jira-lifecycle-plugin to add the
bugzilla/valid-bug label alongside the usual jira/valid-bug label to
workaround tide not supporting "or" statements for required labels.
/c @bradmwilliams

/hold
I would like #20 to merge first and use some of the changes there in this PR's tests.

/hold cancel

/label tide/merge-method-squash


Fix irq reg accesses

The code from PR #147 used raw pointers to get/set interrupt registers.
The registers in the PAC needed to be converted to arrays to make it simpler to implement this, so there is a separate PR for the PAC that this PR depends on: https://github.com/rp-rs/rp2040-pac/pull/43
Closes #161

Note that this is a port of the existing code. I'm not certain, for example, that the register clearing logic is correct.
The Datasheet is not very clear about how to clear the interrupts. It states:

Oops, didn't mean to close this.

It is not stated what you should write to the register. Other parts of the datasheet mention writing a bitmask, again, not clear if that's a bitmask with only the bit you care about set. The code currently does a load + bitwise OR the interrupt + write. This will probably work, but may also clear other interrupts that weren't intended to be cleared. I cannot find in the C SDK where they handle this.

The bits are listed in the register table to have a type of "WC", which is explained in Appendix A (Register Field Types): "The bit is cleared by writing a 1, using either a normal write or the clear alias."


[Features] Support FP16 training

TODO

[x] support fp16 training, which will reduce 20-30% GPU memory usage.
[x] fp16 training baseline dino-r50-4scale-12ep: 49.1 AP (with amp) vs 49.2 AP (w/o amp)

Note
For MultiScaleDeformableAttention, we simply convert the input value to torch.float32 and convert the output from torch.float32 to torch.float16, which means we skip fp16 and conduct fp32 computation in MultiScaleDeformableAttention operator.
Usage
start fp16 training with train.amp.enabled:
python tools/train_net.py \
    --config-file projects/dab_detr/configs/dab_detr_r50_50ep.py \
    --num-gpus 8 \
    train.amp.enabled=True

Thanks for this commit!
Did you observe instabilities when using the deformable attention layer with fp16? Is there another reason why the deformable attention layer cannot be used with fp16?


Error record

Describe the bug
[01.02.2022, 20:56:34] [CameraUI] newcam: The recording process was aborted by HSV with reason "UNEXPECTED_FAILURE"
Environment

Node.js Version: v16.13.2
Homebridge Version: v1.4.0
Camera UI Version: v5.0.16
Operating System: Debian 10
Browser: Chrome

After the big icloud crash in January 2022 (if you know what I mean) there is no more camera recording (
which is connected via homebridge and camera ui).
I completely uninstalled and reinstalled homebridge and camera ui several times, but still no recording from the camera in icloud.

I'm seeing similar, but reason is "cancelled".
[2/2/2022, 12:47:27 PM] [CameraUI] Front Porch Cam: The recording process was aborted by HSV with reason "CANCELLED"

Same here

Same here

The recording process was aborted by HSV with reason "UNEXPECTED_FAILURE"

I have the same  The recording process was aborted by HSV with reason "UNEXPECTED_FAILURE"

I have a similar issue, "The recording process was aborted by HSV with reason "CANCELLED"...my source is 1280x720 at 25FPS MJPEG, but I set VideoCode to "libx264" so that it will be reencoded.
[2/13/2022, 4:18:30 PM] [CameraUI] MQTT: New message: Topic: /service/mqttthing/klingel_heinze/get - Data: 1 - Type: string
[2/13/2022, 4:18:30 PM] [CameraUI] MQTT: {"camera":"Balkon","topic":"/service/mqttthing/klingel_heinze/get","data":"1","json":true,"message":"1","state":true,"try":0}
[2/13/2022, 4:18:30 PM] [CameraUI] Balkon: {"error":false,"message":"Handling through extern controller.."}
[2/13/2022, 4:18:30 PM] [CameraUI] Balkon: Doorbell ON
[2/13/2022, 4:18:30 PM] [CameraUI] Balkon: Motion ON
[2/13/2022, 4:18:30 PM] [CameraUI] Balkon: Snapshot requested: 1280 x 720
[2/13/2022, 4:18:30 PM] [CameraUI] Balkon: Snapshot command: ffmpeg -hide_banner -loglevel error -f mjpeg -i http://<IP_ADDRESS>:8000/stream.mjpg -frames:v 1 -f image2 -
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Snapshot requested: 1280 x 720
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Snapshot requested: 1280 x 720
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Snapshot requested: 1280 x 720
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Fetching snapshot took 0.395 seconds.
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Sending snapshot: 1280x720
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Resize command: ffmpeg -i pipe: -frames:v 1 -filter:v scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease -f image2 -
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Sending snapshot: 1280x720 (cached)
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Resize command: ffmpeg -i pipe: -frames:v 1 -filter:v scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease -f image2 -
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Sending snapshot: 1280x720 (cached)
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Resize command: ffmpeg -i pipe: -frames:v 1 -filter:v scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease -f image2 -
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Sending snapshot: 1280x720 (cached)
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Resize command: ffmpeg -i pipe: -frames:v 1 -filter:v scale='min(1280,iw)':'min(720,ih)':force_original_aspect_ratio=decrease -f image2 -
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Video fragments requested from HSV
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Replacing audio with a dummy track, audio source not found or timed out during probe stream (recording)
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Start recording...
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Recording command: ffmpeg -hide_banner -re -f mjpeg -i http://<IP_ADDRESS>:8000/stream.mjpg -f lavfi -i anullsrc=cl=1 -shortest -f mp4 -sn -dn -vcodec libx264 -pix_fmt yuv420p -profile:v baseline -level:v 3.1 -b:v 800k -vf framerate=fps=25,scale=w=1920:h=1080:force_original_aspect_ratio=1,pad=1920:1080:(ow-iw)/2:(oh-ih)/2 -force_key_frames expr:gte(t,n_forced*4) -bsf:a aac_adtstoasc -acodec libfdk_aac -profile:a aac_low -ar 32k -b:a 64k -ac 1 -movflags frag_keyframe+empty_moov+default_base_moof -max_muxing_queue_size 1024 -vsync cfr tcp://<IP_ADDRESS>:19636
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Input #0, mjpeg, from 'http://<IP_ADDRESS>:8000/stream.mjpg':
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon:   Duration: N/A, bitrate: N/A
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon:     Stream #0:0: Video: mjpeg (Baseline), yuvj420p(pc, bt470bg/unknown/unknown), 1280x720, 25 tbr, 1200k tbn, 25 tbc
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Input #1, lavfi, from 'anullsrc=cl=1':
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon:   Duration: N/A, start: 0.000000, bitrate: 352 kb/s
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon:     Stream #1:0: Audio: pcm_u8, 44100 Hz, 1 channels (FL), u8, 352 kb/s
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Stream mapping:
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon:   Stream #0:0 -> #0:0 (mjpeg (native) -> h264 (libx264))
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon:   Stream #1:0 -> #0:1 (pcm_u8 (native) -> aac (libfdk_aac))
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Press [q] to stop, [?] for help
[2/13/2022, 4:18:31 PM] [CameraUI] Balkon: Recording started
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [Parsed_framerate_0 @ 0x3e2e7b0] time base:1/1200000 -> 1/1200000 exact:1
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [Parsed_framerate_0 @ 0x3e2e7b0] fps -> fps:25/1 scene score:8.200000 interpolate start:15 end:240
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [swscaler @ 0x3e308b0] deprecated pixel format used, make sure you did set range correctly
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [libx264 @ 0x3e12980] frame MB size (120x68) > level limit (3600)
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [libx264 @ 0x3e12980] MB rate (204000) > level limit (108000)
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [libx264 @ 0x3e12980] using cpu capabilities: ARMv6 NEON
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [libx264 @ 0x3e12980] profile Constrained Baseline, level 3.1, 4:2:0, 8-bit
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: [libx264 @ 0x3e12980] 264 - core 160 - H.264/MPEG-4 AVC codec - Copyleft 2003-2020 - http://www.videolan.org/x264.html - options: cabac=0 ref=2 deblock=1:0:0 analyse=0x1:0x111 me=hex subme=7 psy=1 psy_rd=1.00:0.00 mixed_ref=1 me_range=16 chroma_me=1 trellis=1 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1 chroma_qp_offset=-2 threads=6 lookahead_threads=1 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=40 intra_refresh=0 rc_lookahead=40 rc=abr mbtree=1 bitrate=800 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=1:1.00
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: Output #0, mp4, to 'tcp://<IP_ADDRESS>:19636':
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:   Metadata:
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:     encoder         : Lavf58.45.100
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:     Stream #0:0: Video: h264 (libx264) (avc1 / 0x31637661), yuv420p, 1920x1080, q=-1--1, 800 kb/s, 25 fps, 12800 tbn, 25 tbc
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:     Metadata:
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:       encoder         : Lavc58.91.100 libx264
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:     Side data:
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:       cpb: bitrate max/min/avg: 0/0/800000 buffer size: 0 vbv_delay: N/A
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:     Stream #0:1: Audio: aac (libfdk_aac) (LC) (mp4a / 0x6134706D), 32000 Hz, mono, s16, 64 kb/s
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:     Metadata:
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon:       encoder         : Lavc58.91.100 libfdk_aac
[2/13/2022, 4:18:32 PM] [CameraUI] Balkon: frame=    4 fps=0.0 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:33 PM] [CameraUI] Balkon: frame=    8 fps=7.7 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:33 PM] [CameraUI] Balkon: frame=   13 fps=8.1 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:33 PM] [CameraUI] Balkon: Snapshot requested: 640 x 360
[2/13/2022, 4:18:33 PM] [CameraUI] Balkon: Sending snapshot: 640x360 (cached)
[2/13/2022, 4:18:33 PM] [CameraUI] Balkon: Resize command: ffmpeg -i pipe: -frames:v 1 -filter:v scale='min(640,iw)':'min(360,ih)':force_original_aspect_ratio=decrease -f image2 -
[2/13/2022, 4:18:34 PM] [CameraUI] Balkon: frame=   18 fps=8.3 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:34 PM] [CameraUI] Balkon: frame=   23 fps=8.4 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:35 PM] [CameraUI] Balkon: frame=   27 fps=8.3 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:35 PM] [CameraUI] Balkon: frame=   33 fps=8.6 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:36 PM] [CameraUI] Balkon: frame=   37 fps=8.4 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:36 PM] [CameraUI] Balkon: frame=   42 fps=8.6 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:37 PM] [CameraUI] Balkon: frame=   44 fps=7.5 q=0.0 size=       1kB time=00:00:00.00 bitrate=N/A speed=   0x
[2/13/2022, 4:18:38 PM] [CameraUI] Balkon: frame=   49 fps=7.7 q=50.0 size=       1kB time=00:00:00.06 bitrate= 151.5kbits/s speed=0.01x
[2/13/2022, 4:18:38 PM] [CameraUI] Balkon: frame=   52 fps=7.6 q=48.0 size=       1kB time=00:00:00.16 bitrate=  60.6kbits/s speed=0.0233x
[2/13/2022, 4:18:39 PM] [CameraUI] Balkon: frame=   58 fps=7.8 q=40.0 size=       1kB time=00:00:00.41 bitrate=  23.3kbits/s speed=0.0558x
[2/13/2022, 4:18:39 PM] [CameraUI] Balkon: frame=   65 fps=8.1 q=36.0 size=       1kB time=00:00:00.68 bitrate=  14.3kbits/s speed=0.0849x
[2/13/2022, 4:18:40 PM] [CameraUI] Balkon: Closing recording process
[2/13/2022, 4:18:40 PM] [CameraUI] Balkon: Resetting motion sensor, because HSV closed the recording process
[2/13/2022, 4:18:40 PM] [CameraUI] Balkon: Motion OFF
[2/13/2022, 4:18:40 PM] [CameraUI] Balkon: FFMPEG socket closed during read for 8 bytes!
[2/13/2022, 4:18:40 PM] [CameraUI] Balkon: The recording process was aborted by HSV with reason "CANCELLED"
[2/13/2022, 4:18:40 PM] [CameraUI] Balkon: FFmpeg recording process exited (expected)

Solved by cleaning up camera configuration.
I have removed:
        "maxBitrate": 2048,         "rtspTransport": "tcp",         "vcodec": "libx264 -preset ultrafast",         "acodec": "libfdk_aac"
also I have disabled sound recording. And now it works. Issue was in Camera configuration
But I have found another issue in my second , for some reasons camera ui is ignoring resolution what I have set, and drops to lower than I have. My cam is 4k.

@oleh-motrunych
HKSV will not work with 4k
and errors like "UNEXPECTED_FAILURE" ist due to wrong camera config and/or config.json
see
https://github.com/seydx/homebridge-camera-ui/wiki/HSV#2-the-recording-process-was-aborted-by-hsv-with-reason-
https://github.com/seydx/homebridge-camera-ui/issues/342
https://github.com/seydx/homebridge-camera-ui/issues/347

What if HKSV is disabled? Would it work then?

What if HKSV is disabled? Would it work then?

camera.ui (not HKSV) can also record 4k, you need to enable recording in the ui settings


Consider adding stack scrollToIndex() function

See discussing here:
https://groups.google.com/forum/#!topic/cornerstone-platform/xfCE9A3Dkbo

Isn't this the same as this function?
https://github.com/chafey/cornerstoneTools/blob/master/src/util/scrollToIndex.js

Yup thats it, my bad.  Closing


Add E2E test: [Trigger] Map layer: "Flood extent" and "Exposed population" should be active by default

### Tasks
- [ ] Add E2E automation script

Moved to Dev Ops


Block domain stellarassets.net

Domain: stellarassets.net
Requested by @usser0134

.

@usser0134 another big scammer. Thanks.


Remove protos from Go client API

Signed-off-by: Michael Crosby<EMAIL_ADDRESS>

Codecov Report

Merging #1169 into master will decrease coverage by 0.35%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #1169      +/-   ##
==========================================
- Coverage   31.51%   31.16%   -0.36%
==========================================
  Files          27       27
  Lines        2186     2211      +25
==========================================
  Hits          689      689
- Misses       1349     1374      +25
  Partials      148      148

Impacted Files
Coverage Δ

process.go
0% <0%> (ø)
:arrow_up:

container.go
0% <0%> (ø)
:arrow_up:

task.go
0% <0%> (ø)
:arrow_up:

container_unix.go
0% <0%> (ø)
:arrow_up:

spec_unix.go
62.8% <0%> (+0.89%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 1a49f5e...3b8018d. Read the comment docs.

LGTM

LGTM