Null Pointer Exception on Server

When new chunks are generating, this error will occasionally be thrown and will sometimes stall out/crash the server. Let me know if you need additional details.
[12.03 19:33:32] [Server] java.lang.NullPointerExceptionCannot read field "key" because "wordData" is null
[12.03 19:33:32] [Server] 	at TRANSFORMER/scriptor@0.2.11/com.ssblur.scriptor.helpers.DictionarySavedData.parse(DictionarySavedData.java:404)
[12.03 19:33:32] [Server] 	at TRANSFORMER/scriptor@0.2.11/com.ssblur.scriptor.events.SpellChatEvents.received(SpellChatEvents.java:23)
[12.03 19:33:32] [Server] 	at TRANSFORMER/architectury@6.4.62/dev.architectury.event.forge.EventHandlerImplCommon.event(EventHandlerImplCommon.java:160)
[12.03 19:33:32] [Server] 	at TRANSFORMER/architectury@6.4.62/dev.architectury.event.forge.__EventHandlerImplCommon_event_Submitted.invoke(.dynamic)
[12.03 19:33:32] [Server] 	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73)
[12.03 19:33:32] [Server] 	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315)
[12.03 19:33:32] [Server] 	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296)
[12.03 19:33:32] [Server] 	at TRANSFORMER/forge@43.2.4/net.minecraftforge.common.ForgeHooks.onServerChatSubmittedEvent(ForgeHooks.java:463)
[12.03 19:33:32] [Server] 	at TRANSFORMER/forge@43.2.4/net.minecraftforge.common.ForgeHooks$1.lambda$decorate$0(ForgeHooks.java:476)
[12.03 19:33:32] [Server] 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
[12.03 19:33:32] [Server] 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
[12.03 19:33:32] [Server] 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[12.03 19:33:32] [Server] 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
[12.03 19:33:32] [Server] 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
[12.03 19:33:32] [Server] 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
[12.03 19:33:32] [Server] 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

Thank you for reporting. Can you update to version 0.2.12? That version should fix this issue.

Issue is still occurring in most recent 0.2.13 version:
[21.03 21:47:17] [Server] java.lang.NullPointerExceptionCannot read field "key" because "wordData" is null
[21.03 21:47:17] [Server] 	at TRANSFORMER/scriptor@0.2.13/com.ssblur.scriptor.helpers.DictionarySavedData.parse(DictionarySavedData.java:406)
[21.03 21:47:17] [Server] 	at TRANSFORMER/scriptor@0.2.13/com.ssblur.scriptor.events.SpellChatEvents.received(SpellChatEvents.java:23)
[21.03 21:47:17] [Server] 	at TRANSFORMER/architectury@6.5.69/dev.architectury.event.forge.EventHandlerImplCommon.event(EventHandlerImplCommon.java:160)
[21.03 21:47:17] [Server] 	at TRANSFORMER/architectury@6.5.69/dev.architectury.event.forge.__EventHandlerImplCommon_event_Submitted.invoke(.dynamic)
[21.03 21:47:17] [Server] 	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.ASMEventHandler.invoke(ASMEventHandler.java:73)
[21.03 21:47:17] [Server] 	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:315)
[21.03 21:47:17] [Server] 	at MC-BOOTSTRAP/net.minecraftforge.eventbus/net.minecraftforge.eventbus.EventBus.post(EventBus.java:296)
[21.03 21:47:17] [Server] 	at TRANSFORMER/forge@43.2.4/net.minecraftforge.common.ForgeHooks.onServerChatSubmittedEvent(ForgeHooks.java:463)
[21.03 21:47:17] [Server] 	at TRANSFORMER/forge@43.2.4/net.minecraftforge.common.ForgeHooks$1.lambda$decorate$0(ForgeHooks.java:476)
[21.03 21:47:17] [Server] 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.run(CompletableFuture.java:1768)
[21.03 21:47:17] [Server] 	at java.base/java.util.concurrent.CompletableFuture$AsyncSupply.exec(CompletableFuture.java:1760)
[21.03 21:47:17] [Server] 	at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
[21.03 21:47:17] [Server] 	at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182)
[21.03 21:47:17] [Server] 	at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655)
[21.03 21:47:17] [Server] 	at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622)
[21.03 21:47:17] [Server] 	at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165)

Building a version which circumvents this, but this error is likely not the cause of a crash. Messaged in DC, but can you attach a crash log or a full log? Thank you!

RightBeforeError.log
This is right before the error earlier occurred. Looks like the latest.log either doesn't see the error or isn't able to save it. The above ones I copy/pasted from console

The error spit out by Scriptor appears to be incidental to this crash, so I'm closing this issue. Please feel free to reopen this issue if you have reason to believe the latest version is causing your server to crash.


Additional documentation on the XML schema for application insights web-tests

Related command
no applicable
Is your feature request related to a problem? Please describe.
XML definition of the "--web-test" flag is unclear
Describe the solution you'd like
A link to detailed documentation for the how to construct the XML definition of a web test
Describe alternatives you've considered
None considered
Additional context
The schema cannot be exported from a web test created in the portal which would make things easier.
A page to the az cli call for app insights also does not reveal much:
https://learn.microsoft.com/en-us/rest/api/application-insights/web-tests/list?tabs=HTTP#configuration

Thank you for opening this issue, we will look into it.


Add multiple choice question

Add single selection question
Add multiple selection question

[ ] #115
[ ] #116
[ ] #122


Karma runs tests when ANY src/**/file has changed

Expected behaviour
Karma should run the tests only when watched files change.
Actual behaviour
It runs the tests when ANY file inside my src folder has changed.
Environment Details

Karma version (output of karma --version): 1.3.0
Relevant part of your karma.config.js file

const webpackConfigTests = require('./webpack/config.tests');

module.exports = function init(config) {
  config.set({
     // ...config

    // Files to load
    files: [
      './webpack/tests.js',
      { pattern: './src/**/*.js', watched: true, served: false, included: false },
      { pattern: './src/**/*test.js', watched: true, served: false, included: false }
    ],

    preprocessors: {
      './webpack/tests.js': ['webpack', 'sourcemap']
    }
  });
};

Steps to reproduce the behaviour

Start karma with autoWatch option in true
modify a random src/**/*.css file, then save
karma run the test suite even though is not necessary

