qtdeclarative: revert "Patch for scrollbar regression"

This reverts commit<PHONE_NUMBER>f0bef7. The change breaks the build of
qtquickcontrols. Fixes https://github.com/NixOS/nixpkgs/issues/96159.

@GrahamcOfBorg build qt5.qtquickcontrols

Thanks for discovering that this patch broke the build! But did you maybe push the picard update to the same branch on accident?

Oops, yes, I pushed that Picard update here by mistake. Will fix that in a second... The patch is in master already anyway.

Ah, you were faster. Thanks a lot for merging. I'm glad master builds for me again.


[Analysis Request]: Remove objects from image edges

Bio-Image Analysis Support Request
Image Upload
📎 Drag & drop your microscopy image here (JPG, PNG, GIF, 512x512 or 1024x1024, 2D only).

Analysis Goal

What do you want to analyze (e.g., count cells, measure structures, segment regions)?

I have a label image and would like to remove the objects from the image border.
Python Tools

Are you using any specific Python libraries for the analysis? If not, we'll may use:

numpy
stackview
pyclesperanto

Note: Your images and the text you enter here may be sent to OpenAI's online serivce where we use a large language model to answer your request.
Do not upload any data you cannot share openly. Also do not enter any private or secret information. By submitting this github issue, you confirm that you understand these conditions.
Once submitted, @haesleinhuepf will review and consult git-bob, an AI-assistant for bio-image analysis suggestions.

git-bob think about this

Ok, please download my image and store it in the data folder of the repository as "blobs_labels.png". Afterwards add a new notebook to the notebooks folder and put the code above in this notebook. Make sure to set the path to the image "../data/blobs_labels.png".
git-bob implement this!

Let's try this again. This time use "pyclesperanto" instead of "pyclesperanto_prototype".
git-bob implement this!

One more try.
git-bob implement this!

Another try.
git-bob implement this!


@source on  and more than one @source on

@ajaniak:
the following code:
              <listApp><!-- one <app> for each apparatus entry -->
	<app loc="1v1">
<lem source="bib:Boechari1985-1986_01">vuĀ<gap reason="lost" extent="unknown" unit="character"/></lem>
<rdg source="bib:CohenStuart1875_01">vuĀ<supplied reason="lost" cert="low">ra</supplied><gap reason="lost" extent="unknown" unit="character"/></rdg>
<note>Cohen Stuart's restitution is not confirmed by any occurrence of <term>vuāra</term> in any inscription that I am aware of, although <term>vuara</term> is common.</note>
</app>
 <app loc="1v2">
                     <lem>Ikanaṁ</lem>
                     <rdg source="bib:CohenStuart1875_01 bib:Boechari1985-1986_01">Ikana</rdg>
<note>The anusvāra is clear enough on the estampage.</note>
                  </app>
                  <app loc="1v3">
                     <lem source="bib:CohenStuart1875_01">saṁ ḍuryyan· muAṁ saṁ siṅgaḥ</lem>
                     <rdg source="bib:Boechari1985-1986_01">san daryyan muan singah</rdg>
<note>Besides omitting all diacritics on every one of these words, Boechari entirely omits the second <term>saṁ</term>.</note>
                  </app>
               </listApp>

is displayed like this:

It seems that

when @source has more than one value, no sigla is displayed
when there is a @source on <lem>, no siglum is displayed: please display it before the diamond sign
The 'smartification' of apostrophes is not yet implemented or not yet working (see display of "Cohen Stuart's")

Dear Arlo, one question: why do you encode some readings by others as <lem> and not just as <rdg>?
Is it because you edit this inscription without visual documentation and reproduce an edition which mixes readings by Boechari and Cohen Stuart?

Maybe such questions, which don't concern Axelle, are better asked outside of github issues. Anyhow, the answer is that I am following the EGD. Please see p. 113: "<lem> may take the attribute @source (§10.7/) to show that a previous edition agrees with the reading adopted in your edition, ..."
@ajaniak : please implement the enhancements requested above.


Implement internal function optimization, allow bypassing php userspace

This generates 2 versions of methods, a PHP exposed definition and an
internal version of the method.
(default: disabled, enable using the config option internal-call-transformation)
During a zephir method call, whenever possible,
the internal version is prefered, leading to better performance.
This implementation also tries to preserve the appropriate scope, to allow parent::
calls and stuff depending on the scope to work properlywithin internal methods.
Limitations

Not applicable for dynamic or static:: calls

Todos:

[x] Implement for ZendEngine2 (seems more unstable than for ZE3)
[x] Cleanup

:+1:

:+1:


Organization<EMAIL_ADDRESS>causes 404

I am adding multiple organizations as a means to connect to multiple different vector db technologies.
On my 2nd Org I defined the name to be<EMAIL_ADDRESS>After it is created and the left menu is populated, if you click on it you will get a 404"
This localhost page can’t be foundNo webpage was found for the web address<EMAIL_ADDRESS>HTTP ERROR 404

BTW, how can I delete the Org?

Ah, it would be the inclusion of special characters "@" and "." being at the end of the path in this case. To delete the organization you can directly navigate to<EMAIL_ADDRESS>and you should be able to delete on that screen.
Will make an issue for this!

Ah, it would be the inclusion of special characters "@" and "." being at the end of the path in this case. To delete the organization you can directly navigate to<EMAIL_ADDRESS>and you should be able to delete on that screen.
Will make an issue for this!

When I visit this crafted link it takes me to a valid Org which I do not want to delete. I am still unable to delete the org with @ and . in its name.

You should then do this directly in the database itself, you can get the login credentials by going to any organizations settings and going to the bottom of the page where you can find "Debug Credentials" and you can login to the database debugger and delete the organization directly.


Finish release notes for v2.1.2

@yshrsmz Awesome! I think the updates PR should wait until the bug-fix release gets shipped.

yeah, sorry for being late.
will release the fix soon.
As AnrdoiX reached 1.0.0-rc1, I think we should move to AndroidX instead of using 28.0.0

yeah, sorry for being late.
will release the fix soon.
As AnrdoidX reached 1.0.0-rc1, I think we should move to AndroidX instead of using 28.0.0

Yes, please support AndroidX

@eclectice yes will do. but if you are in a hurry, PR is　always welcome.

We should start with the support library though because that's forwards compatible with AndroidX. You can use this library today with AndroidX.

We should start with the support library though because that's forwards compatible with AndroidX. You can use this library today with AndroidX.

I am not sure though with the current 2.1.2 release as I got this incompatible types error trying to assign androidx.recyclerview.widget.RecyclerView.Adapter instance with LicenceAdapter extended from android.support.v7.widget.RecyclerView.Adapter after migrating to AndroidX, which is expected.

Are you sure that the jetfier is enabled correctly?
At least my app is working as expected with AndroidX and the latest LicenseAdapter.

Are you sure that the jetfier is enabled correctly?
At least my app is working fine with AndroidX and the latest LicenseAdapter.

I followed what you did in your app as follows:
Changed gradle.properties:
android.useAndroidX = true
android.enableJetifier = true

Added into app's build.gradle the androidx.recyclerview:recyclerview:
ext.legacy_support_version = "1.0.0-rc02"
ext.material_version = "1.0.0-rc02"
...
dependencies {
...
implementation "com.google.android.material:material:$material_version"
implementation "androidx.appcompat:appcompat:$legacy_support_version"
implementation "androidx.recyclerview:recyclerview:$legacy_support_version"
implementation 'net.yslibrary.licenseadapter:licenseadapter:2.1.2'
...
}

But, I still got incompatible types error.

What version of Android Studio are you running? And what about the Android Gradle Plugin?

What version of Android Studio are you running? And what about the Android Gradle Plugin?

Android Studio 3.1.4
Build #AI-173.4907809, built on July 24, 2018
JRE: 1.8.0_152-release-1024-b02 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

buildscript {
    ....
    ext.gradle_plugin_version="3.1.4"
    ....
    dependencies {
        ....
        classpath "com.android.tools.build:gradle:$gradle_plugin_version"
        ....
    }
    ....
}

Ah, this seems to be the cause.
I thinK Jetifier needs Android Gradle Plugin 3.2 or later

Ah, this seems to be the cause.
I thinK Jetifier needs Android Gradle Plugin 3.2 or later

Oh, ok. That explains a lot. ;)


Is error prone multi threaded?

Or maybe, is it even possible to compile concurrently a given source set ?

Error Prone is built on top of javac, which is not a concurrent compiler.

@lowasser  is right, javac is not multithreaded, so Error Prone is not either.  I did try multithreading Error Prone check execution at one point, but check execution can trigger symbol completion in javac, and symbol completion is not thread safe, so the whole thing came crashing down.

Thx for the answer guys. So, if my understanding is correct. Error prone delegates the actual compilation to javac ? (error-prone cannot generate a byte code that is different from javac?)

