link to minishift docs

@baijum snapshot fabric8-wit image is available for testing.  docker pull docker.io/fabric8/fabric8-wit:SNAPSHOT-PR-1819-1

Codecov Report

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

@@            Coverage Diff             @@
##           master    #1819      +/-   ##
==========================================
- Coverage    63.8%   63.73%   -0.07%
==========================================
  Files         128      128
  Lines       11904    11904
==========================================
- Hits         7595     7587       -8
- Misses       3623     3631       +8
  Partials      686      686

Impacted Files
Coverage Δ

remoteworkitem/jira.go
75% <0%> (-25%)
:arrow_down:

remoteworkitem/scheduler.go
53.65% <0%> (-7.32%)
:arrow_down:

Continue to review full report at Codecov.

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


Segfault on OOM Failure?

I wanted to test what happened when wren was pushed to it's limits so I wrote the following script, test.wren:
var l = ["banana"]
while (true) {
    l.add("banana")
}

to generate out-of-memory conditions for the CLI VM.
Running the script on a fresh build of the CLI I get:
$ ./wren test.wren
Segmentation fault (core dumped)

I would expect something like Java's OutOfMemoryError or Python's MemoryError to bubble up to the user, or at the very least have a somewhat graceful abort, rather than a segmentation fault.
Tested on:

commit: d1a0d0682ac072fa20f2dcca356dac06565e93a1
OS: Ubuntu MATE 18.04
hardware info:

$ lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
CPU(s):              2
On-line CPU(s) list: 0,1
Thread(s) per core:  1
Core(s) per socket:  2
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               122
Model name:          Intel(R) Celeron(R) N4000 CPU @ 1.10GHz
Stepping:            1
CPU MHz:             2422.418
CPU max MHz:         2600.0000
CPU min MHz:         800.0000
BogoMIPS:            2188.80
Virtualization:      VT-x
L1d cache:           24K
L1i cache:           32K
L2 cache:            4096K
NUMA node0 CPU(s):   0,1
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave rdrand lahf_lm 3dnowprefetch cpuid_fault cat_l2 pti cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust smep erms mpx rdt_a rdseed smap clflushopt intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts umip rdpid md_clear arch_capabilities

$ cat /proc/meminfo | grep 'MemTotal'
MemTotal:        3850880 kB

Error is trivial, code doesn't check if list's array gets properly resized.

We can definitely add an OOM error in debug mode! It has interesting implications when the user is the one in control of the allocations, i.e if the config is specifying a realloc function where exactly the check is handled and how it propagates to the user is an unknown.

Not sure if it is the right way to think. I mean it is an error that is
expected to happen at run-time, unless you can always control what you feed
the system with. So considering a debugging feature is an error to me.
That said handling it gracefully is a huge topic, that might imply we way
need to rethink error handling in the VM.

Given that users can use their own allocator, potential OOM error could be propigated back up the call stack for every bad alloc or allocations could call some sort of user-defined handler whenever there is bad alloc.
I've seen both methods used in library code. The former requires a lot of boilerplate error handling code, which can get complex and a bit confusing. The latter allows you to assume allocs are good and just defer to a handler otherwise, perhaps some sort of setjmp/longjump mechanism, but can lead to memory leaks unless there is a way to cleanup resources.
I'm not sure if either of these might be good ways to handle OOM or other panic-worthy conditions, but they're ideas none the less.

I thought about set/longjmp since a while. But I wonder about portability
and possible errors due to partially initialised values.


Get-Culture's errors with -ErrorAction are not terminating errors

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
Cause an error in Get-Culture while using -ErrorAction Stop . It does not  terminate.
Expected behavior
console Terminating errors should cause the function to end. For example Get-Item -Ea Stop
function funcShouldStop2 {
    # expects terminating error
    [CmdletBinding()]
    param()
    Get-Item 'somefakefilename' -ea Stop
    '⚠ Should Never Reach'
}
funcShouldStop2

No output
Actual behavior
function funcShouldStop1 {
    # expects terminating error
    [CmdletBinding()]
    param()
    Get-Culture 'en-uk' -ea Stop
    '⚠ Should Never Reach'
}
> funcShouldStop1

Get-Culture:
Line |
   5 |      Get-Culture 'en-uk' -ea Stop
     |                  ~~~~~~~
     | Cannot validate argument on parameter 'Name'. The argument "en-uk" does not belong to the set ",aa,aa-DJ,aa-ER,aa-ET....snip....ns-MO,zh-SG,zh-Hant,zh-HK,zh-MO,zh-TW,zu,zu-ZA" specified by the ValidateSet attribute. Supply an argument that is in the set and then try the command again.
⚠ Should Never Reach

Note that it does reach ⚠ Should Never Reach
Error details
> get-Error

Cannot validate argument on parameter 'Name'. The argument "en-uk" does not belong to the set ",aa,aa-DJ,aa-ER,aa-ET,af,af-NA,af-ZA,agq,agq-CM,ak,ak-GH,am,am-ET,ar,ar-001,ar-AE,ar-BH,ar-DJ,ar-DZ,ar-EG,ar-ER,ar-IL,ar-IQ,ar-JO,ar-KM,ar-KW,ar-LB,ar-LY,ar-MA,ar-MR,ar-OM,ar-PS,ar-QA,ar-SA,ar-SD,ar-SO,ar-SS,ar-SY,ar-TD,ar-TN,ar-YE,arn,arn-CL,as,as-IN,asa,asa-TZ,ast,ast-ES,az,az-Cyrl,az-Cyrl-AZ,az-Latn,az-Latn-AZ,ba,ba-RU,bas,bas-CM,be,be-BY,bem,bem-ZM,bez,bez-TZ,bg,bg-BG,bm,bm-Latn-ML,bn,bn-BD,bn-IN,bo,bo-CN,bo-IN,br,br-FR,brx,brx-IN,bs,bs-Cyrl,bs-Cyrl-BA,bs-Latn,bs-Latn-BA,byn,byn-ER,ca,ca-AD,ca-ES,ca-ES-valencia,ca-FR,ca-IT,ccp,ccp-Cakm-BD,ccp-Cakm-IN,ce,ce-RU,ceb,ceb-Latn-PH,cgg,cgg-UG,chr,chr-Cher-US,ku,ku-Arab-IQ,ku-Arab-IR,co,co-FR,cs,cs-CZ,cu,cu-RU,cy,cy-GB,da,da-DK,da-GL,dav,dav-KE,de,de-AT,de-BE,de-CH,de-DE,de-IT,de-LI,de-LU,dje,dje-NE,dsb,dsb-DE,dua,dua-CM,dv,dv-MV,dyo,dyo-SN,dz,dz-BT,ebu,ebu-KE,ee,ee-GH,ee-TG,el,el-CY,el-GR,en,en-001,en-150,en-AE,en-AG,en-AI,en-AS,en-AT,en-AU,en-BB,en-BE,en-BI,en-BM,en-BS,en-BW,en-BZ,en-CA,en-CC,en-CH,en-CK,en-CM,en-CX,en-CY,en-DE,en-DK,en-DM,en-ER,en-FI,en-FJ,en-FK,en-FM,en-GB,en-GD,en-GG,en-GH,en-GI,en-GM,en-GU,en-GY,en-HK,en-IE,en-IL,en-IM,en-IN,en-IO,en-JE,en-JM,en-KE,en-KI,en-KN,en-KY,en-LC,en-LR,en-LS,en-MG,en-MH,en-MO,en-MP,en-MS,en-MT,en-MU,en-MW,en-MY,en-NA,en-NF,en-NG,en-NL,en-NR,en-NU,en-NZ,en-PG,en-PH,en-PK,en-PN,en-PR,en-PW,en-RW,en-SB,en-SC,en-SD,en-SE,en-SG,en-SH,en-SI,en-SL,en-SS,en-SX,en-SZ,en-TC,en-TK,en-TO,en-TT,en-TV,en-TZ,en-UG,en-UM,en-US,en-US-posix,en-VC,en-VG,en-VI,en-VU,en-WS,en-ZA,en-ZM,en-ZW,eo,eo-001,es,es-419,es-AR,es-BO,es-BR,es-BZ,es-CL,es-CO,es-CR,es-CU,es-DO,es-EC,es-ES,es-GQ,es-GT,es-HN,es-MX,es-NI,es-PA,es-PE,es-PH,es-PR,es-PY,es-SV,es-US,es-UY,es-VE,et,et-EE,eu,eu-ES,ewo,ewo-CM,fa,prs-AF,fa-IR,ff,ff-Latn,ff-Latn-BF,ff-Latn-CM,ff-Latn-GH,ff-Latn-GM,ff-Latn-GN,ff-Latn-GW,ff-Latn-LR,ff-Latn-MR,ff-Latn-NE,ff-Latn-NG,ff-Latn-SL,ff-Latn-SN,fi,fi-FI,fil,fil-PH,fo,fo-DK,fo-FO,fr,fr-BE,fr-BF,fr-BI,fr-BJ,fr-BL,fr-CA,fr-CD,fr-CF,fr-CG,fr-CH,fr-CI,fr-CM,fr-DJ,fr-DZ,fr-FR,fr-GA,fr-GF,fr-GN,fr-GP,fr-GQ,fr-HT,fr-KM,fr-LU,fr-MA,fr-MC,fr-MF,fr-MG,fr-ML,fr-MQ,fr-MR,fr-MU,fr-NC,fr-NE,fr-PF,fr-PM,fr-RE,fr-RW,fr-SC,fr-SN,fr-SY,fr-TD,fr-TG,fr-TN,fr-VU,fr-WF,fr-YT,fur,fur-IT,fy,fy-NL,ga,ga-IE,gd,gd-GB,gl,gl-ES,gn,gn-PY,gsw,gsw-CH,gsw-FR,gsw-LI,gu,gu-IN,guz,guz-KE,gv,gv-IM,ha,ha-Latn-GH,ha-Latn-NE,ha-Latn-NG,haw,haw-US,he,he-IL,hi,hi-IN,hr,hr-BA,hr-HR,hsb,hsb-DE,hu,hu-HU,hy,hy-AM,ia,ia-001,id,id-ID,ig,ig-NG,ii,ii-CN,is,is-IS,it,it-CH,it-IT,it-SM,it-VA,iu,iu-CA,iu-Latn,iu-Latn-CA,ja,ja-JP,jgo,jgo-CM,jmc,jmc-TZ,jv,jv-Latn-ID,ka,ka-GE,kab,kab-DZ,kam,kam-KE,kde,kde-TZ,kea,kea-CV,khq,khq-ML,ki,ki-KE,kk,kk-KZ,kkj,kkj-CM,kl,kl-GL,kln,kln-KE,km,km-KH,kn,kn-IN,ko,ko-KP,ko-KR,kok,kok-IN,ks,ks-Arab-IN,ksb,ksb-TZ,ksf,ksf-CM,ksh,ksh-DE,kw,kw-GB,ky,ky-KG,lag,lag-TZ,lb,lb-LU,lg,lg-UG,lkt,lkt-US,ln,ln-AO,ln-CD,ln-CF,ln-CG,lo,lo-LA,lrc,lrc-IQ,lrc-IR,lt,lt-LT,lu,lu-CD,luo,luo-KE,luy,luy-KE,lv,lv-LV,mas,mas-KE,mas-TZ,mer,mer-KE,mfe,mfe-MU,mg,mg-MG,mgh,mgh-MZ,mgo,mgo-CM,mi,mi-NZ,mk,mk-MK,ml,ml-IN,mn,mn-MN,mn-Mong,mn-Mong-CN,mn-Mong-MN,moh,moh-CA,mr,mr-IN,ms,ms-BN,ms-MY,ms-SG,mt,mt-MT,mua,mua-CM,my,my-MM,mzn,mzn-IR,naq,naq-NA,nb,nb-NO,nb-SJ,nd,nd-ZW,nds,nds-DE,nds-NL,ne,ne-IN,ne-NP,nl,nl-AW,nl-BE,nl-BQ,nl-CW,nl-NL,nl-SR,nl-SX,nmg,nmg-CM,nn,nn-NO,nnh,nnh-CM,nqo,nqo-GN,nr,nr-ZA,nso,nso-ZA,nus,nus-SS,nyn,nyn-UG,oc,oc-FR,om,om-ET,om-KE,or,or-IN,os,os-GE,os-RU,pa,pa-Arab,pa-Arab-PK,pa-Guru,pa-IN,pl,pl-PL,prg,prg-001,ps,ps-AF,ps-PK,pt,pt-AO,pt-BR,pt-CH,pt-CV,pt-GQ,pt-GW,pt-LU,pt-MO,pt-MZ,pt-PT,pt-ST,pt-TL,quz,quz-BO,quz-EC,quz-PE,quc,quc-GT,rm,rm-CH,rn,rn-BI,ro,ro-MD,ro-RO,rof,rof-TZ,ru,ru-BY,ru-KG,ru-KZ,ru-MD,ru-RU,ru-UA,rw,rw-RW,rwk,rwk-TZ,sa,sa-IN,sah,sah-RU,saq,saq-KE,sbp,sbp-TZ,sd,sd-Arab-PK,se,se-FI,se-NO,se-SE,seh,seh-MZ,ses,ses-ML,sg,sg-CF,shi,shi-Latn,shi-Latn-MA,shi-Tfng,shi-Tfng-MA,si,si-LK,sk,sk-SK,sl,sl-SI,sma,sma-NO,sma-SE,smj,smj-NO,smj-SE,smn,smn-FI,sms,sms-FI,sn,sn-Latn-ZW,so,so-DJ,so-ET,so-KE,so-SO,sq,sq-AL,sq-MK,sq-XK,sr,sr-Cyrl,sr-Cyrl-BA,sr-Cyrl-ME,sr-Cyrl-RS,sr-Cyrl-XK,sr-Latn,sr-Latn-BA,sr-Latn-ME,sr-Latn-RS,sr-Latn-XK,ss,ss-SZ,ss-ZA,ssy,ssy-ER,st,st-LS,st-ZA,sv,sv-AX,sv-FI,sv-SE,sw,sw-CD,sw-KE,sw-TZ,sw-UG,syr,syr-SY,ta,ta-IN,ta-LK,ta-MY,ta-SG,te,te-IN,teo,teo-KE,teo-UG,tg,tg-Cyrl-TJ,th,th-TH,ti,ti-ER,ti-ET,tig,tig-ER,tk,tk-TM,tn,tn-BW,tn-ZA,to,to-TO,tr,tr-CY,tr-TR,ts,ts-ZA,tt,tt-RU,twq,twq-NE,tzm,tzm-Latn-MA,ug,ug-CN,uk,uk-UA,ur,ur-IN,ur-PK,uz,uz-Arab,uz-Arab-AF,uz-Cyrl,uz-Cyrl-UZ,uz-Latn,uz-Latn-UZ,vai,vai-Latn,vai-Latn-LR,vai-Vaii,vai-Vaii-LR,ve,ve-ZA,vi,vi-VN,vo,vo-001,vun,vun-TZ,wae,wae-CH,wal,wal-ET,wo,wo-SN,xh,xh-ZA,xog,xog-UG,yav,yav-CM,yi,yi-001,yo,yo-BJ,yo-NG,zgh,zgh-Tfng-MA,zh,zh-Hans,zh-CN,zh-Hans-HK,zh-Hans-MO,zh-SG,zh-Hant,zh-HK,zh-MO,zh-TW,zu,zu-ZA" specified by the ValidateSet attribute. Supply an argument that is in the set and then try the command again.