I created a gist to reproduce the issue and was unable to =/
https://gist.github.com/twolfson/4e6e014c97c7ddc374ace0101f6ef67c
Could you provide more of your setup so we can get a more accurate representation? (e.g. code, what OS you're on)

@erwingaitano
Maybe there is require('./NAME.css') in you .js file?


Add Enlightn

Thank you for contributing! Please confirm this pull request meets the following requirements:

[x] I followed the contributing guidelines: https://github.com/github/explore/blob/master/CONTRIBUTING.md
[ ] I have no affiliation with the project I am suggesting (as a maintainer, creator, contractor, or employee).

Which change are you proposing?

[x] Suggesting edits to an existing topic or collection
[ ] Curating a new topic or collection
[ ] Something that does not neatly fit into the binary options above

Editing an existing topic or collection
I'm suggesting these edits to an existing topic or collection:

[ ] Image (and my file is *.png, square, dimensions 288x288)
[x] Content (and my changes are in index.md)

Enlightn is a static and dynamic analysis tool made in India!

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.

Hi @paras-malhotra! Thanks for your contribution ❤. Unfortunately, as per our contribution guidelines, we don't allow self-promotion if you are a maintainer of the project:

Maintainers of a project cannot add a topic or collection for their own project. If a topic is popular enough to warrant inclusion, someone else will add or improve it.

We do this so that project gets curated if there is enough support/activity in the community. Thank you!

@mvkaran, understood. I think the docs should be updated accordingly. It isn't clear whether maintainers can add to an existing topic or collection. Currently, the docs read that maintainers cannot add a new topic or collection for their own project.


Bump go.mod minimum required go version to 1.16

Secrets cataloger requires crypto feature from the latest 1.16 version of go.

Related to https://github.com/anchore/grype/issues/279

@luhring I like the badge suggestion, just added


Window maximization  bug

Content cannot be displayed after maximization  And dislocation
When windows are minimized
How to set the width is still 100%

Create your code example on codepen or sandbox

https://sandbox.org.ua/dreamcc/code/0Prw6rwodW
My notes

Window works right. Check your cell height!

In the case of ascertaining that the cell height has not been altered
use cdn load framework content
How to determine whether cell height has been changed in this case

Except for m-0 and p-0

For example: Add to cell style="min-height: 100px;"


[macros] support arrays of nullable elements in Postgres

Vec<Option<T>>
[Option<T>]

not supported yet?

This has the easy tag. Any pointers on how this could be implemented?

@sanfilippopablo I think this is already supported, queries such as:
    let _ = sqlx::query!(
        r#"CREATE TEMP TABLE foo AS SELECT UNNEST($1::int[])"#,
        &[Some(1), None] as &[Option<i32>]
    );

or
    let _ = sqlx::query!(
        r#"CREATE TEMP TABLE foo AS SELECT UNNEST($1::int[])"#,
        vec![Some(1), None] as Vec<Option<i32>>
    );

are allowed.

That's awesome. Thank you!

@sanfilippopablo I think this is already supported, queries such as:
    let _ = sqlx::query!(
        r#"CREATE TEMP TABLE foo AS SELECT UNNEST($1::int[])"#,
        &[Some(1), None] as &[Option<i32>]
    );

or
    let _ = sqlx::query!(
        r#"CREATE TEMP TABLE foo AS SELECT UNNEST($1::int[])"#,
        vec![Some(1), None] as _
    );

are allowed. The key thing here is the type override expression (as &[Option<i32>], as _).
For reference, this was done here: lumeohq@eaa7fba#diff-44413d0452d29697e6fe1d307145d700b8d0dca5fcbb67ddbbd395b40fe934c3R11

Works perfectly. Thanks a lot!

This can probably be closed then? It could be more ergonomic but maybe that is best as a follow-up task. Adding as _ is really a minor issue.

Maybe writing this in docs, as I had to spend a hour trying to figure this out?


IAS Zone device How to Join?

How to Connector IAS Zone device ??
Please help me....

It was a sensor problem.


2.0.0-pre.2 Slabs containing different amounts of blocks will stack together when picked up.

Slabs of the same size and stone type but containing a different amount of blocks will stack together. This effectively duplicates the slabs in your inventory. To replicate, create a slab with 27 block (3x3x3) and pick it up, then create a slab with any other amount of blocks that is less than 27 and pick it up. The second slab will become identical to the first slab and stack together.
Mods in use: Just StoneQuarry

Fixed in 2.0.0-pre.4


Add terraform annotations to buildkite plan steps

This adds pretty looking annotations to the Buildkite build steps when
some sort of plan is done.
Based on the detailed exitcode, we create a success, info or error style
annotation, and for error or success with changes plans, we embed a
human readable version of the plan output in the annotation.

@ashlineldridge two things I'm unsure about with this:

How have you been going about testing this?
The buildkite-agent annotate commands need a few env vars to work properly. Does the Docker container inherit the env vars of the shell calling it, or do I need to explicitly pass them through?

@Niksko The really is no testing for the Buildkite pipeline since everything is done here via GitHub actions. We could pull down a buildkite-agent image and run something like buildkite-agent pipeline upload --dry-run if we wanted to but that would only really tell us that the syntax is valid (and the Buildkite pipeline syntax is super flexible anyway).

Do you have an example of what this looks like on a Buildkite pipeline? (Even a screenshot since you probably don't want to link to private builds.) And an example of what this looks like when it's not run on a Buildkite agent?

@ashlineldridge I've moved the annotation logic into buildkite.sh as suggested, and now we base the plan on the tfplan file.


message view: Reduce extra white space above quotes and unordered lists.

Blockquotes and unordered lists had a large amount of space above them when preceded by a p tag.
This change reduces this white space with negative margins.
Fixes #11631.
Screenshots :
Before :

After :

@rishig I had to somewhat guess what kind of spacing to remove from these. What do you think about this?

That's a big improvement, thanks!
Tim, what are your thoughts on

Reducing the space above the bullets a tad further
Increasing the space after a quote, to match e.g. the space after the last bullet of a list
?

Is there a way to do this without negative margins?

@showell I went with the [suggestion] from Tim on the Issue. I think bootstrap handles most of this CSS which would result in a lot of unwanted consequences in other areas.

@vinitS101 I'm skeptical of the blockquote part of your PR -- it seems like that would adjust spacing for blockquotes regardless of whether there's content above it.
I agree with Rishi's feedback on what spacing we want.

@timabbott  You were right. It was an oversight on my part. I have made that change.
I have also pushed changes that Rishi suggested in his comment.

Another alternative here is to tweak our markdown processor to say something like ul class="message", to give us more control over the bulleted lists (and avoid the negative margin hack).  Just a thought.  This approach is probably fine.

Pushed changes as discussed here

Merged as 62f2396ee27f132a25f906107b60fa19b35c97ab, using the rendered_markdown CSS class instead, since that will properly apply to drafts/etc.
Thanks @vinitS101 for working on this; it should be on chat.zulip.org in the next couple days, and hopefully we won't run into any regressions as part of that experience.


[1.20.1] Nameless Trinkets unequip themselves after relogging on a server

title. EMI caused my log to go into hundreds of MB so I cant upload it till I fix that
basically it drops / dupes nameless trinkets items on the ground if there is no space in inventory

I believe this version should fix the issue as tested in prod


Error setting up entry<EMAIL_ADDRESS>for duke_energy_gateway -- intermittent error

Version of the custom_component
0.1.1
Configuration
Basically default configuration with 15 minute updates and correct Duke Energy Account which has the Gateway linked.
Describe the bug
Recently I've noticed quite a few failures of the integration to connect to the Duke Energy Gateway. This especially seems to happen after I do a restart of HA.
I do have the Smart Meter Gateway installed and linked to my account. And normally the integration works just fine. However, for some reason part of the time it errors saying "Failed to identify any smart meter with gateway access on your account"
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 357, in async_setup
    result = await component.async_setup_entry(hass, self)
  File "/config/custom_components/duke_energy_gateway/__init__.py", line 54, in async_setup_entry
    selected_meter, selected_gateway = await client.select_default_meter()
  File "/usr/local/lib/python3.10/site-packages/pyduke_energy/client.py", line 175, in select_default_meter
    raise DukeEnergyError(
pyduke_energy.errors.DukeEnergyError: Failed to identify any smart meter with gateway access on your account

I'm not sure if there is some timeout that need to be lengthened or what. When this occurs, the Integrations screen show a red ! error saying "Failed to setup"

I believe that when that happens, the integration no longer tries to connect. So, maybe something just needs to be added so that when a known working configuration tries to restart and gets this error (i.e. due to a problem with the Duke servers) it would keep trying in the background.
 Their API is getting increasingly flakey. I'll have to dig into this

This is why, one of the API calls is failing
2022-09-07 14:08:35.626 DEBUG (MainThread) [pyduke_energy.client] Failed to find meter on account '': Request failed with unexpected error [https://cust-api.duke-energy.com/gep/v2/auth/account-details]: (ClientResponseError) 400, message='Bad Request', url=URL('https://cust-api.duke-energy.com/gep/v2/auth/account-details?email=&srcSysCd=ISU&srcAcctId=&bpNumber=')

I think I was able to track the source of the 400 errors on that API call. In my testing, I did not hit the error. I'm pushing up a fix that can be updated to via HACS shortly.

Please update to v0.1.2 of the integration and let me know if you are still seeing issues

I updated to v0.1.2. So far so good--it's connected now and getting data. Thanks!


Week 3

Updating is now solid
You can select what entries to view
GloVe is loaded
It looks prettier

I agree with Mirvdijk, the structure looks good, and I apologize for my late review. I don't quite understand how to download and use your app. I tried yesterday to download your app.py file but could not run it, probably because I am missing other necessary installed packages/files for it. This is also a general lack of understanding from my side - how to actually download and try out each others packages, especially when they are still in working process.
Anyway, I look forward to see your final result tomorrow!


KongClusterPlugin is not being applied by the ingress-controller

Summary
KongClusterPlugin is not being applied by the ingress-controller.
Using Postgres DB (RDS)
Kong Ingress controller version
0.10.0
Kong or Kong Enterprise version
2.1.4
Kubernetes version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.10", GitCommit:"37d169313237cb4ceb2cc4bef300f2ae3053c1a2", GitTreeState:"clean", BuildDate:"2019-08-19T10:52:43Z", GoVersion:"go1.11.13", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.8", GitCommit:"211047e9a1922595eaa3a1127ed365e9299a6c23", GitTreeState:"clean", BuildDate:"2019-10-15T12:02:12Z", GoVersion:"go1.12.10", Compiler:"gc", Platform:"linux/amd64"}
Environment

Cloud provider or hardware configuration: AWS
OS (e.g. from /etc/os-release): Alpine Linux
Kernel (e.g. uname -a): Linux proxy-ingress-kong-5698d695fd-cphg6 4.9.0-9-ad=md64 #1 SMP Debian 4.9.168-1+deb9u3 (2019-06-16) x86_64 Linux
Install tools: Applied with Helm version 1.10.0 - https://github.com/Kong/charts/tree/main/charts/kong)
Others: Installed in Standalone mode (Proxy + Controller). KongClusterPlugin created with kubectl

What happened
On applying KongClusterPlugin, as documented at https://docs.konghq.com/hub/kong-inc/ip-restriction, the global plugin is not applied to Kong, and the ingress-controller logs says "no configuration change, skipping sync to kong".
Resource is created as expected in the cluster:
$ kubectl describe kongclusterplugins kong-ip-restriction -n ingress-kong

Name:         kong-ip-restriction
Namespace:
Labels:       global=true
Annotations:  kubectl.kubernetes.io/last-applied-configuration:
                {"apiVersion":"configuration.konghq.com/v1","config":{"allow":["<IP_ADDRESS>","<IP_ADDRESS>/24"....
API Version:  configuration.konghq.com/v1
Config:
  Allow:
    <IP_ADDRESS>
    <IP_ADDRESS>/24
Kind:  KongClusterPlugin

ip-restriction.yaml (example, same behavior with other plugins too)
apiVersion: configuration.konghq.com/v1
kind: KongClusterPlugin
metadata:
  name: kong-ip-restriction
  labels:
    global: "true"
plugin: ip-restriction
config:
  allow:
  - <IP_ADDRESS>/24
  - <IP_ADDRESS>

Expected behavior
KongClusterPlugin would be applied to Kong as a global plugin.

We made breaking changes in 0.10.0 that now require that annotation, to help clear up issues that we observed in environments with multiple instances of our ingress controller.
Not all the documentation examples were updated to reflect that. The examples in question were written alongside the 0.10.0 release, so we accidentally missed that and wrote them following older examples. I've submitted https://github.com/Kong/docs.konghq.com/pull/2347 to correct those and similar examples in the plugin documentation; thank you for bringing this omission to our attention.
Will go ahead and close this out--pretty sure adding that annotation will fix your issue. If it does not, please reopen it, and include any new controller logs you see after adding the annotation.

Adding the annotation made it work.
Thanks!


No response to page= command

Perform all steps below and tick them with [x]

[x] Check the related part of the Documentation
[x] Update openHASP to the latest version
[x] Reproduce the issue and describe all steps

Describe the bug
One of my hasp panels is a Sunton 7” with version 0.7.0 rc9.
After some time, the panel stops responding to the page command. This can happen after a few hours or days.
When I, in HA dev.tools, set the page number from 1 to e.g. 2, the hasp becomes unavailable for about 10 seconds before going online again, with the page number set to 1.
The same happens when I try to send the MQTT command from outside of HA.

To Reproduce
The steps to reproduce is just power up the panel and wait.

Expected behavior
Page change

Screenshots or video

In another issue, we are discussing Wifi instabilities on the Sunton board : https://github.com/HASwitchPlate/openHASP/issues/592#issue-2034340266
Maybe your issue is related, and your Sunton board is just loosing wifi connection.
On my board, it is very easy to spot by using the ping command from another computer to the Sunton.
Hope this helps.

@romainrossi Great! I think a piece of copper tape solved it!


Add a host-to-VM sync tool

Functionality addressed in commit 6fd95b5. Readme and changelog still needs to be updated,

Addressed in commits 6fd95b54d3fedeba09e4b8eeaedf87fdb567f469 and 82839a219074aec026ab369918a794bc748da7f9.


[TASK] Implement Loading Pillcomponent for tx status

Description
Implement loading pill component within the top navigation to signify ongoing transaction(s). The spinner should remain active as long as there are ongoing transactions. When a transaction completes successfully, briefly change the spinner into a success icon, then return it to the normal spinner if there are more ongoing transactions. If it's the last transaction, display the success icon, and once user interacts Transaction Progressor component (link), and make it disappear after interaction.
In case of a failure, change the spinner into a failure icon. Return to loading state with spinner if there are more ongoing transactions.
Figma Link
Screenshots

Closed on https://github.com/webb-tools/webb-dapp/pull/1489.


contrib/exporters/secadvisor: Add Docker container resolver

Add a resolver that finds the container name of a Docker container given
an IP address and nodeTID.
It is added in the MultiResolver after the Runc resolver; so if an IP can't be resolved in Runc metadata, we'll try to look it up as in Docker container node (see the code comment for the explanation of the Gremlin query).

Please don't merge yet, we're testing this in an internal ICP (IBM Cloud Private) cluster and want to make sure it behaves correctly.
(I don't have permissions to add labels for WIP.)

OK we tested in locally in ICP (IBM Cloud Private) and it indeed resolves the container names (redacted below):
"Network":{
  "Protocol":"IPV4",
  "A":"<IP_ADDRESS>",
  "B":"<IP_ADDRESS>",
  "A_Name":"0_0_k8s_....-analytics-858bd9bbb7-29sbs_sa-analytics_d2dd47eb-d3c1-11e9-afd7-060c1b824fe3_2_0",
  "B_Name":"<IP_ADDRESS>"
}

So this new Docker resolver works as intended.

run skydive-functional-hw-tests

run skydive-functional-hw-tests


Ignore monitoring of cold hot cons beeing demoted

Let the con monitor ignore currently cold connections that where hot and
is in the process of beeing demoted. This means will leave it up to the
demotion job to detect the error and fail.

bors r+


Fixed amo method in MemIfcFL2CLAdapter

There was a missing data field in requests made in amo method of MemIfcFL2CLAdapter.

I never really used the AMO there ... thanks for fixing this

Should I go ahead and merge it even though the codecov/path is not successful? I guess we don't have tests for this?

Should I go ahead and merge it even though the codecov/path is not successful? I guess we don't have tests for this?

Right -- currently we do not enforce the code coverage check...


Fix for MATLAB lexer iterpreting command syntax wrong. Fixes #1706.

As I mentioned in #1706, this simple tweak of changing \s into [ \t] avoids the command syntax spanning lines.
I have added a test for this particular case, and also one that addresses #1490. That one seemed fixed already though, the output was correct already.

Thanks! Could  you please take a look at the merge conflict?

It seems that someone pushed a commit that causes wrong formatting: what used to be correctly identified as a string is now identified as a builtin. Not happy about this change. This is a commit that adds several thousand "builtins", which is a rather weird concept for MATLAB for two reasons: (1) Most toolboxes cost extra, and so most people will not have many of these "builtins" defined. (2) One can happily redefine these names to be a different function or even a variable. Highlighting code rand = 4 such that rand is marked up as function name is just wrong.
Anyway, I've updated the expected test output to match what the code now does after that commit, but this output is now wrong.

Those are good points @crisluengo . Maybe the long list of builtins can be moved into a "least priority" sort of category, as mentioned by @Anteru . In regards to your points:

That's right, but I thought it might be convenient to have an all-encompassing approach. Most people don't benefit, but if there's no hurt either, I'd argue it can stay. If there are regressions for (most) users, it should go.

This behaviour is in line with how pygments handles other cases, e.g. Python highlighting:
https://github.com/pygments/pygments/blob/22b7ab94f570614c4f37cebc6fbed68326c5ef45/pygments/lexers/python.py#L210-L222
In that example, if you use e.g. sum as a variable name, you're shadowing a built-in. That's discouraged anyway and in the case of that language, people customarily circumvent it using a trailing underscore, sum_. From the demo:

Of course, the big difference here is that the list of builtins of #1705 is much, much longer and might contain too many terms that are both rarely used as builtins but at the same time often used as variables. I don't know about that.
Other things to consider:

the more obscure and less frequently used (maybe because it's part of an expensive extension) a builtin name, the longer it probably also is and therefore the less chance of it conflicting
if you shadow built-ins, pygments highlighting it and thus alerting you to the situation (undesired behaviour, less readability) might even be welcome

That being said, the way GitHub does it currently would seem a suitable middle ground. I don't know how it does its highlighting, but it can differentiate between assignment and built-in usage:
reversed = y
y = reversed(x)

Backup image:

Don't know if such a thing could be feasible for pygments.

That would require to check if it's a function-call use or not (i.e. followed by (, I presume that's all GitHub is doing.) My problem here is: I'm not a Matlab user and I can't tell if having all those built-ins makes sense or not :) My gut feeling is that moving them into a separate token type might be the best solution. If someone using Matlab could chime in that would be most helpful.

The problem is that reversed(x) could be an indexing operation on a variable, or it could be a function call, you don't know unless you do a much more complex parsing of the code to identify variables. This, I'm sure, is way out of scope for Pygments.
I don't mean to be too critical of your work, @alexpovel, but I see several problems with such a large list of function names:

Who is going to keep it up to date? There's a new MATLAB release twice a year, there are always new functions, sometimes old functions are removed.
If we keep a list of only builtins for the latest MATLAB, do we not highlight properly code that was written 5 years ago?
Variables can be highlighted as functions just because there are now several thousand names that are always recognized as builtin functions, irrespective of how they're used.
Some of the names listed are for functions only defined for specific types (e.g. width is a method of the table class, but is not defined for any other type). So it depends on the specific set of arguments passed into the function whether it's a builtin function or not. There is no way that Pygments would be able to distinguish these cases.

Note that it is very common in MATLAB to create variables with the same name as a function in the MATLAB Toolbox, just because there are so many functions it's hard to avoid using their names (nobody knows them all!). Even i is in this list (they used to recommend against using it as a variable, but now they have introduced the notation 1i for the imaginary unit, letting people do the natural thing of using i as a loop index). The MATLAB Editor does not highlight names differently if they are standard functions (or even known functions), and does not warn about redefining standard function names. The official MATLAB documentation occasionally uses these names for different purpose.
This issue is compounded by the many, many official toolboxes they sell separately (not sure these are included in the list of names, I assume they are not?).
Python indeed has a very short list of builtins, because all of its standard library is in packages. Pygments does not try to highlight as builtins all the functions in the Python standard library. Most of this new list of MATLAB builtins are comparable to functions in the Python standard library, very few are comparable to Python builtins.
I'm all for including a short list of builtin functions: size, numel, length, zeros, ones, eye, ... I think that the original list was already too long (yet didn't include core functions such as whos, dir, exists, etc.). But I have no suggestion for how to pick this list.
Is there a way of making the highlighting of builtins optional?
I'll ask people in the Stack Overflow chat room for MATLAB to come and share their thoughts on this.

There's no nice way of making things optional short of assigning a special class to it and hope that whoever cares writes a CSS rule for it. I'd rather not have that in the codebase though, as it's bound to bit rot away. If someone can provide a better list of built-in functions that totally makes sense to me, but given I'm not a MATLAB user I rely on experts to figure this one out :) Curious to hear what the SO folks have to say, hopefully we can come to a conclusion here.


Unwind support

This PR adds the UnwindIterator interface and its implementation. The interface CypherMatchQuery now provides a method to obtain its iterators.

I added support for UNWIND to the CypherQueryBuilder. The combine function I want to leave for a future PR. After this PR here, I will make a new one regarding translation of triple patterns according to the latest rules, and then a third PR regarding BGP translation and thus, the latest combine function.

Okay. Sounds good.


POS (Part-of-Speech Recognition) Model fails on certain sentences.

POS model (albert) produces an error for years with the format 201X and 200X, e.g. 2008, 2009, 2010, 2011, 2012...2019 with a comma right after.
E.g. "Tahun ini 2015, saya sudah besar."

But sentences with other years are fine:

And sentences which end (with a fullstop) with the year 201X. E.g. "Tahun ini 2015." are fine.

Expected behavior:
Model should produce POS tags without issues, even for sentences with numbers.
Package versions:

malaya==3.8.1 (CPU version)
tensorflow==1.15.3
python==3.7.3

Got it, this is totally a bug. thanks!

Actually the bug comes from original https://github.com/google-research/albert/blob/master/tokenization.py

Fixed, bumped to 3.8.2, reinstall latest version.


Document materialization interceptors

And possibly the other interceptors introduced in EF 7.

https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-7.0/whatsnew#new-and-improved-interceptors-and-events

That's what's new right? I meant in https://learn.microsoft.com/en-us/ef/core/logging-events-diagnostics/interceptors

Yeah, just linking to where it should be copied from. 😛

Oh OK :) (that was my link above too :trollface:)

Ah, sorry. Missed that you had the link in the original issue.


Use ccm for managing test cluster during IT runs

The cluster is setup at the test class init time for now.
This is mainly to deal with JUnit 4 and 5 code uniformly,
but also the OSGi container is global for now and depends
on the backend cluster to be ready.

Removed C*-related test parameters - this can be controlled
by java system properties during test runs now.

Related CCM PR: https://github.com/riptano/ccm/pull/719
@pcmanus : How do I request reviews in CCM? The repo does not allow me to add reviewers :thinking:

@tomekl007 : Regarding @ClassRule at this point the main difficulty is that we have a mixture of JUnit 4 and 5 tests. I spent some time on this, but could not figure out a way to satisfy both call paths :) I think we will be migrating all tests to JUnit 5 so we can use whatever is the natural way in JUnit 5 to do rules (extensions, IIRC)

I did a few forced pushes while sorting out CCM issues. That should be stable now (and the related CCM PR riptano/ccm/pull/719 merged).
@dougwettlaufer : I also made some changes to GraphqlTest that was not part of this PR before - please take a look.

Fixes #50


Is there a way to interface with sentinelClient?

I'm attempting to write a redis health check which would utilize info off of the "sentinel master mymaster" command against sentinel, but I can't figure out how to use this library to run commands against the sentinel and not the actual redis master itself. Is there any way to do this with go-redis? I see methods that look like they do this, but they don't seem public and I can't access them.
Thanks.

You can connection to the Sentinel using NewClient and execute custom command via https://godoc.org/github.com/go-redis/redis. I also exported https://godoc.org/github.com/go-redis/redis#SentinelClient, but it does not have many commands implemented.


destroy callback not getting called

On line 786 this.destroy was called however the callback isn't passed to _destroy so is never processed. I changed to call _destroy directly which accepts the callback argument.

3.3.1


Support group chat with bot in Fb workplace

The Fb workplace group chat with bot is use the thread id as the recipient for chat.
https://developers.facebook.com/docs/workplace/integrations/custom-integrations/bots#botsingroups.
For the time being, the botkit api only support direct message with user.

Has anybody implemented a working group chat bot? I would really like to create a bot and all use cases belong to group chat


[otp_ctrl] fix compile error

TLUL port req_type_o was declared twice and has a compile error.
Signed-off-by: Cindy Chen<EMAIL_ADDRESS>

Duplicate with PR #5988

ah @cindychip ! yours got farther in checks! let's merge yours!

oh noo.. I wonder if it is because i closed it, now the CI is failing..

Yeah CI got out of whack. let's close this one for good and try with https://github.com/lowRISC/opentitan/pull/5988

Thanks Michael, just trying out to see if it helps the CI.

i'm going to go ahead and merge this one :)

This is a very isolated change and local checks are looking good.
@tjaychen and I decided to move this one in in order to unblock other PRs that are now failing.


Fix uploadthing

When upload file complete it's doesn't show which file are seleted

Maybe is not a bug but I decided to hide when pictures are uploaded


Add backwards compatibility macro for TCHAR_TO_WCHAR.

This macro was only introduced in UE4.20. We copy it if wchar_t and TCHAR differ in size.

This fixes #602 for us (on UE4.18 at least).

Thanks


Fixed issue 642

reproduced #642  with Markdown+Math installed @mamccrea

/azp run

/azp run

Codecov Report

Merging #705 into master will decrease coverage by 25.56%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #705       +/-   ##
===========================================
- Coverage   49.19%   23.63%   -25.57%
===========================================
  Files          75       14       -61
  Lines        5277      952     -4325
  Branches      894      161      -733
===========================================
- Hits         2596      225     -2371
+ Misses       2295      705     -1590
+ Partials      386       22      -364

Impacted Files
Coverage Δ

docs-markdown/src/controllers/link-controller.ts

...cs-markdown/src/controllers/notebook-controller.ts

docs-markdown/src/controllers/italic-controller.ts

...arkdown/src/controllers/redirects/sortRedirects.ts

...rc/controllers/cleanup/capitalizationOfMetadata.ts

docs-markdown/src/helper/format-styles.ts

docs-markdown/src/controllers/image-controller.ts

...down/src/controllers/cleanup/cleanup-controller.ts

docs-markdown/src/helper/line-object-model.ts

...s-markdown/src/controllers/yaml/yaml-controller.ts

... and 79 more

Continue to review full report at Codecov.

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

@JohnTheFarmer Thank you for your contributions to the Docs Authoring Pack! These changes look good, just merged them. They should be deployed today or early next week.


Create CVE page

CVE page will be a list with each row having:

plugin name
repo branch
link to Miki's site


Register overview table

I was just playing around with creating an overview table for the registers for IPs.
I hated to scroll around to find the offsets and this makes it also more obvious to know what registers are available.
Would like to have some feedback if something like this would be nice to have? And if yes, any wishes?
(Currently this does not work for pinmux, the shortcode processing with Hugo has same "file too big" issue.)

I really like this! I'd suggest removing the title ("uart") from the register table, since it's going to appear in the block's document anyway. Also, maybe we don't need the length field, since most registers are going to be 4 bytes wide. I wonder what it looks like if we prefix the description with the width when it's bigger (for memory windows, essentially).

I like this one too, Thanks for suggesting this! For modules that have many registers, it is browse them all.
I agree with Rupert that we maybe can remove the uart title, but i think the length might be useful to show memory size?

@towoe this looks like a nice addition, I also found myself in the situation where I was scrolling endlessly until I actually found what I was looking for. Would you mind prepping a PR for this so that we can get this into our docs?

+1, this is a great idea!

This has now been implemented - closing.


Add links to causal inference learning resources

We have a stub on introduction to causality here. It will be great to add links to good books/video courses/blogs that are useful for people to get started with causality concepts.
An ideal resource is a general resource that helps people to understand the basic concepts. We are not looking for advanced books or papers.
If you are adding a resource, make sure to add a one sentence description of the resource and what people can expect to learn from it.

Currently reading this book: Causal Inference in Statistics
It is not very tough to read so far.
Gives good real world examples. Takes a while to get a hang of terminology and keep a notebook handy to write down stuff as it sometimes get confusing with so many probabilities and conditional probabilities.
Divided into 4 chapters:
The second chapter talks about the causal graphs and nodes and how to understand various relationships that exists between nodes by the virtue of the connections and conditioning
Chapter 3 talks about interventions and adjustemnts and other things
Chapter 4 talks about counterfactuals.


use mmdebstrap instead of debootstrap

currently building debian testing based images with debootstrap is broken due to the t64 transition and debootstrap not handling Provides:  fields in the package index.
=> Let's switch to mmdebstrap which uses apt under the hood, thus handling Provides:  fields correctly

Trying to build the latest main of Garden Linux fails on my machine (on mac, with podman machine, with a freshly created podman machine vm)
localhost/mybuilder:latest is a locally built image from this pr (with the aws pks stuff removed for faster build times, should not matter in this case)
$ ./build metal
STEP 1/1: FROM localhost/mybuilder:latest
COMMIT localhost/builder
--> fb4ed465ec00
Successfully tagged localhost/builder:latest
Successfully tagged localhost/mybuilder:latest
fb4ed465ec00cf2cbd73bdd5136b864be3b80e6a46cb08bea561d12367e3fb1b
configuring native_bin
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] Reading package lists...
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] Building dependency tree...
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] Reading state information...
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] Package openssh-client is not available, but is referred to by another package.
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] This may mean that the package is missing, has been obsoleted, or
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] is only available from another source
[.build/native_bin-today-local.tar 2024-05-02 14:08:18]
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] Package xz-utils is not available, but is referred to by another package.
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] This may mean that the package is missing, has been obsoleted, or
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] is only available from another source
[.build/native_bin-today-local.tar 2024-05-02 14:08:18]
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] Package policycoreutils is not available, but is referred to by another package.
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] This may mean that the package is missing, has been obsoleted, or
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] is only available from another source
[.build/native_bin-today-local.tar 2024-05-02 14:08:18]
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] E: Unable to locate package patchelf
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] E: Package 'openssh-client' has no installation candidate
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] E: Package 'policycoreutils' has no installation candidate
[.build/native_bin-today-local.tar 2024-05-02 14:08:18] E: Package 'xz-utils' has no installation candidate
completed in 0 seconds

