Release v3.4.0 on Maven Central

@slajar @tobium I did a couple of fixes and refactoring this weekend. This is the changelog:

Massive code refactoring

code formatting
specify maven source encoding
fix Ant build files
run examples with a modern JavaApplicationStub (universalJavaApplicationStub)

Bugfix: JarBundler on Windows created a classpath with backward slashes which broke the Info.plist file on macOS

\ in classpath are now replaced with /

Remove support for Java 1.3

if no jvmversion attribute is set, the default version is now 1.4+
removed deprecated growboxintrudes attribute
removed deprecated liveresize attribute
removed deprecated smalltabs attribute

Updated HelloWorld example to show JVM details, classpath and mainArgs
Support for Java 9+ in jvmversion attribute

Additionally we already had these improvements on master since 3.3.0 release:

Updates to docs and examples
Optional supportsAutomaticGraphicsSwitching attribute which defaults to true (for Plist key NSSupportsAutomaticGraphicsSwitching)

PullRequest !14, thanks to Björn Kautler (@Vampire) for his contribution!

Update Ant from 1.9.3 to 1.9.14

I tested with Maven and Ant and it seems stable :-)
May I suggest to release version 3.4.0 on Maven central? You still need to update the SNAPSHOT version and Readme Changelog once you're ready, but everything else should be good to go.

good point.

Are there any updates on this topic? @tobium?

Any update here? Thanks in advance.

Any news on this? Java 17 is now the latest LTS version, so a new release would be appreciated. Thanks.


feat(fluentd): Allow option to only log router logs to elasticsearch

This allows to use elasticsearch output plugin to only parse and log deis router logs
We use this together with the following custom filter:
<filter kubernetes.var.log.containers.deis-router-**.log>
  @type parser
  key_name log
 reserve_data true
  <parse>
    @type regexp
    expression /^[^ ]* - (?<app_name>[^ ]*) - (?<remote_addr>[^ ]*) - (?<remote_user>[^ ]*) - (?<status_code>[^ ]*) - "(?<method>\S+[^\"])(?: +(?<path>[^\"]*?)(?: +\S*)?)?" - (?<bytes_sent>[^ ]*) - "(?<referer>[^ ]*)" - "(?<agent>[^\"]*)\" - \"(?<server_name>[^ ]*)" - (?<upstream_addr>[^ ]*) - (?<http_host>[^ ]*) - (?<upstream_response_time>[^ ]*) - (?<request_time>[^ ]*)$/
    time_format %d/%b/%Y:%H:%M:%S %z
  </parse>
</filter>

This filter basically gets the router logs and parses it into different fields so it can be filtered in elasticsearch.
This is our fluentd section of our deis workflow YAML settings using this code:
fluentd:
  daemon_environment:
    org: "n0n0x"
    docker_tag: "v2.14.15-santi"
    ELASTICSEARCH_HOST: "elasticsearch.url.com"
    ELASTICSEARCH_SCHEME: "http"
    ELASTICSEARCH_PORT: "80"
    ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY: "True"
    CUSTOM_FILTER_1: "<filter kubernetes.var.log.containers.deis-router-**.log>\n  @type
      parser\n  key_name log\n reserve_data true\n  <parse>\n    @type regexp\n
      \   expression /^[^ ]* - (?<app_name>[^ ]*) - (?<remote_addr>[^ ]*) -
      (?<remote_user>[^ ]*) - (?<status_code>[^ ]*) - \"(?<method>\\S+[^\\\"])(?:
      +(?<path>[^\\\"]*?)(?: +\\S*)?)?\" - (?<bytes_sent>[^ ]*) - \"(?<referer>[^
      ]*)\" - \"(?<agent>[^\\\"]*)\\\" - \\\"(?<server_name>[^ ]*)\" - (?<upstream_addr>[^
      ]*) - (?<http_host>[^ ]*) - (?<upstream_response_time>[^ ]*) - (?<request_time>[^
      ]*)$/\n    time_format %d/%b/%Y:%H:%M:%S %z\n  </parse>\n</filter>"

@n0n0x , does it continue the same behaviour as before when ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY is unset?

The line in question is this one:

@Cryptophobia, In this case, we should use -z because we shouldn't load elasticsearch plugin in <match **> tag when sbin/stores/stores is called if ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY is set. Otherwise, we would log everything to elasticsearch and not just the logs which beats the purpose of this PR.
This is the workflow:
/sbin/boot gets executed and then this code runs first:

basically checking if ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY is set. If it is set, then proceeds to configure elasticsearch in a new <match> tag that filters deis-router logs and adds elasticsearch and deis plugin as output stores. This ensures that the router logs are forwarded and stored to elasticsearch and any other configured store plugin.
Then, it proceeds to the next chunk of code which is basically configures the more broader fluentd <match **> tag that matches everything else:

In here, it executes sbin/stores/stores which would actually include elasticsearch again, and everything would be logged to elasticsearch, the router logs, the kubernetes logs, the pods logs, everything.
Since the purpose of this feature is to log only the router logs to elasticsearch and not everything, then I had to figure out a way to not include elasticsearch in the broader <match **> tag if we only want to log the router logs. That is why, in sbin/stores/stores I added this:

which basically checks if ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY is not set. If it is not set, then we clearly want everything to be stored in elasticsearch, so we source the elasticsearch pugin in <match **>. If it is set, then we skip it, because we already added it in the previous <match> tag that matched the router logs.
I could configure that line the following way as well:
[ -z "${ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY}" ] && source /fluentd/sbin/stores/elastic_search || echo "ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY variable is set, skipping loading elasticsearch plugin"

So:

If elasticsearch variables are set, AND ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY is NOT set, then we load elasticsearch in the <match **> tag and we do not create a new <match  kubernetes.var.log.containers.deis-router-**.log> tag. This logs everything to elasticsearch. And this is the default and old behavior.

If elasticsearch variables are set, AND ELASTICSEARCH_DEIS_ROUTER_LOGS_ONLY IS SET, then we create a new <match  kubernetes.var.log.containers.deis-router-**.log> which forwards router logs to elasticsearch and any other configured store plugin. AND we DO NOT include elasticsearch in the <match **>. (this last part is the -z in question). This feature is compatible with the default and old behavior described above, but adds the option to just log router logs to elasticsearch instead of everything.

Awesome work. Thank you for merging this in and for following up so quickly on the PR.


Update build configuration

The build configuration of this project is outdated and may no longer work.
This pull request will be merged automatically if there are no conflicts.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Feature]: jsonform custom layout

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
add feature to allow custom widget layout inside jsonform
Why should this be worked on?
Json Form save a lot of time to build a long form, in many case for a long form, we usually need to add something like Tabs widget to better organize a long form(refer to the screenshot build by a normal form), but the Json Form currently is not allow to custom the layout, all fields/widgets are generated row-by-row, not able to add Tabs, or put multiple widgets in a single row. This restriction makes Json Form widget actually not help on all my projects. I have to build by normal Form manually as before.

@samg666 for your use case, would you prefer if we gave you a simple way to generate the UI after which you could just edit and move the form elements around?

Another user requested this feature.

Another user asked for this feature.


adds more debug level logging

closes #1.

Coverage remained the same at 100.0% when pulling 2bcd88bbdc6dbe88e3523a2005d5fa51caad7c38 on more-logging into 3a5ef6a8034283b0cfd897975cbbcc02f6028f1b on master.


wip: plugin system

What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area libscap
/area libsinsp
What this PR does / why we need it:
Still a WIP. A detailed description will come soon.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

new: plugin system

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To complete the pull request process, please ask for approval from leogr after the PR has been reviewed.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@leogr: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

build-libs-with-chisels
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs-with-chisels

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@leogr: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

build-libs-with-chisels
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs-with-chisels

build-libs-bundled-deps
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs-bundled-deps

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@leogr: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

build-libs-with-chisels
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs-with-chisels

build-libs-bundled-deps
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs-bundled-deps

build-libs
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@leogr: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

build-libs-bundled-deps
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs-bundled-deps

build-libs
7f7bb9cfce8d3cd4f21ce3b59765a71cd5dc6c9a
link
/test build-libs

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@leogr: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

build-libs-bundled-deps
fd60abbf546a52bd3e602e203a8305c62448fe70
link
/test build-libs-bundled-deps

build-libs
7f7bb9cfce8d3cd4f21ce3b59765a71cd5dc6c9a
link
/test build-libs

build-libs-with-chisels
7f7bb9cfce8d3cd4f21ce3b59765a71cd5dc6c9a
link
/test build-libs-with-chisels

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@leogr: The following tests failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

build-libs
7f7bb9cfce8d3cd4f21ce3b59765a71cd5dc6c9a
link
/test build-libs

build-libs-with-chisels
7f7bb9cfce8d3cd4f21ce3b59765a71cd5dc6c9a
link
/test build-libs-with-chisels

build-libs-bundled-deps
7f7bb9cfce8d3cd4f21ce3b59765a71cd5dc6c9a
link
/test build-libs-bundled-deps

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I have used this PR to trigger the CI on the new/plugin-system, merely to help the original author (@ldegio).
Now, I'm closing this so that he can open the definitive PR soon :partying_face:
/close

@leogr: Closed this PR.

In response to this:

I have used this PR to trigger the CI on the new/plugin-system, merely to help the original author (@ldegio).
Now, I'm closing this so that he can open the definitive PR soon :partying_face:
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


PyTorch models

Any chance you have PyTorch model files saved, in addition to the Keras models present in this repo?

I'm going to try porting the model to PyTorch. Before I work on that, can you tell me if you already have a PyTorch version of the model right now? This is so that I do not waste effort in doing something that is already done.

Hi! We haven't ported the model to PyTorch; feel free to do so!

Where can the Pytorch models be found?
Thanks in advance!