It's true that we delegate to javac and so produce the same bytecode javac does, but there's some subtlety to it.  We repackage our own copy of javac that is pinned to a particular revision of the development version of javac (see https://github.com/google/error-prone/blob/master/pom.xml#L37).  That javac may produce different bytecode than whatever javac you have installed with your JDK.  For example, the javac we use emits improved bytecode for try-with-resources (https://bugs.openjdk.java.net/browse/JDK-7020499) which other tools may not have seen before, if they haven't tested with Java 9 yet.

Thx @eaftan !


SSL_connect SYSCALL returned=5 errno=0 state=unknown state (OpenSSL::SSL::SSLError)

Can't connect to telegram API. This answer can possibly help resolve the issue: http://stackoverflow.com/questions/25814210/opensslsslsslerror-ssl-connect-syscall-returned-5-errno-0-state-sslv3-read
SSL_connect SYSCALL returned=5 errno=0 state=unknown state (OpenSSL::SSL::SSLError)
(Ubuntu 12.04, ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux])
/usr/local/lib/ruby/2.0.0/net/http.rb:918:in `connect': SSL_connect SYSCALL returned=5 errno=0 state=unknown state (OpenSSL::SSL::SSLError)
	from /usr/local/lib/ruby/2.0.0/net/http.rb:918:in `block in connect'
	from /usr/local/lib/ruby/2.0.0/timeout.rb:52:in `timeout'
	from /usr/local/lib/ruby/2.0.0/net/http.rb:918:in `connect'
	from /usr/local/lib/ruby/2.0.0/net/http.rb:862:in `do_start'
	from /usr/local/lib/ruby/2.0.0/net/http.rb:857:in `start'
	from /usr/local/lib/ruby/gems/2.0.0/gems/persistent_http-1.0.6/lib/persistent_http.rb:253:in `block in initialize'
	from /usr/local/lib/ruby/gems/2.0.0/gems/gene_pool-1.4.1/lib/gene_pool.rb:194:in `call'
	from /usr/local/lib/ruby/gems/2.0.0/gems/gene_pool-1.4.1/lib/gene_pool.rb:194:in `renew'
	from /usr/local/lib/ruby/gems/2.0.0/gems/gene_pool-1.4.1/lib/gene_pool.rb:102:in `checkout'
	from /usr/local/lib/ruby/gems/2.0.0/gems/gene_pool-1.4.1/lib/gene_pool.rb:134:in `with_connection'
	from /usr/local/lib/ruby/gems/2.0.0/gems/persistent_http-1.0.6/lib/persistent_http.rb:299:in `request'
	from /usr/local/lib/ruby/gems/2.0.0/gems/httparty-0.13.5/lib/httparty/request.rb:101:in `perform'
	from /usr/local/lib/ruby/gems/2.0.0/gems/httparty-0.13.5/lib/httparty.rb:522:in `perform_request'
	from /usr/local/lib/ruby/gems/2.0.0/gems/httmultiparty-0.3.16/lib/httmultiparty.rb:124:in `post'
	from /usr/local/lib/ruby/gems/2.0.0/gems/telegram-bot-ruby-0.3.1/lib/telegram/bot/api.rb:32:in `call'
	from /usr/local/lib/ruby/gems/2.0.0/gems/telegram-bot-ruby-0.3.1/lib/telegram/bot/api.rb:27:in `method_missing'
	from /usr/local/lib/ruby/gems/2.0.0/gems/telegram-bot-ruby-0.3.1/lib/telegram/bot/client.rb:27:in `block in listen'
	from /usr/local/lib/ruby/gems/2.0.0/gems/telegram-bot-ruby-0.3.1/lib/telegram/bot/client.rb:26:in `loop'
	from /usr/local/lib/ruby/gems/2.0.0/gems/telegram-bot-ruby-0.3.1/lib/telegram/bot/client.rb:26:in `listen'
	from radiokpi-bot.rb:18:in `block in runbot'
	from /usr/local/lib/ruby/gems/2.0.0/gems/telegram-bot-ruby-0.3.1/lib/telegram/bot/client.rb:22:in `run'
	from /usr/local/lib/ruby/gems/2.0.0/gems/telegram-bot-ruby-0.3.1/lib/telegram/bot/client.rb:10:in `run'

@filingroove, i don't think it's somehow related to this gem. I'm also against hardcoding ssl_version/ciphers settings in the code. Best solution here is to update your openssl and rebuild your ruby.


arm-image: chroot: failed to run command '/bin/sh': Exec format error

I'm getting the following error when trying to build the arm64 pi image using gitlab-ci with docker in docker:
$ docker run --rm --privileged -v /dev:/dev -v /images:/images -v `pwd`:/build:ro -v `pwd`/packer_cache:/build/packer_cache -v `pwd`/output-arm-image:/build/output-arm-image ghcr.io/solo-io/packer-plugin-arm-image build pi.json
running /bin/packer
arm-image: output will be in this color.
==> arm-image: Image type: raspberrypi
==> arm-image: Retrieving Image
==> arm-image: Trying /images/2022-04-04-raspios-bullseye-arm64-lite.img
==> arm-image: Trying /images/2022-04-04-raspios-bullseye-arm64-lite.img?checksum=sha256%3Ab3ac783cecc9fc5445e164eca4d27b87a7cb461ade4618943624ed9984db0088
==> arm-image: /images/2022-04-04-raspios-bullseye-arm64-lite.img?checksum=sha256%3Ab3ac783cecc9fc5445e164eca4d27b87a7cb461ade4618943624ed9984db0088 => /images/2022-04-04-raspios-bullseye-arm64-lite.img
==> arm-image: Copying source image.
==> arm-image: Growing partition to 4096 M<PHONE_NUMBER> bytes)
    arm-image: mapping output-arm-image/image
==> arm-image: losetup --show -f -P output-arm-image/image
==> arm-image: partitions: [/dev/loop4p1 /dev/loop4p2]
==> arm-image: partitions: [/dev/loop4p1 /dev/loop4p2]
    arm-image: Mounting: /dev/loop4p2
    arm-image: Mounting: /dev/loop4p1
==> arm-image: Mounting additional paths within the chroot...
    arm-image: Mounting: /proc
    arm-image: Mounting: /sys
    arm-image: Mounting: /dev
    arm-image: Mounting: /dev/pts
    arm-image: Mounting: /proc/sys/fs/binfmt_misc
==> arm-image: Installing qemu-user-static (/usr/bin/qemu-arm-static) in the chroot
==> arm-image: Registering /qemu-arm-static with binfmt_misc
==> arm-image: Uploading ./files/ => /
==> arm-image: Provisioning with shell script: /tmp/packer-shell4203057374
==> arm-image: chroot: failed to run command '/bin/sh': Exec format error

I don't see this issue when building the 32bit version.
Any ideas what to check?

I just tried to run it without the gitlab runner, directly on the VM and get the same issue.
It's a Centos 7.9 VM.
I also tried running it directly on a Centos 8 host, and it works fine.
Is there a limitation on a KVM Virtual Machine?

Thinking more about this now, it doesn't make much sense to run the gitlab-ci runner inside a VM, when it's a docker container anyway. I'll just run it directly on the Hypervisor.


added start end datetime extension

issue #154

Thanks for going over this in this detailed fashion!
I've made the suggested changes.


Add force_send method to bounded channel

Contrary to the try_send method, the channel will discard the oldest value in the channel when it's full.

Duplicate of #44.


Auth broken when Gaia is down

There's no error handling for the Gaia operations when performing an auth request.
On auth, we do a handful of operations to update the Gaia profile of the user. If Gaia is down, auth breaks entirely as we don't handle the errors.
https://user-images.githubusercontent.com/1618764/220574040-4c0d3f62-9b00-45b8-a8cb-cf887a25ada5.mp4

I set the stopwatch for added drama.

Let's future-proof with https://github.com/hirosystems/wallet/issues/3564


fix!: refactor connection manager to use a prioritised queue

Refactors the connection manager.

Internally it uses a queue to control concurrency instead of dial tokens (e.g. maxParallelDials)
A second queue is used for each peer to prevent inividual peers from swamping the dial queue (e.g. maxParallelDialsPerPeer)
The auto dialler now also checks the minimum connection limit on peer discovery and peer disconnect events for fast reconnect
Auto dialled peers are sorted based on tag value so valuable peers should be re-dialled first
Auto dialled peers are dialled in parallel to prevent a slow peer locking up the auto-dial queue
A getDialQueue method has been added to libp2p to allow inspection of the dial queue though it needs exposing in the interface
The connection gater denyDialMultiaddr method now only takes a multiaddr
Fixes duplicate connections to fast peers
Fixes unhanded promise rejections #1587
Connection pruning now happens after peer:connect events not before - fixes #1565

BREAKING CHANGE: some connection manager options have changed - please see the upgrade guide for full details

I've removed the attempt at resolving the double-peer discovery bug - I think it needs a bit more thought, basically the logic to determine whether to emit the event is complicated and will be vastly simplified by having an atomic peer store.
The auto dial interval has also returned - this is because I found an edge case where we could still end up with no peers if all auto-dials failed - if network connection is lost, for example.
I've reverted the MultiaddrFilter change for allow/deny lists too - with a bit more thought it would be better to have the connection gater control allow/deny behaviour, then we aren't splitting responsibility for that between the connection manager and the connection gater.

Please hold off on merging until https://github.com/jacobheun/any-signal/pull/25 is merged


test: Cypress | Replace with Dynamic checks

Description

This PR flaky fixes below:
cypress/e2e/Regression/ClientSide/Templates/Fork_Template_To_App_spec.js
cypress/e2e/Sanity/Datasources/SMTPDatasource_spec.js

Type of change

Script fix (non-breaking change which fixes an issue)

Testing
How Has This Been Tested?

[X] Cypress CI runs

Checklist:
QA activity:

[X] Added Test Plan Approved label after Cypress tests were reviewed

Summary by CodeRabbit

Tests

Updated the list of specs for running limited tests: Disabled Fork_Template test and enabled SMTPDatasource test.

/ci-test-limit

/ci-test-limit runId=7740443989

/ci-test-limit runId=7740443989

/ci-test-limit runId=7740443989

/ci-test-limit runId=7740443989

/ci-test-limit runId=7740443989

/ci-test-limit runId=7740443989

/ci-test-limit runId=7740443989

/ci-test-limit runId=7740443989

/ci-test-limit

/ci-test-limit runId=7743969695

/ci-test-limit runId=7743969695

/ci-test-limit runId=7743969695

/ci-test-limit runId=7743969695

/ci-test-limit runId=7743969695

/ci-test-limit runId=7743969695

/ci-test-limit runId=7743969695

/ci-test-limit

/ci-test-limit runId=7752013745

/ci-test-limit runId=7752013745

/ci-test-limit runId=7752532470

/ci-test-limit runId=7752532470

/ci-test-limit

/ci-test-limit runId=7753429397


Geographic DNS

Replicate on EKS the geographic DNS strategy we currently have in ECS (for all envs)

wront repo


Separate setuptools command for installing SoS kernel

Provide a separate setuptools command for installing SoS kernel in development mode where files are linked instead of copied over.

What is the motivation for this? I thought of separating sos kernel as a separate packages (namely sos-kernel and sos batch command) but find a single package easier to maintain.

The testing and debugging would be more pleasant. I completely agree in separating the module to separate packages.

core
cli
ipython kernel
jupyter extensions
...

Separating sos would be time consuming and is certainly not a priority now. I will keep this ticket open and work on it later.

SoS is getting larger. Keeping everything in one package has become more and more problematic. However, to keep the installation process simple, I think we should keep the pip install sos installation command so that we can have packages

sos-base the sos workflow system
sos-notebook the jupyter notebook (sos kernel) with Python2/Python3 subkernels.
sos-R
sos-matlab
sos-SAS
sos-Julia
sos-Bash
sos-PBS
sos-RQ

And in the end we could have

sos to install all sub-packages.

Ohmm, both dashes and underscores are discouraged ... what names should we use?

both dashes and underscores are discouraged

By pip? Then dot, I guess ?

dot is even worse...  this post suggests soscore, sosnotebook, but I think I will follow Jupyter convention and use sos-core as displayed package name and sos_core as importable package name. Example of this is
$ pip list | grep jupyter
DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
jupyter (1.0.0)
jupyter-client (5.0.1)
jupyter-console (5.1.0)
jupyter-contrib-core (0.3.3)
jupyter-contrib-nbextensions (0.3.1)
jupyter-core (4.3.0)
jupyter-highlight-selected-word (0.0.11)
jupyter-latex-envs (<IP_ADDRESS>)
jupyter-nbextensions-configurator (0.2.7)
[bpeng1@bcbm-bpeng:~/sos (master)]$ python -c 'import jupyter_client'

$ pip list | grep sos
sos (<IP_ADDRESS>)
sos-all (<IP_ADDRESS>)
sos-bash (<IP_ADDRESS>)
sos-bioinfo (<IP_ADDRESS>)
sos-essentials (<IP_ADDRESS>)
sos-javascript (<IP_ADDRESS>)
sos-julia (<IP_ADDRESS>)
sos-matlab (<IP_ADDRESS>)
sos-notebook (<IP_ADDRESS>)
sos-pbs (<IP_ADDRESS>)
sos-python (<IP_ADDRESS>)
sos-r (<IP_ADDRESS>)
sos-rq (<IP_ADDRESS>)
sos-sas (<IP_ADDRESS>)


How to send email notification and provide options to Approve/Suspend.Reject from email body itself

How to send email notification and provide options to Approve/Suspend.Reject from email body itself

@Chengal1207 To include approve/suspend/reject in a email body, you can use Wexflow API (approve/suspend/reject methods) and create a web page where the user have three buttons/links (approve, suspend and reject) then once the user clicks on one of the buttons/links you perform a POST call to Wexflow API using jQuery or XmlHttpRequest.

Thank you @aelassas. it would be helpful if you have any samples around it. Because I have to send the email with link to Approve/reject/Suspend using workflow id as dynamic.

@Chengal1207 Here is a working sample for approve:
<!DOCTYPE html>

    <meta charset="utf-8" />
    <title>Approve</title>

    Approve

@Chengal1207 can I close this issue?

Yes @aelassas, you can close this.


pop a check into Shortcodes.php

Line 101. Do the magic.

@CreativeLittleChris please paste in code and do not send screenshots, really not helpful

@CreativeLittleChris also these should be posted on https://github.com/wp-kit/core

is done please user version 1.5.6
https://github.com/wp-kit/core/releases


Better error message when the router is unable to find a parameter because the underlying data has not yet been loaded

My model retrieves the arrival object and then fills in the view.
My view has a link Go to dryer
The router is
{
    route:"entra-secador/novo/:arrivalId",
    moduleId:"rawmaterial/enter-dryer",
    title:"Alimenta o secador",
    name: "rawmaterial-new-drying"
}

If I don't include the if.bind="arrival.id" I get an error:
Unhandled promise rejection Error: A value is required for route parameter 'arrivalId' in route 'rawmaterial-new-drying'.
    at RouteRecognizer.generate (http://localhost:63293/jspm_packages/github/aurelia/route-recognizer@0.6.2/aurelia-route-recognizer.js:331:17)
    at Router.generate (http://localhost:63293/jspm_packages/github/aurelia/router@0.11.0/aurelia-router.js:1218:34)
    at http://localhost:63293/jspm_packages/github/aurelia/templating-router@0.15.0/route-href.js:33:33
    at run (http://localhost:63293/jspm_packages/npm/core-js@0.9.18/modules/es6.promise.js:91:43)
    at http://localhost:63293/jspm_packages/npm/core-js@0.9.18/modules/es6.promise.js:105:11
    at module.exports (http://localhost:63293/jspm_packages/npm/core-js@0.9.18/modules/$.invoke.js:6:25)
    at queue.(anonymous function) (http://localhost:63293/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:40:9)
    at Number.run (http://localhost:63293/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:27:7)
    at listner (http://localhost:63293/jspm_packages/npm/core-js@0.9.18/modules/$.task.js:31:9)

On gitter I suggested that what's happening is that the router is looking to generate the route before the view is complete. Putting in the if.bind clearly delays the creation of the route until the page has loaded. This seems like a hack. I would expect the router to wait for everything to have loaded before trying to generate the route.
@bryanrsmith replied with

that it does wait, but if you load data asynchronously there's no way for it to know. The binding expression just evaluates to undefined. route-href could ignore those errors, but they're often legitimate bugs that shouldn't fail silently. I don't think the if.bind is a hack at all.

I then went on to ask for a better error message explaining that the parameter can not be found since it "is possible that the data has not yet been loaded".
Nonetheless, the behaviour is extremely inconsistent using if.bind to prevent the route being created before the data is loaded. There definitely seems to be some kind of timing issue between the view realizing that the link should not be created because of the if.bind and throwing the exception.

@bryanrsmith We may need to push off the generation of the route by scheduling a micro task. I think that should solve the problem.

@jeremy-holt Would you mind posting your view model code? My understanding is that the view model is loading the required data asynchronously without blocking activation. If that is the case then the if is indeed required, but we could possibly improve the error message.

I've made some recent changes to route-href that should reduce this issue in the next release. I believe route-href is now handling this as well as it can. Please feel free to reopen if that's not correct.

I have problem with Aurelia binding. My class is as following:
import {inject} from 'aurelia-framework'
import {HttpClient, json} from 'aurelia-fetch-client';

@inject(HttpClient)
export class AppleList{
constructor(client){
			this.apples = [];
			this.client = client;
   }

   created(){
	this.client.fetch('http://localhost:50165/api/values')
    .then(response => response.json())
    .then(data => {this.apples = data});
 	}

   select(apple){
	this.selectedId = apple.id;
	return true;
   }
  }

and my html file is like this:
<template>

${apple.Name}

</template>

The problem is message from browser console: A value is required for route parameter 'id' in route 'appledetails'.
When I put:
if.bind="apple"

in

it is working like a charm but documentation and many examples don't say about this solution.
Do you have idea what is wrong or maybe it is still valid solution?

Is your property named Id or should it be id. The error you are getting is because you have null items in your array or an id that isn't defined. There's literally no way to generate the route without the required info.

Thank you Rob for fast response.
My property "Id" is coming from server and it is "Id". When it is "id" I'm getting the error. To be sure, I've changed property name for "id" but the problem still exists. If I add "if.bind="apple" everything is going properly.
The more interesting thing is that I have seven items in apples collection but I'm getting only three errors in scenario without "if.bind". In the another scenario when I have "Id" in object and "id" reference  in {id: apple.id" then I'm getting seven errors. Every error is "A value is required ...."

It sounds like your array has holes in it.

If you mean hole as empty object or null then my answer is "I don't think so". I've checked whole array (length == 7), and every object has filled by proper id and name. All names are displayed in browser and every href for every link has proper value.

Is the array being filled after rendering? The error you are getting is literally indicating that when the route-href behavior runs, the data isn't all present.

OK, I understand my fault after debugging vendor-bundle.js. The data are loaded from server before rendering, but resolver is working ansychronously and errors are coming when Promises collection is preparing.
Am I right?

I'm blind as hell, my fault. It took me very long time but the reason of this error is ... not close  tag :). Now, it is working like charm. Thanks a lot for patience!!!

if.bind works(which it doesn't exist in doc) as Aurelia has rendered my HTML before data has loaded. It'd be nice if Aurelia takes care of this in the background.


Feat/desktop

Adds Desktop component:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


fix(learning): specify proper torch version for macos

Allow higher versions of torch in macos.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 26.16%. Comparing base (ff30ce5) to head (dd706fa).
Report is 1 commits behind head on main.

Additional details and impacted files

@@           Coverage Diff           @@
##             main    #3679   +/-   ##
=======================================
  Coverage   26.16%   26.16%
=======================================
  Files         188      188
  Lines       17250    17250
=======================================
  Hits         4514     4514
  Misses      12736    12736

Continue to review full report in Codecov by Sentry.

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


RFC: change default of group setting storage to none in Paket 6

I propose we change the default of the storage setting to none. Currently the default is set to packages but since more and more users convert to SDK style projects that switch feels wrong.
More details: https://fsprojects.github.io/Paket/dependencies-file.html#Disable-packages-folder

Yes 😃 This is the first thing I change in most projects, that and the framework to auto-detect

Does the framework option even have a meaning in new SDK projects?

👍 for storage: none

Does the framework option even have a meaning in new SDK projects?
@matthid i use it to constraint the resolution when is a multi targeted framework. i am doing it wrong?

Yes, 100% and framework auto detect makes package resolution so much faster!
Why resolve all transatives for every framework....ain't nobody got time for that.

To be fair the new init settings have packages none and versions to netstandard2 and netcore3, right?

I mean this is all off topic but isn't it more painful for new users? Yes it is faster but if I add a new proejct with a new framework the lockfile will not be updated and I might run into issues. How do I know that I have to run paket update (paket install probably won't even work as paket will say every group is up to date and nothing has changed in the depsfile)

I'm not proposing to add autodetect.

Well, I'm not 100% sure the above is correct, just an assumption which should be tested. Otherwise I think changing the default is not a bad idea if that scenario "just works".


feat: add support for vc+sd-jwt format

This adds support for the vc+sd-jwt format as described in HAIP. It's a bit weird, as the spec describes that the object must be empty: https://vcstuff.github.io/oid4vc-haip-sd-jwt-vc/draft-oid4vc-haip-sd-jwt-vc.html#name-presentation-definition
The actual alg values supported etc.. are defined in the client metadata, and not in the PD. This works ok when using this format with HAIP, but if you use e.g. DIDComm with PEX it would be nice to also have these values here. I think once the formats will be registered in the DIF registry, it may get some properties defined for the format: https://github.com/vcstuff/oid4vc-haip-sd-jwt-vc/issues/63
@nklomp do you agree with it being an empty object for now, or should we also allow the client metadata values (sd-jwt_alg_values and kb-jwt_alg_values) in the PD?

@nklomp would you be able to take a quick look at this PR and release a new version? It's a dependency for the upstream work in PEX, so then all remaining work is to be done in ssi-types + PEX

I would for sure add the metadata values as optional. To me it seems the HAIP profile does suggest them to be present, if you look at the texts talking about it. I think they simply haven't updated the example.
If we make them optional then we can have implementer choose where they want to put it

@nklomp the fields are only described in the verifier metadata (see https://vcstuff.github.io/oid4vc-haip-sd-jwt-vc/draft-oid4vc-haip-sd-jwt-vc.html#name-verifier-metadata).
However, the section on presentation definition specifically mentions the object is empty:

The presentation of a SD-JWT VC is requested by adding an object named vc+sd-jwt to the format object of an input_descriptor. The object is empty.

See https://vcstuff.github.io/oid4vc-haip-sd-jwt-vc/draft-oid4vc-haip-sd-jwt-vc.html#name-presentation-definition
So maybe that needs to be changed in HAIP, but they're not defined for the PEX formats.

I'll add them as optional for now, as otherwise you can't really convey this metadata in PEX without using OpenID4VC
This is not a concern of HAIP though, so I'm not sure if they're open to change this

Updated the PR to include the properties as optional


Fixed the dead link

This is the change @sjackman asked me to do here:
https://github.com/Linuxbrew/linuxbrew.github.io/issues/5

Thanks, Jimmy! I'll merge this PR once the in-progress merge of brew 1.2.2 PR #410 has been merged.


1.5 docs: combined cases and deaths signal

I've pushed some updates to your branch; if it all looks good, we can merge tomorrow


Fix Haxe 4 warnings

Redirect to haxe.SysTools if on Haxe 4, and make winMetaCharacters getter-only for consistency.

This was already resolved a while ago by fe4e35e.


False positive behavior toStrictEqual

🐛 Bug Report
.toStrictEqual doesn't perform === equality check for nested objects
To Reproduce
test("", () => {
    class Foo {}
    class Bar {}

    const p1 = new class A extends Foo{}();
    const p2 = new class A extends Bar{}();

    expect([p1]).toStrictEqual([p1]); // pass
    expect([p1]).toStrictEqual([p2]) // pass, but should not
});

Expected behavior
expect([p1]).toStrictEqual([p2]) should not pass

It's not ===, it's equality. UsetoBe for referential equality

@rickhanlonii I see you asked OP to open this. Why do you think it's a bug?

@SimenB more attention pls. I'm talking about array values equality rather than arrays itself.
Look at #6757

Right. Still, your example is supposed to pass, it's not a bug

@SimenB ok. But is there any way to perform deep/iterable toBe check?
For example to test memoizing.
Of course i could use loops like below or create custom matcher, but it will display bad errors.
Look
test("", () => {
    class HugeFoo {}

    function hugeTask() {
        return [new HugeFoo('foo'), new HugeFoo('bar')]
    }

    function memoize(fn) {
        return fn;
    }

    const wrapped = memoize(hugeTask);

    const a1 = wrapped();
    const a2 = wrapped();
    expect(a1).toEqual(a2);
    expect(a1).toStrictEqual(a2);

    expect(a1.length).toBe(a2.length);
    for (let i = 0; i < a1.length; i++) {
        expect(a1[i]).toBe(a2[i]);
    }
});

2 instances of the same class are considered equal

Ah, my mistake

@rickhanlonii nevertheless bug exists  when comparing 2 instances of different classes with identical name.
https://github.com/facebook/jest/issues/6767

@rickhanlonii @SimenB
i think non-plain objects should be compared with === and not by structure. At least sentence 2 instances of the same class are considered equal is controversial new Boolean(true) and new Boolean(false) are instances of same class. so they should be considered equal?

@SimenB
Also toStrictEqual is ambiguous. From documentation

Use .toStrictEqual to test that objects have the same types as well as structure.

const object = Object(1);

expect(object).toStrictEqual(1);
// pass, but should not - they have different types.
// typeof object !== typeof 1

expect(new Number(1)).toStrictEqual(new Number(2));
// fail, but they have same structure, and same type


Wiki link to heading can't be resolved when the heading has special chars

Given
## Foo | Bar

[[#Foo %7C Bar]]

The | was url-encoded but it's not url-decoded when the link is resolved.

Fixed by #216


[Storage] Script to run all the samples in one go - storage-blob

rushx execute:samples command will run all the samples(both javascript and typescript) in one go.
Before running the command, please make sure that the environment variables required by the samples are present in the .env file(or set them using set or export commands from bash or cmd prompt)

👍


Add "auroraeditor/auroraeditor"

ℹ Repository information
The repository has:

[x] At least three issues with the good first issue, or other labels specified in config.json (see labels and the end).
Link:
[x] At least 10 contributors.
[ ] At least 1000 stars.
[x] Detailed setup instructions for the project.
Link: https://github.com/AuroraEditor/AuroraEditor
[x] CONTRIBUTING.md
[x] Actively maintained (last updated less than 1 months ago).

Doesn't meet requirements.


Test runner uses x64 on macOS ARM

I was wondering why test execution was so slow on my M1 MacBookPro and then noticed how this module missed to adopt support for our macOS ARM/Universal builds. I think this should be addressed as soon as possible.
Slightly related, we have Linux/Windows ARM builds as well, so the same could apply there?

I've added logic for this for OS X and Windows, however I do not have ARM devices to test on. Please verify this on<EMAIL_ADDRESS>🙂

@connor4312 thanks for the prompt fix, I verified this on macOS just now.
But what worries me is that our Yo generator pins the @vscode/test-electron dependency to a very old version: ^1.6.2.
@aeschli can you update the generator?

@bpasero Pushed<EMAIL_ADDRESS>

Thanks 🤝


Trait to set speed/levels

Hi,
I am in need of a smart home "speed" trait that I can invoke using a phrase such as
"Alexa set the smartlights to speed 5"
This is to control the "effect speed" of the smartlights.
I have speed values of 1 -> 10.
I was not able to get the fanspeed trait to work for this functionality. It appears others have also tried and failed based on online searches.
Instead I added the synonyms "one" -> "ten" into an existing custom mode "effects"
so now I have "Alexa set the smartlights to effect one"
The above utterance works BUT for only for the numbers one -> four.
I do not know why the other numbers (6->10) are not being recognized.
Is it possible to have utterance:
"Alexa set the smartlights to speed one"  (one through ten) or something similar?
Please advise.
best regards
beno bell
Senior Software Engineer
Creativity, Inc.

Is this for Alexa or Google Assistant?
Synonyms "one" to "four" do exist for Google Assistant right now as mode settings (and "five" and "six" should be available soon as per #317). Is there a specific reason why the FanSpeed trait does not work as expected?

Hi Nick,
Google assistant.
I tried using the fan trait but it didn't work and gave no indication why not. I checked the user groups and seemed other had difficulties too and I did not find any solution. A working example would help.
Please note type is a light not a fan. Could that be the issue?
Anyway I need to set a speed for the light effects at speeds 1->10.
I will gladly use fanspeed if I can get it to work.
The desired utterance would be something like "Ok Google, set Noma light to speed five"

Hi Nick,
So here's my OnSync. pasted at end of this (I removed the end section with custom modes).
I am able to successfully trigger slow, medium and fast. (Yay!)
But the numbers don't work. and increase/decrease are not working either.
I'm looking to have the ability to select 1 -> 10 in speed settings.
When I try the utterance "ok google set the noma light to speed 3" -" I hear "actually noma light doesn't support that functionality"
When I try the utterance "ok google increase the light speed" -" I hear "actually noma light doesn't support that functionality"
When I try the utterance "ok google set the noma light speed to slow" - correct response received = "ok setting the noma light speed to slow"
app.onSync((body) => {
return {
requestId: 'ff36a3cc-ec34-11e6-b1a0-64510650abcf',
payload: {
agentUserId: '123',
devices: [{
id: 'nomalight',
type: 'action.devices.types.LIGHT',
traits: [
'action.devices.traits.OnOff',
'action.devices.traits.Brightness',
'action.devices.traits.ColorSpectrum',
'action.devices.traits.Modes',
'action.devices.traits.FanSpeed'
],
name: {
defaultNames: ['Noma Light'],
name: 'Noma Light',
nicknames: ['Noma Light']
},
deviceInfo: {
manufacturer: 'Gemmy',
model: 'smartlight',
hwVersion: '1.0',
swVersion: '1.0.1'
},
    willReportState: false,

    attributes: {
      pausable: false,
      colorModel: 'rgb',

availableFanSpeeds: {
speeds: [{
speed_name: 'S1',
speed_values: [{
speed_synonym: ['slow', 'one', '1'],
lang: 'en' }
]
},
{
speed_name: 'S2',
speed_values: [{
speed_synonym: ['two', '2'],
lang: 'en' }
]
},
{
speed_name: 'S3',
speed_values: [{
speed_synonym: ['three', '3'],
lang: 'en' }
]
},
{
speed_name: 'S4',
speed_values: [{
speed_synonym: ['four', '4'],
lang: 'en' }
]
},
{
speed_name: 'S5',
speed_values: [{
speed_synonym: ['medium','five', '5'],
lang: 'en' }
]
},
{
speed_name: 'S6',
speed_values: [{
speed_synonym: ['six', '6'],
lang: 'en' }
]
},
{
speed_name: 'S7',
speed_values: [{
speed_synonym: ['seven', '7'],
lang: 'en' }
]
},
{
speed_name: 'S8',
speed_values: [{
speed_synonym: ['eight', '8'],
lang: 'en' }
]
},
{
speed_name: 'S9',
speed_values: [{
speed_synonym: ['nine', '9'],
lang: 'en' }
]
},
{
speed_name: 'S10',
speed_values: [{
speed_synonym: ['fast', 'ten', '10'],
lang: 'en' }
]
},
],
ordered: true
},
reversible: false,

Okay I can reproduce this and have filed a bug on it.

Hi Nick,
Any update on this?
We are currently failing certification due to this problem (and one other issue).

I currently do not have an update.

Hey Nick, hey @benobell ,
Is there any update on this? Did you find a workaround?
Im currently in the in the same process of certification and I am not able to get fanSpeed to work.
I do also use numbers and get the same response  ("...doesn't support that functionality.")
If providing insight to my problems may help this bug, please let me know.
Any help appreciated!

We're aware of this limitation.

Any news ?
I have the same problem

Closing this issue as the original poster has been inactive and it's not related to the content of this GitHub sample. To report a bug or feature request with the Actions on Google Smart Home platform, please use the Google Smart Home public issue tracker.
For development support questions, please post on our community forums:

Reddit: https://www.reddit.com/r/GoogleAssistantDev/
StackOverflow: https://stackoverflow.com/questions/tagged/google-smart-home


Cannot redirect to custom error page from serverMiddleware

Versions

nuxt: v2.15.4
node: v14

Reproduction

https://codesandbox.io/s/empty-https-n1unz

Additional Details

Steps to reproduce

start the server
it should show Nuxt's default error page with 'unauthorized' message.
when you comment out the serverMiddleware config here (https://codesandbox.io/s/empty-https-n1unz?file=/nuxt.config.js), error function is called inside pages/index.js and that results in showing my custom error.

What is Expected?
Somehow navigate to my custom error page from serverMiddleware, instead of Nuxt's default one.
What is actually happening?
Not sure if this is a bug or some hidden spec.
I have two pages; index, and error.
Also, I have a server middleware that simply calls next function with { statusCode: 401, message: "unauthorized" }.
In the index page, I call this.$nuxt.error({ statusCode: 401, message: "unauthorized" }); and that redirects the browser to my custom error page.
https://codesandbox.io/s/empty-https-n1unz?file=/pages/index.vue
But I can't find a way to show my custom error page from the serverMiddleware.
I found a similar issue but that doesn't help.

Find out that we need to create & modify app/views/error.html and that file should be almost static.
I wish if error.html could go through webpack preprocessing so that we can use assets...


search sort does not handle DESC direction ?

The spec here
https://github.com/redis/node-redis/blob/master/packages/client/lib/commands/SORT.spec.ts
does not mention sort direction 'DESC', only 'ASC'.
Lines 55-62 seem to indicate that only 'DIRECTION' 'ASC' is transformed into 'SORT' 'key' 'ASC', but 'DIRECTION' 'DESC' will not be managed.
Environment:

Node.js Version: 14.18.1
Redis Server Version: 6.2.0-v1 (via Redis Stack and "brew services")
Node Redis Version: 4.0.6
Platform: macOS 11.6.5

https://github.com/redis/node-redis/blob/master/packages/client/lib/commands/generic-transformers.ts#L501
transformArguments('key', {
    DIRECTION: 'DESC'
});
// ['SORT', 'key', 'DESC']
);

My Javascript which is worlink :
let searchResultsLines = await this.redisClient.ft.search('lines', q, {
        LIMIT : {
          from: query.nblines_from,
          size: query.nblines_size
        },
        SORTBY: {
          BY: 'dt',
          DIRECTION: 'DESC'
        }
      })

which produces :
!@# [
  'FT.SEARCH', 'lines',
  '%guer%',    'SORTBY',
  'dt',        'DESC',
  'LIMIT',     '0',
  '50'
]


Allow types of collections

Attributes which are collection should allow for specifying the type (i.e. List, Set)

Add collection-type to attribute which allows for list or set


Add Falco integration

Falco - https://sysdig.com/opensource/falco/

It’s opensource
https://www.twistlock.com/ - Similar but not opensource

The .gov team pipe the falco output into the logs. Can we add deeper integration in Stratos, warnings when particular events happen? Maybe an extension?

@mogul do you have examples of the kind of rule sets you use?

Nothing yet, we're still trying to get past the compliance hurdles of putting it in production before we start tuning rules or figuring out how to make them CF-user-accessible.
As it stands, our integration just puts notice of rules being triggered (whether informational or causing a restart) in the application logs.


prepare for node v4

will be able to update some functions.
won't be using promises yet --> still slow

its either gonna work or not. will adjust as necessary. delaying the upgrade of node for the moment.


Azure AD Tier for Password Hash Sync

Azure AD Premium P1 is listed as requirement for password hash sync and leaked credential reporting.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 8763efcd-d2ef-6547-e33d-c250d97020f6
Version Independent ID: d8969bd7-a35d-e21d-ec43-ba6028ccbc5f
Content: Azure AD deployment checklist
Content Source: articles/active-directory/fundamentals/active-directory-deployment-checklist-p2.md
Service: active-directory
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

@amasse3 Thanks for your question. We are checking on this and will respond to you soon.

@amasse3 Correct. That is what the article says. Do you have a question? Or are you just making a statement?

@microsoftGuyJlo - sorry for the confusion.  I believe this in in error and AAD Premium is not required for PHS.

Confirmed with PG that you are correct @amasse3 doc should reflect change later today.


[5.3] $e->validator->errors() results in call to undefined method

Laravel Version: 5.3.6
PHP Version: 7.0.7
Database Driver & Version: no db interaction

Description:
It seems there are 2 occurrences of ...validator->errors() within the framework that won't work with 5.3 anymore.
https://github.com/laravel/framework/blob/master/src/Illuminate/Foundation/Exceptions/Handler.php#L219
https://github.com/laravel/framework/blob/master/src/Illuminate/Foundation/Validation/ValidatesRequests.php#L120
Shouldn't that be something like ...validator->getMessageBag()->all();?
Changing it did fix it in a way. But as I'm not sure that's actually the correct solution I did not make a PR out of it.
Steps To Reproduce:
Throwing a ValidationException in an explicit route binding similar to...
class RouteServiceProvider extends ServiceProvider
{
    public function boot()
    {
        Route::bind(
            'needscustomvalidation',
            function ($id) {
                // ...
                $validator = Validator::make(['id' => $id], ['id' => 'integer|digits:42']);
                if ($validator->fails()) {
                    throw new ValidationException($validator->errors());
                }
                // ...
            }
        );
    }
}

...results in:
FatalThrowableError in [.../vendor/laravel/framework/src/Illuminate/Foundation/Exceptions/]Handler.php line 219:
Call to undefined method Illuminate\Support\MessageBag::errors()

If that's something I should absolutely not do please let me know. I actually catch that exception within the explicit binding (which is not required anymore in 5.3 if i understand correctly) where i passed the message incorrectly myself.
How to correctly retrieve/pass errors could be an addition to the "Validation" section of the Upgrading To 5.3.0 From 5.2 upgrade guide?

My bad. I just realised that I was passing the MessageBag instead of the Validator.


How to install fonts, specifically on windows

[x] I am on the latest Hyper.app version
[x] I have searched the issues of this repo and believe that this is not a duplicate

This is what I have in my .hyper.js
"fontFamily": '"Fira Code", "Roboto Mono", monospace',

however, it looks like monospace is being used. I presumed this would configure the fonts auto-magically, but I conclude that I must first install the fonts, and I'm ok with that . . . except I have no clue how to do this.
Do I need to install them on my windows system ?
Is there a special way to install fonts only for hyper ?
Where do I put font-files I download ?
Any font-file formats recommended ? (I don't mean mono, but .ttf or something else ?)
I think there should be some guide in the docs explaining how to do this on the different platforms (windows, linux, macos)  to save users from having to hunt through the web and hyper issues.
I came accross people mentioning powerline fonts . . . Is this what I should use ? I understand from their docs that powerline fonts is only for powerline.

yes, install them to windows, i don't have immediate access to windows box to check - but from memory:

hit win+r for Run dialog
type fonts and press enter
drag and drop downloaded font files into the fonts folder to install

yes, powerline fonts add some special characters used to make powerline prettier
ttf is great, woff (web open font format) is also fine
my favorite programming font is inconsolata

I suggest testing out Nerd Fonts. You just need to download the .ttf file and then open it - the Windows font viewer should give you an option to install the file.
Make sure you download a font with 'Windows Compatible' in the name.

@DanielGGordon thanks for the tip, I will give that a look :)

This worked like a charm, really easy. Is it this easy on linux ? :D

awesome!
please close the issue @Thebigbignooby

Dropping font files into C:\Windows\Fonts requires admin access, though some tools exist to allow users to temporarily install fonts without escalation. These get written to the font cache and are available until the next reboot, but not visible to Hyper.


Small improvements for Elemental UI

the dashboard menu item is highlighted when other menu items are selected (dashboard route will probably need to be unique)

the edit page for machine registrations needs some UX TLC. Create a dedicated DETAIL (non-edit) page for machine registration with:

Registration URL
Download
Cloud Config

Remove YAML Import button/action from Machine Inventory list as it doesn't work for the "blank" cluster concept (which is needed because of RBAC)

All good here.


Flickering when refreshing data with json

When loading data into a page with json, the loaded data flickers.
Example:
I just want to show a digit on the startpage. By using json I request the
digit every 2 seconds from a PHP script and display the newest digit.
This works so far... BUT, the digit flickers on every refresh. This does
not look very nice (and I want to refresh more like just one digit).
If jqtouch is not fully loaded (because the div with the id "jqt" is
missing), the refresh of the digit is nice an smooth - no flicker (although
all pages are displayed underneath each other).
I tried the actual offical version of jqt and the latest version from the
trunk - both have the same problems.

Please let me know if this is still happening in the current master branch and open a new ticket if so-


Improved performance on SimpleRepository

Excluded the update from the lock around reference

[Current coverage][cc-pull] is 98.73%

Merging [#57][cc-pull] into [master][cc-base-branch] will increase coverage by <.01%

@@             master        #57   diff @@
==========================================
  Files            38         38
  Lines          1418       1420     +2
  Methods           0          0
  Messages          0          0
  Branches        241        241
==========================================
+ Hits           1400       1402     +2
  Misses            3          3
  Partials         15         15

Powered by Codecov. Last updated by [bf6f1e2...df6cfdd][cc-compare]
[cc-base-branch]: https://codecov.io/gh/google/agera/branch/master?src=pr
[cc-compare]: https://codecov.io/gh/google/agera/compare/bf6f1e26e452022a28ef0ce293b8db330f109c03...df6cfdd80766e87fa9bef700ad63868ce478b2dd
[cc-pull]: https://codecov.io/gh/google/agera/pull/57?src=pr


Updated Help and Feedback page with new method to contact support

New support method added to page.
Old support method removed from page.
Fixed small capitalization error in page title.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: psmcbrayer sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

@psmcbrayer : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Ignore this contribution -- didn't have perms on PR repo to create branch, but ended up getting them.


feat: updating default values

fixed #44

Works well, nice job. I added an option to make the default value update optional, off by default. Unless you think it should always do that.
Side note - I tried to use the 'reset' function returned from useForm and I got an error.
TypeError: 'set' on proxy: trap returned falsish for property 'isDirty'
Should probably address on a different branch but wanted to mention it.

I've found this problem, and I think it's time for us to refactor the library.

Strange because i know it worked before. Ok let me know how you want to proceed.

Looks like I found the problem. Let me work on it.

That should do it.

I'm going to be 9-to-9er.

nice work! looks good to me

If you think it's okay, merge it in

Better give me your npm name, I think I can give you access to npm packages

@kylegl

Thanks got it.

It was so much fun coding with you!

Well you did most of it but same. This module is 🔥


Add AgentRunner and LongRunnable to support long running agents

This changes HuginnScheduler and TwitterStream to use the new AgentRunner
TwitterStream now uses the twitter gem to access the streaming API which removes the eventmachine dependency (in production).
I have been working on this for a while now and it finally seems to reach a point where everything is running smoothly (at least in development).
The AgentRunner is basically an improved threaded.rb. It handles failure of workers and reloads them if the configuration changed.
What is still missing is a way for a LongRunning Agents to receive events. This would, for example, allow the XMPP Agent to stay connected to the server.

Very cool!

This seems really good!
If someone wants to run multiple delayed_job processes, how would they do that in this new world?

Not much compared to the current threaded.rb worker. It should be no problem to spawn addition DJ workers via rake jobs:work

Coverage decreased (-1.24%) to 87.53% when pulling 8d6dbc1d280db2e98c678e59aa087f5b698ab699 on dsander:agent-runner into 1a43bd2907138f9e1038042e2e5da6110a742203 on cantino:master.

Coverage decreased (-1.24%) to 87.53% when pulling 8d6dbc1d280db2e98c678e59aa087f5b698ab699 on dsander:agent-runner into 1a43bd2907138f9e1038042e2e5da6110a742203 on cantino:master.

Coverage decreased (-0.81%) to 87.78% when pulling ab46d77a75b5c23fca66b8e331066cbe24a0e27a on dsander:agent-runner into cf5f96cb592f45c505371345ab8a1cccc7d5eba9 on cantino:master.

Coverage decreased (-0.7%) to 87.89% when pulling 5def6ac8bbee3dc200c3701d9b9ae8c725868716 on dsander:agent-runner into cf5f96cb592f45c505371345ab8a1cccc7d5eba9 on cantino:master.

Coverage increased (+0.61%) to 89.39% when pulling 55a3aa5d9a877fab9d1c69006404c404d38bb370 on dsander:agent-runner into 2e36f395f5fd854486ec7e7711bf2c1fec80d571 on cantino:master.

I am running this in production now and everything seems fine so far. Had an issue with ActiveRecord::ConnectionTimeoutError exceptions first, that was probably because the HuginnScheduler is now using a global mutex (shared with all threads running). The last commit fixed those issues.
Would be great if some of you could test it in production too. /cc @knu @virtadpt

I'll try to test it on Saturday morning, I'm swamped at work right now.

I'll merge this into my personal Huginn and see how it goes as well.

Hey @dsander, I deployed it and my twitter streaming agents stopped working:
Restarting 981...(key and a list of the terms I track)
Exception :
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/twitter-5.14.0/lib/twitter/streaming/response.rb:21:in `on_headers_complete'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/twitter-5.14.0/lib/twitter/streaming/response.rb:16:in `<<'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/twitter-5.14.0/lib/twitter/streaming/response.rb:16:in `<<'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/twitter-5.14.0/lib/twitter/streaming/connection.rb:22:in `stream'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/twitter-5.14.0/lib/twitter/streaming/client.rb:118:in `request'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/twitter-5.14.0/lib/twitter/streaming/client.rb:37:in `filter'
/home/huginn/app/releases/20150518000152/app/models/agents/twitter_stream_agent.rb:187:in `stream!'
/home/huginn/app/releases/20150518000152/app/models/agents/twitter_stream_agent.rb:161:in `run'
/home/huginn/app/releases/20150518000152/app/concerns/long_runnable.rb:37:in `block in run!'