make: *** [Makefile:50: .build/native_bin-today-local.tar] Error 100
make: *** Deleting file '.build/native_bin-today-local.tar'

I could get it to build in a debian vm, but not using podman machine. No clue what the root cause is.


Animation loader taking more time then usual (upgraded app )

Login and app creation both

Not able to reproduce it was resolved


Xcode 12 beta 4 can't compile you

FYI,
Xcode seems to have trouble figuring out that various classes that support the PINCaching protocol should be allowed as parameters of type id<PINCaching>.

Can't compile either...
Incompatible block pointer types sending 'void (^)(PINCache * _Nonnull __strong, NSString * _Nonnull __strong, id  _Nullable __strong)' to parameter of type 'PINCacheObjectBlock _Nullable' (aka 'void (^)(id<PINCaching>  _Nonnull __strong, NSString * _Nonnull __strong, id  _Nullable __strong)')

@zacwest @garrettmoon @mRs- @Adlai-Holler Any chance you could commit a fix for PINRemoteImage please?
https://github.com/pinterest/PINCache/pull/273

Temporary Workaround
ENV['COCOAPODS_DISABLE_STATS'] = "true"
use_frameworks!

target 'XX' do
    platform :ios, '13.6'
    pod 'Texture', :git => 'https://github.com/TextureGroup/Texture', :branch => 'master'
    pod 'PINRemoteImage', :git => 'https://github.com/zacwest/PINRemoteImage', :branch => 'fix-xcode-12.0b4'
    pod 'PINCache', :git => 'https://github.com/pinterest/PINCache', :branch => 'master'
