为什么会出现公司电脑能用，家里电脑就不能用呢？启动正常，配置完全一样。

用的最新的 v0.1.1版本。  是v2ray问题还是 v2rayw问题呢？.
大概的错误日志是这样的
[469]: 2018/08/13 15:13:31 [Info] [4189477792] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: connection ends > Proxy|VMess|Outbound: failed to read header > Proxy|VMess|Encoding: failed to read response header > websocket: close 1000 (normal)
[470]: 2018/08/13 15:13:31 [Info] [4189477792] App|Proxyman|Inbound: connection ends > Proxy|HTTP: connection ends > io: read/write on closed pipe
[471]: 2018/08/13 15:13:31 [Info] [609994379] Proxy|VMess|Outbound: tunneling request to tcp:www.google.rs:443 via tcp:swv2ray.herokuapp.com:80
[472]: 2018/08/13 15:13:31 [Info] [3945220478] Proxy|VMess|Outbound: tunneling request to tcp:www.google.rs:443 via tcp:swv2ray.herokuapp.com:80
[473]: 2018/08/13 15:13:31 [Info] [82132087] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: connection ends > Proxy|VMess|Outbound: failed to read header > Proxy|VMess|Encoding: failed to read response header > websocket: close 1000 (normal)
[474]: 2018/08/13 15:13:31 [Info] [82132087] App|Proxyman|Inbound: connection ends > Proxy|HTTP: connection ends > io: read/write on closed pipe
[475]: 2018/08/13 15:13:31 [Info] [2549598472] Proxy|HTTP: request to Method [CONNECT] Host [www.google.com:443] with URL [//www.google.com:443]
[476]: 2018/08/13 15:13:31 <IP_ADDRESS>:51545 accepted //www.google.com:443
[477]: 2018/08/13 15:13:31 [Info] [2549598472] App|Dispatcher: sniffed domain: www.google.com
[478]: 2018/08/13 15:13:31 [Info] App|Router: looking for IP for domain: www.google.com
[479]: 2018/08/13 15:13:31 [Info] [2549598472] App|Dispatcher: default route for tcp:www.google.com:443
[480]: 2018/08/13 15:13:31 [Info] [2549598472] Transport|Internet|WebSocket: creating connection to tcp:swv2ray.herokuapp.com:80
[481]: 2018/08/13 15:13:31 [Info] [4254072401] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: connection ends > Proxy|VMess|Outbound: failed to read header > Proxy|VMess|Encoding: failed to read response header > websocket: close 1000 (normal)
[482]: 2018/08/13 15:13:31 [Info] [4254072401] App|Proxyman|Inbound: connection ends > Proxy|HTTP: connection ends > context canceled
[483]: 2018/08/13 15:13:31 [Info] [609994379] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: connection ends > Proxy|VMess|Outbound: failed to read header > Proxy|VMess|Encoding: failed to read response header > websocket: close 1000 (normal)
[484]: 2018/08/13 15:13:31 [Info] [609994379] App|Proxyman|Inbound: connection ends > Proxy|HTTP: connection ends > io: read/write on closed pipe
[485]: 2018/08/13 15:13:31 [Info] [3945220478] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: connection ends > context canceled
[486]: 2018/08/13 15:13:31 [Info] [3945220478] App|Proxyman|Inbound: connection ends > Proxy|HTTP: connection ends > context canceled
[487]: 2018/08/13 15:13:32 [Info] [2549598472] Proxy|VMess|Outbound: tunneling request to tcp:www.google.com:443 via tcp:swv2ray.herokuapp.com:80
[488]: 2018/08/13 15:13:32 [Info] [2549598472] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|Outbound: connection ends > Proxy|VMess|Outbound: failed to read header > Proxy|VMess|Encoding: failed to read response header > websocket: close 1000 (normal)
[489]: 2018/08/13 15:13:32 [Info] [2549598472] App|Proxyman|Inbound: connection ends > Proxy|HTTP: connection ends > context canceled
[490]: 2018/08/13 15:13:32 [Info] [3124753744] Proxy|HTTP: request to Method [CONNECT] Host [www.google.com:443] with URL [//www.google.com:443]
[491]: 2018/08/13 15:13:32 <IP_ADDRESS>:51548 accepted //www.google.com:443
[492]: 2018/08/13 15:13:32 [Info] [3124753744] App|Dispatcher: sniffed domain: www.google.com
[493]: 2018/08/13 15:13:32 [Info] App|Router: looking for IP for domain: www.google.com
[494]: 2018/08/13 15:13:32 [Info] [3124753744] App|Dispatcher: default route for tcp:www.google.com:443
[495]: 2018/08/13 15:13:32 [Info] [3124753744] Transport|Internet|WebSocket: creating connection to tcp:swv2ray.herokuapp.com:80
[496]: 2018/08/13 15:13:32 [Info] [1896113551] Proxy|HTTP: request to Method [CONNECT] Host [clients1.google.com:443] with URL [//clients1.google.com:443]
[497]: 2018/08/13 15:13:32 <IP_ADDRESS>:51553 accepted //clients1.google.com:443
[498]: 2018/08/13 15:13:32 [Info] [1896113551] App|Dispatcher: sniffed domain: clients1.google.com
[499]: 2018/08/13 15:13:32 [Info] App|Router: looking for IP for domain: clients1.google.com
[500]: 2018/08/13 15:13:32 [Info] [1896113551] App|Dispatcher: default route for tcp:clients1.google.com:443
[501]: 2018/08/13 15:13:32 [Info] [1896113551] Transport|Internet|WebSocket: creating connection to tcp:swv2ray.herokuapp.com:80
[502]: 2018/08/13 15:13:33 [Info] [3124753744] Proxy|VMess|Outbound: tunneling request to tcp:www.google.com:443 via tcp:swv2ray.herokuapp.com:80
[503]: 2018/08/13 15:13:33 [Info] [2188751872] Proxy|HTTP: request to Method [CONNECT] Host [clients1.google.com:443] with URL [//clients1.google.com:443]

公司正常的日志是这样的：
[39]: 2018/08/13 15:11:47 <IP_ADDRESS>:58074 accepted //ssl.gstatic.com:443
[40]: 2018/08/13 15:11:47 [Info] [3287159803] App|Dispatcher: sniffed domain: lh3.googleusercontent.com
[41]: 2018/08/13 15:11:47 [Info] App|Router: looking for IP for domain: lh3.googleusercontent.com
[42]: 2018/08/13 15:11:47 [Info] [216703768] App|Dispatcher: sniffed domain: ssl.gstatic.com
[43]: 2018/08/13 15:11:47 [Info] App|Router: looking for IP for domain: ssl.gstatic.com
[44]: 2018/08/13 15:11:47 [Info] [3287159803] App|Dispatcher: default route for tcp:lh3.googleusercontent.com:443
[45]: 2018/08/13 15:11:47 [Info] [3287159803] Transport|Internet|WebSocket: creating connection to

tcp:swv2ray.herokuapp.com:80
[46]: 2018/08/13 15:11:47 [Info] [216703768] App|Dispatcher: taking detour [direct] for [tcp:ssl.gstatic.com:443]
[47]: 2018/08/13 15:11:47 [Info] [216703768] Proxy|Freedom: opening connection to tcp:ssl.gstatic.com:443
[48]: 2018/08/13 15:11:47 [Info] [216703768] Transport|Internet|TCP: dialing TCP to tcp:ssl.gstatic.com:443
[49]: 2018/08/13 15:11:47 [Info] [1390796508] Proxy|HTTP: request to Method [CONNECT] Host [www.google.com:443] with URL

[//www.google.com:443]
[50]: 2018/08/13 15:11:47 <IP_ADDRESS>:58077 accepted //www.google.com:443
[51]: 2018/08/13 15:11:47 [Info] [1390796508] App|Dispatcher: sniffed domain: www.google.com
[52]: 2018/08/13 15:11:47 [Info] App|Router: looking for IP for domain: www.google.com
[53]: 2018/08/13 15:11:47 [Info] [1390796508] App|Dispatcher: default route for tcp:www.google.com:443
[54]: 2018/08/13 15:11:47 [Info] [1390796508] Transport|Internet|WebSocket: creating connection to

tcp:swv2ray.herokuapp.com:80
[55]: 2018/08/13 15:11:47 [Info] [1290919113] Proxy|HTTP: request to Method [CONNECT] Host [www.google.com:443] with URL

[//www.google.com:443]
[56]: 2018/08/13 15:11:47 <IP_ADDRESS>:58078 accepted //www.google.com:443
[57]: 2018/08/13 15:11:47 [Info] [1290919113] App|Dispatcher: sniffed domain: www.google.com
[58]: 2018/08/13 15:11:47 [Info] App|Router: looking for IP for domain: www.google.com
[59]: 2018/08/13 15:11:47 [Info] [1290919113] App|Dispatcher: default route for tcp:www.google.com:443
[60]: 2018/08/13 15:11:47 [Info] [1290919113] Transport|Internet|WebSocket: creating connection to

tcp:swv2ray.herokuapp.com:80
[61]: 2018/08/13 15:11:47 [Info] [387292768] Proxy|VMess|Outbound: tunneling request to tcp:www.google.com:443 via

tcp:swv2ray.herokuapp.com:80
[62]: 2018/08/13 15:11:47 [Info] [567365873] Proxy|VMess|Outbound: tunneling request to tcp:www.google.com:443 via

tcp:swv2ray.herokuapp.com:80
[63]: 2018/08/13 15:11:48 [Info] [2560033501] Proxy|VMess|Outbound: tunneling request to tcp:www.google.com:443 via

tcp:swv2ray.herokuapp.com:80
[64]: 2018/08/13 15:11:48 [Info] [3287159803] Proxy|VMess|Outbound: tunneling request to tcp:lh3.googleusercontent.com:443

via tcp:swv2ray.herokuapp.com:80
[65]: 2018/08/13 15:11:48 [Info] [1390796508] Proxy|VMess|Outbound: tunneling request to tcp:www.google.com:443 via

tcp:swv2ray.herokuapp.com:80
[66]: 2018/08/13 15:11:48 [Info] [1290919113] Proxy|VMess|Outbound: tunneling request to tcp:www.google.com:443 via

tcp:swv2ray.herokuapp.com:80
[67]: 2018/08/13 15:11:48 [Info] [719465602] Proxy|HTTP: request to Method [CONNECT] Host [ben.crxmouse.com:443] with URL

[//ben.crxmouse.com:443]
[68]: 2018/08/13 15:11:48 <IP_ADDRESS>:58081 accepted //ben.crxmouse.com:443
[69]: 2018/08/13 15:11:48 [Info] [719465602] App|Dispatcher: sniffed domain: ben.crxmouse.com
[70]: 2018/08/13 15:11:48 [Info] App|Router: looking for IP for domain: ben.crxmouse.com
[71]: 2018/08/13 15:11:48 [Info] [719465602] App|Dispatcher: default route for tcp:ben.crxmouse.com:443
[72]: 2018/08/13 15:11:48 [Info] [719465602] Transport|Internet|WebSocket: creating connection to

tcp:swv2ray.herokuapp.com:80
[73]: 2018/08/13 15:11:48 <IP_ADDRESS>:58083 accepted //clients4.google.com:443
[74]: 2018/08/13 15:11:48 [Info] [3678347432] Proxy|HTTP: request to Method [CONNECT] Host [clients4.google.com:443] with

URL [//clients4.google.com:443]
[75]: 2018/08/13 15:11:48 [Info] [3678347432] App|Dispatcher: sniffed domain: clients4.google.com
[76]: 2018/08/13 15:11:48 [Info] App|Router: looking for IP for domain: clients4.google.com
[77]: 2018/08/13 15:11:48 [Info] [3678347432] App|Dispatcher: default route for tcp:clients4.google.com:443
[78]: 2018/08/13 15:11:48 [Info] [3678347432] Transport|Internet|WebSocket: creating connection to

tcp:swv2ray.herokuapp.com:80
[79]: 2018/08/13 15:11:49 [Info] [344447711] App|Proxyman|Inbound: connection ends > Proxy|HTTP: connection ends > context

canceled
[80]: 2018/08/13 15:11:49 [Info] [344447711] App|Proxyman|Outbound: failed to process outbound traffic > Proxy|VMess|

Outbound: connection ends > context canceled
[81]: 2018/08/13 15:11:49 [Info] [53024180] Proxy|HTTP: request to Method [CONNECT] Host [www.googleapis.com:443] with URL

[//www.googleapis.com:443]
[82]: 2018/08/13 15:11:49 <IP_ADDRESS>:58085 accepted //www.googleapis.com:443
[83]: 2018/08/13 15:11:49 [Info] [53024180] App|Dispatcher: sniffed domain: www.googleapis.com
[84]: 2018/08/13 15:11:49 [Info] App|Router: looking for IP for domain: www.googleapis.com
[85]: 2018/08/13 15:11:49 [Info] [53024180] App|Dispatcher: default route for tcp:www.googleapis.com:443
[86]: 2018/08/13 15:11:49 [Info] [53024180] Transport|Internet|WebSocket: creating connection to

tcp:swv2ray.herokuapp.com:80
[87]: 2018/08/13 15:11:49 [Info] [719465602] Proxy|VMess|Outbound: tunneling request to tcp:ben.crxmouse.com:443 via

tcp:swv2ray.herokuapp.com:80
[88]: 2018/08/13 15:11:49 [Info] [56771885] Proxy|HTTP: request to Method [CONNECT] Host [ogs.google.com:443] with URL

[//ogs.google.com:443]
[89]: 2018/08/13 15:11:49 <IP_ADDRESS>:58089 accepted //ogs.google.com:443
[90]: 2018/08/13 15:11:49 [Info] [56771885] App|Dispatcher: sniffed domain: ogs.google.com

不知道怎么解决。

解决了，是时间不同步。


Won't download OptiPlex 7010 drivers

The OptiPlex 7010 drivers are a bit of a mess, and have MANY SKUs associated with them. That seems to be causing some issue with them downloading, which then causes DAT to fail to extract a non-existant .exe file.

We are seeing the same issue.  The new 7010's are labeled incorrectly as well.  Our standard model is the "7010 Micro Plus" as reported by WMI.

The labelling issue is on Dell's side. They decided to externally call them all 7010's. =(

I just had a look through the .xml, and you are absolutely correct.  I've complained to our Dell rep about it, and requested they fix up the .xml.  I suspect it's the incorrect entries in the .xml leading to the large SKU string as well (at least I hope it is).  We'll see where this ends up.

Getting the same result still on the Dell 7010's.   Hey Maurice Daly..  any influence at Dell?

we yelled at our Dell rep's team about this insanity. breaking the driver pack into three, etc. so far no real response. mentioned it had broken DAT.
Not sure what else to do. I've manually imported all three driver packs now, and can actually confirm the Tower pack seems to contain all the drivers for all three... so I don't know what the heck Dell is thinking on this. The 7010 as a whole has been a giant cluster (not putting the model number on the case!?)

we yelled at our Dell rep's team about this insanity. breaking the driver pack into three, etc. so far no real response. mentioned it had broken DAT.
Not sure what else to do. I've manually imported all three driver packs now, and can actually confirm the Tower pack seems to contain all the drivers for all three... so I don't know what the heck Dell is thinking on this. The 7010 as a whole has been a giant cluster (not putting the model number on the case!?)

We have done the same with our Dell rep, and they noted we are not the only customers to have provided this "feedback" :)  Hopefully this gets sorted out soon.  I'm using it as leverage to refuse to purchase any 7010's for the time being (I realize this isn't feasible for everyone).

yeah, we have our seed unit arriving today so we can get imaging working. I'll note that someone already tried and the thumbdrive didn't see the internal drive due to needing to update the Intel RAID driver in WinPE.
Anywho, here's hoping Dell gets this fixed on their end.

Open DriverPackCatalog.xml and find "FOLDER09319941M/1/7010-DNNP6_Win10_1.0_A00.exe", a few lines down rename it from Optiplex 7010 to OptiPlex 7010 Micro Plus on all 4 sku's then save it, relaunch DAT and you can download it. (adding this reply BEFORE i have fully tested imaging with it, but its in SCCM now)

does someone have a case number for dell?

does someone have a case number for dell?

I have no case number but I did email talk on the phone with them and show them the issue on 4/27. He was noticing an issue on their side as well with the integration suite for MECM. He said he was going to work with the engineers to see how they can fix the entries. You can manually fix the xml for the new 4 sku's for win10 and win11 entries and it will import just fine.

I don't have one either. I just told our sales engineer it was broken and they tried to tell me how to get the driver manually. =/
I do note that their bios cab also seems to be missing some recent bios's as well. So kinda wondering if there's something up on that team...

Update: Just in case anyone else hasn't noticed this yet, there are 3 new SETS of 7010's, all are labled Optiple 7010. Each set has 4 different skus included, so 12 new machines all together, and each set has its own driver package.
When you want to download them, I suggest going into your DriverPackCatalog and finding their entries and giving each set their own name, don't name the skus different, just each set should have 1 name applied to all 4 skus. Then when you launch DAT you can download each one separately and it will be separate in MECM as well. Since the name/title of the package doesn't really matter you can name them whatever you want, below is an example. Remember each set is listed twice, 1 for each windows version, so windows 10 and windows 11 will have a set entry. I have found that windows 10 drivers work perfectly on windows 11 and do not both to download 11's.
0BCC/0BCD/0BCE/0BCF - Optiplex 7010 v1
0BE3/0BE4/0BE5/0BE6 - Optiplex 7010 v2
0B00/0BD1/0BD2/0BD3 - Optiplex 7010 v3

After talking with Dell they will not be fixing anything in the XML file to differentiate between the sets of 7010's. Here is a fix for the .ps1 file to automatically rename the 7010's based on release.
Open DriverAutomationTools.ps1 - search to line 14195 thru 14197
 = "SystemName"; Expression = { $_.SupportedSystems.Brand.Model.name | Select-Object -First 1 }
replace with
					Name = "SystemName"; Expression = {                         if($_.SupportedSystems.Brand.Model.SystemID -eq "0BCC" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BCD" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BCE" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BCF"){                             "Optiplex 7010 Release 85HR5"                         }                         elseif($_.SupportedSystems.Brand.Model.SystemID -eq "0BE3" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BE4" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BE5" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BE6"){                             "Optiplex 7010 Release DNNP6"                         }                         elseif($_.SupportedSystems.Brand.Model.SystemID -eq "0B00" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BD1" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BD2" -or $_.SupportedSystems.Brand.Model.SystemID -eq "0BD3 "){                             "Optiplex 7010 Release NPDX0"                         }                         else{                             $_.SupportedSystems.Brand.Model.name | Select-Object -First 1

After talking with Dell they will not be fixing anything in the XML file to differentiate between the sets of 7010's. Here is a fix for the .ps1 file to automatically rename the 7010's based on release.
Open the DriverAutomationTool.ps1 file and go to line 14171 (# Read XML File), right below it and paste the following.
[xml]$xmledit = Get-Content -Path (Join-Path -Path $global:TempDirectory -ChildPath $DellXMLFile) -Raw
$7010Sku = New-Object -TypeName System.Collections.ArrayList
$7010Sku.AddRange(@(
	"0BCC"
	"0BCD"
	"0BCE"
	"0BCF"
	"0BE3"
	"0BE4"
	"0BE5"
	"0BE6"
	"0BD0"
	"0BD1"
	"0BD2"
	"0BD3"
))

foreach($driveredit in ($xmledit.driverpackmanifest.driverpackage | where {$_.SupportedSystems.Brand.Model.name -eq "Optiplex 7010"})){
	foreach($modeledit in $driveredit.SupportedSystems.Brand.Model){
		if($modeledit.systemID -in $7010Sku){
			$modeledit.name = "$($modeledit.name) ReleaseID $($driveredit.releaseID)"
		}
	}

}
$xmledit.Save((Join-Path -Path $global:TempDirectory -ChildPath $DellXMLFile))

Save it and now you can right click the ps1 file and run with powershell, this will use the edits to modify the xml file automatically creating separate entries in the GUI. They will be imported into SCCM with the same titles and will install based on SKU during OSD

Awesome. Sad they're not going to fix this mess. Here's hoping the next model won't be this garbage... =/

Awesome. Sad they're not going to fix this mess. Here's hoping the next model won't be this garbage... =/

I don't think they'll change anything unless customers actually stop buying computers over this (doubtful).  We're lucky to have this workaround and I see @PowershellBacon just submitted a PR to add it to the source.  👍

I mean, they've already said they're going to add the number back to the badge (instead of it just saying "OptiPlex").
This all feels like Dell is trying to do an Apple...
We've definitely made our complaints known, and said it breaks tooling we have. I haven't even tried my script that will tell me if new driver updates are available... I'm sure it's going to either pitch a fit, or completely miss the 7010 drivers. =/

For some reason the W10 drivers do work for a W11 install, but the W11 drivers don't work for a W11 install. I think it's probably an issue with us still using an older script within our TS because we aren't ready to switch to the admin service yet.
One of the techs on my team is worried about a possible performance hit on the server hosting the admin service.

ohhh yeah thats probably the issue then, the admin service is not to hard to setup and def worth doing.

Just learned from our Dell rep the driver cab .xml has been updated.  We've done some testing and found everything seems to work now, finally!

hahahahah. enough of us must have complained that it was horribly broken.
Good job everyone! =)

Just learned from our Dell rep the driver cab .xml has been updated. We've done some testing and found everything seems to work now, finally!

This is very good news, but the names still don't match the Models as pulled from WMI.
My test device...
Actual model name: OptiPlex Micro Plus 7010
Dell's updated XML: OptiPlex 7010 Micro
In your screenshot, you can see OptiPlex 7010 Micro still has multiple identifiers.

Dell's "fix" is ok, it doesnt really matter for those of use using Dell's, the script matches by SKU anyways. So they could have called it optiplex 1 thru 4 and it will still match. Each SKU is a different type of machine, there are 12 new skus, a set of 4 skus all use the same driver package.

Just learned from our Dell rep the driver cab .xml has been updated. We've done some testing and found everything seems to work now, finally!

Mine is still showing up same, do I need to do something for appropriate model name to showup?


IIS 8 - remove ETAG comment

First, thank you for this project. Very helpful.
Not to pick nits, but I suspect this comment isn't quite correct:

<staticContent>
<!-- Remove ETAG IN IIS >8 ; for IIS 7/7.5 see the Rewrite rules (bigger description of why you might remove etag down there aswell)
<clientCache setEtag="false"/>
-->

Should probably read:   ETAG IN IIS >=8

Yep you're correct.


Similar words repeated as options

When playing the following game

The game (expand to show)

   #####Welcome player!#####
Your score is currently 0. You require 5 points to leave and continue with your life...

"In a state of high anticipation, excitement, or interest."

To which of the following options does this definition pertain?
      wen
      assiduously
      incongruously
      agog

Please enter an integer from 1 - 4
>>> 4
Excellent - you are correct!
Your score is currently 1. You require 5 points to leave and continue with your life...

"(interrogative) At what time? At which time? Upon which occasion or circumstance? Used to introduce direct or indirect questions about time."

To which of the following options does this definition pertain?
      agog
      incongruously
      chary
      wen

Please enter an integer from 1 - 4
>>> 4
Excellent - you are correct!
Your score is currently 2. You require 5 points to leave and continue with your life...

"The finer and more volatile parts of a substance, separated by a solvent; an extract of a part of the substance of a body communicated to the solvent."

To which of the following options does this definition pertain?
      stevedores
      paeans
      striae
      tinctures

Please enter an integer from 1 - 4
>>> 3

For shame... The correct answer was: tinctures
Your score is currently 2. You require 5 points to leave and continue with your life...

"Chaotic, disordered, confused; also, incoherent, rambling."

To which of the following options does this definition pertain?
      piqued
      inchoate
      agog
      liminal

Please enter an integer from 1 - 4
>>> 2
Excellent - you are correct!
Your score is currently 3. You require 5 points to leave and continue with your life...

"To add variety to something."

To which of the following options does this definition pertain?
      variegated
      posset
      scree
      dun

Please enter an integer from 1 - 4
>>> 1
Excellent - you are correct!
Your score is currently 4. You require 5 points to leave and continue with your life...

"In a state of high anticipation, excitement, or interest."

To which of the following options does this definition pertain?
      wen
      assiduously
      chary
      agog

Please enter an integer from 1 - 4

In this game it appears that similar words appear a lot! Agog is in 4/6 games, the 1st, 2nd, and 6th games use basically the same words.
When playing multiple times the same basic set appears many times.

This issue was caused by biased sampling. As the options for the game were based on a choice of vocab types (noun, adj, etc.) there was equal weighting between them. Smaller clusters such as adverbs (for example) were being called just as often as adjectives. Improved upon by choosing a word and then examining types, which will more often return more common word type. Still to fix: repetitions of solved words.


fix: bump edge runtime to 1.4.1

What kind of change does this PR introduce?
Includes fix for https://github.com/supabase/edge-runtime/issues/104 and better error handling for module load issues.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
7 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.07%) to 63.077%

Files with Coverage Reduction
New Missed Lines
%

internal/gen/keys/keys.go
7
7.94%

Totals

Change from base Build<PHONE_NUMBER>:
-0.07%

Covered Lines:
4534

Relevant Lines:
7188

💛  - Coveralls


Replace zxcvbn-python with zxcvbn

Fixes #3634
Replaces zxcvbn-python v4.4.24 with v4.4.25

Changelog: https://github.com/dwolfhub/zxcvbn-python/compare/v4.4.24...v4.4.25

Thanks!


Add stream-app-postprocessor-common-dependency

Resolves #70

After discussion with @dtur, closing this PR without merging. The new dependency is added directly to the plugin through configuration in stream-applications-core. See this https://github.com/spring-cloud/stream-applications/commit/7d149524aa0460d3c67cb627b72d780849326723.


Others issues with Layout OnIndexing in BackgroundTasks

Repro:

Configure a valid search index
Create a Layout, add a menu element and publish
The indexing background task will fail

The Same with Breadcrumbs and projection elements... This because display methods are used in the layout part OnIndexing(), so each element OnDisplaying() which expects a valid httpContext will fail...
Moreover, with a projection element you can have more issues because of full content items rendering, with other content parts / fields, in a current theme, culture... So, potentially, there are too many places where we would need to check for a valid httpContext, request, requestContext...
I can easily fix each issue one by one, but I think we need here a more global solution. Maybe by providing through httpContextAccessor a new standin context as in the MvcModule but with more properties (QueryString, Session...). Or by wrapping a fake httpContext... I've tried this last solution whithout the baseUrl, with any hostname but with the right app virtual path...
Or maybe, for indexing the layout part, we need to implement some kind of layout element indexing handler / driver methods, and not to use the element OnDisplaying() ones.
Best

Or maybe, for indexing the layout part, we need to implement some kind of layout element indexing handler / driver methods, and not to use the element OnDisplaying() ones.

That's what I did initially, very similar to what we do from content handlers.
However, we should still be able to render elements from a background task regardless, so I think it should be fixed by providing a stand-in HTTP context as provided by MvcModule.
This issue was originally fixed with the changes I made to HttpContextAccessor. Those changes have been reverted (for the better). If you could provide a PR fixing this issue that'd be awesome. :)

@sfmskywalker very interesting, I will work on it asap. But there are so many interactions and so many ways to do things. So, I first need some advices (sorry for the length).

For a stand-in HTTP context in a background task, do we really need to use the baseUrl? I've tried a solution with only a fake hostname but with the right application virtual path...

But maybe important, I've seen that the baseUrl is used to init some collections (e.g Headers & ServerVariables). If so, one of the difficulties in the MvcModule is that we need a first request context to get the baseUrl... Here, maybe I've found a solution by using an Autofac QueryOver...

Through the HttpContextAccessor, do we need to carry the httpContext? Or can we return always a new object as I've tried and as done in the MvcModule

If we need to carry the httpContext, we could use the CallContext Logical Data. See the last posts of #4338, where I use it to carry the workcontext in async code (need to be validated)... Otherwise, I've tried a solution where I carry only the baseUrl, used when a new httpContext is created...

In place of an HttpContextPlaceholder, can we use an HttpContextWrapper based on a created httpContext? (marked  somewhere as a background context).

There are so many things initialized for us with an HttpContextWrapper (here maybe good to init some collections as done in the MvcModule). If we need to use an HttpContextPlaceholder, I would need to override others properties (e.g request.RequestContext).

Finally, in one of your commits I've seen that you was initializing the HttpContext.Current...

I didn't need it, but you was talking about some Html Helpers which use it... Is it worth to consider this?
Best

@sfmskywalker I've a solution that seems to work fine in my local environment, with only a few updates, and that prevents all the issues described above...
I've opted to always use an HttpContextPlaceholder. In WorkContextAccessor, after the workcontext, I also resolve an HttpContextBase which is carried through the CallContext.LogicalSetData(). Then in HttpContextAccessor I can simply retrieve it through the CallContext.LogicalGetData()...
So easy to use the CallContext in a few lines without using thread static dictionaries... I also needed to extend some other properties in the MvcModule, and other minor updates...
I will do a PR soon but I don't know if I use my current solution because I also carry the WorkContext through the CallContext. Maybe yes because it's an experimental PR, and it would be easy to change it (only the WorkContextAccessor file) to carry only the HttpContextBase through the CallContext ...
Best

I've opted to always use an HttpContextPlaceholder

You mean, always use an HttpContextPlaceholder in background tasks, correct?
That makes sense to me. What other option would there be? (I'm not currently looking at the code)
Regarding your question on setting HttpContext.Current, yes this is necessary if we want to be able to render shapes from background tasks, since HtmlHelpers access HttpContext.Current directly. Not only important for indexing layouts in the background, but also when generating email messages from a workflow in response to a timer activity for example.
Thanks for doing all of this work, much appreciated.

You mean, always use an HttpContextPlaceholder in background tasks, correct?

Yes

What other option would there be?

A derivated class of HttpContextWrapper based on a mockup HttpContext, I've tried some solution that seems to work. But I still needed to override some properties, and there is no perfect solution with the lazy loading of the baseUrl...
Because to get the baseUrl we need an HttpContext that needs a baseUrl..., we use a lazy loading for the baseUrl. But this circular dependency can still causes many issues when resolving components. I've tried a solution that works with a 3rd Factory registered by name to break the loop, and used for the first creation... But I found a solution by only using a new property to check if the baseUrl is loaded...

Regarding your question on setting HttpContext.Current, yes this is necessary...

I've worked on it. As said, I use the CallContext DataStore to carry the workcontext and the httpcontext, and this seems to work even with async code. Notice that HttpContext.Current uses the CallContext.HostContext that is not carried automatically (this is done by asp during a web request).
So, if tomorrow we use async code in background tasks, it would be difficult to update and maintain the HttpContext.Current value. I think we have better to set a value in some specific context / event...
So, I first tried a disposable scope class in some places, this worked but not the best solution. Finally, because when a view is rendered the httpContext.Request property is used, I've tried the solution to update the HttpContext.Current in this property accessor and clear it when the HttpContextPlaceholder is disposed (without retrieving a previous value because we set it when needed to render views in background tasks)..., and all seemed to work even when using some html helpers...
Need more thinking and tests...
Best

@sfmskywalker just to say that I've done an experimental PR #5966 to share my code and for testing. In this PR, I carry through the Logical CallContext not only the HttpContext but also the WorkContext , but I can easily revert back some changes to carry the WorkContext as before with a thread static dictionary...


bug(Slide toggle): Slide toggle animation in M3 theme does not match Material Web and looks jarring

Is this a regression?

[ ] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
No response
Description
The Slide toggle animation with an M3 theme uses the same duration and timing function as the M2 slide toggle. For the M3 switch this looks jarring and unfitting.
Reproduction
StackBlitz link: https://stackblitz.com/edit/stackblitz-starters-andwku?file=src%2Fmain.ts
Steps to reproduce:

Look at the toggle animation
Compare with the toggle animation used in Material Web: https://material-web.dev/components/switch/stories/

Expected Behavior
The slide toggle animation should not be jarring when using an M3 theme.
Actual Behavior
The slide toggle animation uses the short animation duration from M2 and appears jarring.
Environment

Angular: 17.3.5
CDK/Material: 17.3.5

cc @wagnermaciel


Requires Ruby >= 2.4.0 due to Filigree

With the new dependency on filigree, gem will now choke trying to install on Ruby versions lower than 2.4.0:
Fetching: ffi-1.9.25.gem (100%)
Building native extensions.  This could take a while...
Successfully installed ffi-1.9.25
Fetching: filigree-0.4.1.gem (100%)
ERROR:  Error installing rltk:
	filigree requires Ruby version >= 2.4.0.```

It looks like it can be worked around with:
Fetching: filigree-0.2.0.gem (100%)
Successfully installed filigree-0.2.0
1 gem installed
Last command: 0.622s   Exit Code: 0
steven@macbook:~/workspace/apps/ios(sh/parallelize-test) $ gem install rltk
Fetching: rltk-3.0.1.gem (100%)
Successfully installed rltk-3.0.1
1 gem installed```


G604 - Unable to see more complex macros created in logitech software

I'd really love to be able to assign all the buttons and do some more complex macros with the G604. Currently I'm FORCED against my will to use G hub on windows for anything more complex than a single keystroke, and I'd say half of my use case is on many different types of computers on which it would take me as much time to set up something to do macros through software as it would to just input everything manually. I haven't had time to look into it too much more, but Here's what I get:
Profile 1: (active)
Name: n/a
Report Rate: 1000Hz
Resolutions:
  0: 4000dpi (active) (default)
  1: 0dpi
  2: 0dpi
  3: 0dpi
  4: 0dpi
Button: 0 is mapped to 'button 1'
Button: 1 is mapped to 'button 2'
Button: 2 is mapped to 'button 3'
Button: 3 is mapped to 'second-mode'
Button: 4 is mapped to 'button 4'
Button: 5 is mapped to 'button 5'
Button: 6 is mapped to macro '↕3'
Button: 7 is mapped to macro '↕2'
Button: 8 is mapped to macro '↕1'
Button: 9 is mapped to UNKNOWN
Button: 10 is mapped to UNKNOWN
Button: 11 is mapped to 'wheel-left'
Button: 12 is mapped to 'wheel-right'
Button: 13 is mapped to 'unknown'
Button: 14 is mapped to 'unknown'
Button: 15 is mapped to 'unknown'
LED: 0, depth: rgb, mode: off

Is there any way to dump the entire onboard memory into a human readable format? That would be interesting to see, and even more interesting to be able to just make changes to the saved profiles that way!
When trying Piper to configure anything I find all my profiles get erased with even the smallest modification, even changing DPI or active profile if I remember correctly!? I haven't chanced it in a while so I can't really say, however I'm more than willing to do all kinds of testing if it means more functionality while maintaining more distance from that s#|t show G hub.
I'm fully aware how much time it takes to develop this stuff, and I want to express my utmost appreciation for everyone who has gotten ratbag and piper as far as they are now. Hopefully I missed something and there is a way to configure most things.

Update... more time, so more data :D
Initializing libratbag
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c53d is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c53d is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c53d is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c539 is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c539 is a Logitech receiver, not a device.  Ignoring...
ratbag debug: New device: Astro Gaming Inc. ASTRO Wireless Transmitter
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: No data file found for 9886:0001
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c53d is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c53d is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c53d is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c547 is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c547 is a Logitech receiver, not a device. Ignoring...
ratbag debug: New device: Logitech USB Receiver
ratbag debug: Using data directory '/usr/share/libratbag'
ratbag debug: 046d:c547 is a Logitech receiver, not a device. Ignoring...
DBus server ready


Open the Sessioneinstellungen for the running session

Feature Request
Make it possible to open the Sessioneinstellungen for the currently running session. This would allow quicker iteration when creating a session and would offer a shortcut without having to navigate the list of all the sessions.
Implementation suggestion
Add a link to Sessioneinstellung in the menu Freigaben.
This scopes the availability to the host of the session and fits, since the Freigaben are already settings.
Discussion
In case this raises any issues regarding changing settings while a session is online or in progress, the link could only be shown if the Verfügbarkeit of the session is In Bearbeitung.

@tobiashauser @KoALa-MHF/mh-team since this navigation was not part of the mockup, could you discuss in your round if that behavior is something you all agree on that it should be included? Since it was not part of the original scope, I have marked it as a "later" topic and we'll have to discuss in which context we expand the scope


Add native habitat resources and it's required toml dump resource

Describe the Enhancement:
The ability to manage the configuration and drift of Habitat installs as well as it's supervisor and Package/Service system. This would allow us to do so from a cookbook.
Describe the Need:
Any customer who owns both the Chef infra as well as the Habitat product or is currently using the effortless pattern would benefit. This would allow them to stop relying on an external cookbook.
Current Alternative
Right now they can use the Habitat cookbook
Can We Help You Implement This?:
I currently have a Draft PR in the pipeline. I need some guidance on where the tests need to go in the folder structure and likely will need some help making the toml_dumper helper work correctly a chef class.

Done


Watch not dealing with change in source

Hi, Really like this addition to deal with large endless scrolling lists, it worked great for me until I realized that if my source list changed the UI would not update.  So in my scenario I was binding a repeater to the results of a REST api call and all was well in the world until the user changes the filters on the display and the REST api is called to reload the array, ergo needing to rebind the repeater.  After a little investigation I found the following 2 lines of code fixed the issue.  Not sure if it fundamentally changes what your goal was so I'm just sharing, use as you like.
In the _watch prototype, I modified your $watchCollection by including the test to see if the originalItems and the arguments arrays were different...
this.scope.$watchCollection(collectionExp, angular.bind(this, function watchCollection() {
if(this.originalItems && this.items && this.originalItems.length > 0 && JSON.stringify(arguments[0]) !== JSON.stringify(this.originalItems))
this.items = [];
this.update.apply(this, arguments);
}));

I've the same problem! It seems that your solution works fine... push the fix for next release!

I faced the same issue, your solution works just fine.

I pushed an update (ba95b9459713acc866198ff2bec8e84679ef1a56) recently and hopefully it would resolve your issue :) So whenever the reference of a datasource changes, the directive will reset the array of displayed items.


How to display mAP for selected classes only?

I am testing 200 images from KITTI dataset. My dataset type is VOC ( model Faster RCNN). When I evaluate the result using:
python tools/test.py configs/pascal_voc/faster_rcnn_r50_fpn_1x_voc0712.py checkpoints/faster_rcnn_r50_fpn_1x_voc0712_20200624-c9895d40.pth --eval mAP
I get above result. But I only want to get mAP result for car and person. How do I do that? I could really use your help.

@deepsea12 VOC evaluator is not supported, but you can consider using coco evaluator, it is supported.

@deepsea12 VOC evaluator is not supported, but you can consider using coco evaluator, it is supported.

What do you mean by evaluator is not supported? I believe  VOC supports evaluation for mAP.

When we evaluate the metric, the number of classes depends on the length of det_results[0].
You can try to manually process the results so that only these two types of results are output.
You need to change the classes in the config file and pass it to data.train/val/test.classes, too.

When we evaluate the metric, the number of classes depends on the length of det_results[0].
You can try to manually process the results so that only these two types of results are output.
You need to change the classes in the config file and pass it to data.train/val/test.classes, too.

@AronLin How to pass the change in classes to data.train/test.classes?

@deepsea12 I am having the same problem, let me know if you solve it.

When we evaluate the metric, the number of classes depends on the length of det_results[0].
You can try to manually process the results so that only these two types of results are output.
You need to change the classes in the config file and pass it to data.train/val/test.classes, too.

@AronLin How do I manually process the result ( part 1 ). I would really appreciate if you could give or show me an example.

The length of det_results[0] is 20, each contains the results of one class.
You can get the results of person and car by their index and concatenate the results of these two classes as new det_results.

@AronLin sorry for too many questions, I am very new to mmdetection and I really appreciate your help. What changes should I make for your suggestion, could you please be more specific? I know the index of person and car but how to concateneate the results of these two classes as new det_results? Where should I make the changes in my mmdetction code?

@AronLin I am still unable to solve it. Could you please throw me some ideas

In single_gpu_test or multi_gpu_test of apis\test.py, the result of model is a tuple.
The first element is the bboxes and the second is the masks. Each element is a list with the length of classes.
What you need to do is to take out the results of two categories you need from the results of the 20 categories to form a list according to the indices, and then combine the results of bbox and mask into a tuple result.
Then you should set the CLASSES in the config file. Just need to set the CLASSES and pass it to data.train/eval/test.classes.

I am using my own trained model now instead of the official model. But I am still not satisfied with the results. As you can see no. of dets is very high? What could be the reason for such high value of dets and what i can improve to get higher mAP.

You can use a better method, faster r-cnn is an old method.

Are there any parameters to play with in order the reduce the dets number?

Do you mean the number of bboxes in the results?
You can try to set test_cfg.rcnn.score_thr in the config file to 0.5 or 0.6.

I set the score_thr  to 0.15, does that mean all the boxes with sore above 0.15 only are used during the mAP calculation. If so is this result justified?

I am using my own trained model now instead of the official model. But I am still not satisfied with the results. As you can see no. of dets is very high? What could be the reason for such high value of dets and what i can improve to get higher mAP.

How do you output this table? Is this during traing?
I would like to output per class mAP during training. Ideally in the console and in tensorboard


Getting no output when running GitReleaseNotes with private Bitbucket repo

Trying to get GitReleaseNotes working with my private Git repo hosted on BitBucket. Not getting an error but also not getting any output.
I have tried several commands but can't figure out what is going wrong.
GitReleaseNotes.exe . /AllTags /OutputFile ReleaseNotes.md --> nothing
GitReleaseNotes.exe . /IssueTracker Jira /Repo dynalean/dfservicestock /RepoUs ##### /RepoP ##### /O ReleaseNotes.md
Can you help me figuring out what is going wrong?

I am having the same problem.   Should it not just grab information from the local git clone?

I have the same thing with a GitHub public repo.

Is this project still active no been updated for a long while and I am also having this same issue.
No file or output even when adding /Verbose to the command
I wanted to use it in conjunction with gitversion

@vssubs
As a replacement, you can take a look at https://github.com/StefH/GitHubReleaseNotes

as to my knowledge it's not maintained anymore, so you could use what @StefH suggested


component url model is downloaded each time services.xml is deployed

Here a capture of the Vespa's logs after a redeployment of services.xml.
The lack of caching could be due to the redirection of the Dropbox url?

A URL file is expected to be downloaded if the deployed configuration caused a change so components need to be re-created. There is no caching mechanism.

I notice that other urls are cached:

I thought it was the norm to cache urls.

The HTTP request adds the If-Modified-Since header when downloading. If the server does not honor this (as this Dropbox forum post suggests, it will be downloaded every time. This would also explains why you are seeing this for only some URLs.
That said, the plan is to change this to never download an url if we already have cached it. Which means that you need to use a new/changed url if new content is wanted.

That said, the plan is to change this to never download an url if we already have cached it

Does that mean the cloud storage urls like Dropbox will be cached then?
Currently, each redeploy takes minutes and downloads GBs. And cloud storage urls are the only scalable solution.

Yes, that's the plan, but I haven't looked at the details and I have no ETA for this yet.

Thanks.

Cached URLs will always be used if already download, available in Vespa 8.217.31

@hmusum Works great with 8.217.46: the Dropbox model is cached as expected.


Initial tasks

### Initial Tasks
- [ ] https://github.com/trinodb/s3-proxy/issues/4
- [ ] https://github.com/trinodb/s3-proxy/issues/5
- [ ] https://github.com/trinodb/s3-proxy/issues/8
- [ ] https://github.com/trinodb/s3-proxy/issues/10

complete


resurrect 2D-only drivers?

it doesn't make sense to try to support the ancient OpenGL version avail under VirtualBox, but it would be nice to have 2D-only support avail in this case, as an option.
activate using: build-tags 2d

need a dummy gpu impl that just raises errors..

need dummy or appropriate impls for rest of new Texture api.

on windows probably need the swizzle thing for images or whatever that is all about.

not really worth it -- too much work to maintain and glos is working fine now.


Can the ability to display a scrolling scrollbar be supported while viewing PDF?

Is it possible to enhance the PDF viewing experience by adding a scrollbar for easier navigation?

0.4.0 is a new version which supports customization mechanism to add scroll thumbs:
PdfViewer.uri(
  Uri.parse('https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf'),
  controller: controller,
  displayParams: PdfViewerParams(
    maxScale: 8,
    viewerOverlayBuilder: (context, size) => [
      // vertical scrollbar
      PdfViewerScrollThumb(
        controller: controller,
        orientation: ScrollbarOrientation.right,
        thumbSize: const Size(40, 25),
        thumbBuilder:
            (context, thumbSize, pageNumber, controller) =>
                Container(
          color: Colors.black,
          child: Center(
            child: Text(
              pageNumber.toString(),
              style: const TextStyle(color: Colors.white),
            ),
          ),
        ),
      ),
      // of course, you can also add horizontal scrollbar if needed
      PdfViewerScrollThumb(
        controller: controller,
        orientation: ScrollbarOrientation.bottom,
        thumbSize: const Size(80, 30),
        thumbBuilder:
            (context, thumbSize, pageNumber, controller) =>
                Container(
          color: Colors.red,
        ),
      ),
    ],
  ),
),

0.4.0 is a new version which supports customization mechanism to add scroll thumbs:
PdfViewer.uri(
  Uri.parse('https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/PDF32000_2008.pdf'),
  controller: controller,
  displayParams: PdfViewerParams(
    maxScale: 8,
    viewerOverlayBuilder: (context, size) => [
      // vertical scrollbar
      PdfViewerScrollThumb(
        controller: controller,
        orientation: ScrollbarOrientation.right,
        thumbSize: const Size(40, 25),
        thumbBuilder:
            (context, thumbSize, pageNumber, controller) =>
                Container(
          color: Colors.black,
          child: Center(
            child: Text(
              pageNumber.toString(),
              style: const TextStyle(color: Colors.white),
            ),
          ),
        ),
      ),
      // of course, you can also add horizontal scrollbar if needed
      PdfViewerScrollThumb(
        controller: controller,
        orientation: ScrollbarOrientation.bottom,
        thumbSize: const Size(80, 30),
        thumbBuilder:
            (context, thumbSize, pageNumber, controller) =>
                Container(
          color: Colors.red,
        ),
      ),
    ],
  ),
),

Great! this is very helpful for me.

Oh, I didn't mention that the function is to generate Stack's children so that you can place Aligned, Positioned, and such to decorate the viewer. So if you need scrollbars instead of scroll thumbs,
you can do it yourself.


Adding functionality for distributed Openwhisk deployments

We are proposing adding support for distributed Openwhisk deployments. The following playbooks have the ability to provision VMs and deploy openwhisk on top of them.
provision_env_dist.yml
boot_instances_dist.yml
configure_env_dist.yml
build_images_dist.yml
In a nutshell, provision_env_dist.yml iterates through an array of instances (defined like so https://github.com/animeshsingh/openwhisk/blob/master/ansible/environments/distributed/group_vars/all#L63:L90).
The configuration information for each instance is passed to the boot_instances_dist.yml playbook, which uses the os_server module to make provisioning requests directly against the IaaS.
Once the VMs have been provisioned, the build.yml playbook creates and pushes the following images to the private docker registry https://github.com/animeshsingh/openwhisk/blob/master/ansible/environments/distributed/group_vars/all#L32:L48
Once the images have been built and pushed, the configure_env_dist.yml playbook calls the couchdb, initdb, wipe, openwhisk, and postdeploy playbooks. If these are successful, a sample "hello" action is invoked to ensure the deployment worked.
We also pulled in the docker, registry, prereq_build, and whiskhost roles/playbooks from the bluewhisk project. There were a few minimal changes we made to each role. We have added conditional statements so that these changes are only to be used if the "deployment" variable in the ansible/group_vars/all file is updated from "blue" to "open"

docker: Adjusted the "add user to docker group" task to add the ansible_ssh_user instead of hard coded id
https://github.com/animeshsingh/openwhisk/blob/master/ansible/roles/docker/tasks/deploy.yml#L32
registry: Adjusted the gencert playbook to place the generated ssl key/cert into the "ansible/files" directory instead of the /tmp directory. Before this change, the registry role would fail because it was looking for the certs in the "ansible/files" directory
https://github.com/animeshsingh/openwhisk/blob/master/ansible/roles/registry/tasks/gencert.yml#L8:L10

PG1-96 approved.

Rebased and merged as https://github.com/openwhisk/openwhisk/commit/649e39aee9126fee2c2e2759e8310607d8e8b301. Thanks for the contribution and all the tweaks.


feat(i18n): multi-language support

This is a work-in-progress to add internationalization (multi-language support) in Portainer.
Todo:

[ ] Create the entire en.json file for the whole application
[x] Add the ability to change the language in the settings
[ ] Fix an issue when hovering on widget titles (translation key is displayed)
[ ] Create the database migration process to update Settings with the Language field.
[ ] Check to use angular-translate storage instead of storing the lang inside the application state

angular-translate storage documentation: https://angular-translate.github.io/docs/#/guide/10_storages
Close #807

Here is a sample of the French version for the dashboard:

And the ability to set the language in the Portainer settings:

@deviantony Hi, If you are willing to improve the front-end development mode, support preview & debug function, I'll try to finish the feature: automate all translation operations in the front-end without changing the template.  : D

@soulteary We'd accept any contribution on this topic ! If  you need any pointers, feel free to ping me here or on Slack.


feat(protocol): withdrawals without on-chain finalization

This is a way to implement the rough idea Karl Floersch had when I talked with him at devcon where he was thinking of way to speed up withdrawals when some state hasn't changed for some time (but without knowing how it could be done).

Currently only describes a way to implement the most basic case for ETH, but I believe this could be extended further for other assets and with fewer constraints.

Also still very possible this method is flawed because I might have missed something that makes this approach impossible. So please let me know if you think there's a problem somewhere!

In the general case withdrawals can only be processed for a block that is proven and all its parent blocks are also proven. And so because of that withdrawal times are limited by the proof generation time for a block. In some cases however a full ZK-EVM proof is not required as long as certain conditions apply.
Let's say there's an onchain finalized block at X. At block X+n (n blocks later), a user submits an L2 transaction to the L2 ETH bridge to withdraw 1 ETH out of the rollup. Our goal is to be able to proof in another smart contract (on L1 or another L2) that the user's withdrawal transaction is a valid withdrawal transaction without requiring the onchain finalization of block X+n.
To do this we first have to know when a transaction is actually valid:

The signature is valid
The nonce is valid
The account has enough ETH to pay tx_gas_limit * tx_gas_price
tx_gas_limit is high enough to successfully do the required transaction

1 and 4 does not depend on any state so easy to check just by checking the transaction data itself. For 2 and 3 we do need to know some select (but not necessarily complete) data about the account at the point when the withdrawal transaction is done. But, taking some shortcuts, we know:

The nonce increases for each valid transaction.
The ETH balance of an EOA can only decrease when the EOA does a transaction. (An account can get sent ETH in all transactions but to know this requires fully executing all transactions so basically requires a full ZK-EVM proof).

If we simplify the problem as much as possible we can just require that the account did not do an transaction in blocks X+1 up to when the withdrawal transaction is done (this is certainly not a requirement for this system to work, it just makes things easier). This makes is easy to know from the proven data at block X:

the correct nonce for the withdrawal transaction for the account
the minimum amount of ETH the account has at the time of the withdrawal transaction

We can read this data directly from the post-state blockhash from block X. The transaction data we can read directly from the transaction data in block X+n. All that's left is for us to be able to efficiently prove that no transactions were done from the account in intermediate blocks (simplified case, otherwise we need to track the nonce and ETH balance, which should also be very doable). To do this efficiently we could depend on an optimized data structure to be attached to proposed blocks that allows this. The most basic one would be a hash of the list of originating addresses of each transaction in the proposed block which allows for a very cheap/simple ZKP to be generated.
This simplified system would already allow immediate withdrawals of ETH as long as (very roughly) the ETH in the account has not been transferred in too recently (roughly the time to generate a ZK-EVM proof). This seems very useful because this allows users to store ETH on L2 that is immediately available on both L2 and L1/other L2s, in a capital efficient manner and without any dependency on 3rd party liquidity providers. And on top of this basic system it seems likely that support for assets like NFTs can be built that cannot be sped up in different ways.
For optimistic rollups that seems like a very attractive system because with very minimal circuits/ZKP support they can support much faster withdrawals. For zkRollups the usefulness largely depends on how fast blocks can already proven with a full ZK-EVM proof.

@dantaik is this still available for brainstorming and collaboration?

Yes, it is. But to be honest, this feature is not a priority for us (as you have noticed).

Sure! I'd still love to work on it, although a bit of guidance would help :)
Is the Taiko Discord the best platform for questions?


feat: add lol-power-ranking

Github: https://github.com/arnaudmanaranche/lol-power-ranking/
Website: https://lol-power-ranking.app/

Hello @arnaudmanaranche,
Thanks for opening a PR.
Unfortunately, I don't think the LoL Power Ranking app matches the criteria for the Awesome Esports list yet.
I personally think the app is perfectible. But more importantly, it has yet to see some community traction behind it for it to be "awesome".
Keep shipping though, and one day it will be there!
Cheers.


Remove use of withName() method

We are currently using Monolog and we may never switch to an alternate logger, but if we stick to the PSR-3 methods then this should be possible.
I've only seen 3 uses of the withName() function which does not appear to be part of the PSR-3 spec.
Not sure if we should implement an internal copy of this method to allow us to use it with other loggers or just try to not use it?

https://github.com/Islandora-CLAW/Crayfish-Commons/blob/master/src/Provider/IslandoraServiceProvider.php#L62
https://github.com/Islandora-CLAW/Crayfish-Commons/blob/master/src/Provider/IslandoraServiceProvider.php#L83
https://github.com/Islandora-CLAW/Crayfish-Commons/blob/master/src/Provider/IslandoraServiceProvider.php#L91

I added the ->withName() because it makes the logs easier to read when you have a lot of debugging in your logs. If we don't care about that we can just remove the ->withName() call and log in the same namespace.

@whikloj is this still relevant, or can we close?


Tutorial bug at Clustering 3k PBMCs following a Seurat Tutorial

I found a minor bug in this tutorial
Clustering 3k PBMCs following a Seurat Tutorial. I hope this is the correct venue to post to regarding this.
I'm currently going through this to learn how to use scanpy.
In the first section
path = './data/pbmc3k_filtered_gene_bc_matrices/hg19/'
adata = sc.read(path + 'matrix.mtx', cache=True).T  # transpose the data
genes = pd.read_csv(path + 'genes.tsv', header=None, sep='\t')
adata.var_names = genes[1]
adata.var['gene_ids'] = genes[0]  # add the gene ids as annotation of the variables/genes
adata.obs_names = pd.read_csv(path + 'barcodes.tsv', header=None)[0]

Due to how pandas dataframes indexes this part
genes = pd.read_csv(path + 'genes.tsv', header=None, sep='\t')
adata.var_names = genes[1]
adata.var['gene_ids'] = genes[0]  # add the gene ids as annotation of the variables/genes

does not yield the expected results. As var_names becomes the index of var adding genes[0] will try to merge a data frame with unmatching index resulting in a NaN column in var for 'gene_ids'.
The solution should be either
genes = genes.set_index(1)
adata.var = genes

or
adata.var_names = genes[1]
genes = genes.set_index(1)
adata.var['gene_ids'] = genes[0]  # add the gene ids as annotation of the variables/genes

It does probably not have any effect on the tutorial but I thought I'd mention it.

Thank you for pointing it out, it is fixed in the current version and will be updated online soon. You're right that it didn't have any effect on the tutorial otherwise.


Backup mysql

Hello,
For backing up traccar's mysql database, I use a crontab shell command
sudo crontab -e
00 * * * * /bin/bash -c 'mysqldump --lock-tables=0 -h localhost -u name -pPasswd traccar --add-drop-table > /path/to/backupfile.sql'
This command line work fine.... but because I don't close traccar     [service traccar stop]     so database is still open...
My very first question is,
Do you think that backup file is possibly corrupt ?
Thanks.

It shouldn't be. The worst case scenario I can think of is that position object would be saved, but a link from devices won't be updated.

You can use the --single-transation key of the mysqldump to do the backup of all your data within a single database transaction. This way the consistency should be guaranteed.

So like this, it will save realy all ?
00 * * * * /bin/bash -c 'mysqldump --single-transaction --lock-tables=0 -h localhost -u name -pPasswd traccar --add-drop-table > /path/to/backupfile.sql'

This will guarantee that you will not get a broken database. But the case which @tananaev is talking about may take place because from my understanding posting of new position and updating reference in device happen in different database transactions.

Not sure to understand all....
So what is the best way to have a backup of all (devices, history, users, admin, manager and so....)

database   I use your command with  --single-transaction
config     I have a cron backup of  /traccar/conf

Thanks.

Hello,
No idea about this ?

I guess config doesn't change often, so you can just keep a copy somewhere. Everything else is in the database and will be backed-up by mysqldump utility.


Soundcloud music downloader, post processing error

Hi, im trying to create a python code that I will enter a soundcloud link(Single song, artist, or playlist) and will download it for me.
It downloads the song correctly but as random numbers(186407146) link is https://soundcloud.com/tevin-beckles/no-role-modelz-yl-ft-jcole
Also when running the code I get many errors in which im too dumb to understand:
http://pastebin.com/Dava3j2j
If someone could help me resolve the ID issue and the errors that would be great.
Thanks

Also when trying to download a playlist it downloads the first song then fails...

It clearly tells you in log:

ffprobe or avprobe not found. Please install one.

Post the code of your script.

http://pastebin.com/MWP77rMa

It downloads the song correctly but as random numbers(186407146)

That's exactly what you ask youtube-dl to do:

'outtmpl': '%(id)s.%(ext)s'


Assertion error in 'process_aggregate_arg' for anonymous struct/union

#include <stdio.h>
struct S {
	int filler;
	struct {
		const char* str;
	};
};
void f(struct S a) {
	printf("%s\n", a.str);
}
void main(void) {
	f((struct S) {.str = "foo"});
}

Running c2m a.c -eg: This should print "foo". Instead there is an internal assertion error:
c2m: c2mir/x86_64/cx86_64-ABI-code.c:314: process_aggregate_arg: Assertion `FALSE' failed.

Tested using a local build of commit 9b7aa035d97ab3b8e7b3e04d995c19794de1d0e6 with make debug then sudo make install.
The error seems to happen if there is any anonymous struct or union that contains a pointer member. There's no error if I break it out to a named type, remove int filler;, or use char str[4] instead.

Thank you for reporting this.  It revealed wrong passing such structures as arguments for x86-64 and riscv64 call ABI.
I fixed it by 62c4eced208353514ed303ef1ecb051d563cbc05 and 5ce509e30070cd074697c7ba92ce8bae988d378c.

Thanks, I confirmed it's working now.


Pasting values into masked inputs does not call events

When pasting values into the input, the "oncomplete", "onincomplete" and "oncleared" events are not being called. This problem is affecting recent versions (5.0.4 ~ 5.0.6-beta.9).
In the example at: https://stackblitz.com/edit/js-qgyxqa. Pasting the value "1328" or "x1245" the rules of the mask are respected but no event mentioned above is called.

Final 5.0.6.
In this example is onincomplete event triggered, but oncomplete not.
https://jsfiddle.net/mkyral/y0wcgxrh/8/


AWS security baseline on all accounts.

@ministryofjustice/modernisation-platform are going to handle this, probably.


Examples

A few examples would be worth adding (especially for adding an Array).
I want to add a child node
node := obj.AddChild('stats', jtArray);

and then set the value
node.Value := '[1,2,3,4,5]';

But this doesn't work.  Instead, I'm having to do this...
v := node.AddChild('', jtNumber); v.Value := '1';
v := node.AddChild('', jtNumber); v.Value := '2';
v := node.AddChild('', jtNumber); v.Value := '3';

Ok. But later.
If we are on this topic, than You must remember this fiew things about JSON.VerySimple:
{ - means object,
[ - means array,
and node.Value holds one value of type: jtString, jtNumber, jtTrue, jtFalse, jtNull.
Nodes of type  jtObject, jtArray can't have any value, they are parent nodes.

So, Your use case is correct:

v := node.AddChild('', jtNumber); v.Value := '1';
v := node.AddChild('', jtNumber); v.Value := '2';
v := node.AddChild('', jtNumber); v.Value := '3';

You can shorten this to:
node.AddChild('', jtNumber).Value := '1';
node.AddChild('', jtNumber).Value := '2';
node.AddChild('', jtNumber).Value := '3';
And last thing, JSON.VerySimple supports json that starts from object or array node.
For egzample: https://www.w3schools.com/js/js_json_intro.asp
{"name":"John", "age":30, "car":null}
or
{"employees":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }
]}
or
{
"name":"John",
"age":30,
"cars":["Ford", "BMW", "Fiat"]
}
or
[
"1",
"some object": {
"some key1": "some value 1",
"some key2": "some value 2"
},
"2"
]
I uploaded en update to JSON.VerySimple. I forgot that I made some changes while ago. Enjoy.

I will make some examples, but for now i close this issue.


Font Awesome Icons

I created a component for the Font Awesome Icons. The component supports stacking of icons and most of the features provided by Font Awesome 5.
The render function is a bit messy, I would really appreciate pointers for cleaning it up. I was not able to pass props to the Component in the default slot which is why I came up with this solution.
Thanks in advance!

@Zurga Hey!
Just taking over from @msaraiva as maintainer of this project and I will get a version onto hex soon.
I think this looks good, but is maybe incomplete without a text prop to support icon-text scenarios.
Would you mind adding that? Or do you maybe think we should have a <FaText/> that wraps the Fa?

@Zurga Hey!
Just taking over from @msaraiva as maintainer of this project and I will get a version onto hex soon.
I think this looks good, but is maybe incomplete without a text prop to support icon-text scenarios.
Would you mind adding that? Or do you maybe think we should have a <FaText/> that wraps the Fa?

@Zurga the more I read the code the more I feel that explicitness might be better, as in a <FaStack> container to hold stacked <Fa>
Thoughts?

@Zurga the more I read the code the more I feel that explicitness might be better, as in a <FaStack> container to hold stacked <Fa>
Thoughts?

Hey Oliver,
As I am writing this, it comes to me that it might be a good idea to remove the implementation of the FontAwesome specific code to a separate repository, since it does not depend on Bulma specific code. The surface_bulma FontAwesome modules could then be imported from that package.
I think you are right about the <FaStack> container and explicitness. As I am reading the docs for FontAwesome version 5.15.1, I see that there is support for the Layering of icons, which is supposed to replace the stacking, and allows for more than 2 icons to be layered on top of each other. In that light, the <FaStack> tag could be dropped.
It would be good to introduce a <FaLayers> or <FaLayer> tag which will provide the layering functionality, which is a bit easier to implement, because it does not require specific classes on the icons being layered.
I think I overlooked the icon-text scenarios. Probably best to create an <IconText> tag because one might want to provide specific classes to that tag. Maybe a usage as follows could be used:
<IconText text="No photography">
    <FaLayers>
        <FA icon="camera" />
        <FA icon="ban" />
    </FaLayers>
</IconText>

Thanks for your input, let me know what you think.

Hey Oliver,
As I am writing this, it comes to me that it might be a good idea to remove the implementation of the FontAwesome specific code to a separate repository, since it does not depend on Bulma specific code. The surface_bulma FontAwesome modules could then be imported from that package.
I think you are right about the <FaStack> container and explicitness. As I am reading the docs for FontAwesome version 5.15.1, I see that there is support for the Layering of icons, which is supposed to replace the stacking, and allows for more than 2 icons to be layered on top of each other. In that light, the <FaStack> tag could be dropped.
It would be good to introduce a <FaLayers> or <FaLayer> tag which will provide the layering functionality, which is a bit easier to implement, because it does not require specific classes on the icons being layered.
I think I overlooked the icon-text scenarios. Probably best to create an <IconText> tag because one might want to provide specific classes to that tag. Maybe a usage as follows could be used:
<IconText text="No photography">
    <FaLayers>
        <FA icon="camera" />
        <FA icon="ban" />
    </FaLayers>
</IconText>

Thanks for your input, let me know what you think.

That looks pretty good to me, but I would probably simplify it even more.
I agree on IconText, but instead of FaLayers I suggest a split prop api:
<Fa icon="camera"/>
or
<Fa stack="camera ban"/>
If we can keep component count low but flexibility high (without complex magic inside or in exposed api) I think we're in a good spot. I think one prop for icon that is singular, one prop for stack that is a list (of at least two) and a check that not both are set can work. Or that icon can be a list of 1 or more items, if more it stacks (probably the simplest?).

That looks pretty good to me, but I would probably simplify it even more.
I agree on IconText, but instead of FaLayers I suggest a split prop api:
<Fa icon="camera"/>
or
<Fa stack="camera ban"/>
If we can keep component count low but flexibility high (without complex magic inside or in exposed api) I think we're in a good spot. I think one prop for icon that is singular, one prop for stack that is a list (of at least two) and a check that not both are set can work. Or that icon can be a list of 1 or more items, if more it stacks (probably the simplest?).

I think the split prop would work really well if no options are given to the icons themselves. But from the examples in the layering documentation, the power of layering really seems to exist in the flexibility for styling the individual icons.
Also we would lose compile-time checking of the values (when this is supported in Surface) if I'm not mistaken.
The example below does have compile-time checking:
<FaLayers>
    <Fa icon="camera" size="2x" />
    <Fa icon="ban" transform="rotate-30" />
</FaLayers>

A keyword list based approach could work, but is a little bit clunky in my opinion.
<Fa icon=[["camera", size: "2"], ["ban", transform: "rotate-30"]] />

I think the split prop would work really well if no options are given to the icons themselves. But from the examples in the layering documentation, the power of layering really seems to exist in the flexibility for styling the individual icons.
Also we would lose compile-time checking of the values (when this is supported in Surface) if I'm not mistaken.
The example below does have compile-time checking:
<FaLayers>
    <Fa icon="camera" size="2x" />
    <Fa icon="ban" transform="rotate-30" />
</FaLayers>

A keyword list based approach could work, but is a little bit clunky in my opinion.
<Fa icon=[["camera", size: "2"], ["ban", transform: "rotate-30"]] />

Allright I vote for FaLayers then :)

Allright I vote for FaLayers then :)

One last thing @Zurga we think that most components should expose a class prop so you can pass down classes to the underlying element. For most usecases this should probably be written to the outer element if your component encompasses more than one. This let's us avoid a lot of needless wrapping to do positioning like is-pulled-right etc.

One last thing @Zurga we think that most components should expose a class prop so you can pass down classes to the underlying element. For most usecases this should probably be written to the outer element if your component encompasses more than one. This let's us avoid a lot of needless wrapping to do positioning like is-pulled-right etc.

@Zurga I plan to release to hex.pm within a weeks time with the first round of all the form and form control wrappers with the bulma api implemented, do you think it likely you will have a PR ready by then?

@Zurga I plan to release to hex.pm within a weeks time with the first round of all the form and form control wrappers with the bulma api implemented, do you think it likely you will have a PR ready by then?

Alright, I should be done by then. I finished the implementation and I am smoothing some rough edges. I will update the pr when it is ready.

Alright, I should be done by then. I finished the implementation and I am smoothing some rough edges. I will update the pr when it is ready.

@Zurga I just realized that your api does not implement icon-text
It was pretty trivial to add:
defmodule SurfaceBulma.Icon.FontAwesome.TextIcon do
  use Surface.Component

  @moduledoc """
  Renders a icon text
  """
  slot default

  slot text, required: true

  def render(assigns) do
    ~H"""

      <slot/>

    """
  end
end

defmodule SurfaceBulma.Icon.FontAwesome.TextIconText do
  use Surface.Component

  @moduledoc """
  The text that goes in a TextIcon component
  """
  slot default

  def render(assigns) do
    ~H"""

    <slot/>

    """
  end
end

And test:
test "text icon text" do
    html =
      render_surface do
        ~H"""
        <TextIcon>
        <FA icon="camera"/>
        <TextIconText>Hello</TextIconText>
        </TextIcon>
        """
      end

    assert html =~ """

           hello

           """
  end

Any comments or does this look ok to you?


Blatant RACISM on codewars.

I don't know where else to report this issue. But there is a blatantly racist answer to a kata i just did....WTF. And apparently it's been up for more than a year. Personally, I find this 100% appalling, and it needs to be removed.

How is this still on the site?
Can be seen on the solutions in python to this kata
https://www.codewars.com/kata/526571aae218b8ee490006f4/train/python

Thanks for reporting. The solution is removed.


url_parser: remove mixed declarations

(dump_url)

Remove erroneous quote in output.

(main)

Remove mixed declarations for compatibility with pre-c99 compilers
like msvc.

LGTM

Landed in d547f3b, thank you!


Add RFC for fine-grained output enable for I/O buffers

Rendered

We have discussed this RFC on the 2024-07-01 weekly meeting. The disposition was to close, since this RFC does not add any fundamentally new functionality, and nobody could state a compelling enough use case to justify the drawbacks.


add support for reporting to rollbar

TODO:

[ ] add rollbar access token from https://rollbar.com/Remind/empire/

Awesome. Looks good! Can you also add a line to CHANGELOG.md?
We're running this internally in our staging environment, I think we should give this a couple days and assuming no issues, we can merge.

@ejholmes sweet, sounds good. all set!

Just adding some comments on my findings here:
It seems like a lot of errors end up getting grouped incorrectly in Rollbar. Originally thought that this may have been a bug in remind101/pkg/reporter/rollbar, and tried to test with https://github.com/remind101/empire/commit/293bd7a647b2a5c1eeedee5374fa50330759069c, however, errors still got clumped together.
Digging a little deeper, I noticed that all of the errors that got clumped together shared the same stack. In stvp/rollbar the fingerprint that gets generated for the error only takes the stack into account:
func (s Stack) Fingerprint() string {
	hash := crc32.NewIEEE()
	for _, frame := range s {
		fmt.Fprintf(hash, "%s%s%d", frame.Filename, frame.Method, frame.Line)
	}
	return fmt.Sprintf("%x", hash.Sum32())
}

I think this is ok, but ideally the fingerprint would be a combination of stack and error class, but it looks like there's no way to easily inject a custom fingerprint into stvp/rollbar.


days default parameter 1 persists even if new iterable is passed

so this is intentional so that their is alway some period to calculate on. Not sure if this is the right behavior, it's kind of annoying as a user. 1 is explicitly passed in one function referenced here. This issue could probably be resolved in the fix for https://github.com/quantopian/alphalens/issues/66 (same as above).

Unfortunately the Average Cumulative Returns by Quantile plot relies on daily returns. A workaround would be to avoid the plot if period of 1 is not present but then it would be a little weird from user point of view

@luca-s Couldn't just the avg cumulative returns plot add the 1-day returns but not require it at the level of the tear sheet?

Sure, I can do that. Also, top+bottom quantile turnover and factor rank autocorrelation plots need a little fix in case 1-day period is not present and turnover_for_all_periods is False

@luca-s thanks.


Update README.md

Corrected grammar.
What do the changes you have made achieve?
Fix typos.

Coverage remained the same at 97.53% when pulling 7074ba453a576da9c629ab30c729705c12dc3770 on MrKuzio:patch-4 into 594cc6c869bab94dd812014e0af6d30abe9cfa3c on sasstools:develop.

Coverage remained the same at 97.53% when pulling 7074ba453a576da9c629ab30c729705c12dc3770 on MrKuzio:patch-4 into 594cc6c869bab94dd812014e0af6d30abe9cfa3c on sasstools:develop.

Coverage remained the same at 97.53% when pulling 7074ba453a576da9c629ab30c729705c12dc3770 on MrKuzio:patch-4 into 594cc6c869bab94dd812014e0af6d30abe9cfa3c on sasstools:develop.

Moved this to a suggestion in #1199 It should be applied there and this closed as a duplicate.


PostgreSQL JSON field support

Hello,
How can I deal with this type of fields in jsonapi-resources, right now jsonapi-resources throws an error can't cast ActionController::Parameters when I'm trying to create/update resource with JSON field.

It tries to save model here https://github.com/cerebris/jsonapi-resources/blob/master/lib/jsonapi/resource.rb#L191 while its JSON field has ActionController::Parameters instance as value. I guess I have to overwrite _save in my resource, would like to hear if there are other options to solve this.


Install package on<EMAIL_ADDRESS>?

I have a project with other packages and can not update react to 0.14.0.
Its posible install the package on<EMAIL_ADDRESS>?
Thanks

I get this message on console when i run sudo npm install react-swipeable-views --save
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPACKAGEJSON .temp No description
npm WARN EPACKAGEJSON .temp No repository field.
npm WARN EPACKAGEJSON .temp No license field.

Yes you can, the latest version<EMAIL_ADDRESS>drop the support of react v0.13.x. You need to use an older version

Thanks for the answer.
sudo npm install --save<EMAIL_ADDRESS>When i try to install de 2.3 version i get this other message :S
├── UNMET PEER DEPENDENCY<EMAIL_ADDRESS>└─┬<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>npm WARN EPEERINVALID<EMAIL_ADDRESS>requires a peer of<EMAIL_ADDRESS>but none was installed.
npm WARN EPACKAGEJSON .temp No description
npm WARN EPACKAGEJSON .temp No repository field.
npm WARN EPACKAGEJSON .temp No license field.
How can i solve it?

Solved.
After install the old version i will needed install react-motion dependency


Folder does not exist for training data

I know this issue has been raised several time before. However, I have not left unturned stone to solve it. I made sure of permissions for www-data and tried dozens of turn-around's with no success.
The only thing that might cause concern, although I do not think so, is that the ubuntu version is 17.10. Any help please?

Same problem here


Move Swedish vp data to new code

See https://github.com/enram/dmp/issues/5#issuecomment-481242056: OPERA has changed the radar code for a number of Swedish radars. That is why we have e.g. have 2016-2017 data for seovi and 2017-2019 data for seoer.
We should move the data from the directories with the old code to the directories with the new code (except for ARL to BAA because that is radar at a new location 20km further). The old codes referenced in the flyway dataset will disappear that way, but a) these are archived as one package at https://zenodo.org/record/1172801 and b) it's better to have data for the same radar under the same directory.
Changes to implement:

old directory
move to

vil
atv (new dir, wait until operational)

ase
hem

hud
huv

kkr
kaa (new dir, wait until operational)

kir
krn (new dir, wait until operational)

lul
lla (new dir, wait until operational)

ovi
oer

osu
osd

var
vax

We should not move data from old to new codes/directories in the repository. This will lead to issues when we would pull data from old sources. But all codes should be listed in the OPERA radar archive: https://github.com/enram/data-repository/issues/103


Update to version 1.3.0

@psdehal can you merge this?  The branch is actually your changes, so I reviewed the code diffs and it looks good to me.

v1.3.0 was never released on KBase.  unit tests weren't passing on this branch, so just moving forward with implementing v1.6.0 starting from v1.1.0 master branch.


Add 30 second sleep to ESXi pre-install to quell network devices

Signed-off-by: My D. Truong<EMAIL_ADDRESS>Description
Adding a sleep to allow network devices to settle
Why is this needed
We see a lot of install failures that look to be network interface not settling fast enough
Fixes: #
How Has This Been Tested?
Custom iPXE test deploy
How are existing users impacted? What migration steps/scripts do we need?
30 sec longer install time
Checklist:
I have:

[x] updated the documentation and/or roadmap (if required)
[x] added unit or e2e tests
[x] provided instructions on how to upgrade

meh #169 is almost done building, going with that one instead


The "Homepage" link from RubyGems.org should point to https://github.com/ruby-concurrency/thread_safe

The "Homepage" link from RubyGems.org still points to https://github.com/headius/thread_safe .
It should point to https://github.com/ruby-concurrency/thread_safe .

@donv Good catch! I've updated what links I can but the others require a new gem to be uploaded. I'll make those updates when I release 0.3.5


[Feature] I'm wondering if you can make it work with aminomancer's vertical tabs

Great script! Wondering if you can make it work with another script, aminomancer's vertical tabs? Thanks a lot!!!!!

I haven't heard of it before.
Is this the script you're referring to?
https://github.com/aminomancer/uc.css.js/blob/master/JS/verticalTabsPane.uc.js
This script in theory can support additional vertical tab managers as long as they are implemented as a "Firefox Sidebar".
However, as we all know, because UserChrome scripts are much more powerful than regular web extensions, it's likely your script does not implement side panels using "Firefox Sidebar".
I'll later post a tutorial here on how to find out about it when I have more time.

How to add support for additional sidebar tab managers?

Enable Browser Toolbox in Firefox.
You need this feature so you can inspect the browser window itself as if you're inspecting regular webpages.
You can follow the guide provided by Mozilla here.
While your sidebar tab manager is active, inspect the Firefox window. (Still follow the guide above)
In the Browser Toolbox window, execute document.getElementById("sidebar-box") after the >> prompt at the bottom.
You should see a DOM element returned. You want to copy its sidebarcommand attribute and append it as a new item to SIDEBAR_ACTIONS in the script.
Save the script.
Restart Firefox or open a second browser window to see if it's working.
You can undo the first step if you want.

@BloodDragooner2 Can you try the steps above? If it works, a PR would be very much appreciated.


Stops working when app is force closed

Multiple reports so far. Which is odd cause the service should be running as long as the system binds to it. Need to investigate.

I haven't seen anyone else mention this, but adding the app to 'whitelist application' under Odin settings has kept the app working for me even after turning the Odin 2 on from a complete shutdown. Even if I force close the app it'll still be running. I've mentioned it before in a reddit post, but it seemed to go unnoticed.

Thanks, that's good to know. Maybe this would be a simpler workaround than what my initial plan was :D


Revert "Tweak command-line arguments to make them more UNIX-like"

Reverts godotengine/godot#10014

Reverting this, due to -rdebug and -r becoming the same flag, breaks things and it's difficult by seeing the code which was which.


Some example uses are listed, but I'm not sure if it covers the full API of the package. I would like to see API documentation in some form so that I can see what functions are available and their expected inputs and output types.

Docs are now hosted at on the corresponding github pages site and documentation generation is specified in the docs branch

See https://tri-amdd.github.io/GMP-featurizer/html/py-modindex.html


Update permission references in RuleHandler ('r' -> 'ro')

Calling has_access() with 'r' resulted in a KeyError from api/auth/__init__.py.
Review Checklist

Tests were added to cover all code changes
Documentation was added / updated
Code and tests follow standards in CONTRIBUTING.md

LGTM!


The OpenJDK java installer does not add itself to path since the option is skipped

Because it skips the option to path, it complicates how a developer would attempt to use the JDK /JRE in something like GNU Octave assuming it is already set up. Ideally the settings that allow this in the installer would be exposed in the command line during installation.

The command line options for the features aside from the default are documented here: https://adoptopenjdk.net/installation.html


release: v0.29.0

Hey there, this fixes #1263  :)

[x] Referenced an issue explaining the need for the change
[ ] Updated all relevant documentation in docs
[ ] Updated all code comments where relevant
[ ] Wrote tests
[x] Added entry in .changelog/

Thanks for catching those, I'll update the docs!

Ah, and I just noticed you're missing the .changelog/v0.29.0 folder.

Note: if you’re using docs.rs, setting html_root_url manually is obsolete: https://github.com/rust-lang/api-guidelines/issues/229

Codecov Report

Merging #1267 (7dd8d4e) into main (89c8add) will decrease coverage by 0.1%.
The diff coverage is n/a.

:exclamation: Current head 7dd8d4e differs from pull request most recent head 9edc581. Consider uploading reports for the commit 9edc581 to get more accurate results

@@           Coverage Diff           @@
##            main   #1267     +/-   ##
=======================================
- Coverage   64.3%   64.3%   -0.1%
=======================================
  Files        250     250
  Lines      21618   21618
=======================================
- Hits       13917   13915      -2
- Misses      7701    7703      +2

Impacted Files
Coverage Δ

light-client/src/lib.rs
100.0% <ø> (ø)

proto/src/lib.rs
100.0% <ø> (ø)

tendermint/src/lib.rs
100.0% <ø> (ø)

testgen/src/header.rs
83.5% <0.0%> (-0.6%)
:arrow_down:

light-client-verifier/src/types.rs
38.4% <0.0%> (-0.3%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

re: release.sh do I have the appropriate permissions to push to crates.io once this PR gets approved?

No, I've just pushed #1268 to attempt to help with this. We've configured our @bftbot to be able to push crates on our behalf when you push tags to the repo. Please double-check my approach in #1268 to see if I've missed anything important?
If we can merge #1268 first, then this PR, then if you push the v0.29.0 tag to the repo it should trigger the release. Please also sign and annotate the tag before pushing it:
git tag -s -a v0.29.0 -m 'Release v0.29.0'

I usually manually create a release from a new tag. Eventually we'll automate that too.

Note: if you’re using docs.rs, setting html_root_url manually is obsolete: rust-lang/api-guidelines#229

Thanks for the heads-up @tarcieri!


Package release structure

Currently, the code isn't structured to support releasing it on PyPI. We plan to eventually change it s.t. users can just pip install amuletxyz instead of cloning the repo.

On pip