@cantino Thanks for testing it! It the twitter agent seems to have raised an exception which I did not expect to happen. I changed the twitter exception code handling to show the exception class (all the information it exposes).
Do you have any special filters? To be honest I just tested it with two TwitterStreamAgents which use the same oauth_token each having one filter

Wow, this is frustrating. It turns out the twitter gem is not properly escaping the query string as per twiters rules. That is why @cantino was getting 401 errors when an @ was included in the filters.
While working on a fix for the twitter gem I discovered the http.rb gem seems to unescape the query string, which feels like a really stupid thing to do.
I will open an issue for the twitter gem to see what the maintainers think about this, but I guess the only solution for us right now is to revert to twitter-stream :disappointed:

Wow, that's pretty bad.  However, I'm okay if we deploy this.  I don't really need the @ sign.

I can deploy it again to my system soon and try it without the @.

Actually we are requiring the http.rb version which normalizes the uri. To fix it, the http.rb would need support to pass the characters which should left encoded to adressable, and then the new release needs to be included in the twitter. So nothing that is going to happen soon.
I am going to revert the TwitterStreamAgent to twitter-stream over the weekend, at least we know that gem works :smile:

Coverage increased (+0.55%) to 89.32% when pulling 2a9ddfb77482982116f1daf5f7eb1c2c1def6c5f on dsander:agent-runner into 2e36f395f5fd854486ec7e7711bf2c1fec80d571 on cantino:master.

