invalid_grant exception in /league/oauth2-google

I used the league OAuth2 successfully multiple times from PHPMailer with gmail. But, sometime later (days, maybe a week) my app started to receive the below error. I am baffled - not even sure where to start debug - any help appreciated. I did not recreate the refresh token or change anything else in my google developer client ID. My PHP mailer code looks very similar to what was reported a long time ago in issue https://github.com/thephpleague/oauth2-client/issues/809. My error also was un-caught until I resolved that (see below) so I could obtain the entire stack trace shown here.
League\OAuth2\Client\Provider\Exception\IdentityProviderException: invalid_grant in /var/app/current/vendor/league/oauth2-google/src/Provider/Google.php:120
Stack trace:
#0 /var/app/current/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(628): League\OAuth2\Client\Provider\Google->checkResponse(Object(GuzzleHttp\Psr7\Response), Array)
#1 /var/app/current/vendor/league/oauth2-client/src/Provider/AbstractProvider.php(537): League\OAuth2\Client\Provider\AbstractProvider->getParsedResponse(Object(GuzzleHttp\Psr7\Request))
#2 /var/app/current/vendor/phpmailer/phpmailer/src/OAuth.php(115): League\OAuth2\Client\Provider\AbstractProvider->getAccessToken(Object(League\OAuth2\Client\Grant\RefreshToken), Array)
#3 /var/app/current/vendor/phpmailer/phpmailer/src/OAuth.php(128): PHPMailer\PHPMailer\OAuth->getToken()
#4 /var/app/current/vendor/phpmailer/phpmailer/src/SMTP.php(583): PHPMailer\PHPMailer\OAuth->getOauth64()
#5 /var/app/current/vendor/phpmailer/phpmailer/src/PHPMailer.php(2073): PHPMailer\PHPMailer\SMTP->authenticate('', '', 'XOAUTH2', Object(PHPMailer\PHPMailer\OAuth))
#6 /var/app/current/vendor/phpmailer/phpmailer/src/PHPMailer.php(1887): PHPMailer\PHPMailer\PHPMailer->smtpConnect(Array)
#7 /var/app/current/vendor/phpmailer/phpmailer/src/PHPMailer.php(1609): PHPMailer\PHPMailer\PHPMailer->smtpSend('Date: Fri, 19 M...', 'CheckLog News R...')
#8 /var/app/current/vendor/phpmailer/phpmailer/src/PHPMailer.php(1442): PHPMailer\PHPMailer\PHPMailer->postSend()
#9 /var/app/current/(my calling app).php(167): PHPMailer\PHPMailer\PHPMailer->send()
(... remainder of stack trace omitted - just my calling chain above PHPMailer ...)
I was able to catch the error by changing the line shown in issue #809 :
catch (IdentityProviderException $e)
with just:
catch (Exception $e)
Thanks

Nevermind.  I resolved this.  It was a vanilla case of a legitimate grant failure.  I thought gmail refresh tokens were perpetual but this is not always the case.  I fell prey to this exception (from google's docs):
"A Google Cloud Platform project with an OAuth consent screen configured for an external user type and a publishing status of "Testing" is issued a refresh token expiring in 7 days."
I had left my app in Testing state as it is a low-volume app mostly for personal use.  It felt safer to be in testing mode to provide an extra layer of security. And, it avoids me having to learn how to authenticate my app w/google to allow getting out of Testing state.
In any event, the token expiring is now explained.


Update First(n int) so that it can be used for user input

This slightly modifies First and introduces Prompt that can be used for user input:
fmt.Print("User input: ")
input, _ := script.Stdin().First(1).String()
fmt.Printf("Input was %s\n", input)

or
input, _ := script.Prompt("User input: ").String()
fmt.Printf("Input was %s\n", input)

Fixes #51, #132

Thanks @bartdeboer! A little more context would be helpful for me on this one. Prompt makes sense, but what effect does the change to First have that makes it necessary here?

Hi John,
I'm happy to provide more context. The First(n int) function is designed to read the first n lines from a stream. However, the old implementation had a limitation:
func (p *Pipe) FilterScan(filter func(string, io.Writer)) *Pipe {
	return p.Filter(func(r io.Reader, w io.Writer) error {
		scanner := newScanner(r)
		for scanner.Scan() {
			filter(scanner.Text(), w)
		}
		return scanner.Err()
	})
}

func (p *Pipe) First(n int) *Pipe {
	if p.Error() != nil {
		return p
	}
	if n <= 0 {
		return NewPipe()
	}
	i := 0
	return p.FilterScan(func(line string, w io.Writer) {
		if i >= n {
			return
		}
		fmt.Fprintln(w, line)
		i++
	})
}

It filters out n number of lines, but keeps scanning until EOF even after n lines have been received. This means that when used to scan for user input we're not sending in EOF, the function doesn't break out of the scanning loop.
My modified version solves this by breaking out of the scanner once the n number of lines is exceeded:
func (p *Pipe) First(n int) *Pipe {
	if p.Error() != nil {
		return p
	}
	if n <= 0 {
		return NewPipe()
	}
	return p.Filter(func(r io.Reader, w io.Writer) error {
		scanner := newScanner(r)
		i := 0
		for scanner.Scan() {
			_, err := fmt.Fprintln(w, scanner.Text())
			if err != nil {
				return err
			}
			i++
			if i >= n {
				break
			}
		}
		return scanner.Err()
	})
}

It filters out n number of lines, but keeps scanning until EOF even after n lines have been received.

I'm not sure this is true, if I'm understanding you correctly. For example, consider this program:
script.Stdin().First(1).Stdout()

If we run this, and type "hello" followed by a newline, we immediately see the output "hello". First is not waiting for EOF in order to produce its result. All further input lines are ignored, as you'd expect, and the pipe itself doesn't terminate until the input ends, also as you'd expect.
Can you help me out by showing an example program that doesn't work as you'd expect with the current implementation?

Here's some examples of what I'm seeing:
With .String()
fmt.Print("User input: ")
input, _ := script.Stdin().First(1).String()
fmt.Printf("Input was %s\n", input)

With PR:
User input: 1st input\n
Input was 1st input

Without PR:
User input: 1st input\n
2nd input\n
3rd input\n
Ctrl+D
Input was 1st input

With .Stdout()
fmt.Print("User input: ")
bytes, _ := script.Stdin().First(1).Stdout()
fmt.Printf("Input was %d bytes\n", bytes)

With PR:
User input: 1st input\n
1st input
Input was 10 bytes

Without PR:
User input: 1st input\n
1st input
2nd input\n
3rd input\n
Ctrl+D
Input was 10 bytes

I guess herein lies the difference in behavior. If the pipe should terminate after n lines have been read or keep streaming?
I think maybe it should terminate. It isn't going to send anything more. What happens if I want to read the first 10 lines of a 1GB log file?
Considering it should work the same like head -1 I think it also terminates after n lines?

I guess herein lies the difference in behavior. If the pipe should terminate after n lines have been read or keep streaming?

This is a very good point. As a matter of fact, no script filter currently closes the pipe by itself. I agree it seems logical that First should do that, though, since reading any further lines is guaranteed to be wasted work for all downstream stages. And head does indeed behave this way.
What do you think about this slightly more compact way of writing the same logic?
	return p.Filter(func(r io.Reader, w io.Writer) error {
		scanner := newScanner(r)
		for i := 0; i < n && scanner.Scan(); i++ {
			_, err := fmt.Fprintln(w, scanner.Text())
			if err != nil {
				return err
			}
		}
		return scanner.Err()
	})

I think your version writes it more elegantly, yes.
Would you like to commit that change to the PR or shall I?
Next I think I/we should perhaps drop the Prompt() function from this PR and perhaps do that in a separate PR?

Yes, go ahead and make the change by all means. Also, shall we document this behaviour in the doc comment? Something like:
// First produces only the first n lines of the pipe's contents, or all the
// lines if there are less than n. If n is zero or negative, there is no output
// at all. When n lines have been produced, First stops reading its input and
// sends EOF to its output.

Next I think I/we should perhaps drop the Prompt() function from this PR and perhaps do that in a separate PR?

Yes, good idea—let's make these changes atomic.

Great! Also, we should probably have a test that shows this behaviour, shouldn't we? What about something like a strings.Reader that contains several lines, and then after reading it through a pipe with First(1) we can prove that there are still lines left in the reader.

Something like this?
It checks if there's remaining bytes in the reader after running First (accounting for Scanner's 4096 buffer size).
func TestFirstHasRemainingBytesAfterNLinesOfInput(t *testing.T) {
	t.Parallel()
	lineSize, testNumLines, totalLines := 1024, 3, 9
	var input strings.Builder
	// Generate input that is bigger than Scanner's 4096 byte buffer size.
	for i := 0; i < totalLines; i++ {
		line := strings.Repeat(fmt.Sprintf("%d", i), lineSize-1) + "\n"
		input.WriteString(line)
	}
	inputReader := strings.NewReader(input.String())
	got, _ := script.NewPipe().WithReader(inputReader).First(testNumLines).String()
	if len(got) == 0 {
		t.Errorf("Expected bytes from First, got 0")
	}
	remInputBytes, err := io.ReadAll(inputReader)
	if err != nil {
		t.Fatal("Error reading remaining input bytes:", err)
	}
	if len(remInputBytes) == 0 {
		t.Errorf("Expected remaining bytes in the inputReader, got 0")
	}
}

Great! I forgot about the buffer. What about this slightly shorter version of the same idea:
func TestFirstDoesNotConsumeUnnecessaryData(t *testing.T) {
	t.Parallel()
	// First uses a 4096-byte buffer, so will always read at least
	// that much, but no more (once N lines have been read).
	r := strings.NewReader(strings.Repeat("line\n", 1000))
	got, err := script.NewPipe().WithReader(r).First(1).String()
	if err != nil {
		t.Fatal(err)
	}
	want := "line\n"
	if want != got {
		t.Errorf("want output %q, got %q", want, got)
	}
	if r.Len() == 0 {
		t.Errorf("no data left in reader")
	}
}


Fibonacci recursive algorithm

Description of new feature, or changes

Checklist

[x] Your branch is up-to-date with the base branch
[x] You've included at least one test if this is a new feature
[x] All tests are passing

Related Issues and Discussions

People to notify

Hello @manrajgrover I just submitted a pull request which I thought would fit the issue, implement math algorithms, but one of the tests is not passing and I'm not sure how to fix it, any feedback on how to fix it will be really appreciated.


Mocha has a new release 5.x

it seems that the constraint is unnecessary.

Coverage remained the same at 94.643% when pulling 8ac071d1ec7192baa25060e4f584d85af347f397 on popomore:mocha5 into 339c31bec880eaab9d98e1e6a71de3f8f8653958 on blakeembrey:master.


C# Auth Token: Refactored implementation using Adal

