UE40H6400 - characteristic was supplied illegal value: null

Describe Your Problem:
I'm getting the error below on my Samsung UE40H6400 and I don't get a pin displayed on the TV. Is there anything I can do?
Logs:
18/09/2021, 00:14:52Samsungtvht BridgeERROR[Samsung TV FC09@Samsung TV@Active] characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics
18/09/2021, 00:14:52Samsungtvht BridgeERROR[Samsung TV FC09@Samsung TV@Active] characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics
18/09/2021, 00:14:57Samsungtvht Bridge starting
18/09/2021, 00:14:59Samsungtvht BridgeLoaded plugin 'homebridge-samsungtvht'
18/09/2021, 00:14:59Samsungtvht BridgeLoading 1 platforms...
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGAPI event: didFinishLaunching
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGconfig { doublePressTime: 250, pingResponseOn: 'received, 0% packet', devices: [ { infoButton: 'KEY_MENU', arrowDownButtonTripleTap: 'KEY_DOWN', arrowLeftButton: 'KEY_LEFT', selectButtonDoubleTap: 'KEY_SOURCE', arrowDownButton: 'KEY_DOWN', playPauseButtonDoubleTap: 'KEY_PAUSE', arrowUpButtonTripleTap: 'KEY_UP', muteButton: 'KEY_MUTE', ipAddress: '<IP_ADDRESS>', powerOffButton: 'KEY_POWEROFF', arrowUpButtonDoubleTap: 'KEY_CHUP', voldownButton: 'KEY_VOLDOWN', backButton: 'KEY_RETURN', manufacturer: 'Samsung', arrowRightButton: 'KEY_RIGHT', selectButtonTripleTap: 'KEY_HDMI', volupButton: 'KEY_VOL_UP', viewTvSettingsCommand: 'KEY_MENU', powerOnStartupTime: 4, infoButtonDoubleTap: 'KEY_INFO', arrowRightButtonTripleTap: 'KEY_RIGHT', arrowLeftButtonTripleTap: 'KEY_LEFT', type: 'television', playPauseButtonTripleTap: 'KEY_STOP', firmwareRevision: '2.0.24', backButtonDoubleTap: 'KEY_EXIT', infoButtonTripleTap: 'KEY_TOOLS', arrowRightButtonDoubleTap: 'KEY_FF', powerOnCommand: "echo 'on 0' | cec-client -s -d 1", arrowDownButtonDoubleTap: 'KEY_CHDOWN', playPauseButton: 'KEY_PLAY', arrowUpButton: 'KEY_UP', modelName: 'UE40H6400', arrowLeftButtonDoubleTap: 'KEY_REWIND', name: 'Samsung TV', selectButton: 'KEY_ENTER', serialNumber: '05f5e101', voldownButtonTriplePress: 'KEY_MUTE', backButtonTripleTap: 'KEY_RETURN' } ], pingResponseOff: 'received, 100% packet', name: 'Samsung TV HT', platform: 'samsungtvht', doublePressDelayTime: 300, debugLevel: 3, pingCommand: 'ping -c 1 -w 10', triplePressTime: 450 }
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTChecking devices found in config for homebridge-samsungtvht
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTLoading device 1: Samsung TV <IP_ADDRESS>
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGprepareAccessory
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGprepareAccessoryInformationService
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGprepareTelevisionService
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGprepareTelevisionSpeakerService
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGprepareInputSourceServices
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV HTWARNINGprepareInputSourceServices inputs undefined
18/09/2021, 00:14:59Samsungtvht BridgeSamsung TV FC09 is running on port 46525.
18/09/2021, 00:14:59Samsungtvht BridgeBridge is running on port 51826.
18/09/2021, 00:15:05Samsungtvht BridgeSamsung TV HTWARNINGSamsung TV: updateDeviceState: currentPowerState null, currentMediaState 2 [STOP], currentInputId 999 [undefined], currentSourceType undefined
18/09/2021, 00:15:05Samsungtvht BridgeSamsung TV HTSamsung TV: Power changed from 0 OFF to null undefined
18/09/2021, 00:15:05Samsungtvht BridgeERROR[Samsung TV FC09@Samsung TV@Active] characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics

Plugin Config:
{
  "accessories" : [

  ],
  "platforms" : [
    {
      "debugLevel" : 3,
      "devices" : [
        {
          "arrowDownButton" : "KEY_DOWN",
          "arrowDownButtonDoubleTap" : "KEY_CHDOWN",
          "arrowDownButtonTripleTap" : "KEY_DOWN",
          "arrowLeftButton" : "KEY_LEFT",
          "arrowLeftButtonDoubleTap" : "KEY_REWIND",
          "arrowLeftButtonTripleTap" : "KEY_LEFT",
          "arrowRightButton" : "KEY_RIGHT",
          "arrowRightButtonDoubleTap" : "KEY_FF",
          "arrowRightButtonTripleTap" : "KEY_RIGHT",
          "arrowUpButton" : "KEY_UP",
          "arrowUpButtonDoubleTap" : "KEY_CHUP",
          "arrowUpButtonTripleTap" : "KEY_UP",
          "backButton" : "KEY_RETURN",
          "backButtonDoubleTap" : "KEY_EXIT",
          "backButtonTripleTap" : "KEY_RETURN",
          "firmwareRevision" : "2.0.24",
          "infoButton" : "KEY_MENU",
          "infoButtonDoubleTap" : "KEY_INFO",
          "infoButtonTripleTap" : "KEY_TOOLS",
          "ipAddress" : "<IP_ADDRESS>",
          "manufacturer" : "Samsung",
          "modelName" : "UE40H6400",
          "muteButton" : "KEY_MUTE",
          "name" : "Samsung TV",
          "playPauseButton" : "KEY_PLAY",
          "playPauseButtonDoubleTap" : "KEY_PAUSE",
          "playPauseButtonTripleTap" : "KEY_STOP",
          "powerOffButton" : "KEY_POWEROFF",
          "powerOnCommand" : "echo 'on 0' | cec-client -s -d 1",
          "powerOnStartupTime" : 4,
          "selectButton" : "KEY_ENTER",
          "selectButtonDoubleTap" : "KEY_SOURCE",
          "selectButtonTripleTap" : "KEY_HDMI",
          "serialNumber" : "05f5e101",
          "type" : "television",
          "viewTvSettingsCommand" : "KEY_MENU",
          "voldownButton" : "KEY_VOLDOWN",
          "voldownButtonTriplePress" : "KEY_MUTE",
          "volupButton" : "KEY_VOL_UP"
        }
      ],
      "doublePressDelayTime" : 300,
      "doublePressTime" : 250,
      "name" : "Samsung TV HT",
      "pingCommand" : "ping -c 1 -w 10",
      "pingResponseOff" : "received, 100% packet",
      "pingResponseOn" : "received, 0% packet",
      "platform" : "samsungtvht",
      "plugin_map" : {
        "plugin_name" : "homebridge-samsungtvht"
      },
      "triplePressTime" : 450
    }
  ]
}

Environment:

Plugin Version: 0.0.4
Homebridge Version: HOOBS 4.0.100
Operating System: HOOBS

Hi, thanks, I'll look at this. It's definitely  bug on my side. Look out for a fix tomorrow.

Thanks for the quick response! Really grateful, let me know if you need anything from me :)

Hi, can you enable Homebridge in debug mode and send me the log?
It will show more info as to what is happening during the startup sequence when the error is being thrown.

I enabled debug in HOOBS and this is what it gave me, hope it helps :) Thanks again for helping with this
18/09/2021, 17:08:35Shutting down
18/09/2021, 17:08:35Samsungtv Control Bridge stopping
18/09/2021, 17:08:35Samsungtvht Bridge stopping
18/09/2021, 17:08:35Samsungtv 2014 Bridge stopping
18/09/2021, 17:08:35Broadlink Rm Pro Bridge stopping
18/09/2021, 17:08:35Samsungtvht BridgeSamsung TV HTWARNINGSamsung TV: updateDeviceState: currentPowerState 0, currentMediaState 2 [STOP], currentInputId 999 [undefined], currentSourceType undefined
18/09/2021, 17:08:40Stopped
18/09/2021, 17:09:00hub is running on port 80
18/09/2021, 17:09:01Samsungtvht Bridge starting
18/09/2021, 17:09:01Samsungtv Control Bridge starting
18/09/2021, 17:09:02Samsungtv 2014 Bridge starting
18/09/2021, 17:09:02Broadlink Rm Pro Bridge starting
18/09/2021, 17:09:03Samsungtvht BridgeInitializing HAP-NodeJS v0.9.4...
18/09/2021, 17:09:04Samsungtvht BridgeLoaded plugin 'homebridge-samsungtvht'
18/09/2021, 17:09:04Samsungtvht BridgeRegistering platform 'homebridge-samsungtvht.samsungtvht'
18/09/2021, 17:09:04Samsungtvht BridgeLoading 1 platforms...
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGAPI event: didFinishLaunching
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGconfig { doublePressTime: 250, pingResponseOn: 'received, 0% packet', devices: [ { infoButton: 'KEY_MENU', arrowDownButtonTripleTap: 'KEY_DOWN', arrowLeftButton: 'KEY_LEFT', selectButtonDoubleTap: 'KEY_SOURCE', arrowDownButton: 'KEY_DOWN', playPauseButtonDoubleTap: 'KEY_PAUSE', arrowUpButtonTripleTap: 'KEY_UP', muteButton: 'KEY_MUTE', ipAddress: '<IP_ADDRESS>', powerOffButton: 'KEY_POWEROFF', arrowUpButtonDoubleTap: 'KEY_CHUP', voldownButton: 'KEY_VOLDOWN', backButton: 'KEY_RETURN', manufacturer: 'Samsung', arrowRightButton: 'KEY_RIGHT', selectButtonTripleTap: 'KEY_HDMI', volupButton: 'KEY_VOL_UP', viewTvSettingsCommand: 'KEY_MENU', powerOnStartupTime: 4, infoButtonDoubleTap: 'KEY_INFO', arrowRightButtonTripleTap: 'KEY_RIGHT', arrowLeftButtonTripleTap: 'KEY_LEFT', type: 'television', playPauseButtonTripleTap: 'KEY_STOP', firmwareRevision: '2.0.24', backButtonDoubleTap: 'KEY_EXIT', infoButtonTripleTap: 'KEY_TOOLS', arrowRightButtonDoubleTap: 'KEY_FF', powerOnCommand: "echo 'on 0' | cec-client -s -d 1", arrowDownButtonDoubleTap: 'KEY_CHDOWN', playPauseButton: 'KEY_PLAY', arrowUpButton: 'KEY_UP', modelName: 'UE40H6400', arrowLeftButtonDoubleTap: 'KEY_REWIND', name: 'Samsung TV', selectButton: 'KEY_ENTER', serialNumber: '05f5e101', voldownButtonTriplePress: 'KEY_MUTE', backButtonTripleTap: 'KEY_RETURN' } ], pingResponseOff: 'received, 100% packet', name: 'Samsung TV HT', platform: 'samsungtvht', doublePressDelayTime: 300, debugLevel: 3, pingCommand: 'ping -c 1 -w 10', triplePressTime: 450 }
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTChecking devices found in config for homebridge-samsungtvht
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTLoading device 1: Samsung TV <IP_ADDRESS>
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGprepareAccessory
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGprepareAccessoryInformationService
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGprepareTelevisionService
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGprepareTelevisionSpeakerService
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGprepareInputSourceServices
18/09/2021, 17:09:04Samsungtvht BridgeSamsung TV HTWARNINGprepareInputSourceServices inputs undefined
18/09/2021, 17:09:05Samsungtvht BridgePreparing Advertiser for 'Samsung TV FC09' using bonjour-hap backend!
18/09/2021, 17:09:05Samsungtvht BridgePreparing Advertiser for 'Samsungtvht Bridge C12F' using bonjour-hap backend!
18/09/2021, 17:09:05Samsungtvht BridgeStarting to advertise 'Samsung TV FC09' using bonjour-hap backend!
18/09/2021, 17:09:05Samsungtvht BridgeSamsung TV FC09 is running on port 43443.
18/09/2021, 17:09:05Samsungtvht BridgeStarting to advertise 'Samsungtvht Bridge C12F' using bonjour-hap backend!
18/09/2021, 17:09:05Samsungtvht BridgeBridge is running on port 51826.
18/09/2021, 17:09:08Samsungtvht BridgeSamsung TV HTWARNINGSamsung TV: updateDeviceState: currentPowerState null, currentMediaState 2 [STOP], currentInputId 999 [undefined], currentSourceType undefined
18/09/2021, 17:09:08Samsungtvht BridgeSamsung TV HTSamsung TV: Power changed from 0 OFF to null undefined
18/09/2021, 17:09:08Samsungtvht BridgeERROR[Samsung TV FC09@Samsung TV@Active] characteristic was supplied illegal value: null! Home App will reject null for Apple defined characteristics
18/09/2021, 17:09:08Samsungtvht BridgeSamsung TV HTSamsung TV: Media state changed from 0 PLAY to 2 STOP
18/09/2021, 17:09:09Samsungtvht BridgeSamsung TV HTWARNINGSamsung TV: updateDeviceState: currentPowerState 1, currentMediaState 2 [STOP], currentInputId 999 [undefined], currentSourceType undefined
18/09/2021, 17:09:09Samsungtvht BridgeSamsung TV HTSamsung TV: Power changed from 0 OFF to 1 ON
18/09/2021, 17:09:11Samsungtvht BridgeSamsung TV HTWARNINGSamsung TV: updateDeviceState: currentPowerState 1, currentMediaState 2 [STOP], currentInputId 999 [undefined], currentSourceType undefined
18/09/2021, 17:09:13Samsungtvht BridgeSamsung TV HTWARNINGSamsung TV: updateDeviceState: currentPowerState 1, currentMediaState 2 [STOP], currentInputId 999 [undefined], currentSourceType undefined
18/09/2021, 17:09:15Samsungtvht BridgeSamsung TV HTWARNINGSamsung TV: updateDeviceState: currentPowerState 1, currentMediaState 2 [STOP], currentInputId 999 [undefined], currentSourceType undefined