Fortunately, MMdnn (https://github.com/microsoft/MMdnn) worked perfectly for my needs. You can also use that. If you want to see the commands I used to port the model, look here: https://github.com/sainathadapa/urban-sound-tagging/tree/after_challenge/nbs/openl3

@sainathadapa thank you for sharing your codes to convert openl3 to pytorch.
I see you took the mel128 embedding, are the pytorch weights available anywhere please ?

Hi @adrienchaton we have been working on a pytorch port. It was a little more fiddly than we expected but seems to be relatively stable now. We are prepping it for more general release: https://github.com/turian/torchopenl3
Please feel free to email me<EMAIL_ADDRESS>I'm a huge fan of your work, and Philippe is on the committee for a NeuroIPS audio representation competition I am proposing. I'd love to talk more.

The main issue was the difference in Kapre 0.1.3 STFTs in high frequencies. This means that on the chirp audio, our MAE was maybe 2e-3 versus tfopenl3 when using mels (I'd have to double check). On FSD50K 100 random sounds, it was far lower.

great, thank you for sharing your port and your awesome research too !
right now it is for an art project I would use it, so it is not needed to be perfectly reproduced
I am following up by email

@adrienchaton great looking forward to talking. And any issues, questions, snags, etc. file an issue on github

this is awesome, thanks for putting this together!
Heads up - we're working on an update to openl3 that will include:

Support for TF 2.x (using an updated version of kapre)
Support for using Librosa instead of Kapre as the audio front-end

@turian if you think it makes sense it would be awesome to merge torchopenl3 into openl3 eventually, such that a single library provides support for both TF and PyTorch backends.

@justinsalamon thank you, I wanted to reach out and make sure this is all copacetic before doing any public move. Happy to integrate. TBH getting MAE low with kapre old version was quite gnarlly and we have to reimplement a lot of the Mel stuff ourselves. (We still get high error on high frequencies like chirp).
BTW my email inbox is open<EMAIL_ADDRESS>I have talked with Zeyu---who is on the committee for the accepted NeuroIPS 2021 competition I'm organizing, learning general purpose audio representations. If possible I'd love to confirm that your model and weights could potentially be included as pretraining for the dev-kit. Let me know if you'd like to sync over email or chat on Zoom for 30 minutes.

@justinsalamon my one request would be that if numpy librosa is used, we make sure to find a compatible GPU spectrogram / mel implementation. Matching the kapre spectrograms was quite hellacious. I'd want to sanity check torchlibrosa etc
I think this is of interest to people who are synthesizing audio on the GPU.

What we've done is the following:

Update Kapre (lets call it v2) and try to match the old version (v1) as closely as possible
Implement a librosa front-end and try to match it as closely as possible to v1 as well
Compare the embeddings
Compare performance on downstream classification of the UrbanSound8K dataset

As you might expect, the embeddings don't match perfectly when we replace the audio front-end. However, performance on the downstream classification task was the same (or within the margin of error), which we hope is good enough.
So, the updated version of OpenL3 will let you choose between the Kapre and Librosa front-end, but they are not interchangeable. Models trained on embeddings from a specific front-end should continue to use the same front-end for inference. The same would apply if we incorporated a pytorch version - it would be close but probably not interchangeable with the TF versions.
Yes, I owe you an email. Coming soon.

p.s - @turian happy to find a time for a quick chat if that would be helpful.


Question: Dataset and config file

I was wondering what dataset and configuration you used to get the results displayed in the documentation (maskAL_vs_random.png) and if you could share them with me?

I was wondering what dataset and configuration you used to get the results displayed in the documentation (maskAL_vs_random.png) and if you could share them with me?

@DeWildeDaan this is a legitimate request!
The configuration files can be found here:
https://github.com/pieterblok/maskal/blob/maskAL/active_learning/config/maskAL_experiment_uncertainty.yaml
https://github.com/pieterblok/maskal/blob/maskAL/active_learning/config/maskAL_experiment_random.yaml
The results were generated on a dataset with field-grown broccoli (containing healthy, diseased and defective broccoli heads). Unfortunately I cannot share this dataset, because it is proprietary (IP-related stuff).
You might want to check whether you can replicate the results on MS-COCO or another open-source dataset with instance annotations. For instance the Trash Annotations in Context Dataset (TACO), which is weekly updated:
https://github.com/pedropro/TACO

Thank you so much for the fast reply!
I will try and reproduce the results with my own dataset.


.deb archive importer

This adds a new importer that can import .deb packages. It uses dpkg-deb for the actual unpacking so we might want to add that to the README as well. It is heavily based on the targz importer with very slight changes to use .deb files and dpkg-deb to unpack. The testdata is the same as targz testdata but repackaged as .deb packages.

I think I have addressed all the comments now.

Nits fixed.

Thanks for implementing this importer!


Auto refresh does not work

Hi
I use archlinux and when I run this client. It does not refresh my feed automatically. Is it a bug?

works on my machine and server (social.mikutter.hachune.net)


URL.createObjectURL stream is depreceated.

easyrtc.js:4152 [Deprecation] URL.createObjectURL with media streams is deprecated and will be removed in M68, around July 2018. Please use HTMLMediaElement.srcObject instead. See https://www.chromestatus.com/features/5618491470118912 for more details.
If you can let us know where to look for this file and how to change?

Should be fixed in beta branch.
Reopen otherwise pls

npm I easyrtc#priologic/easyrtc#beta

Thanks to Devashish Chauhan who answered me on the mail, I'm posting this just for reference.
From his answer:
The correct way is to -
Change
element.src = self.createObjectURL(stream);
To
element.srcObject = stream;
You will have to do this in the easyrtc.js file. wherever you see -  element.src = self.createObjectURL(stream); just replace it with element.srcObject = stream;


How to remove files without prompt?

how can I remove files without this prompt
or at least make it easier by just pressing y for yes or n no
and no additional need to press one more enter

You cannot change that with the default implementation, as that one relies on vim.fn.inputlist which produces the kind of selection via numbers as you see in your prompt.
Consequently, the most straightforward answer would be to use a different custom handler for vim.ui.select eg https://github.com/nvim-telescope/telescope-ui-select.nvim
However, telescope-ui-select.nvim does not block, which might cause issues in case you customize LSP handlers that require blocking up until you confirm the selection.
I'll leave the issue open as I'll reconsider this prior to file browser deprecation in telescope-core, though I'm a bit reluctant to switch the code back to vim.fn.confirm

@rzksobhy78 @fdschmidt93 I agree that using numbered options is not ideal, considering there are only 2 options (yes/no) there will never be more, which is why I also prefer the more user-friendly (Y/N) format.
Do you mind testing my latest pull request, that addresses this request, it works like this:

I think this is now sufficiently addressed with #42
Please let me know in case there's more to do here.


kubernetes: add documentation related to cluster service #4086

I can add this change to #4147 after merge.

Let's merge this one. And thanks for collecting backports @jamesnetherton :+1:


Message: invalid configuration file or missing values

i have bitcoind-ncurses on fedora 22 with bitcoin-0.10.2. getting the following:
[jim@nuc bitcoind-ncurses]$ python2 main.py
bitcoind-ncurses encountered an error
Message: invalid configuration file or missing values
it worked fine yesterday with the same config file. what am i doing wrong? config file as follows:
rpcuser=bitcoinrpc
rpcpassword=somelongrandomstring
datadir=/home/jim/.bitcoin
conf=bitcoin.conf
wallet=wallet.dat
paytxfee=0.0001
connect=<IP_ADDRESS>

i would like to add that bitcoind functions fine with this config file. so does "bitcoin-cli getinfo".

Why do you have  conf=bitcoin.conf

sorry i shall remove it. you are right it is redundant. thank you.
On Sat, Jun 27, 2015 at 11:02 AM, Bitpop<EMAIL_ADDRESS>wrote:

Why do you have conf=bitcoin.conf
—
Reply to this email directly or view it on GitHub
https://github.com/azeteki/bitcoind-ncurses/issues/16#issuecomment-116091588
.

server=1

found this in the debug log:
2015-06-27 17:53:58 ThreadRPCServer incorrect password attempt from
<IP_ADDRESS>
but the password is the one given by bitcoind. what could be the problem?
On Sat, Jun 27, 2015 at 11:12 AM, Bitpop<EMAIL_ADDRESS>wrote:

server=1
—
Reply to this email directly or view it on GitHub
https://github.com/azeteki/bitcoind-ncurses/issues/16#issuecomment-116092138
.

Illegal character?

not that i can see. it is alpha numeric exactly as generated by bitcoind.
On Sat, Jun 27, 2015 at 1:24 PM, Bitpop<EMAIL_ADDRESS>wrote:

Illegal character?
—
Reply to this email directly or view it on GitHub
https://github.com/azeteki/bitcoind-ncurses/issues/16#issuecomment-116114310
.

Extra space?

nope checked that.
On Sat, Jun 27, 2015 at 2:15 PM, Bitpop<EMAIL_ADDRESS>wrote:

Extra space?
—
Reply to this email directly or view it on GitHub
https://github.com/azeteki/bitcoind-ncurses/issues/16#issuecomment-116121379
.

changed the password. am now getting:
[jim@nuc bitcoind-ncurses]$ python2 main.py
bitcoind-ncurses encountered an error
Message: failed to connect to bitcoind (getinfo failed)
there is failed password attempt in the debug log.
On Sat, Jun 27, 2015 at 2:28 PM, Jim Erickson<EMAIL_ADDRESS>wrote:

nope checked that.
On Sat, Jun 27, 2015 at 2:15 PM, Bitpop<EMAIL_ADDRESS>wrote:

Extra space?
—
Reply to this email directly or view it on GitHub
https://github.com/azeteki/bitcoind-ncurses/issues/16#issuecomment-116121379
.

same here with "getinfo failed"

The RPC password issue is a bit of a mystery to me - best guess I have is that it wasn't being parsed correctly.
WRT 'getinfo failed' - that's just a hacky way of me determining that the client is up and responding to requests properly. In the future there should be a better heuristic and I think that the error message isn't very helpful.
Closing as you seem to have figured it out.


no output until script completely finishes when doing vagrant up provider=rackspace

Hi there -
i am using vagrant to spin up some servers in a rackspace  / open stack cluster.  I am using the vagrant rackspace plugin ( https://github.com/mitchellh/vagrant-rackspace ).
My provisioning script executes and works fine --  with one inconvenience, however:   I don't see any output from the script until the very end.  Somehow all script output seems like it is being buffered, and I do see it.. but not until the script has complete terminated.
I have a workaround which is to  'tee' the output of all the scripts i run to a file which i can look at (during provisioning) if i use the rackspace console to login.. But it would be even better if the output scrolled by immediately as it was produced, rather than being buffered and dumped out at the end.
To reproduce, please try the Vagrantfile with the embedded script below (just change the rackspace credentials).    If you run this then the two messages (about sleeping N secdonds) are output at the very end of the provisioning run, rather than one output, followed by another output 40 seconds after the first sleep.
    Vagrant.configure("2") do |config|

             config.vm.box = "dummy"
             config.ssh.pty = true          # work around issue where sudo requires tty

             config.vm.define :redeleteserver do |redeleteserver|
                     redeleteserver.vm.provision :shell, :inline=> ' ( echo sleeping 40 secs ; sleep 40 ; echo sleep again for 40 secs ; sleep 40 ) | tee /tmp/out'
             end

             config.ssh.private_key_path = "./id_rsa"

             config.vm.provider :rackspace do |rs|
                rs.username        = "buildlackey"
                rs.api_key         = "blahblahblah"
                rs.flavor          = /1 GB Performance/
                rs.image           = "bfa5783c-e40e-4668-adc1-feb0ae3d7a46"

                rs.public_key_path = "./id_rsa.pub"
                rs.rackspace_region = :dfw
             end

    end

I understand your pain! Not getting output in real time can be very annoying.
We don't do anything in this project to control the output - it's all handled by vagrant. So I'm not sure if we'll be able to fix this in this project. The issue may need to be moved to mitchellh/vagrant.
However (to my surprise) I tested it out and it seems like it does not happen when the provider is VirtualBox, so I'm trying to figure out if there's some difference in the tty or ssh on the images that might cause the problem.
You may be able to work around this by disabling the requiretty option in /etc/suoders on your image, so you don't need to use a pty.

thanks, Max. i will try.


feat: support for custom sharepoint domain

Fix #548

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

GitHub release
v6.31.0

Your semantic-release bot :package::rocket:


OperationOptions for KeyVault and AppConfig

In https://github.com/Azure/azure-sdk-for-js/pull/5708, a new core type OperationOptions is introduced. This type should be used for all methods which encapsulate a service operation. See text in #5708 for details.

The task above is completed with #5708 and #5761


Proposal: use ACME chords for VSCode terminal

VSCode Version: 1.8.0
OS Version: macOS

Steps to Reproduce:

Open terminal
Make sure a compile produces an output similar to:

go build -i -v
github.com/iron-io/functions
# github.com/iron-io/functions
./main.go:63: expression in go/defer must be function call

In this case, instead of relying on linkify, we could use acme's mousechords (http://acme.cat-v.org/mouse)
In this case, highlight while holding right button - or some other acceptable combination - it takes the selected text and take an action, that can be, among possibilities, open the file in the goto address. Thus for the example above, it would open ./main.go:63 in $PWD.

Would #7321 fix your main issue?
My concern with supporting something like this is that it obviously can't be the default as it's quite obscure to many users. #7321 combined with accessible copy and paste seems to be nearly as convenient without needing to build/support an additional concept like this.

Would #7321 fix your main issue?

Yes. But it seems it is depends on a library that's not going to help to have it implemented anytime soon. Whereas this suggestion is pretty much straight forward - select and open.

#7321 combined with accessible copy and paste

Except that it isn't. At least not currently. In this very example, if I just copy and paste the file's URI into the quick opener, it doesn't work. First, it takes forever to scan all files (ignoring the obvious hint of the open tabs); second, it doesn't quite know what's the relative path (missing the $PWD part).
Up to you guys - #7321 is deal-breaker for me if I wanted to use VSCode internal terminal. And the alternative (copy and pasting) is simply bad.

I would love to see #7321 happen, it's just a matter of squeezing it in with the other work I'm doing. One of my focuses this iteration is to improve terminal performance in the upstream project which involves rewriting a lot of the code that this feature would depend on, I'll keep it in mind when I look over the terminal refresh code as that's the part that needs to be hooked into.


Add support for CoreGenDatapath nodes

Add support for CoreGenDatapath nodes; the feature is currently on the CoreGen devel branch; See:
https://github.com/opensocsysarch/CoreGen/blob/devel/include/CoreGen/CoreGenBackend/CoreGenDataPath.h

Add field in Core window
Add DataPath window
Add functionality to save datapath info

basic handlers added in 6ff51ab

full functionality in de4c76f; waiting for devel tests to pass

passed all devel tests


enhance Dark mode

Text not showing in dark mode
Before fix

After fix

Improvement in contact form in dark mode
Before fix

After fix

I already worked on the issues please do assign it to me . Thank You

please assign this task to me


Add release workflow

The main purpose of this is to create a tag so that releases are picked up by DependaBot. Versions are computed as:
0.1.<number of commits in the repository>

Or continue from the latest tag's major.minor version.
Resolves #217

Codecov Report

Merging #227 (dc97c4c) into main (26b7e4c) will not change coverage.
Report is 18 commits behind head on main.
The diff coverage is n/a.

Additional details and impacted files

@@          Coverage Diff          @@
##            main    #227   +/-   ##
=====================================
  Coverage   1.00%   1.00%
=====================================
  Files          3       3
  Lines        200     200
=====================================
  Hits           2       2
  Misses       198     198

Flag
Coverage Δ

api
1.05% <ø> (ø)

controller
0.00% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.


Layers should be managed by PXEL2D

Currently the Layer/EntityManager is being managed by the user.
This is unnecessary and adds more bloat to the user code.
PXL2D class should have a create method for the layers.
The layers will be updated by the engine. The user can change the layer depth with a function and statically access the correct layer for easy entity creation.

Resolved.


Issue when key is not generated automatically

Hi there
i have a issue when i do not want the primarykey is not autogenerated.
in my case i wanted to be the key as a string.
so i implemented this:
Program.cs
builder.Services.AddBlazorDB(options => {     options.Name = "ImageDB";     options.Version = 1;     options.StoreSchemas = new List<StoreSchema>()     {         new StoreSchema         {             Name = "Image",             PrimaryKey = "Id",             PrimaryKeyAuto = false,             Indexes = new List<string>             {                 "Id", "Content"             }         }     }; });
Model:
public class Image {      [Key] public string Id { get; set; }     public byte[] Content { get; set; } }
Insert Method:
storeName is filled with its correct store
Entity contains a model you can see above like
Id= "abc.png"
Content = anycontentbytearray
` public async Task<List> InsertAllAsync(List EntityList)
{
await EnsureManager();
try
{
foreach (var Entity in EntityList)
{
try
{
var record = new StoreRecord()
{
StoreName = storeName,
Record = Entity
};
await manager.AddRecordAsync(record);
var allItems = await GetAllAsync();
return allItems;
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);

            }
        }
    }

`
and the error i get is the following:
Unhandled rejection: DataError: Failed to execute 'add' on 'IDBObjectStore': Evaluating the object store's key path did not yield a value. DataError: Failed to execute 'add' on 'IDBObjectStore': Evaluating the object store's key path did not yield a value. Error: Failed to execute 'add' on 'IDBObjectStore': Evaluating the object store's key path did not yield a value.
the issue isnt there when its autogenerated and the id Field is a long.
Could you give me some advice how to fix this issue??
Best Regards

Apparently the primary key name is converted to camel case, so try changing it to PrimaryKey="id". This worked for me.


Use a timezone-aware object instead.

Hi I received the following error:
volume1/homes/admin/Drive/stock/order/stock_buyer.py:58: FutureWarning: Indexing a timezone-aware DatetimeIndex with a timezone-naive datetime is deprecated and will raise KeyError in a future version.  Use a timezone-aware object instead.   if ecals.get_calendar("XKLS").is_session(pd.Timestamp(date.today().strftime('%Y-%m-%d'))):
date.today() refers to the local date. Local date is 'Asia/Kuala_lumpur'. Should I do the following instead?
if ecals.get_calendar("XKLS").is_session(pd.Timestamp(date.today().strftime('%Y-%m-%d'), tz='Asia/Kuala_lumpur')):
but if I do that the result is False when it should be True.

or should I always default to UTC hence
if ecals.get_calendar("XKLS").is_session(pd.Timestamp(date.today().strftime('%Y-%m-%d'), tz='UTC')):

Generally everything in exchange_calendar works with/expects UTC times. (I guess we should add a check somewhere). This occurs mostly via https://github.com/gerrymanoim/exchange_calendars/blob/master/exchange_calendars/utils/pandas_utils.py#L6
If you have localized times you should convert them before checking is_session.


Running linux container from windows host with GPU support

I would like to run a Linux-based container image (currently tried openvino_cgvh_data_dev_2021.4.2) from a Windows host and would like to run inference on GPU.
I tried passing --device /dev/dri which resulted in:

docker: Error response from daemon: error gathering device information while adding custom device "/dev/dri": no such file or directory.

I also tried passing --gpus=all which allowed me to run the container, but as soon as I tried one of the demos with -d GPU I got the following:

###################################################
Run Inference Engine classification sample
Run ./classification_sample_async -d GPU -i /opt/intel/openvino/deployment_tools/demo/car.png -m /root/openvino_models/ir/public/squeezenet1.1/FP16/squeezenet1.1.xml
...
[ INFO ] Device info:
[ ERROR ] Failed to create plugin /opt/intel/openvino/deployment_tools/inference_engine/lib/intel64/libclDNNPlugin.so for device GPU
Please, check your environment
[CLDNN ERROR]. clGetPlatformIDs error -1001
Error on or near line 217; exiting with status 1

Is it possible to map the GPU from windows (host) to linux (container)?
Thanks in advance.

@miccio-dk  Please see the instructions here about running iGPU using Windows Subsystem for Linux 2 (WSL2): https://github.com/openvinotoolkit/docker_ci/blob/master/get-started.md#run-a-container

Thanks for the prompt answer, unfortunately adding the arguments mentioned above doesn't seem to help.
Here are my steps:
# start a new container (ubuntu20_dev:2021.4.2 is my image based on the openvino_cgvh_data_dev_2021.4.2 dockerfile)
docker run -itu root:root --rm --device /dev/dxg --volume /usr/lib/wsl:/usr/lib/wsl ubuntu20_dev:2021.4.2
# once inside the container, install sudo
apt-get update && apt-get install -y sudo
# navigate inside demo directory
cd /opt/intel/openvino/deployment_tools/demo
# run demo
./demo_security_barrier_camera.sh -d GPU

This is the output message
###################################################

Run Inference Engine security_barrier_camera demo

Run ./security_barrier_camera_demo -d GPU -d_va GPU -d_lpr GPU -i /opt/intel/openvino_2021.4.752/deployment_tools/demo/car_1.bmp -m /root/openvino_models/ir/intel/vehicle-license-plate-detection-barrier-0106/FP16/vehicle-license-plate-detection-barrier-0106.xml -m_lpr /root/openvino_models/ir/intel/license-plate-recognition-barrier-0001/FP16/license-plate-recognition-barrier-0001.xml -m_va /root/openvino_models/ir/intel/vehicle-attributes-recognition-barrier-0039/FP16/vehicle-attributes-recognition-barrier-0039.xml

[ INFO ] InferenceEngine:       IE version ......... 2021.4
        Build ........... 2
[ INFO ] Files were added: 1
[ INFO ]     /opt/intel/openvino_2021.4.752/deployment_tools/demo/car_1.bmp
[ INFO ] Loading device GPU
[ ERROR ] Failed to create plugin /opt/intel/openvino_2021.4.752/deployment_tools/inference_engine/lib/intel64/libclDNNPlugin.so for device GPU
Please, check your environment
[CLDNN ERROR]. clGetPlatformIDs error -1001

Error on or near line 198; exiting with status 1

This time, when trying to run nvidia-smi inside the container, i get a "command not found error". If I run /usr/lib/wsl/lib/nvidia-smi or if I add the directory to $PATH, i get:

NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.

Note that /usr/lib/wsl/lib/ contains libnvidia-ml.so.1.

@miccio-dk the GPU support is for Intel GPUs, not Nvidia. OpenVINO support for Nvidia GPU is limited. An open source module is available here: https://github.com/openvinotoolkit/openvino_contrib/tree/releases/2021/4/modules/cuda_plugin


Idea: "Return to Default App" function

I realize there are only a few buttons available, and I like that watch seems to retain state after turning the screen on after it blanks. But in order to get back to the Vertical Face app when the device resets, I have to scroll to the bottom of the list of apps. Maybe if pressing buttons 2 & 3 simultaneously brought up a "Default App" you could quickly return to your favourite clock.
Also. It would be cool if there was a way to store the preferences between reboots so it wouldn't keep resetting my "select clock" preference.

Hi - I'm pretty sure this exists.
If you go to Settings, then Select Clock, you can choose the default clock you want to appear when you long-press BTN3 or when the Bangle starts up from a cold boot.


TextField / TextArea custom validation doesn't show it's custom error message

Introduced with pull #234 addition of componentWillReceiveProps.

Half fixed by #447 but still broken when using inside Form component.

Fixed by pull: https://github.com/DigitalRiver/react-atlas/pull/515


feat(imaging): create basic imaging module

Fixes #2242
Changes proposed in this pull request:

add permissions to create new imaging and view all imagings
add ability to request a new imaging
add ability to view all requested imagings
add imaging tabs to sidebar for "New Imaging Request" and "Imaging Requests"
add imaging tab to quick add button in the navbar for "New Imaging Request"
add imaging unit tests

No new dependency added
Side note:

no ability to view a single imaging request/edit imaging request/update imaging request in this issue

@AlexTan331 this is awesome work! let me know if you have any questions about getting the tests passing or any of the code review feedback.


Update_readme

Making the installation for the dtm more convenient.

@shubham-cmyk thanks for the contribution!
A gentle reminder: please pay attention to the conventional commit messages rules: https://www.conventionalcommits.org/en/v1.0.0/
We also have a link for it in our CONTRIBUTING.md.

Thanks @IronCore864 I would go through the commit rules.


Update to Expo SDK 49

See #5

@filipi87 Can we help review and land? Blocking usage of Daily with EAS / Expo

Hi @lele0108 , The version 0.0.3 is available.
Thanks for helping landing this. 🙂


Documentation on running miners, bidding, vaults

 Authored by dependabot[bot]
Jan 16, 2024

Superseded by #56.


Update Elo IINs

Expected behavior
Library supports an up-to-date range of IINs (formerly known as BINs) for Elo.
After asking the Brazilian payment provider allpago for Elo's IINs, I got the following list back (via e-mail, no public link available):

401178	636368
401179	650031 to 650033
431274	650035 to 650051
438935	650405 to 650439
451416	650485 to 650538
457393	650541 to 650598
457631	650700 to 650718
457632	650720 to 650727
504175	650901 to 650920
506699 to 506778	651652 to 651679
509000 to 509999	655000 to 655019
627780	655021 to 655058
636297

Actual behavior
Library supports a subset of the actual range.
Steps to reproduce
Enter a Elo credit card number belonging to the not-yet-supported ranges. It will be detected as either invalid or as another credit card type

Fixed with #222 / #223.


Uncaught Error: Unable to display threads: "Process 0 has exited with status 0"

Issue Id: fda69aea-4905-564e-cbcf-c8b2d5fdc76eVersions - 1.9.1Stack Error: Unable to display threads: "Process 0 has exited with status 0"/vs/workbench/parts/debug/electron-browser/rawDebugSession.ts#L176:30vs/workbench/electron-browser/vs/base/common/winjs.base.raw.js#L1209:0 (onError)vs/workbench/electron-browser/vs/base/common/winjs.base.raw.js#L901:0 (_notify)vs/workbench/electron-browser/vs/base/common/winjs.base.raw.js#L1068:0 (enter)vs/workbench/electron-browser/vs/base/common/winjs.base.raw.js#L1041:0 (_run)/vs/workbench/parts/debug/node/v8Protocol.ts#L53:5 (errorDispatch)/vs/workbench/parts/debug/node/v8Protocol.ts#L136:6 (clb)/vs/workbench/parts/debug/node/v8Protocol.ts#L104:11 (dispatch)/vs/workbench/parts/debug/node/v8Protocol.ts#L41:8 (handleData)    at emitOne (events.js:96:13)

This is an exception coming from the debug adapter extension and should be visible to the user.
Closing as desgined


Where is nuget-task-common

Hello!
We are building a custom task for our company to use on our build process in VSTS. I've followed the sample tasks here in particular Docker and the .Net CLI ones.
As part of our process, we need to build either nuget packages and containers images and publish them to our VSTS Feed and Azure Container registry accordingly.
Looking the pushcommand.ts(and on multiple other places) I've checking references to a module called nuget-task-common which allow us to authenticate on VSTS Feed and get credentials to publish packages on it. The problem is that this module isn't anywhere in the repo.
Where can we get it? If it is closed source (which is sad since it make the sample impossible to build and follow) how can we authenticate with VSTS feed in order to publish nuget packages to it?
The same happens with Docker task. There is a ContainerConnection and ACRAuthenticationTokenProvider which is supposed to hold the credentials to ACR but it is on docker-common module. How can we use it?
I would appreciate any help.
Thank you!

The source for nuget-task-common is in this repo: https://github.com/Microsoft/vsts-tasks/tree/master/Tasks/Common/nuget-task-common

Thanks!


All formulas require gcc now

Before I was able to use the system GCC but now when i try to install a new formula it is saying:
$ brew reinstall weechat
==> Reinstalling weechat with --with-aspell, --with-python, --with-ruby, --with-curl, --with-perl
Error: weechat cannot be built with any available compilers.
To install this formula, you may need to:
  brew install gcc

The system compiler must be named gcc-4.x. What version is your system compiler? Please report gcc --version and ls /usr/bin/gcc-4.?

See also Create symlinks for gcc

This is probably somewhat unrelated, but I have been wondering why does Linuxbrew always want to use GCC while OS X uses Clang which is also available on Linux and would be my preferred compiler in $CC and $CXX
Also what is wrong with /usr/bin/gcc and /usr/bin/g++ ?

Looks like it should work for me....
$ gcc --version
gcc (Ubuntu 4.8.2-19ubuntu1) 4.8.2
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ ls /usr/bin/gcc-4.*
/usr/bin/gcc-4.8

On Mac OS /usr/bin/gcc is actually clang emulating GCC 4.2.1. It's very weird. Disabling that logic in Homebrew has been more trouble than it's worth. Nice distributions like Ubuntu and Debian already contain files named appropriately, gcc-4.9.

Have you been able to successfully compile and install clang using Linuxbrew? I haven't. Did you use brew install llvm --with-clang? See #382

If you did have /usr/bin/clang installed, I think it would be the default compiler already, but I haven't tested that.

On Mac OS /usr/bin/gcc is actually clang emulating GCC 4.2.1. It's very weird. Disabling that logic in Homebrew has been more trouble than it's worth. Nice distributions like Ubuntu and Debian already contain files named appropriately, gcc-4.9.

I see.

Have you been able to successfully compile and install clang using Linuxbrew? I haven't. Did you use brew install llvm --with-clang? See #382

No, I haven't tried that and I am usaing system-wide installation which is from Debian Stable and very old so I should probably try that sometime.

If you did have /usr/bin/clang installed, I think it would be the default compiler already, but I haven't tested that.

My $CC says clang and $CXX clang++, but they aren't used.
% which clang && which clang++
/usr/bin/clang
/usr/bin/clang++

I know surely that they aren't used, because of Python which I have installed with Linuxbrew and it says to be compiled with GCC 4.7.2.
% python3
Python 3.4.3 (default, May  9 2015, 06:38:10)
[GCC 4.7.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.version
'3.4.3 (default, May  9 2015, 06:38:10) \n[GCC 4.7.2]'
>>>

Creating the links worked.  Seems like something that linuxbrew could do, but not important.  I was just confused as it worked before I updated.  I'll leave this open in case you want to continue discussions but feel free to close.

My $CC says clang and $CXX clang++, but they aren't used.

CC and CXX are ignore by Homebrew. Use HOMEBREW_CC=clang instead. There is no HOMEBREW_CXX. The C++ compiler is inferred from the C compiler. The value of /usr/bin/cc is used as the default compiler (I believe).

Creating the links worked. Seems like something that linuxbrew could do

Yes, I agree. I just haven't got around to it. =/

CC and CXX are ignore by Homebrew. Use HOMEBREW_CC=clang instead. There is no HOMEBREW_CXX. The C++ compiler is inferred from the C compiler. The value of /usr/bin/cc is used as the default compiler (I believe).

This appears to work as now my reinstalled Python 3 says [GCC 4.2.1 Compatible Debian Clang 3.0 (tags/RELEASE_30/final)] on linux.

Great. Glad to hear it.


Fix deadlock in corpus scripting.

Codecov Report
Base: 29.39% // Head: 29.39% // No change to project coverage :thumbsup:

Coverage data is based on head (f911e21) compared to base (a42d9b1).
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##           stable     #933   +/-   ##
=======================================
  Coverage   29.39%   29.39%
=======================================
  Files          72       72
  Lines        5872     5872
  Branches      314      314
=======================================
  Hits         1726     1726
  Misses       4070     4070
  Partials       76       76

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Not compatibile with alpha29

Hy!
I use angular2 alpha 29 because child router fixed, but angular2-webpack-starter based on alpha26 and not compatibile with new changes.
eg:
BrowserLocation -> LocationStrategy

@tamascsaba yeah I'm updating it now

thanks, the repo has be updated via https://github.com/angular-class/angular2-webpack-starter/commit/f1065582590c8f5bd5140ec94b97541cd78d7b50


webilder-0.7.3 0 : webilder_downloader - UnicodeEncodeError

webilder-0.7.3
webilder_downlloader exits with an error on a non-ASCII character when retriveing content:
url =  https://api.flickr.com/services/rest/?api_key=045379bc5368502f749af23d95a17c83&photo_id=16929226431&method=flickr.photos.getSizes
Traceback (most recent call last):
  File "/usr/local/bin/webilder_downloader", line 9, in <module>
    load_entry_point('Webilder==0.7.3', 'console_scripts', 'webilder_downloader')()
  File "/usr/local/lib/python2.7/dist-packages/webilder/downloader.py", line 195, in main
    download_all(notify)
  File "/usr/local/lib/python2.7/dist-packages/webilder/downloader.py", line 154, in download_all
    filter_photos(config, photos)
File "/usr/local/lib/python2.7/dist-packages/webilder/downloader.py", line 87, in filter_photos
    print _("Skipping non-landscape photo '%s'") % photo['title']
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe0' in position 54: ordinal not in range(128)

Can something be done to fix this problem?

Over two years later and photographs can still not be downloaded from Flickr because the unicode issue  is still to be fixed.
url =  https://api.flickr.com/services/rest/?api_key=045379bc5368502f749af23d95a17c83&photo_id=34721603982&method=flickr.photos.getSizes
   Traceback (most recent call last):
   File "/usr/local/bin/webilder_downloader", line 9, in <module>
   load_entry_point('Webilder==0.7.3', 'console_scripts', 'webilder_downloader')()
   File "/usr/local/lib/python2.7/dist-packages/webilder/downloader.py", line 195, in main     download_all(notify)
   File "/usr/local/lib/python2.7/dist-packages/webilder/downloader.py", line 154, in download_all
filter_photos(config, photos)
   File "/usr/local/lib/python2.7/dist-packages/webilder/downloader.py", line 87, in filter_photos
   print _("Skipping non-landscape photo '%s'") % photo['title']
   UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 116: ordinal not in range(128)

It appears that this project has been abandoned.

Hey Corin, yes - I am unable to work on this project at this point. Pull requests are welcome.

Hi! I'm a security researcher @TruffleSecurity. I found a valid API key leaked in a comment in this Issue. I highly recommend rotating the API key immediately (not just deleting the comment). Here's a blog post I wrote on remediating these types of vulnerabilities: https://trufflesecurity.com/blog/remediate-leaked-api-keys-with-key-rotation.If you can't find the leaked API key, you can use the following TruffleHog command to automatically scan for it:trufflehog github --repo https://github.com/<your_username>/<your_reponame> --issue-comments --only-verifiedIf it's not clear where/what the security issue is, please let me know. I'd be happy to help. Please note that the API key might be in the past edit of a comment.(cc @Corin-EU)


Front page revamp for mobile optimization

Acceptance criteria:

Load app on mobile and make sure it looks good
Features on front page still work


Unable to set display contents in Windows: libusb: invalid param [code -2]

Hey there,
I'm trying to interface with the Logitech Radio Panel in Java, and while trying to set the display contents, I was getting an error.
Since I'm using your lib as a reference anyways, I tried using it to set the display contents and ran into the same error.
I've added an error printout to this line:
https://github.com/bjanders/fpanels/blob/d7b94033586d73b3d820ba89a00605099bebcd65/radiopanel.go#L218
var err error
_, err = panel.device.Control(0x21, 0x09, 0x03, 0x00, panel.displayState[:])
if err != nil {
    log.Fatal(err)
}

and I'm getting the following error:
2021/01/23 23:17:25 libusb: invalid param [code -2]

Was this working for you and do you have any idea for a fix?
My device M/N is J-U0010.
edit: I should add that the go API is returning inputs just fine. It's just not able to display anything.

And by the way, trying to set the display in Java using usb4java-javax:
final byte[] d = new byte[20];
Arrays.fill(d, (byte) ('9' - '0'));

// 0x21
final byte bmRequestType = (UsbConst.ENDPOINT_DIRECTION_OUT | UsbConst.REQUESTTYPE_TYPE_CLASS | UsbConst.REQUESTTYPE_RECIPIENT_INTERFACE);
// 0x09
final byte bRequest = UsbConst.REQUEST_SET_CONFIGURATION;

final UsbControlIrp irp = usbDevice.createUsbControlIrp(
        bmRequestType,
        bRequest,
        (short) 0x03,
        (short) 0x00
);
irp.setData(d);
usbDevice.syncSubmit(irp);

I am getting the following exception which sounds pretty much like what I'm getting in your golang library.
Exception in thread "main" javax.usb.UsbPlatformException: USB error 2: Unable to submit control message: Invalid parameter
    at org.usb4java.javax.ExceptionUtils.createPlatformException(ExceptionUtils.java:39)
    at org.usb4java.javax.AbstractIrpQueue.processControlIrp(AbstractIrpQueue.java:229)
    at org.usb4java.javax.ControlIrpQueue.processIrp(ControlIrpQueue.java:41)
    at org.usb4java.javax.ControlIrpQueue.processIrp(ControlIrpQueue.java:18)
    at org.usb4java.javax.AbstractIrpQueue.process(AbstractIrpQueue.java:104)
    at org.usb4java.javax.AbstractIrpQueue$1.run(AbstractIrpQueue.java:73)
    at java.base/java.lang.Thread.run(Thread.java:832)

And by the way, trying to set the display in Java using usb4java-javax:
final byte[] d = new byte[20];
Arrays.fill(d, (byte) ('9' - '0'));

// 0x21
final byte bmRequestType = (UsbConst.ENDPOINT_DIRECTION_OUT | UsbConst.REQUESTTYPE_TYPE_CLASS | UsbConst.REQUESTTYPE_RECIPIENT_INTERFACE);
// 0x09
final byte bRequest = UsbConst.REQUEST_SET_CONFIGURATION;

final UsbControlIrp irp = usbDevice.createUsbControlIrp(
        bmRequestType,
        bRequest,
        (short) 0x03,
        (short) 0x00
);
irp.setData(d);
usbDevice.syncSubmit(irp);

I am getting the following exception which sounds pretty much like what I'm getting in your golang library.
Exception in thread "main" javax.usb.UsbPlatformException: USB error 2: Unable to submit control message: Invalid parameter
    at org.usb4java.javax.ExceptionUtils.createPlatformException(ExceptionUtils.java:39)
    at org.usb4java.javax.AbstractIrpQueue.processControlIrp(AbstractIrpQueue.java:229)
    at org.usb4java.javax.ControlIrpQueue.processIrp(ControlIrpQueue.java:41)
    at org.usb4java.javax.ControlIrpQueue.processIrp(ControlIrpQueue.java:18)
    at org.usb4java.javax.AbstractIrpQueue.process(AbstractIrpQueue.java:104)
    at org.usb4java.javax.AbstractIrpQueue$1.run(AbstractIrpQueue.java:73)
    at java.base/java.lang.Thread.run(Thread.java:832)

Hi. Everything in my code worked for me the last time I used it, which is quite some time ago. Are you running on Linux, Windows or Mac? I've just tested it on Linux on a couple of distros.
Make sure you have right permissions. If on Linux, are you running as root?

Hi. Everything in my code worked for me the last time I used it, which is quite some time ago. Are you running on Linux, Windows or Mac? I've just tested it on Linux on a couple of distros.
Make sure you have right permissions. If on Linux, are you running as root?

For example, the radiotest program which displays all kinds of strings on the displays, worked without issues. It doesn't work for you? If not, does it give any errors?

radiotest.go is what I am running and besides displaying anything, it is working fine. That is, it outputs selector, rotary encoder and button inputs to the console.
There are no errors out of the box, because you are not logging any errors in your RadioPanel.refreshDisplay method, as mentioned in my initial post. If I add error logging there, as I said, I get libusb: invalid param [code -2].

Are you running on Linux, Windows or Mac? I've just tested it on Linux on a couple of distros.

This is on Windows. Running as administrator unfortunately changed nothing.

Does your device have the same USB vendor and product ID?

Yes: Bus 002 Device 003: ID 06a3:0d05

For example, the radiotest program which displays all kinds of strings on the displays, worked without issues. It doesn't work for you? If not, does it give any errors?

radiotest.go is what I am running and besides displaying anything, it is working fine. That is, it outputs selector, rotary encoder and button inputs to the console.
There are no errors out of the box, because you are not logging any errors in your RadioPanel.refreshDisplay method, as mentioned in my initial post. If I add error logging there, as I said, I get libusb: invalid param [code -2].

Are you running on Linux, Windows or Mac? I've just tested it on Linux on a couple of distros.

This is on Windows. Running as administrator unfortunately changed nothing.

Does your device have the same USB vendor and product ID?

Yes: Bus 002 Device 003: ID 06a3:0d05

Ok, I misunderstood "It's just not able to display anything." I thought you meant that nothing is displayed on the radio panel display. I can test if I get any error on Linux. Don't hold your breath, though. ;-)

Ok, I misunderstood "It's just not able to display anything." I thought you meant that nothing is displayed on the radio panel display. I can test if I get any error on Linux. Don't hold your breath, though. ;-)

It could be some difference between Windows and Linux then. I've never tested on Windows. On Linux the panel displayed the output fine the last time I tested.

It could be some difference between Windows and Linux then. I've never tested on Windows. On Linux the panel displayed the output fine the last time I tested.

I added error checking, and on Linux don't receive any error in the location you mention, and it returns the expected number of bytes written (20).
I'll commit error checking to the code after I figure out how I want to do it. I don't want to use logging inside a library, and I'm not sure I want to exit because the error could be transient. Maybe I'll have to create a channel to return errors from the thread that is refreshing the display.

I added error checking, and on Linux don't receive any error in the location you mention, and it returns the expected number of bytes written (20).
I'll commit error checking to the code after I figure out how I want to do it. I don't want to use logging inside a library, and I'm not sure I want to exit because the error could be transient. Maybe I'll have to create a channel to return errors from the thread that is refreshing the display.

Yeah I figured it might be a OS issue. Do you have an opportunity to test on Windows?

Yeah I figured it might be a OS issue. Do you have an opportunity to test on Windows?

I can test on Windows, but I'm unfortunately not very motivated to do it. Sorry. I'm currently not using this library myself anymore at all, not even on Linux. But I still might have a look at on Windows at some point.

I can test on Windows, but I'm unfortunately not very motivated to do it. Sorry. I'm currently not using this library myself anymore at all, not even on Linux. But I still might have a look at on Windows at some point.

It could be that I'm using the go libusb library wrong, because I send Control(0x21,...) which is  ENDPONT_OUT (0x00) | CLASS_STANDARD (0x20) | RECEPIENT_INTERCACE (0x01). However, when I just now was replacing these with constants instead of the magic number 0x21, I noticed from the go libusb documentation that constant 0x20 (Standard) is not defined:
// "Standard" is explicitly omitted, as functionality of standard requests
// is exposed through higher level operations of gousb.

So, I should maybe replace this Control() with some "higher level operation", whatever that is.
It's been some time I fiddled with the USB protocol, so it might take some time for me to figure this out.

It could be that I'm using the go libusb library wrong, because I send Control(0x21,...) which is  ENDPONT_OUT (0x00) | CLASS_STANDARD (0x20) | RECEPIENT_INTERCACE (0x01). However, when I just now was replacing these with constants instead of the magic number 0x21, I noticed from the go libusb documentation that constant 0x20 (Standard) is not defined:
// "Standard" is explicitly omitted, as functionality of standard requests
// is exposed through higher level operations of gousb.

So, I should maybe replace this Control() with some "higher level operation", whatever that is.
It's been some time I fiddled with the USB protocol, so it might take some time for me to figure this out.

Well, I was looking through some other libraries and I found DCSFlightpanels, which is written in C# and uses HIDSkeletonBase.HIDWriteDevice?.WriteFeatureData(array);, which seems a bit higher level, see here.
I unfortunately know very little about the USB protocol and am just trying to figure things out as I go along right now, looking at examples such as your library and DCSFlightpanels.
By the way, I think it isn't an issue with the first byte (bmRequestType). I have tried sending every possible byte and it was the same error every time.

Well, I was looking through some other libraries and I found DCSFlightpanels, which is written in C# and uses HIDSkeletonBase.HIDWriteDevice?.WriteFeatureData(array);, which seems a bit higher level, see here.
I unfortunately know very little about the USB protocol and am just trying to figure things out as I go along right now, looking at examples such as your library and DCSFlightpanels.
By the way, I think it isn't an issue with the first byte (bmRequestType). I have tried sending every possible byte and it was the same error every time.

I was able to reproduce the issue on Windows. Don't know what is causing it. I'll happily accept fixing patches ;-)
Sometimes the display lights up with all zeros.

I was able to reproduce the issue on Windows. Don't know what is causing it. I'll happily accept fixing patches ;-)
Sometimes the display lights up with all zeros.

Does DCSFlightpanels work for you @marvk?

Does DCSFlightpanels work for you @marvk?

I'd love to be able to tell you, but I don't usually play DCS and I think that software needs some payware to function since the free planes don't have configurations included. So yeah, I can't really tell you at present time unfortunately. But I tried with a HID-Library in Java and also couldn't get that to work either. It's really strange. The Panel itself works fine with the MSFS2020 drivers that Logitech released, but I would like to make some modifications. Quite unfortunate.

I'd love to be able to tell you, but I don't usually play DCS and I think that software needs some payware to function since the free planes don't have configurations included. So yeah, I can't really tell you at present time unfortunately. But I tried with a HID-Library in Java and also couldn't get that to work either. It's really strange. The Panel itself works fine with the MSFS2020 drivers that Logitech released, but I would like to make some modifications. Quite unfortunate.

The other panels, the switch and multifunction, have the same issue. Output to the panels gives the error, but switches work.
I play DCS, so maybe I can test DCSFlightpanels some time.

The other panels, the switch and multifunction, have the same issue. Output to the panels gives the error, but switches work.
I play DCS, so maybe I can test DCSFlightpanels some time.

I would appreciate it. I'd love to get to the bottom of this, my goal is to basically emulate the standard FS2020 drivers, but with the radio display ditching the first 1 and displaying three decimal places so you can display 8.33kHz banded frequencies correctly.

I would appreciate it. I'd love to get to the bottom of this, my goal is to basically emulate the standard FS2020 drivers, but with the radio display ditching the first 1 and displaying three decimal places so you can display 8.33kHz banded frequencies correctly.

It's not possible to test any output with DCSFlightpanels without using DCS? Just wondering, if you don't want to wait until I possibly test.

It's not possible to test any output with DCSFlightpanels without using DCS? Just wondering, if you don't want to wait until I possibly test.

I don't think it is. I even downloaded DCS, but I couldn't get it to work with it. I think I might be missing the right planes.

I don't think it is. I even downloaded DCS, but I couldn't get it to work with it. I think I might be missing the right planes.

I tested with Logitech's Flight Panels Test Software and did a USB dump (which I originally also used to reverse engineer it in the first place) . The output to me looks the same as to what I try to do:

The only difference being that Logitech's software sends 22 bytes, and I send 20. I tried with 22 bytes, and it didn't help. I'm starting to suspect that the error is in libusb.
When sending with my software nothing is seen in the USB capture, so it is probably being blocked by Windows.

I compiled libusb with debug logging enabled and made a Go implementation that is as simple as possible (about 5 lines of code, nothing from this fpanels library) to just output to the display, and got the following output:
[ 0.014260] [00001154] libusb: debug [libusb_open] open 2.17
[ 0.076927] [00001154] libusb: debug [hid_open] set maximum input buffer size to 512
[ 0.076945] [00001154] libusb: debug [hid_open] 0 HID input report value(s) found
[ 0.076946] [00001154] libusb: debug [hid_open] 0 HID output report value(s) found
[ 0.076946] [00001154] libusb: debug [hid_open] 1 HID feature report value(s) found
[ 0.076947] [00001154] libusb: debug [hid_open]   Report ID: 0x00
[ 0.081734] [00001154] libusb: debug [libusb_alloc_transfer] transfer 00000177b241c588
[ 0.081737] [00001154] libusb: debug [libusb_submit_transfer] transfer 00000177b241c588
[ 0.081740] [00001154] libusb: debug [libusb_claim_interface] interface 0
[ 0.081740] [00001154] libusb: debug [hid_claim_interface] claimed interface 0
[ 0.081743] [00001154] libusb: debug [windows_assign_endpoints] (re)assigned endpoint 81 to interface 0
[ 0.081744] [00001154] libusb: debug [auto_claim] auto-claimed interface 0 for control request
[ 0.081744] [00001154] libusb: debug [hid_submit_control_transfer] will use interface 0
[ 0.081744] [00001154] libusb: warning [_hid_set_report] unknown HID report type 0
[ 0.081745] [00001154] libusb: debug [libusb_release_i2021/02/22 22:54:32 libusb: invalid param [code -2]

Maybe the issue is "unknown HID report type 0".

I got past that problem, but now I got new ones.
I changed
panel.device.Control(0x21, 0x09, 0x03, 0x00, panel.displayState[:])

to
panel.device.Control(0x21, 0x09, 0x0300, 0x00, panel.displayState[:])

By looking at the libusb code, the high byte in 0x0300 is  HID_REPORT_TYPE_FEATURE, and the low byte is the report ID.
Looking at the USB dump above, this is wValue, which actually is 0x0300 (and not 0x0003, like I have).

This is fixed now with the latest commit. :-) Thanks for the report!
In your Java code just change 0x03 to 0x0300 and make sure you use a buffer length of 22 bytes (not 20) for the display contents.
There is still some issue with the multi panel on Windows, that I'm still looking in to, but the radio panel works now.

Yup, confirmed working! Thanks for letting me know how it's done! :-)
https://user-images.githubusercontent.com/6569856/108795955-d6389800-7587-11eb-845a-482da655d15a.mp4


Added switch_dim parameter to ChangePoints kernel

PR type: bugfix / enhancement
Related issue(s)/PRs: Resolves https://github.com/GPflow/GPflow/issues/1195, also see https://stackoverflow.com/questions/59613675
Summary
Proposed changes
I propose to add a switch_dim parameter to the ChangePoints kernel to make it usable on multidimensional inputs. This parameter allows to define ChangePoints on one particular dimension of the input space, while leaving all dimensions accessible to the kernels being switched. This makes it possible to switch kernels on any (combination of) input dimensions based on one switching dimension.
As an example, this setup allows structures such as:
def switched_k():
    return SquaredExponential(active_dims=[0]) * SquaredExponential(active_dims=[1])

k = ChangePoints([switched_k(), switched_k()], switch_dim=1, location=init_loc)

This example has 2D input, and the kernel being switched is a product of kernels on the 1st and 2nd dimension. The switch_dim parameter allows to define a ChangePoint for this entire kernel product based on the 2nd dimension of the input.
What alternatives have you considered?
I also have a working version of making the active_dims parameter accessible to the ChangePoints kernel as proposed on the SO link above. The issue with this was, that it only allows to switch kernels on the dimension on which the ChangePoint is defined, e.g.:
k = SquaredExponential(active_dims=[0]) * ChangePoints([SquaredExponential(), SquaredExponential()], active_dims[1], location=init_loc)

Fully backwards compatible: I think so, but I will be adding tests to make sure
State of this PR
The PR is still a bit rough, but I'll be adding tests in the coming days if there's general interest in merging this ChangePoint setup. Alternatively, I'm also happy to contribute the active_dims version of handling multiple input dimensions I mention above.
PR checklist

[ ] New features: code is well-documented

[ ] detailed docstrings (API documentation)
[ ] notebook examples (usage demonstration)

[x] The bug case / new feature is covered by unit tests
[X] Code has type annotations
[x] Build checks

[x] I ran the black+isort formatter (make format)
[x] I locally tested that the tests pass (make check-all)

[ ] Release management

[ ] RELEASE.md updated with entry for this change
[ ] New contributors: I've added myself to CONTRIBUTORS.md

Hi @clwgg, thanks for thinking this through & contributing the PR:)
Your  switch_dim suggestion seems much more sensible than using the inner kernels' active_dims, as that may not even be well-defined. I'd be happy to merge this in once you've added the tests & updated the RELEASE.md and CONTRIBUTORS.md :) You may also want to post/update the answer on Stackoverflow once this is merged in!

While looking into covering this use-case with tests, I discovered that there are ChangePoint-related tests implemented both in tests/gpflow/kernels/test_kernels.py as well as a single one in tests/gpflow/kernels/test_changepoints.py. Is there any preference on where to implement the new tests? Also, should the ChangePoint tests be unified in a single file (either test_kernels or test_changepoints)? If so, I'd be happy to contribute that either here or in a separate PR.

@clwgg apologies for dropping the ball on this. I hope you'd still be interested to finish off this PR!?
Regarding test locations, I would suggest adding tests for this to test_changepoints.py; if you think it would be best to unify all ChangePoint tests in one file, feel free to move the other from test_kernels.py as well, but not required for merging this PR : )