end

Still getting this issue in PINRemoteImage 3.0.3


Implement board persistence for example application "faketrello"

As discussed in https://github.com/benlau/qsyncable/issues/2 here is an implementation of persistence for the example "faketrello" application.
As-is, there is currently a "bug" on Android, in that the application won't persist if the application is backgrounded via task manager and then closed. It will correctly close and persist on Android using the back button.

hi @NielsMayer ,
wow, it looks good. Thx


Add FFI for tokenize_binding()

Small continuation of work done in https://github.com/newsboat/newsboat/pull/2586.

coverage: 60.117% (+0.02%) from 60.093%
when pulling d33d7f776acd71d6221465b6d8f241638e9ec375 on dennisschagt:alternative-binding-ffi
into ca977d51a0ea9bc08d302d9ce58e424090823a87 on newsboat:master.

Thanks!

Spoon-feeding me the changes works much better than waiting for a review on a large PR.

I'm happy to hear that.
It also feels a lot nicer to me to get things merged instead of slowly working through the checkboxes on the original PR, so I will try to keep these PRs small


Bug: Chained this-intersecting methods don't work from within class

TypeScript Version:  3.1.1-insiders.20180926

Search Terms: this chain
Code
class Builder {
    private _class: undefined;
    withFoo<T>() {
        return this as this & { foo: T }
    }
    withBar<T>() {
        return this as this & { bar: T }
    }
    withFooBar<T>() {
        return this.withFoo<T>().withBar<T>();
    }
}

let good = new Builder().withFoo<number>().withBar<number>();
let bad = new Builder().withFooBar<number>();
good = bad;

Expected behavior:
good & bad should be identical
Actual behavior:
bad is missing foo
Playground Link: http://www.typescriptlang.org/play/#src=class Builder {
    private _class%3A undefined%3B
    withFoo<T>() {
        return this as this %26 { foo%3A T }
    }
    withBar<T>() {
        return this as this %26 { bar%3A T }
    }
    withFooBar<T>() {
        return this.withFoo<T>().withBar<T>()%3B
    }
}

let good %3D new Builder().withFoo<number>().withBar<number>()%3B
let bad %3D new Builder().withFooBar<number>()%3B
good %3D bad%3B

Looking at the quick info for withFooBar, it would appear that we instantiate the this type for the withBar call in the method body with the class's this, rather than the call target (which would be this & {foo:T}).


[WIP] aio(cheatsheet): convert TS cheatsheet to pure HTML (in jade file)

Intended for angular/aio docs so that we don't have to port the AngularJS cheatsheet creation code (there's a lot of it) over to Angular. The cheatsheet hardly ever changes and would be easy to edit by hand.
This might even work in our angular.io world. I'm a little afraid until someone shows that it won't break our current site.
Need someone to generate the staging site with this PR to see if it works.
Alternatively, @petebacondarwin may find a way to grab this for angular/aio and we can leave the current state untouched.
Why wasn't this in markdown to begin with?
... and why didn't I convert it to MD now?
It can't be done in Markdown because of the multi-row stretches of code. There's now way to write those inside MD tables with triple-backticks. That's why we're generating with AngularJS today

You also get to clear out the directive at https://github.com/angular/angular.io/blob/master/public/resources/js/directives/cheatsheet.js

For another I think we should capture the HTML and then use the migrator to manually copy it into the air content folder as part of the migration processing. That will free you up to do what you want in angular.io

Included in https://github.com/angular/angular.io/pull/3415


Refactor: Improve date validation in ascendBlogByDate and descendBlog…

Refactor: Improve date validation in ascendBlogByDate and descendBlogByDate functions, using a dedicated getDateObject function. Add try-catch blocks to handle potential errors and log them.
resolves 1chooo/1chooo.com#19

your welcome


Update baremetal image build instructions.

While working through the image building instructions I noticed a few inconsistencies and ambiguity. This change set seeks to clarify the differences in steps between Ubuntu and RHEL builds and simplifies image-builder installation instructions.

Simplify the download and install of image-builder to a single line.
Clarify niche steps for RHEL vs Ubuntu with respec to invoking image-builder.

/cherrypick release-0.13


Add documentation

[x] add missing docstrings
[x] expand README.md
[x] generate and ship API documentation

Fantastic Idea hehe 😄
We could start with a README.md that will be nicely rendered on the landing page of the repo with a few examples on how to use the library.

API Documentation now published to https://api.peprock.ponte.energy

