How to add some new commands for redisearch.io ?

I want to do a full text search , So choosed the redisearch.io
redisearch.io is a module.so for REDIS 3.8 beta.
And the redisearch make some commands - FT.SEARCH in redis-cli
I like go-redis/redis ,so I want to add some command for redisearch.
Can you tell me how to do that is the easy way?

I have made some easy command for redisearch.
Now have a question:
How to paste this reply ?  I just found some StringReply
'''
<IP_ADDRESS>:6379[1]> FT.SEARCH myIdx hello LIMIT 0 10

(integer) 2
"doc1"

"title"
"hello world"
"body"
"lorem ipsum"
"url"
"http://redis.io"

"doc2"

"title"
"\xe4\xbd\xa0\xe5\xa5\xbd\xe4\xb8\x96\xe7\x95\x8c"
"body"
"lorem ipsum"
"url"
"http://redis.io"
'''

There is an example how to write custom commands - https://godoc.org/github.com/go-redis/redis#ex-package--CustomCommand. I did not try but it looks like you need SliceCmd
search := func(client *redis.Client) *redis.SliceCmd {
    cmd := redis.NewSliceCmd("ft.search", "myIdx", "hello", "limit", 0, 10)
    client.Process(cmd)
    return cmd
}


embeddings from scratch training

Hello @anhad13! Thanks for submitting the PR.

In the file src/models.py, following are the PEP8 issues :

Line 17:80: E501 line too long (86 > 79 characters)
Line 25:80: E501 line too long (99 > 79 characters)
Line 32:80: E501 line too long (88 > 79 characters)
Line 35:80: E501 line too long (90 > 79 characters)
Line 55:80: E501 line too long (104 > 79 characters)
Line 76:80: E501 line too long (89 > 79 characters)
Line 95:80: E501 line too long (86 > 79 characters)
Line 96:80: E501 line too long (82 > 79 characters)
Line 103:80: E501 line too long (85 > 79 characters)
Line 107:80: E501 line too long (81 > 79 characters)
Line 109:80: E501 line too long (83 > 79 characters)
Line 114:80: E501 line too long (80 > 79 characters)
Line 139:80: E501 line too long (88 > 79 characters)
Line 144:80: E501 line too long (80 > 79 characters)
Line 154:80: E501 line too long (80 > 79 characters)
Line 188:80: E501 line too long (80 > 79 characters)
Line 190:80: E501 line too long (91 > 79 characters)
Line 203:80: E501 line too long (82 > 79 characters)
Line 210:80: E501 line too long (83 > 79 characters)
Line 234:80: E501 line too long (83 > 79 characters)
Line 240:28: E225 missing whitespace around operator
Line 242:19: E225 missing whitespace around operator
Line 243:22: E225 missing whitespace around operator
Line 249:80: E501 line too long (82 > 79 characters)
Line 250:80: E501 line too long (104 > 79 characters)
Line 250:82: E225 missing whitespace around operator
Line 251:80: E501 line too long (82 > 79 characters)
Line 284:80: E501 line too long (81 > 79 characters)
Line 295:80: E501 line too long (99 > 79 characters)
Line 299:80: E501 line too long (82 > 79 characters)
Line 304:80: E501 line too long (97 > 79 characters)
Line 306:80: E501 line too long (96 > 79 characters)
Line 307:80: E501 line too long (103 > 79 characters)
Line 310:80: E501 line too long (90 > 79 characters)
Line 314:80: E501 line too long (82 > 79 characters)
Line 315:80: E501 line too long (87 > 79 characters)
Line 320:80: E501 line too long (80 > 79 characters)
Line 324:80: E501 line too long (95 > 79 characters)
Line 344:80: E501 line too long (97 > 79 characters)
Line 396:80: E501 line too long (92 > 79 characters)
Line 409:80: E501 line too long (92 > 79 characters)
Line 411:80: E501 line too long (91 > 79 characters)
Line 412:80: E501 line too long (121 > 79 characters)
Line 429:80: E501 line too long (82 > 79 characters)
Line 470:80: E501 line too long (81 > 79 characters)
Line 478:80: E501 line too long (84 > 79 characters)
Line 479:80: E501 line too long (95 > 79 characters)
Line 481:5: E265 block comment should start with '# '
Line 481:80: E501 line too long (82 > 79 characters)
Line 493:80: E501 line too long (81 > 79 characters)
Line 514:80: E501 line too long (94 > 79 characters)
Line 522:80: E501 line too long (84 > 79 characters)
Line 527:80: E501 line too long (80 > 79 characters)
Line 552:80: E501 line too long (81 > 79 characters)
Line 560:80: E501 line too long (85 > 79 characters)
Line 578:80: E501 line too long (88 > 79 characters)
Line 579:80: E501 line too long (87 > 79 characters)
Line 580:80: E501 line too long (83 > 79 characters)
Line 584:80: E501 line too long (84 > 79 characters)
Line 594:80: E501 line too long (83 > 79 characters)
Line 604:80: E501 line too long (80 > 79 characters)
Line 708:80: E501 line too long (99 > 79 characters)
Line 711:80: E501 line too long (104 > 79 characters)
Line 712:80: E501 line too long (95 > 79 characters)
Line 726:80: E501 line too long (80 > 79 characters)
Line 727:80: E501 line too long (80 > 79 characters)
Line 765:80: E501 line too long (81 > 79 characters)
Line 772:80: E501 line too long (81 > 79 characters)
Line 796:80: E501 line too long (85 > 79 characters)
Line 797:80: E501 line too long (80 > 79 characters)
Line 806:80: E501 line too long (83 > 79 characters)
Line 816:80: E501 line too long (86 > 79 characters)
Line 817:80: E501 line too long (94 > 79 characters)
Line 825:80: E501 line too long (91 > 79 characters)
Line 893:80: E501 line too long (91 > 79 characters)
Line 894:80: E501 line too long (108 > 79 characters)
Line 895:80: E501 line too long (110 > 79 characters)
Line 904:80: E501 line too long (81 > 79 characters)
Line 929:80: E501 line too long (86 > 79 characters)
Line 1015:80: E501 line too long (91 > 79 characters)
Line 1030:80: E501 line too long (87 > 79 characters)
Line 1033:80: E501 line too long (85 > 79 characters)

In the file src/preprocess.py, following are the PEP8 issues :

Line 42:80: E501 line too long (96 > 79 characters)
Line 43:80: E501 line too long (99 > 79 characters)
Line 52:80: E501 line too long (85 > 79 characters)
Line 63:80: E501 line too long (87 > 79 characters)
Line 64:80: E501 line too long (87 > 79 characters)
Line 150:58: E252 missing whitespace around parameter equals
Line 150:59: E252 missing whitespace around parameter equals
Line 175:80: E501 line too long (85 > 79 characters)
Line 177:80: E501 line too long (84 > 79 characters)
Line 183:80: E501 line too long (86 > 79 characters)
Line 184:80: E501 line too long (83 > 79 characters)
Line 200:80: E501 line too long (80 > 79 characters)
Line 201:80: E501 line too long (82 > 79 characters)
Line 236:80: E501 line too long (81 > 79 characters)
Line 240:33: E231 missing whitespace after ':'
Line 242:13: E127 continuation line over-indented for visual indent
Line 243:15: E127 continuation line over-indented for visual indent
Line 262:30: E127 continuation line over-indented for visual indent
Line 264:80: E501 line too long (80 > 79 characters)
Line 269:30: E127 continuation line over-indented for visual indent
Line 272:80: E501 line too long (86 > 79 characters)
Line 290:51: E225 missing whitespace around operator
Line 305:80: E501 line too long (126 > 79 characters)
Line 310:80: E501 line too long (84 > 79 characters)
Line 311:80: E501 line too long (81 > 79 characters)
Line 312:80: E501 line too long (81 > 79 characters)
Line 332:80: E501 line too long (83 > 79 characters)
Line 333:80: E501 line too long (116 > 79 characters)
Line 339:80: E501 line too long (80 > 79 characters)
Line 343:80: E501 line too long (93 > 79 characters)
Line 344:80: E501 line too long (86 > 79 characters)
Line 345:80: E501 line too long (91 > 79 characters)
Line 348:80: E501 line too long (86 > 79 characters)
Line 350:80: E501 line too long (88 > 79 characters)
Line 351:80: E501 line too long (97 > 79 characters)
Line 352:80: E501 line too long (87 > 79 characters)
Line 353:80: E501 line too long (86 > 79 characters)
Line 362:80: E501 line too long (96 > 79 characters)
Line 363:80: E501 line too long (86 > 79 characters)
Line 364:80: E501 line too long (87 > 79 characters)
Line 367:80: E501 line too long (84 > 79 characters)
Line 369:80: E501 line too long (88 > 79 characters)
Line 370:80: E501 line too long (95 > 79 characters)
Line 371:80: E501 line too long (85 > 79 characters)
Line 372:80: E501 line too long (86 > 79 characters)
Line 377:80: E501 line too long (81 > 79 characters)
Line 380:80: E501 line too long (86 > 79 characters)
Line 407:1: E302 expected 2 blank lines, found 1
Line 432:5: E265 block comment should start with '# '
Line 435:1: E302 expected 2 blank lines, found 1
Line 464:80: E501 line too long (86 > 79 characters)
Line 543:80: E501 line too long (85 > 79 characters)
Line 551:1: E302 expected 2 blank lines, found 1
Line 561:80: E501 line too long (80 > 79 characters)
Line 567:1: E302 expected 2 blank lines, found 1
Line 578:1: E302 expected 2 blank lines, found 1
Line 579:80: E501 line too long (80 > 79 characters)
Line 581:80: E501 line too long (98 > 79 characters)
Line 583:80: E501 line too long (91 > 79 characters)
Line 597:80: E501 line too long (92 > 79 characters)
Line 599:80: E501 line too long (94 > 79 characters)
Line 602:80: E501 line too long (98 > 79 characters)

Ready for review?

Yes, this is ready for review

Any progress here?

Fixed changes. Ready to merge?

Fixed issues. Removed cola.conf.

PEP8 compliance fixes on src/models.py


Converting a byte array filled with 0's to a string results in non-empty string (despite appearances)

What version of Go are you using (go version)?

$ go version
go version go1.14.4 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/mendel/.cache/go-build"
GOENV="/home/mendel/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/mendel/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/mendel/Documents/Projects/Untitled/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build439515910=/tmp/go-build -gno-record-gcc-switches"

What did you do?
package main

import (
	"fmt"
)

func main() {
	b := [32]byte{}
	fmt.Printf("b: %v, string(b[:]): %v, string(b[:]) == \"\": %v", b, string(b[:]), string(b[:]) == "")
}

https://play.golang.org/p/Yg03ksgALwE
What did you expect to see?
b: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], string(b[:]): , string(b[:]) == "": true

What did you see instead?
b: [0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0], string(b[:]): , string(b[:]) == "": false

This is intended. You get a string with 32 \0 characters in it, not the empty string.