I hope you'd still be interested to finish off this PR!?

Yes, absolutely! Sorry, it took me a moment to get back to it. I've added a few commits on the changepoint tests. These first reorganize all changepoint-related tests into the same file, and then add a few new ones. I think the new tests cover the behavior newly introduced here, and seem to be in line with the types of things the previous changepoint tests test. Please let me know what you think, and if you can think of something else changepoint-related that should be tested.
Also, I've been wondering about the default value for the switch_dim parameter. Currently it's 0, which is convenient for 1D-inputs and should be backwards compatible with changepoint models which currently already work. Making it a required parameter would break that backwards compatibility, but would make it more explicit for new(er) users. I'm just worried that users with multidimensional inputs might want to use changepoints without thinking much about the dimensions, and run into problems with the current default behavior. Maybe a middle ground would be to keep the current default, but issue a message/warning when changepoints are used with multidimensional inputs? LMKWYT!

[Just tagging this SO question here to remind me to update my response on merge: https://stackoverflow.com/questions/68209521]

Hi @st--, I just thought I'd bump this to see if there's still interest in merging this? I'm happy to fix anything that needs fixing!


after installing CSS3 plugin css styles within html has gone

after installing

without plugin

is there a way to fix it? or it doesn't have something to do with your plugin?

I just released v2.1.29, which will reenable inline styling. I had initially disabled it because of #107, but the issue appears to have gone away. If you see an error message like this, please let me know as quickly as possible and I will revert the release.

Hi @ryboe - first of all, thank you for all the work you are doing!
I wanted you to know that the recent update has once again caused the error mentioned in #107. It took me some time to figure out that this package was causing it, but I can confirm that the issue is present on latest sublime text 3 - linux.

Thanks for reporting, @ashucg! Can you confirm that you're running the latest Sublime Text 3 build 3211? My working theory has been that something changed in a very recent build of ST3. If you're running 3211 and experiencing the issue, then my theory was wrong.

@ryboe - yes, I am using the latest build.

Ok, thanks for the quick reply, @ashucg. I've disabled inline highlighting again in v2.1.30, which should be released to Package Control in a hour or so.

@ryboe - update has fixed the issue, thank you!


⚠ ClamAV has degraded performance

In 70ea636, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 443 ms

Resolved: ClamAV performance has improved in 52469b9.


在docker-compose出现了问题

此处镜像已经404

请问这是什么原因呢？
ERROR: Version in "./single.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a version of "2" (or "2.0") and place your service definitions under the services key, or omit the version key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/


Badges/Emotes lower than text

Can you post more info about? I'm unable to reproduce this issue on nightly release for windows

The chatterino version you are using
your display settings
your chatterino settings

@TranRed This problem appears when you increase size of font.

I see, I only increased up to 14pt or 16pt - it's more appearent in 20pt


Make switching smoother

Hello @babyman
there are some issues that say that shorcuts or the whole extension stop working occasionally. I did some small changes that are my best guess why that could happen. Furthermore switching is faster thus smoother now.
But the real thing I've been working on is a major change for quicktabs as envisioned in #247 .
I already created a prototype to get a feel for it and it's awesome. Could we talk about that via Skype or so?

Hi @MartinLichtblau Skype sounds like a great idea, my Skype username is "evan.jehu".  Add me and we can work out a time that works for us both.
Evan


Can release o1js lib without sharedArrayBuffer ?

Can o1js teams release a new o1js lib without sharedArrayBuffer? Because sharedArrayBuffer currently causes some compatibility issues, which affect the actual experience of users with o1js
extension:
extension cannot use o1js directly, because the front-end does not support Function and eval
So we tried sandbox, but it prompted a sharedArrayBuffer exception. The exception is as follows
Failed to execute 'postMessage' on 'Worker': SharedArrayBuffer transfer requires self.crossOriginIsolated.  but sandbox can not use crossOriginIsolated
Android:
The system browser on the Android does not support SharedArrayBuffer by default, so for Android users, they cannot use zkApp to build zk-transactions on the client.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer

This is an important request; I fully support it.
Statistics show that more than 60% of MinaNFT users visit the minanft.io site from mobile devices, and having o1js/light with a small size that can work on both iPhone and Android is very important for user experience.
I will be happy to participate in testing this version of the library.

SharedArrayBuffer is needed for creating zk proofs / compiling.
Would you have a use case for o1js without those features?

SharedArrayBuffer is needed for creating zk proofs / compiling.
Would you have a use case for o1js without those features?

Yes, this case already exists as MinaNFT does all the compiling and proof creation with zkCloudWorker in the cloud. In the browser

The state of the contract and all accounts are checked
The nonce is calculated taking into account all pending txs
The tx is created with Mina.transaction (without compiling the SmartContract)
The tx is serialized
The tx is signed in Auro Wallet using onlySign option
The serialized tx and signedData from Auro Wallet are sent to the zkCloudWorker

No compiling or proving is being made on the frontend, and this allows to present the Auro Wallet sign transaction form within 5 seconds after the user pressed the button.
The compiling and proving take place in the cloud, where zkCloudWorker

Deserialize tx
Prepares new, identical tx using Mina.transaction and deserialized transaction
Compiles SmartContract
Proves tx
Sends tx to the network
Monitor the tx for inclusion in the block or replacement by the user and take the necessary actions as the result of the tx to be included in the block or not included.

o1js/light will be

Much lighter, without the necessity to download 100 MB that is critical for mobile devices
Can run in Android and other environments where Shared ArrayBuffer is not supported or the proving and compilation is not required. Right now, it is not possible to calculate Poseidon hash or Merkle Tree root in such environments that significantly limit the possibilities of the zkApps

The relevant discussion on discord: https://discord.com/channels/484437221055922177/1228326948078489642

SharedArrayBuffer is needed for creating zk proofs / compiling.
Would you have a use case for o1js without those features?

Is there no other way besides SharedArrayBuffer? Because compatibility is also an important basis for the popularity of a library.
For Android and extension, we can only prove and compiling through the server at present, and the front end is only used for interaction and signing. But this is obviously only part of the function of o1js. We should try to put what the front end can do on the front end.

Is there no other way besides SharedArrayBuffer?

SharedArrayBuffer is needed for parallelism (now way around that!), and I think single-threaded proving would be prohibitively slow esp. on Android. (Also, it would be a significant refactor to even support single-threaded proving without SharedArrayBuffer)

It was in the press recently that the most used smartphone by Telegram users is Samsung costing $180.
I do not believe that proving is possible in this environment; we need to move it to the cloud. But calculation of Poseidon hash and Merkle Tree root (for small trees) is possible.

Is there no other way besides SharedArrayBuffer?

SharedArrayBuffer is needed for parallelism (now way around that!), and I think single-threaded proving would be prohibitively slow esp. on Android. (Also, it would be a significant refactor to even support single-threaded proving without SharedArrayBuffer)

Yes, can it be built and signed only on the extension or Android, and the rest of the things (such as proof, compile, etc.) are handled by the server? Currently, due to compatibility, the Android cannot even create zkApp transactions

Yeah that would be the o1js/light idea.
It will take some refactors but it's definitely possible

Isn't the mobile wallets like auro or pallad support zkapps? Is this mobile browser spesific request?
Currently we are looking in to making o1js work on mobile applications directly. I like to know more details here.

Yeah that would be the o1js/light idea.
It will take some refactors but it's definitely possible

Looking forward to o1js/light

Isn't the mobile wallets like auro or pallad support zkapps? Is this mobile browser spesific request?
Currently we are looking in to making o1js work on mobile applications directly. I like to know more details here.

Yes, you can try to open zkApp in Android webview and build zk-command. When building, the process will throw an exception. The error is just like what I said at the beginning

Isn't the mobile wallets like auro or pallad support zkapps?

Auto uses mina-signer, a lightweight TS library that should work everywhere but that can only sign, not create or prove, zkapp transactions

Isn't the mobile wallets like auro or pallad support zkapps? Is this mobile browser spesific request?
Currently we are looking in to making o1js work on mobile applications directly. I like to know more details here.

At the moment, you need to run your zkApp inside the browser of the mobile wallet, but it is not possible to send zkApp tx now.
What I expect for MinaNFT:

iPhone support I will be able to add after the new version of Auro Wallet for iPhone will be available, I will use full o1js library there waiting for o1js/light
Android support I will be able to add fully only after o1js/light will be available, I have some workaround with limited functionality that I will use waiting for o1js/light
Safari support will require deep link functionality in Auro Wallet, it will allow to move the user from Safari to Auro Wallet browser in one click, will add this as soon as it will be available in Auro Wallet.
To add zkApp tx support to mobile app, I understand that it will be needed to add API to Auro Wallet to call from your mobile app or you should redirect the user to the Auro Wallet browser

Would an ffi be a feasible solution? Of course, as dfst stated here user base might not have a powerful device for computation, but in a scenario of the existence of either C or any other efficient language that can be executed in a powerful mobile device could enable proving/compiling hence interaction with zkapps.

It was in the press recently that the most used smartphone by Telegram users is Samsung costing $180. I do not believe that proving is possible in this environment; we need to move it to the cloud. But calculation of Poseidon hash and Merkle Tree root (for small trees) is possible.

Hey, have folks tried setting the COOP and COEP headers? It looks like you can use sharedArrayBuffer if you set the COOP and COEP headers in the request. https://web.dev/articles/coop-coep

@andrewferrone nice one, gonna try it in Pallad soon:
https://developer.chrome.com/docs/extensions/develop/concepts/cross-origin-isolation
Note for browser wallet devs - these manifest entries are not included in @types/chrome.

So in Pallad the SharedArrayBuffer is no longer an issue, but I'm getting a random Uncaught SyntaxError: missing ) after argument list when importing Field for a quick check of Field.from(5) in our background Service Worker and the only similar issue I can find is:
https://discord.com/channels/484437221055922177/910549624413102100/992009664017469470

@mrcnk could you post your question in zkapps questions channel on Discord?

And @mrcnk can you share the exact setup you tested on mobile please?

It occurs in a browser extension's service worker context. I created a repro for this problem (though this time it's another SyntaxError):
https://github.com/mrcnk/o1js-ext-sw-repro
Steps to reproduce:

bun install
bun run build
Turn on the developer mode in Chrome/Brave Extensions.
Load unpacked /dist directory as an extension.

I looked at setting COOP and COEP like @andrewferrone suggested and it worked for me. I created a browser extension prototype and put the o1js related stuff in a sandboxed iframe.
I added
"cross_origin_embedder_policy": {     "value": "require-corp"   },   "cross_origin_opener_policy": {     "value": "same-origin"   }
to the manifest.json and allow="cross-origin-isolated" to the iframe
Link to PR: https://github.com/zksecurity/mina-attestations/pull/14/files

Hey, we're working on getting zkApp transaction proving functional in the browser on Android. We've got a proof of concept working now we believe. Is there anyone here with a zkApp looking to prove in browser on Android? We'd like to test our solution with you.

Update: I did some additional tests in mobile environments. I have created a test zkApp: https://mobile-test.minatokens.com that can use Auro Wallet or a hardcoded private key, prove in the web or the cloud, and do some simple Merkle Map root calculations. It also shows system info, including CORS, SharedArrayBuffer status, and wallet info.
I have tested four environments:  iPhone Safari, Auro Wallet internal browser on iPhone, Android Chrome, and Auro Wallet internal browser on Android. The results:

I have CORS enabled in all environments
I have SharedArrayBuffer available everywhere except the internal Auro Wallet internal browser on Android, exactly according to the information at https://caniuse.com/sharedarraybuffer
I am able to build txs calling Mina.transaction in all environments, including Auro Wallet internal browser on Android
I am able to sign txs in the internal Auro Wallet browser both for iPhone and Android, with onlySign option not being available in the mobile Auro Wallet and my fee and memo values discarded by the mobile wallets.
I'm able to compile and prove in all the environments except for the Auro Wallet internal browser on Android. In the internal Auro Wallet browser in Android, the process hangs out during compilation, even for tiny contracts. I can build the tx, but I cannot compile the contract.

