[proxy] Fix deadlock in pulsar proxy

Motivation
When a broker server is restarted, the Pulsar proxy outputs the following warning:
15:09:01.486 [main-EventThread] INFO  o.a.p.z.ZooKeeperChildrenCache       - reloadCache called in zookeeperChildrenCache for path /loadbalance/brokers
15:09:31.487 [main-EventThread] WARN  o.a.p.p.s.util.ZookeeperCacheLoader  - Error updating broker info after broker list changed.
java.util.concurrent.TimeoutException: null
        at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1784)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928)
        at org.apache.pulsar.zookeeper.ZooKeeperDataCache.get(ZooKeeperDataCache.java:97)
        at org.apache.pulsar.proxy.server.util.ZookeeperCacheLoader.updateBrokerList(ZookeeperCacheLoader.java:118)
        at org.apache.pulsar.proxy.server.util.ZookeeperCacheLoader.lambda$new$0(ZookeeperCacheLoader.java:82)
        at org.apache.pulsar.zookeeper.ZooKeeperChildrenCache.lambda$0(ZooKeeperChildrenCache.java:89)
        at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670)
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
        at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
        at org.apache.pulsar.zookeeper.ZooKeeperCache.lambda$22(ZooKeeperCache.java:415)
        at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:592)
        at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:508)

This is due to a deadlock occurring in the proxy. While this deadlock occurs, main-EventThread is stopped in the following states:
"main-EventThread" #26 daemon prio=5 os_prio=0 tid=0x00007fa9b55ff000 nid=0x3d98 waiting on condition [0x00007fa923dfc000]
   java.lang.Thread.State: TIMED_WAITING (parking)
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000000eef2ad80> (a java.util.concurrent.CompletableFuture$Signaller)
        at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215)
        at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1709)
        at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323)
        at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1788)
        at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1928)
        at org.apache.pulsar.zookeeper.ZooKeeperDataCache.get(ZooKeeperDataCache.java:97)
        at org.apache.pulsar.proxy.server.util.ZookeeperCacheLoader.updateBrokerList(ZookeeperCacheLoader.java:123)
        at org.apache.pulsar.proxy.server.util.ZookeeperCacheLoader.lambda$new$0(ZookeeperCacheLoader.java:84)
        at org.apache.pulsar.proxy.server.util.ZookeeperCacheLoader$$Lambda$40/1450652220.onUpdate(Unknown Source)
        at org.apache.pulsar.zookeeper.ZooKeeperChildrenCache.lambda$0(ZooKeeperChildrenCache.java:89)
        at org.apache.pulsar.zookeeper.ZooKeeperChildrenCache$$Lambda$365/191748085.accept(Unknown Source)
        at java.util.concurrent.CompletableFuture.uniAccept(CompletableFuture.java:670)
        at java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:646)
        at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:488)
        at java.util.concurrent.CompletableFuture.complete(CompletableFuture.java:1975)
        at org.apache.pulsar.zookeeper.ZooKeeperCache.lambda$22(ZooKeeperCache.java:415)
        at org.apache.pulsar.zookeeper.ZooKeeperCache$$Lambda$46/1819738265.processResult(Unknown Source)
        at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:592)
        at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:508)

ZookeeperCacheLoader will try to get load information for all available brokers from ZK or its cache if there is a change in the znode /loadbalance/brokers.
The problem is that it is main-EventThread that performs the above process, and it is also main-EventThread that gets the data from ZK.
main-EventThread is blocked at the following line, so deadlock occurs.
https://github.com/apache/pulsar/blob/9d3ab60efddd3f4064789293fd8e9c4d4388b6c7/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZooKeeperDataCache.java#L97
Modifications
Make the method ZookeeperCacheLoader#updateBrokerList run on a thread separate from main-EventThread.

/pulsarbot run-failure-checks

There was similar code in pulsar-discovery-service, so I fixed that as well.

@sijie PTAL

@sijie Could you review this again?


Unique => true errors on Date data type

In a simple Padrino app we were trying to set up a unique requirement on a Date attribute being stored by MongoMapper.
key :date, Date, :unique => true

When trying to save the model we see error:

BSON::InvalidDocument at /admin/daily_schedules/update/4f5935fb36f50b39eb000050
Date is not currently supported; use a UTC Time instance instead.

Without the :unique => true requirement the system works.
Suspect that the issue arises from the validator not using the to_mongo / from_mongo converters when checking for uniqueness.

Date is actually an invalid type in the Mongo driver.  I'm not sure why you're not getting the error without the unique validation.

Can you provide an example failing script? That would help debug something in your app vs something in MM. Thanks!
On Friday, March 9, 2012 at 11:37 AM, jafoca wrote:

In a simple Padrino app we were trying to set up a unique requirement on a Date attribute being stored by MongoMapper.
key :date, Date, :unique => true
When trying to save the model we see error:

BSON::InvalidDocument at /admin/daily_schedules/update/4f5935fb36f50b39eb000050
Date is not currently supported; use a UTC Time instance instead.

Without the :unique => true requirement the system works.
Suspect that the issue arises from the validator not using the to_mongo / from_mongo converters when checking for uniqueness.

Reply to this email directly or view it on GitHub:
https://github.com/jnunemaker/mongomapper/issues/397

@bkeepers @jnunemaker I was standing over @jafoca's shoulder while he showed me this...
  key :date, Date                  # works fine
  key :date, Date, :unique => true # fails
  key :date, Time, :unique => true # works fine

It's because you can't query with Dates in Mongo, and the uniqueness validater sends a query along w/o calling to_mongo: https://github.com/jnunemaker/mongomapper/blob/master/lib/mongo_mapper/plugins/validations.rb#L42-46
And here's an essay so no-one has to independently duplicate my thoughts...
I find this bug interesting, because plucky doesn't use all the to/from mongo extensions, and yet most people get along fine with all their queries...except for Dates.  I think the reason is that there's actually two sets of conversions...params to Ruby and Ruby to MongoDB.  There's two actual conversions, but only one set of converters.
params --> Ruby <--> MongoDB

to_mongo handles...
  params --> MongoDB
  Ruby   --> MongoDB

from_mongo handles...
  Ruby   <-- MongoDB

Most of the MongoDB types map 1-to-1 to the Ruby types, so the params --> MongoDB conversion is actually just a params --> Ruby/MongoDB.  And that's why querying usually works fine without the to/from converters.  The only real exceptions are ObjectId and Date, and plucky knows when to convert strings to ObjectId's. But not Dates.
Feel free to disagree here, but this is the architectural issue I see: the advertised niceness of the to/from converters is that you can have custom storage strategies for your data but in practice the default to/from converters (besides Date) are all for handling parameter conversions, not custom storage strategies.  So querying gets no love for custom storage strategies.  If you use your own custom storage strategy, you have to do your own translations for plucky every time you want to run a query.
Perhaps the complete solution would be adding some sort of to_mongo_query method to the converters that plucky would try to use if present. That would give custom storage strategy authors the most flexibility.  Simply having plucky try to call to_mongo might work well too.
The relavent code in plucky is here  (though that code will soon be this if my pull request is merged). ;)
So grab my leg and pull this astronaut back to earth: Does it matter? What's the most practical solution? :cake:

I almost feel like this is a concern higher than plucky. I'd have a class on top that converts criteria based on type. It should probably have a to_hash or to_criteria method that could then be used by plucky.
This layer could also handle abbreviated keys and such. Just a thought.
On Friday, March 9, 2012 at 12:36 PM, Brian Hempel wrote:

@bkeepers @jnunemaker I was standing over @jafoca's shoulder while he showed me this...
key :date, Date # works fine
key :date, Date, :unique => true # fails
key :date, Time, :unique => true # works fine

It's because you can't query with Dates in Mongo, and the uniqueness validater sends a query along w/o calling to_mongo: https://github.com/jnunemaker/mongomapper/blob/master/lib/mongo_mapper/plugins/validations.rb#L42-46
And here's an essay so no-one has to independently duplicate my thoughts...
I find this bug interesting, because plucky doesn't use all the to/from mongo extensions, and yet most people get along fine with all their queries...except for Dates. I think the reason is that there's actually two sets of conversions...params to Ruby and Ruby to MongoDB. There's two actual conversions, but only one set of converters.
params --> Ruby <--> MongoDB

to_mongo handles...
params --> MongoDB
Ruby --> MongoDB

from_mongo handles...
Ruby <-- MongoDB

Most of the MongoDB types map 1-to-1 to the Ruby types, so the params --> MongoDB conversion is actually just a params --> Ruby/MongoDB. And that's why querying usually works fine without the to/from converters. The only real exceptions are ObjectId and Date, and plucky knows when to convert strings to ObjectId's. But not Dates.
Feel free to disagree here, but this is the architectural issue I see: the advertised niceness of the to/from converters is that you can have custom storage strategies for your data but in practice the default to/from converters (besides Date) are all for handling parameter conversions, not custom storage strategies. So querying gets no love for custom storage strategies. If you use your own custom storage strategy, you have to do your own translations for plucky every time you want to run a query.
Perhaps the complete solution would be adding some sort of to_mongo_query method to the converters that plucky would try to use if present. That would give custom storage strategy authors the most flexibility. Simply having plucky try to call to_mongo might work well too.
The relavent code in plucky is here (though that code will soon be this if my pull request is merged). ;)
So grab my leg and pull this astronaut back to earth: Does it matter? What's the most practical solution? :cake:

Reply to this email directly or view it on GitHub:
https://github.com/jnunemaker/mongomapper/issues/397#issuecomment-4420846


Helm upgrade does not apply to initContainers

TL;DR:
initContainer.image values are not updated after helm upgrade is executed.

See the kubectl get pod -o yaml outputs below.  Non-relevant portions have been pruned for brevity.
The interesting parts are the before and after image:  values.
Pre-upgrade Elasticsearch client pod:
apiVersion: v1
items:
- apiVersion: v1
  kind: Pod
  metadata:
    name: elasticsearch-client-2945103334-l5xkk
    namespace: default
  spec:
    containers:
      image: docker-registry.lan:5000/elasticsearch-kubernetes:2.0.0
      imagePullPolicy: Always
      name: elasticsearch-client
    initContainers:
    - command:
      - sysctl
      - -w
      - vm.max_map_count=262144
      image: docker-registry.lan:5000/elasticsearch-kubernetes:2.0.0
      imagePullPolicy: Always
      name: sysctl-vm-max-map-count

