Because an indexer property is missing in  null or undefined

I'm receiving this warning from flow:
Cannot get `rates[exchange.baseCurrency]` because an indexer property is missing in  null or undefined

But I already checked the rates variable. I can fix this warning replicating the check inside of the map function but I think it is not the best approach.

So is it a bug or I'm doing something wrong?
Flow version: "flow-bin": "^0.93.0"

This is probably a case of the first question discussed in the new FAQ section of the docs.
Flow doesn't keep track of side effects, so as far as it's concerned, your mapToArray function call could well be mutating rates, so it invalidates your check.  You can get around this by having a local variable for rates within the renderExchanges function.  Marking rates as read-only could be another solution.
If that doesn't answer your question and you'd like more help, please try and create a minimum reproduction on https://flow.org/try/ before reopening - there's a lot of context missing in your screenshots which makes it harder to provide help.


Area2D not detecting segment-built bodies

Describe the bug
Area2D does not detecting segment-built bodies with get_overlapping_bodies()
To Reproduce
Try to use an Area2D to detect an overlapping body that has its collision shape segment-built. I would assume this goes for get_overlapping_areas() as well because this has to do with the collision polygon more so than the area, but have not tested it.
Expected behavior
get_overlapping_bodies() works as intended.
Environment:

OS: [4.2.2.stable]
Version [v0.7.15]
Godot Version [4.2.2.stable]
Type [simd single 2d]

Very likely related to https://github.com/appsinacup/godot-rapier-physics/issues/153

Check latest version and see if its fixed.

Oddly the minimal reproductions for it are fixed, however in my larger project it's not fixed. Will try reproduce it.

Works on v0.7.18


Rockstar Games Launcher Red Dead Redemption 2 issue fix idea/Disable DLSS sharpening

Currently vanilla RDR2 uses DLSS version 2.2.10. As far as I know, the DLL hasn't been officially updated a single time ever since it was implemented into the game, in the July 2021 update. Steam users can easily update their DLSS by replacing the DLL in the directory, without any further worry. However, users who own the game on the Rockstar Games Launcher have to constantly worry about the replaced DLL being automatically downgraded by updates, and the game's directory folder having its permissions completely screwed over by said updates. The only way to play the game on RGL with an updated DLSS file is to wait for the game to finish downgrading itself, clicking the "Play" button inside the launcher, and then after a few seconds finally replacing the file in the directory with the updated DLSS DLL, right before the game opens. Keep in mind, the next time you want to play the game again you will have to let the launcher update the game to downgrade the file once again, and do the same process all over again.
So here's my idea. What if DLSSTweaks automatically updated the DLSS DLL to the latest version every time the game was booted up, right before it actually opens, and automatically fixed the directory folder permissions? I feel like this would be the perfect solution for this issue RGL players have been having for months.
Also, completely unrelated to this issue, but an option to disable the DLSS sharpening would be an awesome addition.

For the issues with Rockstar games launcher replacing the DLSS dll, you might be interested in this: https://github.com/emoose/DLSSTweaks/issues/22#issuecomment-1443624026
It's a version of DLSS Tweaks that has an option called OverrideDlssDll that allows you to tell a game to load the DLSS dll from somewhere other than the game directory. For example, you could have the DLSS 3.1 dll on your desktop and DLSS tweaks will load it into Red Dead Redemption 2 instead of the one bundled with the game. And since the DLSS dll is outside of Red Dead Redemption 2's installation folder, it won't be removed/replaced by the Rock Star Games launcher.

Oh my, that is exactly what I wanted! I would close this issue right this instant if it wasn't for the matter of the suggestion of disabling the DLSS sharpening.

Yeah as @Treemcgee324 mentioned you should be able to use that to help with RDR2, it seemed to work fine on my RGL version at least.
Auto-updating is a nice idea, but I'm not really sure how well I could make it do that securely, 3.1.1 does apparently support some kind of OTA update now though, maybe once they start pushing updates with that we can find some way to force it to update automatically.
For DLSS sharpening, if you update to DLSS 2.5.1 or 3.1.1 those both should have sharpening disabled, IMO there's probably not that much need to use an older DLSS than 3.1.1 now that they merged all the different DLSS models as the A-F presets, but if there is some 2.x version that people are still staying with maybe it could be worth adding a way to override it.

I can't seem to get the override DLL setting to work. Tried with the dev file and the watermark didn't show up. Am I doing something wrong?

Also, I didn't know the latest version already had sharpening disabled. That's perfect then.

@xuru-thor, from my understanding you need to specific a full path to the dll, with quotation marks. And forward slashes need to be back slashes. So it should be:
OverrideDlssDll = "C:/Program Files/Rockstar Games/Red Dead Redemption 2/DLSS 3.1.1 v2/nvngx_dlss_new.dll

Thanks, but that didn't work either. I also tried keeping the back slashes but no luck.

I'm sorry, I don't know how to help. That worked for me (although, I was testing Cyberpunk 2077, not Red Dead Redemption 2)
One thing, if you haven't done this already, make sure DLSS tweaks is working before testing the OverrideDlssDll option?

There is another git project that does exactly what you're looking for @xuru-thor: https://github.com/Bullz3y3/RDR2_DLSS_Replacer

When I added that I only tried it by renaming 3.1.1 nvngx_dlss.dll to nvngx_dlss_new.dll, copying the renamed file next to RDR2.exe, and then setting the option as OverrideDlssDll = nvngx_dlss_new.dll, for me that seemed to let it work at least.
Full path should have worked though really, but I didn't test that for myself, maybe there's an issue with spaces in paths that I need to look into.

dxgi.dll needs to be renamed XInput9_1_0.dll for RDR2.

dxgi.dll needs to be renamed XInput9_1_0.dll for RDR2.

This did the trick! The OverrideDll setting is working just fine, I just didn't notice the entirety of Tweaks wasn't working. Thank you everyone for all the help, and thank you emoose for this wonderful tool!

There is another git project that does exactly what you're looking for @xuru-thor: https://github.com/Bullz3y3/RDR2_DLSS_Replacer

Thanks for the tip, but now that DLSSTweaks is working perfectly, there is no need for any other tools.


Sorting features causes properties to be non-equal in tests

When sorting features in bing tiles properties the tests fail on property comparison.
For example, with bing tile 4-8-5:
Here is an MVT property:

 mvtProperties: {label-importance=6, has-icon=true, max-text-width=100.0, st-tag=sovCap, name=Copenhagen, bkt=1822, id=7016673626309001217, name-f=16.0, clk-as=lbl}

And here is the MLT property:

 mltProperties: {label-importance=4, has-icon=true, max-text-width=100.0, name=Budapest, bkt=2094, name-f=16.0}

Perhaps the lack of feature IDs in bing tiles is causing this?
Could be a bug in the test comparison code, since it works off feature ids.
To workaround this (and be able to compare sorted features in the tests) we may need to add auto-incrementing support to features that lack an ID (or where it is always zero in the MVT)?

Yes, sorting is currently only possible if an id is present. Because of this I also do not sort the Bing tiles in the size benchmark tests. I only did a quick implementation of the sorting strategy so it is limited. In general a more sophisticated sorting strategy has the potential to noticeably further reduce the tile size. This is on my list to do a more advanced implementation of the sorting


feature: support test cnosdb

I know little about java, and I hope you can correct me.
https://github.com/thulab/iot-benchmark/issues/388
Most of the code comes from influxdb, where writing directly uses InfluxDB-Java and sql queries use http

Thank you very much for your contribution and we will review the code for this PR next week!

Thank you very much for your contribution and we will review the code for this PR next week!

Thank you! @SpriCoder
We will fix these problems.


[engsys] rush reports warning about outdated querystring

WARN  deprecated<EMAIL_ADDRESS>Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
 WARN  deprecated<EMAIL_ADDRESS>This is a stub types definition for ajv (https://github.com/epoberezkin/ajv). ajv provides its own type definitions, so you don't need @types/ajv installed!
 WARN  deprecated<EMAIL_ADDRESS>Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)
 WARN  deprecated<EMAIL_ADDRESS>See https://github.com/lydell/source-map-resolve#deprecated
 WARN  deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
 WARN  deprecated<EMAIL_ADDRESS>"Please update to latest v2.3 or v2.2"

<EMAIL_ADDRESS>from communication-identity
<EMAIL_ADDRESS>from schema-registry-json
<EMAIL_ADDRESS>from mocha v7
<EMAIL_ADDRESS>from rollup-plugin-sourcemaps
<EMAIL_ADDRESS>from core-http -> fetch-mock
<EMAIL_ADDRESS>from mocha

WARN  deprecated<EMAIL_ADDRESS>A newer major version of this library is available. Please upgrade to the latest available version.
 WARN  deprecated<EMAIL_ADDRESS>The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
 WARN  deprecated<EMAIL_ADDRESS>A newer major version of this library is available. Please upgrade to the latest available version.

<EMAIL_ADDRESS>from @azure/communication-identity
<EMAIL_ADDRESS>from<EMAIL_ADDRESS>from @azure/communication-job-router

| WARN  4 deprecated subdependencies found<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>

currently

WARN  2 deprecated subdependencies found<EMAIL_ADDRESS><EMAIL_ADDRESS>

@types/mime is a transitive deps from<EMAIL_ADDRESS>which is already latest.


[DOC]-$ sign is copied when using the copy icon.

When using the copy icon, $ sign is copied with the command.

@efajardo-nv Can we get a review of this?


watch secret event for mci object

What type of PR is this?
/kind feature
What this PR does / why we need it:
When setting the TLS field for an MCI object, it involves Secret resources, so the multiclusteringress-controller needs to watch events related to secrets.
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

multiclusteringress-controller: watch secret event for mci object

/cc @RainbowMango @Rains6


Please add a section in Table API on how to perform additional queries supported by cosmosDB

It also needs to describe how to execute queries which are available in cosmosDb but not in native Azure Tables like Count. Of these 3 methods(Odata/linq/rest like), it is not clear how to perform an aggregate query like Count which is native to cosmosDB.

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