Environment data
I get the same results using Pwsh -NoP
Name                           Value
----                           -----
PSVersion                      7.1.4
PSEdition                      Core
GitCommitId                    7.1.4
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals

And the end

Parameter validation errors are pipeline terminating already so they do not change behavior with ErrorActionPreference

In that case, shouldn't this halt?
function funcShouldStop1 {
    # expects terminating error
    [CmdletBinding()]
    param()
    Get-Culture 'en-uk' -ea Stop
}
funcShouldStop1 -ea stop
'⚠ Should Never Reach'

# outputs: '⚠ Should Never Reach'

I thought it would, it doesn't. However wrapping it once more does halt.
function funcShouldStop1 {
    # expects terminating error
    [CmdletBinding()]
    param()
    Get-Culture 'en-uk' -ea Stop
}
function funcShouldStopParent {
    [CmdletBinding()]
    param()
    funcShouldStop1 -ea stop
}
funcShouldStopParent -ea stop
'⚠ Should Never Reach'

# output:

Parameter validation errors are pipeline terminating already so they do not change behavior with ErrorActionPreference

It's not always clear what's terminating and what isn't. Validation errors are before the command gets control of the error but ...
del noththere
"here"
}

test1
del : Cannot find path  ....

here

Just what we'd expect.
 function test2 {
try {del noththere } catch {"there"}
"here"
}

test2
del : Cannot find path

here

We can't catch the error because it's not really thrown.  That needs an errorAction Stop
 function test3 {
try {del noththere -ea Stop } catch {"there"}
"here"
}

test3
there
here

Now we can catch it, and if we don't catch it the function stops.
function test4 {
del noththere -ea Stop
"here"
}

test4
del : Cannot find path

No surprises so far.  But let's put a validation error in ...
function test5 {
del noththere -credential 1
"here"
}

test5
Remove-Item : Cannot process argument transformation
here

So a validation error doesn't terminate just like the OP noticed.  But you can catch it.
function test6 {
try {del noththere -credential 1} catch {"everywhere"}
"here"
}

test6
everywhere
here

EA Stop needs a bit of help to get the function to throw
function test7 {
try {del noththere -credential 1} catch {throw $_}
"here"
}

test7
Remove-Item : Cannot process argument transformation

I see cases where people use try  {...}  catch {throw $_}  where it's not needed, and I think is a habit created by this kind of thing

In that case, shouldn't this halt?

Note the wording there, it's pipeline terminating, which works differently than call stack terminating errors.  throw and -ea stop are the latter, parameter validation and PSCmdlet.ThrowTerminatingError are the former.
Note I'm not defending this behavior, but it is by design.

WG-Engine reviewed this issue and we agreed with @SeeminglyScience's comment that the behavior is by design.

Get-Item 'somefakefilename' -ea Stop

For example in the OP this should be Get-Item $null -ea Stop  to demonstrate the same behavior as Get-Culture 'en-uk' -ea Stop


Allow sourcing the zshrc and show all completions

I've found a way to make the capture script work with sourcing the .zshrc.
However there might be zsh plugins out there interfering with this method...
Feel free to close this pr if you don't feel comfortable with the changes.

Thanks for the PR!
I'm not familiar with zsh, so I can't determine if this code is correct or not, but it's working as expected and I'd like to merge it!

It's not specifically that the code is not correct but zsh has many options a user could apply in their zshrc which could break the script.
But in this case there's still the option to disable this feature.

@jandamm
Is there any way to run the program without leaving the following history?
Could you create a PR for me when you have time?
source /tmp/zshX2QOvB
autoload add-zsh-hook
add-zsh-hook -D precmd '*'
add-zsh-hook -D preexec '*'
PROMPT=
echo thisisalonganduniquestringtomarktheendoftheinit >/dev/null

It's my project, and I'm sorry for the help.

It's possible, I'll implement something later this week.

@jandamm
Thank you!
I'm not in a hurry, so please take your time.
I'm sorry for the inconvenience, but I appreciate your patience.

Should be fixed in the new pr


Schedule - how?