Great. Curious about your decision to use pdoc, which doc syntax etc. I might have a few additional ideas, in co junction with the documentation project we discussed some time ago.

Also, I suggest to put the doc link at the repo page for easy access, that’s how most GitHub projects do it. So it will look like this:

Great. Curious about your decision to use pdoc, which doc syntax etc. I might have a few additional ideas, in co junction with the documentation project we discussed some time ago.

The decision to take pdoc3 was due to its appeal as a zero-touch solution. I am open to change that anytime - there are also zero sunk costs at the moment.

Also, I suggest to put the doc link at the repo page for easy access, that’s how most GitHub projects do it. So it will look like this (ie styler.r-lib.org).

done

👍

It seems to be fairly easy to include the README.md in the rendered html: https://pdoc.dev/docs/pdoc.html#include-markdown-files.

It seems to be fairly easy to include the README.md in the rendered html: https://pdoc.dev/docs/pdoc.html#include-markdown-files.

We are using pdoc3 for the API documentation. I don't think it has the same interface.

You should not be allowed to use such similar names for such similar packages -.-


On macOS importing openv.init() fails with InterfaceNotFound

I updated from PyOpenVR 1.3.2201 to 1.5.1701 and
openvr.init(openvr.VRApplication_Scene)
fails with
'VRInitError_Init_InterfaceNotFound' (error number 105)
It fails in 1.5.1701 but not in 1.3.2201.  In PyOpenVR.init.py version 1.5.1701 has
IVRSystem_Version = 'IVRSystem_020'
while version 1.3.2201 has
IVRSystem_Version = b"IVRSystem_019"
Changing the 1.5.1701 code to use "IVRSystem_019" fixes the problem.
I am running macOS 10.14.6 (Mojave, latest version), and SteamVR beta macosx_default version<PHONE_NUMBER> built Oct 9, 2018 at 08:57.  This is the most recent SteamVR runtime and only available SteamVR runtime that works on macOS.  I am using a Vive Pro.
While macOS is poorly supported by SteamVR it would be nice if PyOpenVR checked if sys.platform == 'darwin" and used the older compatible IVRSystem_Version.  Currently my VR app (ChimeraX) imports openvr and makes this change (setting openvr.IVRSystem_Version = 'IVRSystem_019') if the platform is darwin, so I am able to work around the problem.

I am not sure whether which interface "version" (i.e. IVRSystem_020) is attributed to which OpenVR version is documented anywhere, nor which version is actually the most recent one on every platform. It seems that so far it was safe to assume it was the latest one.
I guess one way to handle it would be adding an optional keyword argument to every OpenVR interface, which would allow specifying the interface version explicitly by the caller and override the default (=latest). But you would still need to figure out the correct version on your own.

IVRSystem_019 started with openvr version 1.012 about 2 years ago, and was updated to IVRSystem_020 at openvr version 1.5.17 this year.
Changing the symbol is a poor approach. Better would be to use a separate version with the actual API version, not just the version symbol.
If we could figure out the correct openvr version for whatever is available on Mac, it might be worth maintaining a branch at that version, then encouraging Mac folks to 'pip install openvr '.
Or is there a way to make pip automatically install different versions depending on OS details?

I was just looking into this version thing again as I thought it might need some substantial work, only to find out that I am not sure I really understand the versioning:
IVRSystem_019 was replaced by IVRSystem_020 in OpenVR SDK 1.15.17 because Valve removed a function
/** Sends a request to the driver for the specified device and returns the response. The maximum response size is 32k,
* but this method can be called with a smaller buffer. If the response exceeds the size of the buffer, it is truncated.
* The size of the response including its terminating null is returned. */
virtual uint32_t DriverDebugRequest( vr::TrackedDeviceIndex_t unDeviceIndex, const char *pchRequest, VR_OUT_STRING() char *pchResponseBuffer, uint32_t unResponseBufferSize ) = 0;

from IVRSystem interface. There is nothing unexpected about it. But in OpenVR SDK 1.16.10 they introduced two new functions to IVRSystem:
// -------------------------------------
// App container sandbox methods
// -------------------------------------

/** Retrieves a null-terminated, semicolon-delimited list of UTF8 file paths that an application
* must have read access to when running inside of an app container. Returns the number of bytes
* needed to hold the list. */
virtual uint32_t GetAppContainerFilePaths( VR_OUT_STRING() char *pchBuffer, uint32_t unBufferSize ) = 0;

// -------------------------------------
// System methods
// -------------------------------------

/** Returns the current version of the SteamVR runtime. The returned string will remain valid until VR_Shutdown is called.
*
* NOTE: Is it not appropriate to use this version to test for the presence of any SteamVR feature. Only use this version
* number for logging or showing to a user, and not to try to detect anything at runtime. When appropriate, feature-specific
* presence information is provided by other APIs. */
virtual const char *GetRuntimeVersion() = 0;

And the interface remained the same, i.e. IVRSystem_020. So hypothetically, the app, which was compiled with SDK 1.16.10 and which uses one of those function, will get the IVRSystem_020 on 1.15.17 runtime, but will possibly crash when calling one of the new functions.
This shows two aspects:

The interfaces are changing over the versions and they may lose as well as get some new functions, so properly supporting different versions (in general) would require maintaining "the frozen state of the API".
If it was not an overlook on Valve's part, the interface designation (i.e. IVRSystem_020) is not a reliable differentiator, because two different interfaces can have the same ID.

Now, when using C++ API, the interfaces are "frozen" by compiling openvr_api.lib, which makes the app use the interfaces defined in the SDK used at the build time. There is no similar mechanism we could use in Python. If you could generate the Python API on the fly from the interface definition (which already happens, but I do no know, how deep it goes), you could simply maintain the interface definitions (e.g. openvr_api.json) with the corresponding API release, and then even let the user generate the Python interface from it depending on his target system.
Updating to the new version would then simply mean just substituting a newer API definition.

I agree that just changing the Python IVRSystem_Version pyopenvr variable to 019 instead of 020 on the Mac is not right unless the pyopenvr library is compiled against the OpenVR version 019  headers on Mac.  I think that is what should be done since only version 019 of the SteamVR runtime is available on Mac.
In addition I think pyopenvr should continue to work when SteamVR updates from version 020 to version 021 even though pyopenvr was compiled against version 020, if SteamVR is guaranteeing backward compatibility.  I think they must be assuring backward compatibility or potentially all VR apps would break when the API version updates.
I don't think it is feasible or desirable to have pip decide which version of pyopenvr to install.  Pip would have to figure out what SteamVR runtime is installed which may not be possible without starting SteamVR.  In any case this would only make sense if pyopenvr actually provided builds against different SteamVR versions for the same operating system which seems like way too much work unless there is a solid reason for it (like pyopenvr wants to make use of a new SteamVR API, and yet continue to support users with the older SteamVR version).

Yeah I did not think that pip idea through very well.
One approach that might work would be to use a bootstrapping approach. So "import openvr" would

first bind just a few functions; maybe isInterfaceVersionValid and/or getRuntimeVersion
use these methods or other techniques to identify the most advanced relevant version
then load the rest of the API from one of a library of versioned API files

In my similar pyovr project I save a bunch of different API versions there in the package (but I don't really use them for anything).
Which versions to save?

The latest version, of course
The previous version. There have been cases where even with Windows and SteamVR, the most mainstream use case, the lastest openvr bindings were briefly ahead of the shipped SteamVR runtime.
The very oldest useful version.
Particular versions known to be useful, such as whatever the Mac runtime uses.

The last time the OpenVR Mac dylib changed was in release 1.8.19, but those api versions mentioned upthread suggest that the Mac API is/was stuck somewhere from release 1.0.12-1.4.18. So creating a custom pyopenvr release based on, say, openvr 1.4.18 might be helpful for any folks still using Mac.

@tomgoddard Question: Do you still have a working Mac SteamVR setup? I'd like to make a custom release of pyopenvr for Mac users, set at the correct API version(s). Especially since Mac users won't be able to use OpenXR/pyopenxr in the foreseeable future.

Yes I have an iMac with Radeon Pro 580 graphics which worked fine with a Vive Pro headset last time I tried a few months ago.  Why is a special Mac release of pyopenvr needed?  I thought you include the shared libraries for Mac, Linux, and Windows, and the way it works now is the Mac version is linked to an old SteamVR for Mac and the PyOpenVR Python code has some special case code to set version numbers for the Mac to older versions.  Maybe I misremember this.
At any rate, my iMac is at my office and I don't go their due to covid rules, but I can make a special trip to test.  Usually I go in about once per month.
I am interested in pyopenxr for molecular VR visualization but do not expect to have time to work on it in coming months.  Almost all my VR effort is on Windows although I have helped some biologists with Mac and Linux -- but that seems a losing battle.

@tomgoddard Thanks for the update. I hope you will be available to eventually test whatever Mac-oriented release we create. Yes we include the shared library for Mac. But hard-coding the version numbers for Mac is

Something I believe you inserted into your own pyopenvr source tree, and
Not the best approach, because those version error messages are trying to communcate something important. Better would be to expose the API that is consistent with the actual runtime version.

I can rerun the latest pyopenvr generator against an older version of the OpenVR SDK to create a modern release that supports the exact runtime supported on Mac. I suspect that Valve will never advance the runtime version supported on Mac, so it's not a bad idea to create the best custom Mac-oriented release of pyopenvr we can at this point. It's true every release supports every platform. But different releases of pyopenvr might represent the "best release" for a particular platform.
That's why I'm trying to track down the exact Mac runtime version(s) supported by SteamVR. At first I was thinking of trying to figure out the runtime version by triggering error messages about the versions of more interfaces besides just IVRSystem and IVRCompositor. Then we could deduce the actual runtime version. Sadly, the OpenVR IVRSystem::GetRuntimeVersion() was not implemented until OpenVR 1.6, which I think might be newer than the latest supported Mac runtime.
But first let's try a more direct approach to determining the SteamVR runtime version on Mac.

@JoeLudwig @jeremyselan Question: Could you please tell me the OpenVR runtime version number(s) of the current SteamVR Mac beta releases macos_beta and macos_default ?

I agree that is a good plan.  I have not encountered any OpenVR API errors on Mac when using latest pyopenvr, but that is perhaps because my use of the PyOpenVR API has not changed in about 5 years -- I am not using any newer APIs.  I am happy to test Mac pyopenvr releases.  Thanks!


Bug: Unauthorized in CI pipeline

After not using GCP auth plugin in https://github.com/Berops/claudie/pull/457
The CI can't watch over the deployed services due to unauthorized error
E1221 08:57:33.979189    1607 reflector.go:140] vendor/k8s.io/client-go/tools/watch/informerwatcher.go:146: Failed to watch *unstructured.Unstructured: the server has asked for the client to provide credentials
W1221 08:57:35.011583    1607 reflector.go:424] vendor/k8s.io/client-go/tools/watch/informerwatcher.go:146: failed to list *unstructured.Unstructured: Unauthorized