ID: 5e736c19-b1c9-942d-7430-f9961aff5d38
Version Independent ID: b307e18a-b5a9-15c3-eac5-78dfef206fb5
Content: Tutorial: Query Azure Cosmos DB by using the API for Table
Content Source: articles/cosmos-db/table/tutorial-query.md
Service: cosmos-db
Sub-service: table
GitHub Login: @seesharprun
Microsoft Alias: sidandrews

@rahg-bmake
Thanks for your feedback! We will investigate and update as appropriate.

@rahg-bmake, unfortunately I was unable to find any information on Azure Cosmos DB for Table queries that are not supported in Azure Table Storage.  If you would like more information about this functionality, please post in Microsoft Q&A.
#please-close


Exclude known test failures on mac-x64, windows64

Signed-off-by: Sophia Guo<EMAIL_ADDRESS>

All primary platforms test failures have been gone through.


Help for error message, solves #1

As described in #1, ansible version 1.5 to 1.8 has a problem running with an empty hosts file. This results in an error when trying to provision: ERROR: provided hosts list is empty. Either changing the hosts file or using a specific -i command solves this.

Any input on this one? Shall I change something? Is this going to be merged?

thanks


Archive stale branches

@travs and I were discussing policies for deleting / archiving branches that have been merged and are no longer part of active development.  Tagging and archiving seems like a good way to go here.  See this SO post:
http://stackoverflow.com/questions/1307114/how-can-i-archive-git-branches

Good point.    I've created a few pull requests for branches that seem like they may have useful stuff and asked about them.

i think that's the last of them


Add the possibility for loading controllers given their path

Is your feature request related to a problem? Please describe.
I have the following situation: I'm building my controllers with a custom CMakeLists.txt. Thus the executables of the controllers will end up in the build directory. I also have a .wbt file that associates objects with controllers.
Now to the problem: I want to call webots myworld.wbt (which in turn should load my controllers) without being required to have the folder structure as described here with the controllers/ and worlds/ folder. Creating such a folder structure within my  CMakeLists.txt file would either require me to install() the files in the correct folder structure (and therefore forcing me to always call make install) or to resort to some nasty CMake or Bash hacks.
Describe the solution you'd like
Therefore I propose to add the possibility for loading controllers given their path. I came up with the following ideas that would implement this proposal:

Introducing the command line parameter --controller-folder that sets the folder where the executable is searched in.
For example, if I specify controller "mycontrollername" in my .wbt file and pass --controller-folder /path/to/build/ then Webots should try to load the executable /path/to/build/mycontrollername. Note that the path is not /path/to/build/mycontrollername/mycontrollername.

Controllers could additionally be searched in the current working directory ($PWD), or within your path ($PATH).
For example, if I specify controller "mycontrollername" in my .wbt file and let my current working directory be /path/to/build then the controller could be searched in the folders that it's already currently searched in according to the current implementation and after that the controller could be searched in /path/to/build/mycontrollername. Also note here that the path is not /path/to/build/mycontrollername/mycontrollername.

I'm more than happy to provide a patch for this. With this issue I want to ask if you are open to accept such a patch and which of the solutions you prefer, or if you have any other ideas for fixing this problem?

Thank you for this proposal which looks very interesting. We would actually prefer the second option with the PATH environment variable because it seems simpler and cleaner. But I see two problems with this variable: if ever a controller is named the same as an existing command in the PATH, it may fail at starting the correct one (e.g., for example a cat controller for a kitty robot may launch the UNIX cat command line). Also, I fear "polluting" the PATH variable which is used by the system for other purposes (e.g., if your controller wants to launch an external process, or needs a DLL on Windows, it will use the PATH environment variable). Therefore I would suggest you to use a different environment variable, e.g., for example WEBOTS_CONTROLLER_PATH which may contain a list of folders where to search robot controllers if not found at the usual location.
We would be indeed happy to review and merge such a contribution.
So, you are welcome to create a new pull request about it.

I've looked into the code that loads controllers and I have a question about it. My proposal requires that the folder of the controller doesn't have to be named like the controller (see above examples). Currently this is enforced throughout the code in the sense that there is a one "controller directory" that is used to load controllers from:
https://github.com/omichel/webots/blob/3967c5b035b9e74c56136133d6189c0ed10bc19b/src/webots/nodes/WbRobot.cpp#L460
Do you have a proposal how to adjust the code in order to additionally support loading from folders that not necessarily are "controller directories"? It seems that this would require some refactoring, if I'm not mistaken?

We would actually prefer the second option with the PATH environment variable because it seems simpler and cleaner.

Would you also accept an implementation via command arguments? They fit a bit better in my tooling.

Therefore I would suggest you to use a different environment variable

I totally agree that using WEBOTS_CONTROLLER_PATH is better than using PATH or PWD.

Yes, some refactoring may be needed to implement this feature.
Because it is a rare use case, we would prefer the environment variable solution and avoid the command line argument option for now.

This is not on our medium-term roadmap.


Avoid capturing focus when Dropdown is opened