Coverage increased (+0.46%) to 89.27% when pulling 19d67b9fe41f39da31ba3ebcc097e6ab304569f2 on dsander:agent-runner into 79c89ee115baa7d6b3ac1eac3b1ac5210bfd66c9 on cantino:master.

The specs are passing again and I squashed and reordered the commits. Hopefully everything is working now :smile: The JabberAgent has been performing very well for me (I use it in a HipChat room to grab URLs and post the facebook opengraph summary of articles, HipChat used to have a integration which did this but it was removed due to "legal concerns")
I am testing the TwitterStreamAgent in production now.

Coverage increased (+0.58%) to 89.24% when pulling c7caee0e60e4322e9a57844abe4ed9f65a3bd225 on dsander:agent-runner into 562f95a438d61840b150fc58509ff0f129ca76e6 on cantino:master.

This is great!  Trying it again on my setup.

Seems to be working fine for me so far :)

After merging in master, I started to get things like
  91211030   job:
  91211030     Rufus::Scheduler::EveryJob "1m" {:tag=>"HuginnScheduler"}
  91211030   error:
  91211030     91211030
  91211030     ActiveRecord::ConnectionTimeoutError
  91211030     could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)

so I switched back to master from this branch and haven't seen it since.

I will check in on my installation, can you try to increase the DATABASE_POOL to something like 20? I have seen those in the past as well and increasing the pool size has fixed that issue.