could this regression be solved by a partial revert?

The plugin was deprecated and the CI wouldn't work (it just finished with an error that the plugin was deprecated and not supported anymore), that's why it was removed and updated. Reverting it wouldn't fix it


Minify android lib and upload symbols for release builds

[ ] Ensure symbols aren't stripped for release builds so that we have backtraces for crashes.
[ ] Look into: https://github.com/getsentry/rust-proguard
[ ] See if we can apply any easy gains like we found with Apple: https://github.com/firezone/firezone/pull/4404


Consider single root term for all BTO classes

As you can see on OLS, BTO does not have a single grouping term up top, which makes it hard for some applications to group BTO terms. Furthermore, it would be very helpful if the top level could be grouped in some rough categories, like

BTO entity

cell type
cell line
anatomical entity

and so on, to make BTO easier to browse and use by applications. Would you consider to add these before you make your next release?

(can help of course)

Sorry for a very late reply.
I will take care of the issue and discuss a better grouping with the team.

We have looked into the issue. We are using OBO-Edit 2.3.1 to maintain BTO. Using OBO-Edit we actually have a root element  and clear grouping (see attached screenshot).
@matentzn:  Any idea if this is an OBO-Edit issue or any hint on how we can investigate this further?

Remember that OBO edit shows all kinds of relations in the tree.. check
https://www.ebi.ac.uk/ols/ontologies/bto/terms?iri=http%3A%2F%2Fpurl.obolibrary.org%2Fobo%2FBTO_0004418&viewMode=All&siblings=false
The suggestion is to have isa parents for all, not just any relations (like produced by).

I am fairly new to ontologies, so I may confuse some things.
Do I understand correctly, that not all relations are treated equally? E.g. the relation produced_by is not sufficient, while others (e.g. part_of,  develops_from, ...) are treated as isa relationship?

No worries :) No, there are only 2 relevant categories:

isa
everything else part_of, develops_from, produced_by.

Isa is a special case (which is often missed). A: is_a: B: means:
Every single instance of the A: in the universe is also an instance of B:. We basically want an isa parent (or a handful of isa parents), for all classes usually. Feel free to drop me an email and I will send you an invite to our OBO slack, where you can ask such questions more freely with people to support you!


V14 Bug

i programming a bot in TS and when i use the function createTranscript the command fails, i checked yet if the channel is TextChannel but doesn't work.

can you send the error?

image of the code:

                    if (interaction.channel?.isTextBased()) {
                        const file = await createTranscript(interaction.channel, {
                            limit: -1, returnType: "attachment", fileName: "transcript.html", minify: true, saveImages: false, useCDN: false
                        });
                        await interaction.reply({ content: "`✔` Transcript created!", files: [file] })
                    }
                    break;

image of the error:

Found the cause, in @dev, they changed from .isText() to isTextBased()
Will push an fix shortly.

Thanks!

hi, i found a new bug.
same code but different error now.


Add VS Code task configuraton to launch Cryptol Docker

This should work on Linux and Windows.

I can confirm that this also works on macOS


Automatically update drud/ddev-gitpod-base docker image daily or on master push

Is there an existing issue for this?

[X] I have searched the existing issues

Is your feature request related to a problem? Please describe
The drud/ddev-gitpod-base docker image gets stale if nobody remembers to update it.
Describe the solution you'd like

Push on every ddev master push (or daily on nightly build)
Automatically update ddev's .gitpod.yml to use the updated image (optional)
Automatically update ddev-gitpod-launcher's .gitpod.yml to use the updated image

Describe alternatives you've considered
No response
Additional context
No response

I don't think this strategy actually works; it seems you have to push a new tag. Will keep pushing new tags.


[MAS4.1.2] [Screen Reader-Live Chat] Focusable sibling elements must not have the same Name and LocalizedControlType.

Actual Result:
Focusable sibling elements have the same Name and LocalizedControlType for “Message, Post and Port 200 controls “
Expected Result:
Focusable sibling elements must not have the same Name and LocalizedControlType for “Message, Post and Port 200 controls “
How To Fix:  Provide unique names for sibling controls that have the same Control Type property.
Repro Steps:

Open the Bot Framework V4 Emulator.
2.Welcome tab screen gets opened
Navigate to the Open a bot and select it
4.Open bot dialog gets opened and connect the pen bot
5.Live chat screen gets opened
6.Run the Accessibility insights for windows
Observe the issue

User Impact:
Users who rely on AT will be affected if programmatically Name and LocalizedControlType is defined same then the screen reader user will misguide the information
Test Environment:
OS Build: Version 1903(OS Build 18362.239)
Browser: Edge
Application: Bot Framework V4 Emulator
Tool: Accessibility insights for windows
MAS Reference Link:
https://microsoft.sharepoint.com/:w:/r/teams/msenable/_layouts/15/WopiFrame.aspx?sourcedoc={248054a6-5e68-4771-9e1e-242fb5025730}

As directed by customer, electron app wont support Accessibility Insights for Windows
hence we are closing this bug .


[AutoPR adhybridhealthservice/resource-manager] Adding few more function to ADHybridHealth swagger spec

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/3189

This PR has been merged into https://github.com/Azure/azure-sdk-for-go/pull/2004


Metadata key names change when copying between containers

Preflight Checklist

[X] I have installed the latest version of Storage Explorer.
[X] I have checked existing resources, including the troubleshooting guide and the release notes.
[X] I have searched for similar issues.

Storage Explorer Version
1.34.0
Regression From
?
Architecture
x64
Storage Explorer Build Number
20240523.2
Platform
Windows
OS Version
Windows 11
Bug Description
When I copy a blob that has metadata associated with it, from one blob container to another, the keys of all metadata are suddenly capitalized. This makes it quite annoying to programmatically use the metadata post-copy.
Steps to Reproduce

Create a blob
Apply lower-case metadata to the blob
Copy the blob to a different Container
Right click on both blobs and view Properties

You will see that the new blob has the first char of all metadata keys capitalized...
Actual Experience

Create a blob
Apply lower-case metadata to the blob
Copy the blob to a different Container
Right click on both blobs and view Properties

You will see that the new blob has the first char of all metadata keys capitalized...
Expected Experience
Metadata is not affected by copying a blob.
Additional Context
Grr

@ericthomas1 an initial quick reply I can give you is that you should be reading/treating blob metadata keys case insensitively. I know with AzCopy there have been reports in the past of transfers causing changes to the casing of metadata keys. I can try to double check on where those reports landed, but at the end of the day, my original guidance is what should be heeded.
See here for more info: https://learn.microsoft.com/en-us/rest/api/storageservices/naming-and-referencing-containers--blobs--and-metadata#:~:text=but are case-insensitive when set or read

Thank you for the response. I wonder if the doc should be updated as Note that metadata names preserve the case with which they were created is not accurate. I created the metadata names in lower-case. Upon copying, they were automatically sentence-cased (First character upper-cased).

@RichardMSFT Let's first investigate to pinpoint which component may be modifying the casing. Then let's work on a fix if possible.

@ericthomas1 Blob copy uses AzCopy which has this issue for a long time. According to that discussion, the root cause seems to be somewhere in their Go SDK. Feel free to make a comment in the AzCopy issue or maybe create a new issue to bring their attention. We'll do our best to communicate this issue to them in our internal channel.
https://github.com/Azure/azure-storage-azcopy/issues/113

@ericthomas1 This is due to an underlying issue in the Go standard library which cannot be addressed by us anytime soon. Could you try to find a work around using other tools for now? I am sorry but I need to close this issue for now because there is nothing we can do.
https://github.com/golang/go/issues/37834


Update 0507-release-channels.md

Rendered

This patch just adds the name of a repo or branch or something like that after the "Summary" header, it isn't fixing any typos or errors in this RFC, closing.


Compile Error in mac