The old implementation, after several fixes, proved to not be robust enough. Given that Adal handles much of the token caching nowadays, we consider it better to leverage ADAL library implementation, leaving less responsibilities in our code. However, after working with the ADAL team we are still responsible for maintaining low concurrency (done through semaphores in this case) and retrying, using the retry after headers received from AAD when we get HttpStatusCode 429.
We ran long haul load test, in addition to mini-load tests and unit tests. We were able to reproduce token renewal under extremely high load, and even though there were failures, these were retried and ZERO threads ended up without a token. The longest delay observed in our load test was 600 ms, which happened for a total of 40 requests, then going back to 1 millisecond when reading from cache.
Even though the ADAL team recommended limiting concurrency, we removed the semaphore and re-ran the load tests. These results were extremely bad, with latencies up to 5 seconds and multiple failures, confirming ADAL teams' recommendation.
The ADAL team is working on the MSAL library, which will take care of the concurrency control as well. Eventually we'll move to that. Also, both the current ADAL library and the MSAL library allow for custom token caches. In V4 we will expose this so that bot developers can use persistent token caches (as opposed to the memory-based default one) so that multiple instances can benefit from a single cache entry on a horizontal scaling scenario.

The PR is beautiful.


how to save the map after gmapping？

when i run the command ”rosrun map_server map_saver -f //“,but it show waitting for map.i want to shutdown gampping anytime and how to get(or save) the map.thanks

Did you make sure about the map topic name.
I have recently updated the sim files, map should be published on "map" topic. However, if have the older sim files, map is published on "robot_1/map" topic, so running the map server command without name remapping will not save the map

when i test on a real turtlebot,it can run simple.launch, but the robot didnt move.  i launch (minimal.launch,,,gmapping_demo.launch,and simple.launch),why?thanks

when i test on a real robot,something errors found,the robot didnt move.i only launch(minimal.launch,gmapping.launch and simple.launch),how to solve this problem?thanks


Removed package.json engine restrictions

What kind of change does this PR introduce?

The lib restricts the engine to node ~6.0.0 for no reason (this lib doesn't use any binary). This is a problem when using Yarn because it is more strict than npm and it will respect the engine restrictions which will fail the installation of all the npm modules with the following error message:
error<EMAIL_ADDRESS>The engine "node" is incompatible with this module. Expected version "~6.0.0".
What is the new behavior?
Removed the restriction
Does this PR introduce a breaking change?

[ ] Yes
[x] No

I added the engine restrictions to prevent people from downloading it with Node 4.x and it having build errors.

you only have build errors if you clone it from github and try to run it, not if you install it from npm right ?

Correct.

Then the engine restriction in the package.json doesn't help, because it only works when you npm install it from npm :)

Thanks! :)

I'm using node v6.3.1 and I still get this error using yarn, is this intended?


Schema mostly disappears due to polymorphism annotations

The schema does not descend into the contents of this map; it does not include BaseAttribute and its subclasses. If the annotations are not present, then the schema includes all of that.
    @JsonTypeInfo(use = JsonTypeInfo.Id.CUSTOM, include = JsonTypeInfo.As.PROPERTY, property = "type")
    @JsonTypeIdResolver(DmTypeIdResolver.class)
    public abstract Map<String, BaseAttribute> getAttributes();

I think it is impossible to create a json schema representing something as free as a map.


install the sandbox clients automatically using ansible

TLDR
Install ansible, be sure you are in the piaf-deployment group, then launch make install
Right now, it will only deploy the client "mbitard", next friday with @guillim we will deploy all the other clients using this method.

Yes, let's run it on this branch friday to see if everything is good

FYI :I did the change in the README

This has been successfully executed.
I recorded the make install session here: https://asciinema.org/a/alMjTBAKRLT4dYvCbIDBe86tJ


what happends if DC is larger or same as image value?? (add error flag for significant DC)

DC is dark current

Added error flags


Instructions are not clear

[Enter feedback here]
Deployment history Steps are not clear, we can see them only if do the deployment from Azure if it is something from DSC or other methods steps are not clear
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 4369e3ef-baf8-5ea9-cba8-87d49bbc21a4
Version Independent ID: 1ba05ac6-f9e2-3c90-c2a9-8efec79f9d23
Content: Deployment history - Azure Resource Manager
Content Source: articles/azure-resource-manager/templates/deployment-history.md
Service: azure-resource-manager
Sub-service: templates
GitHub Login: @mumian
Microsoft Alias: jgao

@prashanthmiryala Thanks for your feedback! Assigning this to content owner to review and update if appropriate.

@prashanthmiryala - thank you for your comments.  Can you provide more details on "DSC or other methods steps"?  Is that PowerShell DSC?

@prashanthmiryala - we haven't heard from you. I will close the ticket for now. If you are ready to work on this, we can reopen the ticket.
#please-close


feat: stop branch prefix compression in extreme cases

This uses Gabriele's previous work on limiting the number of prefix-compressed items in the branch.
This adapts the gauge and handles the degenerate cases where a node jumps from underfull to overfull with the addition of a single new item that collapses the shared prefix.
The test shows an extreme example of the type of issue that this is countering.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#405  👈
#404
#403
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @rphmeier and the rest of your teammates on  Graphite


⚠ Bofrost.nl has degraded performance