Post-upgrade Elasticsearch client pod:
apiVersion: v1
items:
- apiVersion: v1
  kind: Pod
  metadata:
    name: elasticsearch-client-3550306936-2g6m0
    namespace: default
  spec:
    containers:
      image: docker-registry.lan:5000/elasticsearch-kubernetes:2.0.1
      imagePullPolicy: Always
      name: elasticsearch-client
    initContainers:
    - command:
      - sysctl
      - -w
      - vm.max_map_count=262144
      image: docker-registry.lan:5000/elasticsearch-kubernetes:2.0.0
      imagePullPolicy: Always
      name: sysctl-vm-max-map-count

Note that after helm upgrade, rather than switching to "2.0.1", the initContainer image version has remained stuck at 2.0.0, even after the pod container image has been updated.
This behavior seems buggy.  After running the idempotent upgrade command (helm install --upgrade ...), I expected that the initContainer definitions would be updated.
Additionally, inspecting the output of --debug --dry-run shows that the initContainer version will be set to 2.0.1.  After proceeding to run the upgrade command, it becomes apparent the plan presented by helm is not what ended up being executed.
This is problematic because sometimes mismatched container/initContainer pairs do not mesh together, and the end result is a service interruption or outage.

Output of helm version:
(N.B. reproduced this issue with the following versions of helm+tiller: 2.8.2, 2.9.0, and 2.10.0-rc1)
Client: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.9.0", GitCommit:"f6025bb9ee7daf9fee0026541c90a6f557a3e0bc", GitTreeState:"clean"}

Output of kubectl version:
(N.B.: We are using Kubernetes v1.7.4)
Client Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.4+0c1a5fc", GitCommit:"0c1a5fc302a1f849e245e64f3ec0d71fb54df8a7", GitTreeState:"not a git tree", BuildDate:"2017-09-06T14:42:45Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"7", GitVersion:"v1.7.4+0c1a5fc", GitCommit:"0c1a5fc302a1f849e245e64f3ec0d71fb54df8a7", GitTreeState:"not a git tree", BuildDate:"2017-09-06T14:42:45Z", GoVersion:"go1.8.3", Compiler:"gc", Platform:"linux/amd64"}

If --dry-run shows the field modified, then it is likely that Kubernetes dropped the field silently (which is the expected behavior for some immutable fields, such as those on deployments.).
Does using helm upgrade --force fix that? This will destroy and recreate the resource, rather than sending a patch operation to Kubernetes.

I see, this is helpful information @technosophos - thank you very much!
I'll try with --force and return with findings.

There was no change in behavior with --force, initContainers remain stuck at the previous version.

Perusing the code a little, I noticed https://github.com/helm/helm/blob/master/pkg/tiller/release_update.go#L145:
// performUpdateForce performs the same action as a `helm delete && helm install --replace`.

Thinking through this a little- deletion will be a problem, since resources deletion leads to the associated deployment strategies not being enforced.
Any ideas on how to keep the deploymnet.initContainer.image values to stay in sync with delpoyment.container.image?  I want them to always match.

Perusing the code a little, I noticed /master/pkg/tiller/release_update.go:
// performUpdateForce performs the same action as a `helm delete && helm install --replace`.

Thinking through this a little- deletion will be a problem, since resources deletion leads to the associated deployment strategies not being enforced.
Any ideas on how to keep the deploymnet.initContainer.image values to stay in sync with delpoyment.container.image?  I want them to always match.

Can you get the desired behavior to work by doing a kubectl edit of the deployment?

Yes, I tried that yesterday- to no avail.
It seems strange of kubernetes to disallow any modifications of initContainer values.  The expectation that if a container.image is editable, that an initContainer.image would also be editable seems like a reasonable one.  Pretty sure I'm barking up the wrong tree to bring it up with this audience in this forum, though.
One odd thing about the helm-end of things is that helm upgrade --install --force doesn't trigger the resources to be deleted and re-created in this case.

Good news!
I've found a workaround which is easy to implement and does not have any serious drawbacks.
Background
Starting around the time of Kubernetes v1.7, several issues were filed saying that initContainer changes were being ignored.  Once Tom Xing dug in, the root cause was identified.  In short, internal object conversions clobber the field updates.
The workaround below is verified compatible with Kubernetes v1.7 and v1.8.
According to the referenced thread, for k8s versions v1.9 or newer, the pod.beta.kubernetes.io/init-containers annotation was slated to be deprecated.  I don't presently have a 1.9 cluster available to test these characteristics:

If this issue is fixed in 1.9
If the beta annotation still works or not in 1.9

Future readers: If you are able to test these, please reply and add your experience and/or findings!
Workaround Details
The technique to sidestep this bug uses the pod.beta.kubernetes.io/init-containers annotation + JSON for the initContainer definitions.  Defining the initContainers in this alternative facility causes Kubernetes to process them using a different code path.  Most importantly, a path which doesn't clobber the fields and expose you to this unfortunate bug!
I've verified that initContainers defined this way are able to have the initContainer.image field modified by subsequent helm chart upgrades.
Example
spec:
  template:
    metadata:
      annotations:
        pod.beta.kubernetes.io/init-containers: '[{"name": "volume-mount-hack", "image": "my-image:1.2.3", "imagePullPolicy": "Always", "securityContext": {"runAsUser": 0, "command": ["/bin/sh", "-c", "set -e && echo \"[ $(hostname --fqdn) ] Chowning volume mounts to 1000:1000 ..\" && set -x && chown -R 1000:1000 /data /var/log/gigawatt.io"], "volumeMounts": [{"name": "storage", "mountPath": "/data"}, {"name": "log-dir", "mountPath": "/var/log/gigawatt.io"}]}]'

Hopefully this is information and trail of breadcrumbs will be useful to some folks in the future.

P.S. @technosophos Thank you for creating such a nice and cool way to manage kubernetes workloads!


[sls gateway tea]support c# php util

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zhurenzhu.zrz seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Codespaces: Paste from outside doesn't work after copy pasting a directory

After copy pasting a directory in VSCode codespaces trying to paste text from outside VSCode pastes the directory name instead. After copy pasting some text within VSCode, pasting from outside starts to work again.
Version: 1.85.1
Commit: 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/<IP_ADDRESS> Safari/537.36
Embedder: codespaces

/duplicate https://github.com/microsoft/vscode/issues/200641

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


Nit changes DynamoDB

Hope the em dash worked out :-)

Closing - changes appear to duplicate those in #248, which has now been merged.


Faqs file added to doc

Faqs added with info to connect correctly to a replicaSet

This PR is already merger to master


📝 Doc update suggestions from review