Opening the dropdown captures focus, closing any open keyboard. I'm using modal bottom sheet's that consist of a textfield and a dropdown box. By default, the textfield captures focus - user input is always required. However, if the dropdown box is tapped while the keyboard is opened, the keyboard closes, which creates a very annoying animation as the modal sheet lowers to the bottom of the page.
Here's what I have tried thus far:
Focus(
            autofocus: false,
            descendantsAreFocusable: false,
            descendantsAreTraversable: false,
child: ...DropdownButton2

Within DropdownButton2 itself:
focusNode: FocusNode(canRequestFocus: false, descendantsAreFocusable: false),
This is a minor inconvenience and I really appreciate the package. It has came in handy numerous times.

It's expected for dropdown button to take focus away from TextField.
I think what you're describing is the expected behavior or am i missing some point here?

It's expected for dropdown button to take focus away from TextField. I think what you're describing is the expected behavior or am i missing some point here?

Hi, thank you for the prompt response. It is indeed expected behavior that the dropdown menu captures focus and thus hides the keyboard. I just wanted an option to override this for better user experience.
When the keyboard is temporarily hidden during onset of dropdown menu opened, the modal bottom sheet is pushed to the bottom of the screen. Once a selection is made in the dropdown menu, the keyboard re-appears, pushing the modal bottom sheet to the top. This is aggravating especially on larger devices.
Because this isn't a problem, and is also expected behavior, I'm going to close this issue. I'll see if I can integrate a solution and if so do a pull request.
Thank you.


tmpfs: 4G but No space left on device

Hi,
We're running Routinator 0.11.3 with a 4G tmpfs for the RPKI cache.
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           4.0G  2.3G  1.8G  56% /var/lib/routinator/repository

Unfortunately, our Routinator systemd service started to alert as it was stuck in a crash loop. The daemon might have been restarted by our automation once (eg. to pick up new library upgrades). And then the following kept happening:
Sep 11 08:27:55 rpki2002 routinator[1667211]: Fatal: failed to open file /var/lib/routinator/repository/rrdp/rrdp.ripe.net/21d6592469dbe79feb2922562764fd193170f173229298b9a4443ffb5c282000/tmp/rpki.ripe.net/repository/DEFAULT/ws5Z0a-DDJS6jqEc-P7G3ZwDuRc.cer: No space left on device (os error 28)
10:28
Sep 11 08:27:56 rpki2002 routinator[1667211]: Fatal error. Exiting.

I manually stopped the deamon and cleaned the tmpfs filesystem then restarted Routinator.
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           4.0G  2.2G  1.9G  55% /var/lib/routinator/repository

It seems to be stable since then.
With the available space on tmpfs I'm a bit surprised of the error No space left on device. One hypothesis is that Routinator downloads data first before removing old data during initialization, requiring briefly the double of space/memory.

The issue very likely comes from running out of inodes, which unfortunately results in a rather misleading ‘No space left on device’ error. (We manually adjusted the log message in 0.12. to read ’No space or inodes left on device’.)
Without having tested this, I think you also want to add -o nr_inodes=2M when mounting the tmpfs. We’ll add this to the incantation mentioned in the manual once we did test.

(To check inode numbers use df -i)

FYI we bumped the number of inodes in our Puppet code as suggested and it did the right thing without disrupting Routinator 3000. Thanks!
$ df -i
Filesystem      Inodes  IUsed   IFree IUse% Mounted on
tmpfs          2097152<PHONE_NUMBER>059   32% /var/lib/routinator/repository
$ df -h
Filesystem      Size  Used Avail Use% Mounted on
tmpfs           4.0G  2.3G  1.8G  56% /var/lib/routinator/repository


Error: tls handshake eof

Why did this error occur and how can we fix it?

Hi there,
In general you'll need to provide more information in order to get the best help. Things like what crate versions you're using, what server you're connecting to when you observe the error, and sample code that shows how you're using the crate.
However in this case I think the explanation is present in the Rustls manual's section on unexpected EOF: https://docs.rs/rustls/latest/rustls/manual/_03_howto/index.html#unexpected-eof


New Rule: Comment Style

Checks:

Comments with " instead of *
No inline comments after coding, previous line instead

To make it modular, maybe put a config option for each "body type", i.e. method implementation, function module,  form? Alternatively, strictly forbid *.
Reasons:

readability
consistency (no mixing of * and " style comments)

Thoughts?

yea, also see the official recommendation https://github.com/SAP/styleguides/blob/master/clean-abap/CleanABAP.md#comment-with--not-with-
(personally I like the * comments as they are highlighted in the editor, where the " are not, I use the old editor typically)

I literally linked the same link, sir 😉
Out of curiosity... do you use the old editor out of necessity or choice? If choice... why?
Also: what do you think about the modularity? Put the respective elements as config options or just strictly use this rule on everything by default?

sorry, did not see the links
I like old stuff, and am very selective about what new things to learn all to my toolbox
Config: as a starting point just make it quite strict, can always add more options. And as a general note default to be strict, so users discover new stuff and can disable whats not required


chapter10 - vaultd run error

Hi, @matryer .
I tried to run vaultd by cd to its folder then run command go run main.go, then see this message errors
../../server_grpc.go:15: cannot use DecodeGRPCHashRequest (type func("golang.org/x/net/context".Context, interface {}) (interface {}, error)) as type "github.com/go-kit/kit/transport/grpc".DecodeRequestFunc in argument to "github.com/go-kit/kit/transport/grpc".NewServer
../../server_grpc.go:15: cannot use EncodeGRPCHashResponse (type func("golang.org/x/net/context".Context, interface {}) (interface {}, error)) as type "github.com/go-kit/kit/transport/grpc".EncodeResponseFunc in argument to "github.com/go-kit/kit/transport/grpc".NewServer
../../server_grpc.go:21: cannot use DecodeGRPCValidateRequest (type func("golang.org/x/net/context".Context, interface {}) (interface {}, error)) as type "github.com/go-kit/kit/transport/grpc".DecodeRequestFunc in argument to "github.com/go-kit/kit/transport/grpc".NewServer
../../server_grpc.go:21: cannot use EncodeGRPCValidateResponse (type func("golang.org/x/net/context".Context, interface {}) (interface {}, error)) as type "github.com/go-kit/kit/transport/grpc".EncodeResponseFunc in argument to "github.com/go-kit/kit/transport/grpc".NewServer
../../server_http.go:15: cannot use decodeHashRequest (type func("golang.org/x/net/context".Context, *"net/http".Request) (interface {}, error)) as type "github.com/go-kit/kit/transport/http".DecodeRequestFunc in argument to "github.com/go-kit/kit/transport/http".NewServer
../../server_http.go:15: cannot use encodeResponse (type func("golang.org/x/net/context".Context, "net/http".ResponseWriter, interface {}) error) as type "github.com/go-kit/kit/transport/http".EncodeResponseFunc in argument to "github.com/go-kit/kit/transport/http".NewServer
../../server_http.go:21: cannot use decodeValidateRequest (type func("golang.org/x/net/context".Context, *"net/http".Request) (interface {}, error)) as type "github.com/go-kit/kit/transport/http".DecodeRequestFunc in argument to "github.com/go-kit/kit/transport/http".NewServer
../../server_http.go:21: cannot use encodeResponse (type func("golang.org/x/net/context".Context, "net/http".ResponseWriter, interface {}) error) as type "github.com/go-kit/kit/transport/http".EncodeResponseFunc in argument to "github.com/go-kit/kit/transport/http".NewServer
../../service.go:81: cannot use func literal (type func("golang.org/x/net/context".Context, interface {}) (interface {}, error)) as type endpoint.Endpoint in return argument
../../service.go:92: cannot use func literal (type func("golang.org/x/net/context".Context, interface {}) (interface {}, error)) as type endpoint.Endpoint in return argument
../../service.go:92: too many errors

What wrong with me?

There is nothing wrong with your code. I bumped into the same issue. It seems that grpc uses the old context package, while go-kit uses the new context package. Trying to find a solution as well.

What solved this issue for me is manually editing vault.pb.go. First I imported the old context like this: import oldcontext "golang.org/x/net/context"
And then changed _Vault_Hash_Handler and _Vault_Validate_Handler to use oldcontext as follows:
func _Vault_Hash_Handler(srv interface{}, ctx oldcontext.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(HashRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VaultServer).Hash(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Vault/Hash",
	}
	handler := func(ctx oldcontext.Context, req interface{}) (interface{}, error) {
		return srv.(VaultServer).Hash(ctx, req.(*HashRequest))
	}
	return interceptor(ctx, in, info, handler)
}

func _Vault_Validate_Handler(srv interface{}, ctx oldcontext.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
	in := new(ValidateRequest)
	if err := dec(in); err != nil {
		return nil, err
	}
	if interceptor == nil {
		return srv.(VaultServer).Validate(ctx, in)
	}
	info := &grpc.UnaryServerInfo{
		Server:     srv,
		FullMethod: "/pb.Vault/Validate",
	}
	handler := func(ctx oldcontext.Context, req interface{}) (interface{}, error) {
		return srv.(VaultServer).Validate(ctx, req.(*ValidateRequest))
	}
	return interceptor(ctx, in, info, handler)
}

As @arjanvaneersel mentioned, Go kit updated new version and also dropped context.Context argument from NewServer function so I would drop ctx argument accordingly.
Then my temporary fix was using previous version of Go kit transport/grpc package (version v.0.3.0) by using git checkout command:

Delete folder grpc in $GOPATH/src/github.com/go-kit/kit/transport
Move to the directory (if you are not): cd $GOPATH/src/github.com/go-kit/kit/transport
bash git clone https://github.com/go-kit/kit.git
bash git checkout tags/v.0.3.0 (you can list tags with git tag -l)

@matryer Any plan to update this chapter to run with new Go kit version?

I will definitely update this in future versions.

@fleebe
in client.go
change Vault to pb.Vault
func New(conn *grpc.ClientConn) vault.Service {
	var hashEndpoint = grpctransport.NewClient(
		conn, "pb.Vault", "Hash",
		vault.EncodeGRPCHashRequest,
		vault.DecodeGRPCHashResponse,
		pb.HashResponse{},
	).Endpoint()

	var validateEndpoint = grpctransport.NewClient(
		conn, "pb.Vault", "Validate",
		vault.EncodeGRPCValidateRequest,
		vault.DecodeGRPCValidateResponse,
		pb.ValidateResponse{},
	).Endpoint()

	return vault.Endpoints{
		HashEndpoint:     hashEndpoint,
		ValidateEndpoint: validateEndpoint,
	}
}

Hi @sugarme, a small correction in the workaround you have provided here :
bash git checkout tags/v0.3.0 is the correct command to check out the specified version. There is no tag named v.0.3.0 and I hope i could be a typo. Anyway thanks a lot for the temporary solution.
After done this workaround, I got the following issue and stuck here :
root@35b9627755ee:/go/gbp/goblueprints/chapter10/vault/cmd/vaultd# go run main.go
# github.com/go-kit/kit/transport/grpc
/go/src/github.com/go-kit/kit/transport/grpc/client.go:89:9: undefined: metadata.NewContext
/go/src/github.com/go-kit/kit/transport/grpc/server.go:80:12: undefined: metadata.FromContext
/go/src/github.com/go-kit/kit/transport/grpc/server.go:90:12: undefined: metadata.NewContext
/go/src/github.com/go-kit/kit/transport/grpc/server.go:109:12: undefined: metadata.NewContext
root@35b9627755ee:/go/gbp/goblueprints/chapter10/vault/cmd/vaultd#

Looking for helping hands and it's very much appreciated.

Hey @skvenkat
Idk if you're still looking for the answer but NewContext and FromContext have been deprecated to avoid incoming RPC's from appearing in the outgoing - due to the similar names.
New names are: metadata.FromContext() to metadata.FromIncomingContext().  Similarly metadata.NewContext() to metadata.NewOutgoingContext().

I have refactored the project to use go.mod as I'm on Go 1.15, and updated all the dependencies to work properly. Also, github.com/go-kit/kit/ratelimit does not depend on github.com/juju/ratelimit anymore, so that is updated too. If you're still interested, you can check it out here: https://github.com/akolybelnikov/vault

Thanks @akolybelnikov - Somebody needs to invent paper that we can remotely update :)

I have refactored the project to use go.mod as I'm on Go 1.15, and updated all the dependencies to work properly. Also, github.com/go-kit/kit/ratelimit does not depend on github.com/juju/ratelimit anymore, so that is updated too. If you're still interested, you can check it out here: https://github.com/akolybelnikov/vault

THANK YOU!


nim: Exclude CAN and WiFi interfaces from last resort list

This commit excludes from the last resort list the CAN interfaces (which are non TCP/IP) and WiFi interfaces since no WiFi Network configuration is provided, so any attempt of connection through these interfaces will always fail.

Just to understand it better: how is the configuration provided for the last resort?
Could it be added by a customer in their setups by themselves? In this case, they can configure these interfaces, no?

Just to understand it better: how is the configuration provided for the last resort? Could it be added by a customer in their setups by themselves? In this case, they can configure these interfaces, no?

@OhmSpectator , the lastresort assumes always DHCP and no proxy for the configuration. By the way, I checked the documentation and it says:
... then there is an additional lowest priority item in the list of DevicePortConfigs, called "Last resort" DPC (pubsub key lastresort), based on finding all Ethernet interfaces (i.e. excluding wireless connectivity options) which are not used exclusively by applications. The last resort configuration assumes DHCP and no enterprise proxies.
Last resort mechanism is not enabled by default, but if EVE can't find any network configuration and it cannot access the controller it will enable this mechanism, but in any case any Wireless network configuration is considered, so I think we should remove wlan interfaces from the list....

I broke this PR into two commits: one that excludes only CAN interfaces and another one that excludes only WiFi interfaces, so in the future when we implement connection with Open WiFi Networks, the commit can be easily reverted....

Updates in this PR:

Rebased on top of master
Use interface's type (instead of name) in order to check for CAN interfaces


fix(userspace/libsinsp): do proper checks on syscall.type filtercheck

What type of PR is this?
/kind bug
Any specific area of the project related to this PR?
/area libsinsp
Does this PR require a change in the driver versions?
What this PR does / why we need it:
Mentioning the description, the syscall.type filtercheck should work as:
For system call events, the name of the system call (e.g. 'open').
Unset for other events  (e.g. switch or internal events).
Use this field instead of evt.type if you need to make sure that
the filtered/printed value is actually a system call.

However, given the recent event flag cleanup, this is not guaranteed to work as expected if not relying on the formal sinsp::is_syscall_event API.
Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:
NONE

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: jasondellaluce
Once this PR has been reviewed and has the lgtm label, please assign fededp for approval by writing /assign @fededp in a comment. For more information see:The Kubernetes Code Review Process.
The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

OWNERS

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

[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]

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

LGTM label has been added.  Git tree hash: 35d45a13c2f8d04db5d3ce01460c46512c54ae1a

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: Andreagit97, 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 [Andreagit97,FedeDP]

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


Menu navigation consistency

Adds in B-to-go-back for submenus

Wanna tweak Flyin Donut to say Exit instead of Back?

There are a few other non-menu places where B to back would be intuitive

Swadge Bros - when connecting to other swadges, (SELECT) currently backs out
Picross - "How To Play" and "Puzzle Select," (SELECT) currently backs out

Ah, I'll add those in as well. And in that case I think I should also have B go back when MFPaint's sharing is waiting for a connection.

@AEFeinstein Should B also back out of the HR result and MP result screens in fighter? Those are also Start or Select to edit currently.

B should not exit the fighter result screens. There's a good chance that button is spammed during the game and I don't want it to quickly exit the menu. Nor do I really want to block button inputs on a timer for the results.

Oh yeah, that makes a ton of sense. I think that covers everything then!


Combine fileUUID generation tasks

Is your feature request related to a problem? Please describe.
The file UUID generation task occurs in three separate places: Assign file UUIDs to objects, Assign file UUIDs to submission documentation, and  Assign file UUIDs to metadata. In Archivematica, with its two-stage processing, the file UUIDs are generated during transfer and the metadata and submission documentation UUIDs are generated during ingest. This makes sense for Archivematica because submission documentation and metadata files can be added during backlog and appraisal, between the two stages.
a3m no longer has two-stage processing, so there is no opportunity for users to add or change the submission documentation and metadata files. It seems unnecessary to separate out the jobs in this way, when they all accomplish the same basic task.
This is an extension of #702.
Describe the solution you'd like
Condense the file UUID tasks into one task (could just be called "Assign file UUIDs") that covers everything in the transfer (all digital objects as well as anything contained in a metadata or submission documentation folder - in a bag, this would be everything in the data directory).
This helps to reduce the overall number of jobs in a3m, and contributes to dismantling the two-stage workflow inherited from Archivematica.
Additional context
Note that there is also a UUID generation task for directories, but I'm happy to leave that as a separate task, since it's something that can be configured.

I can write more issues, but this same logic could also be applied to:

filename change
checksum generation
characterize and extract metadata
file format identification (in this case, we'd have to apply a blanket rule, i.e. all metadata/submission documentation should be ID'd along with the payload)

Closed in favour of https://github.com/artefactual-labs/a3m/issues/382


Remove urlApiBeta from platform-app configuration

The urlApiBeta configuration variable is not used within the platform-app codebase. Can we please remove?

@LucaFumis I have re-assigned this for post 21.09 release as I know you have made config file changes for the partner-preview instance.

Thank you @andrewhercules - yes, this has in fact been addressed in the partner preview branch, so will be all done when we merge that work into main.


Error Codes support

Hello,
I'm attempting to align what's in the Authy Users API docs for a sample error response:
{
    "errors": {
        "email":"is invalid",
        "cellphone":"must be a valid cellphone number."
    }
}

as well as with this https://www.twilio.com/docs/authy/return-and-error-codes, with this java client. What is supposed to be returned from Error::getMessage?

I noticed that this client uses a completely different set up endpoints and marshalled values than the current twilio documentation.
Do you guys have any plans to update this client?

We are planning to add support for the Error Codes listed in the doc, error messages are not a good way to make decisions in your logic about what went wrong.

@schmohlio we added support for error codes in authy-java-1.4.0. Please check that version.


Embedded content type

Adds self documented content/media type

Good thinking.  But this constant would be inaccurate for an XML-based API, no?  Is there a way we can safely include both options (the JSON and XML mime types)?

The only solution I see is adding two content/media types.

Merci bien!


Use ~/.config / XDG_CONFIG_HOME as config file folder

Instead of polluting my home directory, the hamster-bridge configuration file should go into the user's configuration directory.
See https://specifications.freedesktop.org/basedir-spec/latest/ for the specification.

hamster uses a beefed up version of appdirs in order to try handle this a clean and platform agnostic way. Unfortunatly is looks like the original appdirs repository is unmaintained by now, so we considered publishing our own stand alone fork before it seemed a bit too much work.


docs: correct UseDeepCloning docs

Resolves https://github.com/riok/mapperly/issues/369

Codecov Report

Merging #370 (55dc750) into main (685d6ee) will decrease coverage by 0.20%.
The diff coverage is 92.59%.

:exclamation: Current head 55dc750 differs from pull request most recent head 152e085. Consider uploading reports for the commit 152e085 to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #370      +/-   ##
==========================================
- Coverage   91.91%   91.72%   -0.20%
==========================================
  Files         126      126
  Lines        3921     3926       +5
  Branches      544      547       +3
==========================================
- Hits         3604     3601       -3
- Misses        210      214       +4
- Partials      107      111       +4

Impacted Files
Coverage Δ

src/Riok.Mapperly.Abstractions/MapperAttribute.cs
100.00% <ø> (ø)

...Riok.Mapperly/Diagnostics/DiagnosticDescriptors.cs
100.00% <ø> (ø)

...Mapperly/Descriptors/UserMethodMappingExtractor.cs
92.43% <33.33%> (-5.97%)
:arrow_down:

...iptors/MappingBuilders/DictionaryMappingBuilder.cs
86.36% <100.00%> (+0.31%)
:arrow_up:

...iptors/MappingBuilders/EnumerableMappingBuilder.cs
94.51% <100.00%> (+0.43%)
:arrow_up:

src/Riok.Mapperly/Descriptors/WellKnownTypes.cs
96.15% <100.00%> (+2.40%)
:arrow_up:

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


How to disable specific rule as a user?

Is it possible to make Code-Cracker not report specific rules? Personally, I want to disable CC0001. How can I do that?
I did not find any appropriate settings in the options dialog and did not find any documentation about it, either.

Found it: In VS view Error List right click on issue -> Supress -> In Suppression File. This creates GlobalSuppressions.cs and adds line:
[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Style", "CC0001:You should use 'var' whenever possible.", Justification = "<Pending>", Scope = "member", Target = "~P:DesktopServer.Version.BuildDate")]


Improve expectation API to allow for testing of more intricate scenarios

This makes the API for mock broker expectations a bit more powerful.

Allow setting a latency for the response (this replaces the previous broker-wide latency setting)
Allow setting a Before and After callback around the response.

Use these capabilities to add some tests:

The first client tests asserts that if one broker times out, it will continue to use the second broker to discover metadata.
The second client test will make sure that eventually NewClient will return an error if all brokers have high latency.
Test the producer with multiple batches in flight at different retry levels.

@Shopify/kafka

CI is failing due to https://github.com/kisielk/errcheck/issues/62

This is failing on Travis, even though this works fine locally:
--- FAIL: TestSlowCluster (0.12 seconds)
	allocs.go:1: write tcp <IP_ADDRESS>:46446: broken pipe
	allocs.go:1: write tcp <IP_ADDRESS>:47507: broken pipe
	allocs.go:1: write tcp <IP_ADDRESS>:55751: broken pipe

any ideas?

I assume this is caused by the mock broker trying to write a response during/after the reader timeout of the client.

Miraculously, it works by adding a parameter on whether to expect errors to the expectation.

Hmmm, in some cases is the read timeout appears to be triggered before the mock broker has figured out a request is incoming, and so it won't resolve the expectation. Any ideas of making this more robust, compared to simply raising the read timeout value?

This will not be merged in its current form - #312 should be fixed first.


Udpate samples about aad spring security

Ad title.

Hi, @backwind1233 , please help to review this PR when you have time.

Closing this PR, use #147 instead.
Because the target branch should be spring-cloud-azure_4.0.0-beta.3.


Memleak when the bingo image changes

The bingada app resident mem size  is continuously increasing. Around 1mb each 3 or two complete bingos.
In my opinión it is related with the bombo image "movement".

I had doubts about that code, but valgrind didn't appear to complain about any of the involved calls to Gtk.


Create Russian translation

After you gifted me this translation, I've added 20+ more lines. If you can update the file I'd be happy to add it to the game. Thanks :)

Updated and tested to latest version!

😎 ty!


Missing documentation

Please document API methods discussed in documentation.
Expected parameters and return values/types need to be specified.
Some of the methods I am referring to are Model.insert(), Model(constructor), Model.$save(), Model.attr(), Model.hasMany()... etc.

Oh yes we should! Thank you for mentioning. I'm planning to revise the documentation before we hit v1.0.0 so stay tuned!


Update 09-multi-container.md

If you create an issue to rework the entire exercise (not on you per say), then LGTM.
In general I think this could use a tidy up from 7 years ago :)


Add browser support for toggle()

Add browser support for toggle()

This issue was imported from Google Moderator
Moderator votes: +6
Issue added by SKroczak on 2014-05-12
To vote this issue up or down, simply include +1 or -1 in your comment.

@Fyrd This seems like a misuse of caniuse as a new Web feature wishlist.

Duplicate of #1469.

https://drafts.csswg.org/css-values-3/#toggle-notation

Looks like the toggle function was dropped from the spec and not implemented anywhere, so will go ahead and close this.

Wait, I lie. Still in the spec but at-risk. Will leave open.

https://drafts.csswg.org/css-values-4/#changes-recent

Deferred toggle() and attr() to Level 5.

→ https://drafts.csswg.org/css-values-5/#funcdef-toggle


[bug] Strange warning message

axys version: dev branch
Steps to Reproduce:

python3 setup.py
axys new

Strange log message:
axys new
usage: axys new [-h] [-p PACKAGE_NAME] [-d DIRECTORY] [-t TEMPLATE_NAME] [--ios-bundleid IOS_BUNDLEID] [--mac-bundleid MAC_BUNDLEID] [-e ENGINE_PATH] [--portrait] -l {cpp,lua,js} [PROJECT_NAME]
axys new: error: one of the arguments -l/--language is required
/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/multiprocessing/resource_tracker.py:216: UserWarning: resource_tracker: There appear to be 3 leaked semaphore objects to clean up at shutdown
  warnings.warn('resource_tracker: There appear to be %d '

Also there is a problem when show strings:
axys new -p "com.paulocoutinhox.proj1" -l cpp axys-proj1
> Copy template into b'/Users/paulo/Developer/workspaces/cpp/axys-proj1'
> Rename project name from 'b'HelloCpp'' to 'b'axys-proj1''
> Replace the project name from 'b'HelloCpp'' to 'b'axys-proj1''
> Replace the project package name from 'b'org.axys1.hellocpp'' to 'b'com.paulocoutinhox.proj1''
> Replace the project SO name from 'b'HelloCpp'' to 'b'axys-proj1''
> Replace the Mac bundle id from 'b'org.axys1.hellocpp'' to 'b'com.paulocoutinhox.proj1''
> Replace the iOS bundle id from 'b'org.axys1.hellocpp'' to 'b'com.paulocoutinhox.proj1''

There is a "b" before the strings.


Create GitHub website to enable governance

[x] Create web service to get data
[x] Website MVC + Razor for rendering, calling the ^ Web Service
[x] Need to decide on data source. CosmosDB? Azure Storage Tables? SQL Server?
Governance ideas

[x] Add projects (from GitHub account)
[x] Scan projects on interval (daily? - with web job? Azure Function?)
[x] Report divergences.
[x] Allow divergences to be fixed or ignored.

See https://github.com/samsmithnz/RepoGovernance


#678: Profile gecombineterrain

This PR is now ready for review; it is no longer in progress.
This PR adds a basic profiling capability to gecombineterrain. The intention is to use the profiling data to debug performance issues.
Fixes #678

Somewhat minor comment overall. Let's make sure we get our terminology straight. I don't believe we should describe this code as a "profiler". We will have another task for profiling the code using valgrind. So, in order to not get the two mixed up, we should use a different term here like performance logging. I know it sounds trivial, but I've already seen an instance where the term profiler has confused someone, basically thinking we're already working on the code profiling part, which we haven't.

Thanks for the comments; I believe I've addressed them all.

Output looks good

I've found a bug in this code while writing unit tests - the BlockPerformanceLogger is sometimes destroyed before the end of the block. It's a fairly small change - we'll just have to explicitly start and end all the logging. Given that it's a small change I'd like to go ahead and get this ticket merged and fix the bug in the follow up with the unit tests.


Medium Scrolls pop off wall when loaded

I play on forge 1.19.2 with the up to date version of Hex Casting, as well as Create 1.19.2 version H. When I load into the world the medium scrolls I have on my walls pop off into items, small scrolls and large scrolls are unaffected. This does not appear to be affected by what direction they face. Medium scrolls also pop off walls when the chunks they're in are unloaded and reloaded. However when reloading chunks it is not guaranteed that all medium scrolls will pop off, even if they're in the same chunk.

Figured I'd ping this issue again, I'm having it on the current version as well. This also happens when we reload our server, and it happens with specific scrolls over and over.
Whats interesting is that its more common with walls of many scrolls, usually around medium scrolls, but not exclusively medium scrolls. When you attempt to replace the scroll, the item appears to be removed from your inventory, but it is not placed on that wall - however, if you press q, or open an inventory other than the E inventory, the scroll is thrown/reappears in the slot.
To work around this, we shoot an arrow at the lefthand edge of the scrolls, which seems to kill the "ghost scroll" that no one can see, and then place the scroll again. What's interesting, especially in the case of medium scrolls, is that this usually actually kills the scroll to the left of the scroll shot, even though the arrow does not hit the scroll in question. When that scroll disappears, it drops no resource, and has to be re-created. Just "poof". We can get around this by manually destroying the scroll left of the other scroll, but its still intensely annoying.
We have seen this issue come up in regards to small and medium scrolls, but no large scrolls thus far.
Not sure what to do about this, we had a nice little tutorial area with lots of scrolls to teach the basics of hex casting, but every time the server restarts or we leave the area, all the scrolls pop off.

@Zonofv @Voidgale do either of you happen to have a world download or steps we can use to reproduce the bug? anecdotally, i've never seen this happen, which makes it tough to fix


Test what an ideal scope pool size is

In #312 (later implemented by #273) a scope pool was implemented to facilitate reuse of empty allocations across objects to reduce the load on the memory allocator when processing many callbacks that may or may not require the use of a scope.
Right now up to 16 scopes can be saved at a time, but testing is required to verify what an optimal number looks like for a realistic program.

It would also be good to do ablation to compare against a baseline implementation which does not reuse scopes in this manner.


New testnet definitions not found

There are no definitions for new testnet found within index.js. Common nodes should be added with a map pointing to bpltestnet to make this tool useful for non developers.

The testnet definitions have been added in the development branch


mr checkout: add --track-default-remote flag (closes #774)

Hi again, this adds a new --track-default-remote flag to mr checkout, as discussed in #774. My Go is pretty rusty (well, it's never not been rusty) so I don't know if I've stuck to idioms, etc. Happy to make updates as requested, of course.
If specified, --track-default-remote implies --track but also alters it so that instead of tracking a remote named after the MR author, it will use either the remote named in remote.pushDefault or the value of targetRemote (which is just the value of defaultRemote).
I did not add a test, but this has been working for me daily for weeks now. I did play around w/ a test but got stymied along the way. I would be happy to add a test if someone can provide me w/ some guidance. edit: I added a test that looks at what the new branch is tracking, and also tweaked an existing test to confirm that it is also tracking the correct remote/branch.
Thank you for considering this!

@zampierilucas can you work with @claytonrcarter on helping him design a test?

Hi again. I figured out a testing strategy and added a test. I've also squashed it all back into 1 commit.

@claytonrcarter it seems we can have a simpler solution for this case without adding a new flag (check issue #774).
I can come up with something for you to test.

Thanks! Closing in favor of #786


Update impersonation_dhl.yml

Description

Avoid FPs on long domain names which happen to include DHL
Add logic to catch where the sender local part includes dhl

Associated samples

Sample 1

/udpate-test-rules

/update-test-rules

/update-test-rules

/update-test-rules

/update-test-rules


Read-only user doesn't see Discover menu

Hi,

added tenant
created read_only_index role and maped three roles to the read-only user:
https://opensearch.org/docs/1.0/security-plugin/access-control/users-roles/#set-up-a-read-only-user-in-opensearch-dashboards

After that read-only user doesn't see "Discover" menu on the left, there are only dashboards that need to be created.
It is required that the read-only user has access to the logs of a specific index that were defined when creating the read_only_index role.
Help, please.

[Triage] Hi @john047, thanks for filing this issue. This looks a possible issue with either documentation or the configuration settings so someone will need to review your scenario and address accordingly.


Fix issue with missing received bytes in custom cherrypy logger (used by DBS)

@yuyiguo , please try it out and let us know if it fixes the missing input bytes in cherrypy logger messages.

@vkuznet
Below os the DBS version of Root.py. It seemed that you patch a different one.
https://github.com/dmwm/WMCore/blob/1.1.16_dbs/src/python/WMCore/WebTools/Root.py

Yuyi, I always patch master head and not specific branches. If you need a specific branch you can do it on your own based on changes I provided here.

@vkuznet
They are very different code.

Yuyi,
how this line
https://github.com/dmwm/WMCore/blob/1.1.16_dbs/src/python/WMCore/WebTools/Root.py#L86
is different from this one
https://github.com/dmwm/WMCore/blob/master/src/python/WMCore/WebTools/Root.py#L92
I understand that they are on different line numbers in your editor. But the code is identical.
What I fixed is replaced - with %(i)s and define what i would mean and passed to the string.
Again, look at the code, take parts which I defined in master head, and put it into your branch.

@vkuznet
Sorry that was my mistake. The difference was from other places before the patch part.

@vkuznet
Here is the output [data:  503n 2 out 508369 us ]
Not sure why the work "in" was cut half?

@vkuznet
For the get calls, it only show "INFO:cherrypy.access:REQUEST",  the information("INFO:cherrypy.access") after the request processed was missing.

Yuyi, the missing in in [data: 503n 2 out 508369 us ] was due to bug in string format. I updated PR, originally I put %(i) but it should be %(i)s.

please try now with updated PR.

@vkuznet
How about the missing info for the GET calls?

it is unclear from your messages what's wrong with GET messages. Please post example of POST and GET messages.

@vkuznet
It works for POST now. GET is missing the info after processed.
"if not rbytes:" was two times? Not sure which one is the GTE case?

Yuyi, just post GET and POST messages.
The two if statements because request/body size can be calculated differently. I put all three methods. The GET method does not have a body so I would assume it should get zero rbytes.

@vkuznet
See below example [1] of a GET call to DBS before today's patch. I remove some of the info for security reason. There are two parts:
The first one "INFO:cherrypy.access:REQUEST " is the request info. This part was added recently.
The second one "INFO:cherrypy.access" is the log of the request served by DBS.  This is the old DBS log since one day. It also has [data: - in 54 out 862 us ] part.
Now we missed the second one after today's patch.
[1]
" INFO:cherrypy.access:REQUEST [28/Apr/2019 00:33:53 GMT] <IP_ADDRESS> 56510 GET /serverinfo 'User-Agent': 'DBSClient/3.7.8/', 'Cms-Authz-Developer': 'group:reqmgr', 'X-Forwarded-Proto': 'https', 'X-Forwarded-Server': 'cmsweb-testbed.cern.ch', 'Content-Type':
'application/json', 'Cms-Request-Uri': '/dbs/int/global/DBSReader//serverinfo'}] [] [{}]
INFO:cherrypy.access:[28/Apr/2019:02:33:53] vocms0132.cern.ch <IP_ADDRESS> "GET /dbs/int/global/DBSReader/serverinfo HTTP/1.1" 200 OK [data: - in 54 out 862 us ] [auth: OK " ] [ref: "" "DBSClient/3.7.8/" ]

Yuyi,
GET request does not have a body and there is no in info. But I updated PR one
more time to protect code from this case when there is such info.
Please test it again.
We may dump bytes info in REQUEST as well I think if we can extract
Content-Length HTTP parameter from cherrypy.request. But for that I prefer to
have separate PR.
On  0, Yuyi Guo<EMAIL_ADDRESS>wrote:

@vkuznet
See below example [1] of a GET call to DBS before today's patch. I remove some of the info for security reason. There are two parts:
The first one "INFO:cherrypy.access:REQUEST " is the request info. This part was added recently.
The second one "INFO:cherrypy.access" is the log of the request served by DBS.  This is the old DBS log since one day. It also has [data: - in 54 out 862 us ] part.
Now we missed the second one after today's patch.
[1]
" INFO:cherrypy.access:REQUEST [28/Apr/2019 00:33:53 GMT] <IP_ADDRESS> 56510 GET /serverinfo 'User-Agent': 'DBSClient/3.7.8/', 'Cms-Authz-Developer': 'group:reqmgr', 'X-Forwarded-Proto': 'https', 'X-Forwarded-Server': 'cmsweb-testbed.cern.ch', 'Content-Type':
'application/json', 'Cms-Request-Uri': '/dbs/int/global/DBSReader//serverinfo'}] [] [{}]
INFO:cherrypy.access:[28/Apr/2019:02:33:53] vocms0132.cern.ch <IP_ADDRESS> "GET /dbs/int/global/DBSReader/serverinfo HTTP/1.1" 200 OK [data: - in 54 out 862 us ] [auth: OK " ] [ref: "" "DBSClient/3.7.8/" ]
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/9169#issuecomment-487706278

@amaltaro , Alan please review the changes as it requires to see dump of DBS incoming requests info and related to ongoing investigation. It would be nice to have these changes in place for next cmsweb upgrade (my understanding that Yuyi will patch separate branch, but if she did we should keep these changes in master head too).

@vkuznet when your' PR is ready for review, please use the top-right option "Reviewers" to ask for reviews.

@vkuznet
Valentin,
I was testing on cmsweb-testbed and found that the missing log on GET after processing actually happened before this PR. I don't know when this started since I just realized this yesterday. I did not see any errors in the log. Could you take a look at previous PR ? I will continue to test this PR, but I double the missing log will come back with this updated PR.

Yuyi, I'm not sure I understand what you're saying. Please rephrase where the problem and/or give examples.

@vkuznet
Sorry Valentin, that was  my reading error.  I did not get the log because I got an " HTTP Error 502: Proxy Error".  This was first time that I got 502 on a cmsweb-testbed. I ran 300 unit tests in a single thread and one of the tests got 502 error. It is wired and not sure what I should look into.  I will check the FE log, but not sure I will find anything useful.
The unit tests kind of ran slower than I thought. I am not sure why. Will rerun it.

Here is the query that I got 502 error.
DBS server log:
INFO:cherrypy.access:REQUEST [30/Apr/2019 17:24:50 GMT] <IP_ADDRESS> 53222 GET /blockdump [{'Cms-Authn-Name': 'Yuyi Guo','Accept': 'application/json', 'X-Forwarded-For': '<IP_ADDRESS>', 'Cms-Authn-Login': 'yuyi', 'Host': 'vocms0731.cern.ch:8252', 'User-Agent': 'DBSClient/<IP_ADDRESS>/', 'X-Forwarded-Server': 'testbed.cern.ch', 'Content-Type': 'application/json', 'Cms-Request-Uri': '/dbs/int/global/DBSReader/blockdump?block_name=%2Funittest_web_primary_ds_name_24607%2Facq_era_24607-v4609%2FGEN-SIM-RAW%2324607'}] [block_name=%2Funittest_web_primary_ds_name_24607%2Facq_era_24607-v4609%2FGEN-SIM-RAW%2324607] [{'block_name': u'/unittest_web_primary_ds_name_24607/acq_era_24607-v4609/GEN-SIM-RAW#24607'}]

As you can see the "block_name" was repeated twice.
Then what I got from front end access log is
[30/Apr/2019:19:24:50 +0200] cmsweb-testbed.cern.ch <IP_ADDRESS> "GET /dbs/int/global/DBSReader/blockdump?block_name=%2Funittest_web_primary_ds_name_24607%2Facq_era_24607-v4609%2FGEN-SIM-RAW%2324607 HTTP/1.1" 502 [data: 7164 in 15988 out 475 body 300088217 us ] [auth: TLSv1.2 ECDHE-RSA"/DC=ch/DC=cern/OU=Organic Units/OU=" "-" ] [ref: "-" "DBSClient/<IP_ADDRESS>/" ]

This blockdump took 300.088217 seconds and I guess this cause the http 502 error.
I think I used to get timeout error instead of 502 error.  Any reason for this change? I feel the timeout is more clear message than 502.

Yuyi,
both issues are not related to this PR.
The first one is related to this PR:
https://github.com/cms-sw/cmsdist/pull/4922
see
https://github.com/dmwm/WMCore/pull/9124/files#diff-27caaae36aa502e2719c31060d1bfa8fR190
and
https://github.com/dmwm/WMCore/pull/9124/files#diff-27caaae36aa502e2719c31060d1bfa8fR190
The first one is request.query_string and second block name is from
request.params
It is up to you to decide if you want to keep both. If one of them should be
dropped we need another PR.
The second issue you reported here, time out, has nothing to do with proposed
changes.
Therefore I don't know if I need to address anything here.
Best,
Valentin.
On  0, Yuyi Guo<EMAIL_ADDRESS>wrote:

Here is the query that I got 502 error.
DBS server log:
INFO:cherrypy.access:REQUEST [30/Apr/2019 17:24:50 GMT] <IP_ADDRESS> 53222 GET /blockdump [{'Cms-Authn-Name': 'Yuyi Guo','Accept': 'application/json', 'X-Forwarded-For': '<IP_ADDRESS>', 'Cms-Authn-Login': 'yuyi', 'Host': 'vocms0731.cern.ch:8252', 'User-Agent': 'DBSClient/<IP_ADDRESS>/', 'X-Forwarded-Server': 'testbed.cern.ch', 'Content-Type': 'application/json', 'Cms-Request-Uri': '/dbs/int/global/DBSReader/blockdump?block_name=%2Funittest_web_primary_ds_name_24607%2Facq_era_24607-v4609%2FGEN-SIM-RAW%2324607'}] [block_name=%2Funittest_web_primary_ds_name_24607%2Facq_era_24607-v4609%2FGEN-SIM-RAW%2324607] [{'block_name': u'/unittest_web_primary_ds_name_24607/acq_era_24607-v4609/GEN-SIM-RAW#24607'}]

As you can see the "block_name" was repeated twice.
Then what I got from front end access log is
[30/Apr/2019:19:24:50 +0200] cmsweb-testbed.cern.ch <IP_ADDRESS> "GET /dbs/int/global/DBSReader/blockdump?block_name=%2Funittest_web_primary_ds_name_24607%2Facq_era_24607-v4609%2FGEN-SIM-RAW%2324607 HTTP/1.1" 502 [data: 7164 in 15988 out 475 body 300088217 us ] [auth: TLSv1.2 ECDHE-RSA"/DC=ch/DC=cern/OU=Organic Units/OU=" "-" ] [ref: "-" "DBSClient/<IP_ADDRESS>/" ]

This blockdump took 300.088217 seconds and I guess this cause the http 502 error.
I think I used to get timeout error instead of 502 error.  Any reason for this change? I feel the timeout is more clear message than 502.
--
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub:
https://github.com/dmwm/WMCore/pull/9169#issuecomment-488083343

@vkuznet
Valentin,
In this example, request.query_string and request.params are the same.  I am not sure when they will be different?
For the message of timeout error or not, I knew it is not related to this PR.  I mentioned here in case you or @amaltaro would knew the change of error message.

Yuyi, cmsweb frontend time out has always returned a Proxy Error. We've already discussed that it's not the best error message, and I believe Diego G. explained me the reason behind that (or why they cannot change it). I no longer remember it since it was many years ago. I think we can simply disregard it and take a 502 Proxy Error as a frontend timeout.

Yuyi, here is new PR which removes query string:
https://github.com/dmwm/WMCore/pull/9171
And, I agree with Alan regarding 502 error. I'm not sure where it is exactly generated and if it is in internals of CherryPy we better not to touch it, if it is returned by FE we also better not to touch it.

Yuyi, if you're somewhat happy with this patch, let me know and I can backport it to the dbs branch such that you can cleanly apply this patch and run your final tests.

@vkuznet @amaltaro
Thanks for the explanation. I will do one more testing before we commit it.

New fix in #9177


Inline Post Images Being Stripped Out

I'm having an issue with images being stripped from posts. Anyone else experiencing this?
Cover images look great and are functioning (darkening) perfectly. Thanks for this. ;)

Hah, maybe this has always been a thing, reading through src/assets/js/scripts.js#L39 I would expect the selector to read img[src]:first


Option to sync ignoring .jdeps files and instead add all external libraries to IJ

At $WORKPLACE we're using a jdk toolchain with source_version = "10". This works except bazel writes .jdeps files that are missing external libraries (https://github.com/bazelbuild/bazel/issues/5723#issuecomment-437138252). The cause is known and fixed in the error prone compiler (https://github.com/bazelbuild/bazel/issues/5723#issuecomment-437157856) but that change has not made its way into bazel.
@cushon suggested (https://github.com/bazelbuild/bazel/pull/6587#discussion_r232033852):

It might make more sense to just provide a way to disable the Intellij plugins' jdeps handling and use the full classpath.

Would it make sense to add a checkbox or flag to configure ignoring .jdeps files during import? We're planning on using this patch in the interim https://github.com/uri-canva/intellij/pull/1.

I read the https://github.com/bazelbuild/intellij/issues/207#issuecomment-356627500 about the performance hit of importing all libraries. We'd rather accept the initial sync taking a while than having a IDE that looks entirely broken due to the missing external libraries.

Unfortunately I don't think we can justify adding another setting to the already cluttered UI or adding complexity to the sync process to work around this (hopefully temporary) bug in bazel.


Refresh Indicator With SingleChildScrollView With BouncingScrollPhysics, Page Offset Jump After Refresh

Steps to reproduce
When using Refresh indicator with SingleChildScrollView with physic BouncingScrollPhysics, Page jump after using refresh. this is not the case in version 3.16. but since 13.19 and now in version 3.22.1 it still happens.

Refresh indicator with SingleChildScrollView with physic BouncingScrollPhysics, it's error
But Refresh indicator with ListView with physic BouncingScrollPhysics, it's fine

Expected results
Refresh indicator with ListView with physic BouncingScrollPhysics,
Screen_recording_20240524_102754.webm
Actual results
Refresh indicator with SingleChildScrollView with physic BouncingScrollPhysics,
Screen_recording_20240524_101517.webm
Code sample
Code sample With SingleChildScrollView
import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends HookWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    final isLoading = useState(false);
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text("Refresh Indicator")),
        body: RefreshIndicator(
          onRefresh: () async {
            isLoading.value = true;
            Future.delayed(
                const Duration(seconds: 3), () => isLoading.value = false);
          },
          child: SingleChildScrollView(
            physics: const AlwaysScrollableScrollPhysics(
                parent: BouncingScrollPhysics()),
            padding: const EdgeInsets.symmetric(horizontal: 20),
            child: Column(
              children: List.generate(
                100,
                (_) => isLoading.value
                    ? Row(children: [
                        const CircularProgressIndicator(),
                        const SizedBox(width: 5),
                        Text("loading $_")
                      ])
                    : Text("data $_"),
              )
                  .expand(
                    (_) => [_, const SizedBox(height: 10)],
                  )
                  .toList(),
            ),
          ),
        ),
      ),
    );
  }
}