In 3def111, Bofrost.nl (https://www.bofrost.nl) experienced degraded performance:

HTTP code: 200
Response time: 1061 ms

Resolved: Bofrost.nl performance has improved in db5283e after 25 minutes.


Subscribe not working (VerneMQ Broker)

I can successfully publish messages (I know this because when subscribed with other clients I also receive messages), but I don't receive any messages while subscribed with example provided.
I run the script as cli. With debug set on true I get following output every second:

eof receive going to reconnect for good measure

but no messages. Also if I trace this client on broker I don't see any SUBSCRIBE calls from this client, only CONNECT calls.

The lib (and all forks of it, obviously) send an invalid header in the subscribe package. Find & replace 0x80 with 0x82 and you'll be good to go.
Unfortunately I have not the time and php experience to make a pull request here

I am restarting this project so having a clear out of old issues (If you believe this is still valid please reopen)

Some recent changes may have fixed this


Code Editor: Allow line/column-wise annotation of errors and messages

To avoid polluting the outputs section, mimic usual code editing experience, and closer position errors/messages to their location in the source code.

I just wanted to add an example of why I think this is quite a high priority. The following is a screenshot from an eLife ERA.  This code chunk executes successfully but display two warnings in the outputs:

For the reader, this makes it looks like something has gone wrong.
An alternative would be to:

place the warnings (or errors) at the bottom of the code editor (non editable but styled using same font etc as editor)
perhaps, add a warning (or error) icon next to the side-by-side view icon or even next to the eye icon - so an author can quickly scan to see which code chunks have errors/warnings without having to open each the code for each chunk.

I propose that we make these changes as a first step and then later see if we can position the errors on the relevant line.

I can take a stab at it tomorrow @nokome, shouldn't be too much trouble if we do something like this: https://codemirror.net/6/examples/panel/#dynamic-panel-content


[Discuss] Share your device to help me develop new device model

Hi all xiaomi/mijia fans!
I'm owner of this project. I don't have all Mijia device, but I need collect information from xiaomi devices to develop.
If you have a devices and want add to my project, what do you think if you share that devices to me (in Mihome app)?
The flow may be: I will create chat group, I will online and you share me devices in some minutes, after collect the information for develop, you can stop share your device.
Of course, I will control your devices when it's shared, be sure it won't bother you.
Give me your comment!
Thank all!

Basically yes from my side.
But, please excuse the harsh words, if you don't answer at Issues, dont merge Pull Requests as in the last time, its wastet time.
I've built a script to integrate node-mihome in the big Smarthome Projekt "iobroker" and i surely want work on the projekt together with you. I also have a bunch of pre prepared new Devices to add for you, but holded it in the backhand, because you dont have answered th old Issues + pr.
But i think a chatchannel at discord or telegram would be nice to communicate with you faster then here.

Basically yes from my side.
But, please excuse the harsh words, if you don't answer at Issues, dont merge Pull Requests as in the last time, its wastet time.
I've built a script to integrate node-mihome in the big Smarthome Projekt "iobroker" and i surely want work on the projekt together with you. I also have a bunch of pre prepared new Devices to add for you, but holded it in the backhand, because you dont have answered th old Issues + pr.
But i think a chatchannel at discord or telegram would be nice to communicate with you faster then here.

I'm busy in many days to find the way to support new device models. Xiaomi and MiHome app have many and big changes, but I found the way to debug and develop new device model, but I need have the device or have anyone share the device to me

I'm busy in many days to find the way to support new device models. Xiaomi and MiHome app have many and big changes, but I found the way to debug and develop new device model, but I need have the device or have anyone share the device to me

Question for chatting, do we live in the same timezone? I'm from Germany.

Question for chatting, do we live in the same timezone? I'm from Germany.

You can join telegram channel: https://t.me/joinchat/SlmxLekGFIvcE4uF
I will add to README later

You can join telegram channel: https://t.me/joinchat/SlmxLekGFIvcE4uF
I will add to README later

Basically yes from my side.
But, please excuse the harsh words, if you don't answer at Issues, dont merge Pull Requests as in the last time, its wastet time.
I've built a script to integrate node-mihome in the big Smarthome Projekt "iobroker" and i surely want work on the projekt together with you. I also have a bunch of pre prepared new Devices to add for you, but holded it in the backhand, because you dont have answered th old Issues + pr.
But i think a chatchannel at discord or telegram would be nice to communicate with you faster then here.

How did you include the module in iobroker? Unfortunately I get an error message here.

Basically yes from my side.
But, please excuse the harsh words, if you don't answer at Issues, dont merge Pull Requests as in the last time, its wastet time.
I've built a script to integrate node-mihome in the big Smarthome Projekt "iobroker" and i surely want work on the projekt together with you. I also have a bunch of pre prepared new Devices to add for you, but holded it in the backhand, because you dont have answered th old Issues + pr.
But i think a chatchannel at discord or telegram would be nice to communicate with you faster then here.

How did you include the module in iobroker? Unfortunately I get an error message here.

Basically yes from my side.
But, please excuse the harsh words, if you don't answer at Issues, dont merge Pull Requests as in the last time, its wastet time.
I've built a script to integrate node-mihome in the big Smarthome Projekt "iobroker" and i surely want work on the projekt together with you. I also have a bunch of pre prepared new Devices to add for you, but holded it in the backhand, because you dont have answered th old Issues + pr.
But i think a chatchannel at discord or telegram would be nice to communicate with you faster then here.

How did you include the module in iobroker? Unfortunately I get an error message here.

Take a look here in the code or readme: https://github.com/Pittini/iobroker-nodemihome

Basically yes from my side.
But, please excuse the harsh words, if you don't answer at Issues, dont merge Pull Requests as in the last time, its wastet time.
I've built a script to integrate node-mihome in the big Smarthome Projekt "iobroker" and i surely want work on the projekt together with you. I also have a bunch of pre prepared new Devices to add for you, but holded it in the backhand, because you dont have answered th old Issues + pr.
But i think a chatchannel at discord or telegram would be nice to communicate with you faster then here.

How did you include the module in iobroker? Unfortunately I get an error message here.

Take a look here in the code or readme: https://github.com/Pittini/iobroker-nodemihome


Fixed typo in a question

There's no issues page so I'm dumping it here:
The test isn't balanced out.
Proof:
This is the result of clicking Strongly Agree all 120 times.

This is the result of clicking Strongly Disagree 120 times.


No preprocessed wikipedia is working on huggingface/datasets

Describe the bug
20220301 wikipedia dump has been deprecated, so now there is no working wikipedia dump on huggingface
https://huggingface.co/datasets/wikipedia
https://dumps.wikimedia.org/enwiki/

Thanks for reporting @aninrusimha.
Please, note that the preprocessed datasets are still available, as described in the dataset card, e.g.: https://huggingface.co/datasets/wikipedia
ds = load_dataset("wikipedia", "20220301.en")

This is working now, but I was getting an error a few days ago when running an existing script. Unfortunately I did not do a proper bug report, but for some reason I was unable to load the dataset due to a request being made to the wikimedia website. However, its working now. Thanks for the reply!


youtube-dl replaces aria2 with ffmpeg as external downloader. Inform user?

Checklist

[ X ] I'm asking a question
[ X ] I've looked through the README and FAQ for similar questions
[ X ] I've searched the bugtracker for similar questions including closed ones

Question

When calling youtube-dl on a segmented HLS/DASH and specifying an external downloader (aria2c), it silently switches to ffmpeg, and passes it the --external-downloader-args intended for aria2. This has been referred to in this issue, which was closed as duplicate, but I couldn't find what it was a duplicate of, nor did the author.
After searching issues for a while I now understand that aria2 does not support HLS or Segmented DASH, but shouldn't ytdl inform somehow before silently switching to ffmpeg?
Verbose Log:
`

youtube-dl -v --external-downloader aria2c --external-downloader-args "-hide_banner -x 10" https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', '--external-downloader', 'aria2c', '--external-downloader-args', '-hide_banner -x 10', 'https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/bipbop_16x9_variant.m3u8']
[debug] Encodings: locale cp1252, fs mbcs, out cp850, pref cp1252
[debug] youtube-dl version 2019.07.30
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.17763
[debug] exe versions: avconv 9.18, avprobe 9.18, ffmpeg 4.1.1, ffprobe N-93894-gecc096513c, phantomjs 2.1.1
[debug] Proxy map: {}
[generic] bipbop_16x9_variant: Requesting header
[generic] bipbop_16x9_variant: Downloading m3u8 information
[debug] Default format spec: bestvideo+bestaudio/best
[debug] Invoking downloader on 'https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/gear5/prog_index.m3u8'
[download] Destination: bipbop_16x9_variant-bipbop_16x9_variant.mp4
[debug] ffmpeg command line: ffmpeg -y -loglevel verbose -hide_banner -x 10 -headers "Accept-Charset: ISO-8859-1,utf-8;q=0.7,;q=0.7
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.114 Safari/537.36
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip, deflate
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,/*;q=0.8
" -i "https://devstreaming-cdn.apple.com/videos/streaming/examples/bipbop_16x9/gear5/prog_index.m3u8" -c copy -f mp4 "file:bipbop_16x9_variant-bipbop_16x9_variant.mp4.part"
Unrecognized option 'x'.
Error splitting the argument list: Option not found

ERROR: ffmpeg exited with code 1
`

The question is simply: If this is intended behaviour, should there not be some message?
If there is more nuance to it, I've really really tried to find the issue this is a duplicate of.

@	0x41mmarVM do you find a way to download multithreads this hls m3u8 file?

So, is anything planned for this? I'm still experiencing this issue. Aria2 will hand something off to ffmpeg then ffmpeg tries to parse the -ext-dl-args meant for Aria.

@shadowzoom No, no solution found. That said, I wasn’t looking for a solution, I just wanted a message in the log telling me that ffmpeg was subbed in, so that I don’t spend an hour messing with command switches and trying to understand why aria2c doesn’t understand my request. The silent switching was a bit mean.

I think I found the duplicate, #10784, but only @dstftw can confirm that one is it?

I think I found the duplicate, #10784, but only @dstftw can confirm that one is it?

Oh hey, that looks right. Sad it’s still open.


[Bug] (1.0.9) - Setting Solid Node Dimension to (1, 1) Doesn't Update Node Dimensions

Attempting to set a Solid node's dimensions to (1, 1) will not update the output resolution of the node. Adjusting one value to 1 seems to work fine, but setting the second value to 1 will preserve the previous output resolution. Adjusting from (1, 1) to any higher value works as expected. For example:

Initial Resolution
New Resolution
Output Resolution
Status

(2, 2)
(2, 1)
(2, 1)
✅

(2, 2)
(1, 2)
(1, 2)
✅

(1, 2)
(1, 1)
(1, 2)
❌

(1, 1)
(2, 1)
(2, 1)
✅

That's... interesting. I'll look into it.

Nice, seems like the 1.1.0 release fixed this issue!


Support optional custom DNS servers

Thanks @sjwaight for the PR. One of the checks failed. Need to pass the new param in infrastructure/aci/.test/main.test.bicep


Can't sync

Hi,
I am trying to sync my account from mailbox.org and it works with Evolution but not with pycarddav.
When I do a pycardsyncer --debug I get the following output:
DEBUG:root:Using configuration from /home/user/.config/pycard/pycard.conf
DEBUG:root:Ignoring default:debug in configuration file
DEBUG:root:Using configuration:
DEBUG:root:	accounts:
DEBUG:root:		auth: basic
DEBUG:root:		name: Contacts
DEBUG:root:		passwd_cmd:
DEBUG:root:		resource: https://dav.mailbox.org/carddav/27/
DEBUG:root:		user<EMAIL_ADDRESS>DEBUG:root:		verify: True
DEBUG:root:		write_support: False
DEBUG:root:	debug: True
DEBUG:root:	filename: /home/nik/.config/pycard/pycard.conf
DEBUG:root:	sqlite:
DEBUG:root:		path: /home/nik/.config/pycard/abook.db
DEBUG:root:	sync:
DEBUG:root:		accounts: set(['Contacts'])
DEBUG:root:start syncing account Contacts
DEBUG:root:made sure version table exists
DEBUG:root:made sure accounts table exists
Traceback (most recent call last):
File "/usr/bin/pycardsyncer", line 55, in
sync(conf)
File "build/bdist.linux-x86_64/egg/pycarddav/controllers/sync.py", line 50, in sync
File "build/bdist.linux-x86_64/egg/pycarddav/carddav.py", line 140, in get_abook
File "build/bdist.linux-x86_64/egg/pycarddav/carddav.py", line 253, in _process_xml_props
File "lxml.etree.pyx", line 3083, in lxml.etree.XML (src/lxml/lxml.etree.c:70338)
File "parser.pxi", line 1828, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:106403)
File "parser.pxi", line 1716, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:105194)
File "parser.pxi", line 1086, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:99876)
File "parser.pxi", line 580, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:94350)
File "parser.pxi", line 690, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:95786)
File "parser.pxi", line 631, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:95065)
lxml.etree.XMLSyntaxError: None
An abook.db will be created but it is only 3KByte in size. In the past I synced with owncloud and the file should be more like 13MB…

I won't fix this (see #92), but I'm happy to accept pull requests on this.
As an interim solution use I suggest to give khard a try, which should most features of pycarddav and than some.
The only feature missing from khard is probably something like pycard_import, I'll try to send a pull request for that ASAP.

Thanks. vcardsyncer/khard seems to work. I am still trying to figure out how to show a whole card and not only a tiny bit of it but at least for mutt-completion it works.

I think you can type khard details -s SEARCHTERM

Thanks, that works


Different API to node-sqlite3

I tried to use this package under Deno with TypeORM which did not work because they differ in API's to node-sqlite3.
Is it an option for you to make the APIs more compatible and would you accept PRs for this?
I also wrote a simple wrapper that makes the API's more compatible. So far I have only tried this with a very simple TypeORM entry, but at least that worked. Maybe this is also useful for someone else.