Setting DATABASE_POOL to 20 in my .env file seems to have worked!

Great! To me it now seems like that my TwitterStreamAgents are hanging after a few minutes/hours. It's hard to debug because (of course) it's working fin in development.

I haven't seen the TwitterStreamAgent cut off, but I'll keep an eye on it.

I've been on this for quite a while now with no obvious issues.

Glad to hear, I am still not totally confident with the twitter stream, just checked and my twitter counts agent stalled a few hours ago after working for about a week since the last deploy. I think I will add a force restart every few hours.

Seems reasonable.

Ok this seems to work really great now, I never had any issues with the JabberAgent and the TwitterStreamAgent with the forced restart is working well as well.
Maybe @knu and/or @virtadpt would like to give this a try?
What worries me a bit is the DATABASE_POOL variable, I don't really know why our previous default of 10 is now too low and how to we can communicate the change. Maybe force it to be at least 20?

I'd definitely suggest increasing DATABASE_POOL, and also having someone else test it out for a bit.

Unfortunately I just realized that my Twitter monitor hasn't been running for the last week or so. :(  I just merged in your changes and restarted everything.  Hopefully now it'll work.

I'd definitely suggest increasing DATABASE_POOL, and also having someone else test it out for a bit.

You mean by changing the database.yml?

Unfortunately I just realized that my Twitter monitor hasn't been running for the last week or so.