Code sample With ListView

import 'dart:async';

import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends HookWidget {
  const MyApp({super.key});

  @override
  Widget build(BuildContext context) {
    final isLoading = useState(false);
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text("Refresh Indicator")),
        body: RefreshIndicator(
          onRefresh: () async {
            isLoading.value = true;
            Future.delayed(
                const Duration(seconds: 3), () => isLoading.value = false);
          },
          child: ListView(
            physics: const AlwaysScrollableScrollPhysics(
                parent: BouncingScrollPhysics()),
            padding: const EdgeInsets.symmetric(horizontal: 20),
            children: List.generate(
              100,
              (_) => isLoading.value
                  ? Row(children: [
                      const CircularProgressIndicator(),
                      const SizedBox(width: 5),
                      Text("loading $_")
                    ])
                  : Text("data $_"),
            )
                .expand(
                  (_) => [_, const SizedBox(height: 10)],
                )
                .toList(),
          ),
        ),
      ),
    );
  }
}

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[Paste your logs here]

Flutter Doctor output
Doctor output
[✓] Flutter (Channel stable, 3.22.1, on macOS 14.4.1 23E224 darwin-arm64, locale en-ID)
    • Flutter version 3.22.1 on channel stable at /Users/User/Downloads/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a14f74ff3a (35 hours ago), 2024-05-22 11:08:21 -0500
    • Engine revision 55eae6864b
    • Dart version 3.4.1
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
    • Android SDK at /Users/User/Library/Android/sdk
    • Platform android-34, build-tools 33.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 15A507
    • CocoaPods version 1.14.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.3)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.10+0-17.0.10b1087.21-11572160)