Hello, I tried to compile the project in mac and met this error:
❯ make
[  2%] Building CXX object External/glog/CMakeFiles/glog_internal.dir/src/demangle.cc.o
[  4%] Building CXX object External/glog/CMakeFiles/glog_internal.dir/src/logging.cc.o
[  6%] Building CXX object External/glog/CMakeFiles/glog_internal.dir/src/raw_logging.cc.o
[  8%] Building CXX object External/glog/CMakeFiles/glog_internal.dir/src/symbolize.cc.o
[ 10%] Building CXX object External/glog/CMakeFiles/glog_internal.dir/src/utilities.cc.o
[ 12%] Building CXX object External/glog/CMakeFiles/glog_internal.dir/src/vlog_is_on.cc.o
[ 14%] Building CXX object External/glog/CMakeFiles/glog_internal.dir/src/signalhandler.cc.o
[ 14%] Built target glog_internal
[ 17%] Linking CXX shared library libglog.dylib
[ 17%] Built target glog
[ 19%] Linking CXX static library libglogtest.a
[ 19%] Built target glogtest
[ 21%] Building CXX object External/glog/CMakeFiles/logging_unittest.dir/src/logging_unittest.cc.o
[ 23%] Linking CXX executable logging_unittest
[ 23%] Built target logging_unittest
[ 25%] Building CXX object External/glog/CMakeFiles/stl_logging_unittest.dir/src/stl_logging_unittest.cc.o
[ 27%] Linking CXX executable stl_logging_unittest
[ 27%] Built target stl_logging_unittest
[ 29%] Building CXX object External/glog/CMakeFiles/demangle_unittest.dir/src/demangle_unittest.cc.o
[ 31%] Linking CXX executable demangle_unittest
[ 31%] Built target demangle_unittest
[ 34%] Building CXX object External/glog/CMakeFiles/stacktrace_unittest.dir/src/stacktrace_unittest.cc.o
[ 36%] Linking CXX executable stacktrace_unittest
[ 36%] Built target stacktrace_unittest
[ 38%] Building CXX object External/glog/CMakeFiles/utilities_unittest.dir/src/utilities_unittest.cc.o
[ 40%] Linking CXX executable utilities_unittest
[ 40%] Built target utilities_unittest
[ 42%] Building CXX object External/glog/CMakeFiles/cleanup_immediately_unittest.dir/src/cleanup_immediately_unittest.cc.o
[ 44%] Linking CXX executable cleanup_immediately_unittest
[ 44%] Built target cleanup_immediately_unittest
[ 46%] Building CXX object External/glog/CMakeFiles/cleanup_with_absolute_prefix_unittest.dir/src/cleanup_with_absolute_prefix_unittest.cc.o
[ 48%] Linking CXX executable cleanup_with_absolute_prefix_unittest
[ 48%] Built target cleanup_with_absolute_prefix_unittest
[ 51%] Building CXX object External/glog/CMakeFiles/cleanup_with_relative_prefix_unittest.dir/src/cleanup_with_relative_prefix_unittest.cc.o
[ 53%] Linking CXX executable cleanup_with_relative_prefix_unittest
[ 53%] Built target cleanup_with_relative_prefix_unittest
[ 55%] Building CXX object src/CMakeFiles/torch.dir/torch/core/backward.cpp.o
In file included from /Users/yewentao/Desktop/TinyTorch/src/torch/core/backward.cpp:1:
In file included from /Users/yewentao/Desktop/TinyTorch/src/torch/core/backward.h:2:
In file included from /Users/yewentao/Desktop/TinyTorch/src/./torch/core/tensor.h:13:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/algorithm:653:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/functional:500:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__functional/function.h:20:
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:615:13: error: static_assert failed due to requirement 'is_array<tinytorch::TensorImpl>::value' "std::shared_ptr<T>::operator[] is only valid when T is an array type."
            static_assert(is_array<_Tp>::value,
            ^             ~~~~~~~~~~~~~~~~~~~~
/Users/yewentao/Desktop/TinyTorch/src/./torch/core/tensor.h:35:30: note: in instantiation of member function 'std::shared_ptr<tinytorch::TensorImpl>::operator[]' requested here
template class TINYTORCH_API shared_ptr<tinytorch::TensorImpl>;
                             ^
In file included from /Users/yewentao/Desktop/TinyTorch/src/torch/core/backward.cpp:1:
In file included from /Users/yewentao/Desktop/TinyTorch/src/torch/core/backward.h:2:
In file included from /Users/yewentao/Desktop/TinyTorch/src/./torch/core/tensor.h:13:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/algorithm:653:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/functional:500:
In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__functional/function.h:20:
/Library/Developer/CommandLineTools/SDKs/MacOSX12.3.sdk/usr/include/c++/v1/__memory/shared_ptr.h:617:20: error: subscript of pointer to incomplete type 'std::shared_ptr<tinytorch::TensorImpl>::element_type' (aka 'tinytorch::TensorImpl')
            return __ptr_[__i];
                   ^~~~~~
/Users/yewentao/Desktop/TinyTorch/src/./torch/core/tensor.h:28:8: note: forward declaration of 'tinytorch::TensorImpl'
struct TensorImpl;
       ^
2 errors generated.
make[2]: *** [src/CMakeFiles/torch.dir/torch/core/backward.cpp.o] Error 1
make[1]: *** [src/CMakeFiles/torch.dir/all] Error 2
make: *** [all] Error 2

Could you please fix this?

Close this issue due to lack of response.


ClaimTrieSync might not sync all claims

The ClaimTrieSync job doesn't save the timestamp until after it is finished. However, if processing takes a minute, there could be a block entered in between the time it retrieves the claims to update and the time it finishes updating everything.

fixed with f912c8b356c0340d27b8866d686d334f794acbbd


feat(tabs): add isActive flag on the individual tabs

Adds the isActive flag on each tab, making it easier to check whether a tab is active.
Adds an exportAs to the tab directive to allow for it to be consumed easier in the view.

Fixes #6422.

Just needs rebase


Link on Readme not working

On the Readme it says

Click here: dynatrace.github.com/BizOpsConfigurator.

But should be

Click here: dynatrace.github.io/BizOpsConfigurator.

Was fixed by https://github.com/Dynatrace/BizOpsConfigurator/pull/11


PPS-97 PPS-106 test for the whole application, fixed errors causing different result on consequential run with same configurations

Closes issue #72


.data section

Make a .data for at least all the 64 bits number and later on for String and char too.

Not relevant anymore due to #16


adding requirment for PV for kafka pod to be scheduled

First time user will have difficulty when they run through installation steps and run into problem to bring Kafka pod up. Adding the requirement
that PV need to be provisioned in the installation steps.
Fixes #402

reworded the instructions.


Handle duplicate key doesn't work

Describe the bug
I have a specific constraint for two columns. When I try to insert with a constraint violation, the method onDuplicateKeyUpdate or onDuplicateKeyIgnore doesn't catch the exception.
Expected behavior
The functions  onDuplicateKeyUpdate or onDuplicateKeyIgnore have to catch the exception
Actual behavior
This  exception is thrown :
io.r2dbc.postgresql.ExceptionFactory$PostgresqlDataIntegrityViolationException: [23505] duplicate key value violates unique constraint "friend_unique_idx"
org.komapper.core.UniqueConstraintException: io.r2dbc.postgresql.ExceptionFactory$PostgresqlDataIntegrityViolationException: [23505] duplicate key value violates unique constraint "friend_unique_idx"

Steps to reproduce the problem
Entity classes :
public data class FriendId(val uuid1: UUID, val uuid2: UUID)

@KomapperEntity
public data class Friend(
    @KomapperEmbeddedId
    val uuid: FriendId,
    val pending: Boolean,
) {
    val uuid1: UUID
        get() = uuid.uuid1

    val uuid2: UUID
        get() = uuid.uuid2

    public constructor(uuid1: UUID, uuid2: UUID, pending: Boolean) : this(FriendId(uuid1, uuid2), pending)
}

Create constraint :
database.runQuery(QueryDsl.create(_Friend.friend))
database.runQuery(QueryDsl.executeScript("""
            create unique index friend_unique_idx
            on ${_Friend.friend.tableName()} (GREATEST(${_Friend.friend.uuid.uuid1.name}, ${_Friend.friend.uuid.uuid2.name}), LEAST(${_Friend.friend.uuid.uuid1.name}, ${_Friend.friend.uuid.uuid2.name}));
        """.trimIndent()))

Add function :
private suspend fun add(uuid: UUID, friend: UUID, pending: Boolean): Boolean {
        val query = QueryDsl.insert(_Friend.friend).onDuplicateKeyIgnore().executeAndGet(Friend(uuid, friend, pending))
        return database.runQuery(query) != null
    }

Try to call the add function and the exception will be thrown.
Versions

Komapper: 1.6.1
Kotlin: 1.8.0
JVM: 17
JDBC Driver or R2DBC Driver: R2DBC
Database: PSQL
OS: Linux

So, for my usage, I need to have something like the onDuplicateKeyUpdate with set method.
When the constraint is not respected, I should update the pending column only

A workaround for this moment, is to implement the method like :
        val meta = _Friend.friend
        return database.withTransaction {
            val queryFind = QueryDsl.from(meta).where(createWhereBidirectional(uuid, friend))
            val existingFriend = database.runQuery(queryFind).firstOrNull()

            if(existingFriend == null) {
                database.runQuery(QueryDsl.insert(meta).single(Friend(uuid, friend, pending)))
                true
            } else if(existingFriend.pending != pending) {
                database.runQuery(QueryDsl.update(meta).single(existingFriend.copy(pending = pending)))
                true
            } else {
                false
            }
        }
    ```

I cannot reproduce it.
Why does PostgreSQL return an error?
Can you show me the actual SQL issued?

I cannot reproduce it.

What step can't you reproduce ?

Why does PostgreSQL return an error?

I'm adding a custom constraint with the line
database.runQuery(QueryDsl.executeScript("""
            create unique index friend_unique_idx
            on ${_Friend.friend.tableName()} (GREATEST(${_Friend.friend.uuid.uuid1.name}, ${_Friend.friend.uuid.uuid2.name}), LEAST(${_Friend.friend.uuid.uuid1.name}, ${_Friend.friend.uuid.uuid2.name}));
        """.trimIndent()))

The creation of the index create a constraint to verify if another line is present with the bidirectional way.
So, the goal of that is to not have a duplicate  like :

uuid1
uuid2
pending

1
2
false

2
1
false

The first line can be insert
However, the second line cannot be inserted because the id 1 & 2 has already a relationship

Can you show me the actual SQL issued?

When I try to do that in pure SQL, this is the exception
Data in table

SQL
INSERT INTO "Friends"(uuid1, uuid2, pending)
VALUES ('9eff1128-4eac-4c6c-bf08-63eee578f777', '2bfd8a27-3baa-48ce-97e0-caa99c321b70', false)

ERROR: duplicate key value violates unique constraint "friends_unique_idx"
Key (GREATEST(uuid1, uuid2), LEAST(uuid1, uuid2))=(9eff1128-4eac-4c6c-bf08-63eee578f777, 2bfd8a27-3baa-48ce-97e0-caa99c321b70) already exists.

Thanks for the details.
I was able to reproduce it.
22:44:07.981 [Test worker @coroutine#3] TRACE org.komapper.Transaction - Begin: R2dbcTransaction(id=03219846-698f-4eca-b6f8-001bf7d10596, name=komapper_test_dup_key)
22:44:08.024 [Test worker @coroutine#3] TRACE org.komapper.SqlWithArgs - create table if not exists friend (uuid1 uuid not null, uuid2 uuid not null, pending boolean not null, constraint pk_friend primary key(uuid1, uuid2))
22:44:08.035 [Test worker @coroutine#3] TRACE org.komapper.SqlWithArgs - create unique index friend_unique_idx
on friend (GREATEST(uuid1, uuid2), LEAST(uuid1, uuid2))
22:44:08.054 [Test worker @coroutine#3] TRACE org.komapper.SqlWithArgs - insert into friend as t0_ (uuid1, uuid2, pending) values (9eff1128-4eac-4c6c-bf08-63eee578f777, 2bfd8a27-3baa-48ce-97e0-caa99c321b70, TRUE) on conflict (uuid1, uuid2) do nothing
22:44:08.074 [Test worker @coroutine#3] TRACE org.komapper.SqlWithArgs - insert into friend as t0_ (uuid1, uuid2, pending) values (2bfd8a27-3baa-48ce-97e0-caa99c321b70, 9eff1128-4eac-4c6c-bf08-63eee578f777, TRUE) on conflict (uuid1, uuid2) do nothing
22:44:08.087 [Test worker @coroutine#3] TRACE org.komapper.Transaction - Rollback: R2dbcTransaction(id=03219846-698f-4eca-b6f8-001bf7d10596, name=komapper_test_dup_key)

io.r2dbc.postgresql.ExceptionFactory$PostgresqlDataIntegrityViolationException: [23505] duplicate key value violates unique constraint "friend_unique_idx"
org.komapper.core.UniqueConstraintException: io.r2dbc.postgresql.ExceptionFactory$PostgresqlDataIntegrityViolationException: [23505] duplicate key value violates unique constraint "friend_unique_idx"

By the way, your SQL does not include on conflict (uuid1, uuid2) do nothing so something seems wrong.

So what do you propose to solve this? I don't understand why you say that there is something wrong

I don't understand why you say that there is something wrong

Make sure the actual SQL again. Doesn't the SQL contain on conflict (uuid1, uuid2) do nothing ?

So what do you propose to solve this?

Apparently the friend_unique_idx  index is not respected. Probably because that index contains an expression. According to the documentation, the ON CONFLICT clause supports a syntax that accepts an index_expression. You can write as followings:
        db.runQuery(QueryDsl.executeTemplate("""
                insert into friend (uuid1, uuid2, pending)
                values (/*uuid1*/'', /*uuid2*/'', /*pending*/false)
                on conflict (GREATEST(uuid1, uuid2), LEAST(uuid1, uuid2))
                do nothing
        """.trimIndent())
            .bind("uuid1", uuid1)
            .bind("uuid2", uuid2)
            .bind("pending", true)

So, with your help, this is my code :
private suspend fun insertOrUpdate(
        uuid: UUID,
        friend: UUID,
        pending: Boolean
    ): Boolean {
        val meta = _Friend.friend
        val metaUUID = meta.uuid
        val uuid1Name = metaUUID.uuid1.name
        val uuid2Name = metaUUID.uuid2.name
        val pendingName = meta.pending.name

        val result = database.runQuery(QueryDsl.executeTemplate("""
                INSERT INTO ${meta.tableName()} ($uuid1Name, $uuid2Name, $pendingName)
                VALUES (/*uuid1*/'', /*uuid2*/'', /*pending*/false)
                ON CONFLICT (GREATEST($uuid1Name, $uuid2Name), LEAST($uuid1Name, $uuid2Name))
                DO UPDATE SET $pendingName = /*pending*/false
        """.trimIndent())
            .bind("uuid1", uuid)
            .bind("uuid2", friend)
            .bind("pending", pending)
        )

        return result > 0
    }

But I have one problem, the result variable is always greater than 0 even if the  pending column has the same value than the new value.
Do you know if there is a way to check if there is a modification or not following the DO UPDATE SET?

Solution found :
DO UPDATE SET $pendingName = /*pending*/false WHERE ("${meta.tableName()}".$pendingName != /*pending*/false)

So, do you think you will be able to add some functions to do this using Komapper DSL or it's too complicate ?

I will consider it. Please give me some time.

I made a pull request #867. If you have any questions or comments, please let me know.


Ruby 2.6 BigDecimal initialization compatibility

Yes, I've been in process of upgrading my app to Ruby 2.6.3 and Rails 6. Fixed code spams a lot of warnings like:
warning: BigDecimal.new is deprecated; use BigDecimal() method instead

BigDecimal constructor is removed: https://github.com/ruby/bigdecimal/blob/master/CHANGES.md
BigDecimal() however works on all supported Ruby versions (I've tested 1.8.7)
So I decided to just replace it and it worked.

@alxgsv Hey, where are you on this? I'm trying to do this process (Rails 6 upgrade) now. So far, I"ve not swung back to this version (still using my own version that forked for the code I wrote).  But, i'm just starting now. Is it working?  What needs to be fixed? If I get in and fix it, can be push a "Rails 6 compatible" version?

@wflanagan I used this commit in production with Rails 6.0.0.rc1 and Rails 6.0.0.rc2 with no issues. This commit is required by Ruby 2.6.3 not Rails 6. So, I believe Ruby 2.6.2 and Rails 6 will run on cequel's master with no problems (at least for my use case).
You can safely delete this pull request, just keep in mind that at some point you'll need to replace BigDecimal.new() with BigDecimal() for Ruby 2.6.3+ compatibility.


[2.3.2] InnertubeError: Request to URL failed with status 401

Steps to reproduce
I am trying to upload a video
as soon sign in completes
401 error comes
Failure Logs
Hello!
On your phone or computer, go to https://www.google.com/device and enter the code CVYG-SVLT
Successfully signed in!
/home/salman/Desktop/YOUTUBE/node_modules/youtubei.js/dist/src/utils/HTTPClient.js:112
            throw new Utils_1.InnertubeError(`Request to ${response.url} failed with status ${response.status}`, yield response.text());
                  ^

InnertubeError: Request to https://upload.youtube.com//upload/youtubei?prettyPrint=false&alt=json failed with status 401
    at HTTPClient.<anonymous> (/home/salman/Desktop/YOUTUBE/node_modules/youtubei.js/dist/src/utils/HTTPClient.js:112:19)
    at Generator.next (<anonymous>)
    at fulfilled (/home/salman/Desktop/YOUTUBE/node_modules/youtubei.js/dist/src/utils/HTTPClient.js:5:58)
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  info: '{"status":"STATUS_REJECTED","rejectionReason":"REJECTED_NOT_AUTHENTICATED"}',
  date: 2022-10-14T18:10:00.933Z,
  version: '2.3.2'
}

Expected behavior
upload video
Current behavior
crashing
Version
Default
Anything else?
No response
Checklist

[x] I am running the latest version.
[x] I checked the documentation and found no answer.
[x] I have searched the existing issues and made sure this is not a duplicate.
[x] I have provided sufficient information.

You are trying to upload from a brand account, right? If so, then it isn't possible, unfortunately only normal accounts are supported at the moment.

You are trying to upload from a brand account, right? If so, then it isn't possible, unfortunately only normal accounts are supported at the moment.

yes, I was using a brand account never mind I will use normal account.
thanks for the quick response

even for normal account i get the same error

You are trying to upload from a brand account, right? If so, then it isn't possible, unfortunately only normal accounts are supported at the moment.

It is possible to add support for brand accounts?


afdb - retrieving accession_ids.csv and sequences.fasta

Dear alphafold,
Is there another location to download accession_ids.csv and sequences.fasta other than below? The connection drops before the download finishes - I've tried from local and cloud-based servers and the connection dies after a few hours (via wget or curl). With these download issues in mind, might you consider compressing and providing a checksum?
http://ftp.ebi.ac.uk/pub/databases/alphafold/accession_ids.csv
http://ftp.ebi.ac.uk/pub/databases/alphafold/sequences.fasta

Thank you very much,
Joe

Hi have you tried using the gcloud CLI? https://cloud.google.com/sdk/gcloud/reference/storage

https://storage.googleapis.com/public-datasets-deepmind-alphafold-v4/accession_ids.csv
https://storage.googleapis.com/public-datasets-deepmind-alphafold-v4/sequences.fasta
Both FTP site and cloud should work but if there are connection issues its worth seeing what works best for your use case.

https://storage.googleapis.com/public-datasets-deepmind-alphafold-v4/accession_ids.csv
https://storage.googleapis.com/public-datasets-deepmind-alphafold-v4/sequences.fasta
These can be downloaded as:
gcloud storage cp gs://public-datasets-deepmind-alphafold-v4/accession_ids.csv <DOWNLOAD_DIR>

or
gcloud storage cp gs://public-datasets-deepmind-alphafold-v4/sequences.fasta <DOWNLOAD_DIR>

Thank you very much for this. Another question - should I be able to download from the public bucket to a local directory or only another bucket? I get some error that doesn't make sense because all the dependencies are installed, however I can transfer to my s3 bucket without problem.
this works fine;
gcloud storage cp gs://public-datasets-deepmind-alphafold-v4/accession_ids.csv s3://my-place/

This fails;
[user@access ~]$ gcloud storage cp gs://public-datasets-deepmind-alphafold-v4/accession_ids.csv .
Copying gs://public-datasets-deepmind-alphafold-v4/accession_ids.csv to file://./accession_ids.csv
Pausing command execution:/7.0GiB

This command requires the `gcloud-crc32c` component to be installed. Would you like to install the `gcloud-crc32c` component to continue command execution? (Y/n)?
⠹ Completed files 0/1 | 0B/7.0GiB

You should also be able to download to a local directory. It may be that gcloud requires this dependency to do so -- I haven't come across this error.
Looking at https://cloud.google.com/storage/docs/gsutil/addlhelp/CRC32CandInstallingcrcmod, it seems that this is used to validate integrity (e.g. checksums) so perhaps this is helpful for the use case you described in your original issue comment

So ...it seems that the file size might be prohibitive?
I can easily download a cif locally, as below;
gcloud storage cp gs://public-datasets-deepmind-alphafold-v4/AF-A0A009EVU0-F1-model_v4.cif .

But I noticed that when moving to my bucket I get the below warning about checksums (but it transfers ok);
WARNING: S3 support is currently unstable and should not be relied on for production workloads.
Copying gs://public-datasets-deepmind-alphafold-v4/sequences.fasta to s3://my-place/sequences.fasta

WARNING: S3 support is currently unstable and should not be relied on for production workloads.
WARNING: S3 does not support MD5 validation for the entire object if size ><PHONE_NUMBER> bytes. File size:<PHONE_NUMBER>7

I think my comment earlier is just a coincidence...so for my specific case I found a work-around to transfer from your bucket to my bucket, and then from my bucket to my local drive, but I was still unable to copy these from the ftp site or gs to my local storage.

I have been able to download large files locally -- what error were you seeing there? There is also the storage transfer service for cloud-to-cloud: https://cloud.google.com/storage-transfer-service

I have been able to download large files locally -- what error were you seeing there?

As written above, just the warning WARNING: S3 does not support MD5 validation for the entire object if size ><PHONE_NUMBER> bytes. File size:<PHONE_NUMBER>7 but the gs-to-aws bucket transfer is completed ok.

There is also the storage transfer service for cloud-to-cloud: https://cloud.google.com/storage-transfer-service

I was able to transfer from your gs to my aws bucket - I have paid aws and gcp accounts but maybe it's a configuration issue on my end.
Thanks for you help, because I have the bucket-transfer workaround I won't troubleshoot further. It could be a specific issue to my environemnt.

Thats great that this has worked. Closing this issue. Thanks!

Hi sorry to reopen this, but just want to point out that this worked for gs but failed for the s3 transfer with the below error. A quick search revealed that it's related to file size and internal aws checksums which may be circumvented by compressing.
gcloud storage cp gs://public-datasets-deepmind-alphafold-v4/sequences.fasta s3://my-place/

⠏ERROR: InvalidArgument: Part number must be an integer between 1 and 10000, inclusive


[cluster-test] Shorter validator pod names

Renames validator-xxx -> val-xxx and fullnode-x-y -> fn-x-y.
Those names are part of UX, for example they will appear in trace, so it is good to have them short

:umbrella: The latest upstream changes (presumably e2ff6d3d6ffb04347fd16965543374e2f50c349b) made this pull request unmergeable. Please resolve the merge conflicts.

@bors-libra delegate+
Can you test this once before landing (after tf apply)

:v: @andll can now approve this pull request

@bors-libra r=ankushagarwal

:pushpin: Commit debfd0d has been approved by ankushagarwal

@bors-libra p=10

:hourglass: Testing commit debfd0d4700d93245bb48148766067f89ab85196 with merge aa55a5a2f30f1f3a29e770d42d0c8859c66a04d6...

@ankushagarwal did this PR really need to jump the queue by setting a priority? There are other people in the queue who have been waiting and since this seems noncritical it seems like the priority feature is being taken advantage of here

We have made some changes to cluster test CI and this PR needs to be merged for the tests to pass. The other PRs would fail cluster test CI is they land before this.

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra retry

:hourglass: Testing commit debfd0d4700d93245bb48148766067f89ab85196 with merge<PHONE_NUMBER>caa6c1902a0c6e8ba483ef7836cfc6...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: ankushagarwal
Pushing<PHONE_NUMBER>caa6c1902a0c6e8ba483ef7836cfc6 to master...