The current API is inspired from Node.js better-sqlite3 module, as a result of rewrite that took place a while ago: #44
It's a pretty simple and synchronous API that allows making best of sqlite3 performance. I see that node-sqlite3 is callback based, which could be a bottleneck.
So I think a separate wrapper is a preferable option, since the current API seems better in terms of simplicity and performance (see https://www.npmjs.com/package/better-sqlite3 for some performance comparison, and this module performs even better than better-sqlite3). Currently, the high performance sqlite3 bindings in Node.js (better-sqlite3), Deno (sqlite3) and Bun (bun:sqlite) ecosystems all have this similar API.

@DjDeveloperr Thanks for the answer, that is very good to know that it is based on better-sqlite3. There are also drivers for TypeORM for better-sqlite3, so maybe I should just output the package as better-sqlite3, if that would work I could have saved myself the wrapper ^^'. Do you think there are still big differences regarding better-sqlite3?

@JumpLink Using better-sqlite3 driver sounds like a great idea. I can try to help get that to work. There shouldn't be much big differences, which one are you running into here?

@DjDeveloperr I can create a simple example for this issue, than other developers like you can test it by himself

@DjDeveloperr Here the example: https://github.com/JumpLink/deno-typeorm-sqlite-example


Save action still disabled after deleting a tag

I had opened a file and deleted a tag representing an item in a player's inventory, but the Save button didn't appear after making the change.
I found a workaround where if you pick a simple integer value, edit it to another value and back again, Save will now be enabled and will properly save the file with the tag deleted.

Did you open an individual file, or were you in a directory view (like when you first open the program?)

Based on the other issue you opened, I assume this is mac version?

Mac version, yep. I was in a directory view. Though I was trying to open the player.dat file directly, it wouldn't actually let me select it so I had opened the directory it was inside.

Same issue in mac version

Got the same issue as well. Thanks @trejkaz for the fix!!! Saved me a ton of pain

It's 2.5 years later and I'm still having this issue.
I went File > Open (not "Open Directory") to open a single region's .mca file.

Yup still a problem. This was the only solution anywhere on the internet. Thanks, @trejkaz.


Hide/show overlay (pngview or spriteview) while running

Hi Andrew,
I am wondering if there is an easy way to hide/show the displayed image of a running process (pngview or spriteview).
The main problem I have is that I use pngview/spriteview along with picamera (I know picamera offers a overlay feature but it does not work properly with transparencies), the picamera always runs in background in my application so the transition between "noop" and preview is really quick. But the pngview takes a bit to load an image and overlay it over the preview making the result unprofessional.
I have thought about hiding/showing the preview. I think that using that approach it could be quicker making the final result better. That behaviour could be controlled through signals (hiding/showing).
If you give me some direction, I can try to implement it by myself (and afterwards make a pull request).

It has been a while since I have looked at the code. I don't remember how to hide a layer (or if I even ever did that). One way would be to make the layer total transparent using vc_dispmanx_element_change_attributes(), the fifth argument is the transparency.

Hi again Andrew!
I have tried using the following code (in the non-interactive mode part):
        printf("Show!\n");
        update = vc_dispmanx_update_start(0);
        vc_dispmanx_rect_set(&(imageLayer.dstRect),
                     xOffset,
                     yOffset,
                     imageLayer.image.width,
                     imageLayer.image.height);
        vc_dispmanx_element_change_attributes(update,
                                      imageLayer.element,
                                      ELEMENT_CHANGE_DEST_RECT,
                                      0,
                                      255,
                                      &(imageLayer.dstRect),
                                      &(imageLayer.srcRect),
                                      0,
                                      DISPMANX_NO_ROTATE);
        result = vc_dispmanx_update_submit_sync(update);

        usleep(500000);

        printf("Hide!\n");
        update = vc_dispmanx_update_start(0);
        vc_dispmanx_rect_set(&(imageLayer.dstRect),
                     xOffset,
                     yOffset,
                     imageLayer.image.width,
                     imageLayer.image.height);
        vc_dispmanx_element_change_attributes(update,
                                      imageLayer.element,
                                      ELEMENT_CHANGE_DEST_RECT,
                                      0,
                                      0,
                                      &(imageLayer.dstRect),
                                      &(imageLayer.srcRect),
                                      0,
                                      DISPMANX_NO_ROTATE);
        result = vc_dispmanx_update_submit_sync(update);
        usleep(500000);

As you advised me, I tried to modify the 5th parameter in the vc_dispmanx_element_change_attributes function with no success. Is there anything that I am doing wrong?
Thanks in advance!

Meanwhile, as a workaround I set the image that I want to show as well as a transparent image in the spriteview, by that way I can toogle between them using signals easily. But I think that this approach is not the best, so I would like to learn a better way of doing it (maybe with the vc_dispmanx_element_change_attributes approach?)

Hi @AdrianAntunez , I can't see anything wrong with that code. I haven't tried changing the opacity of an element, but that is the way I would have tried. I don't have a lot of time to look at the moment, but I will try and have a look some time soon.

Hi Andrew,
Perfect! Just FYI, I also tried to change from ELEMENT_CHANGE_DEST_RECT constant to ELEMENT_CHANGE_OPACITY with no success.

Yes, forgot about that flag. You are right it should be ELEMENT_CHANGE_OPACITY. Possibly changing opacity doesn't work.

Yes, I also tried it but it doesn't work anyway. Maybe you are right and changing opacity doesn't work. Weird though...

Well, finally I came up with a "better" workaround:
        printf("Show!\n");
        update = vc_dispmanx_update_start(0);
        moveImageLayer(&imageLayer, xOffset, yOffset, update);
        result = vc_dispmanx_update_submit_sync(update);
        usleep(500000);

        printf("Hide!\n");
        update = vc_dispmanx_update_start(0);
        moveImageLayer(&imageLayer, xOffset+info.width, yOffset+info.height, update);
        result = vc_dispmanx_update_submit_sync(update);
        usleep(500000);

That workaround consists in moving the layer outside the window limits to make it disappear. That workaround is a bit dirty but at least it works and it is better than switching between an image and a transparent one using spriteview...

Yes, that was a good idea.

Great, so we can now close that issue.
Thanks for everything @AndrewFromMelbourne ! Have a nice day! ;)


Display requirements

It would be nice to display requirements for v0.14 migrated Fluentd Plugins.
Fluentd users sometimes report errors about with td-agent2 and updating plugins bump up Fluentd version to v0.14 from v0.12.
How about announce requirements to users in README?
Regards,

Good call thanks ...
Is the latest td-agent based on v0.14 or v0.12? If it is still v0.12 (as I think it is) we should update the installation instructions also...

The latest td-agent is based on v0.12. But td-agent 3 beta is now existing. :)
This new version of td-agent will ship in 2017 1Q!

Good stuff, I updated the README a bit more so i think it should be clear.


Unable to run _genonce.sh on vrdr-testbed

Able to run sushi, but _genonce.sh fails with the error below.  The pre-nightingale-migration version of vrdr-testbed worked fine with _genonce.sh.  Running "npm install -g fsh-sushi" has no effect:
Sushi: ========================= SUSHI RESULTS ===========================       (00:04.502)
Sushi: |  -------------------------------------------------------------  |       (00:04.502)
Sushi: | |    Profiles   |  Extensions  |   Logicals   |   Resources   | |       (00:04.502)
Sushi: | |-------------------------------------------------------------| |       (00:04.502)
Sushi: | |       0       |      0       |      0       |       0       | |       (00:04.502)
Sushi: |  -------------------------------------------------------------  |       (00:04.502)
Sushi: |  -------------------------------------------------------------  |       (00:04.503)
Sushi: | |      ValueSets     |    CodeSystems    |     Instances      | |       (00:04.503)
Sushi: | |-------------------------------------------------------------| |       (00:04.503)
Sushi: | |         0          |         0         |         39         | |       (00:04.503)
Sushi: |  -------------------------------------------------------------  |       (00:04.503)
Sushi: |                                                                 |       (00:04.503)
Sushi: ===================================================================       (00:04.504)
Sushi: | Don't be koi about asking for help     3 Errors     25 Warnings |       (00:04.504)
Sushi: ===================================================================       (00:04.504)
Sushi:                                                                           (00:04.504)
Sushi couldn't be run. Complete output from running Sushi :                      (00:04.507)
Note: Check that Sushi is installed correctly ("npm install -g fsh-sushi". On windows, get npm from https://www.npmjs.com/get-npm) (00:04.507)
Exception: Process exited with an error: 3 (Exit value: 3)                       (00:04.507)
Publishing Content Failed: Process exited with an error: 3 (Exit value: 3)       (00:04.508)
(00:04.508)
Use -? to get command line help                                                  (00:04.508)
(00:04.508)
Stack Dump (for debugging):                                                      (00:04.509)
org.apache.commons.exec.ExecuteException: Process exited with an error: 3 (Exit value: 3)
at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:153)
at org.hl7.fhir.igtools.publisher.FSHRunner.runFsh(FSHRunner.java:83)
at org.hl7.fhir.igtools.publisher.Publisher.initialize(Publisher.java:2249)
at org.hl7.fhir.igtools.publisher.Publisher.execute(Publisher.java:906)
at org.hl7.fhir.igtools.publisher.Publisher.main(Publisher.java:10973)

Misunderstanding; only with zero sushi errors can you run IG Publisher.


[Enhancement]: [BE PYTHON ANCHOR] Handle Incorrect Success Notification During Upgrade Process #893

Description
Currently, when attempting to upgrade a plan, a success notification is displayed even if the required fields have not been filled out, which misleads the user. The task is to improve the backend logic to ensure that success notifications are only triggered when the upgrade process is successful and all required fields are correctly filled.
Acceptance Criteria

The backend logic ensures that no success notification is displayed unless all required fields for the upgrade process are filled out.
The upgrade process validation must be comprehensive, including checks on all mandatory fields before triggering a success message.
The user should only see a success notification if the upgrade process is completed successfully, with valid data.

Purpose
To prevent false success notifications during the upgrade process.
Requirements

Review and update the backend logic responsible for triggering success notifications during the plan upgrade process.
Implement thorough validation checks to confirm that all required fields are completed before allowing a success notification.

Expected Outcome
Users will only receive a success notification after successfully completing the upgrade process, with all required fields filled in.
Website
Watch issue video here:
https://github.com/user-attachments/assets/2a7efd51-65b9-49d9-879a-3d2659806244

@Kah-keh may I work on this ticket?

@Kah-keh may I work on this ticket?

I believe the leads are the ones to assign the ticket.

i'm working on it now?

For more context on this ticket:
https://github.com/user-attachments/assets/b4aa91ce-878e-4ca8-b294-1516ebd9bd7d


Add project on travis

Hey.
Is it possible to add this project on travis ?
There is already a .travis.yml file so it should be very quick to do it. :)
Thanks in advance.

not totally familiar with Travis however starting to play with wercker as a CI builder.

closing this in favor of wercker. #95


Generate new PCD datasets

With #282 and #283 complete, new PCD datasets can be generated by using the all_features YAML file to create a new database to support the API.

Completed, so closing issue.


COI: Build front-end (Supervisor Documentation and Decision tab)

Build the Supervisor Documentation and Decision for COI
Acceptance Criteria

[ ] The front end of Supervisor Documentation and Decision is built with the content as defined in design below.
[ ] TBD

Design
Link to Miro: https://miro.com/app/board/uXjVKbE3n_8=/?moveToWidget=3458764585409071958&cot=14

Supervisor Documentation and Decision page ready in Miro

@fazil-ey can you please test this for me?

Can we remove this table from the form?

looks good


how to user markdown mod?

i cant find
please teel me
i am new user
thx

it's alt+p?
can not be used

it is only enabled for .md or .markdown file


Wrong naming conventions

This action does the great job, but I didn't understand the fact that why it generates app-release-unsigned-signed.apk. Can't it not be app-realease.apk to make the process simple? Also why do we need to do ./gradlew assembleRelease every time before calling r0adkll/sign-android-release@v1 as this can be called inside the action library itself..

Hi @r0adkll
This is not a big deal, however a bit annoying that the signing step simply appends "-signed" onto the artifact, when there's an "-unsigned" already part of the name.
The ideal solution would be to check if there is "-unsigned" part of the name, and then replace that with "-signed", or provide the ability to set a name of the final signed apk/aab


[Azure Search] It is easy to misuse IndexBatch

There are two intended usages of IndexBatch: to index instances of the Document class, or to index instances of a customer model class in the form of a DTO (data transfer object). However, sometimes developers use the wrong type with IndexBatch, such as string. In the case of string, the intent is to treat raw JSON strings as documents, but this runs counter to how the .NET SDK works. The SDK itself needs to control serialization so that it can inject control information into the payload if need be (for example, the @search.action annotation).
We need to improve the user experience around IndexBatch. Unfortunately we can't enforce usage of the correct type at compile-time, so the next best thing is to add run-time checks. These checks can't be exhaustive (as it can be difficult in the general case to tell whether a class is a DTO or not), but we ought to be able to catch enough common mistakes to make this area of the SDK easier to work with.

It's been a long time since any customers have been confused by the proper usage of IndexBatch, so there is no urgency to implement this extra validation. Closing this.


npm run dev errors

Running npm run dev gives some errors.

> @ dev /Users/muarachmann/Sites/website
> npm run development

> @ development /Users/muarachmann/Sites/website
> cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --hide-modules --config=node_modules/laravel-mix/setup/webpack.config.js

98% after emitting SizeLimitsPlugin

 ERROR  Failed to compile with 3 errors                                                                                12:22:27 PM

 error  in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx

[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(77,17)
      TS7006: Parameter 'node' implicitly has an 'any' type.

 error  in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx

[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(80,20)
      TS7006: Parameter 'node' implicitly has an 'any' type.

 error  in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx

[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(84,19)
      TS7006: Parameter 'node' implicitly has an 'any' type.

ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx
./resources/assets/ts/components/Transition.tsx
[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(80,20)
      TS7006: Parameter 'node' implicitly has an 'any' type.

ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx
./resources/assets/ts/components/Transition.tsx
[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(84,19)
      TS7006: Parameter 'node' implicitly has an 'any' type.
npm ERR! code ELIFECYCLE
npm ERR! errno 2

@mckenziearts please have a look when you can

Chnaging the  "noImplicitAny": true to false seems to work. Cant say why... any ideas -
https://stackoverflow.com/a/52710206/8458744 but temporarily works. As stated hear it is just a workaround

I got the same error but Arthur told me that it's was coming from my environment.

How to fix it?

Reply to this email directly or view it on GitHub:
https://github.com/laravelcm/website/issues/11#issuecomment-682220088

I pulled the latest codes and re-ran, this error doesn't appear again

However I get these
ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx
./resources/assets/ts/components/Transition.tsx
[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(77,17)
      TS7006: Parameter 'node' implicitly has an 'any' type.

ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx
./resources/assets/ts/components/Transition.tsx
[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(80,20)
      TS7006: Parameter 'node' implicitly has an 'any' type.

ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx
./resources/assets/ts/components/Transition.tsx
[tsl] ERROR in /Users/muarachmann/Sites/website/resources/assets/ts/components/Transition.tsx(84,19)
      TS7006: Parameter 'node' implicitly has an 'any' type.

should be a react/typescript thing

ok thanks muarachmann


RTSP stream not processed

I'm trying to open a RTSP stream by modifying the config.json file:
"VIDEO_INPUT": "remote_cam",
...
"remote_cam": "rtsp://<IP_ADDRESS>:554/user=admin_password=_channel=6_stream=0.sdp ! video/x-raw, framerate=30/1, width=1280, heigth=720 ! videoconvert ! appsink"
My platform ist jetson nano. I can see the video stream on port 8090, but when I try to open port 8080 it just gives me "Error with message send by YOLO, not valid JSON" in the log.
USB cam and the MP4-file demo are running fine.
Any ideas? Thanks in advance!

Hi,
For RTSP stream it should work directly with:
"remote_cam": "rtsp://<IP_ADDRESS>:554/user=admin_password=_channel=6_stream=0.sdp"

Today I tried it again and waited a little longer for the RTSP stream getting processed. Now it works.
One problem is now, that the stream resolution is 1280x720, which is too high for proper processing. It there any option to resize the stream before input to neural network?

You should change it in the input gstreamer pipeline directly, but I'm not an expert on those commands so I'm not sure how it should work for the RSTP stream
For the USB cam I know this works: "v4l2src device=/dev/video0 ! video/x-raw, framerate=30/1, width=640, height=360 ! videoconvert ! appsink" , where you specify a different width / height resolution that is supported by the camera


chore libzkp v0.11.0rc4

All features except new l1 fee:

recent batch proving failure fix
45 chunk

Highlight:
assets changed:
layer*.config
params:
chunk prover now needs params20 params24 params25
batch prover now needs params21 params26

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 54.30%. Comparing base (ba77a74) to head (abe10fd).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #1350   +/-   ##
========================================
  Coverage    54.30%   54.30%
========================================
  Files          156      156
  Lines        11922    11922
========================================
  Hits          6474     6474
  Misses        4953     4953
  Partials       495      495

Flag
Coverage Δ

database
42.85% <ø> (ø)

prover
26.55% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Unicode support

I use RASA NLP
My bots are in finnish language and work other perfectly but this free question  "type your question" in finnish "kirjoita kysymys tähän" comes like this?

Solved added this by adding
charset="UTF-8"
to style.css file


Should be null

Hey Mitchell,
thanks for opening this issue. Obviously, this should be fixed as soon as possible. This also broke the latest scheduled build: https://github.com/nkl-kst/the-sports-db/actions/runs/977588912

Fixed in v1.0.5 (0fa346e)


Warning: repos that have renamed "master" branch to "main" must be fixed manually on doom update or doom upgrade

doom upgrade (and I presume doom update) aborts if upstream has changed the default branch name (for example, from master to main). Example failure:
$ doom -d upgrade -p
...
> (280/288) Fetching websocket...nil
x There was an unexpected error:
  Type: doom-package-error
  Message:
    Error with packages
  Data:
    "websocket"
    (error "Failed to run \"git\"; see buffer *straight-process*")
  Straight output:
    fatal: couldn't find remote ref refs/heads/master

This is because https://github.com/ahyatt/emacs-websocket has renamed their "master" branch to "main". Git doesn't handle this situation automatically if you've already cloned a local copy. It can be fixed with instructions from the aforementioned article:
$ git checkout master
$ git branch -m master main
$ git fetch
$ git branch --unset-upstream
$ git branch -u origin/main
$ git symbolic-ref refs/remotes/origin/HEAD refs/remotes/origin/main

This should probably be reported upstream to straight. It defaults to cloning master in the absence of an explicit branch. Though, I suspect no good, general solution for this exists.
Neither Doom nor straight is able to guess what a repo's main branch is, or whether the current branch was necessarily renamed to main or some other arbitrary name.

@hlissner I've taken the liberty of opening a couple of issues. One over in the emacs-websocket repo where I think it'd be considerate to let people know about the breaking change, and one over in the straight.el repo.

A permanent solution to this problem has been discussed already. Some nontrivial work is required, but I do not think the problem is insurmountable in principle.

@telotortium can you show step-by-step instructions what we need to do?

@randomizedthinking My instructions above don't work?

@telotortium To me, websocket is a package in the middle. After running your commands inside .emacs.d/.local/straight/repos/emacs-websocket, I still stuck with doom update: I would like to update the rest of the packages after websocket, but it won't work.

Workaround (CAVEAT EMPTOR: with full rebuild)
Assumptions:

You already have a working set of config files (e.g.: ~/.config/doom/*)

Workaround proper
EMACSDIR="~/.emacs.d" # Ensure this is accurate!
mv -iv "$EMACSDIR" "$EMACSDIR".bck
git clone --depth 1 https://github.com/hlissner/doom-emacs.git "$EMACSDIR"
"$EMACSDIR"/bin/doom sync

doom sync will emit a warning:
    → Building ein → Cloning emacs-websocket...

Warning (straight): Could not check out branch "master" of repository "emacs-websocket"
    → Building ein → Cloning emacs-websocket...done

... but will compile anyway:
$ ls -l ~/.emacs.d/.local/straight/build/websocket/
total 68
lrwxrwxrwx 1 pancho pancho    72 Jun 23 07:04 websocket.el -> /home/luser/.emacs.d/.local/straight/repos/emacs-websocket/websocket.el
-rw-r--r-- 1 pancho pancho 62441 Jun 23 07:04 websocket.elc

Hope that it helps!

Perhaps I am missing something, but why can you not just go into the websocket repository and manually git checkout main? The whole point of straight.el is that you can always do stuff manually if the package manager is not smart enough.

Perhaps I am missing something, but why can you not just go into the websocket repository and manually git checkout main? The whole point of straight.el is that you can always do stuff manually if the package manager is not smart enough.

That's the first thing I tried.  But in my case, the repo was already tracking main.  The problem happens after that, when running doom upgrade.  It complains about an issue with master, and won't cooperate.  Doing the doom sync route works nicely, though.

I got these kind of errors also when cleaning out repos to start from scratch due to init.defaultBranch. I fixed that issue upstream: https://github.com/raxod502/straight.el/pull/739
I'd appreciate if the pin could be bumped to that :)

Stalebot strikes once again and closes a relevant and unresolved issue.


New Indonesian Translation Progress

Maintainer List

@arfianadam
@gedeagas
@regalius
@rizafahmi
@resir014
@grikomsn
@zainfathoni
@r17x
@mhaidarhanif

For New Translators
To translate a page:

Check that no one else has claimed your page in the checklist and comments below.
Comment below with the name of the page you would like to translate. Please take only one page at a time.
Clone this repo, translate your page, and submit a pull request!

Before contributing, read the glossary and translation guidelines to understand how to translate various technical and React-specific terms.
Please be prompt with your translations! If you find that you can't commit anymore, let the maintainers know so they can assign the page to someone else.
For Maintainers
When someone volunteers, edit this issue with the username of the volunteer, and with the PR. Ex:

[ ] Quick Start (@tesseralis) #12345

When PRs are merged, make sure to mark that page as completed!
Main Content
To do before releasing as an "official" translation. Please translate these pages first.
Note that each section has an index page, which needs to be translated too.
Learn React (High Priority)

[ ] Quick Start (@infrasync)

[x] Tutorial: Tic Tac Toe (@resir014) #335
[ ] Thinking in React (@resir014)

[x] Installation (@syauqy) #331

[ ] Start a New React Project (@syauqy)
[ ] Add React to an Existing Project (@padunk)
[ ] Editor Setup (@agprst) #333
[ ] React Developer Tools (@yaffalhakim1) #334

[ ] Describing the UI (@mustafamilyas) #332

[ ] Your First Component (@Cikang44) #338
[ ] Importing and Exporting Components (@aroyan)
[ ] Writing Markup with JSX (@mhmmd-ysf)
[ ] JavaScript in JSX with Curly Braces (@naufaldi)
[ ] Passing Props to a Component (@DevinWinando)
[ ] Conditional Rendering (@rickyraz)
[ ] Rendering Lists (@samnap11)
[ ] Keeping Components Pure

[ ] Adding Interactivity (@chrsep)

[ ] Responding to Events
[ ] State: A Component's Memory
[ ] Render and Commit
[ ] State as a Snapshot
[ ] Queueing a Series of State Updates
[ ] Updating Objects in State
[ ] Updating Arrays in State

[ ] Managing State (@kalmndo)

[ ] Reacting to Input with State
[ ] Choosing the State Structure
[ ] Sharing State Between Components
[ ] Preserving and Resetting State
[ ] Extracting State Logic into a Reducer
[ ] Passing Data Deeply with Context
[ ] Scaling Up with Reducer and Context

[ ] Escape Hatches

[ ] Referencing Values with Refs
[ ] Manipulating the DOM with Refs (@andriawan)
[ ] Synchronizing with Effects
[ ] You Might Not Need an Effect
[ ] Lifecycle of Reactive Effects
[ ] Separating Events from Effects
[ ] Removing Effect Dependencies
[ ] Reusing Logic with Custom Hooks

API Reference (High Priority)

[ ] react: Hooks

[ ] useCallback
[ ] useContext (@r17x)
[ ] useDebugValue
[ ] useDeferredValue
[ ] useEffect
[ ] useId
[ ] useImperativeHandle
[ ] useInsertionEffect
[ ] useLayoutEffect
[ ] useMemo
[ ] useReducer
[ ] useRef
[ ] useState
[ ] useSyncExternalStore
[ ] useTransition

[ ] react: Components

[ ] <Fragment> (<>)
[ ] <Profiler>
[ ] <StrictMode>
[ ] <Suspense>

[x] react: APIs (@r17x) #341

[x] createContext (@r17x) #339
[ ] forwardRef
[ ] lazy (@r17x) #342
[ ] memo (@nagacoder)
[ ] startTransition

[ ] react-dom: Components

[ ] Common (e.g. <div>) (@AudiWu)
[ ] <input>
[ ] <option>
[ ] <progress>
[ ] <select>
[ ] <textarea>

[ ] react-dom: APIs

[ ] createPortal
[ ] flushSync
[ ] findDOMNode
[ ] hydrate
[ ] render
[ ] unmountComponentAtNode

[ ] react-dom/client: Client APIs

[ ] createRoot (@chez14)
[ ] hydrateRoot

[ ] react-dom/server: Server APIs

[ ] renderToNodeStream
[ ] renderToPipeableStream
[ ] renderToReadableStream
[ ] renderToStaticMarkup
[ ] renderToStaticNodeStream
[ ] renderToString

Navigation and UI (Medium Priority)
We suggest to leave most of the UI translation until the end. We plan to do some invasive changes to the website folder layout and components, so postponing this until your translation is almost complete would make it easier to merge the changes from our side later. It might make sense to translate the homepage above the fold early, but leave the rest for later. As individual pages get translated, you can change the page titles in the corresponding sidebar files. Finally, when you're translating the navigation, make sure to test both desktop and mobile layouts.

[ ] Homepage (currently in HomeContent.js)
[ ] Sidebars (currently in src/sidebar*.json)
[ ] Top-level navigation (currently in TopNav.tsx)

When You're Ready...
After everything above is translated, add your language to deployedLanguages in Seo.tsx of the original reactjs/react.dev repository.
Secondary Content  (Medium Priority)
These API pages should ideally be translated too, but they're less urgent and can be done after the others:

[ ] Legacy React APIs

[ ] Children
[ ] cloneElement
[ ] Component
[ ] createElement
[ ] createFactory
[ ] createRef
[ ] isValidElement
[ ] PureComponent

Optional Content  (Low Priority)
These aren't the main translation targets, but if you'd like to do them, feel free to expand the list to include their subpages:

[ ] Community
[ ] Blog
[ ] Warnings

May i translate a Quick Start Page ?

I'm interested in translating, "describing the UI" section, I can start until your first component today, may I?

Hi, I'm interested to translate "Start a New React Project" under the Installation section.

I'm interested in contributing, may I translate the page 'Conditional Rendering'

Hi, love to contribute back to React community, I would like to translate Add React to an Existing Project

Hi! I'd also love to contribute back to react. Can i take the Adding Interactivity overview page?

I'm really loved if i can contribute on Managing State

I would like to contribute as well by translating 2 pages, which are "Rendering Lists" and "Keeping Components Pure".

Hi @resir014 and @grikomsn , once you've confirmed the question from @gaearon, we three @zainfathoni @r17x @mhaidarhanif also would like to be listed as well. Thank you

Can you please confirm if you will be able to maintain and steer this translation? We need to get<EMAIL_ADDRESS>to match the current list of active maintainers. Thank you!

Hi @gaearon!
Sorry for the late response, but yeses, I'll be able to manage the translation for for the Indonesian localisation. And as @mhaidarhanif mentioned, we can add him, @r17x, and @zainfathoni to the maintainers list.

May i translate a Quick Start Page ?

@infrasync Of course! Your assigned page will be: Tutorial: Tic Tac Toe
As for me, I'll take the other one: Thinking in React.

I'm interested in translating, "describing the UI" overview page, may I?

@mustafamilyas Of course!
Your next page will be: Describing the UI

Hi, I'm interested to translate "Installation" and "Start a New React Project" page under the Installation section.

@syauqy You got it!
Your next page(s) will be: Installation, Start a New React Project*

I would like to translate the "Editor Setup" page under the Installation section

@agprst Your next page will be: Editor Setup

I'm interested in contributing, may I translate the page 'Conditional Rendering'

@rickyraz Your next page will be: Conditional Rendering

Hi, love to contribute back to React community, I would like to translate Add React to an Existing Project

@padunk Your next page will be: Add React to an Existing Project

Hi! I'd also love to contribute back to react. Can i take the Adding Interactivity overview page?

@chrsep Your next page will be: Adding Interactivity

I'm really loved if i can contribute on Managing State

@kalmndo Your next page will be: Managing State

I would like to contribute as well by translating "Rendering Lists".

@samnap11 Your next page will be: Rendering Lists
Thank you all!

@resir014 I noticed that "Quick Start" hasn't been assigned yet
URL: https://react.dev/learn
If still available, and if I may, I'll take it

Hi maintaner @resir014 @mhaidarhanif  @r17x , i would like to help translating this page https://react.dev/learn/adding-interactivity

Hi, I'm interested in contributing. may I translate the React Developer Tools?

Hi maintaner, i would like to help translating this page react.dev/learn/adding-interactivity

Hi @andriawan - that page has already been claimed. Would you like to pick another page?

Hi, I'm interested in contributing. may I translate the React Developer Tools?

@yaffalhakim1 All set!
Your next page will be: React Developer Tools

I assume Writing Markup with JSX hasn't been claimed, if it's not then i'll start there.

Hi maintaner, i would like to help translating this page react.dev/learn/adding-interactivity

Hi @andriawan - that page has already been claimed. Would you like to pick another page?

sure @resir014. what about Manipulating the DOM with Refs https://react.dev/learn/manipulating-the-dom-with-refs

@resir014 In the beginning of each chapter, there is a <YouWillLearn> component, e.g. Your First Component page. The block starts with the title of You Will Learn. I'm having trouble translating the title because the title is already hard-coded into the docs using English. What is the solution for this?  https://github.com/reactjs/id.react.dev/blob/57d8f80d032a45ff0bac69376b6442254cf98ff2/src/components/MDX/MDXComponents.tsx#L169-L178

Hi, I'm interested to translate react: APIs -> createContext

@r17x Okay. Your next page will be: react: APIs -> createContext and react: Hooks -> useContext

In the beginning of each chapter, there is a  component, e.g. Your First Component page. The block starts with the title of You Will Learn. I'm having trouble translating the title because the title is already hard-coded into the docs using English. What is the solution for this?

@samnap11 We can worry about localisation codes in layout component later, after all the docs contents are finished (i.e. everything in .md) For now, let's focus on the docs contents.

sure @resir014. what about Manipulating the DOM with Refs react.dev/learn/manipulating-the-dom-with-refs ?

@andriawan Sure!
Your next page will be: Manipulating the DOM with Refs

Hi, I'm interested in contributing. may I translate the react components fragment?

Hi @resir014 / other maintainer team, I'd like to translate react-dom/client → createRoot please. Thanks!

Hi @resir014 / @grikomsn ,  I'm interested in contributing. may I translate JavaScript in JSX with Curly Braces

Hi @resir014  / @grikomsn  , I'm interested in contributing in Warnings for transalation. Thanks

Hello! I would love to translating Passing Props to a Component  if it hasn't been claimed.

Hello @resir014, Can I contribute to Importing and Exporting Components ?

Also, @aroyan @DevinWinando @naufaldi @chez14 you all have been assigned to your pages!

@resir014  - i see, i will take react:APIs -> memo  then

Also, @aroyan @DevinWinando @naufaldi @chez14 you all have been assigned to your pages!

Hi @resir014 I didn't see the part that I would take assigned to me.
react: components <Fragment> (<>)
Just to remind you thank you

@AudiWu Sorry, I missed it!
Your next page will be: react: Components -> <Fragment>

i see, i will take react:APIs -> memo  then

@nagacoder Your next page will be: react: APIs -> memo

@gaearon hey, yes, sure :+1:

Hi, I'd love to  contribute on page react: Hooks

@resir014 I just finished Rendering Lists page. I would like to help with the next page, which is Keeping Components Pure while waiting for the review.

Hi, I would love to contribute on page react-dom/client: Clients APIs-> hydrateRoot

@resir014 Would love to edit Responding to Events page.

Hello, @resir014. I would like to request to translate the react-dom: APIs page. Could you please assign it to me?

Hello @resir014, Can I contribute to react-dom/Components/option next?

hi @resir014, I'd like to contribute to You Might Not Need an Effect. can you assign it to me? thank you

Hello @resir014 , can I contribute to Managing State > Reacting to Input with State?

Hi @resir014. I would like to contribute to useLayoutEffect

hi @resir014, can i contribute to useCallback ?

hi @resir014, i'm interesting to contribute. May i help to translate  Render and Commit ?

I saw that i was assign to react-dom: Components -> Common (e.g. ) ?

@AudiWu Sotty! You have the correct page now.

hi @resir014 , can I contribute to API Reference > react-dom > Component > progress?

Also, morning everyone! I've sorted out through all requests for page claims, and you should all be assigned to the correct pages. If something is wrong, let me know!

hi @resir014, can i contribute to Managing State > Choosing the State Structure ?

Hi @resir014. I'm interested in translating Adding Interactivity > State: A Component's Memory. Thank you

Hi @resir014, may i contribute to  API Reference > Hooks > useRef ? Thanks!

Hi, @resir014, I'm interested in translating Updating Objects in State.? Thank you.

Hi, @resir014, I'm interested in translating Passing Data Deeply with Context. May I contribute? Thank you.

Hi, @resir014 , I am interested in translating State as a Snapshot. May I contribute to the translation ? Thank you

Hi @resir014 , I'm interested to contribute, may I translate the Hooks > useId page ?

Hello @resir014 , can I contribute to Managing State > Choosing the State Stucture? thanks

hi @resir014, I'd like to contribute to the translation of Reusing Logic with Custom Hooks. may i help with the translation? thank you

Hi mas @resir014, I'd like to contribute to translating the react-dom: Components overview page. May I?
Thank you.

Hello @resir014 , can I contribute to useState? thanks

Hi @resir014, I would like to contribute to translate react: Components -> <Profiler> page.
Thanks.

Hi @resir014. I would like to contribute to Updating Arrays in State. Thanks.

I've done the second round of assigning pages for those who already claimed them above. Happy translating!

@resir014 Need update for task forwardRef & useContext (assignee to me & linked PRs)

Hi @resir014, I'd like to contribute to useMemo. Thanks! :)

@resir014 I think you assign the wrong page to @dhafitf

Hi @resir014 is it ok if i do more translation? if yes i would like to translate Sharing State Between Components. Thank you

hi @resir014, can I contribute to  Queueing a Series of State Updates

Hi @resir014 I want to contribute to react-dom component "". Thank You

Hi @resir014, I'd like to contribute translating the useReducer page in the references section please.

Hi @resir014. I would like to contribute to Managing State > Preserving and Resetting State. Thanks.

Good evening @resir014, I would like to contribute for <StrictMode />. Thank you!

Hi @resir014 , right now I'm still learning react but I would love to help and contribute translating useTransition , is it possible for me? Thank you in advance!

Hello @resir014, I really would love to contribute to this project, can I help in translating the Sharing State Between Components page? Thank you in advance!

I would like to translate the "Suspense" page under the React Component section

Hi @resir014 I would like to contribute also to react-dom/client: Client APIs page

Hi @resir014 , I would like to contribute on renderToPipeableStream page

@resir014 We need to confirm progress with PR for these because some are approaching/near 3 days elapsed after the initial assignment.
Also want to ask why some of the assigned are not in the comments (?).
I've already rechecked the open and closed PR lists.
Learn React (High Priority)

Quick Start (@infrasync)
Add React to an Existing Project (@padunk)
Writing Markup with JSX (@mhmmd-ysf)
JavaScript in JSX with Curly Braces (@naufaldi)
Passing Props to a Component (@DevinWinando)
Conditional Rendering (@rickyraz)
Keeping Components Pure (@samnap11)
Responding to Events (@dimassrio)
State: A Component's Memory (@krowter)
Updating Objects in State (@brandon-julio-t)
Managing State (@kalmndo)
Reacting to Input with State (@JfrAziz)
Choosing the State Structure (@dzakiafif)
Extracting State Logic into a Reducer (@thaddeuscleo)
Manipulating the DOM with Refs (@andriawan)
You Might Not Need an Effect (@averrows)

API Reference (High Priority)

react: Hooks (@KevinPalowa)
useCallback (@intanirnanda5796)
useDebugValue (@arganaphang)
<Fragment> (<>) (@AudiWu)
memo (@nagacoder)
<option> (@aroyan)
react-dom: APIs (@dimasma0305)
createRoot (@chez14)
hydrateRoot (@junkevin88)

Hi @resir014, I'd like to contribute to translating the Referencing Values with Refs page

Hi @resir014 I'd like to contribute to translate the react-dom/server: Server APIs

Hi @resir014 I'd like to contribute to translate the renderToStaticMarkup page

The goal is to make sure the availability of existing assignees and unblock new translators who want to take the pages. Also to make sure we follow the guideline in the original post by gaearon: Please take only one page at a time.

@mhaidarhanif Yep, that's what I'm doing. ATM I'm letting them take a new one once they have a PR ready.

Hi @resir014 I'd like to contribute to translate to renderToStaticNodeStream  page

Hi @resir014, may I translate theuseDeferredValue page?

Hello @resir014, I really would love to contribute to this project, can I help in translating the Sharing State Between Components page? if it's assigned to someone else, can i help in translating the Preserving and Resetting State  page? Thank you in advance!

@FelixFern Hi, those two pages have been claimed. Do you mind claiming another page?

Hi @resir014 , i would like to contribute on Sharing State Between Components page

Hi @shaddamalbz, that page has been claimed. Would you like to claim another page?

Hello @resir014, I really would love to contribute to this project, can I help in translating the Sharing State Between Components page? if it's assigned to someone else, can i help in translating the Preserving and Resetting State  page? Thank you in advance!

@FelixFern Hi, those two pages have been claimed. Do you mind claiming another page?

Thanks for the reply! yes I wouldn't mind at all, how about the Referencing Values with Refs page? is it claimed yet?

Hello @resir014, I really would love to contribute to this project, can I help in translating the Sharing State Between Components page? if it's assigned to someone else, can i help in translating the Preserving and Resetting State  page? Thank you in advance!

@FelixFern Hi, those two pages have been claimed. Do you mind claiming another page?

Thanks for the reply! yes I wouldn't mind at all, how about the Referencing Values with Refs page? is it claimed yet?

@FelixFern Yes, you can!
Your next page will be: Referencing Values with Refs

@resir014 @FelixFern Referencing Values with Refs was requested by @irsyaadbp 2 hours ago. Therefore @irsyaadbp have to request another one.

Hello @resir014, I really would love to contribute to this project, can I help in translating the Sharing State Between Components page? if it's assigned to someone else, can i help in translating the Preserving and Resetting State  page? Thank you in advance!

@FelixFern Hi, those two pages have been claimed. Do you mind claiming another page?

Thanks for the reply! yes I wouldn't mind at all, how about the Referencing Values with Refs page? is it claimed yet?

@FelixFern Yes, you can!
Your next page will be: Referencing Values with Refs Nevermind, see below

oh ok no probs! in that case, how about the 'Common (e.g. )' page?

@mhaidarhanif Would you prefer us to open a draft PR as soon as possible or open it only when we're ready to merge it? Or perhaps your point was to simply push us to be better and quicker at translating the pages?

@FelixFern oh ok no probs! in that case, how about the 'Common (e.g. div)' page?

Yes, that page Common (e.g. <div>) hasn't been requested/claimed, so it's safe (to be taken by @FelixFern). Will wait for @resir014 to assign.
Therefore @irsyaadbp can still take Referencing Values with Refs as he requested earlier.

Also, I would like to suggest that maybe we can use a spreadsheet to take assignments. Because, currently, it is very chaotic and difficult to maintain the requests for assignments from comments only due to how fast the number of comments is increasing, at least from my perspective.

@samnap11 Agree, it seems confusing. Also about this, need some input from @resir014 @mazipan @r17x @zainfathoni
Initially, there was an idea to make a GitHub Projects board (instead of a spreadsheet). We'll see after some discussions.

as we've been discussing it internally

@mhaidarhanif Hello, what kind of internal discussions are we talking about? Can we use a public-accessible channel instead of private one? Can be just "Discussions" in this repo, IMO.

as we've been discussing it internally

@mhaidarhanif Hello, what kind of internal discussions are we talking about? Can we use a public-accessible channel instead of private one? Can be just "Discussions" in this repo, IMO.

Sure, we'll wait for @resir014 @r17x @zainfathoni to confirm to move forward about this to this issue and "Discussions".

Hi @resir014, I'd like to contribute to react: Hooks > useSyncExternalStore. Can you please assign it to me? thank you.

Hello, I am interested to translate react-dom pages: Components > <textarea> page. Thank you

Hi @shaddamalbz, that page has been claimed. Would you like to claim another page?

Hi @resir014, sure, how about <StrictMode> is it have been claimed yet?

Hi @resir014, I'd like to contribute to react: react-dom > textarea. Can you please assign it to me? thank you.

Hi @resir014, I would like to contribute to Escape Hatches page. Can you help to assign the page to me? Thank you very much!

Can i contribute to Escape Hatches > Synchronizing with Effects?

Hi, Can I contribute and assign me to page Escape Hatches > Removing Effect Dependencies, please?

Hey everyone!
Thank you for your enthusiasm in this translation project. To anticipate the demand, we're currently updating the workflow of our translation project. We're converting the checklist on the original post into sub-issues so that everyone can claim them directly from said issue, rather than polluting this issue thread.
As soon as our work is done, this issue thread can be used for general discussions related to the translation project.
Thanks!

Having all the issues ready for unfinished translations, because there are about 100 of them.

Hey @mhaidarhanif, I can help opening those issue for you.

Hey @mhaidarhanif, I can help opening those issue for you.

@doaortu The maintainers are running through all the issues one by one. You can relax for now.

@doaortu The maintainers are running through all the issues one by one. You can relax for now.

Ah I see, thank you for the update.

Hi, I'm interested in contributing. Where can I see pages that are not assigned yet?

@ical10 Please wait, as explained by @resir014 above, we're migrating to a better workflow so "we can see pages that are not assigned yet" much easier.

As some of us suggested, we are mechanism to avoid unnecessary bottlenecks during the assignment process. The process is inspired by WargaBantuWarga project.

Here's the gist of the process, we will move it to the corresponding documentation soon.
Issue assignment & Communication
Once you're ready with your branch and have something to contribute, you'll want to
let everyone know that you are working on the issue. To communicate this, we
are using GitHub's Draft Pull Requests.
Draft Pull Request is like a regular Pull Request but it can't be merged until
it's marked as "ready for review". It signals other contributors that it's a
work in progress.
This is necessary to signal other contributors that the work for the particular
issue has started and it is still in progress. Also, it is a better approach to
use as a communication tool between contributors because we can provide
additional information other than viewing the changed files.
Therefore, when you have at least one commit it's important to create a Draft
Pull Request to let everyone know that the issue is assigned to you.
Creating a Draft Pull Request
Steps to creating a Draft Pull Request:

Commit and push your new changes into the remote repository. Please refer to @commitlint/config-conventional for your commit message or you can use commitlint.io to assist you in composing the commit message.
Head over to the Pull requests section on your forked repository, hit New pull request.

Pick your forked repository for the head repository, and compare with the branch that you are having changes in.

Put a clear title and description in your pull request. Make sure the
description follows our guide below.

Pick Create draft pull request (like in the image above) and hit the green button.
Don't forget to mark your Draft Pull Request as Ready for review after you commit all of the changes.

Formatting Pull Request Description
To properly link a pull request to an issue, there is one tiny requirement text to put in a Pull Request description.
Please make sure to mention the issue that you're working on correctly. Replace
this text <!-- mention the issue that you're trying to close with this PR -->
from the template with the issue number. Example:
Closes #318

I updated the TRANSLATION.md page with the abovementioned mechanism. Please take a look at that new process from now on.
Thank you for contributing, and happy translating! 😄

In principle, anyone available to translate any page, please raise a Draft PR at your earliest convenience.
The issue description's Assignee: @username text is a remnant of the previous assignment process.
From now on, we will prioritise any PRs (or draft PRs) as a sign of self-assignment to the particular issue.

Hello everyone:
I'm pleased to announced that we've reached 50% progress in our Core translations! 🎉

With this milestone, we've also announced that we're also opening translations for the medium priority issues, starting from the Legacy React APIs section. Please check the first post for links to these issues.
Additionally, we're also opening translations for the UI elements once we got all the translated document titles figured out - since there are files like sidebar.json which relies on said translated document titles.
Thank you for your continued contribution! 💙

We've added some new pages from the upstream version to translate. Also there's a new "React Reference Overview" and "Rules of React section available to translate here: #649

Wave 2 translations for id.react.dev have been opened!
In this second wave, we will translate new pages added in anticipation of the new features to be added in React 19, as well as features in Canary channel, and also React Server Components.

Please claim your issue(s) here: #681


Electron-Differential-updater

https://imjselectron.github.io/electron-differential-updater/#/
Description

Progress bar on windows for differential update just made my day. Thanks


strtok_r errors

The chip freezes when strtok_r is in use. It doesn't even print previous statements.
if strtok_r line is commented then the program runs just fine.
Does someone has used succesfully strtok on the esp?
Any suggestions?
void worker(void * pvParameters){
  char cR[BUF_SIZE];
  char *cMethod;
  //char *cURI;
  char *rest;
  int iBites;
  int sockClient;
  xQueueHandle xWorkersQueue=*(xQueueHandle *)pvParameters;
  while(1){
    //waiting for clients
    while( xQueueReceive(xWorkersQueue , (void *)&sockClient , portMAX_DELAY ) != pdTRUE );
    //get client request
    iBites=lwip_recv(sockClient, cR, sizeof(cR), 0);
    printf("-----REQUEST-------\n");
    printf("%.*s\n",iBites,cR);
    //parsing request
    //strcpy(cMethod,strtok_r(cR," ",&rest));
    //strcpy(cURI,strtok_r(NULL," ", &rest));
    cMethod=strtok_r(cR," ",&rest);
    printf("----------DEBUG----------\n%s\n%s\n",cMethod,"");

    strcpy(cR, "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\nprova");
    printf("-----RESPONSE-------\n");
    printf("%s\n",cR);
    lwip_send(sockClient, cR, strlen(cR), 0);
    lwip_close(sockClient);

One question when looking over your code:  Are you sure that cR is zero-terminated?  It looks like you're just doing a raw recv and then passing that to strtok, but strtok expects a zero-terminated string (and if it doesn't find a zero, will just keep reading off the end into who knows what memory regions (and then write zeros into them))..
(Note that lwip_recv is also not guaranteed to return all of the sent data in one go, and you may have to call it multiple times to get the full text. (so, for example, it's quite possible that instead of returning "GET / HTTP/1.0", when you call it the first time it'll return "GE" and the second time it'll return "T / HTTP/1.0".  This may not have anything to do with your problem here, but it's something your code should be prepared for..)

So if i strncpy or write at the end a \0 before passing it to strtok it
should work?
Thanks for the tip, never took that into account, it was driving me crazy.
I will try.
How is it however possible that even previous statements didnt work. I mean
if a overwrited a sensible region of memory with strtok it makes sense that
i doesnt work. But first it have to arrive to strtok statement. I will like
to know.
Another time thanks for your help
On Fri, Sep 18, 2015, 8:48 PM Alex Stewart<EMAIL_ADDRESS>wrote:

One question when looking over your code: Are you sure that cR is
zero-terminated? It looks like you're just doing a raw recv and then
passing that to strtok, but strtok expects a zero-terminated string (and
if it doesn't find a zero, will just keep reading off the end into who
knows what memory regions (and then write zeros into them))..
(Note that lwip_recv is also not guaranteed to return all of the sent
data in one go, and you may have to call it multiple times to get the full
text. (so, for example, it's quite possible that instead of returning "GET
/ HTTP/1.0", when you call it the first time it'll return "GE" and the
second time it'll return "T / HTTP/1.0". This may not have anything to do
with your problem here, but it's something your code should be prepared
for..)
—
Reply to this email directly or view it on GitHub
https://github.com/SuperHouse/esp-open-rtos/issues/48#issuecomment-141533738
.

Note that when you send output over the UART using printf et al, what it actually does is stick the data into a hardware FIFO buffer on the UART, and the UART chip then works on actually sending that out over the wire while the CPU continues on with other things.
Even at 115200 bps, the rate the UART can actually send data out is glacially slow compared to how fast the CPU keeps on executing instructions, so it's quite possible that the previous statements did actually execute, but you never saw their output because it just never had time to make it out of the UART FIFO buffer before strok's rogue memory accesses locked up the whole system (including the UART).
If you want to be absolutely sure that your output has left via the UART before doing the next step, you can put something like the following in your code to wait until the FIFO is actually empty before continuing (which should make sure you see all messages up to that point, even if something later goes completely bonkers):
while (FIELD2VAL(UART_STATUS_TXFIFO_COUNT, UART(0).STATUS) != 0) {}

after modifying the program, manually zero terminating the string has not solved the problem:
  while(1){
    //waiting for clients
    while( xQueueReceive(xWorkersQueue , (void *)&sockClient , portMAX_DELAY ) != pdTRUE );
    //get client request
    /*
    counter=cR;
    acc=0;
    do{
      if(acc <= sizeof(cR)-sizeof(char) ){
        iBites=lwip_recv(sockClient, counter, sizeof(cR)-sizeof(char)-acc, 0);
        acc=acc+iBites;
        counter=&cR[acc/sizeof(char)];
      }
      else{
        iBites=lwip_recv(sockClient, &acc, sizeof(acc),0);
      }
    }
    while(iBites>0);
    */
    iBites=lwip_recv(sockClient, cR, sizeof(cR)-sizeof(char), 0);
    cR[BUF_SIZE]='\0';
    printf("-----REQUEST-------\n");
    printf("%.*s\n",iBites,cR);
    //parsing request
    cMethod=strtok_r(cR," ",&rest);
    cURI=strtok_r(NULL," ",&rest);
    printf("-----DETAILS-----\n");
    printf("Method: %s\nURI: %s",cMethod,cURI);

Hi podema,
A couple of thoughts:
On Mon, Sep 21, 2015 at 10:19:11AM -0700, podema wrote:

    cR[BUF_SIZE]='\0';

you probably want to do if(iBytes > 0) cR[iBytes] = 0; here, because otherwise there could still be leftover junk in the buffer between after the data that you just read, but before the end.
acc <= sizeof(cR)-sizeof(char)

This code was commented so it's probably not the problem, but you should check sizeof(cR) isn't 4. Probably safest to use BUF_SIZE instead, if that's the size of the buffer pointed to by cR.

    cMethod=strtok_r(cR," ",&rest);
    cURI=strtok_r(NULL," ",&rest);

If you add a line below these two
printf("iBytes %d cR %p cMethod %p cURI %p\n", iBytes, cR, cMethod, cURI);

... then what does the full output from the code you pasted (including the other debug output) look like?
Angus

@podema, are you still having any problems with strok_r, or is it OK to close this issue?

Sorry for the delay, i had a busy week.
I tried what you suggested, i tried even rewriting it from scratch, i'm still have the same error. However this easy program works correctly:
void unused_function(){
  char foo[30];
  char *rest;
  while(1){
    strcpy(foo,"FOO BAR");
    printf("%s\n",strtok_r(foo," ",&rest));
    printf("%s\n",strtok_r(NULL, " ",&rest));
  }
}
void example(void *pvParameters){
  while(1){
    printf("Hello world!");
  }
}

void user_init(void)
{
  sdk_uart_div_modify(0, UART_CLK_FREQ / 115200);
  xTaskCreate(unused_function, (signed char *)"unused_function", 256, NULL, 1, NULL);
}

I suppose i'm violating some memory sector, and as you said corrupting the UART buffer.
So it's okay to close the issue since it's not!
Thanks for your attention

OK, I'm going to close this for now.
If you're still stuck, you might find it useful to post your code (or a link to it) on the mailing list:
https://groups.google.com/forum/#!forum/esp-open-rtos


Create issue templates

Pull Request Description

this can be verified in my forked repo
https://github.com/pramud/ngx-flagr/issues/new/choose
please let me know if any other changes are needed

Related Issue

https://github.com/pBouillon/ngx-flagr/issues/21

Closes #
Changes Made

[Describe the changes you've made.]

Checklist

[ ] I have updated the documentation.
[ ] My changes are tested and working as expected.
[ ] I have updated the relevant tests.
[ ] I have updated the version number (if applicable).
[ ] I have added my changes to the CHANGELOG.md file (if applicable).
[ ] My code follows the code style of this project.

Additional Information

[Add any other relevant information, screenshots or GIFs here, if applicable]

Hey, I just noticed that GitHub is supporting issue forms
Shifting to it might result in a better user experience, could you have a look to change from those raw templates to those?

Sure, I will have a look and update.
Thanks,
Pramud

From: Pierre Bouillon @.>
Sent: Saturday, May 13, 2023 10:07 PM
To: pBouillon/ngx-flagr @.>
Cc: Pramud Bommakanti @.>; Author @.>
Subject: Re: [pBouillon/ngx-flagr] Create issue templates (PR #25)
Hey, I just noticed that GitHub is supporting issue formshttps://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#creating-issue-forms
Shifting to it might result in a better user experience, could you have a look to change from those raw templates to those?
—
Reply to this email directly, view it on GitHubhttps://github.com/pBouillon/ngx-flagr/pull/25#issuecomment-1546706400, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAINHAQCJTJ2ORATWF7QTLDXF62CRANCNFSM6AAAAAAX3B5GWE.
You are receiving this because you authored the thread.Message ID: @.***>

Hey @pramud, are you still on it?

Closed due to inactivity


Invasion Teams & Giovanni detection

I would like to discuss how to process invasion teams & confirmed Giovanni
Refer to #12 for real invasion data examples.
Giovanni
Raw Data
This data is best extracted from a StartIncidentOutProto.
StartIncidentOutProto.Incident.step is an array of ClientIncidentStepProto. In it, the confirmed grunt character is in both pokestop_dialogue.dialogue_line.character (ClientPokestopNpcDialogueStepProto) and invasion_battle.character (ClientInvasionBattleStepProto)
A confirmed Giovanni is type 44. Male Decoy is 45 and Female Decoy is 46 (used by the game). Note that "unconfirmed" Giovanni is also 44
Processing

Add a new bool column to the incident table. I suggest calling it character_confirmed
After processing this, send a new webhook. This can then also have the same character_confirmed bool field.

Notes

There's a relatively fresh _u flag for grunt UICONs. This is part of the standard but afaik, no uicon repo supports it. Reference PR: Uicons/UIcons#34

Teams
Raw Data
This data is provided in a OpenInvasionCombatSessionOutProto.
OpenInvasionCombatSessionOutProto.combat.opponent.active_pokemon is the first slot, OpenInvasionCombatSessionOutProto.combat.opponent.reserve_pokemon is an array containing the second and third slot (in order).
These Pokemon are of type CombatPokemonProto. Refer to #12 for details on this.
You may want to abort processing if the array size != 2. This should never happen. Also only process OpenInvasionCombatSessionOutProtos that have teh SUCCESS status. It's not uncommon these can fail.
Processing
I'm not sure how to best tackle this.
Pokemon Data

Useful: Pokedex ID and Form Id
Possibly useful: Gender (not sure if same across players)
Possibly useful: Moves (not sure if same across players), possibly interesting for hardcore players, but most likely not worth storing
Likely useless: CP/CPM/IVs. Most likely different across players

Storing

If we only decide to store pokedexId and formId, we would get away with adding 6 new columns to the incidents table: slot_x_pokemon_id and slot_x_form where x is 0, 1, 2 (or 1, 2, 3)
If we decide to store more, we would probably have to make a new table. This will become quite unperformant and kind of ugly
When a team is detected, send out a incident webhook with a field that should look like this:

team: [
    {
        "pokemon_id": 0,
        "form": 0,
        ...
    },
    ...
]

I agree. All for this but just to say that even if storing moves you can add more columns to invasion without worrying. A wide nullable columns here are probably better than a sub-table for easy speed of updating IMO

Onboard with only starting with pokemon_id and form_id. I don't currently have it on my radar to add filtering for specific mons but I'm sure I'll be suckered into it at some point once the MITMs start supporting it.
Agree with the boolean confirmed column.

After starting work on this last night I'm already over the long column names. Can we just use pokemon_1, form_1?