[✓] VS Code (version 1.89.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (4 available)
    • sdk gphone arm64 (mobile)       • emulator-5554         • android-arm64  • Android 11 (API 30) (emulator)
    • macOS (desktop)                 • macos                 • darwin-arm64   • macOS 14.4.1 23E224 darwin-arm64
    • Mac Designed for iPad (desktop) • mac-designed-for-ipad • darwin         • macOS 14.4.1 23E224 darwin-arm64
    • Chrome (web)                    • chrome                • web-javascript • Google Chrome 125.0.6422.76

[✓] Network resources
    • All expected network resources are available.

Thanks for filing the issue. I can reproduce this as well. I add the updated sample code below that doesn't use 3rd package (flutter_hooks).

Sample code of SingleChildScrollView without using flutter_hooks
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final isLoading = ValueNotifier<bool>(false);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text("Refresh Indicator")),
        body: RefreshIndicator(
          onRefresh: () async {
            isLoading.value = true;
            Future.delayed(const Duration(seconds: 3), () => isLoading.value = false);
          },
          child: SingleChildScrollView(
            physics: const AlwaysScrollableScrollPhysics(parent: BouncingScrollPhysics()),
            padding: const EdgeInsets.symmetric(horizontal: 20),
            child: ValueListenableBuilder(
              valueListenable: isLoading,
              builder: (BuildContext context, bool value, Widget? child) {
                return Column(
                  children: List.generate(
                    100,
                    (_) => isLoading.value ? Row(children: [const CircularProgressIndicator(), const SizedBox(width: 5), Text("loading $_")]) : Text("data $_"),
                  )
                      .expand(
                        (_) => [_, const SizedBox(height: 10)],
                      )
                      .toList(),
                );
              },
            ),
          ),
        ),
      ),
    );
  }
}

