Used the tools go fmt and goimports on the following file (a minimal test case):
package main

func f() {
	var d = struct {
		Shorty int
		Short int
		VeryMuchLongerFieldName int
	}{
		Shorty: 5,
		Short: 5,
		VeryMuchLongerFieldName: 5,
	}
}

Go fmt converts it to:
package main

func f() {
	var d = struct {
		Shorty                  int
		Short                   int
		VeryMuchLongerFieldName int
	}{
		Shorty:                  5,
		Short:                   5,
		VeryMuchLongerFieldName: 5,
	}
}

Goimports converts it to:
package main

func f() {
	var d = struct {
		Shorty                  int
		Short                   int
		VeryMuchLongerFieldName int
	}{
		Shorty: 5,
		Short:  5,
		VeryMuchLongerFieldName: 5,
	}
}

The two tools disagree. This results in them always trying to reformat each others' code.
Goimports starts to agree with gofmt if Shorty and Short are in the opposite order, so that the field length progresses upward; or if VeryMuchLongerFieldName is reduced to MuchLongerFieldName.

Did you build goimports command with Go 1.14, or is it an older binary? What does go version -m $(which goimports) print?
I can't reproduce this. I suspect your goimports binary was built with an older version of Go, where gofmt behavior was slightly different, and so it's producing formatting output consistent with that old version of Go.
Edit: Actually, I can reproduce this if I build goimports with Go 1.10. There was a change to gofmt behavior in Go 1.11 (see https://golang.org/doc/go1.11#gofmt). So your goimports binary is probably built with Go 1.10 or older. Can you confirm?

You were right, that was it. It works after updating goimports. Thanks for such a prompt response.


Milestones 4+5

after 8~ months of inactivity do you have any intention of completing the final 2 milestones of your CCS

Definitely interested. What do you intend on doing? If you have experience in Rust, the successor of this project (Accept-xmr) might interest you.


Multiple inreach Devices

I ran across this on reddit. Thanks for it (and for sharing it).
I'm the user that said he had multiple devices.  I am going to test them both out this weekend.  I can provide the KML file to you if you'd like to see it - and then maybe we can tweak this to be able to handle multiple IMEI's in a KML file / mapshare url?

Multiple inReach device support added in https://github.com/kemenril/iR-APRSISD/pull/2

Decided to try a somewhat different tactic than you were using.  Take a look at the new code, and let me know if it seems to behave in the correct way.  Pay special attention to the new Devices section in the config file, which you can define for a fixed multi-device mapping, or leave undefined.  If you leave it undefined, the first device that it finds gets your SSID as defined, and the number is incremented for each subsequent device.
There is also a command-line option now that allows you to specify an IMEI, but that option overrides the entire Device section, forcing a static map containing only that IMEI with the default SSID.  Additionally, a -C option has been added to allow you to run with an alternate configuration file, in case you want something like a different APRS symbol for each device, for example, which isn't currently supported in another way.
Anyway, it's still mostly speculative, but take a look, and let me know if it helps.

I do like your approach...its a bit cleaner.
I'm going to test this out over the next few days with my 2 devices and let you know.

The new approach works really well. I'd say this issue is closed. I really like the latest code too.

Thanks,
I had been wondering whether you'd seen it after the big refactor the other day.  I'm much happier with it since then, it should be close enough to functionally identical, and the new structure is such that if I want to add, say, support for Spot tracking devices or other slightly different data sources, it should be relatively simple.  Of course, I don't have, nor do I know anyone with, a Spot, either, so it may need to wait. :)


support mongo 3.0 by adding yaml, nested config, ulimit and hugepage overrides

This pull request adds the following to successfully create a replicaset running mongo v3 using the WiredTiger storage engine.  This is not backwards compatible for 2.x due the config structure and to_yaml call.  Maybe a new v3 branch is in order?

A new to_yaml method to handle nested config arrays
Config option restructuring for yaml changes
Default WiredTiger storage engine
ulimit security.d override
hugepage configuration

Caveats:

The to_yaml is not recursive, only handles second level depth
Did not thoroughly test sharding, just replica sets

Surprises:

chef-client has to run twice for the replica set to be configured successfully
user management recipe does not work for replica sets as it does not detect primary/secondary before calling createUser

Here is an example of my role attributes for a successful install:
{
  "mongodb": {
    "auto_configure": {
      "replicaset": true
    },
    "is_replicaset": true,
    "cluster_name": "<replica set name>",
    "config": {
      "replication": {
        "replSetName": "<replica set name>"
      }
    },
    "mms_agent": {
      "api_key": "<mms api key>"
    }
  }
}

Nice @jonaldomo Can you PR to mongodb-v3 branch ? Thanks!

@luishdez Here you go. https://github.com/chef-brigade/mongodb-cookbook/pull/86

Thanks!! Close in favor of https://github.com/chef-brigade/mongodb-cookbook/pull/86


Fix1107 is resolved:validation of backend type

What type of PR is this?
/kind bug fix
What this PR does / why we need it:
when a create backend request is sent, type of the backend is to be verified to proceed.
Which issue(s) this PR fixes:
Fixes #1107
Test Report Added?:

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind TESTED
/kind NOT-TESTED

Test Report:

Special notes for your reviewer:

https://github.com/sodafoundation/multi-cloud/pull/1151
here PR is raised for the issue 1107


The output is not correct

I tested your example, the output is not correct.

Which version of SASS do you use?


How do I specify multiple change addresses？

How do I specify multiple change addresses and assign the change amount for each change address?

Hi @zhlqee,
I fear you have to use the raw transaction API for this. Here are some hints:
https://github.com/OmniLayer/omnicore/wiki/Use-the-raw-transaction-API-to-create-a-Simple-Send-transaction
When using omni_createrawtx_reference, you can specify an amout that is sent to the destination. This could be used to generate the change outputs.


Release 1.1.1

This minor new release addresses minor issues such as:

Documentation Fix of ReadTheDocs

Bug fix #166 Synthesizing score with pick up measure

Bug Fix of kern import #160

Bug Fix of Musicxml import repeat infer #161

New minor feature : Adding midi pitch to freq for synthesizer #163

Bug fix Note array with empty voice  #159

Codecov Report
Base: 80.59% // Head: 81.04% // Increases project coverage by +0.44% :tada:

Coverage data is based on head (3f83a6d) compared to base (d1bee81).
Patch coverage: 91.78% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #169      +/-   ##
==========================================
+ Coverage   80.59%   81.04%   +0.44%
==========================================
  Files          63       63
  Lines       10278    10379     +101
==========================================
+ Hits         8284     8412     +128
+ Misses       1994     1967      -27

Impacted Files
Coverage Δ

partitura/directions.py
78.49% <ø> (ø)

partitura/io/exportaudio.py
92.85% <ø> (+0.54%)
:arrow_up:

partitura/io/importnakamura.py
85.71% <ø> (ø)

partitura/musicanalysis/__init__.py
100.00% <ø> (ø)

partitura/musicanalysis/key_identification.py
84.48% <ø> (ø)

partitura/musicanalysis/pitch_spelling.py
90.56% <ø> (ø)

partitura/musicanalysis/tonal_tension.py
85.38% <ø> (ø)

tests/__init__.py
100.00% <ø> (ø)

tests/test_load_score.py
90.47% <ø> (+0.47%)
:arrow_up:

tests/test_mei.py
99.44% <ø> (+<0.01%)
:arrow_up:

... and 69 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

The tests Fix is not resolved but I propose merging the PR and moving the issue to the next release.  Note to change the ReadTheDocs latest tag to main.


ATH v1.1.1 Update

@0xCUB3 @MDNich
Hi
Since v1.1.1 About.This.Hack.zip contains a "dmg" not an "app" as with v1.1.0
About.This.Hack.zip v1.1.1

And in "About This Hack.app" v1.1.1 "info.plist" "CFBundleShortVersionString" =  1.1.0

About.This.Hack.zip v1.1.0

Diff between UpdateController.swift v1.1.1 and v1.1.0 (no changes)

UpdateController.swift can't work fine, UpdateController needs an "app" not a "dmg" to update ATH in /Applications
so UpdateController.swift needs changes like

run("/usr/bin/hdiutil attach  (tempDirectory)/(thisApplicationName)v(latestVersion).dmg" -nobrowse -quiet")
run("/bin/cp -rf "/Volumes/(thisApplicationName)/(thisApplicationName).app  "(initGlobVar.thisAppliLocation)/(thisApplicationName).app"")
run("/usr/bin/hdiutil detach $(/bin/df | /usr/bin/grep "(thisApplicationName)" | awk '{print $1}') -quiet")

\1) mount "dmg", 2) copy ATH.app to /Applications and 3) umount "dmg"
when update is a "dmg" (ie. version > 110)
and 2) could copy ATH.app from mounted "dmg" to (initGlobVar.tempDirectory) so it'll be like a previous version with the "app" extracted from à "zip".
Regards
and about previous issue N° 90 closed (Version.txt) :
latest version Number could be obtained by
latestVersion = run("GIT_TERMINAL_PROMPT=0 git ls-remote --tags --refs --sort="refname" (initGlobVar.athrepositoryURL) | awk -F'/' '{print  $NF}' | grep "^[0-9]" | tail -n1 | tr -d '\n'")
where "athrepositoryURL" is "https://github.com/0xCUB3/About-This-Hack"
so you didn't need a Version file containing the version number.

you're right. someone was very kind as to send me a DMG, but I forgot about the restrictions. I will switch back to a .app.

@0xCUB3
Hi
I could (I can) provide a modified UpdateController.swift component (with dependent others, InitGlobalVariables.swift and a new one called SystemFunctions.swift).
Modified UpdateController.swift

manage a ".dmg" from version >= 111 and a ".app" otherwise.
check Minimum OS version allowed --> v1.1.1 cant' be installed (copied) on High Sierra
Notifications (Apple Dev. components) between OS 10.13 and 10.14 are  different, and it's managed and tested

Regards

I will be switching back to .apps, so there is no need.

@0xCUB3 @MDNich
Hi, F.Y.I
On High Sierra V1.1.1 Update (with a ".dmg" )
and update Minimum version vs current version comp

And on Monterey with Notifications (with UNUserNotificationCenter new class since 10.14) (NSUserNotification coded in v1.1.1 UpdateController.swift is deprecated since 10.14)

works both for a ".dmg" or ".app" extracted from ".zip"
Regards


Fix Issue #39

https://github.com/ciena-frost/ember-frost-notifier/issues/39
This project uses semver, please check the scope of this pr:

[ ] #none# - documentation fixes and/or test additions
[x] #patch# - backwards-compatible bug fix
[ ] #minor# - adding functionality in a backwards-compatible manner
[ ] #major# - incompatible API change

Screenshots
Before

After

CHANGELOG

Fixed display of long, unbroken strings (resolves #39)

Approved - probably still worth keeping some remnant of #39 around to handle the
 ugliness

I've never had a use case for the open details thing, or actually even seen it configured properly, so I wasn't worried about it.

Yeah, me either ;)

Changes Unknown when pulling 7b5a98b69626d8776f3eb0f647dbf5fd54b3ce70 on job13er:support-long-error-strings into ** on ciena-frost:master**.

Approved

Awesome.


Implement the possibility of refreshing itself for the ExtendedWebElement element.

Describe the solution you'd like
Implement the feature such as ExtendedWebElement.refresh() to de-stale the element and make it reusable.
Additional context
A similar request is described here:
https://github.com/seleniumhq/selenium-google-code-issue-archive/issues/4419

verified for staled element successfully


allow JAGS list of list for inits?

If we allow a user to provide a list of lists, should probably give a warning that if the list is longer than 1, we are only using the first list in the list of lists.

What say if we detect a list of lists provided for the initial values, then use the first (sub) list as the initial values, and issue a warning message to that effect.  Does that sound reasonable?

I think so.
On Sat, Oct 24, 2015 at 8:58 PM, Daniel Turek<EMAIL_ADDRESS>wrote:

What say if we detect a list of lists provided for the initial values,
then use the first (sub) list as the initial values, and issue a warning
message to that effect. Does that sound reasonable?
—
Reply to this email directly or view it on GitHub
https://github.com/nimble-dev/nimble/issues/104#issuecomment-150890013.

Short of further comments on this thread, I'll implement what we've discussed here this week.

We now check for a list of lists of initial values.  In this case, an informative message is issued, and only the first list of initial values is used.


Primal starting value on 7.0.3

With the SCIP version 7.0.3, once the previous issue is fixed, we have 4 tests failing on primal value setting:
Primal start values: Test Failed at /home/mbesancon/julia_projects/SCIP.jl/test/MOI_additional.jl:617
  Expression: MOI.get(optimizer, MOI.TerminationStatus()) == MOI.SOLUTION_LIMIT
   Evaluated: MathOptInterface.OPTIMAL == MathOptInterface.SOLUTION_LIMIT
Stacktrace:
 [1] macro expansion
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:617 [inlined]
 [2] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [3] top-level scope
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:577
Primal start values: Test Failed at /home/mbesancon/julia_projects/SCIP.jl/test/MOI_additional.jl:621
  Expression: ≈(MOI.get(optimizer, MOI.ObjectiveValue()), 1.0, atol = atol, rtol = rtol)
   Evaluated: 2.0 ≈ 1.0 (atol=1.0e-6, rtol=1.0e-6)
Stacktrace:
 [1] macro expansion
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:621 [inlined]
 [2] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [3] top-level scope
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:577
Primal start values: Test Failed at /home/mbesancon/julia_projects/SCIP.jl/test/MOI_additional.jl:622
  Expression: ≈(MOI.get(optimizer, MOI.VariablePrimal(), x), 1.0, atol = atol, rtol = rtol)
   Evaluated: 0.0 ≈ 1.0 (atol=1.0e-6, rtol=1.0e-6)
Stacktrace:
 [1] macro expansion
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:622 [inlined]
 [2] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [3] top-level scope
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:577
Primal start values: Test Failed at /home/mbesancon/julia_projects/SCIP.jl/test/MOI_additional.jl:623
  Expression: ≈(MOI.get(optimizer, MOI.VariablePrimal(), y), 0.0, atol = atol, rtol = rtol)
   Evaluated: 1.0 ≈ 0.0 (atol=1.0e-6, rtol=1.0e-6)
Stacktrace:
 [1] macro expansion
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:623 [inlined]
 [2] macro expansion
   @ /buildworker/worker/package_linux64/build/usr/share/julia/stdlib/v1.6/Test/src/Test.jl:1151 [inlined]
 [3] top-level scope
   @ ~/julia_projects/SCIP.jl/test/MOI_additional.jl:577

the 4 tests failing are:
Primal start values                                          |    8     4     12

Testing "MIP Start" is always tricky. I think the idea of the test is to

submit a sub-optimal solution,
disable heuristics to prevent SCIP from finding something better,
limiting the search to stop the process prematurely,
and finally asserting that our submitted solution is (still) the best-known solution.

I could guess that an "improvement" in SCIP might have sneaked in a better solution here?

yes that might be

So for more details:
SCIP 7.0.2:
julia> # "solve"
       MOI.optimize!(optimizer)
feasible solution found by completesol heuristic after 0.0 seconds, objective value 1.000000e+00
presolving:
presolving (1 rounds: 1 fast, 1 medium, 1 exhaustive):
 2 deleted vars, 1 deleted constraints, 0 added constraints, 2 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
 0 implications, 0 cliques
presolved problem has 0 variables (0 bin, 0 int, 0 impl, 0 cont) and 0 constraints
transformed objective value is always integral (scale: 1)
Presolving Time: 0.01

SCIP Status        : solving was interrupted [solution limit reached]
Solving Time (sec) : 0.01
Solving Nodes      : 0
Primal Bound       : +1.00000000000000e+00 (2 solutions)
Dual Bound         : +1.00000000000000e+20
Gap                : infinite

with the new bugfix:
julia> MOI.optimize!(optimizer)
feasible solution found by completesol heuristic after 0.0 seconds, objective value 1.000000e+00
presolving:
presolving (1 rounds: 1 fast, 1 medium, 1 exhaustive):
 2 deleted vars, 1 deleted constraints, 0 added constraints, 2 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
 0 implications, 0 cliques
transformed 1/3 original solutions to the transformed problem space
Presolving Time: 0.02

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.02
Solving Nodes      : 0
Primal Bound       : +2.00000000000000e+00 (3 solutions)
Dual Bound         : +2.00000000000000e+00
Gap                : 0.00 %

Solution was to deactivate presolving, which changed some behavior on other constraint handlers, the
@testset "NoGoodCounter (2 binary vars)"
was counting the number of solutions, which has been reduced from 4 to 3 on the presolver

Closed by #195


(Severe) Duplicate and missing repos

Running the robot the last few times is producing some very old items that should not be included, as well as omitting some that should.
My first suspicion is that this is a pagination issue - that rather than moving to the next page, it was getting the last page instead. But the only pagination changes made recently have been to repository fetching, which seems to be working fine.
More investigation is needed.

Not a pagination issue after all, just a faulty regex. This issue started when our PR numbers got into the 1000s, but the regex was only matching the first 3 digits, so for PR 1096 and 1097 it was getting 109 twice.
Fixed by fcf6e2a


Add static river/catchment attribute data

This PR adds new river/catchment attributes to the file 1_fetch/in/target_sciencebase_attributes.csv so that these features get downloaded, processed, and added to a formatted table that contains the static input feature datasets we're interested in (p2_seg_attr_data).
The changes in this PR include the following steps:

changes to 1_fetch/in/target_sciencebase_attributes.csv to specify new attributes to collect. I gathered these based on my own hypotheses for features that might be important, but I expect we'll ultimately end up using only some portion of them. Please also feel free to suggest any other features that you think should be included ⭐
processing the downloaded attributes. Most of the datasets are minimally processed since they are already referenced to the NHDPlusv2 network. However, we do further process the land cover data by aggregating the NLCD index groups (e.g. 90 and 91) into reclassified groups (e.g. "wetland") based on the lookup table in 1_fetch/in/nlcd_landcover_reclassification.csv. This file is new and is committed here so that others will have it when cloning the repo.
Combining all of the individual attribute data frames into a single table in p2_seg_attr_data using the function combine_nhdv2_attr().
Summarizing the attribute values. As a quick method of QA/QC the pipeline now includes a target in 3_visualize that outputs a csv file containing summary statistics (min/mean/max) for all of the processed attributes. I created a new function, summarize_static_attributes() to create and save that table.

This PR is just focused on downloading and formatting the attribute data. We'll use some method of feature selection to finalize the input variables to the LSTM models in #164.
Closes #51

Hey @lekoenig , this looks great to me. The only other attribute that I had thought of is a calculation of the amount of reservoir storage/mean flow at each site. I have seen this as a way to capture the degree of hydrologic alteration. I'm not sure if it makes sense for our sites as so many are on the same rivers and they will have very similar values. Otherwise I think it looks great.


Make OgImageHead scale content automatically based on image resolution

Define the root font size of OgImageHead in viewport units so that content will be scaled according to the image resolution set.

Completed in #111


No widget at all

Hello,
I don't get any widget to place on the home screen at al, even after removing and reinstalling the appl. Galaxy Tab SM-T700 running Android 7.1.2 - what am I doing wrong? What's possible to debug that behaviour?

Hi,
I have just tested the app on an Nexus 10 emulator with Android Oreo (7.1.1). The Nexus 10 should have the same screen dimensions as your Galaxy Tab SM-T700.
Could you describe your problem more precisely? Do you see the available widgets after long pressing your wallpaper and then tapping 'widgets'? When you drag the widget to a home screen, do you get the screen to search for a location?

Hello Sander,
that's exactly my problem - I don't see any widget available in
"Widgets" after long tap on the homescreen. The Problem remains, even
after a reboot. Is there a way to add a widget "manually", e.g. using
adb shell? OS is a Resurrection Remix (Android 7.1.2)
I have some experience in Unixes incl. Linux for ~20 years incl.
programming in different languages, but not really with Android except
using the OS shell, so if you could explain, I'd like to try it out.
Kind regards,
Eckard
Am Sat, 24 Aug 2019 04:11:17 -0700
schrieb Sander Baas<EMAIL_ADDRESS>
Hi,
I have just tested the app on an Nexus 10 emulator with Android Oreo
(7.1.1). The Nexus 10 should have the same screen dimensions as your
Galaxy Tab SM-T700.
Could you describe your problem more precisely? Do you see the
available widgets after long pressing your wallpaper and then tapping
'widgets'? When you drag the widget to a home screen, do you get the
screen to search for a location?

--
Wir haften nicht für die korrekte Funktion der in dieser eMail
enthaltenen Viren. We are not liable for correct function of the
viruses in this email! :)