Hi, I'm using the Node-Red plugin from DrHauss (https://github.com/DrHauss/node-red-contrib_BRP069C4) and would like to be able to enable/disable the schedule. I have already created the schedule via the Daikin Onecta app, it's really just a matter of activating it.
To enable/disable schedule it should work to set the schedule/modes/any/enabled value to true/false:
setData('climateControl', 'schedule', '/modes/any/enabled', true)
Obviously it works a little differently on schedule, can you tell me how?
Error output
Mar 29 10:28:12 raspberrypi Node-RED[29715]: <-- BODY {"value":false,"path":"/modes/any/enabled"}
Mar 29 10:28:12 raspberrypi Node-RED[29715]: --> 422 FROM PATCH https://api.prod.unicloud.edc.dknadmin.be/v1/gateway-devices/XXXX/management-points/climateControl/characteristics/schedule
Mar 29 10:28:12 raspberrypi Node-RED[29715]: --> HEADERS {
Mar 29 10:28:12 raspberrypi Node-RED[29715]: --> BODY {"code":"INVALID_REQUEST","message":"[schedule] characteristic has its own endpoint. PUT /gateway-devices/{gatewayDeviceId}/management-points/{embeddedId}/schedule. Refer to API manual for detailed information."}
Mar 29 10:28:12 raspberrypi Node-RED[29715]: 29 Mar 10:28:12 - [error] [Daikin-Cloud-Controller:472df65b815d75d5] Error: Communication failed 422
Specs
controller: BRP069B4x (Local transmission does not work, only the cloud works.)

The error message lets assume that there are special endpoints for schedule. These were not yet discovered and this would need to be done first - so someone need to snif the App HTTPS traffic to see what the app sends and which API to use. Then it can be added.
I would need access to such devices and time to do it

snif the App HTTPS traffic to see what the app sends and which API to use

Do you know of an app for Android?

I would not use an app. In the past best results were ddone by using CharlesProxy on a PC as proxy. The main magic for charles and android is on how to setup that root certificate correctly for all that to work correctly. In fact see https://www.charlesproxy.com/documentation/using-charles/ssl-certificates/ ... on ios it always works without any issues ... Android is a bit tricky sometimes :-(
But in fact do that, register and enable the root cert and proxy. Then open the app. if you see errors in Onecta app then something is wrong, if you only see "CONNECT" entries in charles then the ssl root cert is not effective, then something else is wrong in setting on phone.
If you see GET/POST calls in charles and when clicking on it you also see some "text content" and JSONs then the sniffing works.
You can also try with a browser app or such.
Then stop/kill the Onecta app on phone, start a fresh session in charles, open zthe app, so all relevant actions by noting the time you did it and maybe make 30s breaks in between two actions and note down the times and action and pot. what else happened in the app.
At the end save the charles file, send the file and the "when was what" infos in an email to<EMAIL_ADDRESS>with reference to this github issue. Then I can have a look (might need some days because right now deep in other projects!)

PS: Charles and android migth not be good described on the linked page, but should work comparable to https://github.com/Apollon77/ioBroker.tuya/blob/master/PROXY.md#android (when it comes to the certificate and proxy setup püart)

Thank you for the detailed explanation. I'm afraid I won't be able to do that, but I'll give it a try over the coming weekends.
I could also try it with my company cell phone (Apple) if it's more possible. :-D

Thank you, will try to find some time to check soon

@DrHauss Please deliver a debug log by uncommenting https://github.com/Apollon77/daikin-controller-cloud/blob/main/example/example.js#L85 v... I need to see the structure of the device your used there

Hello,
I've been hitting the same problem trying to update schedules with PATCH, until I found this thread... happy to see other people are trying as well :-)
The PUT example given above is probably just to enable the schedule #0, right ? What we'd need is the request to append/remove actions to the schedule. It's probably a PUT as well so one can hope the whole schedule is sent back each time...
I haven't tried the proxy setup and unfortunately don't have an iOS available. Perhaps will give a try too when time permits.
Thanks.

I haven't tried the proxy setup and unfortunately don't have an iOS available. Perhaps will give a try too when time permits.

Unfortunately I either have Android >= N where it's no longer possible to use Charles (without controlling the app) or Android < N where Onecta seems incompatible. So no mean to test...

So ... after fighting quite a lot with Android to make it accept my tampered APK, I finally managed to run the capture. So indeed, the schedule API works by simply replacing PATCH with PUT:

Setting the schedule #0 as current + enabling it:

PUT /v1/gateway-devices/$DEVICE_ID/management-points/climateControl/schedule/any/current
{
	"scheduleId": "0",
	"enabled": true
}

In my cases, I have some units that accepts 3 schedules so scheduleId must be "0", "1" or "2" while other units accept a single schedule "0".

Updating the schedule:

PUT /v1/gateway-devices/$DEVICE_ID/management-points/climateControl/schedule/any/schedules
{
	"0": {
		"actions": {
			"monday": {},
			"tuesday": {
				"10:00:00": {
					"operationMode": "heating",
					"roomTemperature": 21,
					"fanSpeed": {
						"currentMode": "fixed",
						"modes": {
							"fixed": 3
						}
					}
				},
				"15:00:00": {
					"operationMode": "off"
				}
			},
			"wednesday": {},
			"thursday": {},
			"friday": {},
			"saturday": {},
			"sunday": {}
		}
	},
	"1": {
		"actions": {}
	},
	"2": {
		"actions": {}
	}
}

You need to pass back the whole schedules as a single resource and they get overwritten. So in my example the "1" and "2" sections are absolutely required even if empty else you get a 400.
You can see ONECTA also passes the empty days, I haven't tried to omit those.
The initial value appears when you do the GET in the "climateControl" object under the "schedule" key (I attach a full example so you can see):
{"embeddedId": "climateControl", "managementPointType": "climateControl", "managementPointSubType": "mainZone", "managementPointCategory": "primary", "onOffMode": {"settable": true, "values": ["on", "off"], "value": "on"}, "name": {"settable": true, "maxLength": 32, "value": "S\u00e9jour"}, "iconId": {"settable": true, "value": 1}, "isHolidayModeActive": {"settable": false, "value": false}, "isInErrorState": {"settable": false, "value": false}, "isInModeConflict": {"settable": false, "value": false}, "errorCode": {"settable": false, "value": "00"}, "operationMode": {"settable": true, "values": ["auto", "dry", "cooling", "heating", "fanOnly"], "value": "cooling"}, "temperatureControl": {"ref": "#temperatureControl", "settable": true, "value": {"operationModes": {"auto": {"setpoints": {"roomTemperature": {"settable": true, "value": 25, "minValue": 18, "maxValue": 30, "stepValue": 0.5}}}, "cooling": {"setpoints": {"roomTemperature": {"settable": true, "value": 26, "minValue": 18, "maxValue": 32, "stepValue": 0.5}}}, "heating": {"setpoints": {"roomTemperature": {"settable": true, "value": 25, "minValue": 10, "maxValue": 30, "stepValue": 0.5}}}}}}, "sensoryData": {"ref": "#sensoryData", "settable": false, "value": {"roomTemperature": {"settable": false, "value": 25}, "outdoorTemperature": {"settable": false, "value": 25}}}, "fanControl": {"ref": "#fanControl", "settable": true, "value": {"operationModes": {"auto": {"fanDirection": {"horizontal": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}, "vertical": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}}, "fanSpeed": {"currentMode": {"settable": true, "value": "fixed", "values": ["quiet", "auto", "fixed"]}, "modes": {"fixed": {"value": 3, "settable": true, "maxValue": 5, "minValue": 1, "stepValue": 1}}}}, "dry": {"fanDirection": {"horizontal": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}, "vertical": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}}, "fanSpeed": {"currentMode": {"settable": true, "value": "auto", "values": ["auto"]}}}, "cooling": {"fanDirection": {"horizontal": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}, "vertical": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}}, "fanSpeed": {"currentMode": {"settable": true, "value": "auto", "values": ["quiet", "auto", "fixed"]}, "modes": {"fixed": {"value": 1, "settable": true, "maxValue": 5, "minValue": 1, "stepValue": 1}}}}, "heating": {"fanDirection": {"horizontal": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}, "vertical": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}}, "fanSpeed": {"currentMode": {"settable": true, "value": "fixed", "values": ["quiet", "auto", "fixed"]}, "modes": {"fixed": {"value": 3, "settable": true, "maxValue": 5, "minValue": 1, "stepValue": 1}}}}, "fanOnly": {"fanDirection": {"horizontal": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}, "vertical": {"currentMode": {"settable": true, "value": "stop", "values": ["stop", "swing"]}}}, "fanSpeed": {"currentMode": {"settable": true, "value": "fixed", "values": ["quiet", "auto", "fixed"]}, "modes": {"fixed": {"value": 3, "settable": true, "maxValue": 5, "minValue": 1, "stepValue": 1}}}}}}}, "schedule": {"ref": "#schedule", "settable": true, "value": {"currentMode": {"value": "any", "settable": true, "values": ["any"]}, "nextAction": {"operationMode": "heating", "roomTemperature": 20, "fanSpeed": {"currentMode": "fixed", "modes": {"fixed": 3}}, "startTime": "10:00:00", "actionPeriod": "monday"}, "modes": {"any": {"currentSchedule": {"value": "0", "settable": true, "values": ["0", "1", "2"]}, "enabled": {"value": true, "settable": true}, "meta": {"minIntervalBetweenActions": "00:01:00", "maxSchedules": 1, "maxActionsPerActionPeriod": 6, "consecutiveActionsAllowed": true, "actionTypes": {"operationMode": {"settable": false, "values": ["auto", "dry", "cooling", "heating", "fanOnly", "off"]}, "roomTemperature": {"auto": {"settable": false, "stepValue": 0.5, "minValue": 18, "maxValue": 30}, "cooling": {"settable": false, "stepValue": 0.5, "minValue": 18, "maxValue": 32}, "heating": {"settable": false, "stepValue": 0.5, "minValue": 10, "maxValue": 30}}, "fanSpeed": {"auto": {"currentMode": {"values": ["quiet", "auto", "fixed"], "settable": false}, "modes": {"fixed": {"settable": false, "maxValue": 5, "minValue": 1, "stepValue": 1}}}, "dry": {"currentMode": {"values": ["auto"], "settable": false}}, "cooling": {"currentMode": {"values": ["quiet", "auto", "fixed"], "settable": false}, "modes": {"fixed": {"settable": false, "maxValue": 5, "minValue": 1, "stepValue": 1}}}, "heating": {"currentMode": {"values": ["quiet", "auto", "fixed"], "settable": false}, "modes": {"fixed": {"settable": false, "maxValue": 5, "minValue": 1, "stepValue": 1}}}, "fanOnly": {"currentMode": {"values": ["quiet", "auto", "fixed"], "settable": false}, "modes": {"fixed": {"settable": false, "maxValue": 5, "minValue": 1, "stepValue": 1}}}}}}, "schedules": {"0": {"name": {"settable": true, "value": "", "maxLength": 32}, "meta": {"isReadOnly": false, "actionPeriods": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]}, "actions": {"monday": {"12:00:00": {"operationMode": "off"}, "10:00:00": {"operationMode": "heating", "roomTemperature": 20, "fanSpeed": {"currentMode": "fixed", "modes": {"fixed": 3}}}}}, "settable": true}, "1": {"name": {"settable": true, "value": "", "maxLength": 32}, "meta": {"isReadOnly": false, "actionPeriods": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]}, "actions": {}, "settable": true}, "2": {"name": {"settable": true, "value": "", "maxLength": 32}, "meta": {"isReadOnly": false, "actionPeriods": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"]}, "actions": {}, "settable": true}}}}}}, "econoMode": {"settable": true, "values": ["on", "off"], "value": "off"}, "isPowerfulModeActive": {"settable": false, "value": false}, "powerfulMode": {"settable": true, "values": ["on", "off"], "value": "off"}, "streamerMode": {"settable": true, "values": ["off", "on"], "value": "off"}, "consumptionData": {"ref": "#consumptionData", "settable": false, "value": {"electrical": {"unit": "kWh", "heating": {"d": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], "w": [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, null, null], "m": [266.9, 112.4, 204.9, 107.6, 1.9, 0, 0, 0, 0, 3.6, 166.7, 245.2, 320, 188.5, 189.9, 86, 19, 1.1, 0, 0, 0, 0, 0, 0]}, "cooling": {"d": [0, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1, 0, 0, 0, 0, 0, 0], "w": [0.2, 0.1, 0.1, 0.1, 0, 0.1, 0.2, 0.6, 0.6, 0.1, 0.1, 0.1, null, null], "m": [0, 0, 0, 0, 1.9, 14.3, 21.3, 19.7, 8.2, 0.7, 0, 0, 0, 0, 0, 0, 0, 13.7, 32.5, 3.4, 2.6, 0, 0, 0]}}}}, "holidayMode": {"ref": "#holidayMode", "settable": true, "value": {"enabled": false}}, "demandControl": {"ref": "#demandControl", "settable": true, "value": {"currentMode": {"value": "off", "settable": true, "values": ["off", "auto", "fixed", "scheduled"]}, "modes": {"fixed": {"stepValue": 5, "value": 100, "minValue": 40, "maxValue": 100, "settable": true}, "scheduled": {"settable": true, "meta": {"minIntervalBetweenActions": "00:01:00", "maxActionsPerActionPeriod": 4, "consecutiveActionsAllowed": true, "actionPeriods": ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"], "actionTypes": {"currentMode": {"settable": true, "values": ["off", "fixed"]}, "modes": {"fixed": {"stepValue": 5, "minValue": 40, "maxValue": 100, "settable": true}}}}, "value": {"actions": {}}}}}}}

Hope this helps. Let me know in case you'd need more.


1.19.3-pre2 tooltip positioners

On a side note, Tooltip class is in nm.client.gui.screen, shouldn't it be moved in the tooltip package?

Yeah, it should be moved.


What does ORT stands for?

ORT stands for onnxruntime. You can refer to the onnxruntime repository for more details on what ort is.


Enable keyboard-only use (low priority)

It's be nice if it was possible to use metamath-lamp without a keyboard.
One approach:

Any use of arrow keys switches to a keyboard use, and highlights one of the control points
Arrow keys (up/down/left/right) move that direction to the next control
Tab/Shift-Tab move like left/right
Space or Enter acts like left click.
Alt-Space acts like alt+left click
ESC continues to escape many things

It'd also be helpful if many of the icons had keyboard shortcuts, e.g., control+U invoked unify, "+" invoked the nearest "add"
Using a mouse button or touch leaves this mode.

Even doing a few keyboard shortcuts would probably make it easier for power users. Ideas:

Alt + D: Duplicate
Alt + - or Alt + + : Add


How to cancel current request

Is your feature request related to a problem? Please describe.
I apply viewpager and when the user open a detail view, I call a request. But at this time I swipe to the next view and it call new one request. I want to cancel first request to save performance.
Describe the solution you'd like
Hi,
I want to cancel the current (1) request when I call the new one (2) request (The request 2 is the same as request 1)
How I init apollo client
apolloClient = ApolloClient.builder() .serverUrl(baseUrl + "graphql" + Constants.SLASH + requestType) .okHttpClient(okHttpClient) .addCustomTypeAdapter(CustomType.JSON, customTypeAdapter) .httpCache(new ApolloHttpCache(cacheStore)) .build();

@sav007 ,
Could you explain more? I can't find cancel method on this.

https://github.com/apollographql/apollo-android/blob/master/apollo-runtime/src/main/java/com/apollographql/apollo/ApolloCall.java#L25
https://github.com/apollographql/apollo-android/blob/master/apollo-runtime/src/main/java/com/apollographql/apollo/internal/util/Cancelable.java

Thank you for point it out!

I try to cancel old requests but still get a response. May cancel not work.

@sav007
How I request:
```
getStoryQuery = GetStoryQuery.builder()
.id(articlesID).build();
apolloClient.query(getStoryQuery)
.httpCachePolicy(HttpCachePolicy.NETWORK_FIRST).enqueue(callback);
How I cancel:
     ` apolloClient.query(getStoryQuery).cancel();`
It still can't cancel request


various key backups fixes

Rendered: starting at https://13733-24998719-gh.circle-artifacts.com/0/scripts/gen/client_server/unstable.html#put-matrix-client-r0-room-keys-keys-roomid-sessionid

make version required for GET /room_keys/keys required [1]
make GET/PUT /_matrix/client/r0/room_keys/keys/ format correct
add some full stops
pull room backups into a common definition file

[1]Thanks to nico for noticing.
The other GET /room_keys/keys/* endpoints already had it marked as required, but apparently not this one.  It seems the MSC did say that it was optional, although that doesn't make any sense because you can't decrypt the backup without knowing which version it belongs to, and nothing that's returned doesn't tell you the endpoint.  The synapse implementation treats it as required.

Sorry, Travis.  I decided to roll all the fixes into this PR.


What about the Reply URL (Assertion Consumer Service URL)?

All I want is to setup SSO so that my Google user will be able to access my Azure account.
Am I on the right page? If so, why you don't mention Reply URL (Assertion Consumer Service URL) which is a required field in the Basic SAML Configuration section?

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

ID: 0bad7239-8050-182b-a6f7-fc90430eef90
Version Independent ID: 81ae0308-4dee-9ffe-2607-eadb4bdf0fd8
Content: Tutorial: Azure Active Directory single sign-on (SSO) integration with G Suite
Content Source: articles/active-directory/saas-apps/google-apps-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

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

@vladik-hbinov This article talks about how to configure SSO between Azure AD and G Suite. But then here Azure AD as the IDP and G Suite as service provider/app. If you already have users in Google you need to import them in Azure AD first and then use Azure AD authentication to go to Google apps.

@please-close

But what if I want to do it the other way around?
I want to authenticate to Google and then go to Azure portal, for example,
without a password.
And why did you close the case? the issue about the doc not specifying what
is the Reply URL (Assertion Consumer Service URL).
AND, The doc is not clear enough for a user to understand that this is not
what I was looking for, without you telling me this is not the right doc I
had no way to understand it's the wrong one.
On Wed, Feb 12, 2020 at 10:07 PM Jeevan Desarda<EMAIL_ADDRESS>wrote:

@vladik-hbinov https://github.com/vladik-hbinov This article talks
about how to configure SSO between Azure AD and G Suite. But then here
Azure AD as the IDP and G Suite as service provider/app. If you already
have users in Google you need to import them in Azure AD first and then use
Azure AD authentication to go to Google apps.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/47929?email_source=notifications&email_token=AMQGWUW7JF55SHJHCZBB53LRCRJJ3A5CNFSM4KTW6TXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELSGQLQ#issuecomment-585394222,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMQGWUSUYFB2BQEJ27JQGU3RCRJJ3ANCNFSM4KTW6TXA
.

That is not the intent of this article. Please reach out to Google team and they will tell you how to federate Google with Azure AD or Office 365.

Ok, thanks.
Still, please add the section about Reply URL (Assertion Consumer Service
URL) because it's required in the config and the article doesn't mention it.
Thanks again.
On Wed, Feb 12, 2020 at 10:47 PM Jeevan Desarda<EMAIL_ADDRESS>wrote:

That is not the intent of this article. Please reach out to Google team
and they will tell you how to federate Google with Azure AD or Office 365.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/MicrosoftDocs/azure-docs/issues/47929?email_source=notifications&email_token=AMQGWURCOY2WSFXHRRGUOFTRCRN77A5CNFSM4KTW6TXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELSKNZA#issuecomment-585410276,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AMQGWUVQAPBL4HVV6WZW2PTRCRN77ANCNFSM4KTW6TXA
.

OK thanks.


OPRF flow with only 1024 users

This code works only for 1024 users. We would need a different way of handling contexts as quicksort needs a unique context per user which is currently not supported.

OK, I've updated Quicksort: https://github.com/private-attribution/ipa/pull/892/files
This should work better for your purposes.


feat: semantic highlighting

This PR implements semantic highlighting by using slang's parser.
At the moment, only full document highlighting is supported.
Token types:

type
keyword
number
string
function

The design involves a generic visit function, and multiple visitors that are in charge of highlighting the tokens. Custom logic was also implemented for translating the byte offsets provided by the parser into utf8 offsets required for editors.
At the moment, the parser is not error tolerant, so in case the parsing fails, we return the last valid response to avoid losing highlighting.
Closes #217

Codecov Report

Merging #484 (1a53819) into development (9cfb24b) will decrease coverage by 0.65%.
The diff coverage is n/a.

:exclamation: Current head 1a53819 differs from pull request most recent head 1a6894e. Consider uploading reports for the commit 1a6894e to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@               Coverage Diff               @@
##           development     #484      +/-   ##
===============================================
- Coverage        53.52%   52.87%   -0.65%
===============================================
  Files              187      206      +19
  Lines             4813     5029     +216
  Branches           791      822      +31
===============================================
+ Hits              2576     2659      +83
- Misses            2003     2133     +130
- Partials           234      237       +3

see 24 files with indirect coverage changes

Closing in favour of #523


[Support]homebridge-cmd4 plugin required?

Describe Your Problem:
Installed the my place plugin successfully, but when I try to create a configuration I get an error stating:
ERROR: no Cmd4 Config found in "/var/lib/homebridge/config.json"! Please ensure that Homebridge-Cmd4 plugin is installed
I installed the homebridge-cmd4 plugin, but that hasn't helped, and there's no information on what that plugin does or how to configure it.

No, you do not need to install "homebridge-cmd4".  "homebridge-myplace" is an independent plugin, it doesn't require any other plugin to run.  Please uninstall "homebridge-cmd4" in order for "homebridge-myplace" to run properly.
The error message you posted is not from the latest version of "homebridge-myplace" plugin. Which version did u install?  Please install version 2.1.2 if not already.
Once installed, locate the "homebridge-myplace" plugin in homebridge UI, click on the three dots at the bottom right and select JSON Config, if it is newly installed you should see a pop-up box showing a small config in it.  It looks something like this:
 {
    "name": "MyPlace",
    "platform": "MyPlace"
 }

Do not edit anything in it but click SAVE.  More pop-up boxes may appear, click SAVE to all of them, until you are prompted to RESTART HOMEBRIDGE.  You do not need to restart homebridge at this point but click CLOSE.
Then go back to the "homebridge-myplace" plugin, click the 3 dots on the bottom left corner again, now click "Plugin Config", then input your MyPlace system parameters, viz name, ipAddress, etc,  click SAVE.
Then, go back to the "homebridge-myplace" plugin, click the 3 dots on the bottom left corner one last time, click again "Plugin Config", then click on "Create Configuration", if it is a success, click SAVE, then RESTART Homebridge.
Please let me know if this resolves your issue.

OK, thanks. I removed everything and started again following your instructions. However when Homebridge restarts the myplace plugin fails. This is in the log:
[27/11/2024, 19:30:31] ====================
[27/11/2024, 19:30:31] ERROR LOADING PLUGIN homebridge-myplace:
[27/11/2024, 19:30:31] TypeError: Cannot redefine property: indexOfEnum
    at Function.defineProperty (<anonymous>)
    at Object.<anonymous> (/var/lib/homebridge/node_modules/homebridge-myplace/utils/indexOfEnum.js:8:23)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
    at Module.load (node:internal/modules/cjs/loader:1208:32)
    at Function.Module._load (node:internal/modules/cjs/loader:1024:12)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/var/lib/homebridge/node_modules/homebridge-myplace/lib/CMD5_ACC_TYPE_ENUM.js:5:19)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)
[27/11/2024, 19:30:31] ====================

Other plugins load and operate OK (eg homebridge-ring - )

Have u uninstalled homebridge-cmd4?

You need to uninstall homebridge-cmd4 for homebridge-myplace to run properly. This is due to the fact that I have forked homebridge-cmd4 and used it as the accessories engine. As such if you also have homebridge-cmd4 running, a conflict will occur and you will see those error messages.


add support for first-class functions

Closes #1620
Inspired by @probablyup's comment, I checkout out #1732 to see if I could solve my problem in #1620. Turns out, it was really straightforward.
To get a feel for the syntax this enables:

or alternatively

This is particularly useful for DRYing up repetitive logic mapping props to styles and not having to repeatedly reference the props object.

@probablyup Ok, tried to match it more closely and make it more brief (since many of the recent entries are pretty brief). Let me know if this is better.

Thank you so much for helping us improve styled-components! Based on our Community Guidelines every person that has a PR of any kind merged is offered an invitation to the styled-components organization—that is you right now!
Should you accept, you'll get write access to the main repository. (and a fancy styled-components logo on your GitHub profile!) You'll be able to label and close issues, merge pull requests, create new branches, etc. We want you to help us out with those things, so don't be scared to do them! Make sure to read our contribution and community guidelines, which explains all of this in more detail. Of course, if you have any questions just let me know!

We'll probably cut a minor release after these PRs are finished:
https://github.com/styled-components/styled-components/pull/1739
https://github.com/styled-components/styled-components/pull/1807


Add Support for citation.cff Files

Reason for this PR
As stated in #90, we want to make use of GitHub's integration of citation.cff files when GitHub repositories are being reused. These files can hold additional information about authors of the repository, the type of data, DOIs and ORCIDs. For more information see here.
Changes in this PR
A new GithubCitationApi has been added. It is able to detect whether given URLs are valid GitHub repository URLs, and downloads the corresponding citation.cff file if it is available on root level in the repo's default branch. The prefill-cache.ts script has been extended to check all reused GitHub repos in the dataset for citation files, and store them in a cache file called github-cache.json. The CachedGithubApi has been introduced, it consumes the github-cache.json and provides a cached interface for accessing citation.cff contents.
The GraphView.vue component has been extended to use the cached interface when displaying GitHub nodes: For now this doesn't change much, the only difference is that the title of GitHub nodes in the graph now contains the CFF-File version if the file is available (see screenshot 1)
The RIndex.ts has been extended to use the cached GitHub API as well. It is now considering the authors of GitHub repos with CFF files when calculating the R+ metric value for authors. Since GitHub repos are always being used, and (currently) do not reuse themselves, the authors of GitHub repos do not need to be considered for the R metric value. For publication R+ values the GitHub CFF files are currently not being considered, because there is no common interface that would unify Work and CffFile in a meaningful way, and HistogramEntry<Work | CffFile> seems to be a rather useless interface (at least as far as i am concerned).
Screenshots

Screenshot 1
Known Limitations

There are currently no repos with citation.cff files in our dataset (i created a fake reuse entry to test my implementation)
GitHub CFF files are not being considered when calculating the R+ values for publications (see above)
The Firefox console will print every request that fails with 404. However, since most repositories do not yet use citation.cff files, almost all CFF file request fail with 404. This is intended behavior, and all HTTP errors are being caught in code. However, there seems to be a browser-level mechanism that prints failed requests to the console regardless of the javascript implementation. I'm thinking about also caching 404 responses for citation.cff files, so we don't query them every time and spam errors to the console.

Great work! Thanks!


Update LectoriBenevolo (TEST)

Updated text nearly down to the end of the second page of the preface (= p.4 of the edition).

salve o mi optime @cjmcnamara,
Not really sure about the workflow -- I forked then created a new branch just in case, because I didn't want to mess with your master branch. (I'm working in the browser someone else's computer, so I didn't want to clone the repository just yet, plus I have very little git command line experience.)
Also just wondered what you thought about:

typeface, e.g. italics, diaeresis, m-dashes.
corrections: I think quantulamcumque must be intended about 5-6 lines from the bottom of the first page (= p.3), and so I wrote that (rather than quantulamcnnque, sic).
-- joe

thanks for contributing, @Spunkle! i'm learning, too. but i think whatever you did on your friend's computer worked...? i was able to merge your text into the main branch. (it's worth getting the github client on your own laptop)
not sure what to do about italics -- i was wondering myself. i used the diaeresis in the other text files, so we'll want to make sure we get those in. for m-dashes, maybe just a double-hyphen? and nice spot on the misspelling!


Add note about StyleRoot to guide

Replaces the outdated reference to isRoot.
Resolves #658

Coverage remained the same at 96.236% when pulling 64f661b5290f844324e3a65dcf0fed7ac733c0a6 on docs-isRootStyleRootSoManyRoots into 3ed65a1b3582d5c559767828c9bed8ffc849e482 on master.


datasets

Can you explain how the datasets are set up? What files are downloaded for different data sets?

There is no filter. Whole datasets were used. Nevermind, as all 4 datasets are publicly available, I can provide a temporary .zip with the folder I used. I will add the link in the README as soon as possible.

Uploaded temporary here


Typo....

"Your are now ready"

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

ID: a55e404e-010b-32e5-30e0-71a2663a4f89
Version Independent ID: e011575a-691c-af48-2268-1959c9f3020b
Content: Building multiple branches - Azure Pipelines
Content Source: docs/pipelines/build/ci-build-git.md
Product: devops
Technology: devops-cicd
GitHub Login: @steved0x
Microsoft Alias: sdanie

@optiks  Thank you for the feedback.
The documentation has been updated and is pending review.


Format just the current statement?

If you run clang-format and give either just -cursor, or a empty range at the  current cursor, clang-format only formats the current statement, which is quite nice for interactive editing, in particular in a large document where you might not want to modify the rest of the doc (e.g. might not be properly formatted and you want to avoid the edits).
Does VS Code's API support such a use case? Would it make sense to add a keybinding for this?

This works out of the box now since Visual Studio Code 1.7 provides a "Format selection" command which formats only the selected statement.


[Feature]: Support large set of options in the MULTISELECT widget

Is there an existing issue for this?

[X] I have searched the existing issues

Summary
I tried to use the MULTISELECT widget for a large set of options (~2000). The filtering works great, but if you select more that 6, it is impossible to know what was chosen. You can not tell from the tags what are the +25 more. and if you open the list, you need to scroll over 2000 items to find what was a checked.
a few options come to mind. Either flexible widget height to show more tags or to put all the checked item at the very top when opening the drop box.
Why should this be worked on?
to support a case of large set of options in the MULTISELECT widget

Thanks for raising the concern here @amitm02.
Maybe using the selected option using selectedOptionLabels you can display the selected value in a text widget

Having said that, this is only an alternative you can use for the time being and not a permanent solution I am offering.
Additionally I will be worth exploring other solutions as well

Selected options stack on top of the multi-select dropdown
The multi-select widget input automatically increase the height based on the number if items (there still has to be an upper limit

Any other solution we can think of
cc @dilippitchika @Tooluloope

After checking a couple of component design libraries, The second option was the most used. AntD uses the Selected options stack method but does not rearrange the options in the dropdown.

If we go with the second option, we might need to involve UI-Building, as there would be a significant layout shift.

@Tooluloope this won't solve the problem, The number of option for the user is still high, and we can assume its going to be a pain for them to find what options are selected, Maybe another option can be, on the +4 more option we can show a tooltip of the selected option!

cc @riodeuno would you say the auto height feature solving this makes sense?

For most uses cases auto-height/auto-height with limits/fixed height would be a viable solution, also for multi-column layouts where you need to show the options in just one the columns, leaving you with less horizontal space. A tooltip to list the remaining "x+" options would cover all but the most extreme scenarios where a completely different approach may be required.

@dilippitchika is there a possibility to know how many people end up selecting more number of options to figure the impact of this, any other thoughts around that


Move ophys write functions from roiextractors

Motivation
It's been on the to-do list for a while to centralize the ophys write functions to simplify the maintenance of roiextractors, which soon will be primarily focused on reading from the respective formats while the functions in this PR will be responsible for writing from ImagingExtractor and SegmentationExtractor objects.
This PR is a simple copy/paste from the current state of the code over there. As I look through it there are many parts that can be refactored. I may include some very minor refactors in this first PR with a series of follow-ups to cover some more major ones.
How to test the behavior?
Since the respective DataInterfaces have been updated to rely on this local function while the roiextractor one becomes deprecated, the tests here reflect our local changes to writing behavior, most importantly the new inclusion of timestamps.
To-Do list:

[x] Debug everything that needs it in the testing workflow; roiextractor branch is pointing to latest changes from timestamps PR https://github.com/catalystneuro/roiextractors/pull/88
[ ] Carefully examine coverage of new file so we don't suddenly drop in coverage over here
[ ] Update annotation types
[ ] Update docstrings

@alejoe91 The new timestamps feature does indeed cause a minor roundtrip error with a couple interfaces; it seems like it's just a floating point resolution thing however, and more to do with how the check_imaging_equal function asserts strong array equality: https://github.com/catalystneuro/nwb-conversion-tools/runs/5150412107?check_suite_focus=true.
My recommendation would be to use from numpy.testing assert_array_almost_equal, unless you think these aren't just simple rounding errors?
Pointing this PR to rely on master of roiextractors allows tests to pass: https://github.com/catalystneuro/nwb-conversion-tools/runs/5150040214?check_suite_focus=true

Gaps in coverage are primarily:

[ ] no tests for writing epochs from imaging
[ ] tests not setting use_times=True
[ ] usage of write_* ophys functions for creating/appending NWBFiles

@alejoe91 The drop in coverage from this is actually not so severe as to affect our reports. If you're OK with the current state I think it could be merged just to get the ball rolling on smaller follow-up PRs.

@alejoe91 The drop in coverage from this is actually not so severe as to affect our reports. If you're OK with the current state I think it could be merged just to get the ball rolling on smaller follow-up PRs.

yes let's do it and work on it in follow up PRs :)


GSD Request

--- GSD JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from v3.2 to before v4.19.221",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=fd734c6f25aea4b2b44b045e489aec67b388577e",
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=ccf070183e4655824936c0f96c4a2bcca93419aa"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "fd734c6f25aea4b2b44b045e489aec67b388577e",
      "note": "introduced"
    },
    {
      "type": "commit",
      "value": "ccf070183e4655824936c0f96c4a2bcca93419aa",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "can: sja1000: fix use after free in ems_pcmcia_add_card()\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v4.19.221 by commit ccf070183e4655824936c0f96c4a2bcca93419aa, it was introduced in version v3.2 by commit fd734c6f25aea4b2b44b045e489aec67b388577e. For more details please see the references link."
}
--- GSD JSON ---

This issue has been assigned GSD-2021-1002423


Setting the serial number to a random value in component samples.

The default value of the serial number in component samples is set to '0'. Can we have a random value to be set in place of that?

Deferred till next release.


[fix] correctly provide server parent data

Fixes #5904

the data property was not unwrapped on the server, resulting in wrong results on client side navigations
the root layout data was ommitted because of a wrong undefined check

Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[x] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Tests fail because the selectors are queried too soon when the old value is still present in that text field. Turns out we need to adjust the way we write test (or rather, we did it wrong previously).
Instead of
expect(await page.textContent('h2')).toBe('2');

it should be
await expect(page.locator('h2')).toHaveText('2');

which automatically retries until the text is matched or it times out


Mk3MiniExpansionPack is expanded from two netkan files

It's pretty bizzare becouse there is one ckan file for this mod. Both entries in mods list  seems to be identical.
I checked it out on two PCs both Windows and Linux and the problem appears but only while I'm using GUI.
ckan.exe available gives me correct results.
(so it can be a bug in the ckan.dll)

Fortunately, no bug in ckan.dll. We have two netkan files, https://github.com/KSP-CKAN/NetKAN/blob/master/NetKAN/Mk3MiniExpansionPack.netkan and https://github.com/KSP-CKAN/NetKAN/commits/master/NetKAN/OPTMk3MiniExpansion.netkan both expanding the same kerbalstuff archive.
Aaaaaaand another use case for deprecation addons :smiling_imp:

Also, maybe we need a new quality check in the netkan build that greps kerbalstuff URLs and verifies uniqueness...
On the other hand, two netkans might install differing parts of the same addon zip, so maybe even the "install" section needs to be taken into consideration.

This has recieved a very ugly hack to contain the issue in the above PR, closing this.


Simplify SingleThreadEventExecutor.awaitTermination() implementation

Motivation
A Semaphore is currently dedicated to this purpose but a simple wait/notify will do.
Modification
Remove private threadLock Semaphore from SingleThreadEventExecutor and instead use the existing private shutdownHooks Set object as a monitor.
Also eliminate use of PlatformDependent.throwException() in startThread method, and combine some nested if clauses.
Result
Cleaner EventLoop termination notification and slightly smaller object footprint.

@netty-bot test this please

@netty-bot test this please

@netty-bot test this please

I'm not convinced this is cleaner. It seems a wash at best. If it's not been shown to cause trouble, I'd just assume leave it as-is.
I'm in favor of the removal of PlatformDependent.throwException, but that seems unrelated to the core of the change. (I'd honestly be happy if we removed most references to it and replaced them with something like Throwables.throwIfUnchecked; there's a lot of options for bikeshedding, but not the "I'll happily throw checked exceptions")

To be clear: my position is this seems like something that is personal preference. (And while I may even prefer your approach, the current approach isn't bad and has its own advantages.)

@ejona86 fair enough, for the reasons you stated I also don't feel too strongly about this. It was mainly that Semaphore seemed like the wrong fit. If not using a primitive monitor I'd suggest at least changing it to a CountDownLatch.
And you are right I snuck in a couple of minor unrelated simplifications, just cleanup I noticed while going along, equally happy to leave that out or put it in separate PR...

@normanmaurer WDYT? Options include:

Change to CountDownLatch
Keep PR as-is
Abandon it

I'm fine with any of them...

I am fine to keep the PR as it is or abandon it... At the end it does not matter too much IMHO.

@normanmaurer @ejona86 I changed it to a CountDownLatch which is a better fit here imho. Still includes the change to avoid use of PlatformDependent.throwException.

@netty-bot test this please

@njhill thanks a lot!


[Carthage] keychain-swift fails to build on XCODE 12.0 beta 4 (12A8179i)

keychain-swift fails to build on XCODE 12.0 beta 4 (12A8179i)
Build Failed
	Task failed with exit code 1:
/usr/bin/xcrun lipo -create /Users/Sudhir/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A8179i/keychain-swift/19.0.0/Build/Intermediates.noindex/ArchiveIntermediates/KeychainSwift/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/KeychainSwift.framework/KeychainSwift /Users/Sudhir/Library/Caches/org.carthage.CarthageKit/DerivedData/12.0_12A8179i/keychain-swift/19.0.0/Build/Products/Release-iphonesimulator/KeychainSwift.framework/KeychainSwift -output /Users/Sudhir/Documents/S!D/Projects/RosterBuster-iOS/Carthage/Build/iOS/KeychainSwift.framework/KeychainSwift

Library setup method: Carthage
Version of the library: 19.0.0
Xcode version: 12.0 beta 4
OS version: iOS 14.0

Reproduce
Steps to reproduce:

Delete derived Carthage Cache.
Delete Carthage directory in project.
Uninstall Carthage and install it again.
xcode-select --switch to choose the Xcode 12 beta
Remove /Library/Caches/org.carthage.CarthageKit/DerivedData/
carthage update --platform iOS --no-use-binaries

Thanks for reporting the issue. Does it look similar to this one?
https://github.com/Carthage/Carthage/issues/3019

Thanks for reporting the issue. Does it look similar to this one?
Carthage/Carthage#3019

Yes, I have tried this one https://github.com/Carthage/Carthage/issues/3019#issuecomment-664099506
It works for another library except for Keychain-swift.
Even I tried this one also: https://github.com/Carthage/Carthage/issues/3019#issuecomment-665136323
still failed for Keychain-swift.


Remove the state machine

Depends on #108 and #109.
Remove the state machine by returning a fresh state from CloudFormation\Senza. This will remove the dependency on Redis completly.

the GET stack should receive all parameters senza list receives and use them instead of redis


Building from source fails on Fedora 36 - "error while fetching sources from..."

Describe the bug
I'm following the instructions here to build from source. Once I get to the step opam install -t . --deps-only and try to resolve the dependencies, several packages fail to fetch (all of them are from erratique.ch):
#=== ERROR while fetching sources for uutf.1.0.3 ==============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/uutf.1.0.3/uutf-1.0.3.tbz.part -- https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz\" exited with code 60)")

#=== ERROR while fetching sources for topkg.1.0.5 =============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/topkg/releases/topkg-1.0.5.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/topkg.1.0.5/topkg-1.0.5.tbz.part -- https://erratique.ch/software/topkg/releases/topkg-1.0.5.tbz\" exited with code 60)")

#=== ERROR while fetching sources for rresult.0.7.0 ===========================#
OpamSolution.Fetch_fail("https://erratique.ch/software/rresult/releases/rresult-0.7.0.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/rresult.0.7.0/rresult-0.7.0.tbz.part -- https://erratique.ch/software/rresult/releases/rresult-0.7.0.tbz\" exited with code 60)")

#=== ERROR while fetching sources for react.1.2.2 =============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/react/releases/react-1.2.2.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/react.1.2.2/react-1.2.2.tbz.part -- https://erratique.ch/software/react/releases/react-1.2.2.tbz\" exited with code 60)")

#=== ERROR while fetching sources for ptime.1.0.0 =============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/ptime/releases/ptime-1.0.0.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/ptime.1.0.0/ptime-1.0.0.tbz.part -- https://erratique.ch/software/ptime/releases/ptime-1.0.0.tbz\" exited with code 60)")

#=== ERROR while fetching sources for mtime.1.4.0 =============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/mtime/releases/mtime-1.4.0.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/mtime.1.4.0/mtime-1.4.0.tbz.part -- https://erratique.ch/software/mtime/releases/mtime-1.4.0.tbz\" exited with code 60)")

#=== ERROR while fetching sources for logs.0.7.0 ==============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/logs/releases/logs-0.7.0.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/logs.0.7.0/logs-0.7.0.tbz.part -- https://erratique.ch/software/logs/releases/logs-0.7.0.tbz\" exited with code 60)")

#=== ERROR while fetching sources for jsonm.1.0.1 =============================#
OpamSolution.Fetch_fail("http://erratique.ch/software/jsonm/releases/jsonm-1.0.1.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/jsonm.1.0.1/jsonm-1.0.1.tbz.part -- http://erratique.ch/software/jsonm/releases/jsonm-1.0.1.tbz\" exited with code 60)")

#=== ERROR while fetching sources for fpath.0.7.3 =============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/fpath/releases/fpath-0.7.3.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/fpath.0.7.3/fpath-0.7.3.tbz.part -- https://erratique.ch/software/fpath/releases/fpath-0.7.3.tbz\" exited with code 60)")

#=== ERROR while fetching sources for fmt.0.9.0 ===============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/fmt.0.9.0/fmt-0.9.0.tbz.part -- https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz\" exited with code 60)")

#=== ERROR while fetching sources for cmdliner.1.1.1 ==========================#
OpamSolution.Fetch_fail("https://erratique.ch/software/cmdliner/releases/cmdliner-1.1.1.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/cmdliner.1.1.1/cmdliner-1.1.1.tbz.part -- https://erratique.ch/software/cmdliner/releases/cmdliner-1.1.1.tbz\" exited with code 60)")

#=== ERROR while fetching sources for bos.0.2.1 ===============================#
OpamSolution.Fetch_fail("https://erratique.ch/software/bos/releases/bos-0.2.1.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/bos.0.2.1/bos-0.2.1.tbz.part -- https://erratique.ch/software/bos/releases/bos-0.2.1.tbz\" exited with code 60)")

#=== ERROR while fetching sources for astring.0.8.5 ===========================#
OpamSolution.Fetch_fail("https://erratique.ch/software/astring/releases/astring-0.8.5.tbz (Curl failed: \"~/anaconda2/bin/curl --write-out %{http_code}\\\\n --retry 3 --retry-delay 2 --user-agent opam/2.1.2 -L -o /home/nshaheed/.opam/4.09.0/.opam-switch/sources/astring.0.8.5/astring-0.8.5.tbz.part -- https://erratique.ch/software/astring/releases/astring-0.8.5.tbz\" exited with code 60)")

As far as I can tell this is because the certificate has expired for the website. I'm new to opam/ocaml but my understanding is that the normal solution for this is to pass the --insecure flag to curl via $OPAMFETCH, but this has not worked for me (I tried OPAMFETCH=curl --insecure %{out}% %{url}% )
Reproducing

building from scratch should cause this error
Expected behavior
Dependencies to be resolved without error

Additional context
I'm running fedora 36 on a laptop with an intel chip.

Interesting, don't know that I can be super helpful here since it seems a bit out of my control. The sources do seem available at those URLs, and I know someone built from source yesterday, and Fedora shouldn't matter in principle, so to help with this:
First question: what version of opam are you running?
Second question: I'm guessing you did try OPAMFETCH="curl --insecure %{out}% %{url}%" (with the quotes, because without quotes it probably doesn't work?). I've also seen OPAMFETCH=wget float around, maybe that helps? Purely guessing.

I'm using version 2.1.2
I tried using wget directly to fetch one of the packages and that did work, however with some more investigating it looks like this is a bug with 2.1.2 where env vars aren't being fetched properly. So I'm not sure there's much that can be done until 2.2.0 gets released (aside from building opam from HEAD)


Invoke triggered job via HTTP POST returns 403

A HTTP GET request to https://{mywebsite}.scm.azurewebsites.net/jobs/triggered/{jobname}/
works, HTTP status code 200, but a POST to https://{mywebsite}.scm.azurewebsites.net/jobs/triggered/{jobname}/run returns HTTP status code 403.
The only used HTTP header is Authorization.
The web job was added manually by copying files to ~/App_Data/jobs/triggered/{jobname}
It works to trigger the web job manually from the Azure portal.

@davidebbo @suwatch Hi.
I'm still getting this issue when trying to talk to the /api/continuouswebjobs/{webjobname}/stop API.
It appears that having a "/" in the User-Agent is causing something to be unhappy with the request, and return a 403 whenever a POST request is sent.
For example, Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36 as a user-agent does not work, however Mozilla5.0 (Windows NT 10.0; Win64; x64) AppleWebKit537.36 (KHTML, like Gecko) Chrome74.0.3729.131 Safari537.36 (which removes the slashes) works.

what cred are you passing?  basic auth?

Hi Suwat,
We're using the automatically generated site credentials (the one which the username begins with a $) and passing those through in an Authorization header as HTTP Basic auth.
We can successfully retrieve information about the running WebJobs (and interestingly, can deploy a new webjob), but can't call either Start/Stop, without changing the user-agent.
https://github.com/projectkudu/kudu/wiki/Deployment-credentials#site-credentials-aka-publish-profile-credentials

is there a way to share HAR file?   Beware that HAR file contains your cred and you will need to scrub that before sharing.
Also try to run using CURL and pass the user-agent, see if any difference?

Hi,
I've quickly reproduced the issue on a public App Service, and made the PowerShell used to reproduce it available at https://gist.github.com/jstoker/e84203abe508bad06cc6cb4712b3459d.
The work-around for now is going to be explicitly providing a User-Agent, to unblock us, however this is a fairly non-obvious work-around, and smells like some form of bug. :-)
I've further validated this issue against public Azure, running Kudu
81.10329.3844.0 (14d700a964), using the provided sample code.
The App Service has a small example WebJob deployed into it as a continuous WebJob.
Hope that helps. I can provide further examples, or a similar trace against the original App Service I was having issues with, if that's needed.


Fix Metal memory management and the canvas_metal_minimal, canvas_nanovg, and macos_app examples.

winit does not create an autorelease pool, so the Metal backend had not taken
the presence of one into account. Now the Metal backend creates and flushes
autorelease pools as necessary.
Closes #334.
Closes #376.

@bors-servo: r+

:pushpin: Commit 42289ee has been approved by pcwalton

:hourglass: Testing commit 42289eec6ea9e8a50cb76babf4027ed4d318c48c with merge c6e7ed0bfc7bd3e72a3e401360f4b32129c298a0...

:sunny: Test successful - checks-travis
Approved by: pcwalton
Pushing c6e7ed0bfc7bd3e72a3e401360f4b32129c298a0 to master...


SCM: status bar should indicate the repository it shows information about

Testing: #34963
I think we should indicate the repository that we are showing status for from the status bar to the left of the branch. Clicking this repository could just open the SCM viewlet where the user can click on another one. If the user picks multiple, we could still just take the first. The important thing here is to make it clear which repository a branch belongs to.

It is indicated via tooltip. I didn't want to waste more space in the status bar. Is it really common that you get confused about which repo that status is from?

Maybe we can have it behind a setting. But I agree on the space down there to be valuable. We can also wait for more user feedback.

We can also wait for more user feedback.
I find it confusing that the repository for which the status is displayed is fixed i.e. I would expect it to change whenever I switch to (or focus, in case of a split editor) a different file. Other editors do it like
this. If it was implemented like this no indication would be needed. It would be clear that the information is about the repository containing the file currently edited.


Fix dependency issues

Description
This commit installs setuptools and tox as part of the requirements.

Can one of the admins verify this patch?

Fixes https://github.com/cloud-bulldozer/kraken/issues/79.

Can we also add tox to the list here to install?
I haven't been able to create a cluster yet today to test this.

@paigerube14 Added tox to the list of requirements. PTAL.

LGTM


[Bug] Hopper-v2 crashing using MBPO

Hi, I encountered a problem running Hopper-v2 with MBPO.
Steps to reproduce
run python -m mbrl.examples.main algorithm=mbpo overrides=mbpo_hopper device="cpu"
Observed Results
The code crashed, with the following error message:
File "/home/user/mbrl-lib/mbrl/env/termination_fns.py", line 19, in hopper *(next_obs[:, 1:] < 100).abs().all(-1)
RuntimeError: "abs_cpu" not implemented for 'Bool' Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.
I have tried to correct that bug by using np.abs() instead of .abs(), but then I met new error messages.
Thanks for considering my issue !

Thanks for reporting! Looks like a bug that comes from the original MBPO implementation, on which this is based. Looking at the gym code, the abs should be on the observation (not sure why the index is not the same).
I'm running training to see how it performs after this change, but the fix should be:
not_done = (
        torch.isfinite(next_obs).all(-1)
        * (next_obs[:, 1:].abs() < 100).all(-1)
        * (height > 0.7)
        * (angle.abs() < 0.2)
    )


Add translation for Simplified Chinese (/translations/zh-hans.md)

This is the first edition of Simplified Chinese translation, reviews are welcome.

Damn @nightire you're awesome!
As mentioned in https://github.com/thejameskyle/babel-plugin-handbook/issues/29 these translations are going to be managed by software that can make sure things stay up to date. I'll spend my weekend doing that.

I migrated all of these translations to Crowdin and your translation is now available at: https://github.com/thejameskyle/babel-plugin-handbook/tree/master/translations/zh-CN
Thanks!

@thejameskyle :+1: you're welcome

Awesome job :+1:


Refactoring: library versions in both packages

I'm not a big fan of a separate package called smooth_ui_library, but it does exist in addition to smooth_app, fair enough.
Something annoying is that in their pubspec.yamls we reference sometimes the same libraries, but not always the same version number.
This currently affects two libraries:
  flutter_svg: ^0.23.0+1
  openfoodfacts: ^1.3.8

I suggest that we use each library only in one package, in order to avoid confusion.

@monsieurtanuki is that fixed ?

Yes


bug: illuminate extra displays warning on nightly

Did you check docs and existing issues?

[x] I have read all the LazyVim docs
[x] I have updated the plugin to the latest version before submitting this issue
[x] I have searched the existing issues of LazyVim
[x] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
NVIM v0.11.0-dev-1252+gb1c907f219
Operating system/version
Ubuntu 24.04.1
Describe the bug
On neovim nightly, when using the vim-illuminate extra, once a buffer with an LSP client is loaded the following warning appears: position_encoding param is required in vim.lsp.util.make_position_params. Defaulting to position encoding of the first client.
The issue is related to https://github.com/neovim/neovim/pull/31249 but I was unable to reproduce the issue without importing lazyvim.plugins in my minimal repro spec so I suspect the issue is in how LazyVim's LSP configuration interacts with vim-illuminate.
My sense is that this is an issue in vim-illuminate (specifically here: https://github.com/RRethy/vim-illuminate/blob/master/lua/illuminate/providers/lsp.lua#L84) but without a clean repro that doesn't include importing lazyvim.plugins I can't be sure.
Steps To Reproduce

Use minimal repro
nvim -u repro.lua repro.lua
Press a key that invokes a move motion
Warning appears

Expected Behavior
No warning appears.
Repro
vim.env.LAZY_STDPATH = ".repro"
load(vim.fn.system("curl -s https://raw.githubusercontent.com/folke/lazy.nvim/main/bootstrap.lua"))()

require("lazy.minit").repro({
  spec = {
    { "LazyVim/LazyVim", import = "lazyvim.plugins" },
    { import = "lazyvim.plugins.extras.editor.illuminate" },
  },
})

Why do you report this here?

Why do you report this here?

Because something in how LazyVim sets up LSPs is triggering the warning. Like I said, I suspect the actual issue is in vim-illuminate but I can't confirm that because of how LazyVim does all of its setup under the covers.


Fix KeyEqual param for ConnectingIpPool declaration

the 4th parameter, KeyEqual, is missing in ConnectingIpPool declaration, which may lead to the comparison of two IpEndpoint object won't work as we expected. That is, the default one is unlikely to work with sockaddr type.
In another way, IpHelper contains the compare operator for IpEndpoint type, so IpHelper should be used as the KeyEqual parameter of ConnectingIpPool declaration.

[approve ci]


Fix nested contexts duplicating commands

This PR fixes an issue where using nested command contexts would duplicate commands upon execution. This comes about because all created commands are prepended by any containing commands used as a with-context. Since commands used as a with-context also get prepended, we end up getting duplicated commands when are contexts are nested.
We solve the problem by simply not prepending to commands used as a context.
Resolves #690

I had some difficulty getting the test docker image to work, but with some fiddling, I did get the test runner working for python 3.8 and all the tests for that at least passed.
Got these errors trying to run the test docker image:
 => ERROR [ 7/12] RUN apt-get -y install    python3.8    python3.9    python3.10    python3  2.2s
------
 > [ 7/12] RUN apt-get -y install    python3.8    python3.9    python3.10    python3.11:
#10 0.326 Reading package lists...
#10 1.707 Building dependency tree...
#10 1.901 Reading state information...
#10 2.154 E: Unable to locate package python3.9
#10 2.154 E: Couldn't find any package by glob 'python3.9'
#10 2.154 E: Couldn't find any package by regex 'python3.9'
#10 2.154 E: Unable to locate package python3.11
#10 2.154 E: Couldn't find any package by glob 'python3.11'
#10 2.154 E: Couldn't find any package by regex 'python3.11'

After temporarily updating the image to just use 3.8, I got this error when running the tests:
docker run -it --rm amoffat/shtest tox -p
py38-locale-utf8-poller-poll: FAIL ✖ in 4.26 seconds
py38-locale-utf8-poller-poll: commands[0]> python test.py
py38-locale-utf8-poller-poll: exit 1 (0.23 seconds) /home/shtest> python test.py pid=40
py38-locale-c-poller-poll: FAIL ✖ in 4.3 seconds
Traceback (most recent call last):
  File "test.py", line 27, in <module>
    import sh
  File "/home/shtest/sh.py", line 70, in <module>
    __version__ = metadata.version("sh")
  File "/usr/lib/python3.8/importlib/metadata.py", line 472, in version
    return distribution(distribution_name).version
  File "/usr/lib/python3.8/importlib/metadata.py", line 445, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/lib/python3.8/importlib/metadata.py", line 169, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: sh

Thanks for the contribution, I will take a look this week
On Sat, Jul 29, 2023 at 4:19 PM John Trimble @.***>
wrote:

I had some difficulty getting the test docker image to work, but with some
fiddling, I did get the test runner working for python 3.8 and all the
tests for that at least passed.
Got these errors trying to run the test docker image:
=> ERROR [ 7/12] RUN apt-get -y install    python3.8    python3.9    python3.10    python3  2.2s

[ 7/12] RUN apt-get -y install    python3.8    python3.9    python3.10    python3.11:
#10 0.326 Reading package lists...
#10 1.707 Building dependency tree...
#10 1.901 Reading state information...
#10 2.154 E: Unable to locate package python3.9
#10 2.154 E: Couldn't find any package by glob 'python3.9'
#10 2.154 E: Couldn't find any package by regex 'python3.9'
#10 2.154 E: Unable to locate package python3.11
#10 2.154 E: Couldn't find any package by glob 'python3.11'
#10 2.154 E: Couldn't find any package by regex 'python3.11'

After temporarily updating the image to just use 3.8, I got this error
when running the tests:
docker run -it --rm amoffat/shtest tox -p
py38-locale-utf8-poller-poll: FAIL ✖ in 4.26 seconds
py38-locale-utf8-poller-poll: commands[0]> python test.py
py38-locale-utf8-poller-poll: exit 1 (0.23 seconds) /home/shtest> python test.py pid=40
py38-locale-c-poller-poll: FAIL ✖ in 4.3 seconds
Traceback (most recent call last):
File "test.py", line 27, in
import sh
File "/home/shtest/sh.py", line 70, in
version = metadata.version("sh")
File "/usr/lib/python3.8/importlib/metadata.py", line 472, in version
return distribution(distribution_name).version
File "/usr/lib/python3.8/importlib/metadata.py", line 445, in distribution
return Distribution.from_name(distribution_name)
File "/usr/lib/python3.8/importlib/metadata.py", line 169, in from_name
raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: sh
—
Reply to this email directly, view it on GitHub
https://github.com/amoffat/sh/pull/691#issuecomment-1656954249, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAB7IKKRKSBABJLKYSNTCEDXSWK7ZANCNFSM6AAAAAA24YYAW4
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

--
Andrew M

Thanks for reviewing and merging this. Also, thanks for writing and maintaining this library! I use it all the time and it saves me an incredible amount of time and frustration.

That is great to hear John :)


[Bug][GitHub Data source] pull_requests table does not populate all the repos added to the project

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened

Initiated new connection for Github server.
Added Data source (corresponding repos) and scope config appropriately.
Added New project and mapped data source to it appropriately.
Once the configurations were completed, "Collect data" was performed and the corresponding pipeline was successful.
However, the repos that I have added were not reflected in "pull_requests" table
This issue is blocking us from retrieving the GitHub metrics.
The wierd part was that the repo count kept increasing in pull_request table on a daily basis

What do you expect to happen
I should see all repos in the pull_request table after the pipeline ran success.
How to reproduce

Initiated new connection for Github server.
Added Data source (corresponding repos) and scope config appropriately.
Added New project and mapped data source to it appropriately.
Once the configurations were completed, "Collect data" was performed and the corresponding pipeline was successful.
However, the repos that I have added were not reflected in "pull_requests" table
This issue is blocking us from retrieving the GitHub metrics.
The wierd part was that the repo count kept increasing in pull_request table on a daily basis

Anything else
Please expedite this ticket .
Version
v1.0.0-beta7@2cc08c7
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Thanks for your reply.
I have few queries to be answered.

Since we are using GitHub Server option, the GraphQL option is toggled-off  at the time of establishing the connection. Attached screen-shot for reference.

Which table captures ConnectionID and Name parameters?

I am able to view the corresponding connections ID and name in devlake._tool_github_connections table...
However, I could not see the data in pull_request table.

I see that the missing repo does not have the below snippet in devlake._raw_github_api_issues. Could this the reason for why the data was not loaded "pull-request" table.
"labels": [
{
"id":
"node_id":
"url":
"name": "",
"color": "",
"default":,
"description":
}

I am just a user which uses devLake tool to get the metrics. How do I know as to why the labels field is missing?
What could be the contributing factor for the missing Labels in my connection.
I am sure that the way I have established a connection and configured the data source (Github) and hence the project is same as before.
Is this something that needs to be fixed at the DevLake side?

@JoshuaPoddoku : Even with the latest upgrade to v1.0.0 Beta8, I still face the same issue.
Appreciate if anyone from DevLake community could join for a quick meeting.
There are no Github related data in Pull_requests.


Not Able to build

I am not to build this project as per instruction in readme, getting following exceptions:
C:\work\solr\hive-solr-master\solr-hive-core\src\main\java\com\lucidworks\hadoop\hive\LWHiveInputFormat.java:3: error: package com.lucidworks.hadoop.io does not exist
import com.lucidworks.hadoop.io.LWMapRedInputFormat;
^
How to resolve  "com.lucidworks.hadoop.io does not exist**** ", Please help here
I am new with gradle

common content was not got downloaded while downloading zip, so manually downloaded and and worked

That package comes from a submodule, which needs to be initialized before building the .jar. I see the README is a poorly formatted and doesn't make this clear, so I'll fix that up for future users.


[icons] simplify generated index.d.ts to reduce TS compile time

[X] I have followed (at least) the PR section of the contributing guide.

This will create a index.d.ts for @material-ui/icons that looks like this:
import SvgIcon from  '@material-ui/core/SvgIcon';

export const AccessAlarm: SvgIcon;
export const AccessAlarmOutlined: SvgIcon;
export const AccessAlarmRounded: SvgIcon;
export const AccessAlarms: SvgIcon;
// [...]

instead of this:
export { default as AccessAlarm } from './AccessAlarm';
export { default as AccessAlarmOutlined } from './AccessAlarmOutlined';
export { default as AccessAlarmRounded } from './AccessAlarmRounded';
export { default as AccessAlarms } from './AccessAlarms';
// [...]

(where every of the reference files only contains export { default } from '@material-ui/core/SvgIcon';).
This prevents the typescript compiler from (in the worst case) opening (and potentially watching) about 5000 files, reducing build times on my system by a few seconds.

This was always on my mind but I never get around to it. The best solution would be to just squash every file into a single one that consists of
declare module '@material-ui/icons/AccessAlaram' {
  // type def
}

I'm not sure though if typescript will pick this up if I do import Icon from '@material-ui/icons/AccessAlaram'?

Just tried it - unfortunately not.
It works well if that single file with all the module definitions is referenced somewhere (e.g. by doing import {} from '@material-ui/icons'; - but without that, the file just isn't loaded so those module defintions aren't recognized.
I also tried adding "types": "./index.d.ts", to the package.json, but to no avail.

Just tried it - unfortunately not.

This is how I remember it :(
So you import only via import { AccessAlarm } from '@material-ui/icons'? Did you solve slow cold start?

Be aware that tree-shaking is an optimization that is usually only applied to production bundles. Development bundles will contain the full library which can lead to slower startup times. This is especially noticeable if you import from @material-ui/icons. Startup times can be approximately 6x slower than without named imports from the top-level API.

Could we solve this by adding a import {} from '@material-ui/icons'; to the core index or will this include the full icons bundle in dev builds?

So you import only via import { AccessAlarm } from '@material-ui/icons'? Did you solve slow cold start?

Be aware that tree-shaking is an optimization that is usually only applied to production bundles. Development bundles will contain the full library which can lead to slower startup times. This is especially noticeable if you import from @material-ui/icons. Startup times can be approximately 6x slower than without named imports from the top-level API.

I did three measurements, each one with for i in $(seq 1 10); do time yarn tsc; done (you see my CPU throttling in subsequent builds there ;) )
Everything imported directly from @material-ui/icons/XYZ
Everything imported from @material-ui/icons
Everything imported from @material-ui/icons, but with the changes in this PR
So no, this does not solve slow start, but it should reduce the problem.

Could we solve this by adding a import {} from '@material-ui/icons'; to the core index or will this include the full icons bundle in dev builds?

That would break for everyone who has installed @material-ui/core, but not @material-ui/icons - at the moment I'd just let it as is.

Yeah just throwing random thoughts at this point. This is a good first step.

@phryneas Much appreciated. Thanks.

@phryneas @eps1lon @oliviertassinari
This generated erroneous types unfortunately.
Fortunately, I've opened a PR to fix it: https://github.com/mui-org/material-ui/pull/16139