Sample code of ListView without using flutter_hooks
import 'package:flutter/material.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({super.key});

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  final isLoading = ValueNotifier<bool>(false);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: const Text("Refresh Indicator")),
        body: RefreshIndicator(
          onRefresh: () async {
            isLoading.value = true;
            Future.delayed(const Duration(seconds: 3), () => isLoading.value = false);
          },
          child: ValueListenableBuilder(
            valueListenable: isLoading,
            builder: (BuildContext context, bool value, Widget? child) {
              return ListView(
                physics: const AlwaysScrollableScrollPhysics(parent: BouncingScrollPhysics()),
                padding: const EdgeInsets.symmetric(horizontal: 20),
                children: List.generate(
                  100,
                  (_) => isLoading.value ? Row(children: [const CircularProgressIndicator(), const SizedBox(width: 5), Text("loading $_")]) : Text("data $_"),
                )
                    .expand(
                      (_) => [_, const SizedBox(height: 10)],
                    )
                    .toList(),
              );
            },
          ),
        ),
      ),
    );
  }
}

flutter doctor -v (stable and master)
[✓] Flutter (Channel stable, 3.22.1, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.22.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a14f74ff3a (11 hours ago), 2024-05-22 11:08:21 -0500
    • Engine revision 55eae6864b
    • Dart version 3.4.1
    • DevTools version 2.34.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode15.3.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.89.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 125.0.6422.76

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[!] Flutter (Channel master, 3.23.0-3.0.pre.1, on macOS 14.1 23B74 darwin-x64, locale en-VN)
    • Flutter version 3.23.0-3.0.pre.1 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    ! Warning: `flutter` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/flutter, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    ! Warning: `dart` on your path resolves to /Users/huynq/Documents/GitHub/flutter/bin/dart, which is not inside your current Flutter SDK checkout at /Users/huynq/Documents/GitHub/flutter_master. Consider adding /Users/huynq/Documents/GitHub/flutter_master/bin to the front of your path.
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 1317046ef8 (62 minutes ago), 2024-05-23 22:35:13 -0400
    • Engine revision d78f667533
    • Dart version 3.5.0 (build 3.5.0-187.0.dev)
    • DevTools version 2.36.0-dev.10
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 15.3)
    • Xcode at /Applications/Xcode15.3.app/Contents/Developer
    • Build 15E204a
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • android-studio-dir = /Applications/Android Studio.app/
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] VS Code (version 1.89.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.88.0

[✓] Connected device (4 available)
    • RMX2001 (mobile) • EUYTFEUSQSRGDA6D                         • android-arm64  • Android 11 (API 30)
    • iPhone (mobile)  • d9a94afe2b649fef56ba0bfeb052f0f2a7dae95e • ios            • iOS 15.8 19H370
    • macOS (desktop)  • macos                                    • darwin-x64     • macOS 14.1 23B74 darwin-x64
    • Chrome (web)     • chrome                                   • web-javascript • Google Chrome 125.0.6422.76

[✓] Network resources
    • All expected network resources are available.

! Doctor found issues in 1 category.

Thanks for filing the issue. I can reproduce this as well. I add the updated sample code below that doesn't use 3rd package (flutter_hooks).
Sample code of SingleChildScrollView without using flutter_hooks
Sample code of ListView without using flutter_hooks
flutter doctor -v (stable and master)

Thank you for your attention

Any news?


Adding support to format roundDigits (for tokenDust)

Nice library.
We'd like to do a PR to add following functionality to better display token dust. E.g. when amounts are < 0.0
dnum.format([ 126, 8], roundDust: 1)
=> 0.00001

dnum.format([ 126, 8], roundDust: 2)
=> 0.000013

Would you accept a PR for that, any considerations?

@yodlmeister I'm not familiar with your exact usecase, but a relatively simple helper function that leverages the existing digits and trailingZeros options could achieve what you're looking for:
import * as dn from 'dnum';

function roundDust(dnum: dn.Dnum, dustDigits: number): string {
  const sigZeros = Math.max(dnum[1] - dnum[0].toString().length, 0);
  return dn.format(dnum, { digits: sigZeros + dustDigits, trailingZeros: false });
}

console.log(dn.format([126n, 8]));     // 0.00000126
console.log(roundDust([126n, 8], 1));  // 0.000001
console.log(roundDust([126n, 8], 2));  // 0.0000013

Nice solution @carpntr, thanks!
@yodlmeister I think it could be nice to have this in the library yes, especially if the implementation can be compact enough.
Some thoughts:

On naming, I think we could skip "round", as format() already rounds decimals with the other options. Some ideas:

dust
trail
leadingZeros, this one is weird because it doesn’t really mirror trailingZeros, but I’ve been wondering if having zeros in the name could make it more clear :thinking:

I wonder how the option would impact digits, and if it would be clear enough. I can see users setting dust and expecting it to work, but it would only do digits is set:
// digits defaults to 18, so dust does nothing
dn.format([123126n, 18], { dust: 2 })                  // "0.000000000000123126"

// digits is small enough for dust to take precedence
dn.format([123126n, 18], { digits: 2, dust: 2 })       // "0.00000000000012"

Is there a need for choosing the number of dust decimals, versus only having a boolean (= 1 digit)? The dust could be at any position in the decimals depending on the number, so choosing the dust digits doesn’t offer as much control as digit:
let dust1 = { digits: 0, dust: 1 }
let dust2 = { digits: 0, dust: 2 }

dn.format([126n, 18], dust1)                  // "0.0000000000000001"
dn.format([126n, 18], dust2)                  // "0.00000000000000013"

dn.format([126000000000000000n, 18], dust1)  // "0.1"
dn.format([126000000000000000n, 18], dust2)  // "0.13"

Or would it be useful for certain cases?

Another idea: what if the option was set to the number of digits until which the dust gets displayed?
It would basically take over digits when the number of leading zeros exceeds its value:
let o = { digits: 2, trailingZeros: true }

dn.format([126n, 8], { ...o, dust: 5 })  // "0.00013" (dust applies)
dn.format([126n, 8], { ...o, dust: 4 })  // "0.0001" (dust applies)
dn.format([126n, 8], { ...o, dust: 3 })  // "0.00" (digits applies)

@carpntr @yodlmeister what do you guys think?

@carpntr @yodlmeister what do you guys think?

@carpntr your solution worked perfectly. I'll deploy this and a few small modifications and write a PR once this is running smoothly.


Add newsletter #6 (2018-07-31)

Based on #28 to include text of AJ Town's article.
Todos:

[x] This assumes Bitcoin Core 0.16.2 will be released and links to the URL where its release notes should appear on BitcoinCore.org.  I think that's likely, but if it doesn't happen, this will need to be updated
[x] This guesses that there might be a fee spike on Monday due to the retarget tomorrow.  This might need some revision.  I felt like a weather forecaster writing that paragraph.

Some notes:

It was a slow news week, so instead of the little blurb about Bitcoin StackExchange that's been mentioned, I decided to link to some of its top questions and answers for the last month.

One of the answers is mine.  Obviously, y'all should scrutinize that extra hard and remove it if you think it's inappropriate.

I changed the "Notable Bitcoin Core merges" section to "Notable commits" and trawled lnd and C-lightning for stuff.  I think this solves the problem of looking too focused on Bitcoin Core.

You'll note there's no merges linked for C-lightning.  That's because they apparently don't believe in merges---they appear to use rebases to create a completely linear commit history, and they don't link issues or PR numbers anywhere in their commit log, so I have no idea where their stuff is discussed and reviewed.  (/me puts on his Technical Writers Union hat and mumbles something about developers being crazy)

It was a slow news week, so instead of the little blurb about Bitcoin StackExchange that's been mentioned, I decided to link to some of its top questions and answers for the last month.

I love this new feature!

You'll note there's no merges linked for C-lightning. That's because they apparently don't believe in merges [...] and they don't link issues or PR numbers anywhere in their commit log

weird!

Rebased on top of update #28

ACK f812751560dbc05e828769ba9c85a6531706b4f7
Thanks @jnewbery for catching that copy/paste error, and I really like your improvement to the dashboard item.


Commented the examples

Commented the examples in order that someone who is new to it can quickly see all the potential of the project by testing the requests associated to the examples (which weren't present in the source code). :smile:
Great project, by the way, it's really fast (it's maybe because I come from Java and Python world)
Best

Thank you for the PR :) It's really helpful.