I understand that, but then how would I check to see if the string contains that (irl the array size is some what random)?

Sorry, when you say "check to see if the string contains that" I don't know what you mean by "that".
In general we do not use the issue tracker for questions about how Go works.  You will get a better and faster answer on a forum.  Please see https://golang.org/wiki/Questions.  Thanks.


fix: Redis cache handler  deleteMatching() not working when a prefix is being used

deleteMatching wasn't working for Redis cache when a prefix was being used.  adding prefix here fixed the issue.
Checklist:

[x] Securely signed commits
[ ] Component(s) with PHPDoc blocks, only if necessary or adds value
[ ] Unit testing, with >80% coverage
[ ] User guide updated
[ ] Conforms to style guide

Thank you for sending this PR!
We expect the following in all Pull Requests (PRs).

PRs must be sent to the appropriate branch
All git commits must be GPG-signed
Must follow our style guide
Be commented in the PHP source file
Be documented in the user guide
Be unit tested
Pass all checks in GitHub Actions

[!IMPORTANT]
We expect all code changes or bug-fixes to be accompanied by one or more tests
added to our test suite to prove the code works.

If pull requests do not comply with the above, they will likely be closed. Since we are a team of volunteers, we don't have any more time to work on the framework than you do. Please make it as painless for your contributions to be included as possible.
See https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md

If you send a PR, you must add test code for it.
See https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing/pull_request.md#unit-testing
This PR will not be merged because there is no test code.
Next time you submit a PR, be sure to include the test code.
Thank you.

Closed by #8952


Panda grid scans don't correctly check for gridscan_valid

PandA grid scans tried to kickoff a gridscan while the BL03I-MO-SGON-01:PGS:SCAN_INVALID was set to invalid (0). IOC logs show that panda grid scan parameters had been updated, so looking at the code, it is unclear why this PV wasn't being checked properly in wait_for_gridscan_valid. See graylog error: https://graylog.diamond.ac.uk/messages/graylog-daq-mx-hyperion_21/3c7fd880-702f-11ef-bc16-26706383e36b
One possible cause:
The invalid PV takes up to 0.1s to update after one of the grid scan parameters change (I think). Hyperion may be doing wait_for_gridscan_valid before the PV has properly updated. Within the time resolution of the IOC logs, this looks possible (but resolution too small to say for sure).
If that is the issue, not sure why we wouldn't have seen it for zebra FGS.
Acceptance Criteria

Issue is fixed, potentially by just adding a short sleep in wait_for_gridscan_valid

Issue is within EPICS, see https://jira.diamond.ac.uk/browse/I03-993

This is now fixed and released on I03, see above Jira ticket, and see the exact commit herre: https://gitlab.diamond.ac.uk/controls/support/smargon/-/commit/c5d40bb4e829302198e2daa813a9b179b4e140d5


Could not parse data: minecraft:grass_path

https://gist.github.com/DillFrescott/35916404594ff71b80f828bb8608d29d
Here is the full "latest.log" of the error. Its the newest version of Terra running on the newest version of Spigot.

?

Use the latest default config. You obviously cannot use the 1.16 default config on 1.17.

@dfsek oh.


Can't modify the environment variables

Describe the bug
I am trying to modify the environment variables via a post-request script, but the changes won't persist among the request.
To Reproduce

Create a new request to POST https://httpbin.org/post
Add & enable this post-request script:

altair.helpers.setEnvironment('foo', 'bar')
alert('foo = ' + altair.helpers.getEnvironment('foo'))

Check your environment variables, you shouldn't see the foo variable.

Expected behavior
I expected foo variable to be set.

OS: MacOS
Browser Chrome
Platform: Desktop App
Version: Version 4.0.0 (<IP_ADDRESS>81)

Hey @fatihky, to persist the environment variable in the environments after the script is run, you need to pass true as a third parameter. altair.helpers.setEnvironment('foo', 'bar', true).

Hey @imolorhe, thank you so much! I've changed the title for future searches.


New release

The current release is missing a number of important changes that it'd be really nice to have. Please consider creating a new release. Thanks!

Yep it looks like a number of widgets are not included.  like  Highlight

Hey 👋
I'll do that this weekend when I have time, along with some cleanup 😅

It's been released as 0.8.0 !


ChatColor not recognising '§'

I found out that using ChatColor.RED or ChatColorUtils.parse() or even § are unrecognised giving the following result
Edit - Forgot to add that this happens on a bukkit server!

does it happen on a papermc server?


Add support for another Transaction Encoder/Decoder

Transaction Encoder/Decoder automatically implied RLP encoding. The 4844 Blob Transaction should be encoded with SSZ encoding.
This PR is a suggestion how to refactor the Encoder to support multiple different types of encodings.