Therefore, current limitations in comparison with the web:

compiling and proving not working on Auro Wallet internal browser on Android due to Android WebView limitations
'onlySign` option is not working on mobile wallets
It is not possible to set custom fee and memo

As I understand, issues with onlySign, fee and memo will be fixed in the next version of the AuroWallet quite soon.
The good news is that no more limitations exist to using o1js for building txs. I remember that I have tested several months ago o1js in Netlify functions that do not support SharedArrayBuffer too, and I was unable to do simple math like Field(1).add(Field(2)), now I can calculate MerkleMap root without SharedArrayBuffer and do some math with Fields in Android WebView, that is enough to build transaction. Therefore, o1js/light is not the absolute requirement for Android WebView, although it would be good not to load 100 MB library on mobile.
Current tested workflow for the internal browser of Auro Wallet for Android:

Build tx inside the browser using o1js, serialize tx
Prove serialized tx in the cloud using zkCloudWorker
Sign and send proved tx in the Auro Wallet for Android

Of course, it is a non-optimal user experience, but it works. Example of the zkApp tx sent from the internal browser of Auro Wallet for Android: https://minascan.io/devnet/tx/5JuK2RweaYegyt3ddyvd5EoJsaedh7ifNuMUHjx1Ne2VdRdW4Fgc?type=zk-tx
Proposal:

Consider adding SDK libraries for mobile wallets to be able to communicate with mobile wallets from Chrome on Android and Safari on iPhone, removing the need to use internal browsers in the mobile wallet on Android. It will require small additional effort from the zkApp developer to use such SDK libraries, but will enable better user experience.
Consider creating o1js/light library that will be loaded much faster on mobile devices.

Consider adding SDK libraries for mobile wallets to be able to communicate with mobile wallets from Chrome on Android and Safari on iPhone, removing the need to use internal browsers in the mobile wallet on Android. It will require small additional effort from the zkApp developer to use such SDK libraries, but will enable better user experience.

I tested the Metamask SDK library on Android to see how a similar workflow works on Ethereum. I've added a checkbox to my app, https://mobile-test.minatokens.com/, to send the tx on Seploia from the Android Chrome browser.
The workflow:

I open https://mobile-test.minatokens.com/ in Chrome on Android (NOT in the Metamask browser)
I check the box  "send Sepolia tx" and press the button
My web app connects to the Metamask app on Android and gets an address
My web app sends ETH to the test address.

SharedArrayBuffer is available in this setup; the wallet installed as a mobile app on Android is working. We can do the same for Mina protocol wallets.
Test code: https://github.com/zkcloudworker/minatokens/blob/mobile-test/src/lib/metamask.ts