I had the same problems, hope the periodic restart of the TwitterStreamAgent::Worker fixes it for you too.

@dsander I'll give it a try after I get back from DefCon.  Which branch is it right now?
I've been using a DATABASE_POOL value of 30 for months, and it seems to be doing pretty well.
Maybe I should go back to the separate process model...

@dsander Huginn fall down, go boom, four hours after updating and restarting.  Two separate dj processes.  Re-enabling threaded job runner.

@virtadpt I don't see how the problems you are describing are related to this branch. Especially as the threaded and non threaded version now are using exactly the same codebase. Compare the threaded version with the separate scheduler and twitter_stream.
That is the Procfile you were using?

Twitter has been working since I merged in your most recent changes.  I don't know if it's been long enough to observe the failure that happened last time or not, but so far, so good.

@dsander Here's the Procfile I was using for that test:
web: bundle exec rails server -b<IP_ADDRESS>
schedule: bundle exec rails runner bin/schedule.rb
twitter: bundle exec rails runner bin/twitter_stream.rb
dj: bundle exec script/delayed_job -i 0 run
dj: bundle exec script/delayed_job -i 1 run

Unfortunately my Twitter stream appears to have stopped again.

@cantino That's odd, do you have an exception in the logs? Mine has been running for two weeks now with no problems at all.