Implementing SSZ encoding of the transactions might be a first step towards 4844 ( #4631 )


chore(main): release 2.21.0

:robot: I have created a release beep boop
2.21.0 (2024-07-26)
Features

EMS-3611: declaration - Anti-bribery code of conduct version update (#2824) (7637316)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v2.21.0
:sunflower:


[Linux] ComfyUI Backend missing imageio_ffmpeg

I installed StableSwarmUI and added an existing and working ComfyUI installation to it.
When it starts up the ComfyUI-Backend, i see an error in Terminal:
16:32:00.062 [Warning] ComfyUI-3 on port 7822 stdout: Traceback (most recent call last):
16:32:00.063 [Warning] ComfyUI-3 on port 7822 stdout:   File "~/Programs/ComfyUI/nodes.py", line 1813, in load_custom_node
16:32:00.063 [Warning] ComfyUI-3 on port 7822 stdout:     module_spec.loader.exec_module(module)
16:32:00.063 [Warning] ComfyUI-3 on port 7822 stdout:   File "", line 850, in exec_module
16:32:00.063 [Warning] ComfyUI-3 on port 7822 stdout:   File "", line 228, in _call_with_frames_removed
16:32:00.063 [Warning] ComfyUI-3 on port 7822 stdout:   File "~/Programs/SwarmUI/src/BuiltinExtensions/ComfyUIBackend/ExtraNodes/SwarmComfyExtra/init.py", line 1, in
16:32:00.063 [Warning] ComfyUI-3 on port 7822 stdout:     from . import SwarmRemBg, SwarmSaveAnimationWS
16:32:00.064 [Warning] ComfyUI-3 on port 7822 stdout:   File "~/Programs/SwarmUI/src/BuiltinExtensions/ComfyUIBackend/ExtraNodes/SwarmComfyExtra/SwarmSaveAnimationWS.py", line 5, in
16:32:00.064 [Warning] ComfyUI-3 on port 7822 stdout:     from imageio_ffmpeg import get_ffmpeg_exe
16:32:00.064 [Warning] ComfyUI-3 on port 7822 stdout: ModuleNotFoundError: No module named 'imageio_ffmpeg'
Looked into my Linux installation (Debian 11) and a package with the same name and it's python version is already installed.
I wonder if that has something to do with me using ComfyUI by using the venv of an Automatic1111 installation.
When i try to generate an image i get this error "No images were generated (all refused, or failed - check server logs for details)."
I assume its because of the first error while loading the Backend.

If you really want to intentionally use a weird alt venv? Then:
source ./venv/bin/activate
python3 -s -m pip install imageio-ffmpeg opencv-python-headless rembg

this will ensure all secondary libs are installed directly in the venv (the -s is the key on that)
Alternately if you just let the installer make its own venv, it will also automatically manage it + ensure all packages are installed properly


[release/2.1] Detect package cache blocking source-built package uptake

Detect when a source-built package exists, but a different package exists in the package cache directory. NuGet restore short-circuits when the package id/version specified is already in the cache, so the source-built one won't be used by downstream repos.

This is for https://github.com/dotnet/source-build/issues/606.
It actually spots an active problem in this branch (release/2.1):

Watch out! Source-built nupkg is not byte-for-byte identical to nupkg in cache: Newtonsoft.Json 9.0.1

I checked to make sure contents of the package cache are really from online. Related (although I don't think we realized the extent of the issue): https://github.com/dotnet/source-build/issues/593.

Now it outputs this in this situation (for every project after the place this problem was introduced):
  Checked cache for conflicts with source-built nupkgs. Took 00:00:00.0022916
  Finding project directories...
  Finding project.assets.json files...
  Reading usage info...
  Associating usage info with projects...
  Writing data to '/home/dagood/sb/source-build/bin/conflict-report/before-coreclr/usage.json'...
/home/dagood/sb/source-build/repos/dir.targets(202,5): warning : Detected packages in the cache that should be source-built, but aren't. See /home/dagood/sb/source-build/bin/conflict-report/before-coreclr/ for usage details. Newtonsoft.Json 9.0.1 [/home/dagood/sb/source-build/repos/coreclr.proj]

/home/dagood/sb/source-build/bin/conflict-report/before-coreclr/usage.json is:
{
  "UnusedPackages": [],
  "Usages": [
    {
      "ProjectDirectory": "/home/dagood/sb/source-build/src/common",
      "AssetsFile": "/home/dagood/sb/source-build/src/common/test/Microsoft.Extensions.CommandLineUtils.Tests/obj/project.assets.json",
      "PackageIdentity": "Newtonsoft.Json/9.0.1",
      "Annotation": null
    }
  ]
}

It does this for every project, since I think it's ok to let the build continue (in this case, at least), and I think it could be interesting to look at each later project's usages (if any).

@dotnet-bot test OSX10.12 Release
Usual ClosedChannelException flakiness.

Interesting, the conflict doesn't happen in the offline tarball build. Target "CheckSourceBuiltNupkgConflictUsages" skipped, due to false condition; ('@(ConflictingPackageInfos)' != '') was evaluated as ('' != ''). Makes sense, since it can't get the online one, and we specifically remove source-built packages from the tarball prebuilt dir.


Upgrade poperties in JacocoPlugin

@bot-gradle test AST

I've triggered the following builds for you. Click here to see all build failures.

AllSmokeTestsPullRequestFeedback build


Custom IP feature should be configurable (enable/disable)

It would be great if the new feature for custom IP interrogation (https://github.com/mpolden/echoip/pull/94) could be enabled or disabled via a command line argument. In some cases, the host may be able to reveal potentially sensitive internal DNS information for private IP addresses depending on deployment/configuration.

Good point. In any case we should deny lookups of private IPs, would that be sufficient?

I would welcome that as an option, but I actually have this deployed in my internal network and use it both internally and externally, so I don't want to entirely deny local IP lookups.

I would welcome that as an option, but I actually have this deployed in my internal network and use it both internally and externally, so I don't want to entirely deny local IP lookups.


Add show showRequired props to field

Add props to FieldInput (and other input) to show

Required: asterisk when required
Optionnal: (optionnal) when not required
Hidden: when we don't want show anything

I would like to be able to in this feature

I would like to be able to in this feature

Sure, assigned you to this issue, feel free to ask questions if you have any.


Move /root/my.cnf sections to attributes

Move /root/my.cnf sections to attributes. This is needed, because some clients rely on [client] section and would be great to have it dynamically overridden.

tagging @sinfomicien

ping @sinfomicien

Hi!
I'm trying to understand what difference this would make - is this so that you can add/remove sections that are configured by the cookbook?

right

If you could remove the version bump in metadata.rb please, then should be fine to merge. Thanks!

I've pulled in your commit via fe6a336, thanks!


Add Accessibility section to Readme

Adding Accessibility section to the readme that speaks to using errorElement in the validate() method.
Thank you!

This is great!

Sorry for having this not merged earlier.
We can improve it further but lets have it in the readme for now.
Thx for the contribution and sorry for the overlong wait periode


Refactoring step in one module is not reflected in other modules

Refactoring a step in one module is not reflected in other dependent modules using the step. How should this be handled?

Refactoring will only be supported within modules


[bug] maximized window config causes black flash on launch

Describe the bug
I have encountered an issue with the maximized window setting where this causes a black flash on application launch.
It only happens sometimes and the black flash is always on the right hand part of the screen:
Here is a screen recording:
https://github.com/user-attachments/assets/1cf93837-8791-482c-a719-f59068f91bd1
Reproduction
Here is a repo with the default tauri-vue app which has just one setting changed:
in tauri.conf.json I added "maximized": true
https://github.com/mr-zwets/tauri-test
If reproduction is not possible on the first try, re-open the app multiple times again, as the bug only happens part of the time.
Expected behavior
I expect the  maximized window not to cause a black flash
Full tauri info output
[✔] Environment
    - OS: Windows 10.0.22631 x86_64 (X64)
    ✔ WebView2: 129.0.2792.79
    ✔ MSVC: Visual Studio Community 2022
    ✔ rustc: 1.81.0 (eeb90cda1 2024-09-04)
    ✔ cargo: 1.81.0 (2dbb1af80 2024-08-20)
    ✔ rustup: 1.27.1 (54dd3d00f 2024-04-24)
    ✔ Rust toolchain: stable-x86_64-pc-windows-msvc (default)
    - node: 20.18.0
    - yarn: 1.22.22
    - npm: 10.8.2

[-] Packages
    - tauri 🦀: 2.0.2
    - tauri-build 🦀: 2.0.1
    - wry 🦀: 0.44.1
    - tao 🦀: 0.30.3
    - @tauri-apps/api : 2.0.2
    - @tauri-apps/cli : 2.0.2

[-] Plugins
    - tauri-plugin-shell 🦀: 2.0.1
    - @tauri-apps/plugin-shell : 2.0.0

[-] App
    - build-type: bundle
    - CSP: unset
    - frontendDist: ../dist/spa
    - devUrl: http://localhost:9000/
    - framework: Vue.js (Quasar)
    - bundler: Vite

Stack trace
/

Additional context
No response

I believe this is a bit of expected behavior and should be fixed by #1564 and #10519 so closing as duplicate of these issues.

Asking to re-open this issue after confirming it is not the same issue.
I upgraded to the latest tauri version & tested with the new background property "backgroundColor": "#ffffff" & tauri = { version = "2.1.0", features = [] }
which still has my issue.
I won't be able to switch my app from electron to tauri if it causes this flash on startup.

I just retested with backgroundColor and I do see a quick flash but way less noticeable than what you previously had in the video.
I don't have any clue how we might improve this further unfortunately.
A workaround would be to:

set your window visible: false (and maybe maximized: false)
in JS, listen for DOMContentLoaded, and there you can call window.show() followed by window.set_maximized(true)

Thanks for confirming is still is an issue 🙏
I'm having a lot of trouble implementing the workaround, it seems I can't easily make the window visible again from JS 😅
This was my attempted solution in main.ts which is launching the default vue app
import { createApp } from 'vue';
import App from './App.vue';
import { getCurrentWindow } from '@tauri-apps/api/window';

// Create the Vue app
const app = createApp(App);

// Wait for the DOM to be fully loaded
document.addEventListener('DOMContentLoaded', async () => {
  try {
    // Get the current window instance
    const currentWindow = getCurrentWindow();

    // Show the window and maximize it
    await currentWindow.show();
    await currentWindow.maximize();
  } catch (error) {
    console.error('Error showing or maximizing the window:', error);
  }
});

// Mount the Vue app
app.mount('#app');

Even without currentWindow.maximize() which apparently requires permissions, making the window 'show' still did not work

@mr-zwets make sure to have core:window:allow-maximize and core:window:allow-show are enabled in your capability file.

thanks for the help! This is the result after using the workaround and "backgroundColor": "#ffffffff"
https://github.com/user-attachments/assets/1b7d0086-856e-4971-9de9-ba380d509977
There is still some brief flicker but I guess it is what it is


I would like to replace the last line of file log, for making a progress bar behave in the file

Good afternoon, everyone! I would like to create a kind of progress bar bahiviour on my logging file. I have one worker that process more than 1 million rows of data, and now it's diplaying each one in the log. I would like to know how to just replace the last or to have that feature that makes possible that beaheve of progress bar because the log file is getting to long because of that.

NLog FileTarget doesn't have support for re-writing the same line, and it not easy to make it append to existing line.
I suggest that the application writes a progress-status-line every 10 secs, and then a final status-line on completetion with timings + file-size + record-count + etc.

Closing issue as resolved, due to inactivity


Including AuthInfoField in a relay connection type

I wanted to add Pagination with relay into my query.
The query fetches posts from user.
The following is the working of graphene.Union - to include Authentication as given in the documentation.
class PostObject(SQLAlchemyObjectType):
    class Meta:
        model = Post
        interfaces = (graphene.relay.Node, )

class ProtectedPost(graphene.Union):
    class Meta:
        types = (PostObject, AuthInfoField)

And the query is as follows:
 class Query(graphene.ObjectType):
    node = graphene.relay.Node.Field()
    my_posts = graphene.List(ProtectedPost)

However to add Pagination support, I have to add relay connection. So instead of using graphene.List , I have to use SQLAlchemyConnectionField.
my_posts = SQLAlchemyConnectionField(ProtectedPost).
But this gives the following error on starting the application :
SQLALchemyConnectionField only accepts SQLAlchemyObjectType types, not ProtectedPost
What to do if we want to include Relay ?

I tried the following -
class PostConnection(graphene.relay.Connection):
    class Meta:
        node = ProtectedPost

And the query becomes
class Query(graphene.ObjectType):
   node = graphene.relay.Node.Field()
   my_posts = graphene.relay.ConnectionField(ProtectedPost)

But then when auth Token is incorrect, the error message is :
"errors": [
        {
            "message": "Resolved value from the connection field have to be iterable or instance of PostConnection. Received \"<flask_graphql_auth.fields.AuthInfoField object at 0x1077adfa0>\"",
            .
            .
            .

Can we simply not include GraphQLError in this library instead of using AuthInfoField.
i.e,
from graphql.error.base import GraphQLError

func () {
.
return GraphQLError("Unauthenticated")
}


Changed plugin storage name from dfs to dfs_test

@cchang738 and @Agirish Please review the changes

Thanks Prasad.
You will also need to change the name of the file -> conf/plugin-templates/dfs-storage-plugin.template to conf/plugin-templates/dfs_test-storage-plugin.template

@Agirish
The cttas cases create temporary tables. Currently, temporary tables can be created only in the default temporary workspace dfs.tmp (https://gist.github.com/arina-ielchiieva/50158175867a18eee964b5ba36455fbf).
Should i revert the  workspace name for cttas cases to dfs.tmp? Or do you have other suggestions?

The name of the storage plugin shouldn't matter. dfs_test.tmp should be equivalent to dfs.tmp. Do you see any issues?

Also, I took a look at as many files I could - looks good. But with lot of files, Guthub makes it hard. Running these tests (alongside the corresponding mapr private tests) on the Docker framework should give us more confidence. There may be areas which we have missed updating / reviewing.


destroyStrategy isn't followed when a field is removed from DOM.

http://schemaform.io/examples/bootstrap-example.html#/976bfc96771600614451
Toggle the checkbox, and the condition-limited field remains in the model.
Without the new builder:
If the condition is applied to a container (such as the deprecated "conditional" type, or a field set), then the fields are cleaned up following the appropriate destroyStrategy. But fields that have a condition applied directly as a form option have the $destroy listener set on the bootstrap-decorator wrapper tag, which is never actually removed from the DOM by conditions.
With the new builder:
I'm seeing some fields work as expected (triggering to show a text field when a certain value in a drop down list is selected), but checkbox list fields don't appear to be following the condition behavior. I'll need to dig into this more for 0.8.5+ development.

Ohhh... interesting! Thanks for testing the new builder. I'll check it out. In the new builder the sf-field directive should take care of that. I'll try to check it out soon.

Okay, thanks for the follow-up. It sounds like the sf-field directive is what we talked about in #371. Is that for the new builder only? My quick perusal through the code seemed to indicate that was a possibility.

@jbsaff No its not quite what we talked about in #371. But you are right it's for the new builder. The sf-field directive replaces some of the things that the bootstrap-decorator (or any other decorator directive) does. Most importantly create a scope and set the appropriate form definition on it under the name form so that the template can use it. It's is added to first child of the template for each field.

Found the primary problem with checkboxes in the new builder:
https://github.com/Textalk/angular-schema-form-bootstrap/blob/develop/src/bootstrap-decorator.js#L43
Condition isn't in the dependency list, so it's never checked for the checkboxes type. It looks like it was removed in commit e24d164534e4d6d872e14b0e6f5d9a1b37541dfc. I've added line comments in a couple places in each project related to this issue.

Ok, so I did a small release of ASF and one of the new bootstrap decorator with the condition in the list of builders. Thanks for the help @jbsaff!


Revert "fix: enable analytics by default (#1919)"

This reverts commit 43b07dbe7b7d86d78f0def5a2c5b7d45ac45b7b7.
What kind of change does this PR introduce?
Bug fix, feature, docs update, ...
What is the current behavior?
Please link any relevant issues here.
What is the new behavior?
Feel free to include screenshots if it includes visual changes.
Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
14 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-2.0%) to 58.954%

Files with Coverage Reduction
New Missed Lines
%

internal/utils/config.go
3
52.2%

internal/gen/keys/keys.go
5
11.76%

internal/db/start/start.go
6
88.89%

Totals

Change from base Build<PHONE_NUMBER>:
-2.0%

Covered Lines:
6255

Relevant Lines:
10610

💛  - Coveralls


Unify number localization strategy across the app.

Fixes

Fixes #535 by @sarayourfriend
Description

The issue actually was out-dated, but the solution being used on the search result page differed from the solution used on other parts of the app (namely the sources page).
This PR unifies both approaches and fixes some minor bugs in how the locale was being used for the search results page, and also uses the en-gb locale for locales that would have used Eastern arabic numerals.
This also matches the approach taken in Gutenberg for formatting input numbers.
I also managed to get VueI18n into the Nuxt context type so that useContext's return actually includes it, meaning we can add more composables to type checking.
Testing Instructions

Visit the search page using a locale that uses eastern arabic numerals by default, like ar and verify that it is using western arabic numerals instead, like the rest of the locales.
Checklist

[x] My pull request has a descriptive title (not a vague title like Update index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[x] I added or updated tests for the changes I made (if applicable).
[x] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

(b) The contribution is based upon previous work that, to the best
    of my knowledge, is covered under an appropriate open source
    license and I have the right under that license to submit that
    work with modifications, whether created in whole or in part
    by me, under the same open source license (unless I am
    permitted to submit under a different license), as indicated
    in the file; or

(c) The contribution was provided directly to me by some other
    person who certified (a), (b) or (c) and I have not modified
    it.

(d) I understand and agree that this project and the contribution
    are public and that a record of the contribution (including all
    personal information I submit with it, including my sign-off) is
    maintained indefinitely and may be redistributed consistent with
    this project or the open source license(s) involved.

@krysal and @obulat would it be possible to get a review on this PR soon? Thanks!

How did we choose the locales for the ARABIC_NUMERAL_LOCALES?

I'm forgetting the name of the organization and am failing at finding it right now, but there's an org that collects locale metadata from countries all over the world and maps their numeral system (among other things) to the locale.
However, I suppose the best most robust way to do this would be to just format the number and check if it uses anything other than Western Arabic numerals and if it does, then format it using en.
I chose en-gb becuase the impression I got was that the decimal and thousands delimeter rules followed by en-gb more closely matched the expectations from the locales we were intercepting, but I could have gotten that totally wrong. Switching it to just en seems fine to me.

Thank you for clarifying, @sarayourfriend !


src/lib: Default to WindowUpdateMode::OnRead

Default to WindowUpdateMode::OnRead, thus enabling full Yamux
flow-control, exercising back pressure on senders, preventing stream
resets due to reaching the buffer limit.
See the WindowUpdateMode documentation for details, especially the
section on deadlocking when sending data larger than the receivers
window.
This would prevent surprises like https://github.com/libp2p/rust-libp2p/issues/2089.

//CC @ec2 and @olibearo as you are currently using YamuxConfig::default().
https://github.com/ChainSafe/forest/blob/main/node/forest_libp2p/src/service.rs#L381
//CC @koivunej for rust-ipfs:
https://github.com/rs-ipfs/rust-ipfs/blob/master/src/p2p/transport.rs#L31
//CC @dvc94ch for ipfs-embed:
https://github.com/ipfs-rust/ipfs-embed/blob/master/src/net/mod.rs#L93

Seems ok. It's not a breaking change as it only affects the receiver behavior if I understand correctly. Thanks!


🌐 Add Chinese translation for Tutorial - Cookie Parameters

This PR translates tutorial/cookie-params.md in Chinese.

Fixed!

Thanks for your contribution @alicrazy1947 ! :rocket: :cake: :nerd_face:
And thanks for the reviews @maoyibo , @Laineyzhang55 , and @lpdswing. :coffee: :cake:


Request for an Updated Version Due to Compatibility Issues

Hello,
Could I please get an updated version of this project? Many features are not working correctly and there are compatibility issues that I am unable to resolve. As a beginner, I have been trying to fix these problems for the past two months without success. I am currently an intern and this is my first year, so I really need help with this.
Thank you very much for your assistance.
Best regards,

Hey, please give some more info what exactly is going wrong.
In the meantime I released the versions of the requirements, it was indeed failing to install.
Also fixed dataset downloading.
Should be good to go atm.

Haha I was afraid you were going to mention that. I'll take a look.

Thank you! I appreciate it. ^-^

Fixed dependencies. Rerunning pip install -r requirements.txt should do the trick.


Add testfile for new capa rule

The sample referenced in the rule proposed here https://github.com/fireeye/capa-rules/pull/333

thank you!


[DO NOT MERGE] Configure esy monorepo workflow

DO NOT MERGE
This PR explores esy monorepo workflow.
The main motivation is to provide a (hopefully) efficient workflow to develop a
group of packages together while keeping package structure (package boundaries)
maximally close to the one a consumer will be have when those packages are
installed from their corresponding releases.
Note that<EMAIL_ADDRESS>is required to try this:
% npm install -g<EMAIL_ADDRESS>
The gist:

764432f Configures esy monorepo, see commit's description for details.

9c03952 Adds esymono command which wraps esy, see commit's description
for details.

5989ba8 Updates esy.lock (please ignore)

d095eb9 Fixes code to adhere to standard dune's set of compiler warnings (please ignore, this is just to make things work)

The workflow looks like (pasted from 9c03952 description):
Build all monorepo:
% ./esymono build

We can also build all monorepo in "release" mode (no devDependencies
provided and therefore we simulate the env in which packages will be built
when released):
% ./esymono build --release

We can build only a specific package by referring to it by its name:
% ./esymono build @reason-native/rely

Or we can refer by the manifest:
% ./esymono build ./rely.json

Which maybe more convenient as shell autocompletes paths by default.
To execute an arbitrary COMMAND in a dev environment w/o waiting for
packages in the monorepo to be built:
% ./esymono vim .

To execute an arbitrary COMMAND in a dev environment but before ensuring
that packages are built:
% ./esymono x TestPastel.exe

So this can be used to run tests.
It's also possible to narrow the environment to the specific package:
% ./esymono x-in ./rely.json echo '#{self.name}'

Note that the idea for esymono is to be subsumed in some form into esy.
Possibly via a special configuration put into .esyrc. This is just a preview.

I like the general idea a lot, Jordan and I tried something like this initially but ran into performance issues, I'm glad that you are tackling this problem.

Replaced with #74


metric disappear after few time

Hi,
I am having a strange behavior, which looks like a bug.
I am using Prometheus v2.29.1.
This is part of my Prometheus config:
# ##############################################################################
# General configuration
# ##############################################################################

global:
  # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  scrape_interval:     15s
  # Evaluate rules every 15 seconds. The default is every 1 minute.
  evaluation_interval: 15s
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - path_prefix: "/alertmanager"
    static_configs:
    - targets:
      - shared-alertmanager:9093

# Load rules once and periodically evaluate them according to the global
# 'evaluation_interval'.
rule_files:
  - "/etc/prometheus/alerts/alerts-*.yml"

# ##############################################################################
# Jobs
# ##############################################################################
scrape_configs:
  # ############################################################################
  - job_name: 'cloud-prometheus'

    static_configs:
    - targets: ['shared-prometheus:9090']
    metrics_path: '/metrics'
    relabel_configs:
    - source_labels: [job]
      target_label: job
      replacement: cloud
    - source_labels: [job]
      regex: cloud-prometheus
      action: drop
    metric_relabel_configs:
    - source_labels: [job]
      target_label: job
      replacement: cloud
    - source_labels: [job]
      regex: cloud-prometheus
      action: drop

... # other stuff here

  # ############################################################################

  - job_name: 'smart-prometheus'

    scheme: 'https'
    scrape_interval: 30m

    static_configs:
    - targets: ['my.super-server.com']
    metrics_path: '/metrics'
    relabel_configs:
    - source_labels: [job]
      target_label: job
      replacement: smart
    - source_labels: [job]
      regex: smart-prometheus
      action: drop
    metric_relabel_configs:
    - source_labels: [job]
      target_label: job
      replacement: smart
    - source_labels: [job]
      regex: smart-prometheus
      action: drop

... # other stuff here

The strange behaviour is the following.

After about 30 min from start, in the Targets tab of Prometheus, I finally see all services as successfully "up" (so far so good)
If the I go to the Graph tab, and I execute the simple metric query "up", the I see listed all the instance/job couples (again, so far so good)
After some time, if I run again the metric query "up", the couple smart/my.super-server.com disappears.
So I check the Targets tab, but it still says everything is fine.

I am supposing that it depends on the (wrong) relation between evaluation_time and scrape_interval.
In fact, the scrape_interval of the disappearing metric is the only which is overwritten with a slower time (30m),
which is slower than the  evaluation_time.
If this is the case, I consider this at least strange (if not a bug), since what I expect is to run the evaluation when it timeouts,
but to keep the last scraped values, as long as the target has not timed out.
What I am meaning is something as the following (just to make an example, which could not be 100% correct):
at_each_evaluation_timeout:
    if current_time - target_last_scrape_execution > target_scrape_interval:
       target_last_scrape_execution  = current_time
       evaluate_target

Something as this should ensure that, even if the metrics are evaluated each 15s, the metric value is updated only when we
are expecting to have a new value.
Finally, just to complete the stuff,  another useful option in this context could be allow a per-target evaluation_time specification.
Could you please confirm this strange behavior? Is it truly caused by the slower scrape_interval?
Thanks.
Regards.

It is caused by slower srape_interval. After 5m, Prometheus considers a metric 'stale', and does not return it anymore. Please use a lower scrape interval, like 1m.

Hi,
this is  again strange and unexpected, since a metric with a slow scrape is not a stale metric (again, I suggest to change this).
Please consider that scraping creates network traffic, and depending on the deployment, it could create costs, or stress the network infrastructure. So it is not good to force to scrape on a max of 5m, if it is not required for the needs of the users (which could instead prefer to minimize the costs or use the bandwidth for other purposes).
Also, is it possible to configure the stale timeout? And is it possible to configure it by target? I have given a quick check, but I was unable to find a config parameter.
Thanks.
Regards.

This is configurable with --query.lookback-delta=5m.
Unfortunately, you will stumble upon many inconveniences with such low scrape intervals, such as #9251, with such low scrape intervals. You could look for alternatives, but it is hard to help you without knowing the details. I'd recommend you to use our community channels to see which Prometheus-y solution would better fit your needs.


[10.1.x] ISPN-11285 Compute with off-heap/binary storage throws ClassCastExcep…

…tion
https://issues.redhat.com/browse/ISPN-11285

Merged


Add support for reading aliases from textfiles

I've found that I sometimes want to do a pep-8-ificiation on an external JS library so my code is consistent  from end to end, but managing the large number of aliases involved manually is very hairy.
This allows the user to specify one or more alias files from the compiler command line, and activate/deactivate them using the alias pragma.  A single-argument pragma is assumed to be a file name when adding aliases, and for noalias specifying the file name again removes all aliases which emanate from it.
  __pragma___('alias', 'myaliasfile')

  item.this_is_an_alias ("defined in myaliasfile")

 __pragma__('noalias', 'mayaliasfile')

Alias files can live anywhere on the module search path.
I've found this convenient, though it would be particularly nice to make the aliases part of the module mechanism when the new module code comes on line -- that would allow module authors to provide a degree of 'pythonicity' with their modules for purists who want to opt in to it.  '
Since it's all jus the existing Transcrypt aliases with a little helper scaffolding it has no runtime perf implications.

I was thinking it would be neat to allow a module author to publish alias
files so that module consumers could go with the style they like without
having to trawl through the code and find the changes.  Although it's easy
to do them as you go right now.
I'm going to experiment with an alias file for all the main browser
functions too (like 'getElementById') to see if it feels nicer.   If that
worked we could distribute it with the main Transcrypt since the the code
as given here checks the module search path.
On Mon, Apr 23, 2018 at 2:27 AM, Jacques de Hooge<EMAIL_ADDRESS>wrote:

Merged #519 https://github.com/QQuick/Transcrypt/pull/519.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/QQuick/Transcrypt/pull/519#event-1588673943, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AD3mGIQgBGFSXNNwshZvt5CTKC_VQVHeks5trZ6LgaJpZM4TfFHN
.

So  you mean e.g. that getElementById could be called as get_element_by_id?


Add noise to wind instruments and hammered string blows

Apparently they always have some, due to something something turbulence in the instrument. https://www.soundonsound.com/techniques/synthesizing-simple-flutes

Noise generator AudioWorklet: https://github.com/GoogleChromeLabs/web-audio-samples/blob/main/src/audio-worklet/basic/noise-generator/noise-generator.js

Added bad hammered string blows via a noisy PeriodicWave. Will improve later.

Couldn’t get the wind instrument noise to sound like it’s earned its place there. Will add non-noise-based blows to hammered strings.


task: fix cu assert when use ctrl + c

Summary
task: fix cu assert when use ctrl + c
Backtrace:
backtrace_unwind+0x1da/0x1dc
sched_backtrace+0x1c/0x30
sched_dumpstack+0x20/0x68
_assert+0x1dc/0x45c
__assert+0x8/0x10
nxsem_recover+0x46/0x50
nxtask_recover+0x14/0x20
nxtask_exithook+0x14/0x8c
nxtask_terminate+0x2c/0x50
pthread_cancel+0x44/0x74
cu_main+0x26a/0x400
nxtask_startup+0x14/0x28
nxtask_start+0x4a/0x64
cu have two threads: cu & listener
cu thread
receive ctrl+c
pthread_cancel()
 nxtask_terminate()
   enter_critical_section()
   nxsched_remove_readytorun(listener)
   keep task state to WAIT
   leave_critical_section()
                                    UART RX IRQ happens
                                    sem_post(listener)
                                      remove the sem waitlist failed
                                      but semcount++
   nxtask_recover(listener)
    nxsem_recover(listener)
    semcount < 0 assert failed

Resolve:
Swap the nxtask_recover() & nxsched_remove_readytorun()
Impact
nxtask_terminate
Testing
vela boards & sim

[Experimental Bot, please feedback here]
Let's analyze this Pull Request against the NuttX requirements:
Summary:

GOOD: The summary clearly states the problem ("cu assert when use ctrl + c") and the affected area ("nxtask_terminate").
NEEDS IMPROVEMENT:  The "How" section is very technical.  A higher-level explanation would be better:

Instead of: "Swap the nxtask_recover() & nxsched_remove_readytorun()"
Consider: "The order of operations during thread termination was causing a race condition. The fix reorders these operations to prevent the assert."

MISSING:

Include the related NuttX Issue number. This helps track the bug and links the PR to the original problem report.

Impact:

INCOMPLETE:

"nxtask_terminate"  is not a helpful description. What is the broader impact?  Does this affect only the cu tool, or could other areas be impacted by this change?
Consider each impact category: Explicitly state "NO" or provide a brief explanation if "YES" for all impact areas:

Feature changes
User impact
Build process
Hardware/architecture
Documentation
Security
Compatibility

Testing:

INCOMPLETE:

Build Hosts: Specify the operating system, compiler version, and CPU architecture you used for testing.  For example: "Linux (Ubuntu 22.04), GCC 11.3.0, x86_64"
Targets: Provide specifics about the boards and configurations tested:

Example: "sim:qemu-arm, vela:stm32f4discovery"

Testing Logs: The logs are placeholders. Include actual log snippets from before and after the change, demonstrating the problem and the fix.

Overall:
This PR is a good start, but it needs more detail and completeness to meet the NuttX requirements. Pay close attention to the "Impact" section and provide specific testing information.

this issue already fixed!

No this issue in the newest version, close this PR


Add support for HTTP_PROXY and HTTPS_PROXY

Fixes: https://github.com/Azure/azure-sdk-for-net/issues/6133
Port .net core 3.0 proxy environment variable implementation to be able to support the same behaviour on .NET Framework and .NET Core 2.x
This adds more proxy-related features than required by guidelines but I think it would be simpler to keep it in sync with corefx this way.

@karelz, could somebody from the networking team take a look at this PR?

Is there a plan to make this conditional in some way such that the .NET Core 3 version gets picked up if it exists, or is the intent to supersede that even if it exists?

I'm not sure about it. I was thinking about keeping the same behaviour for everyone, it's pretty easy for customers to revert to framework defaults by creating a new HttpClient() themselves.

Is there any kind of plan for monitoring changes to this file in CoreFX so that we're sure we don't miss any fixes that may happen?

There is no good plan, unfortunately.


Ability to create a blocking client on existing runtime

Hello
I may come into a situation where I'd have an application with a mix of async and some blocking threads. The blocking threads would use the blocking client to perform some operations. But it seems a waste to start another threads and another tokio runtime for the blocking client if the application already has a runtime.
So I was thinking, would it make sense to add something like blocking::ClientBuilder::build_with_runtime(handle: tokio::runtime::Handle)? I would give it a try and submit a pull request if this seems reasonable.

I get what you mean. Hm. I'd personally prefer to not expose exactly how the blocking client works, in this case.

So, would you have an idea for some alternative? I mean, I guess I can live without this, but if you had something elegant that doesn't expose it on your mind, I could try that instead.

No, I don't have an idea for an elegant alternative in reqwest. If you already have a tokio runtime, is it not possible to convert to using the async Client?

Not easily.
Part of the application lives in its own thread because it does some batch heavy lifting. It probably could be rewritten to mark the work intervals as blocking, but if one would be forgotten, it would influence the performance important part. Living its own thread makes it much safer.
Others are APIs of third parties, like sentry. They at least can be given a client to work on instead of starting their own and starting yet another additional thread, but it's the blocking one.


Add comma as a dependent

Add comma as a dependent in the readme and docs
Screenshots (if appropriate):

Checklist

[x] I have read the Contributing Guide
[x] I read and accept the Code of Conduct (TLDR: just behave in a friendly manner)
[x] My code follows the general style of this project
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation (if applicable)
[x] I ensured that the automated checks that ran on this PR have completed successfully
[x] I added myself to the package.json file (optional)

Thanks for submitting a dependent project! This will go live together with v2.2.2


Why the tensorboard scalars figure like that?

I want to using the tensorboard for check the model's training status.
so, I edited the log_config in config file like that.
log_config = dict(     interval=50,     hooks=[         dict(type='TextLoggerHook'),         dict(type='TensorboardLoggerHook')     ])
and using the tensorboard command like that
"tensorboard --port=6007 --logdir=tf_logs"
but, the tensorboard scalars figure something wrong...

but the bbox_mAP is ok.

I think, maybe the acc and loss using the looped step value.
0 ~ 28.35 steps
0 ~ 28.35 steps
...
But, I want to see the log with the increased step
How can I fix that?
Appendix
my config file is like that
default_runtime_1.txt

Hi @ziippy, I guess the saved log for tensorboard has multiple experiments records.

Hi @ziippy, I guess the saved log for tensorboard has multiple experiment records.

No. It was first experiment. not multiple.

This might because that the tf_logs directory contains multiple logs.

This might because that the tf_logs directory contains multiple logs.

In the tensorboard dashboard, you can click on RELATIVE/WALL-TIME to change the x-axis

In the tensorboard dashboard, you can click on RELATIVE/WALL-TIME to change the x-axis


Add support for alternateClientAddr and alternateServerAddr MDC variables

Closes #3032
Add alternateClientAddr and alternateServerAddr MDC variables to support alternative headers defined for the cas.audit.alternateClientAddrHeaderName and cas.audit.alternateServerAddrHeaderName properties.
The above mentioned MDC variables will only return a value if cas.audit.alternateClientAddrHeaderName or cas.audit.alternateServerAddrHeaderName are defined. Otherwise, null will be returned. This is the same behavior if attempting to call a nonexistent MDC variable (ex. %X{foo}).
This implemented was tested by setting cas.audit.alternateClientAddrHeaderName to X-FORWARDED-FOR . After initiating a request  to CAS, the alternateClientAddr MDC variable contained the client IP address in the X-FORWARDED-FOR header.
I am fairly certain this change can be back ported as-is to the 5.0.x and 5.1.x branches as well.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Coverage decreased (-0.007%) to 45.617% when pulling d634c0d2026eeff6794b087beaf47778d130a613 on owski:CAS-3032 into 09b2d1b84602004625438c273f3f91a5fd732eef on apereo:master.

The changes have been made.
Initiating a request now exposes the following headers (this will be different per-implementation) as MDC variables.

accept
accept-encoding
accept-language
connection
content-type
cookie
dnt
host
referer
upgrade-insecure-requests
user-agent
x-forwarded-for

I verified that MDC variables with dashes rendered as expected (ex: %X{x-forwarded-for}).
There is one potential limitation worth mentioning - according to the javax.servlet.http.HttpServletRequest documentation, getHeaderNames() may return null if the servlet container does not allow this method. I added a null check which should be sufficient in this case.

an enumeration of all the header names sent with this request; if the request has no headers, an empty enumeration; if the servlet container does not allow servlets to use this method, null

Coverage increased (+0.0005%) to 45.624% when pulling 80b9a5d11060225b9a33fa5f4405e6f1a9361e25 on owski:CAS-3032 into 09b2d1b84602004625438c273f3f91a5fd732eef on apereo:master.


doesn't work in 64x?

tried to use 64x python to avoid the memory issue discussed in #54 , but get
Traceback (most recent call last):   File "jumpcutter.py", line 4, in <module>     from audiotsm import phasevocoder   File "D:\Program Files\Python\lib\site-packages\audiotsm\__init__.py", line 35, in <module>     from .ola import ola   File "D:\Program Files\Python\lib\site-packages\audiotsm\ola.py", line 8, in <module>     from audiotsm.base import AnalysisSynthesisTSM, Converter   File "D:\Program Files\Python\lib\site-packages\audiotsm\base\__init__.py", line 12, in <module>     from .analysis_synthesis import AnalysisSynthesisTSM, Converter   File "D:\Program Files\Python\lib\site-packages\audiotsm\base\analysis_synthesis.py", line 8, in <module>     import numpy as np   File "D:\Program Files\Python\lib\site-packages\numpy\__init__.py", line 142, in <module>     from . import core   File "D:\Program Files\Python\lib\site-packages\numpy\core\__init__.py", line 23, in <module>     WinDLL(os.path.abspath(filename))   File "D:\Program Files\Python\lib\ctypes\__init__.py", line 356, in __init__     self._handle = _dlopen(self._name, mode) OSError: [WinError 193] %1 is not a valid Win32 application
what's wrong with audiotsm? is it not build for 64 or is just a windows fucky thing?
i am big noob

Ffmpeg was installed wrong
On Wed, May 15, 2019, 8:49 PM neonfishingrod<EMAIL_ADDRESS>wrote:

tried to use 64x python to avoid the memory issue discussed in #54
https://github.com/carykh/jumpcutter/issues/54 , but get
Traceback (most recent call last): File "jumpcutter.py", line 4, in
 from audiotsm import phasevocoder File "D:\Program
Files\Python\lib\site-packages\audiotsm_init_.py", line 35, in
from .ola import ola File "D:\Program
Files\Python\lib\site-packages\audiotsm\ola.py", line 8, in  from
audiotsm.base import AnalysisSynthesisTSM, Converter File "D:\Program
Files\Python\lib\site-packages\audiotsm\base_init_.py", line 12, in
 from .analysis_synthesis import AnalysisSynthesisTSM, Converter
File "D:\Program
Files\Python\lib\site-packages\audiotsm\base\analysis_synthesis.py", line
8, in  import numpy as np File "D:\Program
Files\Python\lib\site-packages\numpy_init_.py", line 142, in
from . import core File "D:\Program
Files\Python\lib\site-packages\numpy\core_init_.py", line 23, in
 WinDLL(os.path.abspath(filename)) File "D:\Program
Files\Python\lib\ctypes_init_.py", line 356, in init self._handle =
_dlopen(self._name, mode) OSError: [WinError 193] %1 is not a valid Win32
application
what's wrong with audiotsm? is it not build for 64 or is just a windows
fucky thing?
i am big noob
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/carykh/jumpcutter/issues/107?email_source=notifications&email_token=AKVJJ3MSHB2QAMXUAFINVLTPVTKU3A5CNFSM4HNIWVL2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUCG3PA,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKVJJ3OJCATSQCEJVQ2OZJ3PVTKU3ANCNFSM4HNIWVLQ
.

shouldn't be it, worked fine with 32x python. should i be doing more than extracting the build

Ffmpeg was installed wrong
…
On Wed, May 15, 2019, 8:49 PM neonfishingrod @.***> wrote: tried to use 64x python to avoid the memory issue discussed in #54 <#54> , but get Traceback (most recent call last): File "jumpcutter.py", line 4, in  from audiotsm import phasevocoder File "D:\Program Files\Python\lib\site-packages\audiotsm_init_.py", line 35, in  from .ola import ola File "D:\Program Files\Python\lib\site-packages\audiotsm\ola.py", line 8, in  from audiotsm.base import AnalysisSynthesisTSM, Converter File "D:\Program Files\Python\lib\site-packages\audiotsm\base_init_.py", line 12, in  from .analysis_synthesis import AnalysisSynthesisTSM, Converter File "D:\Program Files\Python\lib\site-packages\audiotsm\base\analysis_synthesis.py", line 8, in  import numpy as np File "D:\Program Files\Python\lib\site-packages\numpy_init_.py", line 142, in  from . import core File "D:\Program Files\Python\lib\site-packages\numpy\core_init_.py", line 23, in  WinDLL(os.path.abspath(filename)) File "D:\Program Files\Python\lib\ctypes_init_.py", line 356, in init self._handle = _dlopen(self._name, mode) OSError: [WinError 193] %1 is not a valid Win32 application what's wrong with audiotsm? is it not build for 64 or is just a windows fucky thing? i am big noob — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub <#107?email_source=notifications&email_token=AKVJJ3MSHB2QAMXUAFINVLTPVTKU3A5CNFSM4HNIWVL2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4GUCG3PA>, or mute the thread https://github.com/notifications/unsubscribe-auth/AKVJJ3OJCATSQCEJVQ2OZJ3PVTKU3ANCNFSM4HNIWVLQ .

that shouldn't be it, i tried 2 older builds of ffmpeg as well, and it worked fine in 32x version of python.


Add documentation for new Reliability rule CA2008 (DoNotCreateTasksWithoutPassingATaskScheduler) in FxCop analyzers

Does not exist in legacy FxCop
Rule Implementation: https://github.com/dotnet/roslyn-analyzers/blob/32d8f1e397439035f0ecb5f61a9e672225f0ecdb/src/Microsoft.NetCore.Analyzers/Core/Tasks/DoNotCreateTasksWithoutPassingATaskScheduler.cs#L14
Rule message and description: https://github.com/dotnet/roslyn-analyzers/blob/32d8f1e397439035f0ecb5f61a9e672225f0ecdb/src/Microsoft.NetCore.Analyzers/Core/Tasks/SystemThreadingTasksAnalyzersResources.resx#L120-L128

  <data name="DoNotCreateTasksWithoutPassingATaskSchedulerTitle" xml:space="preserve">
    <value>Do not create tasks without passing a TaskScheduler</value>
  </data>
  <data name="DoNotCreateTasksWithoutPassingATaskSchedulerDescription" xml:space="preserve">
    <value>Do not create tasks unless you are using one of the overloads that takes a TaskScheduler. The default is to schedule on TaskScheduler.Current, which would lead to deadlocks. Either use TaskScheduler.Default to schedule on the thread pool, or explicitly pass TaskScheduler.Current to make your intentions clear.</value>
  </data>
  <data name="DoNotCreateTasksWithoutPassingATaskSchedulerMessage" xml:space="preserve">
    <value>Do not create tasks without passing a TaskScheduler</value>
  </data>

Unit tests for reference: https://github.com/dotnet/roslyn-analyzers/blob/9c08642f76abffb8cce34aa1971a046e69ce710d/src/Microsoft.NetCore.Analyzers/UnitTests/Tasks/DoNotCreateTasksWithoutPassingATaskSchedulerTests.cs#L16

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

ID: a1b1e122-10d7-7c20-b802-097db9dfa58a
Version Independent ID: 465b7427-04d3-ba5d-5a3a-88425b82f171
Content: Reliability Warnings - Visual Studio
Content Source: docs/code-quality/reliability-warnings.md
Product: visual-studio-windows
Technology: vs-ide-code-analysis
GitHub Login: @gewarren
Microsoft Alias: gewarren

This is a chicken and egg problem. The link needs to exist to be on the diagnostic and the diagnostic needs to exist to have documentation.
I propose that the links be like C# compiler message links and have just the ID. This way, a diagnostic can have a link automatically assigned.

Bootsrapped: https://github.com/paulomorgado/MicrosoftDocs-visualstudio-docs/tree/paulomorgado/ca2008


Read data from an other thread

Hello, I'm learning how to use Druid and I can't find a way of reading the app data from an external thread. I'm looking for something like let data_reader = launcher.get_external_reader(); let data: AppData = data_reader.get_data().
Thanks for your time.

There is no convenient way to directly read data from another thread. What you could do though is send a Command when the need arises, using ExtEventSink. Then on the main thread you will receive this Command and also have access to the app data. The Command payload can contain info you need on what exactly needs to happen. If the external thread needs some data back too, then you need another mechanism on top. For example a channel - where you send the Sender with the Command and listen with the Receiver on the other thread until the main thread handles the Command, processes the data, and sends the results back via the channel.

IIRC when I was writing https://github.com/ratmice/neewerctl/blob/main/src/main.rs it uses the add_idle_callback rather than submit_command.  Which is a bit uglier, and I forget exactly why, but there was some reason (some trait bounds that could not be satisfied with the Command approach, I believe).
There are examples of both these approaches in the repository
https://github.com/linebender/druid/blob/master/druid/examples/blocking_function.rs
https://github.com/linebender/druid/blob/master/druid/examples/async_event.rs


Too many unexpected logs in arcadia-controller during startup

seems related to evaluation controller, check if any improvement we can do
1.7085693500759075e+09  ERROR   Reconciler error        {"controller": "namespace", "controllerGroup": "", "controllerKind": "Namespace", "namespace": {"name":"kube-public"}, "namespace": "", "name": "kube-public", "reconcileID": "30b5b428-41dd-4410-95df-79841c9607f3", "error": "Operation cannot be fulfilled on clusterrolebindings.rbac.authorization.k8s.io \"ragas-eval-clusterrolebinding\": the object has been modified; please apply your changes to the latest version and try again"}
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.2/pkg/internal/controller/controller.go:273
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
        /go/pkg/mod/sigs.k8s.io/controller-runtime@v0.12.2/pkg/internal/controller/controller.go:234

some other errors:
E0222 03:04:30.153591       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: Failed to watch *v1.ClusterRoleBinding: unknown (get clusterrolebindings.rbac.authorization.k8s.io)
E0222 03:05:22.374286       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: Failed to watch *v1.ClusterRoleBinding: unknown (get clusterrolebindings.rbac.authorization.k8s.io)
E0222 03:06:04.596929       1 reflector.go:138] pkg/mod/k8s.io/client-go@v0.24.2/tools/cache/reflector.go:167: Failed to watch *v1.ClusterRoleBinding: unknown (get clusterrolebindings.rbac.authorization.k8s.io)

https://github.com/kubeagi/arcadia/blob/303c12278739924273c740ca427d51058bf3ad97/controllers/base/namespace_controller.go#L248
is the problem here, and equivalence should be considered when looking it up. It wasn't considered before, resulting in adding to clusterrolebinding once per reboot.


When having a map/dataset shared with some users we should show it on the privacy modal

It was designed, right?
Also when not having any user, we shouldn't show the small number as it looks the number of users with access to that item.

There is no screen for it, and it's not implemented ATM. Should it be the same as on delete items?

Based on what we discussed in person (can't find and summary in the previous PRs), we concluded that privacy option do not affect other users. What we did design and implement was if read/write access was revoked but inline, like this:

Has this changed?

Yes we should use that design
No, that didn't change!

Ok, so then the only thing to fix for this issue would be when not having any user, we shouldn't show the small number as it looks the number of users with access to that item, right?

Yep


Add Linux Foundation

https://www.linuxfoundation.org/resources/open-source-guides/

I'm not sure what you're proposing. Please read our CONTRIBUTING and README files for background on what choosealicense.com is and how to contribute.

I'm proposing including the Linux Foundation which is either the largest or
one of the largest open source repositories in the world, in terms of
companies and market capitalization based on open source licenses.
Plus Apache, which has an even simpler model than MIT.
https://www.apache.org/licenses/LICENSE-2.0
On Thu, Sep 17, 2020 at 12:53 PM Mike Linksvayer<EMAIL_ADDRESS>wrote:

I'm not sure what you're proposing. Please read our CONTRIBUTING
https://github.com/github/choosealicense.com/blob/gh-pages/CONTRIBUTING.md
and README files for background on what choosealicense.com is and how to
contribute.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/github/choosealicense.com/issues/773#issuecomment-694464030,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGHIKPMO6N2SA4UHQD6II5DSGJSLHANCNFSM4RQ3W22A
.

This repo only catalogs licenses, not organizations. There's actually another project inspired by this one for the latter, see https://github.com/ShaneCurcuru/chooseafoundation
I'm not sure how Apache-2.0 could be characterized as simpler than MIT, but in any case it's already cataloged here, see https://choosealicense.com/licenses/apache-2.0/


Ondrej michal design overview and part list

Hi,
the unit tests are put together for convenince purposes. I think I need to run the script and calculated also for part lists. See test_DesignOverview.py line 34 onwards.


add: Arijit Ghosh

Description

Related Issues

Changes Proposed

Checklist

[x] I have read and followed the Contribution Guidelines.
[x] All new and existing tests passed.
[x] I have updated the documentation to reflect the changes I've made.
[x] My code follows the code style of this project.
[x] The title of my pull request is a short description of the requested changes.

Screenshots
Note to reviewers

add: Arijit Ghosh


Review FeatureManagement (Microsoft)

Review the Feature Management framework from Microsoft.

What does it require to implement in the back-end
Document (Wiki page) what steps are required for introducing a new feature. How do you add a feature, guard a feature etc.
Can it be implemented in Blazor (tertiary)
If it can, document how to use in Blazor

I'd like to grab this one also


Override LogField constructor to avoid reinterpret_cast at call site

Alternative to #8900
This adds a LogField constructor override that accepts the unmarshal function with the additional slice parameter and handles the reinterpret cast.  This lets the type system handle the decision to cast and removes that requirement of the caller.

This isn't necessary for 9.2.x, for now at least. If we start getting merge conflicts, we will revisit.


Support dataclass in JSONEncoder (if available)

Support dataclass to be encoded with jsonify using dataclasses.as_dict().

Hi,
I am facing a problem with the tests,
PyTest is failing because of the type hints (python < 3.5), but dataclasses can not be defined without those.
Do you have an idea, how to deal with that?

@ThiefMaster Is something still missing or is it fine, like it is?


Changelog of beta.

Hi @apache/skywalking-committers I just finish the changelog for our incoming beta release. Please review in case I miss any new update.
6.0.0-beta
Protocol

Provide Trace Data Protocol v2
Provide SkyWalking Cross Process Propagation Headers Protocol v2.

Java Agent

Support Trace Data Protocol v2
Support SkyWalking Cross Process Propagation Headers Protocol v2.
Support SkyWalking Cross Process Propagation Headers Protocol v1 running in compatible way. Need declare open explicitly.
Support SpringMVC 5
Support webflux
Support a new way to override agent.config by system env.
Span tag can override by explicit way.
Fix ElasticSearch plugin NPE.
Fix agent classloader dead lock in certain situation.
Fix agent log typo.
Fix wrong component id in resettemplete plugin.
Fix use transform ignore() in wrong way.
Fix H2 query bug.

Backend

Support Trace Data Protocol v2. And Trace Data Protocol v1 is still supported.
Support MySQL as storage.
Support TiDB as storage.
Support a new way to override application.yml by system env.
Support service instance and endpoint alarm.
Support namespace in istio receiver.
Support service throughput(cpm), successful rate(sla), avg response time and p99/p95/p90/p75/p50 response time.
Support backend trace sampling.
Support Zipkin format again.
Support init mode.
Support namespace in Zookeeper cluster management.
OAL generate tool has been integrated into main repo, in the maven compile stage.
Optimize trace paging query.
Fix trace query don't use fuzzy query in ElasticSearch storage.
Fix alarm can't be active in right way.
Fix unnecessary condition in database and cache number query.
Fix wrong namespace bug in ElasticSearch storage.
Fix Remote clients selector error: / by zero .
Fix segment TTL is not working.

UI

Support service throughput(cpm), successful rate(sla), avg response time and p99/p95/p90/p75/p50 response time.
Fix TopN endpoint link doesn't work right.
Fix trace stack style.
Fix CI.

Document

Add more agent setting documents.
Add more contribution documents.
Update user wall and powered-by page.
Add RocketBot UI project link in document.

All issues and pull requests are here

Coverage decreased (-0.002%) to 14.425% when pulling 2e5683ddff40bb01dda9bfceafa59b458d7cd472 on changelog into 1bc5de7af9e1dddc794f278eb451ec1d7beb2d92 on master.

Agent: Fix Spring Controller Inherit issue.

Agent: Fix Spring Controller Inherit issue.

Done.


zsh: segmentation fault  python

Hi, i install the football env in macos and python 3.8.8.
I have not encountered error when I run
brew install git python3 cmake sdl2 sdl2_image sdl2_ttf sdl2_gfx boost boost-python3
and
pip install gfootball.
However, it shows "segmentation fault" when import gfootball
[Clang 10.0.0 ] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.

import gfootball
zsh: segmentation fault  python

Hi @yanxue7, I've just created a PR (#313) that allows running gfootball in Conda environment on macOS. You can try it even before it get merged into master.
Also, please check out the documentation of compiling gfootball on macOS.


Brobot config file issue

I'm starting this issue to cover an error I encountered during the configuration of Brobot using Gradle. I tried copying the configurations you used, but I have a problem. When I try to call import io.github.jspinak.brobot.BrobotSettings; in a class, it says that BrobotSettings and also io.github cannot be resolved. So the build seems to be working but the import don't work.
build.gradle:
plugins {
	id 'java'
	id 'io.freefair.lombok' version '8.6'
	id 'org.springframework.boot' version '3.2.4'
	id 'io.spring.dependency-management' version '1.1.4'
}

// module-specific configurations
group = 'io.github.jspinak.brobot'
version = '0.0.1-SNAPSHOT'

java {
	sourceCompatibility = '22'
}

configurations {
	compileOnly {
		extendsFrom annotationProcessor
	}
}

repositories {
	mavenCentral()
}

dependencies {
	implementation project(':library')
	compileOnly 'org.projectlombok:lombok'
	annotationProcessor 'org.projectlombok:lombok'

	// JUnit Jupiter for testing
	testImplementation 'org.junit.jupiter:junit-jupiter-api:5.10.2'
	testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.10.2'
	// Spring Boot Starter Test for Spring Boot testing support
	implementation 'org.springframework.boot:spring-boot-starter-test'
	implementation group: 'com.h2database', name: 'h2', version: '2.2.224'

	implementation 'org.springframework.boot:spring-boot-starter-web'
	//implementation 'jakarta.persistence:jakarta.persistence-api:3.1.0'
	// database
	implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
	implementation 'org.springframework.boot:spring-boot-starter-data-rest'
	//implementation group: 'org.postgresql', name: 'postgresql', version: '42.7.1'
	testImplementation group: 'com.h2database', name: 'h2', version: '2.2.224'

	implementation('com.sikulix:sikulixapi:2.0.5') {
		exclude group: 'org.slf4j', module: 'slf4j-nop'
	}
	implementation 'ch.qos.logback:logback-classic:1.4.12'

	implementation group: 'org.bytedeco', name: 'javacv-platform', version: '1.5.10'
	implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.0'
	implementation 'com.github.kwhat:jnativehook:2.2.2'

	//testAnnotationProcessor 'org.projectlombok:lombok'
	implementation 'org.projectlombok:lombok-mapstruct-binding:0.2.0'
	//testImplementation 'org.projectlombok:lombok-mapstruct-binding:0.2.0'
	implementation group: 'org.apache.commons', name: 'commons-lang3', version: '3.14.0' // for mapstruct issue

	implementation 'org.mapstruct:mapstruct:1.5.5.Final'
	annotationProcessor 'org.mapstruct:mapstruct-processor:1.5.5.Final'
	testAnnotationProcessor 'org.mapstruct:mapstruct-processor:1.5.5.Final'

}
test {
	useJUnitPlatform()
}

// Configure MapStruct compiler arguments
tasks.withType(JavaCompile) {
	options.compilerArgs += [
			'-Amapstruct.defaultComponentModel=spring'
	]
}

When using the latest code on GitHub, I would recommend

creating a new project at start.spring.io
cloning the Brobot repository
putting both the Brobot repo and your project into the same folder (i.e. parent folder with the 2 project folders)
using gradle to create a JAR file of the library module in Brobot
adding a dependency to this JAR file in your project's build.gradle file: implementation files('../brobot/library/build/libs/brobot-1.0.7.jar')

I'll add a section in the documentation website to show how to do this in more detail. It might take a few hours.
The code you have would work for multi-module projects, but it's cleaner to keep the Brobot code separate from your code.

https://jspinak.github.io/brobot/docs/tutorial-using-the-latest-code-in-github/intro/

Which Java version are you using? I followed your tutorial and it seems my version isn't good. However, I tested with JDK 17.0.2 first and then with JDK 22.0.1, and it didn't work because of the build issues (that's why my jar file isn't created).
Here is my arborescence (i didnt change the config files):

And here is the build errors I get :
For myNrpnptApp-main:

And for brobot :
A problem occurred configuring root project 'brobot'.
> Could not resolve all files for configuration ':classpath'.
   > Could not resolve org.springframework.boot:spring-boot-gradle-plugin:3.2.4.
     Required by:
         project : > org.springframework.boot:org.springframework.boot.gradle.plugin:3.2.4
      > No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.2.4 was found. The consumer was configured to find a library for use during runtime, compatible with Java 14, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '8.5' but:
          - Variant 'apiElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.4 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 14
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.5')
          - Variant 'javadocElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.4 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 14)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.5')
          - Variant 'mavenOptionalApiElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.4 declares a library, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component for use during compile-time, compatible with Java 17 and the consumer needed a component for use during runtime, compatible with Java 14
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.5')
          - Variant 'mavenOptionalRuntimeElements' capability org.springframework.boot:spring-boot-gradle-plugin-maven-optional:3.2.4 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 14
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.5')
          - Variant 'runtimeElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.4 declares a library for use during runtime, packaged as a jar, and its dependencies declared externally:
              - Incompatible because this component declares a component, compatible with Java 17 and the consumer needed a component, compatible with Java 14
              - Other compatible attribute:
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.5')
          - Variant 'sourcesElements' capability org.springframework.boot:spring-boot-gradle-plugin:3.2.4 declares a component for use during runtime, and its dependencies declared externally:
              - Incompatible because this component declares documentation and the consumer needed a library
              - Other compatible attributes:
                  - Doesn't say anything about its target Java version (required compatibility with Java 14)
                  - Doesn't say anything about its elements (required them packaged as a jar)
                  - Doesn't say anything about org.gradle.plugin.api-version (required '8.5')
```

Can you double-check the Java versions for both Brobot and myBrobotApp-main? There are 3 places in IntelliJ where the Java version can be changed:
Settings -> Gradle -> Gradle JVM: Project SDK 20
Project Structure -> Project Settings -> Project: SDK = 20
Project Structure -> Platform Settings -> SDKs = 20
I would treat the two folders - Brobot and myBrobotApp-main - as separate projects. You can open them separately in IDE windows. You'll only need to use the Brobot project when you want to update the code and build a new JAR.

Ok, so I resolved my issue by changing the Gradle version in IntelliJ. I set up version 20 for brobot and 17 for myBrobotApp-main, and now both builds are working. Thanks a lot for your help.


feat: Use indexes for LogData

Pull Request type
Please add the labels corresponding to the type of changes your PR introduces:

Feature

What is the current behavior?
Resolves: #537
What is the new behavior?

Added SerializableFelt252Dict struct & its unit tests
Replaced LogData members & functions with SerializableFelt252Dict & added tests
Replaced places where LogData is used/created to align with those changes

Does this introduce a breaking change?
No

Tried multiple things but looks like it's not possible yet.
Ori answered me on the discord for one of my questions:

it is not possible to copy or clone Dicts currently - this isn't actually possible to implement in this context.
SquashedFelt252Dict will be possible to implement if we allow casting it into some sort of an array, but we are yet to provide that possiblity

Then using a Felt252Dict or any others data structure that involves one is not possible.
@Sk8erboi84 is also checking but this looks like a dead end for this particular implementation, maybe we can update it to be more "Cairo-compliant" but not sure. We can also keep it as is & wait for Cairo to support it.
Happy to have your thoughts! @sparqet @zarboq

Ready for a review! @Sk8erboi84


exact-owner restriction for list not working

When I'm trying to get a directory listing with only files showing that have a specific owner, the google API says the query is invalid:
$ drive list -exact-owner 'Roger Lehmann'
googleapi: Error 400: Invalid query, invalid

Am I missing something here or is it a real problem? I also tried to specify a folder behind the username and use the mail address as username.

Hello again @HontoNoRoger. Thanks for reporting this. This is a bug that unfortunately I haven't yet had any time to address.


Receiving ConnectMemoryConnectFail

I am getting the Error MbedCloudClient::ConnectMemoryConnectFail while running the official Connect Guide.
Target: nucleo_f207zg
I have compiled this program both with mbed CLI (ARM-GCC) and the Online Compiler, both getting the same error.
This is what I am getting:
[BOOT] Mbed Bootloader
[BOOT] ARM:<PHONE_NUMBER>0000000000
[BOOT] OEM:<PHONE_NUMBER>0000000000
[BOOT] Layout: 0 80079C8
[BOOT] Active firmware integrity check:
[BOOT] SHA256: 7C60E8509CD265EF51AA3A456B6062955CAF5C6F39E49B10BAF395AE01AAE8F0
[BOOT] Version:<PHONE_NUMBER>
[BOOT] Slot 0 is empty
[BOOT] Active firmware up-to-date
[BOOT] Application's start address: 0x8010400
[BOOT] Application's jump address: 0x8039E41
[BOOT] Application's stack address: 0x20020000
[BOOT] Forwarding to application...
Starting Simple Pelion Device Management Client example
You can hold the user button during boot to format the storage and change the device identity.
Connecting to the network using the default network interface...
Connected to the network successfully. IP address: <IP_ADDRESS>
Initializing Pelion Device Management Client...
Initialized Pelion Device Management Client. Registering...
**** current_size: 18113
**** max_size    : 20074
[SMCC] Error occurred : MbedCloudClient::ConnectMemoryConnectFail
[SMCC] Error code : 9
[SMCC] Error details : Client cannot connect anymore Memory allocation failed
I have tried increasing the nanostack-hal.event_loop_thread_stack_size with no success.
How can I fix this? THANK YOU!

ARM Internal Ref: IOTCLT-3409

Hi @GregorioMarquez, it is possible that the application is not able to access the full 128 KB on that board.
For. ex. see https://github.com/ARMmbed/mbed-os/pull/9588 which is similar board and the .bss has been moved to SRAM2.
cc: @MarceloSalazar

Hello @teetak01, I was looking at the memory mapping at the  STM32L475xx and it does have SRAM1 and SRAM2, but the STM32F207xx only have one memory space SRAM, so it is not possible to move the .bss to another memory location. Do you have any recommendations
on this?

This repository is for issues with the core Device Management Client library.
Alternatively you can also use https://github.com/ARMmbed/mbed-cloud-client-example, although you will need to provide the board configuration yourself. If you can produce the issue with that reference example, then you can open a new issue to that repository. Tutorial for that application can be found from: https://cloud.mbed.com/docs/current/connecting/mbed-os.html and porting guide in https://cloud.mbed.com/docs/current/porting/porting-a-new-target-for-mbed-os.html.
Note that https://os.mbed.com/guides/connect-device-to-pelion does not use https://github.com/ARMmbed/mbed-cloud-client-example

Out of memory issue might be remedied with Client version 3.1.0 release, as the minimal configuration now uses a significantly smaller amount of RAM.

https://www.pelion.com/docs/device-management/current/cloud-requirements/requirements-for-production-devices.html

The new version did fixed this issue, thanks!


Add confRev to table

At least one of our IEDs requires the confRev of a SV stream control block to be manually populated in the ICT.
Adding this row would help with the exercise.

Quite right. Great idea! I'd been thinking to use the publisher plugin for this information but this might be even better.


Import node.js's WASI imports in Asyncify

Hi,
TLDR: Would it be possible to import the default node.js WASI.wasiImport for  wasi_snapshot_preview1?
My goal is to run execute golang code that is compiled to WASI in node.js.
For that I used the tinygo compiler and as I compile to WASI am required to provide the import wasi_snapshot_preview1. Usually, without Asyncify, that works fine for me. I just take the default implementation from node.js's WASI.
const { WASI } = require("wasi");
const wasi = new WASI();

WebAssembly.instantiate(wasm, {
            wasi_snapshot_preview1: wasi.wasiImport,
            env: {
                  ...

This does not seem to work in the implementation of Asyncify.
        const wasmInstance = new Asyncify.Instance(wasmModule, {
            wasi_snapshot_preview1: wasi.wasiImport,
            env: {
                      ...

In this concrete example i get
Module loading failed: TypeError: WebAssembly.Instance(): Import #0 module="wasi_snapshot_preview1" error: module is not an object or function     at new Instance (c:\Users\...\asyncify.mjs:171:5)
Which is probably because of how the imports are wrapped and handled inside of asyncify. Therefore I thought I should directly try it in the asyncify.mjs file like so:
export class Instance extends WebAssembly.Instance {
  constructor(module, imports) {
    let state = new Asyncify();
    let a = { env: state.wrapImports(imports).env, wasi_snapshot_preview1: wasi.wasiImport }
    console.log(a)
    super(module, a);
    state.init(this, imports);
  }
...
}

This yieds the following error:
'TypeError: Cannot read properties of undefine…\wasi.js:14:30', message: 'Cannot read properties of undefined (reading 'memory')'}
My issue might be somewhat related to [this issue].(https://github.com/GoogleChromeLabs/asyncify/issues/8)
As mentioned in the other issue, it might be that my problem needs to be fixed on the tinygo side. Im not entirely sure though.
Expected Behavior
I would be able to import the default wasi implementation of node.js.
Actual Behavior
I cant import the default wasi implementation of node.js.
Steps to Reproduce the Problem
see examples above
Specifications

Version: 1.2.0
Platform: Windows/ WSL2

Module loading failed: TypeError: WebAssembly.Instance(): Import #0 module="wasi_snapshot_preview1" error: module is not an object or function at new Instance (c:\Users...\asyncify.mjs:171:5)

What is wasm in your example?

This yieds the following error:
'TypeError: Cannot read properties of undefine…\wasi.js:14:30', message: 'Cannot read properties of undefined (reading 'memory')'}

It's really hard to tell what's going on without error stacktrace, but it sounds like some side is expecting memory to be either imported or exported. At least from Asyncify side, it expects that there is a memory export in the Wasm module - is there one?
Also, I see you're manually wrapping imports, but are you wrapping exports as well?

Okay, i think ive made a mistake in the first example, i put everything together and now i do get the same memory error on both solutions.
...Cannot read properties of undefined (reading 'memory')'}
Nevertheless left it in my fork where i demonstrate my issue. Should now be relatively straight forward to understand what my issue is.
https://github.com/Pl8tinium/asyncify/blob/master/example/node_golang/setup.md

i think its the "responsibility" of the WebAssembly.Instance class to export memory (WebAssembly.Memory), which in theory should happen as you just inherit from it, though this doesnt seem to be the case. But not sure if my assumptions here are going into the right direction..

"but are you wrapping exports as well" is this necessary? without using asyncify i just had to provide the imports

"but are you wrapping exports as well" is this necessary

Yes, otherwise your exports won't become Promises, and will return too early.

mmh im a bit clueless, is what you mean by wrapping exports to put them into a separate file and export them instead?
https://github.com/Pl8tinium/asyncify/blob/master/example/node_golang/imports.mjs
Or do you mean that to invoke the function i need to screw the exports back on the original WASI object?
import pkg from 'asyncify-wasm';
const Asyncify = pkg;
import { WASI }  from "wasi";
const wasi = new WASI();
...

const wasmInstance = new Asyncify.Instance(wasmModule, {
  wasi_snapshot_preview1: wasi.wasiImport,
...

wasi.exports = wasmInstance.exports;
console.log(wasi.exports.MyAsyncFunction())

As far as i understand it asyncify now needs explicit mentions of the async functions(https://github.com/WebAssembly/binaryen/issues/2322). Thats what this "wrapping exports" is for, right?
And at the end i still got my memory issue, which i was not successful to solve. The "wrapping exports" should not be related to this issue, right?

@RReverser do you have an idea on what i could try or look into next?

Sorry, no, I'm afraid I don't have time to dig in into a 3rd-party project. I can fix a bug if it turns out to be one in this library, but I'll heave to leave further investigation to you.

i found out my issues:

only use node version 16 (or lower?)

never use a debugger when running wasm code inside of js

everything works now as expected
ty, for your quick responses!


Find all the references to curly braces and make them consistent

My brief research suggests that "braces" eq "curly braces" is American-English, so I figure we should disambiguate globally.

mmm. I'd also be happy to "curly bracket" all of these.

Thanks a lot!

nice :+1:


force calibration to compile

This is intentional, otherwise the calibration program would be built when this repo is included as a submodule.
You can build the calibration (and main) program without changing anything by running CTest from the pico-scale directory.

Yes, I agree with you.
Something about my setup and/or lack of CMake knowledge meant that even when running CTest it would not compile calibration for me (but it would compile the rest).
When you say "run CTest", can you provide exactly what you do just in case I am missing something?
Also, I didn't intend to make a pull request (I am pretty new to submodules in git) - that commit was intended for myself only.


Dependency problem on Ubuntu 15.04

Chef::Exceptions::ResourceNotFound
----------------------------------
Cannot find a resource matching execute[apt-get-update] (did you define it first?)

What version of Chef are you using? Is it chef-solo, chef-zero or chef-server?

chef-solo, version 12.6.0

Have you tried with an older version? This smells like either a Chef bug!

in the end I used the official chef php cookbook and created my own phpmyadmin recipe

i got the same error on Ubuntu 12.04, chef-solo 12.9.38, but tried several versions down to 12.0.0 - same error.
how can i get it working?