OK, I believe I know what is happening. I made the code more robust and pushed v0.0.6. Try it any let me know if the problem is cured.

@ChrisTav424 so you are not able to get the popup message on your TV during the "first pairing"? Right?
@jsiegenthaler  The UE40H6400 maybe has another pairing method, with different ports as our D and E Models?
I didnt checked this out exactly. But maybe a hint...

@huddx01 Yes that's right. I can get it using a universal remote on my phone and I can get to <IP_ADDRESS>:8001/api/v2/ successfully.
@jsiegenthaler I'm not home at the moment but will give the new code a try when I get home.
Thank you both :)

@ChrisTav424 Let us know... I think i can imagine what it could depend on, if it shouldn't work.

It's not showing the update in HOOBS, I can see the latest version in git though. Is there a delay before it reaches the HOOBS plugin library?
I can wipe HOOBS and install homebridge if needed though

It's not showing the update in HOOBS, I can see the latest version in git though. Is there a delay before it reaches the HOOBS plugin library?
I can wipe HOOBS and install homebridge if needed

Hi.
I do not have HOOBS and thus cannot say what HOOBS does or does not do, or how often HOOBS updates it's list of available packages or versions. On my Raspberry Pi and Homebridge, the new version shows up within about 10 seconds of publishing.
The NPM repository is showing 0.0.6 as the current version: https://www.npmjs.com/package/homebridge-samsungtvht
But if you have installed it manually, then great.
To continue debugging your setup, please do this

Set Homebridge to debug mode
Ensure a samsungtvht debug line "debugLevel": 5, is present in the config. See my config example here: https://github.com/jsiegenthaler/homebridge-samsungtvht#configuration

Then reboot Homebridge, and send me the log. The log will have more debug entries, especially for the powerStateMonitor, which is where the problem lies I believe.
I need to see all the samsungtvht entries, but other entries and sensitive information can be removed.
Thanks

I've installed homebridge today instead of HOOBS. Here is the full debug log.
I've changed the password since running this :)
homebridge.log.txt

I've installed homebridge today instead of HOOBS. Here is the full debug log.
I've changed the password since running this :)
homebridge.log.txt

All looks good, you just need to update Node:
[19/09/2021, 18:34:27] The plugin "homebridge-samsungtvht" requires Node.js version of >=14.17.6 which does not satisfy the current Node.js version of v14.17.4. You may need to upgrade your installation of Node.js - see https://git.io/JTKEF

Great, have updated Node.js successfully.
Getting closer, but I still can't get the pin on the TV
homebridge.log.txt

Great, have updated Node.js successfully.

Getting closer, but I still can't get the pin on the TV
homebridge.log.txt

Ah. I did not realize that was your issue. I was looking for and solving errors that were being logged!
I just went through the sequence to pair a new network remote to my Samsung D-5000 TV:

First enable network remote control on the TV: Menu > Plug & Play > Network Remote Control > ON

Ensure TV is connected to Ethernet LAN and you know it's IP address

Ensure IP address is configured in the plugin

Then turn on the TV, let the plugin detect the TV power-on state (wait for it to show the TV is on). This means the ping is working and the IP address is correct

Then open the iOS Remote Control and tap any button to send a command.

The TV will display
New remote Node.JS S...(00:00:00:00) has
been detected. Choose whether to use the
remote control
[ Allow ] [ Deny ]

Your TV menu options may be different if you have a different TV model to me. Just look for the network remote control setting.

Does your H-series TV have Smart TV+ or Allshare?
Where are you in the world?

I'm in the UK. I don't have the Smart TV + streaming service but it does have apps like Netflix etc and I can control the tv using apps like "SamRemote".
I'll try removing it from HomeKit and attempt again but initially still get the same problem where it doesn't show the pin :(

Hi @ChrisTav424
I am sure I have discovered the problem.
The C, D, ES, EH and F series all have Network Remote Control and work without a PIN.
The H-series requires a PIN for authentication.
The samsung-remote that I use for the network remote control was designed for the Network Remote Control and does not support the PIN needed for the H series.
An alternative exists samsung-tv-control which appears to support legacy Samsung TVs (using Network Remote Control without PIN) and the newer TVs.
I will experiment with this, but as I do not have an H-series TV, I would need your assistance.
I have opened issue https://github.com/jsiegenthaler/homebridge-samsungtvht/issues/3 to track the request for the H series
In the meantime, I will close this issue as the original problem has been fixed.


feat(google-tag-manager): changes for AA accessibility

Thanks @chrisladams :)

Released with v2: https://github.com/nuxt-community/gtm-module/releases/tag/v2.0.0 ✌
All feedbacks and improvements more than welcome!


null safety errors removed from debugOptionsExample

There were these null-safety errors, in the file DebugOptionsExample that have been removed.

late initialization might push up still


dragScale is not working

What parameter is responsible for the speed of tracking a swipe? If I understood correctly, then this is a dragScale, but changing its value does not change anything.
Video:
https://i.stack.imgur.com/0yrjt.gif
Layout:
https://pastebin.com/Rcrdm2d1
Motion:
https://pastebin.com/MfQihgxZ
Transition snippet:
<Transition     android:id="@+id/rightTransition"     motion:constraintSetEnd="@+id/right"     motion:constraintSetStart="@id/start"     motion:motionInterpolator="linear"     motion:duration="300">     <OnSwipe         motion:dragDirection="dragRight"         motion:springStopThreshold="1"         motion:dragScale="4"         motion:maxAcceleration="600"         motion:onTouchUp="autoComplete"         motion:touchAnchorSide="right" /> ....

https://www.youtube.com/watch?v=8McWIOhh7aA&t=1087s


Add Boost Software License 1.0.

Fixes #223

@joto thanks!
I made a few changes:

same-license is not a limitation and doesn't apply in any way to BSL-1.0
other licenses with a per-file notice recommendation get that added to the note field
have the description mention the reason for this license existing, binary distribution without notices (IIUC)
remove using: pending an example that can be followed by others and detected eg on GitHub, see https://github.com/github/choosealicense.com/blob/gh-pages/README.md#optional-fields and see #358 #372 #377