Hi Eckard,
I'm not sure if it's possible to add a widget with adb shell.
Could you please check the dimensions of your screen with this app for example (https://f-droid.org/en/packages/com.jotabout.screeninfo/). The widgets are only available if the defined minimal screen size is available. For the widgets this is 250dp for the width and height.

Hi Sander,
thanks for the response and support.
Screeninfo gives me that exact information:
Device Name: SM-T700
Android Version: 7.1.2
Screen class: large
Density class: Unknown
Total Width (px): 1600
Total Height (px): 2560
App-usable Width (px): 1600
App-usable Height (px): 2560
Width (dp): 600
Height (dp): 962
Smallest DP: 600
Long or Wide: No
Natural Orientation: Portrait
Current Orientation: 0
Touchscreen: Finger
Screen DPI: 426
X DPI: 359.646
Y DPI: 361.244
Logical Density: 2.6625001430511475
Font Scale Density: 2.6625001
Calculated Diagonal (inches): 8.4
Calculated Diagonal (mm): 213.0
Pixel Format: Not Available
Refresh Rate (fps): 60.000004
Is there something unusual in?
Best regards,
Eckard
Am Sun, 25 Aug 2019 05:17:08 -0700
schrieb Sander Baas<EMAIL_ADDRESS>
Hi Eckard,
I'm not sure if it's possible to add a widget with adb shell.
Could you please check the dimensions of your screen with this app
for example
(https://f-droid.org/en/packages/com.jotabout.screeninfo/). The
widgets are only available if the defined minimal screen size is
available. For the widgets this is 250dp for the width and height.

--
Wir haften nicht für die korrekte Funktion der in dieser eMail
enthaltenen Viren. We are not liable for correct function of the
viruses in this email! :)

I don't see anything unusual in this report. Unfortunately it's really hard for me to debug when I can't reproduce it. Perhaps this is a known issue for Resurrection Remix?


Who to contact for security issues

Hey there!
I belong to an open source security research community, and a member (@thelabda) has found an issue, but doesn’t know the best way to disclose it.
If not a hassle, might you kindly add a SECURITY.md file with an email, or another contact method? GitHub recommends this best practice to ensure security issues are responsibly disclosed, and it would serve as a simple instruction for security researchers in the future.
Thank you for your consideration, and I look forward to hearing from you!
(cc @huntr-helper)

Hi @JamieSlome please email me directly to discuss: mo@heroiclabs - thanks!

I will also speak internally about adding SECURITY.md as you mentioned.


Plain text passwords are not good

Can we use the keyring instead?

...and what about using personal access tokens and basic auth?


Generate SSL certificates for Myel providers

How could Myel providers who run a Pop on their home devices easily generate a SSL certificate so clients can retrieve over WSS

Benefits:
Each swarm could use its own SSL certificates to ensure :

A possible communication of peers using web browsers with the Providers
A safe communication channel

Problem:

Deal with ACME DNS challenge
Might be too SPOF

Hints :

DNS provider modules in Caddy 2
Mitigate the SPOF by using

I don't think we have to deal we the whole Caddy HTTP server.
Since we are using our own Go mux based http server, this link seems more interesting for our case : https://github.com/jtblin/go-acme

actually caddy can cohabit with Gorilla mux, seems interesting

I've spawn my own vps and used a domain name I own on Cloudflare, and with the basic code below I've been able to run a HTTP server with a ssl certificate, managed by certmagic which handles by itself the ACME challenge :
package main

import(
	"fmt"
	"github.com/caddyserver/certmagic"
    "github.com/libdns/cloudflare"
	"net/http"
)

func main(){
	certmagic.DefaultACME.DNS01Solver = &certmagic.DNS01Solver{
		DNSProvider: &cloudflare.Provider{
			APIToken: "MY_CLOUDFLARE_API_KEY",
		},
	}

	handler := http.HandlerFunc(func(writer http.ResponseWriter, request *http.Request) {
		fmt.Fprintf(writer, "HELLO WORLD")
	})

	err := certmagic.HTTPS([]string{"curt.ly", "*.curt.ly"}, handler)
	if err != nil {
		panic(err)
	}
}

I managed to make a proxy that redirects wss://curt.ly to he localhost ws listener of ipfs : "/ip4/<IP_ADDRESS>/tcp/41505/ws".
It means that nodes from the browser will have to dial wss://curt.ly to reach the actual ipfs node.

Good news : when running a basic code in js, it can connect to my vps node on the websocket address:

/dns4/curt.ly/tcp/443/wss/p2p/12D3KooWL6iAkTwQzTDQ6vjC7pPXAMKAL1MTpVURTugc6Vip44WG
const Libp2p = require('libp2p')
const WebSockets = require('libp2p-websockets')
const {NOISE} = require('libp2p-noise')
const MPLEX = require('libp2p-mplex')

    const node = await Libp2p.create({
        modules: {
            transport: [WebSockets],
            connEncryption: [NOISE],
            streamMuxer: [MPLEX]
        },
        addresses: {
            listen: [
                '/ip4/<IP_ADDRESS>/tcp/8100/ws',
            ]
        },
    })

    // start libp2p
    await node.start()

    const advertiseAddrs = node.multiaddrs
    console.log('libp2p is advertising the following addresses: ', advertiseAddrs, node.peerId.toB58String())

    await node.ping("/dns4/curt.ly/tcp/443/wss/p2p/12D3KooWL6iAkTwQzTDQ6vjC7pPXAMKAL1MTpVURTugc6Vip44WG")

Bad news: I've an error when adding this bootstrap address on pop :
failed to connect to peer error="failed to dial 12D3KooWL6iAkTwQzTDQ6vjC7pPXAMKAL1MTpVURTugc6Vip44WG: no good addresses" peerId=12D3KooWL6iAkTwQzTDQ6vjC7pPXAMKAL1MTpVURTugc6Vip44WG

It seems we can easily ping /dns4/curt.ly/tcp/443/wss/p2p/12D3KooWL6iAkTwQzTDQ6vjC7pPXAMKAL1MTpVURTugc6Vip44WG but not use this address as a bootstrap

This might be the solution :

Add encryption and multiplexing capabilities to libp2p transport connections

https://github.com/libp2p/go-libp2p-transport-upgrader

A new provider P1  wants to be part of the Myel network
Because we want to talk to Browsers, we need a way for them to reach pop nodes
We use websockets for that, but only WebSocket Secure (WSS) connections are possible within the browser
It means pop nodes will need a domain name with a valid SSL certificate
Because it’s too annoying for many of our providers to deal with that, we (Myel) will act as a facilitator in this process by providing a domain name, i.e : myel.app
The provider will the only have to send us the IP (public & static) of their node and a subdomain
Thanks to our domain provider’s API, will will automatically create a DNS A record that will point the subdomain “p1” to the IP of their node
Once done and their node started, they will be able to listen for websocket connections on wss://p1.myel.app

Only the facilitators will need to connect to their domain provider with an API to set a special TXT record in the domain’s zone, proving to the Certificate Authority the ownership of the domain name (see: https://letsencrypt.org/fr/docs/challenge-types/#défi-dns-01).


[RFC] Create named goals for omitted fields in structure instances using .. syntax

This entails modifying the structure instance elaborator such that .. in structure instances creates named goals for all omitted fields that cannot be synthesized via default values. This aids in interactive proofs that use refine. For example:
structure Foo where
  x : Nat
  y : Nat
  z : Nat := 0

example := by refine { x := 0, .. : Foo }; case y => exact 0

The goal ?y for the field y is created and named in the course of elaborating the structure instance, enabling one to write case y => .... (z assumes its default value 0.)
This modification only applies to structure instance syntax that is encountered outside of a pattern. Inside a pattern, the pre-existing behavior for .. is maintained, which simply fills all omitted fields with natural unnamed holes at the syntax level.
Note that existing uses of refine' that use { .. } are not broken.

I have code for this ready to go, and would be happy to make a PR if given the go-ahead! :)
Motivation
This functionality is currently needed for the ongoing port of mathlib. Several currently-ported files already expected this functionality to be available (as well as tactics which build on it) but needed to use workarounds, and more are soon to come.
In mathlib3 we used the refine_struct tactic to perform this task, but it’s less practical to use the same design in mathlib4. (For one, putting this in core instead of mathlib4 allows us to avoid excessive backtracking by the parser.)
Support for this functionality being implemented in core instead of mathlib has also been demonstrated on Zulip (albeit spread over a very long thread) and in mathlib porting meetings.
In addition to aiding the ongoing mathlib port, this provides an intrinsically useful aid for users writing interactive proofs. Structures are prevalent, and refining them—including interacting with and keeping track of the resulting goals—should be as easy and user-friendly as possible.

Extra information
The following isn’t necessary information; I only provide it to answer some possible questions in advance.
Design choices
Choice of syntax
There’s been some debate about whether to use .. syntax for this functionality or introduce new syntax for this behavior, namely ?... Much has been said on zulip about this. The main motivation for ?.. was to reflect the appearance of goals like ?x used in refine, meaning that a ? would be visible to the user in refine iff the user should expect to interact with a goal. However, .. changes less and doesn’t introduce new symbols. (See here for a summarized list of pros and cons.)
A poll was taken which revealed overall ambivalence (?.. won, but only very slightly; most didn’t participate).
I initially implemented ?.. syntax in mathlib (when we thought mathlib would be a home for this), but couldn’t get it working in core due to my lack of experience wrangling stage 0. Modifying .. behavior was more practical for me to do alone, and that’s mainly why this issue uses ... However, I also have parallel code for ?.. behavior ready—up to stage 0 concerns, which I would need assistance with and/or would be happy to learn about.
Metavariable kind
The current implementation inserts .syntheticOpaque metavariables at the end of the process. This reflects the use of ?x goals in refine. There was some concern that this might cause problems with unification, but no examples have been found so far, since natural metavariables are used earlier in the process and enable unification. Nonetheless, it’s still possible that some issues with unification could be found; however, using natural goals would make this impossible to use with refine.
Implementation strategy
The implementation I’m offering is careful to be minimally invasive.
Structure instance elaboration handles missing fields by tagging them as defaults, using metavariables as placeholders for them in the expression, then attempting to synthesize all missing fields during the default loop. Normally, if there are any unassigned default-value metavariables left at the end, it returns an error.
This is where we intervene: instead of returning an error, we assign those remaining fields to named synthetic opaque metavariables.
Future features
refine_struct also performs other crucial tasks. I have code ready for each of these as well, but have relegated them to future issues/PR’s if this one is accepted in order to keep them bite-sized and reviewable. These include the following features:

Default values which are autoparams are tried, and, if they fail, are gracefully replaced with a named goal.
The resulting goals are equipped with metadata that enables later tactics to recover information about the field and structure from which they originated (such as the field projections). This enables certain automations and is relied on by other mathlib tactics.
Name conflicts among multiple simultaneously-occurring structure instances with overlapping field names are resolved by appending indices to the goals that are unique to each structure instance (e.g. ?y, ?y_1).
User-facing goals that become complicated due to subobject relations within the structure instance are simplified, turning something like { a := 1 }.a = { a := 1 }.a into 1 = 1.

Adding these features as well (after this feature) would yield sufficient parity with mathlib3’srefine_struct and help out the port of mathlib. I mention them here both to outline a plan and to show what other possibilities this feature would open up.
In an ideal case, other, smaller features which could be implemented down the road include

Provide syntax for turning off default value synthesis or equip explicitly-provided goals (e.g. x := ?x) with appropriate metadata
Provide syntax to allow each named field to be prefixed by a provided name to aid organization when refining an expression involving multiple structures, e.g. foo.x


SSL for panel

I've installed it on an ubuntu VPS.
when I open the panel I face with SSL issue.

And when I want to add config file into the Clan application, it shows me an error

I've already get a free SSL certificate from let'sEncrypt for my subdomain and the .cert and .key file are in /root.
the subdomain is behind Cloudflare
the SSL/TLS encryption mode is set on Full (as document said)
the SSL/TLS Recommender is ON on Cloudflare

@VZiChoushaDui
Could you help me please to fix the SSL problem?


App crashes with callTimers error

When I clone this repo and do yarn install and then react-native run-ios, the app launches with an error: Module JSTimerExecution is not a registered callable module (calling callTimers)

nevermind, it was just a nundler that was still running in the background that caused the problem.


Autocomplete for cities

At the moment, when you type in a city, it won't help you finish your entry with suggestions. A cool feature would be if it had a drop down menu that suggested locations similar to the name. For example, if I type in Cambridge, it could tell me Cambridge, MA, USA or Cambridge, UK to help users get the right answers!

@aku1310 @Swatishree-Mahapatra and me would like to take up this issue @akshitadixit


[feature] MultiDrag "helper" to show the items being dragged

When dragging multiple items, only one item is displayed as you drag, as shown here:

Ideally, it would do one of the following:

Show all the items being dragged
Display something like "3 items selected"
Allow a "helper" option to create my own DOM element to display, similar to Jquery UI. For example, http://jsfiddle.net/hQnWG/614/ uses the helper to display the multiple items, as shown below.

Any solutions ?

When MultiDrag is enabled, there should be multiple ``.sortable-drag,` just like Android desktop operations

Any solutions?!


Fix tests

https://github.com/http-rs/http-service/pull/58 broke our tests; we should fix them.
cc/ @dignifiedquire

Closing because we're archiving this repo.


Conflicting implementation of Debug and Display

Could we make it so that we don't impl Debug and Display when deriving Repr and Str ?
The thing is that people might have a specific displayer or debugger?
We should probably expect them to implement Debug and Display, and maybe for some object, the custom display can remove the Option or the RwLock, to make it more pythonic. @ArthurZucker

We could have additional derive method called PyDisplay an PyDebug that we can use to autogenerate Debug and Display that looks good.

Hi @haixuanTao, I think that that could be a good option. The only difficult part is actually generating the PyDisplay/PyDebug impl. Do you think it would be best to enforce that types inside of the struct/enum (recursively) implment PyDisplay/PyDebug trait by having a special method name?

Fixed in #26.


[Nesting states] $enter called 2 times even than 1

In $enter of the state Multiplayer I immediately call this._setState('Multiplayer.InitialState'))
From a function defined in Multiplayer.InitialState I call this._setState('Multiplayer.Play'))
The Multiplayer state is re-entered so the state goes to this._setState('Multiplayer.InitialState'))

It should not happen because I'm even in the state Multiplayer from his nesting states so I don't expect to re-$enter the parent state.
Should be good if I call this._setState('Play')) in a nested state the Router searches inside the sibling's states and not starting from the grandparent.

Can you provide an example that we can run and debug? Would really safe some time

I do not like that I have to specify the full state path in the nested states, with complex state structures becomes less maintainable. Sounds weird that if I call this.somenthing I go up in the tree even then down.
I do not like that the this changes in the state classes, there are classes so I want to use the features of classes.
I even understand that nested states should be avoided in favour of new components.

Anyway, I understand the behaviour and I can use it.
For reference, here's an experiment of dealing with the state machine.
class StatesExample extends lng.Application {
  _handleRight() {
  	this._setState('A1');
  }
  static _states() {
  	return [
    	class A1 extends this {
        _handleDown() {
          this._setState('A2');
        }
        _handleLeft() {
          this._setState('');
        }
        _handleRight() {
          this._setState('A1.B1');
        }
				static _states() {
          return [
            class B1 extends A1 {
              _handleDown() {
                this._setState('A1.B2');
              }
              _handleLeft() {
                this._setState('A1');
              }
            },
            class B2 extends A1 {
              _handleUp() {
                this._setState('A1.B1');
              }
              _handleLeft() {
                this._setState('A1');
              }
            }
          ]
        }
      },
      class A2 extends this {
        _handleUp() {
          this._setState('A1');
        }
        _handleLeft() {
          this._setState('');
        }
        _handleRight() {
          this._setState('A2.B1');
        }
				static _states() {
          return [
            class B1 extends A2 {
              _handleDown() {
                this._setState('A2.B2');
              }
              _handleLeft() {
                this._setState('A2');
              }
            },
            class B2 extends A2 {
              _handleUp() {
                this._setState('A2.B1');
              }
              _handleLeft() {
                this._setState('A2');
              }
            }
          ]
        }
      }
    ]
  }
}
const options = {stage: {w: 100, h: 100, clearColor: 0xFF000000, canvas2d: false, useImageWorker: false}, debug: true}
const app = new StatesExample(options);
window.app = app;
document.body.appendChild(app.stage.getCanvas());


⚠ Chatwoot has degraded performance

In f429283, Chatwoot (https://app.chatwoot.com) experienced degraded performance:

HTTP code: 200
Response time: 5529 ms

Resolved: Chatwoot performance has improved in b97525c.


How can I generate text from discrete set of keywords?

How can I generate text from discrete set of keywords?
Are there any examples in the Texar? or any clue to accomplish to this task?

Not sure exactly what you meant by generating text from keywords. One simple solution is just to use a seq2seq model that encodes the keywords (so the keywords are kind of soft constraint, not necessarily occur in the generated text).
Another solution would be to use some constrained decoding that ensures keywords will occur in the generated text. Texar has not implemented such decoding strategy yet. Contributions are welcome


new: add option to enable event sources selectively

What type of PR is this?
/kind feature
Any specific area of the project related to this PR?
/area engine
/area tests
What this PR does / why we need it:
This PR introduces a new cmd line option --enable-source=XXX that is dual to the already-existing --disable-source=XXX. Both of them are opt-out: it is up to Falco to choose the default enable event sources depending on the provided configuration. So far, only one can be enabled per time (either syscall, or a plugin-based one).
The semantic of --disable-source is of disabling event sources selectively starting from the set of the ones enabled by Falco by default. On the opposite, --enable-source erases the Falco default enable set and allows enabling sources selectively.
The feature of selecting a custom set of event sources has been introduced in the regression test suite too (falco_tests.py). Tests relying on plugins have been updated accordingly.
Which issue(s) this PR fixes:
Special notes for your reviewer:
For the current setup, this is sort of a huge no-op. However, this introduces preliminary work for https://github.com/falcosecurity/falco/issues/2074.
Does this PR introduce a user-facing change?:
new: add option to enable event sources selectively

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

New changes are detected. LGTM label has been removed.

LGTM label has been added.  Git tree hash: f6095cacbb9ff469454f7ace18425b2b5087a781

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, jasondellaluce
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,jasondellaluce]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


[es] feature: getting started - spanish translation

Related to https://github.com/open-telemetry/opentelemetry.io/issues/4887

@ramrodo @theletterf @electrocucaracha, could you review please?

/fix:format


Update queries can create records by default

What steps will reproduce the problem?
Run "update" query with condition that passes no records.
What's expected?
Nothing happens.
What do you get instead?
New record created with fields you wanted to update.
Additional info
That's because in yii2 "upsert" option is true by default: https://github.com/yiisoft/yii2-mongodb/blob/4c809b59d640d083fcb39431e3087780fdb4f895/Command.php#L448
And that's confusing because of:

it's not the behavior you expect
in MongoDB this option is false by default: https://docs.mongodb.com/v3.2/reference/method/db.collection.update/

Q
A

Yii version
2.0.10

Yii MongoDB version
2.1.2

MongoDB server version
3.2.10

PHP version
7.0.12

Operating system
Linux Mint 17.2 Rafaela

This is expected behavior - it make extension consistent with the regular DB.
You can specify upsert option to any value yourself if needed.

In which regular DB update query inserts rows by default?

Resolved by commit a86e92433c823df9c3030e169d77980379653cd5
Thanks for reporting.


VSCode UI issues when working with Remote Desktop

This might be more a problem with remote desktop for Window, but here goes. I am accessing a Window 10 computer via Remote Desktop. The remote machine is running VSCode with a NodeJs project. If I start the node dev server and then exit out of the Remote Desktop connection (leaving the remote machine running), when I log back into the Remote Desktop connection to go back into VSCode, I can't work with the UI. UI refresh/redraw is completely out of whack and I have to go into the Windows task bar or task manager to close VSCode because the minimize and close buttons at the top right of VSCode stop functioning.
Below is a screen cast of VSCode before I disconnect from Remote Desktop.
https://user-images.githubusercontent.com/41551429/150649892-09b83bd7-c672-480b-8491-de744b998170.mp4
When I reconnect to Remote Desktop this is a screen cast of how the UI is broken. The main menus seem to stick to the window when selecting them (sometimes worse than others), when scrolling the code window the right portion of the window scrolls but leaves the code lines on the left in place and you can see the visible break in the code window as I scroll.
https://user-images.githubusercontent.com/41551429/150650152-3968e952-a8b8-4831-9c7b-4de124b406e1.mp4

Also I using the 'Report Issue' from the 'Help' menu in VS Code but when I submitted the issue I get taken to
https://github.com/microsoft/vscode/issues/141220 with a Page Not Found message.

Does this issue occur when all extensions are disabled?: Don't know

Where is the Command Palette? There is no mention of it at https://code.visualstudio.com/docs/getstarted/userinterface

Version: 1.63.2 (user setup)
Commit: 899d46d82c4c95423fb7e10e68eba52050e30ba3
Date: 2021-12-15T09:40:02.816Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.19043

I'm tempted to say that this is an issue because of the resources on your destination computer. Maybe the RDP server isn't able to keep up and send all the data, or maybe it's optimization technique makes it not send parts of the screen which "haven't updated". Yes, you're updating the screen, but I'd put my bets on RDP not seeing it. Remember that there's a NodeJS server running as well, which is probably taking plenty of resources.

Where is the Command Palette? There is no mention of it at https://code.visualstudio.com/docs/getstarted/userinterface

I'm thinking this is an app 'resizing' issue when the remote desktop connection is closed and restarted. I hadn't noticed it before but the text in VS Code 'shrinks' when I close and restart the remote desktop connection. I can correct the issue by simply clicking the app icon in the taskbar to minimize the VS Code (since the minimize button on the app is not functional at this point) and then click the taskbar icon again to show the app and the UI issues correct themselves. I am going to close this issue unless someone else sees a reason to open it.


[topgen] Improved RndCnst Mechanism

Topgen currently generates random netlist constants like LFSR seeds and OTP scrambling keys from a fixed seed and with random.py, which uses Mersenne Twister underneath.
It has thus been agreed to replace random.py with a custom class supporting the loading of an entropy buffer file (e.g. generated from an HSM) and providing that entropy to consuming function calls. A full replacement including all member functions is not needed. What is absolutely required:

[x] Constructor or member functions for loading the entropy buffer file.
[x] getrandbits(k) member function to return a non-negative Python integer with the next k bits from the entropy buffer file.
[x] shuffle(x) member function to shuffle the sequence x in place using the next bits from the entropy buffer file.
[x] Bookkeeping functions to error out if no entropy buffer file has been loaded or if the entropy buffer file doesn’t contain enough bits to serve the current request.

For the open source domain, we further need:

[x] An entropy buffer file generator script that generates the entropy file using random.py.

For further references, refer to the one pager and the meeting notes.

FYI @msfschaffner @tjaychen @moidx @johannheyszl

Thanks @vogelpi for opening this issue.
I am currently working on the first version of this class.

Not to bike-shed horribly, but are we fully committed to the name RndCnst (as opposed to RandCnst)? "Rnd" here can be an abbreviation for "Round" (as in round function or crypto round) or "Random", whereas "Rand" is unambiguous to me.
This could just be a "me" thing too, so if "Rnd" is fully obvious to everyone else then carry on.

Thanks for your input @cdgori . I think RandCnst would indeed be better than RndCnst for the same reason. However, there are now ~750 occurrences in the code base. Most of them are in auto-generated files but there are still many handwritten files affected, in particular module instantiations and DV code. I fear it's to late for changing this entirely.

No problem then, it's not a huge issue for me.  If the fix was cheap I would have pushed for it.

Not to bike-shed horribly, but are we fully committed to the name RndCnst (as opposed to RandCnst)? "Rnd" here can be an abbreviation for "Round" (as in round function or crypto round) or "Random", whereas "Rand" is unambiguous to me.
This could just be a "me" thing too, so if "Rnd" is fully obvious to everyone else then carry on.

Thanks for your input @cdgori . I think RandCnst would indeed be better than RndCnst for the same reason. However, there are now ~750 occurrences in the code base. Most of them are in auto-generated files but there are still many handwritten files affected, in particular module instantiations and DV code. I fear it's to late for changing this entirely.

Yeah I agree with @vogelpi, this would cause quite a bit of churn (and several IPs using this are already at D3).

This PR #15178 adds a strong randomness class containing getrandbits(), shuffle() and a bookkeeping function isempy(). It also contains the script for generating the entropy file.

Is this issue safe to close now? It seems like #15178 has everything we needed.

We still need to integrate the strong random class into the topgen, lifecycle and OTP scripts, but I think we can probably defer that to M3. WDYT, @tjaychen @moidx?

yeah that sounds good to me.
There's no immediate need for the strong randoms ...yet.
On Wed, Oct 26, 2022 at 11:17 AM Michael Schaffner @.***>
wrote:

We still need to integrate the strong random class into the topgen,
lifecycle and OTP scripts, but I think we can probably defer that to M3.
WDYT, @tjaychen https://github.com/tjaychen @moidx
https://github.com/moidx?
—
Reply to this email directly, view it on GitHub
https://github.com/lowRISC/opentitan/issues/15144#issuecomment-1292424530,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAH2RST3PIMXPTV7HYKYYRTWFFYSRANCNFSM6AAAAAAQWQNSTE
.
You are receiving this because you were mentioned.Message ID:
@.***>

#15401 integrates strong_random class into topgen.
The remaining tasks are to add strong_random calls to gen-otp-img.py, gen-otp-mmap.py and LcStEnc.py.
We need to come up with a strategy for this.
Currently, each of these scripts contains a call to random.seed( seed xor diversifier), where seed is the same for all three scripts and diversifier is unique for each script. This would be a good strategy if a secure PRNG was used instead of random.py.
I'm not sure what would be a good approach to change this. Should we use strong_random calls with three separate entropy buffer files?

Thanks @vrozic for working on this and updating the issue. I've brought this up with @moidx recently. We should discuss the remaining tasks either here or in a separate meeting call maybe sometime next week. @moidx what do you prefer?

@vogelpi / @vrozic - could you reference the latest efforts on this here and comment if this issue is redundant?

Referencing recent changes made towards integrating strong_random class

PR #18346, replaces all calls to random.py functions with strong_random.py functions in:

The life-cycle scripts (gen-lc-lstate-enc.py, LCStEnc.py)
OTP memory map infrastructure (gen-otp-mmap.py,OtpMemMap.py)
OTP image scripts (gen-otp-img.py, OtpMemImg.py)

-strong_random.py was modified in #18364 and #18431 to include functions:
-choice(X) - to choose a random element from list X
-unsecure_generate_from_seed() - to generate an entropy buffer directly from the seed. This was needed to avoid creating and deleting unnecessary entropy buffer files.
-topgen.py was modified in #18440 to use strong_random.unsecure_generate_from_seed() instead of entropy_buffer_generator.py module. This makes it consistent with the other scripts and avoids generating unnecessary files.
-PR #18412 modifies hw\Makefile to allow generation of netlist constants from an entropy file.

As per discussion there are several more things to address in this issue:

for OTP images that are generated by Bazel, the otp_image Bazel rule needs to be able to be made aware of the entropy buffer file paths
for OTP images that are generated by this python script call in chip_sim_cfg.hjson, this script needs to be made aware of the entropy buffer file paths
we need to generate different entropy buffer files based on the dvsim build / run seeds in the nightlies
the rom scrambling script needs to be aware of the new netlist consts used to generate the correct scrambled ROM VMEM file

Moving to M2.5.2 to allow time to complete the tasks outlined by @vrozic.

Regarding @vrozic's question here:

I have one question regarding this point

we need to generate different entropy buffer files based on the dvsim build / run seeds in the nightlies to feed the above (so we can continue to run sims with different netlist consts / random OTP image values) both via a dvsim pre-run command (like is done for some of the OTP images) and via a bazel rule so that the Bazel-generated OTP images will have these files as a dep

Do we want to use entropy buffers for the nightlies? My understanding was that the flow with entropy buffers will be used only once before the tapeout, and that the regular nightly regressions will continue to use unsecure_generate_from_seed()
Perhaps this is a question for @msfschaffner and @vogelpi

I think I agree with @vrozic here. AFAIK, we need to be able to also run dvsim with the random constants generated with the flow using buffers - whether the buffers are generated from a seed or from another source. My understanding is that this is already the case. Or this there something more needed to run simulation with the constants needed for synthesis @msfschaffner , @timothytrippel ?

Yeah agreed wtih @vogelpi, I think if we structure it such that we always use the buffer files, even for the nightlies run with dvsim, but the buffer files can be generated from seeds, and bazel is made aware of the buffer files, then we should be good. Let me see if I can do some digging here to come up with a concrete plan how to finalize the dvsim/bazel integration bits and we can go from there if that sounds good?

Yeah agreed wtih @vogelpi, I think if we structure it such that we always use the buffer files, even for the nightlies run with dvsim, but the buffer files can be generated from seeds, and bazel is made aware of the buffer files, then we should be good. Let me see if I can do some digging here to come up with a concrete plan how to finalize the dvsim/bazel integration bits and we can go from there if that sounds good?

Sounds good.
I agree that we should eventually just use buffer files so that the flow (through Bazel) is tested.
In the meantime, it is totally ok to keep on using the transparent mechanism that uses unsecure_generate_from_seed.
This is not blocking for the shuttle since we do not plan to use the buffer file flow for that.

Status update:
#18723 enables running toplevel tests when entropy_buffer was used
This is done using Environment variable USE_BUFFER, rather than input arguments for the entropy file paths.
So the flow is as follows:

Create entropy files in the correct locations
export USE_BUFFER=1
cd hw/ && make all
Run tests using dvsim

At this point I am not exactly sure what we would be testing by adding the entropy flow to the nightlies since there is no fundamental difference between currently used unsecure_generate_from_seed() and creating a buffer from seed + loading entropy from a file.

The are two reasons for testing in nightlies:

there are currently two ways dvsim.py triggers the generation of OTP images for top-level tests:
a. by invoking the gen-otp-image.py script directly
b. by invoking bazel to build the OTP image (which under the hood, invokes gen-otp-image.py in the Bazel sandbox)
The mechanism / example you provide in #18723 will work when dvsim.py uses method (a), as the buffer files will be visible to the gen-otp-image.py script when it is not run in bazel sandbox as the tree will essentially be dirtied. It will not work with method (b), as these buffer files do not get copied to the Bazel sandbox, as Bazel will not be aware of them.

Ideally, only method (b) would be used, i.e., only Bazel would be used to gen these OTP images, but until then, both flows should be tested to ensure nothing breaks.

Thanks @timothytrippel for clarifying this. I didn't know that dvsim.py can invoke bazel.

Status update for visibility:

#18795 makes the entropy buffers the default source of randomness. My understanding is that once this change is in, it should close this issue
A concern was raised in the discussion https://github.com/lowRISC/opentitan/pull/18795#pullrequestreview-1463396080 , that this changes the way Nuvoton replaces the seeds for the tapeout. It needs to be decided whether we want to absorb this change in M2.5.2/
Optional non-critical update is provided in #18514 to test statistical quality of the numbers provided in the entropy buffer files.

Thanks for summarizing this @vrozic - we'll discuss this in the next tapeout sync meeting.

@msfschaffner / @moidx / @timothytrippel - based on discussion yesterday - suggestion was to defer this work. Is my understanding correct? If so could we update the milestone and also tentatively mark which other milestone it might go into.

yes that is correct. Once I have a chance to update PR #18795, it should close this, but we will not be doing that for the shuttle (after yesterdays discussion). I think this would make sense for M2.5.5 milestone. I updated the milestone label.
Feel free to adjust further @msfschaffner.

Yes we can move that further down the road, but I am not quite sure in what milestone it should land (there might be some implications on integrated).
So I'll put it into the M2.5 Backlog for now.

(there might be some implications on integrated).

I'd like to put forward an alternative solution for integrated.
If we were to use a cryptographically strong PRNG, it would fit nicely with all the existing flows without the need to rely on the entropy buffers. So, it's not likely to cause any problems for integrated moving forward.
I've tested this idea in #18768 and it seems to work.
I can add more detail in the Slack discussion.

An update from last week's security meeting;
I am developing a CTR-DRBG based pseudo-random number generator. The working version of the code is here.
One of the issues brought up at the meeting is switching from 128b seeds to 256b. This may be necessary to comply with CTR-DRBG specifications.
I plan to prepare the first version of  the RFC document this week.

@vrozic @vogelpi Anything to update here? Can the issue be closed by now?

Thanks for the ping @msfschaffner . IIRC, everything has been implemented and we can close this. @vrozic can you confirm please?

Yes, this issue is related to an outdated strong_random class which has since been replaced with secure_prng class.
This issue can be safely closed.


WiFi auth not working on WROOM-32E (custom PCB) but working on the WROOM-32 (DevKitC) (IDFGH-4612)

Environment

Development Kit:     Custom PCB and ESP32-DevKitC clone
Module or chip used:  ESP32-WROOM-32E 4 MB
IDF version: v4.2-47-g2532ddd9f
Build System:         CMake
Compiler version: xtensa-esp32-elf-gcc (crosstool-NG esp-2020r3) 8.4.0
Operating System:     Linux
Using an IDE?: No
Power Supply:        Custom step-down converter based on the LM7525.

Problem Description
For some reason the minimal wifi station example is working on the DevKitC (ESP32-WROOM-32), however on my custom PCB with ESP32-WROOM-32E it is not. It's exactly the same software I'm flashing. On both boards, I first erased the flash via idf.py erase_flash.
More details regarding the boards
The dev board's HW:

DevKit 4 C clone
Powered through USB (Thinkpad docking station)

The custom PCB:

Powered through custom step down converter based on the LM7525. Can deliver up to 1A. I verified via scope: The Output voltage is less noisy than the USB powered DevKit supply.
The ESP module is placed on the top right corner of the PCB. There's no PCB under the antenna area.
Other functions I checked so far worked flawlessly. E.g. LED fading, TWAI, regular GPIO switching.

Attached find the full log of the devkit and the custom PCB variant.
Expected Behavior
WiFi auth is successful and an IP is received.
Actual Behavior

On my custom PCB (WROOM-32E) the board is stuck in an init -> auth, auth -> init loop.
On my DevKitC (WROOM-32), the connection is successful.

Both times I flash the exact same software and use the same access point.
Steps to reproduce

Adapt WiFi credentails and build
idf.py erase_flash
Flash the software
Observe the log

Code to reproduce this iss
I use the WiFi station example. Just adapted the WiFi credentials directly in the C file.
Debug Logs
The relevant part of the log given by the WROOM-32E board:
I (677) wifi_init: WiFi IRAM OP enabled
I (677) wifi_init: WiFi RX IRAM OP enabled
I (787) phy: phy_version: 4500, 0cd6843, Sep 17 2020, 15:37:07, 0, 0
I (797) wifi:mode : sta (7c:9e:bd:d9:b6:50)
I (797) wifi station: wifi_init_sta finished.
I (1517) wifi:new:<6,0>, old:<1,0>, ap:<255,255>, sta:<6,0>, prof:1
I (3467) wifi:state: init -> auth (b0)
I (4467) wifi:state: auth -> init (200)
I (4467) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1
I (4467) wifi station: retry to connect to the AP
I (4467) wifi station: connect to the AP fail
I (6517) wifi station: retry to connect to the AP
I (6517) wifi station: connect to the AP fail
I (6637) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1
I (6637) wifi:state: init -> auth (b0)
I (7637) wifi:state: auth -> init (200)
I (7637) wifi:new:<6,0>, old:<6,0>, ap:<255,255>, sta:<6,0>, prof:1
I (7647) wifi station: retry to connect to the AP

Full logs attached:

WROOM-32--DevKitC.txt
WROOM-32E--CustomPCB.txt

Other items if possible

sdkconfig.zip -- Note: Wifi credentials are set in the source file itself.

Just for reference: A few days ago, I also opened a post in the espressif forum. However it didn't lead to solving the problem.
Just got a hint that #6427 might be related. I'm not able to find any useful information in the discussion there however.

Just for reference: A few days ago, I also opened a post in the espressif forum. However it didn't lead to solving the problem.
Just got a hint that #6427 might be related. I'm not able to find any useful information in the discussion there however.

Suggest that you compare rssi values from wifi scan example and turn on wifi debugging in menuconfig

Suggest that you compare rssi values from wifi scan example and turn on wifi debugging in menuconfig

Thanks for the hint about the more verbose wifi output. Didn't know about that.
The signal strenght for both boards is between -55 and -60.
It seems that there's an auth timeout on the WROOM-32E custom PCB. Any Ideas how to debug this further?
I (12959) wifi:state: init -> auth (b0)
D (12969) wifi:start 1s AUTH timer
D (12969) wifi:clear scan ap list
D (12969) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (12979) wifi:set max rate: from <rate=130, phy=3, sig=0> to <rate=144, phy=3 sig=0>
D (12989) wifi:sig_b=0, sig_g=0, sig_n=0, max_b=22, max_g=108, max_n=144
D (13069) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13179) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13269) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13369) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13469) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13579) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13669) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13769) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13879) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13969) wifi:auth timeout
I (13969) wifi:state: auth -> init (200)
D (13969) wifi:connect status 1 -> 4
D (13969) wifi:stop beacon/connect timer
D (13969) wifi:reason: auth expire(2)
D (13979) wifi:add bssid dc:39:6f:1e:0d:a7 to blacklist, cnt=0
D (13979) wifi:stop CSA timer
D (13979) wifi:remove dc:39:6f:1e:0d:a7 from rc list

Logs:

WROOM-32_DevKitC.txt
WROOM-32e_CustomPCB.txt

Thanks for the hint about the more verbose wifi output. Didn't know about that.
The signal strenght for both boards is between -55 and -60.
It seems that there's an auth timeout on the WROOM-32E custom PCB. Any Ideas how to debug this further?
I (12959) wifi:state: init -> auth (b0)
D (12969) wifi:start 1s AUTH timer
D (12969) wifi:clear scan ap list
D (12969) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (12979) wifi:set max rate: from <rate=130, phy=3, sig=0> to <rate=144, phy=3 sig=0>
D (12989) wifi:sig_b=0, sig_g=0, sig_n=0, max_b=22, max_g=108, max_n=144
D (13069) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13179) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13269) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13369) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13469) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13579) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13669) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13769) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13879) wifi:rsn valid: gcipher=3 ucipher=3 akm=5

D (13969) wifi:auth timeout
I (13969) wifi:state: auth -> init (200)
D (13969) wifi:connect status 1 -> 4
D (13969) wifi:stop beacon/connect timer
D (13969) wifi:reason: auth expire(2)
D (13979) wifi:add bssid dc:39:6f:1e:0d:a7 to blacklist, cnt=0
D (13979) wifi:stop CSA timer
D (13979) wifi:remove dc:39:6f:1e:0d:a7 from rc list

Logs:

WROOM-32_DevKitC.txt
WROOM-32e_CustomPCB.txt

@MarcelKr Thanks for reporting, did you use ADC2? It will cause problem to wifi. could you take a photo of your pcb?

@MarcelKr Thanks for reporting, did you use ADC2? It will cause problem to wifi. could you take a photo of your pcb?

Hey @YouDONG-ESP, no, I'm using the getting_startet/station example from the ESP-IDF examples. No other periphery was used during the testing.
Here's a photo of focused on the WROOM module. In case you need more, let me know.

Hey @YouDONG-ESP, no, I'm using the getting_startet/station example from the ESP-IDF examples. No other periphery was used during the testing.
Here's a photo of focused on the WROOM module. In case you need more, let me know.

Is that possible for you to send this pcb to our shanghai base to test the RF functionality?

Is that possible for you to send this pcb to our shanghai base to test the RF functionality?

Uh sure, I guess that would be possible. Do you have any suspicions of the cause of the error? Can I continue to debug this in any way to avoid being blocked until the shipment arrives and analysis is done?

Uh sure, I guess that would be possible. Do you have any suspicions of the cause of the error? Can I continue to debug this in any way to avoid being blocked until the shipment arrives and analysis is done?

One suggestion would be test the module separately before installing to the board using "ESP32 test board small batch burn fixture" available to buy online

One suggestion would be test the module separately before installing to the board using "ESP32 test board small batch burn fixture" available to buy online

@Marcelkr From the log it tells that the wifi has been actived and esp32 had recived beacon frame. It failed by authentication timeout. So we are not sure if it is a hardware problem.
Dose it only happens on your PCB or it happens in all WROOM-32E? If happens in all wroom-32E, it should be a software problem, please provide a code to reproduce this issue.

@Marcelkr From the log it tells that the wifi has been actived and esp32 had recived beacon frame. It failed by authentication timeout. So we are not sure if it is a hardware problem.
Dose it only happens on your PCB or it happens in all WROOM-32E? If happens in all wroom-32E, it should be a software problem, please provide a code to reproduce this issue.

Just tried another one of my custom PCBs (shame on me, I don't know why I didn't do this before) and it is able to connect successfuly. I therefore suspect some kind of hardware issue.
@YouDONG-ESP here's the the source code.. Are you still interested in having the PCB sent to you?
@negativekelvin I don't have any reflow tools around but I'm thinking about getting a mini hotplate (MHP30) to do these kind of things. Thanks for the hint with the test fixture. Didn't know that this thing existed. It could be quite useful.

Just tried another one of my custom PCBs (shame on me, I don't know why I didn't do this before) and it is able to connect successfuly. I therefore suspect some kind of hardware issue.
@YouDONG-ESP here's the the source code.. Are you still interested in having the PCB sent to you?
@negativekelvin I don't have any reflow tools around but I'm thinking about getting a mini hotplate (MHP30) to do these kind of things. Thanks for the hint with the test fixture. Didn't know that this thing existed. It could be quite useful.

@MarcelKr Seems like it's not a issue from ESP32E, you don't need to send it to us, we asked it just for debugging.

@MarcelKr Seems like it's not a issue from ESP32E, you don't need to send it to us, we asked it just for debugging.

Any idea why it isn't working on one of the boards although all the other functions of the module are working?

Any idea why it isn't working on one of the boards although all the other functions of the module are working?

@MarcelKr the problem may comes from the welding? Or this boards is damaged?

I think this issue still happens on ESP32-S3-WROOM1 DevKitC1. I have two routers Asus RX-AX3000 and UniFi UDM, when those routers perform automatic channel optimisation sometimes the dev boards will fail to connect with repeated logs and I'm using IDF4.4.1
I (167379885) wifi:state: init -> auth (b0)
I (167379885) wifi:state: auth -> assoc (0)
I (167379885) wifi:state: assoc -> run (10)
I (167383885) wifi:state: run -> init (2c0)

I don't think the issue is related to custom boards as it still happens in the DevKit without anything connected to it.

Hi, We are facing a similar issue. It works on some ESP32 but the same code is unable to connect on some another PCB with ESP32. I hope the team does not take this issue lightly as this may cause huge issues for mass manufacturing of products using ESP32

I think this issue still happens on ESP32-S3-WROOM1 DevKitC1. I have two routers Asus RX-AX3000 and UniFi UDM, when those routers perform automatic channel optimisation and sometimes the dev boards will fail to connect with repeated logs and I'm using IDF4.4.1. Until I hit the reset button then it may or may not re-connect.
I (167379885) wifi:state: init -> auth (b0)
I (167379885) wifi:state: auth -> assoc (0)
I (167379885) wifi:state: assoc -> run (10)
I (167383885) wifi:state: run -> init (2c0)

I don't think the issue is related to custom boards as it still happens in the DevKit without anything connected to it.

@ble0
Do you still hit the issue with recent esp-idf release? (for v4.4 branch, can you reproduce the issue with v4.4.4?)

hi @AxelLin I do not see the issue since I'm not testing ESP32 anymore :(, hopefully other users won't see this issue moving forward

Hi @AxelLin , I have the issue that you show on you last post. My situation is the following:
I have a custom board with ESP32. We've updated our firmware from ESP-IDF 4 to ESP-IDF 5.0.
On production devices, we have about 10% of them that wasn't able to reconnect to AP.
On the log below, it seems the device is trying to connect to AP several times but it can't.
I (2096021) wifi: Enabling WiFi
I (2096031) wifi: WiFi connect: SSID='XXXXXXX' ...
I (2096041) wifi:mode : sta (94:b9:7e:ea:e2:60)
I (2096051) wifi:enable tsf
I (2096091) wifi:new:<11,0>, old:<1,0>, ap:<255,255>, sta:<11,0>, prof:1
I (2096101) wifi:state: init -> auth (b0)
I (2097111) wifi:state: auth -> init (200)
I (2097111) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (2097121) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (2097131) wifi:state: init -> auth (b0)
I (2097151) wifi:state: auth -> assoc (0)
I (2097181) wifi:state: assoc -> run (10)
I (2100321) wifi:state: run -> init (2c0)
I (2100331) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (2100341) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
I (2100351) wifi:state: init -> auth (b0)
I (2100371) wifi:state: auth -> assoc (0)
I (2100431) wifi:state: assoc -> run (10)
I (2103531) wifi:state: run -> init (2c0)
I (2103541) wifi:new:<11,0>, old:<11,0>, ap:<255,255>, sta:<11,0>, prof:1
E (2125491) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
E (2125491) task_wdt:  - IDLE (CPU 1)
E (2125491) task_wdt: Tasks currently running:
E (2125491) task_wdt: CPU 0: IDLE
E (2125491) task_wdt: CPU 1: tiT
E (2125491) task_wdt: Print CPU 1 backtrace

Backtrace: 0x4008E41E:0x3FFC0E80 0x4008341D:0x3FFC0EA0 0x40168621:0x3FFD1200 0x4016868E:0x3FFD1220 0x4016A968:0x3FFD1240 0x4016AA2B:0x3FFD1260 0x40168791:0x3FFD1280 0x40160E85:0x3FFD12A0
0x4008e41e: esp_ptr_in_dram at /home/aurelien/esp/esp-idf/components/esp_hw_support/include/esp_memory_utils.h:48
 (inlined by) esp_flash_write at /home/aurelien/esp/esp-idf/components/spi_flash/esp_flash_api.c:881

0x4008341d: _xt_coproc_exc at /home/aurelien/esp/esp-idf/components/freertos/FreeRTOS-Kernel/portable/xtensa/xtensa_vectors.S:1012

0x40168621: udp_sendto_if at /home/aurelien/esp/esp-idf/components/lwip/lwip/src/core/udp.c:654

0x4016868e: udp_sendto_if at /home/aurelien/esp/esp-idf/components/lwip/lwip/src/core/udp.c:665

0x4016a968: icmp_input at /home/aurelien/esp/esp-idf/components/lwip/lwip/src/core/ipv4/icmp.c:162

0x4016aa2b: icmp_input at /home/aurelien/esp/esp-idf/components/lwip/lwip/src/core/ipv4/icmp.c:219

0x40168791: udp_sendto at /home/aurelien/esp/esp-idf/components/lwip/lwip/src/core/udp.c:583

0x40160e85: dns_send at /home/aurelien/esp/esp-idf/components/lwip/lwip/src/core/dns.c:864

E (2145491) task_wdt: Task watchdog got triggered. The following tasks/users did not reset the watchdog in time:
E (2145491) task_wdt:  - IDLE (CPU 1)
E (2145491) task_wdt: Tasks currently running:
E (2145491) task_wdt: CPU 0: IDLE
E (2145491) task_wdt: CPU 1: tiT
E (2145491) task_wdt: Print CPU 1

then the watchdog task is trigged in loop. I can't identify why sometimes on some AP I've got this issue. The issue is really difficult to reproduce because it appears only sometimes.
Please could you tell me which problem occurs when we have: I (2103531) wifi:state: run -> init (2c0)
If you need more information to help, ask me. (for example the sdkconfig file or something else) thanks for your help. I continue to investigate on my issue. BR

Hi @aureliendeb34

Please could you tell me which problem occurs when we have: I (2103531) wifi:state: run -> init (2c0)

(2c0) means STA receive AP's deauth frame, the reason code is 2 (auth expire), refer to reason code
We speculate that the issue may be related to abnormalities in the router. When reproducing the problem, try connecting to the router with another STA (Station) and see if the connection is normal.
Additionally, please provide wireless packet capture during the process,  refer to how to capture wireless pkts ?
Thanks.

Hi @aureliendeb34
Since the source issue is different from the new issue, we will close this issue and feel free to open new issue if need.
Thanks.


Markdown toggle only after activating preview window

Hi.
I have turned on the experimental markdown preview and added key F8 to toggle the preview on and of as described in the Wiki Config.
Now just pressing F8 (or use command palette toggle) in the .md file does not work.
What works is to mark the preview window and then the .md window with the mouse.
Then F8 (or the command palette) works.
Is this an error in my setup or is this an Issue?
Linux: Archlinux
WM: SpectrWM
Oni: 0.3.3

Confirmed.
Seems that it is an issue that is new in v0.3.3.
When the preview's split is opened, it gets the focus.
Seems that while it has the focus on it, it ignores the binding.
Will take a look at it.
In the meantime, if anyone has an idea how to auto-remove the focus from it I'd be happy to hear about it ;)

Looks like this is fixed for me.
I'll assume that #2282 fixed it since I changed the focusing on the markdown preview as well as making the toggle code a bit more robust.


Xcode 9 and swift 4 compatibilty

The build fails for Jukebox for swift 4.
imported the library using pod
pod 'Jukebox'

@tenzinsamten if you change the Swift Language Version to Swift 3.3 in build settings for the Jukebox pod target, it works

@tenzinsamten write this command to end of your Podfile to solve this issue while installing pod or as @BogdanPintilei mentioned, change Swift Language Version to 3.3 everytime you do pod install.
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'Jukebox'
target.build_configurations.each do |config|
config.build_settings['SWIFT_VERSION'] = '3.3'
end
end
end
end

I had updated the pod for swift 4.2
pod 'Jukebox', :git => 'https://github.com/sam961/Jukebox.git',:branch => 'swift-4.2'

Hi @sam961! This branch 'https://github.com/sam961/Jukebox.git',:branch => 'swift-4.2' doesn't seem to exist anymore?


feat: current navigation link is not highlighted

What feature?
As shown in the picture, it is not visible on which navigation link I am currently.
Also, I believe using icons is not a good way to show navigation since there is no additional information to tell what each icon represents.
Add screenshots

Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSoC'23 contributor
[X] I want to work on this issue

yeah we need to add the active link feature & also the sub title for icons.

yeah we need to add the active link feature & also the sub title for icons. what do you think?

Sure, please assign me.
I will make a PR till tomorrow.

yeah we need to add the active link feature & also the sub title for icons. what do you think?

Sure, please assign me.
I will make a PR till tomorrow.

assigned


Microsite Enhancements

This PR brings some microsite improvements:

Proper attributions in the global footer, where, from now on, it'll show Github4s is designed and developed by Github4s contributors pointing to the AUTHORS file.
Extra explanation saying g4s is compatible for both Scala JVM/JS and Scala 2.10, 2.11 and 2.12.
Adds changelog as link, which might be handy. It has been placed side to the Contributing section.

Wait until https://github.com/47deg/github4s/pull/144 is merged.

Codecov Report

Merging #143 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #143   +/-   ##
=====================================
  Coverage      88%    88%
=====================================
  Files          36     36
  Lines         550    550
  Branches        2      1    -1
=====================================
  Hits          484    484
  Misses         66     66

Impacted Files
Coverage Δ

...c/main/scala/github4s/free/domain/Repository.scala
100% <ø> (ø)
:arrow_up:

.../main/scala/github4s/free/domain/PullRequest.scala
100% <ø> (ø)
:arrow_up:

...ub4s/shared/src/main/scala/github4s/Decoders.scala
100% <100%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Review Chapter 06

Hi Daniel,
Nothing much this time around, just some formatting issues and typos. Also re-ordered some imports.
Very nice! 👍 👍

Thank you very much!


Fixed a typo

I changed "insecurly" to "insecurely"

thank you, did you do a pass through the rest of the docs for other misspellings?
also if you have this locally can you also run pnpm changeset to create changelog data. if not I'll do it myself before merging. can write a note such as "fixed jsdoc spelling errors".

No problem. Sadly, I just noticed this one while checking out the project. I didn't check any other docs nor source files. I don't have the project locally either, so you would need to create the change-log data.
I may look for more issues in the future.

alright, thanks. the changelog isn't a big deal since I have the repo locally with all the deps installed and so on.

:+1:


Auto Indexing on Already saved data

There are instances where you will use this library on the later parts of development..
In my case,, I just used this library and every data that is already saved before I install this package is not indexed..
By setting ELASTICSEARCH_AUTO_INDEX to true,, everything that will be saved will contain an index.. This will enable me to set index to every data that is already saved by updating or resaving it which is done manually or a lot easier approach is by re-saving them via for loop
But is there an easier way? or something easier can be done to do that? like a manage.py command or something?

You can call
MyModel.es.create_index()
MyModel.es.index_all()

or
MyModel.es.flush()

which deletes the index before reindexing everything.

Oh ok Thanks!


chore: add code style badge

Codecov Report

Merging #36 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff          @@
##           master    #36   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           2      2
  Lines         337    337
  Branches       30     30
=====================================
  Hits          337    337

Continue to review full report at Codecov.

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

LOVE IT


Update Gods up to Ix Chel release

added gods until Ix Chel and fixed some gods being listed improperly in the properties (ex: Yemoja as an Assassin)

Hey, @abahr35! I'll accept your PR, but I'm planning to rewrite the wrapper (Using actions to auto-update Gods/Champions and so).
I've a WIP private repo, I can invite you if you want to...

Sure @luissilva1044894 , I'd love to see what what you have in the WIP repo

@abahr35 Sorry, I didn't get a notification. I've invited you now. It's been a while since I updated it, but I can do something if needed. New repo is mainly async.


Redeployment shouldn't remove manually assigned identities

I've got an existing Key Vault and managed user-assigned identity with the appropriate roles for accessing it. After deploying the container app via azd up, I assigned the UAI to it and everything worked as expected.
An hour later after I'd made a few more changes and re-deployed via azd up, I realized the app wasn't working. I dug into the logs and realized that as part of the redeployment, even though the other resources remained unchanged, the container app no longer listed my already-existing UAI (in addition to the one deployed by Aspire).
I sort of expected that re-deployments of container apps would kick off new revision deployments instead of deleting and deploying an entirely new container app, meaning that any changes I'd make to the app would persist, so please consider this a feature request - if I add my own identities to a deployed resource, updates to the deployment should start from whatever is already there and be additive for whatever it's trying to do rather than replace with a clean resource.
Thanks!

This is because you now have 2 sources of truth. Azd has no idea about the changes you manually made to the environment and using azd up (which does azd provision) will not keep those changes. There's currently no support for customizing the compute outside of generating the bicep using azd infra synth, this is still being worked on.
Changes to the environment outside of the app model or IaC will be overwritten when re-provisioning. azd is optimized for being able to repeatably create environments with infrastructure.
Running azd deploy will only deploy your compute and leave the infrastructure alone.

Typically, if you download an ARM template and re-apply it and nothing has changed, nothing happens. If you download the template and make a change to it, it only applies whatever has changed (except some of the older resources - looking at you vnets). And of course, if you deploy a brand new template, you get brand new resources.
But I guess I would expect some sort of guardrail up that prevents developers from inadvertently deploying a destructive template. The deployments appear to be idempotent - I might suggest adding a validation step: if there already exists a resource group matching the target deployment and it's filled with the same resource names as have been generated in the newly-prepared local template, throw on the brakes and have the developer confirm that they want to proceed with the operation (and accept a -F to force it through without the check).
Otherwise, I can easily see this being a source of great frustration that especially when the template supports references to existing resources, an inadvertent redeployment obliterating the roles on an existing Key Vault or dropping the relationship between an environment its App Insights instance because azd isn't aware of it.


make static assets immutable

first part of #3194

[x] adapter-cloudflare
[ ] adapter-cloudflare-workers
[x] adapter-netlify
[x] adapter-node
[ ] adapter-vercel

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

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

Tests

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

Changesets

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

cases this doesn't (yet) address:

paths.assets is set, meaning assets are hosted externally. in these cases, manifest.assets should be empty, and adapters probably shouldn't attempt to deploy or serve static files or write custom headers for them
paths.base is set. adapters are probably doing several wrong things here

i think it's probably better to figure those out separately


VWBL　SDK　コンテンツ

[ ] Request form
[ ] Fix title
[ ] Ask in Slack
[ ] JIRA issued
[ ] Prepare with the organizer
[ ] Setting the goal
[ ] Slides
[ ] Movies preparation
[ ] The day!
[ ] PDF release in SlideShare
[ ] Publish the movie
[ ] Subtitle to the movide
[ ] Publish the blog

Details of request

https://vwbl-protocol.org/

試しに、NFTのデプロイが必要。
truffleではなく、hardhatを用いて。


How are readers supposed to determine that unchunked files contain messages?

Here is a simple chunked file layout:
Chunked
-------
Magic
Header
Chunk
  ChannelInfo
  Message
MessageIndex
[index_offset]
ChannelInfo
ChunkIndex
Statistics
Footer
Magic

And the same file unchunked:
Unchunked
---------
Magic
Header
ChannelInfo
Message
[index_offset]
ChannelInfo
Statistics
Footer
Magic

And here's an empty file:
Empty (Chunked or Unchunked)
-------
Magic
Header
[index_offset]
Statistics
Footer
Magic

How are readers supposed to distinguish between unchunked files and empty files?

Also applies to chunked files that don't have indexes? If something doesn't have an index you go to beginning.
It can have an index data section but not message indexes (chunk indexes)

appendix section rather than the index section?

They read the index data section and see there are no chunk index records. Then they read from the top of the file.
If we update the spec to have statistics appear earlier - a bail-out would be reading the statistics record and seeing the chunk count === 0

https://github.com/foxglove/mcap/tree/roman/spec-format/docs/specification#footer-op0x7f
There are several options from the above working iteration:
If a footer has zero value for chunk_index_start then there are no chunks in the file and you can read from the start of the file to find messages.
If a footer has a non-zero value for statistics_start, you can read the statistics record and see if there are any messages.
If the footer has a non-zero channel_info_start, then there are at least channel info messages which likely means there are messages to find in the file.


Infra Failure in Linux docs_publish job

link: https://ci.chromium.org/ui/p/flutter/builders/prod/Linux docs_publish/2563/overview
This made the framework tree purple. This ticket is to investigate and root cause the failure.

ERR : Rename failed, path = '/b/s/w/ir/x/w/.pub-cache/_temp/dirRFJSFJ' (OS Error: Directory not empty, errno = 39)
I'll continue monitoring this to see what the impact is, but I suspect it's a low priority flake (I haven't seen this before).


Reduce on raster broken

Sorry for the very short issue:
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-17-2f3b71189dd3> in <module>()
      1 #zonder.reduce('Scan',np.mean).to.curve(dim_wavelength, 'z').overlay('Power').layout('Location')
      2 ylims = (1, None)
----> 3 zonder[:,:,:300,:].reduce('Scan',np.mean).to.curve(dim_wavelength, 'z', extents=(None, ylims[0], None, ylims[1])).overlay('Power').layout('Location')

/home/tenner/src/holoviews/holoviews/core/spaces.pyc in reduce(self, dimensions, function, **reduce_map)
    277         from ..element import Table
    278         reduced_items = [(k, v.reduce(dimensions, function, **reduce_map))
--> 279                          for k, v in self.items()]
    280         if not isinstance(reduced_items[0][1], Table):
    281             params = dict(util.get_param_values(self.last),

/home/tenner/src/holoviews/holoviews/element/raster.pyc in reduce(self, dimensions, function, **reduce_map)
    148             oidx = self.get_dimension_index(other_dimension[0])
    149             x_vals = self.dimension_values(other_dimension[0].name, unique=True)
--> 150             reduced = reduce_fn(self._zdata, axis=oidx)
    151             data = zip(x_vals, reduced if not oidx else reduced[::-1])
    152             params = dict(dict(self.get_param_values(onlychanged=True)),

NameError: global name 'reduce_fn' is not defined

Thanks for reporting this, must have missed it in the recent refactor. Will get on it tonight.

Fixed in f57a1d75f3f1d609f1f8781182b4caf8b65f3e85. Sorry about that.


Support for SIBR viewer

Hiya, can we use the SIBR viewer to view the trained model? If not, do you have any plan to support it? The web viewer can only view images, lacking control over Gaussian attributes, such as displaying Gaussian ellipsoids and adjusting scale.

Or, can any methods convert to SIBR format?


Coral.ai Edge TPU support with Jax + Flax?

Description
Would coral.ai's edge tpu support Jax + Flax neural network models?
Click to expand!
Issue Type
Feature Request
Operating System
No response
Coral Device
No response
Other Devices
No response
Programming Language
No response
Relevant Log Output
No response

We don't have official support for Jax+Flax models. But, these models can be run on Edge TPU if they can be converted to full int8 tflite models and can be compiled with Edge TPU compiler.
Please check the Edge TPU model requirements and supported operations at: https://coral.ai/docs/edgetpu/models-intro/#compatibility-overview.

It would be awesome if supported. With popularity of Stable Diffusion and similar AI image generators, the Coral could be a great tool.

Apparently, there should be a way, but the notebook supplied miserably crashes. At first, because it asks to install tf-nightly and it's incompatible with the installed numpy. Then, because the conversion needs a GPU. Finally, some ugly flatbuffer related error :laughing:
tf.__version__, jax.__version__, np.__version__
# ('2.9.2', '0.3.25', '1.21.6')

https://www.tensorflow.org/lite/examples/jax_conversion/overview

No, it would give you this error: "RuntimeError: Unable to initialize backend 'tpu': UNIMPLEMENTED: LoadPjrtPlugin is not implemented on windows yet." on windows or this error on linux: "warning: could not determine tpu accelerator type. set env var tpu_accelerator_type to set manually. tpu runtime may not be properly initialized."
You have to use the pycoral.utils.edgetpu library.

I second, that support for edge TPU would be amazing.

I would also love to use JAX with a Coral board, for audio and image classification problems.

+1. I'd love to build with this but lack of JAX is a dealbreaker for me

I'm also interested in JAX support for Coral boards. This would make the boards a more modern and competitive option.

for now, my coral board is sitting on a shelf because I can't do anything of much value without jax, so +1 on this issue

for now, my coral board is sitting on a shelf because I can't do anything of much value without jax, so +1 on this issue

The is hardware is google abandonware so you’re not ever going to see this (closed anyway) feature.

Maybe you can convert to a tflite model with openvino:
https://huggingface.co/docs/transformers/en/tflite