Expose recently graded ranges as admin config values

This adds a new Config menu to the admin menu for changing admin/global
options in zygrader. This makes it easier to adjust these values without
needing to make a new zygrader release. This does NOT change the default
values from what they were in previous releases.
The class code menu was also moved to the new Config menu similar to the
class code override in the user preferences.

I am still not sure how github handles marges between branches, so I'd feel safer by merging manually from the commandline once accepted rather than using the green button here in the ui :)

Longer range checks (>1hr) were awkward with just the minutes - I started getting a spinner impl in spin-range-checks (changes). I think if we go with that, storing the range as a formatted time string would be easier than a minutes digit, but I didn't go that far. I'd like thoughts first before doing that.

That's a really good idea. If we save it as a formatted time string, we will have to convert to minutes when storing in the SharedData for use in the locks, so we need to convert it somewhere. I think conversion to/from minutes the way you have done it in spin-range-checks is the best. If you're okay with it, I'll merge in the spinner and get this ready to push soon (I know Riley is waiting on a bugfix too)

Makes sense that we'll need to convert somewhere, and I would agree then that what I've got in spin-range-checks is good, so you can do as proposed and merge that in

The whole flow here was wrong. Should have been a branch into dev not dev->master. It is accepted and finished so closing PR


Update Globals “site_data”