If you see anything wrong please let me know or make more commits to this branch. Feel free to suggest 'using' examples now, or another time (it's an optional field).
Finally, could you sign the CLA -- see "details" link next to failing test?

@mlinksva Looks great. Thank you!

I still cant choose the boost license if I create a new LICENSE.md. boost is not available as a template?

Update -- though there's no UI to choose Boost from, you can load the license up in the chooser with the following (replace <user> and <repo> with yours):
https://github.com/<user>/<repo>/community/license/new?branch=master&template=bsl-1.0

Thanks, that worked for me...


fix: raise pod name limit

The PR title got fix instead of refactor to trigger release-please CI action
Resolves: #138

ok

fairOS changes are in this PR


bug with homepage search on dev.facebase.org

User reported the homepage search did not work for her. After adding a search term and clicking Search, the results on the new tab didn't include the search term and just showed all datasets.
The Hub experimented with different browsers and got different behaviors without a specific pattern. Chrome and Firefox sometimes worked for different users and sometimes didn't. Clearing cache didn't seem to be a factor.
However, Safari did consistently show the bug. Then today, I tried the homepage search on Safari and it actually opened up two tabs. one that showed the expected search results, and one that showed all datasets.
Expected behavior:

Go to dev.facebase.org
Enter "mouse mandible" in the homepage search.
New tab opens with 15 results for "mouse mandible"

Buggy behavior:

Go to dev.facebase.org
Enter "mouse mandible" in the homepage search.
Either one new tab opens with no search terms and showing all datasets OR
two tabs open (in Safari) - one with 15 results for "mouse mandible" and one with no search terms and showing all datasets.

Two different submit handlers are registered on the page, causing this bug. One is in the home-search.js and the other in the script tag at the bottom of the page. The code in the script tag looks like a leftover from the previous implementation and should be removed.


Update JFF Integration Guide to Include Issuer Registry Info

Please update jff.md to include information:

Instructions for JFF participants issuing to the LCW about how to add themselves to the community registry via a github pull

(This is the most timely info needed)
Can also add:

Background (why) about issuer registries and the ones we have
how the wallet and verifier use them

Suggest getting the first bullet published first if the next two may take a little longer to explain and need edits.

@kayaelle @dmitrizagidulin
The four new registries (including the community) don't yet seem to have actual registry files yet:
https://github.com/digitalcredentials/community-registry
https://github.com/digitalcredentials/sandbox-registry
https://github.com/digitalcredentials/dcc-registry
https://github.com/digitalcredentials/dcc-pilot-registry
Should I commit one, at least to the community registry, so that it is easier for JFF partners to submit a PR for their DID. I'd follow the example of what's now in the 'old' registry:
https://github.com/digitalcredentials/issuer-registry/blob/main/registry.json
So, something like:
{
  "meta": {
    "created": "2020-12-02T02:32:16+0000",
    "updated": "2022-05-25T12:40:00+0000"
  },
  "registry": {
    "did:key:z6Mktpn6cXks1PBKLMgZH2VaahvCtBMF6K8eCa7HzrnuYLZv": {
      "name": "Example University 1 (DCC test-only issuer)",
      "location": "Cambridge, MA, USA",
      "url": "https://openlearning.mit.edu"
    },
    "did:key:z6MkqEwzA36k2PWsWpeQXjFMzT1PpZuVjZ9W9jd2ZGRb6JKr": {
      "name": "DCC Sandbox Issuer",
      "location": "Cambridge, MA, USA",
      "url": "https://verify.dcconsortium.org"
    },
    "did:key:z6MkhVTX9BF3NGYX6cc7jWpbNnR7cAjH8LUffabZP8Qu4ysC": {
      "name": "DCC Playground",
      "location": "Cambridge, MA, USA",
      "url": "https://digitalcredentials.github.io/playground"
    }
}

And should I include an existing DID in the community registry (maybe even the three DID I've listed above?), if only to serve as an example for whoever is first to submit a PR for their issuing DID?

@jchartrand - great question. I think an example is a good idea but suspect that they should be just examples and not real DIDs that are already in the main issuer registry.
Follow-up question for @dmitrizagidulin: what happens if there are duplicate entries in multiple registries. Does the verifier quit after it finds one? What properties does it search for?

@kayaelle @dmitrizagidulin
How about this as a starting registry (I made up the keys):
{
  "meta": {
    "created": "2020-12-02T02:32:16+0000",
    "updated": "2022-05-25T12:40:00+0000"
  },
  "registry": {
    "did:key:z6MkpLDL3RoAoMRTwTgo3rs39ZwssfaPKtGdZw7AGRN7CK4W": {
      "name": "My University",
      "location": "Cambridge, MA, USA",
      "url": "https://digitalcredentials.mit.edu"
    },
    "did:key:z6MkwcvAGvRUZk5TjdAZrBwQdaSYwDTbpEGjCrqR5zWU3Yf3": {
      "name": "My College",
      "location": "Prato, Italy",
      "url": "https://some.domain.org"
    },
    "did:web:credentials.myschool.ca": {
      "name": "My School",
      "location": "Ancaster, ON, Canada",
      "url": "https://some.domain.ca"
    }
}

Oh, and I guess the instructions should ask that anyone submitting a PR should also change the 'updated' date?

@kayaelle @dmitrizagidulin
And maybe the instructions (and rationale) for adding a DID to the registry should be in the README for the registries themselves?  The JFF guide could just point there, e.g., "Follow the instructions at DCC Community Registry to add your issuing key to the DCC Community registry."


speed up tests/environment setup by installing torch-cpu

Installing caikit-nlp also requires torch which pulls down a lot of extra cuda dependencies which occupy a lot of space (and CI time). A full caikit-nlp install requires ~5GB of space. Installing the cpu version of torch, requires ~800MB
Specific versions can be installed by providing the  index urls:

cpu  "https://download.pytorch.org/whl/cpu"
cuda 11.8 "https://download.pytorch.org/whl/cu118"
cuda 12.1 "https://download.pytorch.org/whl/cu121"

e.g.:
python -m venv .venv
source .venv/bin/activate
pip install --index-url=https://download.pytorch.org/whl/cpu torch
du -sh .venv # 813M

will install torch==2.1.0+cpu (not available on PyPi).
It could be worth it to explore whether we can avoid installing the full torch version in our nox sessions to speed up testing

Done in 5a87a5cb


Added lookAt and lookAtDirection to Node

If we call the lookAt method on an ArModelNode and pass the camera position as the targetPosition, which local axis of the model do we expect to face the camera after the method call?

If we call the lookAt method on an ArModelNode and pass the camera position as the targetPosition, which local axis of the model do we expect to face the camera after the method call?

I would expect the z+ axis to point towards the camera.
Does this implementation uses any Sceneform methods? I remember that @ThomasGorisse was talking about a lookAt method based on the kotlin-math library recently.

It doesn't use any Sceneform methods.
I'd also expect the z+ axis to point towards the camera but using the current lookTowards function in Matrix.kt, the z- axis looks at the camera. I'm not sure if the implementation of the lookTowards function is correct. I think this is the correct implementation:
fun lookTowards(eye: Float3, forward: Float3, up: Float3 = Float3(z = 1.0f)): Mat4 {
    val f = normalize(forward)
    val r = normalize(up x f)
    val u = normalize(f x r)
    return Mat4(Float4(r), Float4(u), Float4(f), Float4(eye, 1.0f))
}

Yep. We had a discussion around it within Kotlin-math. Even if it's pretty obvious in 3D that up sould have been default parameter value, it's not the case in a more mathematical think.
So we have a to give the up parameter on each call.

Could you also add the `fun lookAt(node:Node)?

I'm not sure if the implementation of the lookTowards function is correct.

I think it is just a convention and it can be just a Romain's preference. See this commit, for example: https://github.com/romainguy/kotlin-math/commit/54d6e97cbde22614d3ed65ed4a587922b310e4cb
We can flip the direction in the Sceneview code.

If you want to test the lookAt, put this code in the MainActivity of ar-model-viewer:
package io.github.sceneview.sample.armodelviewer

import android.os.Bundle
import android.view.Menu
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.appcompat.widget.Toolbar
import androidx.core.view.isGone
import androidx.core.view.isVisible
import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton
import io.github.sceneview.ar.ArSceneView
import io.github.sceneview.ar.node.ArModelNode
import io.github.sceneview.ar.node.PlacementMode
import io.github.sceneview.math.Position
import io.github.sceneview.utils.doOnApplyWindowInsets
import io.github.sceneview.utils.setFullScreen

class MainActivity : AppCompatActivity(R.layout.activity_main) {

    lateinit var sceneView: ArSceneView
    lateinit var loadingView: View
    lateinit var placeModelButton: ExtendedFloatingActionButton
    lateinit var newModelButton: ExtendedFloatingActionButton
    var first = false

    data class Model(
        val fileLocation: String,
        val scaleUnits: Float? = null,
        val placementMode: PlacementMode = PlacementMode.BEST_AVAILABLE
    )

    val models = listOf(
        Model("models/direction.glb", scaleUnits = 0.25f),
        Model(
            https://storage.googleapis.com/ar-answers-in-search-models/static/Tiger/model.glb,
            placementMode = PlacementMode.BEST_AVAILABLE.apply {
                keepRotation = true
            },
            // Display the Tiger with a size of 3 m long
            scaleUnits = 2.5f
        ),
        Model(
            https://sceneview.github.io/assets/models/DamagedHelmet.glb,
            placementMode = PlacementMode.INSTANT,
            scaleUnits = 0.5f
        ),
        Model(
            https://storage.googleapis.com/ar-answers-in-search-models/static/GiantPanda/model.glb,
            placementMode = PlacementMode.PLANE_HORIZONTAL,
            // Display the Tiger with a size of 1.5 m height
            scaleUnits = 1.5f
        ),
        Model(
            https://sceneview.github.io/assets/models/Spoons.glb,
            placementMode = PlacementMode.PLANE_HORIZONTAL_AND_VERTICAL,
            // Keep original model size
            scaleUnits = null
        ),
        Model(
            https://sceneview.github.io/assets/models/Halloween.glb,
            placementMode = PlacementMode.PLANE_HORIZONTAL,
            scaleUnits = 2.5f
        ),
    )
    var modelIndex = 0
    var modelNode: ArModelNode? = null

    var isLoading = false
        set(value) {
            field = value
            loadingView.isGone = !value
        }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        setFullScreen(
            findViewById(R.id.rootView),
            fullScreen = true,
            hideSystemBars = false,
            fitsSystemWindows = false
        )

        setSupportActionBar(findViewById<Toolbar>(R.id.toolbar)?.apply {
            doOnApplyWindowInsets { systemBarsInsets ->
                (layoutParams as ViewGroup.MarginLayoutParams).topMargin = systemBarsInsets.top
            }
            title = ""
        })
        sceneView = findViewById(R.id.sceneView)
        loadingView = findViewById(R.id.loadingView)
        newModelButton = findViewById<ExtendedFloatingActionButton>(R.id.newModelButton).apply {
            // Add system bar margins
            val bottomMargin = (layoutParams as ViewGroup.MarginLayoutParams).bottomMargin
            doOnApplyWindowInsets { systemBarsInsets ->
                (layoutParams as ViewGroup.MarginLayoutParams).bottomMargin =
                    systemBarsInsets.bottom + bottomMargin
            }
            setOnClickListener { newModelNode() }
        }
        placeModelButton = findViewById<ExtendedFloatingActionButton>(R.id.placeModelButton).apply {
            setOnClickListener { placeModelNode() }
        }

        newModelNode()
    }

    override fun onCreateOptionsMenu(menu: Menu?): Boolean {
        menuInflater.inflate(R.menu.activity_main, menu)
        return super.onCreateOptionsMenu(menu)
    }

    override fun onOptionsItemSelected(item: MenuItem): Boolean {
        item.isChecked = !item.isChecked
        modelNode?.detachAnchor()
        modelNode?.placementMode = when (item.itemId) {
            R.id.menuPlanePlacement -> PlacementMode.PLANE_HORIZONTAL_AND_VERTICAL
            R.id.menuInstantPlacement -> PlacementMode.INSTANT
            R.id.menuDepthPlacement -> PlacementMode.DEPTH
            R.id.menuBestPlacement -> PlacementMode.BEST_AVAILABLE
            else -> PlacementMode.DISABLED
        }
        return super.onOptionsItemSelected(item)
    }

    fun placeModelNode() {
        if (!first) {
            modelNode?.anchor()
            placeModelButton.isVisible = true
            sceneView.planeRenderer.isVisible = false
            first = true
        } else {
            modelNode?.lookAt(
                sceneView.camera.worldPosition,
                smooth = true
            )
        }
    }

    fun newModelNode() {
        isLoading = true
        modelNode?.takeIf { !it.isAnchored }?.let {
            sceneView.removeChild(it)
            it.destroy()
        }
        val model = models[modelIndex]
        modelIndex = (modelIndex + 1) % models.size
        modelNode = ArModelNode(model.placementMode).apply {
            loadModelAsync(
                context = this@MainActivity,
                lifecycle = lifecycle,
                glbFileLocation = model.fileLocation,
                autoAnimate = true,
                scaleToUnits = model.scaleUnits,
                // Place the model origin at the bottom center
                centerOrigin = Position(y = -1.0f)
            ) {
                sceneView.planeRenderer.isVisible = true
                isLoading = false
            }
            onPoseChanged = { node, _ ->
                placeModelButton.isGone = node.isAnchored || !node.isTracking
            }
        }
        sceneView.addChild(modelNode!!)
        // Select the model node by default (the model node is also selected on tap)
        sceneView.selectedNode = modelNode
    }
}

And put this model in the models directory.
After placing the model, if you press place object again, it will look at the camera.

If you test with the model I sent, the blue arrow, which is the local z+ of the model, will only look at the camera if you use this:
fun lookTowards(eye: Float3, forward: Float3, up: Float3 = Float3(z = 1.0f)): Mat4 {
    val f = normalize(forward)
    val r = normalize(up x f)
    val u = normalize(f x r)
    return Mat4(Float4(r), Float4(u), Float4(f), Float4(eye, 1.0f))
}

I think I also have to check if the Node is a LightNode and in that case flip the direction🤔

Can you override it within LightNode?
I think that Camera doesn't need it (@grassydragon, if I'm not wrong, the Filament Matrix shouldn't be direction inversed?)

I think that Camera doesn't need it (@grassydragon, if I'm not wrong, the Filament Matrix shouldn't be direction inversed?)

Do you mean the camera transformation matrix? The methods provided by kotlin-math can be used for the camera transformation without reversing the look direction.

Why would we rotate the camera to look at something? Isn't the camera rotation tied to the device's rotation?

I would even more say that we MUST control the Camera on 3D only. Other nodes should be static.


can use google auth register a user

Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.

Project coverage is 0.92%. Comparing base (112be84) to head (40f9f7a).

Files with missing lines
Patch %
Lines

src/pages/Register.tsx
0.00%
2 Missing :warning:

Additional details and impacted files
@@           Coverage Diff            @@
##            main     #20      +/-   ##
========================================
- Coverage   0.92%   0.92%   -0.01%
========================================
  Files         28      28
  Lines       1614    1616       +2
  Branches      29      29
========================================
  Hits          15      15
- Misses      1572    1574       +2
  Partials      27      27

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Dead link to User Entity

The link "For information on managing user accounts programmatically, see the User entity documentation in the API Management REST reference." with the url : "https://docs.microsoft.com/en-us/rest/api/apimanagement/user" results in a 404 error message.

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

ID: 30a7ef7d-09d5-c54e-316d-d706c0296c41
Version Independent ID: e787063b-6141-78f3-a7ab-2e21604562b3
Content: How manage user accounts in Azure API Management
Content Source: articles/api-management/api-management-howto-create-or-invite-developers.md
Service: api-management
GitHub Login: @vladvino
Microsoft Alias: apimpm

@PatrikNorrgard Thanks for the feedback! I have assigned this issue to the content author to investigate further and update the document as appropriate.

@SadiqhAhmed-MSFT
This issue should be closed, because the 404 dead link to API Management's user API has been updated and merged with correct link.
The commit is: https://github.com/MicrosoftDocs/azure-docs/commit/4a88fbe302355621798b4df2b32514d6f0a7cdf6#diff-7578e41fab84d78fc4107f38ddd85e40

@eriawan Thanks for the update.


Need help. Unable to run application

Hello. I'm can't figure out how to run application under Windows and Apache (Open Server).
I have folder C:\OpenServer\domains\laravel\admin-packages\silex-admingenerator
with clean installation and generated files, which I try to access on this url:
http://laravel/admin-packages/silex-admingenerator/
I tried different options with .htaccess but I get 500 error.
Can anyone give advice where exactly to put .htaccess, with what options and from what url application should be accessible?
Thanks in advance!

I simpy deleted .htaccess that I created in the root of installation:
(C:\OpenServer\domains\laravel\admin-packages\silex-admingenerator)
and deleted this line in .htaccess in 'web' directory: 'php_flag display_errors off'
Then I fixed one php error.
Next line was generated for admin controller: 'enum('admin','user')',
I suppose this should be fixed. Changed this to "enum('admin','user')"
And changed asset path in app.php to


Empty array literal is zero-tuple

Motivation

Instead of treating [] as type T::Array[T.untyped], we treat it as
[] (0-tuple) and special case TupleType::underlying to continue to
decay to T::Array[T.untyped].
Should fix #3751
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_IcGtcjILz1GaiY
→ https://go/builds/bui_IcGtNX4OLAnlXi

What about the following:
# typed: true

x = []
x << 10

T.reveal_type(x)

Currently this will print out T::Array[T.untyped], but with the change you're proposing it will print [] (0-tuple) despite there being one element in it now.

Currently this will print out T::Array[T.untyped], but with the change you're proposing it will print [] (0-tuple) despite there being one element in it now.

Yeah, and it causes 500 errors on pay-server as a result.

But in principle, the same problem exists if you had done this:
# typed: true

x = [17]
x << 42

T.reveal_type(x)

https://sorbet.run/#%23 typed%3A true
x %3D [17]
x << 42

T.reveal_type(x)

so arguably we shouldn't special case [] as much as we have and if we can easily migrate to this PR, then things would be more symmetric (and also it'd be more obvious when people need to add type annotations to prevent T.untyped from creeping in)

@elliottt Stripe's codebase is fixed so this should be good to go whenever you have a chance.


Documentation Video link is broken

Describe the bug
Some links are broken
To Reproduce
Steps to reproduce the behavior:

Go to https://docs.accordproject.org/docs/accordproject-tour.html
Click on the video
There is aproblem displaying the video from vimeo on this page

Expected behavior
The video should have a valid link
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: windows
Browser chrome
Version 87.0.4280.66

@sofiter I think the video should work again, could you confirm?

Yes, all good now, should I close the issue?

Yes, all good now, should I close the issue?

yes please!


Authorization headers in checks

Description
Add an advanced setting to include authentication headers inside the checks. This feature is important for private projects.
How to

Added toggle options in check section to show the advance settings
Added dropdown with the most used headers and add the possibility to add a custom header
Encrypt the authorization value with a secret phrase
The authorization value NEVER SEND AGAIN TO THE CLIENT SIDE, create an indicator to tell to the user if the value exists in the database

const crypto = require('crypto');

const algorithm = 'aes-256-ctr';
const secretKey = 'theSecretKey';

const encrypt = (text) => {

  const iv = crypto.randomBytes(16);

  const cipher = crypto.createCipheriv(algorithm, secretKey, iv);

  const encrypted = Buffer.concat([cipher.update(text), cipher.final()]);

  return {
    iv: iv.toString('hex'),
    content: encrypted.toString('hex')
  };
};

const decrypt = (hash) => {

  const decipher = crypto.createDecipheriv(algorithm, secretKey, Buffer.from(hash.iv, 'hex'));

  const decrpyted = Buffer.concat([decipher.update(Buffer.from(hash.content, 'hex')), decipher.final()]);

  return decrpyted.toString();
};

const text = 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';
const encrypted = encrypt(text);
console.log('🚀 ~ file: Untitled-1 ~ line 31 ~ encrypted', encrypted);
const decrypted = decrypt(encrypted);
console.log('🚀 ~ file: Untitled-1 ~ line 32 ~ decrypted', decrypted);

Utility for use crypto are created ✅

Created a new entity check_authorization to store all the authorizations encrypted
CREATE TABLE public.check_authorizations (
	id serial4 NOT NULL,
	encrypted_data jsonb NOT NULL,
	created_at timestamptz NOT NULL,
	updated_at timestamptz NOT NULL,
	check_id int4 NULL,
	CONSTRAINT check_authorizations_pkey PRIMARY KEY (id),
	CONSTRAINT check_authorizations_check_id_fkey FOREIGN KEY (check_id) REFERENCES public.checks(id) ON DELETE SET NULL ON UPDATE CASCADE
);

Handle the authorizationHeader in checks creation ✅

Update postman collection ✅

Handle the AuthorizationHeader on checks update ✅

Handle the AuthorizationHeader on app started ✅

To-do:

[ ] Add indicator to all the checks having authorization header into the checks list


Old FF: ReferenceError: _0xXXXXXX is not defined

Sometimes, everything breaks down in the Firefox, with an error ReferenceError: _0x143f35 is not defined, for example. Reproduces in Firefox 43.0 and other versions maybe.
The last time the problem was there:
ReferenceError: _0x143f35 is not defined
if (/* (...) */ false) {
    // (...)
} else {
    var _0x2c7b7e = _0xe6bc0b[_0xef93('0xa6')](_0x1342f8, 1);
    var _0x5d86a1 = _0xe6bc0b[_0xef93('0xa7')](_0x143f35, _0x2c7b7e);
    var _0x160cc7 = _0x1342f8(3);
    var _0xd745f9 = _0xe6bc0b[_0xef93('0xa7')](_0x143f35, _0x160cc7);
    function _0x143f35(_0x3bedbb) {
        return _0x3bedbb && _0x3bedbb[_0xef93('0x103')] ? _0x3bedbb : {
            'default': _0x3bedbb
        };
    }
    // (...)
}

Seems like this piece of code was obfuscated incorrectly:
// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};

Relative:
https://gist.github.com/spjwebster/1074866/b217e429701bff1f5990e34bfd00c249b6f7859a
https://stackoverflow.com/questions/29812849/firefox-function-hoisting-error
My config:
{
    compact: true,
    controlFlowFlattening: true,
    controlFlowFlatteningThreshold: 0.75,
    deadCodeInjection: true,
    deadCodeInjectionThreshold: 0.3,
    debugProtection: false,
    disableConsoleOutput: false,
    log: false,
    identifierNamesGenerator: 'hexadecimal',
    renameGlobals: false,
    reservedNames: [],
    seed: 1,
    selfDefending: false,
    stringArray: true,
    rotateStringArray: true,
    stringArrayEncoding: true,
    stringArrayThreshold: 1,
    target: 'browser',
    unicodeEscapeSequence: true,
    transformObjectKeys: true,
}

Interesting behaviour with firefox

@sanex3339 can we prevent hoisting in blocks?

// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};

Code above is not the same as obfuscated code. Can you try to find source of the obfuscated code by finding expressions with 3 number?
_0x1342f8(3);

But at first look - this wont work because of firefox scope hoisting inside block scopes bug and dead code injection that wrapping all block statements into if () {} else {} statements, so after wrapping this bug will happen.

I like this bug, very interesting behaviour.

So, until fix you can just disable deadCodeInjection option

It will be great, if there is any solution. Anyway, thanks for the quick response!
For now, I changed deadCodeInjectionThreshold slightly. It will work until the next changes in source.

Can you test version from master branch with fix?

@sanex3339 unfortunately, still reproduces
if (_0x382204[_0xef93('0x1cb')](_0x382204[_0xef93('0x1f0')], _0xef93('0xaa'))) {
    var _0x22f86f = _0x382204[_0xef93('0x1f1')](_0x4e4ff5, 0x1);
    var _0x202f36 = _0x382204[_0xef93('0x1f1')](_0x1426cc, _0x22f86f);
    var _0x20f66e = _0x4e4ff5(0x3);
    var _0x78c491 = _0x382204[_0xef93('0x1f2')](_0x1426cc, _0x20f66e);
    function _0x1426cc(_0x3a2264) {
        return _0x3a2264 && _0x3a2264[_0xef93('0x24')] ? _0x3a2264 : { 'default': _0x3a2264 };
    }
    ...
}

Looks like i know what is the problem after previous fix.

Yep, fixed it. I'll push it into master in 30 minutes.

Please, try again

Works just fine. Thank you!
Waiting for release 😄

I'll release it today or tomorrow

I'll reopened it until release

<EMAIL_ADDRESS>just out

Hi, I have same error.
Now I'm using javascript-obfuscator 0.14.3, and I'm still getting error.
I tried using:
deadCodeInjection: false
mangle: false
and the problem still occurs.
My configuration now is:
    selfDefending: false,
    stringArrayEncoding: true,
    stringArrayThreshold: 1,
    deadCodeInjection: false,
    mangle: false

Can you give me a hand? I really need it.

Show me your part of source code and obfuscated code where this error was triggered.

Hi @sanex3339,
sure, I just created the new issue: https://github.com/javascript-obfuscator/javascript-obfuscator/issues/207
Thanks in advance.


Fix 31: Update gym signatures in Frozen Lake

Addresses the second call to env.step that returns truncated.

Fixes #31

Thanks @dbleyl !


Add Markers in Realtime

hi
how i can add marker in realtime (like stream-event from server and for each event i add maker in mapview)

can you please provide more information?
which version of mapjfx with which Java version?
can you provide a minimal sample code to reproduce this error?

i use version 2.7.1
i have server send events to client, so i want client display marker when event receive in realtime

ok, checking the code
initialized.set(true);
setMapTypeInMap();
setCenterInMap();
setZoomInMap();

I see that the initialized property is set to truebefore the center and zoom are set it should be done after that; have to rework that

initialized id readonly so u can't modify

fixed with #56


Improve properties getter, make Clang 13 happier, fix README

cc @takahiroharada

@takahiroharada Thanks for the merge!


[monitor ingestion] live test pipeline reliability

Improve reliability of Monitor Ingestion live test pipeline. Currently, it often fails because the tests use the resources too soon after creation. The service needs more buffer time before you can upload logs. Adding check to make sure the data collection rule is ready before running tests.

Closing issue as the service has stabilized and the pipelines are consistently passing.


Run commands from the client

I'm able to run commands from the server. BUT there is something like heroku toolbelt for dokku-alt?

I messed around with a bunch of clients/alternatives, this is what finally worked best: clone the original dokku project into ~/.dokku and add an alias to your shell:
alias dokku=$HOME/.dokku/contrib/dokku_client.sh

(dokku-alt includes an outdated contrib/dokku_client.sh that didn't work for me)

Nice fizz! It's great.


Updates versions

Description

Update pre-release of OpenSSL
Update stable/mainline releases of Nginx
Update Naxsi (branch http2 is moved into master)

Thanks, @djerfy! :)


GTK support

Description of Change
Should we support GTK as well?
API Changes
Possibility to write custom classes for GTK
Behavioral Changes
None
PR Checklist

[ ] Has tests (if omitted, state reason in description)
[ ] Has samples (if omitted, state reason in description)
[X] Rebased on top of main at time of PR
[X] Changes adhere to coding standard
[ ] Updated documentation

While I like to support as much platforms as possible this adds 2MB to our library which will probably be useless for most people? If we do, I want to be sure that those libraries do not end up in peoples apps and make their apps unnecessarily bigger.
Also, I am not familiar with GTK, but isn't there a better way to link that library instead of putting DLLs in our repo?

While I like to support as much platforms as possible this adds 2MB to our library which will probably be useless for most people? If we do, I want to be sure that those libraries do not end up in peoples apps and make their apps unnecessarily bigger.
Also, I am not familiar with GTK, but isn't there a better way to link that library instead of putting DLLs in our repo?

it's referenced only by GTK projects.
As for dlls, I know, that's odd :) but seems it's only one way how to do it (Forms does the same way, no?)
But probably we can postpone with this action for now

For that last bit probably @jsuarezruiz knows

Do we decline this PR for now?


Dynamic Filters?

Is it possible to open different filters depending on what frequencies that are used?

We would solve this by only focusing on a global frequency filter, right?

That one is decided but I mean that the gemini-adapter for example might have different functionality than the vcf adapter etc...

Let's close this until we get some ideas of how to do it


Add Lecture 17 Screencast Link

looks good but can you drop the ipython checkpoint file.

Oppps... I should notice that. I'm closing this close pr b/c Nhi just added the link. Thanks!


Move kernel error types

Re #10152
Only a few types placed in the wrong folders left then we can have all our eslint rules ready. This PR moves kernel related kernel types into src/kernels.

[x] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR).
[x] Title summarizes what is changing.
[ ] Has a news entry file (remember to thank yourself!).
[ ] Appropriate comments and documentation strings in the code.
[ ] Has sufficient logging.
[ ] Has telemetry for feature-requests.
[ ] Unit tests & system/integration tests are added/updated.
[ ] Test plan is updated as appropriate.
[ ] package-lock.json has been regenerated by running npm install (if dependencies have changed).

Codecov Report

Merging #10497 (0a5bd63) into main (b821681) will decrease coverage by 0%.
The diff coverage is 100%.

@@          Coverage Diff           @@
##            main   #10497   +/-   ##
======================================
- Coverage     71%      71%   -1%
======================================
  Files        467      468    +1
  Lines      28073    28076    +3
  Branches    4736     4736
======================================
- Hits       19944    19942    -2
- Misses      6239     6249   +10
+ Partials    1890     1885    -5

Impacted Files
Coverage Δ

src/interactive-window/interactiveWindow.ts
74% <ø> (ø)

src/platform/common/utils.ts
80% <ø> (ø)

src/platform/errors/types.ts
72% <ø> (-8%)
:arrow_down:

...teractive-window/editor-integration/codewatcher.ts
71% <100%> (ø)

...ractive-window/interactiveWindowCommandListener.ts
39% <100%> (ø)

...rc/interactive-window/interactiveWindowProvider.ts
77% <100%> (ø)

...kernels/errors/jupyterDebuggerNotInstalledError.ts
50% <100%> (ø)

src/kernels/errors/jupyterInvalidKernelError.ts
62% <100%> (ø)

src/kernels/errors/jupyterKernelDependencyError.ts
100% <100%> (ø)

src/kernels/errors/jupyterWaitForIdleError.ts
100% <100%> (ø)

... and 25 more


refactoring custom resource generate script

What type of PR is this?
/kind enhancement
What this PR does / why we need it:
Refactor the original bash script used for generating custom resource manifest files into Python,
and clean unnecessary files in the artifact directory.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

https://github.com/ErikJiang/kubean/actions/runs/8184381510/job/22379124952

/lgtm


[bug] named middlewares registered by modules return a 500 when used

Environment

Operating System: Darwin
Node Version:     v20.2.0
Nuxt Version:     3.6.1
Nitro Version:    2.5.2
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      devtools, modules, runtimeConfig, alias
Runtime Modules:  ``
Build Modules:    -

Reproduction
https://stackblitz.com/edit/github-dbvzh2?file=pages%2Findex.vue,modules%2Fruntime%2Fplugin.ts
Describe the bug
When trying to use a named middleware with definePageMeta, a 500 is returned with the error Unknown route middleware
Additional context
Regular named middleware added in the /middleware directory work.
Logs
No response

Resolves https://github.com/Hebilicious/authjs-nuxt/issues/20

Turns out it's not possible to use a global middleware by its name. Maybe we could prevent that in Nuxt/kit.


Guardian familiar spawning with no limbs(dies after first player death)

Describe the bug
The guardian familiar seems to be summoning without any limbs at all, only the body making it so you only get one player death before he dies. The blacksmith familiar is able to give him one limb back, but seemingly cannot give more.
Expected behavior
limbs!
System (please complete the following information):

Occultism Version: 1.18.0
OS: [e.g. Windows]
Minecraft Version:1.16.5
Modpack Link and Version, or list of mods:

It should start with a random number of limbs (here is the logic for it https://github.com/klikli-dev/occultism/blob/main/src/main/java/com/github/klikli_dev/occultism/common/entity/GuardianFamiliarEntity.java#L94). I did it as a way of balancing it, but of course it is debatable whether or not we want to keep it like that.

The discussion in Discord that triggered the ticket was with me unaware of the code/reasoning - but this is actually a good fit to avoid a super-anti-death familiar

Makes sense, but it might be good to add something to the book explaining that he has a chance to spawn with however many pieces and that the blacksmith can repair a limb one time


rtx install <tool> <version> syntax doesn't work with non-numeric versions

Describe the bug
The rtx install <tool> <version> format (the asdf install syntax) has issues when the <version> is non-numeric version (semver?). In those cases, rtx thinks that the <version> is another plugin.
To Reproduce
Some KO commands I have tried:
❯ rtx install java openjdk-21.0.1
rtx No repository found for plugin openjdk-21.0.1
rtx Run with --verbose or RTX_VERBOSE=1 for more information

❯ rtx install rust stable
rtx No repository found for plugin stable
rtx Run with --verbose or RTX_VERBOSE=1 for more information

❯ rtx install rust <IP_ADDRESS> # Numeric version but not semver conformant
rtx No repository found for plugin <IP_ADDRESS>
rtx Run with --verbose or RTX_VERBOSE=1 for more information

Expected behavior
The behaviour should be the same as the rtx install <tool>@<version> syntax.
rtx doctor output
rtx version:
  2023.12.40 linux-x64 (460e547 2023-12-28)

build:
  Target: x86_64-unknown-linux-gnu
  Features: DEFAULT, NATIVE_TLS, OPENSSL
  Built: Thu, 28 Dec 2023 15:30:24 +0000
  Rust Version: rustc 1.74.1 (a28077b28 2023-12-04)
  Profile: release

shell:
  /usr/bin/zsh
  zsh 5.8 (x86_64-ubuntu-linux-gnu)

rtx data directory:
  /home/danielfn/.local/share/rtx

rtx environment variables:
  RTX_SHELL=zsh

settings:
  {
    "experimental": false,
    "color": true,
    "always_keep_download": false,
    "always_keep_install": false,
    "legacy_version_file": true,
    "legacy_version_file_disable_tools": [],
    "plugin_autoupdate_last_check_duration": "7d",
    "trusted_config_paths": [],
    "log_level": "info",
    "trace": false,
    "debug": false,
    "verbose": false,
    "quiet": false,
    "asdf_compat": false,
    "jobs": 4,
    "shorthands_file": null,
    "disable_default_shorthands": false,
    "disable_tools": [],
    "raw": false,
    "yes": false,
    "task_output": null,
    "not_found_auto_install": true,
    "ci": false
  }

config files:
  /home/danielfn/.tool-versions

plugins:
  bun          (core)
  deno         (core)
  go           (core)
  java         (core)
  node         (core)
  python       (core)
  ruby         (core)
  rust         https://github.com/code-lever/asdf-rust.git#95acf4f

toolset:
<EMAIL_ADDRESS>
Additional context
As commented in https://github.com/jdx/rtx/issues/1285, full support for asdf syntax would be great for people considering migrating to rtx =)

it's not possible for me to know if it's a plugin name or not


Changed relative links to absolute links

trying to fix this issue

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 94.192%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
7055

Relevant Lines:
7490

💛  - Coveralls

Thanks. Do you have an easy way to try or should I just do a patch release?

There's another one on line 146

There's another one on line 146

How embarrassing. Yes you are right, thank you. I have added another commit.

Thanks. Do you have an easy way to try or should I just do a patch release?

Well, I had verified that the images are visible in the README on my fork. But that is not a good test, because they were visible there before the changes, too.
Now I have checked with grep that I have not missed any links again and it looks good:
$ grep docs/ README.rst
.. image:: https://github.com/cantools/cantools/raw/master/docs/plot-1.png
.. image:: https://github.com/cantools/cantools/raw/master/docs/plot-2-subplots.png
.. image:: https://github.com/cantools/cantools/raw/master/docs/plot-2-axes.png
.. image:: https://github.com/cantools/cantools/raw/master/docs/plot-seaborn.png
.. image:: https://github.com/cantools/cantools/raw/master/docs/monitor.png

By the way, what would be the right way to deal with links in merge requests? Because if I used absolute links like this I would not be able to test them before the merge. Using absolute links to my fork would not seem right because if I would update an image on my fork during development they would show unmerged development in the official documentation. But using relative links has proven to cause problems, too.

By the way, what would be the right way to deal with links in merge requests?

IMO, just use the URIs where you expect them to go. If it takes a few tries to get it right, so be it... (I'm quite surprised/shocked that relative links don't work here, though.)

@juleq: I suppose it is worth to give this a shot and merge...


(4.0) New Tileset editor don't update custom_data layer type

Godot version
4.0 alpha 1
System information
Windows 11
Issue description
Editor don't update custom data type. In gif there is "int" type whole time... The only way to update it is to reload project.
Steps to reproduce

Minimal reproduction project
No response

cc @groud

Still valid in alpha 7
This is only broken in painting mode.

Still valid in beta 3, the painting value is stuck at '' until I reload the project.

Same issue on Mac, reloading the project fixes the <null> field for property custom_data0

Tested on Windows in beta 4, this is still an issue


ENG-14518 Add keystoreName field to build profile

Why
ENG-14518: Add keystoreName field to build profile to allow selecting/creating named keystore to use for a build
Allow specifying keystore name of credentials to be used with a build.
How

Added keystoreName to eas.json schema
Pass name option to AndroidCredentialsProvider

Test Plan
Added test, tested manually.

Create a new android credentials with eas credentials
Specify keystoreName in build profile in eas.json
Ensure that it works only for android builds
Ensure it works only for remote credentialsSource
Ensure that the correct credentials are used

/changelog-entry new-feature "Allow selecting credentials for android builds"

@szdziedzic yes

Oh I think we should also update eas.schema.json and eas.json docs on docs.expo.dev


multi instance democracy [A*]

Signed-off-by: Dzmitry Lahoda<EMAIL_ADDRESS>This PR makes democracy to be multi instance. Each can have its own assets lock and root to enact/schedule.
polkadot companion:https://github.com/paritytech/polkadot/pull/5783
✄ -----------------------------------------------------------------------------
Thank you for your Pull Request! 🙏
Before you submit, please check that:

[x] Description: You added a brief description of the PR, e.g.:

What does it do?
What important points should reviewers know?
Is there something left for follow-up PRs?

[ ] Labels: You labeled the PR appropriately if you have permissions to do so:

[X] A* for PR status (one required)
[ ] B* for changelog (one required)
[ ] C* for release notes (exactly one required)
[ ] D* for various implications/requirements
[ ] Github project assignment

[X] Related Issues: You mentioned a related issue if this PR is related to it, e.g. Fixes #228 or Related #1337.
[ ] 2 Reviewers: You asked at least two reviewers to review. If you aren't sure, start with GH suggestions.
[X] Style Guide: Your PR adheres to the style guide

In particular, mind the maximal line length of 100 (120 in exceptional circumstances).
There is no commented code checked in unless necessary.
Any panickers in the runtime have a proof or were removed.

[X] Runtime Version: You bumped the runtime version if there are breaking changes in the runtime.
[X] Docs: You updated any rustdocs which may need to change.
[X] Polkadot Companion: Has the PR altered the external API or interfaces used by Polkadot?

[x] If so, do you have the corresponding Polkadot PR ready?
[ ] Optionally: Do you have a corresponding Cumulus PR?

Refer to the contributing guide for details.
After you've read this notice feel free to remove it.
Thank you!
✄ -----------------------------------------------------------------------------

/rerun
/bot run
/retry

how one may ask to run ci again after companion fixes?

master make step forward, need to update companion

Need to bring it up to date. So not sure when democracy 2.0 will be released and may be patch it.


Get django_orm to 100% coverage

This is a first-pass at "shortest path to 100% coverage". It aggressively mocks out Django model methods and doesn't assert all too much. I am hesitant to invest too much in asserting more since I want to refactor this whole file anyway and merge it into django_util.
If we want to mock out Django models less, we would need to figure out how to rig up the Django test database for the tests which I think is not what people want (although it would probably be significantly easier with something like Jon's nox).

Screwed up the last test hold on

Done to all your comments, also fixed up last test.

LGTM @jonparrott can you give it a final pass?

@waprin What's your plan for oauth2client/contrib/django_util/apps.py?

coverage/coveralls — Coverage increased (+0.2%) to 99.974%

w00t

LGTM
On Fri, Apr 8, 2016, 3:55 PM Danny Hermes<EMAIL_ADDRESS>wrote:

coverage/coveralls — Coverage increased (+0.2%) to 99.974%
w00t
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/google/oauth2client/pull/493#issuecomment-207640003

OK @waprin how do we get to the finish line? What needs to happen forapps.py to get executed? We can also just ignore it if it shouldn't be executed.

Also some branch misses in django_orm.py:
oauth2client/contrib/django_orm.py                  75      0     22      4    96%
37->39, 74->76, 143->147, 145->147

@dhermes apps.py basically does nothing, it's not actually used. Django lets you introspect on your applications so to be consistent we should have it. Writing actual tests for it will be tricky without the whole Django test runner and is of questionable value.
I vote to just ignore it.
I can fix the branch coverage, forgot to run it with that.

OK, can do as in #490 to ignore it? Just toss the ignore into your PR to cover those branches for django_orm?

Sound good.


[CONTROLLER/DB] updates MySQL migration template comments

This PR is for:

Server

updates MySQL migration template comments
Checklist

[ ] Added unit test.

Backport to branches

main

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


PANIC: column on null constraint violation error

Hi Prisma Team! My Prisma Client just crashed.  Information provided in the issue is not sufficient for a reproduction.

Closing due to inactivity


[AutoRelease] t2-redhatopenshift-2024-07-18-41903(can only be merged by SDK owner)

https://github.com/Azure/sdk-release-request/issues/5338
Recording test fail, detailed info is in pipeline log(search keyword FAILED)!!!
https://dev.azure.com/azure-sdk/internal/_build?definitionId=1638

issue link:https://github.com/Azure/sdk-release-request/issues/5338

/check-enforcer override


[docs] Custom Plugin

G6 Version:
Platform:
Mini Showcase(like screenshots):
CodePen Link:

I am trying to implementing a dock panel for adding new nodes to the graph by d&d e.g. and I found there is API for adding plugin to the graph here: https://g6.antv.vision/en/docs/api/Graph#addpluginplugin
While I cant find any docs on how to implement your own plugin, is there anything related reference in the docs other than the existing code base? Thanks!

Thanks for reminding, the document is indeed missing this content. I am afraid you have to refer to the source code right now, and we will complete the docs as soon as possible. BTW, we also welcome PRs ;)


Add a Flatpak build

Flatpak provides sandboxed and easy to manage Linux applications. We want to have Headlamp as a flatpak and on Flathub too, so let's track the work here.
Acceptance Criteria:

[ ] A flatpak can be easily built
[ ] Headlamp is published on Flathub

We have it: https://flathub.org/apps/details/io.kinvolk.Headlamp


[Feature Request] Change Export Folder Name as a Flag?

Problem statement
I would like it if you could change the folder name that Nativefier saves a web app to. For example, I run nativefier -n "Example" https://example.com It would export it as in the folder example-linux-x64. I would like it if you could change the name of the folder in the same command that makes the web app. For example, you could make the flag -folder and run it like this:
nativefier -n "Example" -folder "The-Folder-Name-That-I-Want" https://example.com

And the package would be whatever directory you opened the Terminal / The-Folder-Name-That-I-Want. It is more work (for me) to change the folder's name afterward.

[x] I looked at nativefier --help and https://github.com/jiahaog/nativefier/blob/master/docs/api.md, no existing option fits my needs.
[x] I searched existing open & closed issues. Yes, my issue is new.

Suggested solution
I want to be able to change the folder's name in the same command that makes the app
Alternative solutions
Renaming the folder afterward.
Context

Nativefier: 9.0.0
Node.js: 12.18.1
Npm: 6.14.5
OS: Linux Mint 19.3 Cinnamon
Additional context: None

Alternative solutions
Renaming the folder afterward.

Yup. You're the first one to ask for something like this and it's easily automatable with a little  && mv foo bar, so IMHO this isn't something that deserves a flag. Closing for now.

I'd like this as well


Maybe #GiveUpGitHub?

It would be nice, if this project (which is for kids), wouldn't be on Github, but probably on Codeberg or something?

No personal data is stored on github and hosting happens on a separate provider, so besides the general cautions against big companies, it's fine for now to have the source code here. If things go sideways a move is easy enough.


License missing

What is the license of this project?

Hi Raphael, license TBD, probably MIT or similar.


Text appears once

I've moved the text displaying credibility signals into the Extracted text card and would appreciate any feedback at this stage

persuasion colours fixed
added sentence to "Select a persuasion technique" and pointer mouse to help make the clickable techniques more obvious

Translations branch: https://github.com/AFP-Medialab/InVID-Translations/blob/assistant/text-appears-once/components/NavItems/tools/Assistant.tsv
Screenshot of tabs:

Screenshot of remaining credibility signals:

thinking of removing the accordion and having them display any results immediately
machine generated text to use GaugeUI
should the card be renamed?

This looks much better to me.
It looks like there may be a bug with the Genre tab with the extracted text being duplicated.
You can see it by testing this link: https://www.lemonde.fr/international/article/2024/11/12/l-allemagne-se-dirige-vers-des-elections-legislatives-anticipees-le-23-fevrier_6389745_3210.html

tps://www.lemonde.fr/international/article/2024/11/12/l-allemagne-se-dirige-vers-des-elections-legislatives-anticipees-le-23-fevrier_6389745_3210.html


Specify inlined objects shape

Current state
Currently the OpenSLO specification is quite vague when it comes to defining inlined objects' shape.
For instance, the README.md defines an inlined AlertCondition within AlertPolicy this:
apiVersion: openslo/v1
kind: AlertPolicy
metadata:
  name: AlertPolicy
  displayName: Alert Policy
spec:
  description: Alert policy for cpu usage breaches, notifies on-call devops via email
  alertWhenBreaching: true
  alertWhenResolved: false
  conditions:
    - kind: AlertCondition
      metadata:
        name: cpu-usage-breach
        displayName: CPU Usage breaching
      spec:
        description: SLO burn rate for cpu-usage-breach exceeds 2
        severity: page
        condition:
          kind: burnrate
          op: lte
          threshold: 2
          lookbackWindow: 1h
          alertAfter: 5m
  notificationTargets:
    - targetRef: OnCallDevopsMailNotification

On the other hand, an SLO example looks like this:
apiVersion: openslo/v1
kind: SLO
metadata:
  name: foo-slo
  displayName: Foo SLO
spec:
  service: foo
  indicator:
    metadata:
      name: foo-error
      displayName: Foo Error
    spec:
      ratioMetric:
        counter: true
        good:
          metricSource:
            metricSourceRef: datadog-datasource
            type: Datadog
            spec:
              query: sum:trace.http.request.hits.by_http_status{http.status_code:200}.as_count()
        total:
          metricSource:
            metricSourceRef: datadog-datasource
            type: Datadog
            spec:
              query: sum:trace.http.request.hits.by_http_status{*}.as_count()
  objectives:
    - displayName: Foo Total Errors
      target: 0.98

The problem
What's the discrepancy here? Well, one contains kind and the other does not.
This bears a question, is kind required? Why is apiVersion not required, or maybe it is?
Solution
I propose that we describe the expected shape more concretely than just stating a certain object "can be inlined".
I suggest that we remove kind entirely, we don't have any polymorphic fields which can contain multiple kinds, the question remains open for apiVersion, If we state it's not needed, we should specify that the inlined object's shape must be of the same version as the parent.

I would, for v2, remove the SLI and AlertCondition objects entirely and use only everything under spec
For example:
apiVersion: openslo/v1
kind: SLO
metadata:
  name: foo-slo
  displayName: Foo SLO
spec:
  service: foo
  indicator:
    ratioMetric:
      counter: true
      good:
        metricSource:
          metricSourceRef: datadog-datasource
          type: Datadog
          spec:
            query: sum:trace.http.request.hits.by_http_status{http.status_code:200}.as_count()
      total:
        metricSource:
          metricSourceRef: datadog-datasource
          type: Datadog
          spec:
            query: sum:trace.http.request.hits.by_http_status{*}.as_count()
  objectives:
    - displayName: Foo Total Errors
      target: 0.98

I would love to get more thoughts from others on this, though.
@aaranmcguire @fpiwowarczyk @alexewerlof any thoughts here?


chore: fix some nit error

Ⅰ. Describe what this PR does

fix some nit issue

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[ ] I have written necessary docs and comments
[ ] I have added necessary unit tests and integration tests
[ ] All checks passed in make test

/lgtm

/approve


[New API] : Streamlabs API

Brief Description 🤓
Offers free tools for integrating streaming features such as alerts and widgets. Great for enhancing your live streaming setup.
@dishamodi0910 assign me this issue
How will you develop it?🤩
React
Deployment
None
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

Greetings @revanth1718🎀 ! , We are excited to have you dive into another issue with us!🚀
Your involvement in our project has been invaluable, and we're confident that your skills and insights will help us conquer this challenge😇.  Use command /gssoc24 to self assign the issue.  This issue represents an exciting opportunity for us to improve and enhance our project, and we are thrilled to have you on board.
We request you to follow CONTRIBUTING GUIDELINES.
Looking for your PR soon!
In case of any issues, you can contact us on Discord.❣

Brief Description 🤓
Offers free tools for integrating streaming features such as alerts and widgets. Great for enhancing your live streaming setup.
@dishamodi0910 assign me this issue
How will you develop it?🤩
React
Deployment
None
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

@Hhujgin, this issue is already assigned to me

Hey @revanth1718 ! I wanted to inform you that we have closed issue.Thank you for your understanding, and we look forward to your continued engagement with our repository🤗.
In case of any issues, you can contact us on Discord.
Thank you! ❣
Happy Coding! ✨
Will See you soon❣


Support Pushbullet End-to-End Encryption

Woohoo! Pushbullet now offers End-to-End Encryption. Please implement support for it -- thank you!
End-to-End Encryption
Pushbullet already encrypts your data in transit using https. Enabling end-to-end encryption adds an additional layer of privacy for your phone's notifications, clipboard, and SMS sync.
Enter a password to enable end-to-end encryption. You will need to enter this password on each of your devices.

Hi! I saw the 'needs-contributor' badge and tried to implement this... When it was a half done, saw this announcement: it says that only notification mirroring, clipboard and SMS support e2e encryption.


drivers: gpio: Add polarity support for sx1509b

Add polarity support for sx1509b GPIO extender.
Most of the code was already in place, but I2C write was not implemented for some reason.
Tested on Nordic Thingy:52 (nrf52_pca20020)
Signed-off-by: Aleš Travnik<EMAIL_ADDRESS>

@pabigot don't know if this will be addressed when you update the driver.

The updated driver supports polarity, but not using the SX1509B hardware.
I was told that the original motivation for polarity control was to support what we're now handling with the physical vs logic level distinction per pins.  That's entirely done in software, and the existing polarity flags are deprecated in the new API.
This means that the hardware polarity feature cannot be controlled with the generic GPIO API.  If it's necessary/useful a driver-specific extension could be added, at the risk of confusion due to mixing software and hardware polarity features.
So I'm going to close this, and ask that a new issue be re-opened if there's reason to use hardware control.


C syntax highlighting doesn't support C99 long long literals

(Original issue 613 created by None on 2010-11-15T16:50:37.221714+00:00)
https://github.com/tsuna/contextswitch/blob/5ce1e3e80d2548b05bf841464b3167d85f7d0466/timectxswws.c#L18
On this line, the {{{LLU}}} suffix should be rendered with the same color as the rest of the number and the first {{{L}}} suffix.  {{{LL}}} and {{{LLU}}} are in the C99 standard and are required for {{{long long}}} and {{{unsigned long long}}} literals.
-- Benoit "tsuna" Sigoure

(Original issue 613 last updated on 2010-11-26T09:36:12.359574+00:00)
(Issue automaticaly closed due to status in Bitbucket: resolved)

(Original comment by birkenfeld on 2010-11-26T09:36:12.348478+00:00)
Thanks, fixed in <>.


update charts and kubenetes yaml

What is the purpose of the change
update charts and kubernetes yaml
Brief changelog
Verifying this change
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist.
[x] Run `mvn clean compile --batch-mode -DskipTests=false -Dcheckstyle.skip=false -Drat.skip=false -Dmaven.javadoc.skip=true to make sure basic checks pass.

Codecov Report

Merging #1080 (8d8fc87) into refactor-with-go (d166b16) will decrease coverage by 0.09%.
The diff coverage is n/a.

@@                 Coverage Diff                  @@
##           refactor-with-go    #1080      +/-   ##
====================================================
- Coverage             69.77%   69.69%   -0.09%
====================================================
  Files                    31       31
  Lines                  2389     2389
====================================================
- Hits                   1667     1665       -2
- Misses                  604      606       +2
  Partials                118      118

see 1 file with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

/assign @AlbumenJ  @chickenlj


Remove fork from this repo

This repository should not be forked from Rpch

That does not work. Instead I had to go through https://support.github.com/request and use the chat bot to issue a ticket which will make this happen. Its in progress atm.

Finished.


Add support for cross product

Adds support for the cross product.
New tricks possible thanks to xarray:

When coords are defined you can fill with 2 values instead of only 1 like numpy.
When coords are defined you can fill inbetween values as well instead of just appending zeros at the end like numpy.

[x] Closes #3279
[x] Tests added
[x] Passes pre-commit run --all-files
[x] User visible changes (including notable bug fixes) are documented in whats-new.rst
[x] New functions/methods are listed in api.rst

Hello @Illviljan! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file xarray/core/computation.py:

Line 1588:5: F401 '.variable.Variable' imported but unused

This looks really good, very nice code @Illviljan .
I admittedly haven't thought exhaustively through whether we're missing anything. But the tests are great.
FWIW the numpy API is not simple — the "length 2 or 3" seems to contribute more complication than value. If anyone thinks that we should instead enforce length 3, I would support that; but otherwise defaulting to the numpy API is good.

This is looking excellent @Illviljan ! Let us know when it's ready for a final review / merge

The errors with test_vectorize_dask_dtype_meta are unrelated to my changes and mentioned in #5366 as well.
Can't replicate the cross errors on my local versions though, maybe the root cause is the same?

Well, look at that updating to latest I get the error as well.
  astroid                              2.5.6-py38haa244fe_0 --> 2.5.7-py38haa244fe_0
  ca-certificates                      2020.12.5-h5b45459_0 --> 2021.5.30-h5b45459_0
  certifi                          2020.12.5-py38haa244fe_1 --> 2021.5.30-py38haa244fe_0
  curl                                    7.76.1-h789b8ee_2 --> 7.77.0-h789b8ee_0
  dask                                2021.5.0-pyhd8ed1ab_0 --> 2021.6.0-pyhd8ed1ab_0
  dask-core                           2021.5.0-pyhd8ed1ab_0 --> 2021.6.0-pyhd8ed1ab_0
  distributed                       2021.5.0-py38haa244fe_0 --> 2021.6.0-py38haa244fe_0
  docutils                              0.16-py38haa244fe_3 --> 0.17.1-py38haa244fe_0
  importlib-metadata                   4.0.1-py38haa244fe_0 --> 4.5.0-py38haa244fe_0
  importlib_metadata                       4.0.1-hd8ed1ab_0 --> 4.5.0-hd8ed1ab_0
  ipython                             7.23.1-py38h43734a8_0 --> 7.24.1-py38h43734a8_0
  jupyterlab_server                      2.5.2-pyhd8ed1ab_0 --> 2.6.0-pyhd8ed1ab_0
  libcurl                                 7.76.1-h789b8ee_2 --> 7.77.0-h789b8ee_0
  liblief                                 0.11.4-h0e60522_0 --> 0.11.5-h0e60522_0
  nbclassic                              0.2.8-pyhd8ed1ab_0 --> 0.3.1-pyhd8ed1ab_1
  networkx                                         2.5-py_0 --> 2.5.1-pyhd8ed1ab_0
  pandoc                                    2.13-h8ffe710_0 --> <IP_ADDRESS>-h8ffe710_0
  prometheus_client                     0.10.1-pyhd8ed1ab_0 --> 0.11.0-pyhd8ed1ab_0
  py-lief                             0.11.4-py38h885f38d_0 --> 0.11.5-py38h885f38d_0
  pyerfa                               1.7.3-py38h294d835_0 --> 1.7.3-py38hcb5f9af_1
  python-libarchive~                     2.9-py38haa244fe_2 --> 3.1-py38haa244fe_0
  pyzmq                               22.0.3-py38h09162b1_1 --> 22.1.0-py38h09162b1_0
  rope                                  0.18.0-pyhd3deb0d_0 --> 0.19.0-pyhd8ed1ab_0
  sphinx                                 4.0.0-pyh6c4a22f_0 --> 4.0.2-pyh6c4a22f_1
  sqlalchemy                          1.4.15-py38h294d835_0 --> 1.4.17-py38h294d835_0
  tqdm                                  4.60.0-pyhd8ed1ab_0 --> 4.61.0-pyhd8ed1ab_0
  typing_extensions                            <IP_ADDRESS>-py_0 --> <IP_ADDRESS>-pyha770c72_0
  urllib3                               1.26.4-pyhd8ed1ab_0 --> 1.26.5-pyhd8ed1ab_0
  xarray                                0.18.0-pyhd8ed1ab_0 --> 0.18.2-pyhd8ed1ab_0

@keewis, @max-sixty I think this ready now.
I don't get why my local version managed to pass without having to rechunk the datasets though but it's in the past now.

That's annoying, sorry @Illviljan . Re the failure, issue added here: https://github.com/pydata/xarray/issues/5444.

@max-sixty, any ideas how to fix these mypy errors?

Sorry, I've been away for a bit.
Hmmm, I'm not sure. One is simple:
diff --git a/xarray/core/computation.py b/xarray/core/computation.py
index af2c37db..5a839c19 100644
--- a/xarray/core/computation.py
+++ b/xarray/core/computation.py
@@ -1400,7 +1400,7 @@ def _get_valid_values(da, other):
 def cross(
     a: "T_DSorDAorVar",
     b: "T_DSorDAorVar",
-    dim: str,
+    dim: Hashable,
 ) -> "T_DSorDAorVar":
     """
     Return the cross product of two (arrays of) vectors.

But that leaves lots of others! I'll have to come back to this, or if others have ideas, gratefully received. Some quick thoughts of mediocre helpfulness:

xarray/core/computation.py:1576: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]"  [dict-item]
xarray/core/computation.py:1576: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, Tuple[Number, ...]]"  [dict-item]
xarray/core/computation.py:1536: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]"  [dict-item]

I don't get how Hashable: int isn't compatible with Hashable: Number??

xarray/core/computation.py:1533: error: Argument "sample_dims" to "to_stacked_array" of "Dataset" has incompatible type "Mapping[Hashable, int]"; expected "Mapping[Hashable, Sequence[Hashable]]"  [arg-type]

Does this refer to Dataset.dims and DataArray.dims having different types, and that we may want to use sizes or coerce the .dims to a list?

xarray/core/computation.py:1570: error: "Variable" has no attribute "reindex_like"  [attr-defined]

Is this legit — does it work with Variables?

xarray/core/computation.py:1532: error: No overload variant of "setitem" of "list" matches argument types "int", "DataArray"  [call-overload]
xarray/core/computation.py:1532: note: Possible overload variants:
xarray/core/computation.py:1532: note:     def setitem(self, int, Dataset) -> None
xarray/core/computation.py:1532: note:     def setitem(self, slice, Iterable[Dataset]) -> None
xarray/core/computation.py:1532: error: Incompatible types in assignment (expression has type "DataArray", variable has type "Dataset")  [assignment]

I'm not even sure where are these variants are? Is it referring to the Dataset.__setitem__? Surely that accepts DataArrays?

...and ironically these show up in the simpler area of the code rather than the complicated part that allows for passing 2 or 3 sized dims!
Found 7 errors in 1 file (checked 142 source files)

xarray/core/computation.py:1570: error: "Variable" has no attribute "reindex_like"  [attr-defined]

Is this legit — does it work with Variables?

It's true that Variable doesn't have it. But a Variable can't use that code path since we check getattr(array_large, "coords", False).

It's true that Variable doesn't have it. But a Variable can't use that code path since we check getattr(array_large, "coords", False).

Ah, then we can tell mypy this, I think just by switching to isinstance(array_large, Variable)
(and in case it wasn't clear, it's also OK to skip some of these or leave them to another PR. They can be useful checks for things we miss, but we shouldn't be beholden to the linting)

It's true that Variable doesn't have it. But a Variable can't use that code path since we check getattr(array_large, "coords", False).

Ah, then we can tell mypy this, I think just by switching to isinstance(array_large, Variable)
(and in case it wasn't clear, it's also OK to skip some of these or leave them to another PR. They can be useful checks for things we miss, but we shouldn't be beholden to the linting)

The check can't be that simple though because DataArrays doesn't always include coords and then it doesn't make sense to use reindex_like. I suppose adding a hasattr(array_large, "reindex_like") is an option, but it feels redundant to me.

mypy doesn't understand hasattr(array_large, "reindex_like") apparently:
xarray/core/computation.py:1572: error: "Variable" has no attribute "reindex_like"  [attr-defined]
Rather surprising that it's this difficult to make mypy happy. The code seems pretty straightforward to me.

It's true that Variable doesn't have it. But a Variable can't use that code path since we check getattr(array_large, "coords", False).

Ah, then we can tell mypy this, I think just by switching to isinstance(array_large, Variable)
(and in case it wasn't clear, it's also OK to skip some of these or leave them to another PR. They can be useful checks for things we miss, but we shouldn't be beholden to the linting)

The check can't be that simple though because DataArrays doesn't always include coords and then it doesn't make sense to use reindex_like. I suppose adding a hasattr(array_large, "reindex_like") is an option, but it feels redundant to me.

getattr(array_large, "coords", False) will always pass for DataArrays — even if there are no coords, it's checking whether there's a coords method on the class — which in the case of a DataArray with no coords, would return empty (but still return). Or am I misunderstanding?

getattr(array_large, "coords", False) will always pass for DataArrays — even if there are no coords, it's checking whether there's a coords method on the class — which in the case of a DataArray with no coords, would return empty (but still return). Or am I misunderstanding?

Empty coords is False as well, that's the trick here:
a = xr.DataArray([1, 2])
if getattr(a, "coords", False):
    print("hey")

b = xr.DataArray([1, 2], coords=[[0, 1]])
if getattr(b, "coords", False):
    print("hey")
hey

Empty coords is False as well, that's the trick here:

Ah good point. I guess we could either unroll that into two or checks so mypy understands, or give mypy a hint, or add ignores to the typing

Integers don't work with Numbers:
xarray/core/computation.py:1576: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]"  [dict-item]
xarray/core/computation.py:1576: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, Tuple[Number, ...]]"  [dict-item]
xarray/core/computation.py:1536: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]"  [dict-item]

Floats don't work with Numbers:
xarray/core/computation.py:1536: error: Dict entry 0 has incompatible type "Hashable": "int"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]"  [dict-item]
xarray/core/computation.py:1578: error: Dict entry 0 has incompatible type "Hashable": "float"; expected "Hashable": "Union[None, Number, str, Tuple[Number, ...]]"  [dict-item]
xarray/core/computation.py:1578: error: Dict entry 0 has incompatible type "Hashable": "float"; expected "Hashable": "Union[None, Number, Tuple[Number, ...]]"  [dict-item]

This seems related to: https://github.com/python/mypy/issues/3186
I do wonder why we allow any type of numbers in the chunks? When does it ever make sense to input 1.5 or a complex number?
https://github.com/pydata/xarray/blob/28d3349bbe8c9881448bba45785c1013b006d6f9/xarray/core/dataarray.py#L1041
It will always be forced to integers anyway:
https://github.com/dask/dask/blob/8aea537d925b794a94f828d35211a5da05ad9dce/dask/array/core.py#L2815
So why not force integers to begin with?

So why not force integers to begin with?

I agree! Good change!

Green colors. :) I think this is finished now unless someone has any other thoughts.

I've been following this and think it looks good. There's some complication because of the need to handle different dims, but holding the requirements constant I think this is great.
Any thoughts from others?

As discussed with @keewis and the team, we'll merge this after the next point release for pandas.

@Illviljan if you can resolve the merge conflict, we can merge this!

I finally got around to testing this. This works really well for the use cases I tried, but the automatic conversion of Datasets with three variables to a DataArray is a bit surprising:
xr.cross(arr, ds, dim="cartesian")  # ← ds does not have a "cartesian" dimension

not sure what to do about that. @pydata/xarray, any ideas?
To be clear, the idea was to have a convenient way to convert a Dataset with three identically dimensioned variables to a DataArray with an additional additional dimension. If there's a concise way to do that I would lean towards not doing that in cross() (even though I was the one to propose it). For example:
xr.cross(
    arr,
    ds.to_array(concat_dim="cartesian"),
    dim="cartesian"
).to_dataset(cut_dim="cartesian")

Hmm mightve found a bug there. Could you show the examples? my idea was that if there's any dataset as input the output should always be dataset. I think apply_ufunc or some other function has the prio order ds > da > var.

The use case is something similar to:
ds = xr.Dataset({"x": ("t", [0, 1]), "y": ("t", [2, 3]), "z": ("t", [4, 5])})
arr = xr.DataArray(data=[0, 2, 4], dims="cartesian", coords={"cartesian": ["x", "y", "z"]})
xr.cross(arr, ds, dim="cartesian")  # result: Dataset with x, y, z variables

This does return what I want it to (which is why I don't think it is a bug), but my worry was that since ds does not have a dimension called "cartesian" it might be surprising that this works (though good documentation might help).
In any case, I'd like to get the opinion of other maintainers: is the integrated conversion worth the trouble, or should we make combining / splitting variables easier?

This however doesn't work as expected:
ds = xr.Dataset({"x": ("t", [0, 1]), "y": ("t", [2, 3]), "z": ("t", [4, 5])})
arr = xr.DataArray(data=[0, 2, 4], dims="cartesian", coords={"cartesian": ["x", "y", "z"]})
xr.cross(ds, arr, dim="cartesian")  # result: DataArray

Seems an easy fix fortunately.

we discussed this in the meeting yesterday, and decided that since it makes the code cleaner and there's the dim parameter of to_array and to_dataset (which I didn't know about when I suggested the ugly to_unstacked_array hack) we would like to restrict .cross to accept only DataArray objects. Could you make that change?
To increase their visibility it would probably also be good to show how to use to_array and to_dataset to pass Dataset objects to .cross.

@keewis, I've removed the ds support. Please check the example if it looks like you thought with .to_array, .to_dataset.

I'm will merge this in a couple of days if no one minds.

@Illviljan I hadn't seen this is still open! Definitely merge!

Congrats @Illviljan !


Fix release display and correct paging

Fixes displaying releases with paging when there are drafts and user has no rights to see drafts
Fix so that drafts can be seen not only by Owner but anyone with write rights to repository
Add integration tests to create new releases and paging

Fixes #1863

Continuation to #2035

LGTM

LGTM