What and why?
These are requests for documentation updates made in the backport PR (#313). Better to pull them into develop instead.
Review checklist

[ ] This pull request has appropriate unit and / or integration tests
[ ] This pull request references a Github or JIRA issue

CI Configuration (optional)

[ ] Run unit tests
[ ] Run integration tests

@urseberry -- Here's the changes you requested in #313 . Let me know if I missed anything.


Update command for installing sqlx-cli

What
Add required native-tls feature to the install command of sqlx-cli.
$ cargo install --version=0.6.0 sqlx-cli --no-default-features --features native-tls,postgres

Why
The current command for installing sqlx-cli throws an error.
See issue here: https://github.com/launchbadge/sqlx/issues/1604

Fixes: https://github.com/LukeMathWalker/zero-to-production/issues/159

Hey! Thank you - can you patch the installation instructions for all platform, not just MacOS?

This has been fixed in main.


Add quiz #26 & #27

Hi @f2r , sure that tests are OK? I must activate the CS on branch push it will be easier to check PRs.


Misleading instruction (660ef0f7c4b8e68ccd1f0786)

Describe the Issue
on 660ef0f7c4b8e68ccd1f0786 it says
Note that strings are immutable, which means once they are created, they cannot be changed.
For a beginner, this could be misleading, as they might think, they cannot change the variable.
Affected Page
https://github.com/freeCodeCamp/freeCodeCamp/blob/main/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-introductory-javascript-by-building-a-pyramid-generator/660ef0f7c4b8e68ccd1f0786.md
Expected behavior
A description like: The string is immutable, so it cannot be changed (the variable value itself however can be changed

We should avoid parenthetical information like that whenever we can, in my opinion. It makes the sentence much harder to parse.

Is it even worth mentioning here? The lesson doesn't show any consequences of immutability, so it might simply be better to remove the sentence.

I feel like it should be mentioned somewhere, but probably the first lesson where its needed

I think it is part of teaching strings.
Here is how MDN words it:

In JavaScript, primitive values are immutable — once a primitive value is created, it cannot be changed, although the variable that holds it may be reassigned another value.

But it would certainly be worth circling back to it when it becomes relevant to make sure the practical implication of it is shown.

The description accurately mentions that strings in JavaScript are immutable, meaning their contents cannot be changed once created. However, it's important to clarify that while strings themselves are immutable, the variables holding them can be reassigned to new values. Therefore, no changes are necessary in this instance. @NilsGke

I agree, the description is correct, though for someone encountering variables, strings and immutability for the first time, they might get confused, thinking they cannot change the variable as it is a string, which is immutable.
Two lessons later you learn how to reassign variables. Maybe not mentioning immutability at this early stage is the better choice.

Good point! Reassigning variables is key. Perhaps mentioning immutability later reinforces the distinction between variable and data type
@NilsGke

I would be fine moving it to somewhere closer to where something like array mutation is taught.

I think we should at least update the text to say the variable can be reassigned another value.
This early on in the learning process, the difference between a "value" and a "variable containing a value", is likely not that well understood.
In some other challenge step, we then show what it actually means that a primitive value is immutable. After they know how to index into a value, then we can show an attempt to update an immutable value directly and explain why it doesn't work.

Let's start there, then. A PR which resolves this issue will update the text:

Note that strings are immutable, which means once they are created, they cannot be changed.

To the text:

Note that strings are immutable, which means once they are created, they cannot be changed. The variable can still be reassigned another value.


Spellcheck Updates For Concept and Guides Pages

small spelling and syntax changes.

Thanks. 👍

No problem @bebraw .  I'm happy to contribute as much as possible in my spare time.
Sorry about the initial mistake, as I was in a small time crunch.
I made the correction and will be more thorough with future PRs.
Chris


chore(linting): implement ESLint flat config for eslint-plugin-turbo

Description

Closes #7909
Add "flat/recommended" config to eslint-plugin-turbo
Add meta property to plugin (required for caching, see Adding Plugin Meta Information)
Update eslint-plugin-turbo/README.md accordingly with information on using flat config

Testing Instructions
The rules or any actual functionality isn't changed, just the exports. The current tests all pass and I have tested the equivalent functionality on a separate project:
const eslint = require("@eslint/js");
const turbo = require("eslint-plugin-turbo");

module.exports = [
  eslint.configs.recommended,
  {
    plugins: { turbo },
    rules: {
      ...turbo.configs.recommended.rules,
    },
    settings: {
      ...turbo.configs.recommended.settings,
    },
  },
];

The new config is its own folder flat, which seems to be the current standard for maintaining backwards compatability (see eslint-plugin-vue).
I haven't updated eslint-config-turbo, because it is just a default export that extends the config.
I inlined the rules for now since the main export index.ts in eslint-plugin-turbo is where the rules are located, leading to a circular dependency. This may want to be changed in the future.
Should have no issues in regards to backwards compatability.

This is awesome! 🤩
I hate to ask you for an additional burden, but do you have a monorepo with ESLint v9 in it that I could try to use this against? I still haven't gotten to figure out how ESLint v9 configuration works and I'd like to manually verify this since we don't have any tests.
Alternatively, do you believe there are any tests that we could add to harden the support of the differing versions? (Apologies if this is a naive question.)

Will be working on this, will open a new PR when done


transmission-remote-gtk: fix broken tray applet icons

Motivation for this change
The tray icons of the transmission-remote-gtk applications are broken. This commit uses wrapGAppsHook and hicolor_icon_theme to let the tray applet find the icons.
Things done

[X] Tested using sandboxing
(nix.useSandbox on NixOS,
or option build-use-sandbox in nix.conf
on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] Linux

[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[X] Fits CONTRIBUTING.md.

Maintainer CC: @ehmry

I went ahead and rebased this into master in 4c171319f56ab1b9fb50d8fd0afb422046adc636.


Disc2app issue crash

Start it up on my wii u says running iosu sexploit then done the it crashes

Please help:(

Please help mate

Please stop begging for help, you send a email to everyone who is watching the project every time you comment. If someone is going to help you, they are going to help you on their own time and whenever they get to it lol

Ok sorry
On Fri, 29 Jul 2022, 16:59 Masamune3210, @.***> wrote:

Please stop begging for help, you send a email to everyone who is watching
the project every time you comment. If someone is going to help you, they
are going to help you on their own time and whenever they get to it lol
—
Reply to this email directly, view it on GitHub
https://github.com/koolkdev/disc2app/issues/3#issuecomment-1199611438,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2ISQLKOOW6TPYZYLZPOS33VWP5UXANCNFSM545GLSEQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

I have the same problem, running 5.5.5 w/ Tiramisu.

Same here I can't fix it ???? :(
gggg
On Tue, 2 Aug 2022, 04:56 makmillion, @.***> wrote:

I have the same problem, running 5.5.5 w/ Tiramisu.
—
Reply to this email directly, view it on GitHub
https://github.com/koolkdev/disc2app/issues/3#issuecomment-1201986480,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2ISQLNJYR2E27ASP2CU3VTVXCMABANCNFSM545GLSEQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

Not working on tiramisu

Someone please help with a fix 😬

Dude, already asked you to stop begging lol, you are the last 3 posts on this issue

No one is helping

That is not a reason to beg lol, your posts arent going anywhere

Not a reason to be rude though either mate.

I'm really not, I'm just trying to get you to stop spamming a bunch of people considering every time you comment a email gets sent out to anybody subscribed to the project

I'm not spamming I really need help for this to work

I haven't tested Disc2app support on Tiramisu. It is probably not compatible and have to be refactored.
If you want to use it right now you will have to run it from homebrew without tiramisu CFW.
I have locked the conversation because of your spamming.


METH_FASTCALL for functions and methods

A few of the functions could use METH_FASTCALL in Python 3.7+.

Partially done as far as I can remember


Document effects of var in pattern matching with switch

As was discovered on StackOverflow the behavior of var o in pattern matching with switch is not obvious and should be documented.
Between @jaredpar and @mgravell (and myself I think) the answer is found but this information should be documented on the pattern matching documentation, not just StackOverflow.
I've copied what I believe are the relevant information StackOverflow
Jared Parsons's Answer From StackOverflow

Inside a pattern matching switch statement using a case for an explicit type is asking if the value in question is of that specific type, or a derived type. It's the exact equivalent of is
switch (someString) {
  case string s:
}
if (someString is string)

The value null does not have a type and hence does not satisfy either of the above conditions. The static type of someString doesn't come into play in either example.
The var type though in pattern matching acts as a wild card and will match any value including null.
The default case here is dead code. The case var o will match any value, null or non-null. A non-default case always wins over a default one hence default will never be hit. If you look at the IL you'll see it's not even emitted.
At a glance it may seem odd that this compiles without any warning (definitely threw me off). But this is matching with C# behavior that goes back to 1.0. The compiler allows default cases even when it can trivially prove that it will never be hit. Consider as an example the following:
bool b = ...;
switch (b) {
  case true: ...
  case false: ...
  default: ...
}

Here default will never be hit (even for bool that have a value that isn't 1 or 0). Yet C# has allowed this since 1.0 without warning. Pattern matching is just falling in line with this behavior here.

Marc Gravell's Answer From StackOverflow

I'm putting together multiple twitter comments here - this is actually new to me, and I'm hoping that jaredpar will jump in with a more comprehensive answer, but; short version as I understand it:
case string s:

is interpreted as if(someString is string) { s = (string)someString; ... or if((s = (someString as string)) != null) { ... } - either of which involves a null test - which is failed in your case; conversely:
case var o:

where the compiler resolves o as string is simply o = (string)someString; ... - no null test, despite the fact that it looks similar on the surface, just with the compiler providing the type.
finally:
default:

here cannot be reached, because the case above catches everything. This may be a compiler bug in that it didn't emit an unreachable code warning.
I agree that this is very subtle and nuanced, and confusing. But apparently the case var o scenario has uses with null propagation (o?.Length ?? 0 etc). I agree that it is odd that this works so very differently between var o and string s, but it is what the compiler currently does.

My Comment from StackOverflow

After studying the output of the compiler for a while I go this: var cases don't check the type, only doing any "when" checks. For type safety in those checks and inside the case the type is resolved using "var type resolution". So var x when... is effectively saying I only care about the when side. So if there is no when then follows that it becomes the default. There is logic here, just needs to be documented!

I had a shower thought on this, in that the current case var o: scenario
actually behaves in a way that is more consistent with the syntax
default var o:. I realise that this ship has sailed, however.
Marc
On 14 June 2017 at 13:51, Shmueli Englard<EMAIL_ADDRESS>wrote:

As was discovered on StackOverflow
https://stackoverflow.com/questions/44532077 the behavior of var o in
pattern matching with switch is not obvious and should be documented.
Between @jaredpar https://github.com/jaredpar and @mgravell
https://github.com/mgravell (and myself I think) the answer is found
but this information should be documented on the pattern matching
documentation
https://docs.microsoft.com/en-us/dotnet/csharp/pattern-matching#using-pattern-matching-switch-statements,
not just StackOverflow.
I've copied what I believe are the relevant information StackOverflow
Jared Parsons's Answer From StackOverflow
Inside a pattern matching switch statement using a case for an explicit
type is asking if the value in question is of that specific type, or a
derived type. It's the exact equivalent of is
switch (someString) {
case string s:
}if (someString is string)
The value null does not have a type and hence does not satisfy either of
the above conditions. The static type of someString doesn't come into
play in either example.
The var type though in pattern matching acts as a wild card and will
match any value including null.
The default case here is dead code. The case var o will match any value,
null or non-null. A non-default case always wins over a default one hence
default will never be hit. If you look at the IL you'll see it's not even
emitted.
At a glance it may seem odd that this compiles without any warning
(definitely threw me off). But this is matching with C# behavior that goes
back to 1.0. The compiler allows default cases even when it can trivially
prove that it will never be hit. Consider as an example the following:
bool b = ...;switch (b) {
case true: ...
case false: ...
default: ...
}
Here default will never be hit (even for bool that have a value that
isn't 1 or 0). Yet C# has allowed this since 1.0 without warning. Pattern
matching is just falling in line with this behavior here.
Marc Gravell's Answer From StackOverflow
I'm putting together multiple twitter comments here - this is actually new
to me, and I'm hoping that jaredpar will jump in with a more comprehensive
answer, but; short version as I understand it:
case string s:
is interpreted as if(someString is string) { s = (string)someString; ...
or if((s = (someString as string)) != null) { ... } - either of which
involves a null test - which is failed in your case; conversely:
case var o:
where the compiler resolves o as string is simply o = (string)someString;
... - no null test, despite the fact that it looks similar on the
surface, just with the compiler providing the type.
finally:
default:
here cannot be reached, because the case above catches everything. This
may be a compiler bug in that it didn't emit an unreachable code warning.
I agree that this is very subtle and nuanced, and confusing. But
apparently the case var o scenario has uses with null propagation (o?.Length
?? 0 etc). I agree that it is odd that this works so very differently
between var o and string s, but it is what the compiler currently does.
My Comment from StackOverflow
After studying the output of the compiler for a while I go this: var
cases don't check the type, only doing any "when" checks. For type safety
in those checks and inside the case the type is resolved using "var type
resolution". So var x when... is effectively saying I only care about the
when side. So if there is no when then follows that it becomes the
default. There is logic here, just needs to be documented!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dotnet/docs/issues/2409, or mute the thread
https://github.com/notifications/unsubscribe-auth/AABDsLYjmWGeAg_CrXB-W7Gc-jm-zgbFks5sD9c2gaJpZM4N51ZI
.

--
Regards,
Marc

This was fixed in #3609
Closing.


Cancel focusing on TreeItems in Tree widgets

Also makes it so that when we click on an asset in the AssetList (which is a Tree), the menu appears at the cursor rather than to the right of the tree.
Fixes #1749
Change-Id: Ib3e663aae8135694ddf423611ebcf7a7caffbd39

I'll play around with this, but could you give some steps to make the weirdness happen?

@SusanRatiLane There are really two things here you can test. The easiest way to repro is to make your browser window pretty small such that you have to scroll around a bit.

In a project with assets, click on an asset. It should open a menu near the cursor. Previously, it would open to the right of the asset list, which could potentially be pretty far from the cursor if you clicked close to the left side of the list.
Add a sound or other non-visible component to the form. Scroll down so that you can see the Sound but not the structure list. Click on the sound. In prod, this will scroll you up to the top so that the tree is in view. With this fix, you shouldn't scroll.
Add lots of projects (I found making many checkpoints to be a fast way to do this). Reload the page. You shouldn't get the weird scrolling behavior you currently see if you have a small window with lots of projects on prod.

I don't know if we care, but if the browser shorter than the Projects drop-down menu, the screen jumps to the first item when the mouse rolls over it.


Minor dir and filename changes

Minor dir and filename changes

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Hi please help me i try to implement ionic push notification

I follow all the steps but did not find any result .
Please help me for making push notification using GCM .
Thanks
Sanjay

Sorry to be a jerk but I'm now closing issues that don't follow the issue submission guidelines. This plugin takes a lot of work to maintain and I can't afford the time required to solicit the required info from everyone.
I'm closing this issue but please feel free to re-open the issue if you provide the requested details from the new issue submission guidelines.
https://github.com/phonegap/phonegap-plugin-push/blob/master/.github/ISSUE_TEMPLATE.md


Cant Build on iOS

Have done all the required configuration for both android and ios but only for it not working on iOS
here is the log am getting in my console

I was able to fix it by upgrading my XCode


ReCaptcha v2 doesnt work

<-- Here at bottom should be a recaptcha v2, but instead it shows on console: Uncaught (in promise) ReCaptcha error: Failed to load script
And i litteraly just got this problem with gluon. What should i do then?

const Window = await Gluon.open('WEBSITE', {
allowNavigation: true,
}); <-- fixed What a shame sorry for bothering u guys


Near edit - undo / redo commands write which one command will be proceed if do this (like undo paste, redo format)

Near edit - undo / redo commands write which one command will be proceed if do this (like undo paste, redo format)

I do not understand your request, could you please elaborate?

Example:

Hey @alexdima, this issue might need further attention.
@psnet, you can help us out by closing this issue if the problem no longer exists, or adding more information.

Hi, this is feature request. In Edit menu near commands Undo and Redo add names of commands will be done for each step if use them. Example:
Undo formatting
Redo typing

ping

Closing this as I created new one with better description https://github.com/microsoft/vscode/issues/212336


Paste from clip board

Hey! Thanks for opening this, however I already developed this yesterday and used pretty much the same implementation as you. I'll be pushing my changes today. Thanks for doing this though!


Return RUNNING if there are more forts to spin

Short Description:
Previously, SpinForts only looked at a single fort. It would spin it, and then the task list would continue, causing us to walk, possibly out of range of other forts.
Now when there are more forts to spin, we return RUNNING to cause the tick loop to start over.
This fix should have a relatively large impact if you are in a place with lots of pokestops close together.

@douglascamata Please review

I've been using it for a few hours and is good so far.

Ran this for about 5 hours and seemed to have a negative impact on distance traveled and overall XP/hr. Took the change out and comparing results against current dev branch.

@mjmadsen This PR essentially only makes the bot spin all of the poke stops around you that it can before walking more. Right now it will only spin 1, and then walk away.

@TheSavior I review tomorrow morning, too late now.

If I understand the code, when returning RUNNING, the bot will redo all the task before the spin task? Instead of redoing the task and continue with the list.

Could we keep the id of the still running task at the level of the loop to restart the loop at the same task? And also add a param to the task saying continue for example?

@achretien when RUNNING is returned the tick is immediately finished and restarted.

@achretien doing this is the same as a loop inside the task and we don't want loops inside tasks to interact with stuff nearby.

off topic: @TheSavior my slack app doesn't load... what about yours?

Ok so if we have move to fort before spinning fort in the tasks, we could
still move out of the range of all the available stops?

@achretien yes, of course. That is a simple broken logic in task configuration. You only SpinForts AFTER MoveToFort.

Is there anything left to do here? Or do you want to merge it?

👍
@TheSavior LGTM!

@TheSavior Found out it was the number of bots I was running concurrently. My bad!


Remove all id column assumptions

At the very least, _getColumns() has a hard coded "id". That really shouldn't be there. And if adding a primary key to a query is necessary, don't hardcode it, ask Bookshelf what the PK column is.

the count aggregator also has a hardcoded id.


0.7.6 breaks model checkpoint

🐛 Bug
training crashes when model checkpoint is triggered
To Reproduce
Identical code works in 0.7.5, hparam types used are int, float, str, bool
hparams is generated via test tube and saved in the module as self.hparams
-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/opt/conda/lib/python3.6/site-packages/torch/multiprocessing/spawn.py", line 19, in _wrap
    fn(i, *args)
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/distrib_data_parallel.py", line 389, in ddp_train
    self.run_pretrain_routine(model)
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/trainer.py", line 1015, in run_pretrain_routine
    self.train()
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 347, in train
    self.run_training_epoch()
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 452, in run_training_epoch
    self.call_checkpoint_callback()
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/training_loop.py", line 790, in call_checkpoint_callback
    self.checkpoint_callback.on_validation_end(self, self.get_model())
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/utilities/distributed.py", line 10, in wrapped_fn
    return fn(*args, **kwargs)
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/callbacks/model_checkpoint.py", line 241, in on_validation_end
    self._do_check_save(filepath, current, epoch)
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/callbacks/model_checkpoint.py", line 275, in _do_check_save
    self._save_model(filepath)
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/callbacks/model_checkpoint.py", line 142, in _save_model
    self.save_function(filepath)
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/training_io.py", line 260, in save_checkpoint
    checkpoint = self.dump_checkpoint()
  File "/opt/conda/lib/python3.6/site-packages/pytorch_lightning/trainer/training_io.py", line 355, in dump_checkpoint
    f' not {checkpoint["hparams_type"]}'
ValueError: ('The acceptable hparams type is dict or argparse.Namespace,', ' not TTNamespace')

try master?

yep 0.7.7 dev fixed it, cheers.


cordova-ios 4.5.5 compatibility

Hello,
I need to install the plugin in a project which uses Cordova 9 and cordova-ios 4.5.5. Changing this is not an option.
I've seen the following in the releases notes from version 2.6.0:
Update: (iOS) Specify the Google Maps SDK version as => 3.1.0. Please use<EMAIL_ADDRESS>or above, otherwise modify platform/ios/Podfile
What do I exactly need to fix to make the plugin work?
Thanks!

Since<EMAIL_ADDRESS>requests min version ios7.0, you can't install Google Maps SDK for<EMAIL_ADDRESS>

Since<EMAIL_ADDRESS>requests min version ios7.0, you can't install Google Maps SDK for<EMAIL_ADDRESS>
so I'd just have to use the 2.7.0 version of the sdk?
I'd have to modify some code on this plugin too I assume?

if we make a donation could you edit this for us in a new branch or something?

It's the problem of  Cordova and Google Maps SDK. Not code's problem.


Add-onnx-workaround-benchmark-to-corresponding-bundles

Fixes #346  .
Description
Add the ONNX-TensorRT conversion command to the CONTRIBUTING.md.
Add the ONNX-TensorRT benchmark results to the bundles using this conversion.
Status
Work in progress
Please ensure all the checkboxes:

[x] Codeformat tests passed locally by running ./runtests.sh --codeformat.
[ ] In-line docstrings updated.
[ ] Update version and changelog in metadata.json if changing an existing bundle.
[ ] Please ensure the naming rules in config files meet our requirements (please refer to: CONTRIBUTING.md).
[ ] Ensure versions of packages such as monai, pytorch and numpy are correct in metadata.json.
[ ] Descriptions should be consistent with the content, such as eval_metrics of the provided weights and TorchScript modules.
[ ] Files larger than 25MB are excluded and replaced by providing download links in large_file.yml.
[ ] Avoid using path that contains personal information within config files (such as use /home/your_name/ for "bundle_root").

Thanks @binliunls , I'm fine with the latest changes. I will add the CI test for this changes via push a commit to this PR directly.

/build


NDNP BatchIngester class, orchestrates programmatic ingest

The primary vehicle for NDNP Ingest (user story #80) must be a set of classes that can be invoked programmatically to, given a local path to an NDNP batch, ingest the entirety of the content of that batch.  Such components should do the "heavy lifting" of import/ingest on behalf of:
(1) Ad-hoc ingests using rails console
(2) Command-line tools (see #118)
(3) Future ingest web UI or remote API (outside of scope of #80 user story).
Implementation

Create a NewspaperWorks::Ingest::NDNP::BatchIngester class:

constructed with a path argument, where path points to batch XML or containing directory;
an .ingest method to import all content from said batch, which shall iterate over all issues enumerated by NewspaperWorks::Ingest::NDNP::BatchXMLIngest data (implemented in #116).

Create finer-grained classes to facilitate creation of issues, pages, containers on behalf of BatchIngester class, such that:

A publication is found or created: search using ActiveFedora finder methods for a NewspaperTitle work for respective publication LCCN, or create a new NewspaperTitle work for each respective LCCN encountered, if one does not already exist.  Newly created publications should have as much metadata set, and shall be the "parent" of imported issues.
NewspaperIssues are created, and

Deliverables
Expected classes and responsibility:

NewspaperWorks::Ingest::NDNP::BatchIngester

uses NewspaperWorks::Ingest::NDNP::BatchIngest as source enumerable.

NewspaperWorks::Ingest::NDNP::IssueIngester

uses NewspaperWorks::Ingest::NDNP::IssueIngest as source data

As enumerable of pages.
As a means to access metadata values for issue via NewspaperWorks::Ingest::NDNP::IssueMetadata

Responsible for creating NewspaperIssue asset and setting its metadata.
Also responsible for finding or creating publication (NewspaperTitle) associated with issue, and setting basic metadata on created publication.

NewspaperWorks::Ingest::NDNP::PageIngester

used by IssueIngester above to ingest pages
uses NewspaperWorks::Ingest::NDNP::PageIngest as source data

As enumerable of page files via .files accessor/attribute.
As a means to access metadata values for issue via NewspaperWorks::Ingest::NDNP::PageMetadata

Responsible for creating NewspaperPage asset,

Setting its metadata, and
Ingesting all files and derivatives via NewspaperWorks::Data::WorkFiles attachment adapter(s).

Responsible for being entry point of ensuring that any reel associated with page exists, via...

NewspaperWorks::Ingest::NDNP::ContainerIngester

instantiated by PageIngester above to ensure existence of reel asset (NewspaperContainer).
Find-or-create container by its reel number, stored using a value inside .identifier (array).
uses NewspaperWorks::Ingest::NDNP::ContainerIngest as source data

As a means to access metadata values for reel via NewspaperWorks::Ingest::NDNP::ContainerMetadata

When NewspaperContainer is created, it is associated with NewspaperTitle (transitive relation via page via issue).
A .link method given a page argument (NewspaperPage asset object) shall link the page to the container asset for the reel.

Expected results
Use of source data
Source data is provided by a variety of classes that front for NDNP XML data, as implemented in issues #116, #105.

Issue, page, container metadata shall conform to the mappings described in the wiki

NewspaperTitle (publication) assets

If a publication asset does not exist as a NewspaperTitle object, it shall be created;

upon creation, metadata for title and possibly place of publication shall be copied.
lccn should be set as a value in the NewspaperTitle.lccn property.

If a publication does already exist for LCCN, it should be created.
If a place name exists in parentheses of the title label for the publication;

The system should attempt to look up place of publication URI for the asset by using Geonames API.
The place name should be removed from the final title set on the NewspaperTitle asset.

NewspaperIssue assets

NewspaperIssue is created for each issue, metadata copied, and all constituent pages imported and linked.

NewspaperPage assets

NewspaperPage assets created for each page, for each issue
Fileset created for primary file
Metadata imported
Primary TIFF file attached
Derivative ALTO, JPG, JP2, PDF files attached.

NewspaperContainer assets

When reel data is available, every page with an associated reel shall have such reel found or created, then linked.  When created, metadata should be copied per mapping in wiki.
Creation/find of container (and linking to publication) shall be a distinct phase from...
...a .link method on the ContainerIngester class to link the page to the container.

General operation notes:

Enumeration and performance of batch work is serial, not concurrent; we may later refactor for concurrency and more async work, but that is not in the scope of this issue.
Aspects of file attachment are asynchronous, via the use of the WorkFiles adapter (and by consequence, the actor stack and multiple Hyrax and NewspaperWorks jobs re: derivatives).

For example, creation of other text (JSON, plain) derivatives from ALTO happens here (see #107).

A practical production ingest should use a job runner with retries (e.g. Sidekiq, or similar) for any incidental async jobs, which may run on a distinct node from the work creation aspects of ingest provided here.
Ingest makes practical attempt to deal with the following:

Older format (?) alternative for access to publication held_by and title metadata, as seen in one of our samples (the xpath is different from mapping in wiki).
Missing reel data (no container created).

Closed via #139.


acir_from_bytes result does not work with setup_generic_prover_and_verifier

Description
Aim
I would like to use the TS bindings to load the acir of my compiled proof and create a prover and verifier.
Expected behavior
I expect this code to successfully setup the prover and verifier.
const acirByteArray = path_to_uint8array(resolve(__dirname, '../circuits/target/p.acir'));
const acir = acir_from_bytes(acirByteArray);
const [prover, verifier] = await setup_generic_prover_and_verifier(acir);

Bug
The acir object returned by acir_from_bytes(acirByteArray) does not include the field gates.
Terminal output:
panicked at 'called `Result::unwrap()` on an `Err` value: Error("missing field `gates`", line: 1, column: 1189)', src/lib.rs:81:28

To reproduce
This repo contains a minimal example of the bug. To reproduce it run npm test.
Environment

[x] Using nargo:

[x] Binary: nargo 0.2.0 (git version hash: 5186ab97a0fc087413f6d217b87c77f693c574ac, is dirty: false)

[x] Using TypeScript:

@noir-lang/noir_wasm: 0.2.0-ca986a4
@noir-lang/barretenberg: 2.19.0
@noir-lang/aztec_backend: 0.9.0-287d42d

I was able to get this to work with this acir = { ...acir, gates: acir.opcodes };
and downgrading to nargo 0.1.0 (git:126ca26a)
As far as I understand gates were renamed to opcodes (https://github.com/noir-lang/noir/issues/536)
However I'm not sure if this has unintended side effects.

This is due to an outdated aztec_backend dependency. We recently just fixed some discrepancies between the packages, however, they have not been pushed to npm yet. Could you try using the dependencies under this project's package.json: https://github.com/noir-lang/noir-cra?

Thanks for helping with this.
I was able to compile + verify the proof from a TS script using these versions:
"@noir-lang/aztec_backend": "github:kobyhallx/aztec-backend#1bcdd4bf67dad1ab977867f1d655bcab7085a518",
"@noir-lang/barretenberg": "github:noir-lang/barretenberg#39a1547875f941ef6640217a42d8f34972425c97",
"@noir-lang/noir_wasm": "0.2.0-ca986a4"

Unfortunately the compilation fails when I'm trying to make use of the stdlib.
panicked at 'error reporter: could not find crate std', crates/noirc_frontend/src/hir/resolution/import.rs:163:28

Loading an acir from a TS script fails with:
panicked at 'called `Result::unwrap()` on an `Err` value: Custom { kind: InvalidInput, error: "corrupt deflate stream" }', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/acir-0.4.1/src/circuit/mod.rs:35:9

It's compiled with nargo 0.2.0 (git version hash: e51ff01b426c7f91422a53e691b6aaf9bb4b4a86, is dirty: false)
All of the circuits I tested this with compile and verify correctly using the nargo CLI.
Do you have a suggestion what my next steps should be here?

@siosw Thanks for the detailed report. JavaScript packages currently do not allow stdlib or any other "non-local" dependency. Basic support for it should land early next week.

Closing as outdated


Pre-built binaries missing for Linux in the Odin bindings

Trying to build an example outputs:
cannot find -l "[pathtoclay]/clay/bindings/odin/clay-odin//linux/libclay.a"

Thanks for the heads up, somehow managed to forget to build the linux lib. Would you be able to test it out for me if I push the file? I don't have access to a linux box at the moment 🙂

I've pushed the linux lib, please let me know if it works for you!

It did, thanks!

Awesome, good to hear!


Text embedding ada 002

Added the mbedding model text-embedding-ada-002 for selection.

Thanks @benemanu - added with https://github.com/ragapp/ragapp/commit/9397e4c9e26a76c65b2135c42b5b22a38abdeebd


Colons must be next to whatever subtitle

Or perhaps it isn't possible after the two asterisks. Forgive me if that's the case, I'm new to this stuff!

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@Adonking Thank you for  creating this PR.  However, since it was created, the underlying document has changed.  Can you please review and resolve the current merge conflicts?  It could be the changes to the underlying document are so significant that your changes are no longer relevant.  If the latter is the case, it might be easier to just close this PR and create a new PR with any changes you still feel are important to make.
If you need any assistance or have questions about resolving the merge conflicts, please reply back or contact someone in the Contributors Room on Gitter.
Thank you.

We are restructuring a lot of the code and learning resources referenced in your pull request, so for now I am going to go ahead and close this pull request. Thanks again for opening this pull request and for contributing to the community.


glasskube backup command

A command for handling everything related to backups - TBD.

Hey @christophenne I would like to work on this issue. From the above issue, we need to create a backup command in Glasskube. I have a question: What function is expected to run on this command? For now, should I add a simple print statement?

Hi @hanshal101, this issue is not ready to be worked on yet, we will tackle backups later on (see Roadmap). Please have a look at other issues that are labelled "good first issue" or "help wanted", thanks!

Is this issue still relevent?

Ok, Cool!


Close cookie consent bar manually

Hi there,
is there a way to close the cookie bar by an other javascript function (no hook, just a function)? Or should I just add the cookieconsent_status = dismiss as cookie by this function and the cookie bar will get dismissed automatically?
We need to have the dismiss button in the middle of the text. I add an listener to a link, but the bar will not close obviously.
$(document).on ("click", "#dismissCookieConsent", function () {
  // do other stuff
  // dismiss cookie consent -  ?
});

Any idea/hin?
Thanks,
Alexander

I just set the cookie manually now. Can be closed.

As an aside you can call this.open(), this.close(), this.setStatus(cookieconsent.status.allow) and this.clearStatus() in the callback hooks. This may be useful :)

I see. If we need it, I can refer to it. Unfortunately, the customer changed her mind.

@alexmorleyfinch I am trying to do this.setStatus(cookieconsent.status.allow) within onNoCookieLaw: function (countryCode, country) {} and I am getting this.setStatus is not a function at Object.onNoCookieLaw. Any suggestions?

@fotiDim i'm having the same issue. Did you find a solution?

@sarinkarma not really. I ended up setting doing something like that:
var gaCode = 'UA-XXXXXX-X';
window['ga-disable-' + gaCode] = true;
if(getCookie('cookieconsent_status') === "allow") {
  window['ga-disable-' + gaCode] = false;
}

function getCookie(name)
  {
    var re = new RegExp(name + "=([^;]+)");
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
  }

which enables Google analytics when the user accepts cookies. It was basically what I wanted to do with it.


DeviceType Blinds: Option "Invert Level" has no effect

Hi,
I have blinds with a "level" state which has a value of 100% when the blinds are completely closed (down) and a value of 0% when they are completely up (open).
I added this state to  a device type "blinds" in iqontrol. When the blinds are closed (down, value is 100%) and I open the iqontrol frontend, the blinds icon is "open (up)" and also the text is "open".
I found the Option "Invert Level (0=opened)" at the Device settings but when I check it, it has no effect. The icon and the text stay saying "open".
Seeme to be bug, isn't it?
Thx in advance
T0mc@

Hi, for me it works as it should.
You have two options to invert:

In Device settings "Invert Level (0=opened) and
In Datapoint-Settings (Wrench-Icon)

Maybe you have both options set? That would lead to a double-invert, wich means it is not inverted at the end.
Greetings, Sebastian

Hi Sebastian,
no, I didn't even realized the second option. I just double-checked, that the checkox "Invert Level" in device settings is checked and in the datapoint settings the "invert" option under "iqontrol" is unchecked (as it was all the time). Not even the "activate" box is checked in the datapoint settings...
Greetings

Hello,
i confirm, i have the same problem with a FHEM Homematic HM-LC-BL1PBU-FM adapter.
0% is open, 100% closed. Unfortunately "inverting" does not work.

I checked again, for me it works. I have no idea, what causes the issue.
Could you please check, if the other invert option (in datapoint-settings = wrench-icon) works as expected?
And could you please send the raw of the level-datapoint you are trying to invert (maybe min and max is missing?)
Greetings, Sebastian

Ok, i played around with both "Invert" settings. Unfortunately no change. Both on, both off, or only one on.
Also i set "Level" as "Role".
Do you mean this raw?
{   "_id": "fhem.0.Kueche_Rollladen.level",   "type": "state",   "common": {     "name": "Kueche.Rollladen level",     "type": "number",     "role": "value",     "read": true,     "write": false,     "custom": {       "iqontrol.0": {         "enabled": true,         "readonly": true,         "invert": false,         "unit": "",         "type": "number",         "role": "level",         "targetValueId": "",         "states": {}       }     }   },   "native": {     "Name": "Kueche.Rollladen",     "Attribute": "level",     "Readings": true   },   "from": "system.adapter.fhem.0",   "user": "system.user.admin",   "ts":<PHONE_NUMBER>535,   "acl": {     "object": 1636,     "state": 1636,     "owner": "system.user.admin",     "ownerGroup": "system.group.administrator"   } }

Two things:

Here is no min and max defined - but these values are required to invert.

If not defined, iQontroll will use 0 and 100 as default values. Could you please check, are these the right min and max values for this datapoint? Maybe it is 0 and 1?
Since version 0.1.11 you can define min and max for iqontrol in the datapoint-settings (wrench-icon). Please try to set here min and max to 0 and 100 or 0 and 1. Does this fix the problem?

The datapoint is readonly ("write": false). This would mean, you could only SEE the actual blind level - but you can't SET it by this datapoint. Does your device provide another datapoint for SETTING the level?

Greetings, Sebastian

Hi Sebastian,
instead of the "level" reading i took now the "pct" reading and it works fine:
{   "_id": "fhem.0.Kueche_Rollladen.pct",   "type": "state",   "common": {     "name": "Kueche.Rollladen pct",     "type": "number",     "role": "level.blind",     "read": true,     "write": true,     "min": 0,     "max": 100,     "unit": "%",     "smartName": {       "de": "Kueche.Rollladen",       "smartType": "kein Typ"     },     "custom": {       "iqontrol.0": {         "enabled": true,         "readonly": false,         "invert": true,         "unit": "%",         "type": "number",         "role": "",         "targetValueId": "",         "states": {           "min": "0",           "max": "100"         }       }     }   },   "native": {     "Name": "Kueche.Rollladen",     "Attribute": "pct",     "possibleSets": true,     "slider": true,     "level_dimmer": true,     "level_blind": true,     "Readings": true   },   "from": "system.adapter.fhem.0",   "user": "system.user.admin",   "ts":<PHONE_NUMBER>726,   "acl": {     "object": 1636,     "state": 1636,     "owner": "system.user.admin",     "ownerGroup": "system.group.administrator"   } }
Thanks for your Help!

Hi Sebastian,
for me the problem still exists... here is the raw of my datapoint:
{
  "type": "state",
  "common": {
    "name": "Wohnzimmer Rollo Fenster",
    "desc": "level of device 1010000",
    "type": "number",
    "role": "level.blind",
    "unit": "%",
    "min": 0,
    "max": 100,
    "read": true,
    "write": true,
    "smartName": {
      "de": "Wohnzimmer Rollo Fenster"
    }
  },
  "native": {},
  "from": "system.adapter.homepilot.0",
  "user": "system.user.admin",
  "ts":<PHONE_NUMBER>177,
  "_id": "homepilot.0.devices.RolloTronStandardDuoFern.1010000.level",
  "acl": {
    "object": 1636,
    "owner": "system.user.admin",
    "ownerGroup": "system.group.administrator",
    "state": 1636
  }
}

At the moment the blind is completely closed and the value says "100" in ioBroker:

This also can be seen in the WebApp of the original Gateway device:

In iQontrol "Invert Level" Checkbox is checked:

The datapoints (wrench) Invert Checkbox is unchecked:

But the iQontrol Frontend sais "open":

Any idea?

I just dived into your corresponding JavaScript code and found the bug:
in "index.js" the responsible code is this:
   case "iQontrolBlind":
.
.
.
.
                                                                                if(_deviceId && usedObjects[_deviceId] && typeof usedObjects[_deviceId].native != udef && typeof usedObjects[_deviceId].native.invertActuatorLevel !=
udef && usedObjects[_deviceId].native.invertActuatorLevel == "true") invertActuatorLevel = !invertActuatorLevel;

In the "if" the checked object property is "invertActuatorLevel".  But examining the Objet in "usedObject[_deviceId].native" one can see, that the correct property name is "invertBlindLevel":

So changing all "invertActuatorLevel" to "invertBlindLevel" in the "if" Line like this:
if(_deviceId && usedObjects[_deviceId] && typeof usedObjects[_deviceId].native != udef && typeof usedObjects[_deviceId].native.invertBlindLevel != ude
f && usedObjects[_deviceId].native.invertBlindLevel == "true") invertActuatorLevel = !invertActuatorLevel;

solves the problem.

Hi, many thanks for your research that takes us a large step further to the problem.
I renamed the option from invertBlindLevel to invertActuatorLevel a few versions ago, because this is a more common name and so the same code can be later used in other, similar actors (like garage door and so on).
That takes us to the question why you have the old option name "invertBlindLevel" in the Object? In the actual version of the index_m.js, wich is responsible for creating the options, it is correctly named. So maybe you have an old version of index_m.js (backend) but a new (incompatible) version of index.js (frontend)?
Several users reported problems while upgrading to a new version. In most cases a simple upload and clearing of the cache fixed the problem. Please try the following steps and please report me, if this fixed the problem:
Troubleshooting
Thanks, Sebastian

That's indeed strange ...
If I understand iobroker correctly, the "source" for uploadable adapters / creating instances of them is under /node_modules. Here one can find a folder "iobroker.iqontrol" with the same structure as here in github. Here I grepped for "invertActuator" and found it in "www/index.js" and a grep for "invertBlind" gives "admin/index_m.js". So for me it seems that already in the source dir for iQontrol the vars are mixed.
As a plus I can't remember I have updated the iQontrol adapter but just installed it once.
In the Troubleshooting Section you just say "Re-Upload the adapter again (physically to /iobroker-data/files) from the source (physically /node_modules)", correct?
This can also be done at the commandline with "iobroker upload iqontrol". This didn't solve the problem as the source files are wrong as I described.
BTW: In iobrokers Adapter Section the iqontrol version installed / availabel is "0.1.0" which don't correspond with the GitHub Release Version Numbers... is that correct?

I clicked around in the commit history and found out, that till this commit at 01.08.:
https://github.com/sbormann/ioBroker.iqontrol/commit/9cc4f6fe2c597b5c94283515bd3a2cc18b82f35c#diff-b0a0d64060c0c0c2e8e8fc481a502346
the bug was present from the first release on (27.07.)... until 01.08. in www/index.js the var in the if was named "invertActuatorLevel" but in admin/index_m.js it was created as "invertBlindLevel"
In the mentioned commit one can read "...Fixed invert level for blinds..."
So I assume that I have an older Version of the Adapter installed, but iobroker sais, ther is no newer one existing...

Everything you said is 100% correct.
You can update to the newest (beta) version via the cat-symbol or you switch from stable to latest repository in settings of iobroker (wich affects all adapters - iobroker will offer you the latest betaversion of all adapters).


enh: config.json to db

Is your feature request related to a problem? Please describe.
config.json is currently a source controlled file that may contain user-specific keys. it also does not seem to be suitable for distributed deployments where web servers are on multiple machines (unless the file is symlinked to EFS or similar)
Describe the solution you'd like
It seems like config should be stored in the DB so that distributed deployments can access it in a central location. This would also make sense to put keys in since it's not source controlled
Describe alternatives you've considered
The file could be removed from git and centralized via EFS or persistent store or some shared disk, but this seems like a bandaid.
Additional context
I've only been working with open webui for a couple weeks.

It looks like sensitive info like OPENAI_API_KEYS and OPENAI_API_BASE_URLS can be pulled from .env as semi-colon separated values so long as they aren't in config.json. So I've just moved to .env for those to avoid worrying about secrets in source control for that file.

Glad to see this is addressed - I put them in a docker-compose.yml file - not sure that's any better.

Added to dev, testing wanted here!


ENYO-5724: Fix marquee handling of very small marquees

Checklist

[x] I have read and understand the contribution guide

[x] A CHANGELOG entry is included

[ ] At least one test case is included for this feature or bug fix

[x] Documentation was added or is not needed

[ ] This is an API breaking change

Issue Resolved / Feature Added
Fix marquee is not animating if component has floating number width and scrolling width is same with ceiled width
Resolution
Use node.getBoundingClientRect().width instead of node.clientWidth since node.clientWidth doesn't support float number
Additional Considerations
I'm not sure about node.scrollWidth
Links
https://bugs.chromium.org/p/chromium/issues/detail?id=360889
ENYO-5724
Comments
Enact-DCO-1.0-Signed-off-by: Yeram Choi<EMAIL_ADDRESS>

Noting that this change reverts part of #1300.

Also, the proposed version is what Enyo 2.6.3 uses:
https://github.com/enyojs/moonstone/blob/f494922966f13bccee6324a012261ce56587a067/src/Marquee/Marquee.js#L964-L966

After some discussion, we've decided to revert the "threshold" change because it breaks synchronized marquees. By allowing the decorator to start animation but suppressing the actual transition and by extension onMarqueeComplete, the marquee instance never informs the controller it has completed so the group will not restart.
The original fix (sorry for mucking with it, @yeram!) is the best compromise we can offer at this point and favors ensuring the content is displayed to the user over the slightly odd edge case UX of removing the ellipsis with nearly no animation.


Pod failures

Today is my son’s 4th day with Open Apsx and we had three times pod failure . Where is the problem?
v0.2.3 Beta

Thanks for your response. I deleted the previous software"FreeAPS" before downloading FreeAPS-X. It works perfect ,but I notice the pod failed after Low BG.
I will record the fault codes if it happens again.
Thank you

Another pod failure today. it says "pod fault 016".
Any idea where the problem is?
Thank you

Can we not add the FULL omni fault code? I get that we don't want to be calling omni to get replacements but there are circumstances where it is a must like a faulty "batch" box. When you do call them they hound you non stop for codes daily and it's a nightmare to get them off your back


Adding c files

please merge my request

please merge my request

Good work @Sarahkazi04! Congratulations on making your first open-source contribution. Keep learning and contributing!


Format Values on Tooltips?

Hello, great work on this PHP class to help get others up and running faster. Looking over the class and would like to pass in a callback.
Any ideas on how this could be incorporated?
https://github.com/jtblin/angular-chart.js/issues/33

Hi,
This was a tough one! I found two possible solutions but honestly I don't know much of what I am doing since I don't know javascript very well.
The suggested method for callbakcs is like this
options: {
    tooltips: {
        callbacks: {
            label: function(tooltipItem, data){
                return "example";
            }
        }
    }
}

The corresponding php version would be
$options = array(
    'tooltips' => array(
        'callbacks' => array(
            'label' => "function(tooltipItem, data){return 'Hello world';}"
        )
    )
);

That will however be parsed as a string and not a function by json_encode(). So I would have to write a function that searches for the 'function' keyword and remove the quotes from the json output.
The second solution is to ignore that this is a PHP wrapper and put the callback function somewhere above loadChartJsPhp() function like this:
<script>
    Chart.defaults.global.tooltips.callbacks.label = function(tooltipItem, data) {
        return "hello world";
    };

    (function () {
        loadChartJsPhp();
    })();
</script>

It should work now if you get the quotation marks right (not as how I suggested before)
$options = array(
    'responsive' => false,
    'tooltips' => array(
        'callbacks' => array(
            'label' => 'function(tooltipItem, data){return "Hello world";}'
        )
    )
);


add role="button" to a[data-toggle="collapse"]

Fixes #15972.
/to @patrickhlauke for review

It doesn't matter either way, but I'm not sure the role attribute needs to be applied to the tests at all.

Need to double-check with some colleagues (some of these ARIA things are a bit...contentious in some cases) to make sure it's right. Stay tuned...

Sorry, late reply, but this LGTM (and I tend more towards having the tests reflect expected/proper markup as much as possible, so I'm cool with having the unit tests include the role="button" here too)


Head loss with SkinsRestorer plugin

When a head falls out with the SkinsRestorer plugin, the head becomes buggy and flashes with regular skins. Can this be fixed somehow?

Hello! Can you provide more information about the problem? It would be great if you could show a video of how it happens. Most likely you are using the disabled online-mode option. The plugin does not have SkinsRestorer support at the moment.


Allow forcibly enabling class lists for particular educator_ids, for internal team

Who is this PR for?
developers, folks at WH potentially
What problem does this PR fix?
Class lists are disabled, but folks want to recover some data.
What does this PR do?
Let's individual users access class lists through an EducatorLabel.

selfie


Release notes 1.28.1

Release notes 1.28.1

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://659cdad89c6fd2691fb8d40e--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://659ce2d71ae19770b9b83405--harness-developer.netlify.app


feat: new sheet component

Implements a basic "Sheet" component, which serves as a basic UI container element bound to and spanning one edge of the window.
Supports light/dark theming, as well as content-blocking.
https://www.figma.com/file/eGmDp94FlqEr4iSqy1Uc1K/Paragon-2021?node-id=7520%3A16719

Coverage increased (+0.009%) to 87.413% when pulling 45630139b80d4fe62c6a5447c8b7d959271bbfa6 on muselesscreator:sheet_component into 8b44a52e214e034d558225f301f96c411a4ad96e on edx:master.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


⚠ Bofrost.lu has degraded performance

In 7d45887, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1590 ms

Resolved: Bofrost.lu performance has improved in 39fab2b after 29 minutes.


Conflict with Jupyter RTC

This extension conflicts with the Jupyter Real-Time Collaboration extension. RTC has its own autosave mechanism based on a time delay (0.5s by default). When a notebook is saved by RTC, autosave-on-focus-change detects a conflict and displays a dialog to either revert or overwrite the file:

Note that when the RTC extension is active, files can be opened either in collaborative (default) or non-collaborative mode, so having both extensions at the same time would still make sense.

I can see how that is disturbing a user's workflow.
However, I currently don't have the time to dive into a 3rd party codebase and figure out how things work there to implement a cross-extension interoperability (especially since I nowadays use vscode for my notebook needs and thus neither use this extension nor RTC myself).
But PRs are welcome.

Actually, fixing #51 already makes this much less of a problem (when the RTC autosave period is short enough)...


Build fixes

Description
This pull request fixes 1 compiler error when building using MSVC, and a lot of warnings (which makes errors quite hard to see)
Note: I'm waiting for the CLA, in the meantime if you have any comment on the pull request, don't hesitate.
Checklist:

[x] I have read the contribution guidelines.
[ ] I have previously submitted a Contributor License Agreement.
[x] I have updated the documentation, if applicable.
[x] My code follows the prevailing code style of this project.

@ix-dcourtois Do we have a CLA from you?

@ix-dcourtois Do we have a CLA from you?
Not yet, I'm currently checking with my boss (he seems to remember that we once signed one, but cannot find it back)
I'll update the pull request as soon as we find it back (or send a new one)

I just sent the CLA signed by my boss :)


pegasus: update 0-unstable-2023-12-05 -> 0-unstable-2024-11-11

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
25.05 Release Notes (or backporting 24.11 and 25.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

tested on x86 linux

here's to you #359208!

@tengkuizdihar Can you change the commit message to: pegasus-frontend: 0-unstable-2023-12-05 -> 0-unstable-2024-11-11

okay the check is fine, but I will still change the commit message, sorry for the delay

Np. Can you update the pr title too?


Sample app required

Is there any sample app available which shows how to integrate MusicKit into one own's project?
I can build the project, especially the frameworks. However, when I try to include the framework via #import <MusicKit/MusicKit.h> I get the error Could not build module 'MusicKit'. Also, the expression FOUNDATION_EXPORT in MusikKit.h causes trouble. In that header I also get multiple file not found errors, e.g. for #import <MusicKit/VMKColor.h>.
Is there something wrong with the project set-up or am I missing something?

There were some project settings that needed to be adjusted. Try my fork: https://github.com/aleph7/musickit

That did the trick! Thanks!
Where should I push code improvements to? To this repository or to your fork?

You can post them here. I'll merge my changes here as well.

I have the same problem as martinvalenta posted. Are there any solutions?

@ivan-milic Did you try @aleph7's fork?

@aidangomez aren't those two the same now?

No, I don't think @martinvalenta ever PR's his changes here.

I did merge my changes here.

@aleph7 Whelp, nevermind.

@aleph7 Are you aware what was the problem because i am having the exact same that @martinvalenta mentioned. And btw, do you, by any chance, have any sample application that uses your framework just so i can see how it's used?

It was a problem with the project settings. Maybe something changed again in Xcode 8.1. I'll look into it in the next couple of days. There is a sample preview app in the project but that is the only thing that is publicly available.

@ivan-milic can you run PreviewGenerator? It works fine for me. It currently doesn't support any package manager because it has C++ dependencies but you can include all the sources directly on your project.

@aleph7 yes, i can run the PreviewGenerator. I get the above mentioned error when i import the MusicKit.framework into another project and try to build it. Also when i import the MusicKit header into the MusicKitApp inside this project, i get the "cmath file not found" error when i try to build it.

@aleph7 I changed the build settings for MusicKitApp target to compile sources as Objective-C++ rather than "According to file type" and i can build it successfully. I just wish there was a manual for using this framework or like a sample iOS app which just shows how to read a musicXML file and display the sheet music in the app.

@aleph7 I am getting the error 'mxml/geometry/Point.h' when I include MusicKit.framework in my separate Xcode project. It seems like it's not finding any of the mxml headers. Can you help?

make sure you run git submodule update --init --recursive

Thanks. Getting a different error now (making progress!) The MusicKitApp builds and runs successfully but my app still doesn't. I tried changing the target to compile sources as Objective-C++ rather than "According to file type" I'm getting:
'cmath' file not found
and
Include of non-modular header inside framework module 'MusicKit.VMKGeometry': .../Point.h
Thanks for getting back to me so quickly!

No problem. Make sure you have C++11 as the compiler. Not sure about the header thing, I'll have look later.

@aleph7 Figured it out. In MusicKit.framework, the build setting 'Allow Non-modular Includes in Framework Modules' should be set to YES.

@aleph7 Let me know when you have a chance to take a look. Still having issues with it finding the mxml lib, but PreviewGenerator compiles and runs great.

I though that was fixed, did you try git submodule update --init --recursive? I just cloned, ran that then pod install and everything compiled fine.

@aleph7 yes, but if you try to import MusicKit (not MusicKitOSX) inside the a file in MusicKitApp, it does not compile.

@aleph7 Any chance we could get a sample iOS app to see how this is implemented? Trying to use VMKPageScoreLayout and VMKPageScoreDataSource but getting null pointer exceptions.

Sorry, wish I could help, haven't worked on this in a while and am pretty busy.

Curious if there's an update on this. Would love to see a simple sample app that demonstrates the capabilities.

Thanks for asking again, but I’ve already figured this out. The iOS
rendering library compiles and works great in Crescendo and Notella.
On Sat, Feb 17, 2018 at 3:15 AM Seth<EMAIL_ADDRESS>wrote:

Curious if there's an update on this. Would love to see a simple sample
app that demonstrates the capabilities.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/venturemedia/musickit/issues/9#issuecomment-366425658,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACvyVp_5uFNt9dZL9GRzLx1Kwb41vMf6ks5tVoq9gaJpZM4KTiKS
.

--
Daniel

Thanks, I'm asking more for the general audience (and myself) since it's
hard to tell what is/isn't implemented without more documentation. I seem
to have some parts working, but other parts I get crashes (working with the
cursor types, for example). In my limited experimentation, I also haven't
figured out how to get the cursor to show or what the recommended way is
for moving the cursor along to the music. A basic example showing how to
display page and scroll score rendering along with illustrating how the
cursor works in both scenarios would be great and help with
adoption/support.
On Sat, Feb 17, 2018 at 5:03 AM, Daniel Kuntz<EMAIL_ADDRESS>wrote:

Thanks for asking again, but I’ve already figured this out. The iOS
rendering library compiles and works great in Crescendo and Notella.
On Sat, Feb 17, 2018 at 3:15 AM Seth<EMAIL_ADDRESS>wrote:

Curious if there's an update on this. Would love to see a simple sample
app that demonstrates the capabilities.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<https://github.com/venturemedia/musickit/issues/
9#issuecomment-366425658>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACvyVp_
5uFNt9dZL9GRzLx1Kwb41vMf6ks5tVoq9gaJpZM4KTiKS>
.

--
Daniel
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/venturemedia/musickit/issues/9#issuecomment-366440194,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAMdd7CHZbG1YxWcQcWFGVCIcGQ4bbk4ks5tVs4pgaJpZM4KTiKS
.

--
Seth Sandler

Blog: sethsandler.com
Twitter: www.twitter.com/sethsandler
Linkedin: http://www.linkedin.com/in/sethsandler
Skype: sethsandler


Build crypto and verify_ias_report libraries independent of SGX

SGX SDK and SGX SSL dependency on crypto and verify ias report modules are removed
and both are built as independent static libaries.
Signed-off-by: manju956<EMAIL_ADDRESS>

Please modify PR comment : SGX SDK and SGX SSL dependency on crypto and verify ias report modules are removed  -> SGX SDK and SGX SSL dependency on untrusted part of crypto and verify ias report modules are removed


fix: Add What's a wallet link to Ledger

Description

Added what's a wallet link in modal UI.

Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings

Type of change.

[x] FIX - a PR of this type patches a bug.
[ ] FEATURE - a PR of this type introduces a new feature.
[ ] BUILD - a PR of this type introduces build changes.
[ ] CI - a PR of this type introduces CI changes.
[ ] DOCS - a PR of this type introduces DOCS improvement.
[ ] STYLE - a PR of this type introduces style changes.
[ ] REFACTOR - a PR of this type introduces refactoring.
[ ] PERFORMANCE - a PR of this type introduces performance changes.
[ ] TEST - a PR of this type adds more tests.
[ ] CHORE - a PR introduces other changes than the specified above.

Closing this since it will be added in a later release!


new Vue() event bus doesn't delete _events keys on event removal

Version
2.5.17
Reproduction link
https://jsfiddle.net/Laeticia/mqo5fy7p/2/
Steps to reproduce
Create global event bus (new Vue), add event listener using eventBus.$on, then remove the listener using eventBus.$off.  The eventBus._events object will still contain the event name with value null, rather than deleting the event name property.
In jsFiddle, click Add Event Listener and Remove Event Listener buttons.  The _events object is displayed in the jsfiddle and also in the javascript console after adding and removing listeners.
What is expected?
After removing an event listener, I expect that event name to be removed from the global event bus (Vue) _events object.
What is actually happening?
The event name is still in the _events object with value null.

When using a lot of unique event names, although the app tries to clean up the events via eventBus.$off, the event names are still in the _events object.  Unless these null properties get cleaned up at some point, it appears to be a memory leak.

Thanks, but this is not a memory leak since properties are not arbitrarily added to that object, you are in control of what events are added to the bus.
BTW it can be cleanup by creating a new _events object

Hmm, isn't the issue that $off doesn't completely clean up what was created by $on?


ERROR:  rpc error: code = Unknown desc = LOGIN failed, for Office365 accounts.

Describe the bug
Getting below error in DBeaver while accessing the tables inside imap schema,
org.jkiss.dbeaver.model.sql.DBSQLException: SQL Error [HV000]: ERROR: rpc error: code = Unknown desc = LOGIN failed.
	at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:133)
	at org.jkiss.dbeaver.model.impl.jdbc.struct.JDBCTable.readData(JDBCTable.java:187)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.lambda$0(ResultSetJobDataRead.java:123)
	at org.jkiss.dbeaver.model.exec.DBExecUtils.tryExecuteRecover(DBExecUtils.java:189)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetJobDataRead.run(ResultSetJobDataRead.java:121)
	at org.jkiss.dbeaver.ui.controls.resultset.ResultSetViewer$ResultSetDataPumpJob.run(ResultSetViewer.java:5096)
	at org.jkiss.dbeaver.model.runtime.AbstractJob.run(AbstractJob.java:105)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: org.postgresql.util.PSQLException: ERROR: rpc error: code = Unknown desc = LOGIN failed.
	at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2440)
	at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2183)
	at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:308)
	at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:441)
	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:365)
	at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:307)
	at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:293)
	at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:270)
	at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:266)
	at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.execute(JDBCStatementImpl.java:330)
	at org.jkiss.dbeaver.model.impl.jdbc.exec.JDBCStatementImpl.executeStatement(JDBCStatementImpl.java:131)
	... 7 more

Steampipe version (steampipe -v)
Steampipe v0.20.6
Plugin version (steampipe plugin list)
hub.steampipe.io/plugins/turbot/imap@latest | 0.4.0
To reproduce
Add O365 imap settings in config/imap.spc file. start the steampipe in service mode. Access the tables under imap schema.
Expected behavior
Get imap_mailbox and imap_message table content visible while using O365 account, just like its working if added bluehost imap account.
Additional context
It was working fine with the bluehost IMAP account. Just migrated the mail to o365 and facing this issue now. sample imap.spc file below:
connection "imap" {
  plugin = "imap"
  port = 993
  host = "outlook.office365.com"
  login =<EMAIL_ADDRESS>  password = "xxxxxxxxxx"

This account is not having any 2FA configured. So for 0365 accounts, do we need to have any other settings at the account side like setting up App password ?
Thanks.

@rinshadka would you be able to test using Steampipe directly using steampipe query "select * from imap_message limit 10;" from your terminal (assuming this is a local setup).
If you still encounter an issue here, would you be able to send over some censored logs - you can find them in ~/.steampipe/logs. This may help us to locate and debug any issues in the plugin.

Thanks @graza-io for the response, below is the response from steampipe query:
steampipe query "select * from imap_message limit 10;"
Error: LOGIN failed. (SQLSTATE HV000)

+-----------+------------+---------+------------+--------------+--------------+---------------+---------+------+-------------+-----------+-----------+----------------+--------+-------+----------------+---------+-------------+---------+-------+------+
| timestamp | from_email | subject | message_id | to_addresses | cc_addresses | bcc_addresses | seq_num | size | attachments | body_html | body_text | embedded_files | errors | flags | from_addresses | headers | in_reply_to | mailbox | query | _ctx |
+-----------+------------+---------+------------+--------------+--------------+---------------+---------+------+-------------+-----------+-----------+----------------+--------+-------+----------------+---------+-------------+---------+-------+------+
+-----------+------------+---------+------------+--------------+--------------+---------------+---------+------+-------------+-----------+-----------+----------------+--------+-------+----------------+---------+-------------+---------+-------+------+

less database-2023-07-28.log
2023-07-28 14:25:36.562 UTC [3004739] LOG:  connection received: host=<IP_ADDRESS> port=50850
2023-07-28 14:25:36.570 UTC [3004739] LOG:  connection authorized: user=steampipe database=steampipe application_name=steampipe_d392 SSL enabled (protocol=TLSv1.2, cipher=ECDHE-RSA-AES256-GCM-SHA384, bits=256)
2023-07-28 14:25:42.389 UTC [WARN]  hub: stream receive error rpc error: code = Unknown desc = LOGIN failed. (0xc0006ea300)
2023-07-28 14:25:42.389 UTC [3004739] ERROR:  rpc error: code = Unknown desc = LOGIN failed.
2023-07-28 14:25:42.389 UTC [3004739] STATEMENT:  select * from imap_message limit 10;
2023-07-28 14:25:42.390 UTC [3004739] LOG:  disconnection: session time: 0:00:05.828 user=steampipe database=steampipe host=<IP_ADDRESS> port=50850

less plugin-2023-07-26.log
2023-07-28 14:25:42.389 UTC [ERROR] steampipe-plugin-imap.plugin: [ERROR]<PHONE_NUMBER>790: connection_error: host=outlook.office365.com port=993 hostPort=outlook.office365.com:993 tlsEnabled=true<EMAIL_ADDRESS>err="LOGIN failed."
2023-07-28 14:25:42.389 UTC [WARN]  steampipe-plugin-imap.plugin: [WARN]<PHONE_NUMBER>790: doList callHydrateWithRetries (xxxxx-1690554336790) returned err LOGIN failed.
2023-07-28 14:25:42.389 UTC [WARN]  steampipe-plugin-imap.plugin: [WARN]<PHONE_NUMBER>790: QueryData StreamError LOGIN failed. (xxxx-1690554336790)
2023-07-28 14:25:42.389 UTC [WARN]  steampipe-plugin-imap.plugin: [WARN]<PHONE_NUMBER>790: streamRows for xxxx-1690554336790 - execution has failed (LOGIN failed.) - calling queryCache.AbortSet
2023-07-28 14:25:42.389 UTC [WARN]  steampipe-plugin-imap.plugin: [WARN]<PHONE_NUMBER>790: executeForConnection xxxx returned error LOGIN failed.
2023-07-28 14:25:42.389 UTC [WARN]  steampipe-plugin-imap.plugin: [WARN]<PHONE_NUMBER>790: error channel received LOGIN failed.

~/.steampipe$ cat config/imap.spc
connection "xxxx" {
  plugin = "imap"
  port = 993
  host = "outlook.office365.com"
  login = "xxxx@xxxx"
  password = "xxxxxxxx"
  }

telnet outlook.office365.com 993
Trying 2603:1026:c0d:c2d::2...
Connected to ooc-g2.tm-4.office.com.
Escape character is '^]'.

Thanks.

Thanks @rinshadka - very detailed response!
Unfortunately I am unable to replicate this issue, I don't really use my 365 account (hence no mail messages) but you can see I was able to login and query successfully from the mailbox listing.

Not really sure where to direct you next, I assume you've checked the credentials against actively logging into the web app, you mentioned no 2fa.
@misraved do you have any suggestions?

Additional context, I am able to replicate the error if I deliberately set incorrect credentials:

Thanks @graza-io, I was able to work with IMAP plugin earlier while I was using my bluehost email provider. But once I switched to O365 , then started this issue.
In Parallel I have tried configuring the same in thunderbird email client and able to successfully login. ( An extra login prompt will come from Microsoft website in a small window)

Whenever I change the Authentication Method from "OAuth2" to "Normal Password" , it will break.
Thanks

Ok, this looks like we don't currently have support for OAuth2 in this plugin.
This is something we will look at implementing in the near future.

Just following up with this issue, we tried creating a free user email under outlook.com and created an app password by enabling 2FA following these instructions and it worked but when we are using o365 with app password the issue persists. Would you be able to provide any details on why this could be happening?