Automatically generated by Netlify CMS

👷 Deploy Preview for shimmering-marigold-4f5b4a processing.

Name
Link

🔨 Latest commit
6b80929d7b6412360f8c59e73ef621e38c4909dc

🔍 Latest deploy log
https://app.netlify.com/sites/shimmering-marigold-4f5b4a/deploys/64ff94d4a2a3ae0008818f22


Add support for passing AbortSignal to fetch

This will allow to abort a ChatGPT call.
https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal
NB: I may have made mistakes in the JSDoc part, as this is my first time working with it. If there are any issues, please let me know and I'll be happy to fix them.

Merged, I’ll check it and push new release if everything is ok

@debanjandhar12 I removed FetchOptions since we can just use RequestInit from node-fetch. We willl avoid errors with this and types handling will be better.
Also added an example of using AbortController in ReadMe — https://github.com/TABmk/chatgpt-wrapper#how-to-implement-stop-command
v1.1.4 is already on npm, thank you for contributing 🎉

Thanks for merging the pull request. Also, thanks for the heads up about FetchOptions, that makes sense.


chore: update README.md

Closing this since the pr addressing the same issue got merged.
https://github.com/momentohq/client-sdk-javascript/pull/46


Make models optional

Hi ... I'm trying out simple-store as a client store for a basic project and reading through the docs it took me a while to realise that you needed to create a model object for each resource you want to store.
Given there's some useful boilerplate functionality in the model object, I was wondering if it would be possible to create a default magic model without having to register models?

Rather than a direct answer I decided to reply with an explanation of how those model files are used. In the store we "tag" or associate each model by type. That type is then used by the ember resolver to "build" or "construct" each instance (as you push). Without this I'm not sure it would be clear how each model is silo'd correctly. Most people using this need to silo by type first, then by primary key (id on the model itself).
If adding a "model" from this library is the issue, it's worth mentioning that a simple ember object will work just fine. We have a handful of models that look like this
export default Ember.Object.extend();

Yep no worries! Thanks for the clarification. As an aside my application uses web sockets with a base data set loaded via Ajax at boot which means the store doesn't have any async relationships since the store is always up to date.
One of my biggest pain points is trying to map relationships when they come in via the socket. Would it be possible to extend the base model to get access to the store or make the store injectible? Projects like simple-auth and ember-ajax seem to use this pattern.
Aside from that I think I've become more efficient since switching from ember data.

Injection is totally a requirement for bigger apps :)
Here is a short example to inject a status (a one-to-many relationship).
var Issue = Model.extend({
store: inject('main'),
status: Ember.computed.alias('belongs_to.firstObject'),
belongs_to: Ember.computed(function() {
let issue_id = this.get('id');
let store = this.get('store');
let filter = function(status) {
let issues = status.get('issues');
return Ember.$.inArray(issue_id, issues) > -1;
};
return store.find('status', filter, ['issues']);
})
})
Here is what the simple inject helper looks like
https://github.com/toranb/ember-2-skeleton-app/blob/master/app/utilities/store.js

I ended up achieving a similar result by overwriting the initialiser and making the store a service. This means I can access the store via this.get('store') or this.store in the case of routes and controllers. Probably worth mentioning that if you register service:main as a separate item, you end up with a new store instance. Took a while to work out what was going on!
import Store from '../store';

export default function() {
    var application = arguments[1] || arguments[0];
    application.register('service:store', Store);
    application.inject('controller', 'store', 'service:store');
    application.inject('route', 'store', 'service:store');
}

Now more of my boilerplate mapping exists in the model class which is the best outcome.
import Ember from 'ember';

export default Ember.Object.extend({

	ajax:  Ember.inject.service(),

	store: Ember.inject.service(),

	save: function() {
		let store = this.get('store');
		let ajax  = this.get('ajax');

		let properties = this.getProperties('id', 'name', 'surname', 'email', 'role', 'access_level', 'status_message');

		properties.status   = this.get('status.id');
		properties.team     = this.get('team.id');
		properties.location = this.get('location.id');

		return ajax.put(`/staff/${properties.id}`, { contentType: 'application/json; charset=utf-8', data: JSON.stringify(properties) }).then((staff) => {
			store.push('staff', staff);
			this.parseRelationships();
		});
	},

	parseRelationships: function() {
		let store = this.get('store');

		if (this.get('status')) {
			this.set('status', store.find('status', this.get('status')));
		}

		if (this.get('team')) {
			this.set('team', store.find('teams', this.get('team')));
		}

		if (this.get('location')) {
			this.set('location', store.find('locations', this.get('location')));
		}
	}

});


Fixed broken emojis

Added 2 new emojis for:
entity- & cover card

What was wrong with the emojis before? They looked fine to me.

Chrome version 100 - windows

Maybe your version of Windows 10 is too old. Which specific version of Windows 10 are you using?

20H2 is a pretty old build of Windows 10. If you upgrade to the newest version, I think you will be able to see those emoji.

Great! closed


sitemap no handler

What version of starlight are you using?
^0.24.4
What version of astro are you using?
^4.10.2
What package manager are you using?
pnpm
What operating system are you using?
Mac
What browser are you using?
Chrome
Describe the Bug
https://zen-huifer.pages.dev/sitemap-index.xml
no sitemap-index.xml

Link to Minimal Reproducible Example
https://github.com/huifer/zen-huifer/blob/cf/astro.config.mjs
Participation

[X] I am willing to submit a pull request for this issue.

Hi @huifer! I’m not sure I understand the issue. When loading https://zen-huifer.pages.dev/sitemap-index.xml, I see the sitemap index as expected.

May I ask if this can be included on Google

It should work, yes! For example, https://docs.astro.build/ is built with Starlight and we successfully submitted the sitemap to Google.

@delucis

It doesn’t appear to be a Starlight issue as far as I can tell:

The sitemap is generated correctly.
The sitemap is available at https://zen-huifer.pages.dev/sitemap-index.xml as expected.
Google reports that the index was processed successfully.

The error seems to be related to crawling your site. It might be that Cloudflare is blocking the Google bot crawling your site?
Given this is not a Starlight-specific problem, I will close this issue. Feel free to keep chatting here if it’s helpful, but it might also be good to look to see if there’s advice about indexing Cloudflare-hosted sites online.

@delucis   Starlight roboots.txt Can the problem be solved

@huifer Starlight doesn’t add a robots.txt itself, but you can do this yourself easily:

Create public/robots.txt inside your project

Add the following content:
User-agent: *
Allow: /

Sitemap: https://zen-huifer.pages.dev/sitemap-index.xml


Resolves #2637  added send_ssh_public_key

resolving #2637  by adding support for ec2-instance-connect
@spulec would appreciate some review. thanks!

Ooooh

Please rebase off master -- I made some fixes to the tests.

Coverage decreased (-0.06%) to 93.988% when pulling 199ff05e4ef54f3988e6c6d6f1d20dee15959825 on corrjo:instance_connect into 0f67a74d254127d4a64570145966679ab68d9f3d on spulec:master.

Tests are passing. Thanks @mikegrima for taking care of that.