Okay, so this is odd.  When I looked at my Huginn logs, I saw a gap in Tweets logged to the log file, but looking at the Events, it was clearly receiving data.  I also don't see "Waiting for a couple of minutes..." anywhere in the logs.  So maybe the bug is actually at some point it stops logging, but otherwise keeps working?
I do have these in the Rails log, but I don't know if they correlate with anything.
E, [2015-08-14T17:01:20.669508 #25521] ERROR -- : 2015-08-14T17:01:20-0700: [Worker(host:li260-181 pid:25521)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWr
apper (id=999946) FAILED (0 prior attempts) with Twitter::Error::InternalServerError: Internal error

E, [2015-07-22T05:59:59.568544 #9766] ERROR -- : 2015-07-22T05:59:59-0700: [Worker(host:li260-181 pid:9766)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrap
per (id=845360) FAILED (0 prior attempts) with Twitter::Error: execution expired

E, [2015-07-14T12:38:58.022119 #12507] ERROR -- : 2015-07-14T12:38:58-0700: [Worker(host:li260-181 pid:12507)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWr
apper (id=794617) FAILED (2 prior attempts) with Twitter::Error: execution expired

That sounds really odd, so the events have been created, but the agent did not log the tweets?

The events seem to have been created, but the upstart output log stops seeing it.  I'll keep an eye on it and see if it happens again.

@dsander, I just checked and my Twitter Agents stopped receiving data 5 days ago.  However, this time I could find errors!
Google is looking for a #Test #Engineer (Glass) in #MountainView, apply now! #jobs http://t.co/cJQBE6m1VU --> Twitter error: ActiveRecord::ConnectionTimeoutError: could not obtain a database connection within 5.000 seconds (waited 5.000 seconds)
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:189:in `block in wait_poll'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:180:in `loop'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:180:in `wait_poll'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:135:in `block in poll'
        /home/huginn/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/monitor.rb:211:in `mon_synchronize'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:145:in `synchronize'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:133:in `poll'

That second error repeats a bunch of times.  Interestingly, after pages of errors, I do see one case where it did Restarting Agents::TwitterStreamAgent-9-ad7a059ed25bd3ad993dfa836be45e5a966f453c and logged a few tweets before erroring again with the same could not obtain a database connection within 5.000 seconds (waited 5.000 se conds) message.
Then, eventually I see this:
Agent#9: Agents::TwitterStreamAgent-9-ad7a059ed25bd3ad993dfa836be45e5a966f453c Exception Could not parse data entirely (615 != 6
79):
/home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:128:in `<<'
/home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:128:in `receive_da
ta'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in `run_machine'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/eventmachine-1.0.7/lib/eventmachine.rb:187:in `run'
/home/huginn/app/releases/20150817070527/app/models/agents/twitter_stream_agent.rb:168:in `run'
/home/huginn/app/releases/20150817070527/app/concerns/long_runnable.rb:69:in `block in run!'
Restarting Agents::TwitterStreamAgent-9-ad7a059ed25bd3ad993dfa836be45e5a966f453c

and then the feed stops.

I can dig into the code this weekend and see if I can solve it.

@cantino I did a bit of research and it seems like we need to wrap the code that is working with the database in with_connection blocks. Otherwise the checked out connection sometimes is not properly returned to the database pool. Not completely understanding why it's working for me now (my huginn db uses a stable amount of 12 connection to postgres) but the with_connection blocks should fix it. Ill try to work on it later today or tomorrow.

That makes sense

@cantino Do you mind trying the most recent version? I have been running it for a few hours with a pool size of 10 and did not get any exceptions. My huginn postgres user now uses just 6 connections (that is including the unicorn workers).

Okay, trying that now.  Also was getting constant errors (unrelated, I think-- due to some encoding in a repeating tweet) until I added #1001.  I also found on the deploy that two base copies of threaded were running and required kill -9 to stop them.  Things look stable now.

This has been running well for me for the last 5 days.

Great, for me me too. Shall we merge it? :smile:

I assume the JabberAgent has been working well for you?
@knu or anyone else, does anyone have any other feedback on this prior to merge?  Has anyone else been testing it?

@cantino Yes it does, it is surprising how many websites provide opengraph meta tags :smile:

If we don't hear anything in a day or so, let's merge it!
On Monday, September 7, 2015, Dominik Sander<EMAIL_ADDRESS>wrote:

@cantino https://github.com/cantino Yes it does, it is surprising how
many websites provide opengraph meta tags [image: :smile:]
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/pull/819#issuecomment-138305700.

Merged! @cantino Thanks for the reviews and testing! It required more work then I expected :smile:

Nice!
On Wednesday, September 9, 2015, Dominik Sander<EMAIL_ADDRESS>wrote:

Merged #819 https://github.com/cantino/huginn/pull/819.
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/pull/819#event-404890996.

I had my Twitter stream stop again 3 days ago, unfortunately.  It was on the pre-merged version of this PR.  I just updated to master and added some logging to see if I can debug if it happens again.

That is annoying, i suppose you did not get an exception?

I was having trouble finding the right point in the logs, so I've added timestamps to the output and will keep an eye on it.

So far, so good.

@dsander, unfortunately my Twitter streams stopped working on the 21st.  There are no errors in the jobs log, but the production.log shows this around the same time:
E, [2015-09-25T08:25:39.577907 #3350] ERROR -- : 2015-09-25T08:25:39-0700: [Worker(host:li260-181 pid:3350)] Job ActiveJob::QueueAdapters::DelayedJobAdapter::JobWrapper (id=1262926) FAILED (0 prior attempts) with Twitter::Error: execution expired
I, [2015-09-25T08:25:39.586234 #3350]  INFO -- : 2015-09-25T08:25:39-0700: [Worker(host:li260-181 pid:3350)] Job Agent.run_schedule (id=1262927) RUNNING

Any ideas?

That sucks, judging from the  log It looks like the run_schedule job is hanging somehow. Can you try to use the separate background worker processes to see which of the stops working?

Seemed like it might be just twitter since I was still seeing scheduled
event propagation working? I think twitter is the only long runnable I use.
On Thursday, October 1, 2015, Dominik Sander<EMAIL_ADDRESS>wrote:

That sucks, judging from the log It looks like the run_schedule job is
hanging somehow. Can you try to use the separate background worker
processes to see which of the stops working?
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/pull/819#issuecomment-144824520.

@dsander, what is the separate background worker configuration you recommend?  What's frustrating is that I can't reproduce this symptom without waiting a week or so, then twitter events just stop being created.

I mean the old Procfile configuration, I wonder if the same happens when the TwitterStreamAgent is running in its own process.

I can try this.  Also seeing if my Event JSON resue code helps.  Is there
anywhere we should add logging to capture info since it takes so long to
repro?
On Thursday, October 1, 2015, Dominik Sander<EMAIL_ADDRESS>wrote:

I mean the old Procfile configuration
https://github.com/cantino/huginn/blob/master/Procfile#L27-L31, I
wonder if the same happens when the TwitterStreamAgent is running in its
own process.
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/pull/819#issuecomment-144939074.

Maybe around run_schedule in the scheduler and the agent model?
I am also wondering which log file did you post earlier? I switched to runit recently and do not seem to get log entries for ActiveJob anywhere.

I posted upstart, but see also adding Delayed::Worker.logger = Rails.logger to the delayed_job initializer as in https://github.com/cantino/huginn/pull/1057.

Okay, so everything crashed again last night after working for a day or two.  First I got
Twitter error: ActiveRecord::StatementInvalid: Mysql2::Error: This connection is still waiting for a result, try again once you have the result:
 ROLLBACK

then a series like
 --> Twitter error: ActiveRecord::StatementInvalid: Mysql2::Error: This connection is in use by: #<Thread:0xf2cb2d14 sleep>: SELECT  `agents`.* FROM `agents` WHERE `agents`.`id` = 12 LIMIT 1

about 5 times
then
Agent#9: Agents::TwitterStreamAgent-9-ad7a059ed25bd3ad993dfa836be45e5a966f453c Exception Could not parse data entirely (0 != 201):
/home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:128:in `<<'
/home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:128:in `receive_data'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run_machine'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run'
/home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:169:in `run'
/home/huginn/app/releases/20151004211024/app/concerns/long_runnable.rb:69:in `block in run!'
Restarting Agents::TwitterStreamAgent-9-ad7a059ed25bd3ad993dfa836be45e5a966f453c

a few times
then the following just repeats indefinitely
Agent#28: Exception during check. Mysql2::Error: Lock wait timeout exceeded; try restarting transaction: UPDATE `agents` SET `events_count` = COALESCE(`events_count`, 0) + 1 WHERE `agents`.`id` = 28: /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `query'
...
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
/home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/transactions.rb:291:in `save!'
/home/huginn/app/releases/20151004211024/app/models/agent.rb:119:in `create_event'
/home/huginn/app/releases/20151004211024/app/concerns/dry_runnable.rb:75:in `create_event'
/home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:99:in `block in check'
/home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:98:in `each'
/home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:98:in `check'
/home/huginn/app/releases/20151004211024/app/jobs/agent_check_job.rb:7:in `perform'

I don't think the server has run out of RAM.  Any ideas?
Do you think we should revert this PR?

Okay, so everything crashed again last night after working for a day or two. First I got

Do you have a backtrace for the first one? It looks like the other issues are related to the first exception. Is it possible similar to this issue reported on the mysql2 gem? We are running a pretty old version of it 0.3.16 when the most recent one is 0.4.1, might it be worth updating?

Do you think we should revert this PR?

If we cant resolve the issue we might have to, I will try to set up a instance using mysql myself since it seems not to be happening on postgres.

I'll try updating the mysql2 gem.  Here's the backtrace:
--> Twitter error: ActiveRecord::StatementInvalid: Mysql2::Error: This connection is still waiting for a result, try again once you have the result: ROLLBACK
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `query'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `block in execute'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_adapter.rb:473:in `block in log'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activesupport-4.2.4/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_adapter.rb:467:in `log'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `execute'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/mysql2_adapter.rb:231:in `execute'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:334:in `exec_rollback_db_transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/database_statements.rb:266:in `rollback_db_transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/query_cache.rb:14:in `rollback_db_transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/transaction.rb:145:in `rollback'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/transaction.rb:179:in `rollback_transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/transaction.rb:191:in `ensure in within_new_transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/transaction.rb:193:in `within_new_transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in `transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/transactions.rb:220:in `transaction'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/transactions.rb:348:in `with_transaction_returning_status'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/transactions.rb:291:in `save!'
        /home/huginn/app/releases/20151004211024/app/concerns/dry_runnable.rb:56:in `save!'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:89:in `process_tweet'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:238:in `block (3 levels) in handle_status'
        /home/huginn/app/releases/20151004211024/lib/agent_runner.rb:62:in `block in with_connection'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/activerecord-4.2.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
        /home/huginn/app/releases/20151004211024/lib/agent_runner.rb:61:in `with_connection'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:237:in `block (2 levels) in handle_status'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:235:in `each'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:235:in `block in handle_status'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:233:in `each'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:233:in `handle_status'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:171:in `block (2 levels) in run'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:198:in `call'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:198:in `block in stream!'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:296:in `call'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:296:in `parse_stream_line'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:227:in `block in receive_stream_data'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:226:in `each'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:226:in `receive_stream_data'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:128:in `call'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:128:in `<<'
        /home/huginn/app/shared/bundle/ruby/2.1.0/bundler/gems/twitter-stream-f7e7edb0bae0/lib/twitter/json_stream.rb:128:in `receive_data'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run_machine'
        /home/huginn/app/shared/bundle/ruby/2.1.0/gems/eventmachine-1.0.8/lib/eventmachine.rb:193:in `run'
        /home/huginn/app/releases/20151004211024/app/models/agents/twitter_stream_agent.rb:169:in `run'
        /home/huginn/app/releases/20151004211024/app/concerns/long_runnable.rb:69:in `block in run!' at 2015-10-06 15:53:44 -0700 <--

The newest that works with Rails appears to be 0.3.20, so I'm trying that.  (See https://github.com/rails/rails/issues/21544)

Well, it seems like this has been running successfully on my system for
quite a while now. Maybe the event JSON parse rescue fixed it?  Have you
run into any issues on your system?
On Wednesday, October 7, 2015, Dominik Sander<EMAIL_ADDRESS>wrote:

Okay, so everything crashed again last night after working for a day or
two. First I got
Do you have a backtrace for the first one? It looks like the other issues
are related to the first exception. Is it possible similar to this issue
https://github.com/brianmario/mysql2/issues/566 reported on the mysql2
gem? We are running a pretty old version of it 0.3.16 when the most
recent one is 0.4.1, might it be worth updating?
Do you think we should revert this PR?
If we cant resolve the issue we might have to, I will try to set up a
instance using mysql myself since it seems not to be happening on postgres.
—
Reply to this email directly or view it on GitHub
https://github.com/cantino/huginn/pull/819#issuecomment-146117620.

On which commit is that rescue? In general it sounds like a good idea to rescue potential errors early, but even when the Agent crashed it should automatically be restarted.
I never had any issues on my main instance (which has more then enough RAM) but saw a few crashes on my DO droplet due to the machine running OOM.

I was referring to https://github.com/cantino/huginn/pull/1049 because I don't know of anything else that has changed.
Also, at least some people aren't seeing memory leaks: https://twitter.com/rem0_o/status/664299186138038273

Right, totally forgot about that one, great that your instance is now running without issues.
If the server has enough memory and restart huginn every few weeks I guess you would never notice a leak. I never found anything that was leaking but the memory usage looks a bit suspicious:
huginn   18212  0.0  0.9<PHONE_NUMBER>08 ?       Sl   Nov06   0:03 unicorn master -c config/unicorn.rb
huginn   18222  0.3  2.1<PHONE_NUMBER>40 ?       Sl   Nov06  29:28 bin/twitter_stream.rb
huginn   18247  0.2  1.1<PHONE_NUMBER>68 ?       Sl   Nov06  15:58 bin/schedule.rb
huginn   18273  0.0  1.2<PHONE_NUMBER>60 ?       Sl   Nov06   4:06 bin/agent_runner.rb
huginn   18301  0.4  1.5<PHONE_NUMBER>76 ?       Sl   Nov06  32:41 ruby script/delayed_job run

I thought you did see a leak?
Also in #978 and #1114.

Sorry, yes I saw the allocated object count increase, sometimes even jump nearly by the factor 2, but the heap dumps never revealed the source. It could also be that these object were garbage collected a few ticks later. As far as I understand rubys memory allocation an increase of the RSS is not necessarily cause by a leak, it could also be a spike of allocated objects which are garbage collected later.

I've recently seen this on other projects as well.  It may be a symptom of the generational GC.


[NF] comp_magnetization_dict

This PR solve the issue #22. Now each hole have a comp_magnetization_dict method and Hole class have a magnetization_dict_enforced property that can be used for HoleUD. I have added a test where I was able to run in FEMM the prius with HoleM50 and with the convert_to_UD equivalent.
I won't merge this PR for now, I want to carry on the work to be able to define magnetization_dict with the Hole_DXF GUI. Meanwhile, feedback welcomed on the magnetization_dict :)

Hello all,
I'm done with this PR. So now in the Hole_DXF GUI one can select the magnetization direction of each magnets. I have added the BMW_i3 machine that was created with the Hole_DXF gui. For both DXF GUI, I have added "Reset view", "Cancel Selection" buttons, a scaling factor (for dxf in [mm] for instance) and some Doc. We should produce some video tutorial about these two features in the near future. @SebGue do you think you will have the time to check this PR ?
Best regards,
Pierre

Hello Pierre, I will take the time and go through it after lunch. BR S

I think that I have made all the changes that we discussed and the tests are still Ok.

So from my side, you could merge this PR. BR and have a nice WE. S

Thank you for your help :)


Application doesn't prevent device from sleeping.

Environment: Samsung Galaxy tab 4 (SM-T230) Android version 4.4.2
During the installation process, application 'says' that it need permission to prevent device from sleeping (screenshot is attached), but device will continue to ignore that and switch to sleep after configured timeout in the system configuration.

Fixed in build  3.12.16


Loop not recognized by the decompiler.

Describe the bug
Simple loop is ignored in the decompiler view.
To Reproduce
Steps to reproduce the behavior:

Download the binary (may sound fishy but it's just a ctf-task binary).
Load it into CodeBrowser tool.
Do the default analyses.
Go to FUN_00400c1f aka main.
There should be a loop between LAB_00400c50 and LAB_00400cd3 in the decompiler view, but decompiler just ignores it, and show no loop whatsoever.

Expected behavior
The decompiler should recognize this loop.
Environment (please complete the following information):

OS: Manjaro 18.0.4 Illyria
Kernel: x86_64 Linux 5.0.5-1-MANJARO
Java Version: 11.0.3
Ghidra Version: 9.0.2

The decompiler thinks this is dead code ... which as far as I can tell it isn't (unless there is some call stack manipulation going on or something).
Workaround:
Edit -> Tool options... -> Decompiler -> Analysis -> [ ] Eliminate dead code

Decompiler doesn't recognize some forms of switches that exit to themselves (in a loop). Working towards a fix.


Desired changes to use this library in noble (@abandonware/noble)

Hello,
I'm using the library node-poweredup to drive Lego gears. This library uses noble to have a cross-platform abstraction of BLE services. And noble, under Linux, is still using HCI mode that is not working on recent distributions that I tested.
I managed to craft a binding for noble, using node-ble as a way to interact with BlueZ through DBUS.
However, to get it working, I had to change a few things.

Expose the ServiceData, ManufacturerData and UUIDs properties of the BlueZ Device interface
Add the device uuid to the connect/disconnect event so that noble knows which device got connected/disconnected.
Fix a race condition where the first notification of the device after StartNotify might get lost.
Send disconnect events (do not remove listeners on disconnection). This change seems to conflict with recent commit #6611591 on this repo.

How do you feel about it ? Any suggestion ?

@chrvadala may I ask you to have a look at it ?

Hello @nmasse-itix thanks for your feedback. I think that node-ble can easily replace noble ( I developed it for this reason).
Below an answer to your points

Expose the ServiceData, ManufacturerData and UUIDs properties of the BlueZ Device interface

Quite soon I'll' merge this PR that adds these features

Add the device uuid to the connect/disconnect event so that noble knows which device got connected/disconnected.

These events are available. Did you see the the doc https://github.com/chrvadala/node-ble/blob/main/docs/api.md#device--eventemitter

Fix a race condition where the first notification of the device after StartNotify might get lost.

Can you provide more information? An example/test case can be useful.

Send disconnect events (do not remove listeners on disconnection). This change seems to conflict with recent commit #6611591 on this repo.

I thought that this was solved. Is there some corner case?

Hello !
Sorry for the late reply. I managed to find some time today to work on it.

Expose the ServiceData, ManufacturerData and UUIDs properties of the BlueZ Device interface

Quite soon I'll' merge this PR that adds these features

In addition to the two properties that were added, I also need the following property in Device.js :
  /**
   * List of 128-bit UUIDs that represents the available remote services.
   * @returns {string[]}
   */
  async getServiceUUIDs () {
    return this.helper.prop('UUIDs')
  }

➡ Would it be an acceptable change for you ?

Add the device uuid to the connect/disconnect event so that noble knows which device got connected/disconnected.

These events are available. Did you see the the doc https://github.com/chrvadala/node-ble/blob/main/docs/api.md#device--eventemitter

I took a step back and found a solution that does not involve any change in this library to get the device id. :+1:

Fix a race condition where the first notification of the device after StartNotify might get lost.

Can you provide more information? An example/test case can be useful.

➡ I created #72 with a code to reproduce the issue.

Send disconnect events (do not remove listeners on disconnection). This change seems to conflict with recent commit #6611591 on this repo.

I thought that this was solved. Is there some corner case?

➡ I created #73 with a code to reproduce the issue.


Unable to open geosearch tool on Safari

Hello, thank you so much for all of your hard work on this app!
I'm having an issue when trying to use it on desktop Safari where the geosearch tool will not open when the icon is clicked - in brief overview, this seems to be due to the fact that the active class is not being correctly added to the main geosearch div. Manually adding that class to the element will cause the tool to open correctly. Ok, a little more detail...
leaflet-geosearch version 1.0.6
Safari version 14.0
MacOS version 10.15.7
When I load my project and inspect the page in Safari, I see the following structure:

    <form class=" ">
        <input class="glass " type="text" placeholder="Enter address">
        X

    </form>

and that jives with what I see in Chrome and Firefox.
If I click on the geosearch tool, I see the div get the active class for a fraction of a second and then lose it; however, the form does get the active correctly. Repeated clicks on the tool continue to add and remove the active class from the form, but the div still exhibits that "flicker" on the class.
Otherwise, the tool is working perfectly on desktop Chrome and Firefox. I have not yet tested any mobile browsers.
In the meanwhile, I'll keep digging on this and looking for a way to deal with it, but I wanted to bring this to your attention.
Thanks again!

On further investigation, I'd suspect that this issue actually originates in the leaflet-geosearch module.

Yes, this problem can be addressed by bumping the leaflet-geosearch dependency version up to ^3.1.0. I'll open a PR for this.


liburing.h: implicit conversion loses integer precision

2.6 (not yet official release) added this.
/liburing.h:2260:22: warning: implicit conversion loses integer precision: 'int' to '__u16' (aka 'unsigned short') [-Wimplicit-int-conversion]
    sqe->buf_group = buf_group;
                   ~ ^~~~~~~~~
/liburing.h:2748:20: warning: implicit conversion changes signedness: 'int' to '__u32' (aka 'unsigned int') [-Wsign-conversion]
    sqe->optname = optname;
                 ~ ^~~~~~~
/liburing.h:2749:20: warning: implicit conversion changes signedness: 'int' to '__u32' (aka 'unsigned int') [-Wsign-conversion]
    sqe->optlen  = optlen;
                 ~ ^~~~~~
/liburing.h:2750:20: warning: implicit conversion changes signedness: 'int' to '__u32' (aka 'unsigned int') [-Wsign-conversion]
    sqe->cmd_op  = cmd_op;
                 ~ ^~~~~~
/liburing.h:2751:20: warning: implicit conversion changes signedness: 'int' to '__u32' (aka 'unsigned int') [-Wsign-conversion]
    sqe->level   = level;
                 ~ ^~~~~
/liburing.h:2760:45: warning: implicit conversion changes signedness: 'id_t' (aka 'unsigned int') to 'int' [-Wsign-conversion]
    io_uring_prep_rw(IORING_OP_WAITID, sqe, id, nullptr, uring_static_cast(unsigned, idtype), 0);
    ~~~~~~~~~~~~~~~~                        ^~
/liburing.h:2762:25: warning: implicit conversion changes signedness: 'int' to '__u32' (aka 'unsigned int') [-Wsign-conversion]
    sqe->file_index   = options;
                      ~ ^~~~~~~
/liburing.h:2772:49: warning: implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int') to 'int' [-Wsign-conversion]
    io_uring_prep_rw(IORING_OP_FUTEX_WAKE, sqe, futex_flags, futex, 0, val);
    ~~~~~~~~~~~~~~~~                            ^~~~~~~~~~~
/liburing.h:2783:49: warning: implicit conversion changes signedness: 'uint32_t' (aka 'unsigned int') to 'int' [-Wsign-conversion]
    io_uring_prep_rw(IORING_OP_FUTEX_WAIT, sqe, futex_flags, futex, 0, val);
    ~~~~~~~~~~~~~~~~                            ^~~~~~~~~~~

Another bug after fixing this:
In file included from ../liburing/liburing.h:17:
../liburing/liburing.h: In function ‘void io_uring_prep_waitid(io_uring_sqe*, idtype_t, id_t, siginfo_t*, int, unsigned int)’:
../liburing/compat.h:53:46: error: invalid ‘static_cast’ from type ‘siginfo_t*’ to type ‘__u64’ {aka ‘long long unsigned int’}
   53 | #    define uring_static_cast(To, What)      static_cast<To>(What)
      |                                              ^~~~~~~~~~~~~~~~~~~~~
../liburing/liburing.h:2768:25: note: in expansion of macro ‘uring_static_cast’
 2768 |     sqe->addr2        = uring_static_cast(__u64, infop);
      |                         ^~~~~~~~~~~~~~~~~

Fixed.


[Feature]: support voice input through speech to text functionality

Question
Is the text input method currently being used considered inefficient, and is there a need to provide a more efficient input method?
Solution
The following are the currently available options for speech-to-text conversion: 1) Integration with an external API, and 2) Using the Whisper model.
In our project，we use Local GPT, and need keep privately, so we choose  whisper.
and we can find example from autocut

does db-gpt support whisper for speech to text？