Thanks for looking into this @dfstio - this is super helpful!


commonJS-wrapper

Isuue https://github.com/zachleat/fontfaceonload/issues/18
Universal module exports wrapper added https://github.com/umdjs/umd/blob/master/returnExports.js#L40-L60
Now it can be used with any type of modules, not just global!
And main field added to use with browserify (CommonJS require with simple node module name, not path to JS):
var fontfaceonload = require('fontfaceonload')
    fontfaceonload('.....', {
        .....
    });

tests fixed

+1!

+1

ping!

+1


Add ability to disable watching on local dev registry

For our use case, we run visuals tests against the local dev registry. This process saves screenshots to disk which then kicks off an OC package task and sometimes this errors out whilst the visual tests are running. We'd love to be able to disable watching for this scenario.
Would need to update: https://github.com/opentable/oc/wiki/Cli

Actually it looks like --hotReloading=false is good enough, so i'm gonna close this one.

@badsyntax I see you reopened this PR, any more context to share?

Hi @nickbalestra
--hotReloading=false gets us most of the way but i still feel it's a workaround.
For our use case we simply don't want any watching at all. Even with --hotReloading=false, the watcher still monitors every file (including node_modules) and this can be a pretty intensive task. We want to run a dev registry, with production built files, and then perform some tasks on that registry (like do visual regression tests), we have no need for watching, and it eats up CPU and disk unnecessarily.
In some cases it results in obscure errors, like ESOCKETTIMEDOUT when doing network requests. We think this is related to open file limits (see "Open File Limits" here: http://kb.imakewebsites.ca/2014/01/03/nodejs-setup-tips-for-devops/), but we're not sure. Multiple people in our team have had this error, and sure, this is more of a generic problem rather than a problem with OC, but it would be still be useful to be able to disable this behaviour in OC.

Seconding @badsyntax on this one 👍
Just to add one more case this would be useful in - consider when the OC component loads some ES6 JS, scss or React code that needs transpiling - you need to rebuild entirely to see the changes (hot reloading the dev registry won't help). I want to control the lifecycle of the registry reload as part of my component rebuild lifecycle and would rather it didn't do anything in isolation.

@badsyntax published with v0.40.6, and added documentation


Issues with testing on Pypy3

Seems like something is wrong with the Pypy3 setup: https://github.com/jazzband/django-embed-video/actions/runs/430202855
@aleksihakli Any idea what that could be?

Seems like the problem is https://github.com/actions/setup-python/issues/171
I'm wondering if we should just deprecate PyPy3 from the required test matrix, or keep it?
Please also see jazzband/django-embed-video#147

Let's keep it as there seems to be a fix already out.


Agree on Versioning system

As mentioned yesterday, we should try to stick with Semantic Versioning (https://semver.org/), ie, increase

MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards compatible manner, and
PATCH version when you make backwards compatible bug fixes.

Since development is still moving quite fast, let's stick to versions 0.x (plus patch numbers / alpha / beta / whatever)
Once we agree we have reached version 1.0 we will become more strict


Issue2 - Multiple scripts defined on same table is not working

When multiple scripts/checks are added for the same table, only one script is being executed. The browser hangs in few occasions due to this.

The bug fix has been added in V1.1 updateset under dist folder.


Refactoring

Moved a function that was repeated in almost every mutation, into the index.js file and made it into a helper function. Helper function is named inputToString
 import { Post, inputToString } from '../index.js'
 inputToString(input)
 const MutationFunc = ( params ) => {
    //mutation code
 }

great refactor


[FR] Add a "clear all" button to the model playground

Is your feature request related to a problem? Please describe.
Often times you want to reset the context. Right now you need to click delete on every message to do so.
Describe the solution you'd like
A single button to clear the message list.
Describe alternatives you've considered
None
Additional context
None

Added. Will be available in the next release of Genkit.

Added! Will be available in the next release of Genkit.


Date Picker breaks with non-default font or font size

The date picker does not expose any way to change the font, font size or cancel/confirm icons
With a non-default font and font size this is the result

It would be beneficial if the date picker widget exposed methods to change the font, font size and maybe even icons used to render the widget. Changing the size of each day in the picker as to not clip the text would also be nice if possible.

Same issue with the close button inCard

Before (Expected)  iced_aw: 0.7.0
After (Wrong) iced_aw: 0.8.0

BootstrapIcon::ChevronExpand, BootstrapIcon::Plus and BootstrapIcon::Box

Same issue with the close button inCard

PR's are accepted for fixes and changes. Sadly I can not do everything myself.

Before (Expected) iced_aw: 0.7.0 	After (Wrong) iced_aw: 0.8.0

BootstrapIcon::ChevronExpand, BootstrapIcon::Plus and BootstrapIcon::Box

this should be in its own issue but I did prompt this towards the person who last did the font updates.

It seems the issue is caused because the bootstrap_font is not loaded and can be solved by adding
font::load(iced_aw::graphics::icons::BOOTSTRAP_FONT_BYTES).map(Message::from),

to your Application::new command list. I'm not well-versed enough with iced internals to know if this can be done by iced_aw to avoid this error but if anyone with more knowledge knows a way I feel like this should be done automatically somehow.
Regarding the improvements i mentioned in my original post, I might look into making a PR later this week if I have the time.

we can not preload fonts. it is up to the end user to load them via font load. I can always ask hector to see if he could add some sort of extension loader for fonts and such.

I'm currently working on enabling custom font size in the date picker but I seem to have run into somewhat of a wall and thought this would be the best place to ask for help. I'm able to set the font size but moving on to adjusting the picker size has proven more of an issue.
An exerpt of my current code looks like this (from layout)
let text_width = |bounds: Size, content: &str, font: Font, size: Pixels| -> f32 {
    <Renderer as iced::advanced::text::Renderer>::Paragraph::with_text(
        iced::advanced::Text {
            content,
            bounds,
            size,
            font,
            horizontal_alignment: Horizontal::Center,
            vertical_alignment: Vertical::Center,
            line_height: text::LineHeight::Relative(1.3),
            shaping: text::Shaping::Advanced,
        },
    )
    .min_width()
};

let size = text_width(bounds, "September", renderer.default_font(), self.font_size)
    + text_width(bounds, "9999", renderer.default_font(), self.font_size)
    + SPACING
    + 4.0
        * text_width(
            bounds,
            &icon_to_string(BootstrapIcon::CaretLeftFill),
            BOOTSTRAP_FONT,
            self.font_size,
        );
let size = size.max(300.0);

let limits = Limits::new(Size::ZERO, bounds)
    .shrink(Padding::from(PADDING))
    .width(Length::Fill)
    .height(Length::Fill)
    .max_width(size)
    .max_height(size);

It seems my calculation of the required size is too small which causes strange behaviour for the layout. Is my text_width implementation wrong or am I otherwise overcomplicating this solution? Any insight would be much appreciated as I have very limited knowledge of iced internals.

yeah, honestly I dont know how to help as originally that was made by the original maker of this library. It would just be trail and error for me as well. Best person to ask might be hector since he understand the custom widget system way better than I do XD.

@Strosel If there are any other widgets that need API changes that you would like to do let me know.