[stable/external-dns] readd podLabels

What this PR does / why we need it:
In commit b241a62cb62a39aab2d3faf118378846de92c5e1 the podLabels for external-dns are removed. Now there is no possibility to extend labels for the pods which is needed for selecting custom labels.
Checklist

[x] DCO signed

/ok-to-test
/lgtm


Release 1.4.1

New release!

Pull Request Test Coverage Report for Build<PHONE_NUMBER>1
Warning: This coverage report may be inaccurate.
This pull request's base commit is no longer the HEAD commit of its target branch. This means it includes changes from outside the original pull request, including, potentially, unrelated coverage changes.

For more information on this, see Tracking coverage changes with pull request builds.
To avoid this issue with future PRs, see these Recommended CI Configurations.
For a quick fix, rebase this PR at GitHub. Your next report should be accurate.

Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.006%) to 80.188%

Totals

Change from base Build<PHONE_NUMBER>5:
-0.006%

Covered Lines:
2562

Relevant Lines:
3195

💛  - Coveralls


Cart: Improve Documentation

Small method clarification.
Also, reformatting README file to 80 characters width (no content change)
ping again @vincenthauser

Nicely written

:pray:


Cart Amount

Total Cart amount displaying NaN

Fixed ✅ : Displaying NaN because of non-numeric characters preventing the function to execute
Solution: added Regex function to remove unwanted non numeric character , and Number() method to convert data types for cost * quantity


Promise Caching Edge Case

Thank you to Nezuo for alerting me the discovery in his own module.
I will quote what he wrote:

Collection:load caches load promises for each document. The promise is removed from the cache when Document:close is called.

Player joins the server and Document:load is called which returns a promise that is cached.

Player leaves and rejoins that same server.

Document:load is called again, the promise from the first load never finished (meaning Document:close hasn't been called yet), so the cached promise from the first load is returned.

The promise resolves, the original load calls Document:close because that Player instance is no longer in the game.

The new load now has a closed document and none of their data will be saved at this point.

The fix
Lapis removed promise caching, but I want to search for a way around it before making a change like that.

I think this solution could cause another edge case, what if it never resolves? I think instead we should try to invalidate the cache

I am not sure I understand. But from what I think I understand I don't think so..?

#Coming back to this, maybe a timer would be beneficial, similar to how there is a dead session timer. Just feels weird. Removing promise cache is last resort imo.

One possible fix which kind of makes sense (it's early so please confirm this makes sense) on :Release before starting the release (so before the promise) we release any caches related to the keep (except for the release cache) since whether or not release fails we no longer know if it is accurate data.

One possible fix which kind of makes sense (it's early so please confirm this makes sense) on :Release before starting the release (so before the promise) we release any caches related to the keep (except for the release cache) since whether or not release fails we no longer know if it is accurate data.

I'm really trying, but I can't understand that

You will still be left with the release cache that u need to know whether it finished I guess

Wouldn't it not matter because the release cache won't mess with the loading?

Check my fork which may have everything fixed already

Have you already ran tests on this fork before I begin reviewing it deeper looks really promising though

Have you already ran tests on this fork before I begin reviewing it deeper looks really promising though

Tested new things and it looks like they are working but I'm not sure about the already existing things (mainly :Overwrite() and GlobalUpdates). I'll try to test that too

I don't have the time currently to read the whole thing, what solution did you use?

Await for keep to release with a timeout

How did you determine the timeout amount?

local timer = Store._assumeDeadLock -- in normal conditions there is no way to hit that but I am not sure if it should be that long anyway

repeat
	timer -= task.wait()
until (Keeps[id]._released and not Keeps[id]) or timer < 0

local timer = Store._assumeDeadLock -- in normal conditions there is no way to hit that but I am not sure if it should be that long anyway

repeat
	timer -= task.wait()
until (Keeps[id]._released and not Keeps[id]) or timer < 0

If someone instantly rejoins wouldn't it still happen then since it isn't considered invalid yet? Unless I am misunderstanding

Oops, there was a little misunderstanding on my side
Part of the :LoadKeep() code:
local promise = Promise.try(function()
	if Keeps[id] then
		if not Keeps[id]._releasing and not Keeps[id]._released then
			return Keeps[id]
		end

		-- wait for keep to be released on the same server: https://github.com/noahrepublic/DataKeep/issues/21

		local timer = Store._assumeDeadLock -- in normal conditions there is no way to hit that

		repeat
			timer -= task.wait()
		until (Keeps[id]._released and not Keeps[id]) or timer < 0

		if Keeps[id] then
			releaseKeepInternally(Keeps[id]) -- additional cleanup to prevent memory leaks
		end
	elseif self._cachedKeepPromises[id] and self._cachedKeepPromises[id].Status ~= Promise.Status.Rejected and self._cachedKeepPromises[id].Status ~= Promise.Status.Cancelled then
		-- already loading keep
		return self._cachedKeepPromises[id]
	end

	-- keep released so we can load new keep

	return nil
end):andThen(function(cachedKeep)
	if cachedKeep then
		return cachedKeep
	end

	-- rest of the :LoadKeep() code here
end)

When :Release() is called keep._releasing is set to true at the beginning

Ah, I see. Instead of a continuous loop couldn't you use :timeout() and check if it succeeded or rejected and continue depending on the result?

I'm not sure how I can change it to :timeout() and even after that I would still need to do a loop?

I'm on mobile so little weird to type, but we have two options, but really only the second one makes sense, but may be able to take something from the first
First:

local promise = Promise.try(function()
    if Keeps[id] then
        if not Keeps[id]._releasing and not Keeps[id]._released then
			return Keeps[id] -- may need to use resolve()..?
		end

		repeat

		until it is released
	elseif self._cachedKeepPromises[id] and self._cachedKeepPromises[id].Status ~= Promise.Status.Rejected and self._cachedKeepPromises[id].Status ~= Promise.Status.Cancelled then
		-- already loading keep
		return self._cachedKeepPromises[id]
    end

    return nil
end):tap(function()
	if Keeps[id] then
		releaseKeepInternally(Keeps[id]) -- additional cleanup to prevent memory leaks
	end
end):andThen(function(cachedKeep)
	-- Continue load keep code
end)

This change isn't super helpful except the use of :tap()
OR we can avoid the loop all together by exposing releaseCache from Keep.lua
Second:

local promise = Promise.all({
	Keep._releaseCache[id],
	Promise.try(function()
		if Keeps[id] then
        if not Keeps[id]._releasing and not Keeps[id]._released then
			return Keeps[id] -- may need to use resolve()..?
		end
	elseif self._cachedKeepPromises[id] and self._cachedKeepPromises[id].Status ~= Promise.Status.Rejected and self._cachedKeepPromises[id].Status ~= Promise.Status.Cancelled then
		-- already loading keep
		return self._cachedKeepPromises[id]
    end

    return nil
	end)
}):tap(function()
	if Keeps[id] then
		releaseKeepInternally(Keeps[id]
	end
end):andThen(function(cachedKeep)
	-- continue load keep code
end)

I think this is an interesting approach, this was written on mobile so was unable to test nor have proper linting further then Working Copy provided. Let me know your thoughts

I don't think :andThen is right here in the case it times out, but the idea is there.

Second option may have sense but then _releaseCache still needs to know when keep is removed internally (cleanup signal connections, etc.). I'm playing with this but it seems impossible without changing how internal cleanup works, unless there is other way to know when keep is cleaned up internally without any sort of loop

Is it possible to listen to the Saving signal? We can look for that particular keep and maybe can assume it has released cuz it saved? Otherwise not sure. But this would be really nice to be able to do.

Is it possible to listen to the Saving signal?

Tried using .Releasing:Wait(), but there is a chance that it already fired before and .Releasing:Wait() will wait infinitely

The problem with Releasing is it fires before internal release.


gddo-server: add -default_goos flag

gddo-server builds package document by trying to import it against
fixed list of GOOS values; by default it starts with Linux.
The -default_goos flag was added to provide different GOOS value to
start with.

@garyburd @nf Please take a look.

The API for setting the default GOOS in the doc package should not involve the flag package.  Add SetDefaultGOOS(string) to the doc package and call the function from main.

Done.

LGTM


Building From Build Script and Running Immediately Closes

Expected Behavior
The .exe file produced should run perfectly without these issues, executing as intended.
Actual Behavior
The .exe file opens, a blank window pops up, and immediately closes.
Relevant Information to Reproduce
Just build & run.
Category of Issue
Build

Fixed.


🐞[bug]: Old Twitter logo in footer in place of X logo

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the bug

Old Twitter logo in footer in place of X logo
Expected behavior
X logo should appear in footer
@Anjaliavv51 could you please assign this issue to me i can fix this
Add ScreenShots
No response
What browsers are you seeing the problem on?
No response
Record

[X] I have read the Contributing Guidelines
[X] I'm a GSSOC'24EXTD contributor
[X] I have starred the repository

/assign

@Vd7905 go ahead!


Drag form problem

Windows in version 1.1.2 drag form slowly
Regards

I imagine we have many problems with SharpDx and I imagine performance would be another problem. Still thinking to migrate to SkiaSharp.


Support newline/linefeed in textblocks

Platform
What platform is your issue or question related to? (Delete other platforms).

Android
iOS
JavaScript

Author or host
Microsoft Teams
Version of SDK
Latest master
Issue
Please support \r in textblocks. There is no way to get a newline or a blank line currently.

Adding \r\r or \n\n (notice \r  and \n are 2 times ) seems to do the trick.

@Kartik1607 - That works for newlines but there doesn't seem to be a way to include blank lines other than by using separate text blocks.

@v-kydela @billbliss there is a way: Use a hidden unicode character between two newlines. Try it out with the following string
\n\n\n\n \n\n\n\n

The whitespace is not a whitespace

@v-kydela @billbliss there is a way: Use a hidden unicode character between two newlines. Try it out with the following string
\n\n\n\n \n\n\n\n

The whitespace is not a whitespace

@v-kydela @billbliss there is a way: Use a hidden unicode character between two newlines. Try it out with the following string
\n\n\n\n \n\n\n\n

The whitespace is not a whitespace

Thanks Its working.

Tracked by #1984


<class 'custom_components.hon.light.HonLightEntity'>) does not report a color mode, this will stop working in Home Assistant Core 2025.3

Describe the bug
Logger: homeassistant.components.light
Source: components/light/init.py:922
integration: Light (documentation, issues)
First occurred: 12:22:23 (2 occurrences)
Last logged: 12:58:54
light.lavavajillas_luz (<class 'custom_components.hon.light.HonLightEntity'>) does not report a color mode, this will stop working in Home Assistant Core 2025.3, please create a bug report at https://github.com/Andre0512/hon/issues
Environment (please complete the following information):
Core 2024.9.2
Supervisor 2024.09.1
Operating System 13.1
Frontend 20240909.1
hOn Integration Version 0.14.0
Home Assistant Logs
Logger: homeassistant.components.light
Source: components/light/init.py:922
integration: Light (documentation, issues)
First occurred: 12:22:23 (2 occurrences)
Last logged: 12:58:54
light.lavavajillas_luz (<class 'custom_components.hon.light.HonLightEntity'>) does not report a color mode, this will stop working in Home Assistant Core 2025.3, please create a bug report at https://github.com/Andre0512/hon/issues
Device Log
XS6B0S3FSB
by Haier
Firmware: 1.8.0
Hardware: DW10067
Data Archive
dw_10067.zip

Dear Andre0512,
I have the same issue described above, here the log:
Registratore: homeassistant.components.light
Fonte: components/light/init.py:922
Integrazione: Luce (documentazione, problemi)
Prima occorrenza: 16:49:10 (1 occorrenze)
Ultima registrazione: 16:49:10
light.cf_4c6f1x_illuminazione (<class 'custom_components.hon.light.HonLightEntity'>) does not report a color mode, this will stop working in Home Assistant Core 2025.3, please create a bug report at https://github.com/Andre0512/hon/issues
Is there any option to fix it?
Thanks, W.


Resolve svelte-check type warnings

I removed explicit any from the code to resolve lint warnings.
This reintroduced svelte-check hints.
My goal is 100% type safety (as much as possible) and 0 errors, 0 warnings, 0 recommendations.
This issue is just a reminder.

Worth watching https://github.com/sveltejs/language-tools/issues/431 which is attempting to solve the issues with event, removing any from
event: CustomEvent


Enable S3 transfer acceleration

This PR address the following issue: https://github.com/tus/tusd/issues/392
But, I'm not sure this is the best way to go about the feature.  Please advise if this should reside behind a feature flag or other ideas.  Thanks.

Thank you very much for this PR!

Please advise if this should reside behind a feature flag or other ideas.

Yes, I think transfer acceleration should only be enabled when a feature flag is set. Otherwise an error will occur for users if the bucket has not transfer acceleration enabled or maybe even if S3-compatible storage other than AWS S3 is used.

Please advise any more adjustments.

Issue #392


Can't run compile_ops.sh

Hello!
I try to use food2vec, but when I run ./blog_experiment.sh I have a lot of error like that:
sentence_word2vec_kernels.cc:61:25: error: use of undeclared identifier 'Init'
    OP_REQUIRES_OK(ctx, Init(ctx->env(), filename));
                        ^

or
sentence_word2vec_kernels.cc:148:49: error: expected ';' at end of declaration
      list
  void NextExample(int32* example, int32* label) EXCLUSIVE_LOCKS_REQUIRED(mu_) {
                                                ^
                                                ;

I don't know C++ so I don't know how to resolve this error, even if I checked every Google result about the error. However, I think that the error come from the file compile_ops.sh. I use the recommended script:
#!/bin/bash

# compile ops, as specified in https://github.com/tensorflow/models/tree/master/tutorials/embedding
# and https://www.tensorflow.org/how_tos/adding_an_op/
# NB: '-undefined dynamic_lookup' is needed on mac

# get tensorflow includes
TF_INC=$(python -c 'import tensorflow as tf; print(tf.sysconfig.get_include())')

# compile the word2vec ops
g++ -v -std=c++11 -shared models/tutorials/embedding/word2vec_ops.cc models/tutorials/embedding/word2vec_kernels.cc -o word2vec_ops.so -fPIC -I $TF_INC -O2 -D_GLIBCXX_USE_CXX11_ABI=0 -undefined dynamic_lookup

# compile the sentence_word2vec op
g++ -v -std=c++11 -shared sentence_word2vec_ops.cc sentence_word2vec_kernels.cc -o sentence_word2vec_ops.so -fPIC -I $TF_INC -O2 -D_GLIBCXX_USE_CXX11_ABI=0 -undefined dynamic_lookup

Here my config:

macOS Catalina 10.15.7
Intel Core i5 dual-core 2.5Ghz
16Go 1600MHz DDR3
Intel HD Graphics 4000 1536Mo
Python3.7 with Anaconda3
Tensorflow 2.4.0

 >>> import tensorflow
 >>> tensorflow.__file__
'/opt/anaconda3/lib/python3.7/site-packages/tensorflow/__init__.py'
>>> tensorflow.__version__
'2.4.0'

Thanks for pointing this out @arthur-fontaine  -- so sorry for the trouble!
I just updated the example, I am on macOS Big Sur 11.1 but otherwise have a similar setup.
Please let me know if this example does not compile and run: https://github.com/altosaar/food2vec/blob/master/src/run_fasttext.sh
(It should give the same results as the tensorflow implementation, but tensorflow with custom ops is rarely worth the difficulty.)
Hope this helps, do keep me posted.

Thanks for pointing this out @arthur-fontaine  -- so sorry for the trouble!
I just updated the example, I am on macOS Big Sur 11.1 but otherwise have a similar setup.
Please let me know if this example does not compile and run: https://github.com/altosaar/food2vec/blob/master/src/run_fasttext.sh
(It should give the same results as the tensorflow implementation, but tensorflow with custom ops is rarely worth the difficulty.)
Hope this helps, do keep me posted.

It works almost fine! I just had to edit the line 24 and 26 to:
tail -n+3 $RESULTDIR/model.vec > $RESULTDIR/vectors.txt

python ./fastText/eval_interactive.py -m "${RESULTDIR}"/vectors.txt

because the console said:
tail: ../fit/2021-01-15/model_.vec: No such file or directory

But otherwise, where is blog_experiment.sh ? How can I get the same result that in the blog?

It works almost fine! I just had to edit the line 24 and 26 to:
tail -n+3 $RESULTDIR/model.vec > $RESULTDIR/vectors.txt

python ./fastText/eval_interactive.py -m "${RESULTDIR}"/vectors.txt

because the console said:
tail: ../fit/2021-01-15/model_.vec: No such file or directory

But otherwise, where is blog_experiment.sh ? How can I get the same result that in the blog?

Thanks @arthur-fontaine - fixed!
I renamed blog_experiment.sh to run_fasttext.sh, hopefully it is more clear now. The saved vectors can be added as a javascript asset as in the github pages demo: https://github.com/altosaar/food2vec/tree/master/docs/assets/data
Hope that helps! Feel free to keep me posted if anything else comes up.

Thanks @arthur-fontaine - fixed!
I renamed blog_experiment.sh to run_fasttext.sh, hopefully it is more clear now. The saved vectors can be added as a javascript asset as in the github pages demo: https://github.com/altosaar/food2vec/tree/master/docs/assets/data
Hope that helps! Feel free to keep me posted if anything else comes up.


iOS error: do not working ios video on android

[Error] Not allowed to load local resource: blob:blobinternal:

Is that fixed? What was the bug?

@muaz-khan  no, it's just been a long time, there's no point in keeping the question. but if you have any thoughts please tell me

@muaz-khan I also can't solve the issue of how to see the video on ios it is not displayed

`this.connection.socketURL = 'https://ezmaven.com:8888/';
this.connection.socketMessageEvent = 'video-conference-demo';
this.connection.session = {
audio: true,
video: true
};
this.connection.mediaConstraints = {
audio: true,
video: true
};
this.connection.sdpConstraints.mandatory = {
OfferToReceiveAudio: true,
OfferToReceiveVideo: true
};
//this.connection.audiosContainer = this.myAudio;
this.connection.onstream = (event)=> {
console.log(event)
console.log(window.URL.createObjectURL(event.stream))
this.streemAudio.push({id:event.streamid, url:this.sanitizer.bypassSecurityTrustUrl(window.URL.createObjectURL(event.stream))});
console.log(this.streemAudio)
};
this.connection.onstreamended = (event)=> {
  this.streemAudio.splice(this.getMsgIndexById(event.streamid), 1);
};
this.connection.maxParticipantsAllowed = 1;
this.connection.onRoomFull = (roomid)=> {
  this.connection.closeSocket();

  this.connection.attachStreams.forEach((stream)=>{
    stream.stop();
  });

  this.disableInputButtons()

  alert('Room is full.');
};`

I'm have video rendering issues on iOS10 as well. I'll fix this cordova demo soon for iOS:

https://webrtcweb.com/cordova-apps/video-conferencing/

@muaz-khan We are ready to help you and release the source code for the project ionic 3 if you are interested) How soon can we see the video on ios 11?


Fix minor typo causing build failures.

Relates to: #2693
@khaneliman @MattSturgeon

Yes, for flake-parts it is the correct name.
but it's then being referenced a an "actual" flake here: https://github.com/nix-community/nixvim/commit/bef9feb446a9203a1343a5026970396bcae60f6f#diff-53345b746dda1748bd7ce380e4c321cdaa5030738a87a73d320ac95e1a02981fR11
which is what's causing the break i think. I don't have enough background knowledge on why we want to reference the entire flake itself to comment on which area is best to change, but this seemed like to change with the smallest scope to mitigate the problem 🙂
See flake output schema here: https://nixos.wiki/wiki/Flakes#Output_schema

I guess what is happening here, is that list-plugins/default.nix is depends on numtide/devshell, and is not disconsidered when input is removed

I guess what is happening here, is that list-plugins/default.nix is depends on numtide/devshell, and is not disconsidered when input is removed

Correct, well deduced!
The issue is here:
https://github.com/nix-community/nixvim/blob/ba43815abf6b101c13fe1d8d93323ca2e1689315/flake-modules/dev/default.nix#L3-L9
The ./list-plugins import should be conditional on the relevant inputs being present.

#2699 should fix it


Regression in 2.4.x

Describe the bug
I am able to display coverage information in 2.3.1. However, I do not see coverage information using the same lcov file and configuration in the 2.4.x versions of the extension. The lcov file is using relative paths.
I've noticed that the 2.3.1 version prints extensive JSON information with line information while 2.4.x does not; I don't know if this is functionality that has been removed in the new version or somehow associated with the issue.
With the exception of the JSON information in 2.3.1, both version print the following:
[1575679691475][coverageservice]: INITIALIZING
[1575679735858][coverageservice]: LOADING
[1575679736129][coverageservice]: Loading 1 file(s)
[1575679736180][coverageservice]: Loaded 1 data file(s)
[1575679736729][coverageservice]: Caching 82 coverage(s)
[1575679736729][printDataCoverage]: Coverage -> 82
[1575679736729][coverageservice]: READY
[1575679736729][coverageservice]: RENDERING
[1575679736730][coverageservice]: READY
[1575679743279][coverageservice]: RENDERING
[1575679743283][coverageservice]: READY
[1575679743341][coverageservice]: RENDERING
[1575679743362][coverageservice]: READY

Desktop (please complete the following information):

OS: Windows
Extension Version 2.4.x
VSCode Version:

Version: 1.40.2 (user setup)
Commit: f359dd69833dd8800b54d458f6d37ab7c78df520
Date: 2019-11-25T14:54:45.096Z
Electron: 6.1.5
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Windows_NT x64 10.0.18363

@davidbrownellWork thanks for submitting an issue, this most likely is an issue with the new relative source finding system, can you provide a sample lcov file that you are trying to display coverage for?

I'm experiencing the same issue, on two different computers. In both cases I see this as output:
[1577495271515][coverageservice]: Loading 1 file(s)
[1577495271516][coverageservice]: Loaded 1 data file(s)
[1577495271526][coverageservice]: Caching 20 coverage(s)
[1577495271526][printDataCoverage]: Coverage -> 20
[1577495271526][coverageservice]: READY
[1577495271526][coverageservice]: RENDERING
[1577495271527][coverageservice]: READ```

Computer1:
- Mac OS Catalina (10.15)
- VS Code: 1.41.1
- coverage-gutters: 2.4.2

Compuer2:
- Ubuntu 16.04.3
- VS Code: 1.40.2
- coverage-gutters: 2.4.2

@raiyankamal thanks for the update, you can use the remote path feature to fix this if you continue to run the tests in a docker conatiner!
https://github.com/ryanluker/vscode-coverage-gutters/blob/master/package.json#L127-L131

@davidbrownellWork any chance for that sample lcov file? If I dont hear from you shortly I will close the issue for now but more then willing to pick it back up at a later date :grin: .

I apologize, @ryanluker, I am slammed these days. Let's close this issue and reopen when I have time to put together a small sample the reproduces the issue. Thanks for following up!


Fork/Exec perfomance issue

Good morning,
I'm reporting what seems to be a performance issue for the Fork Exec of golang.

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

go1.5.1 linux/amd64

What operating system and processor architecture are you using (go env)?

Debian jessie.
GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/faquin/Documents/inria/workspace"
GORACE=""
GOROOT="/usr/lib/go"
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GO15VENDOREXPERIMENT=""
CC="gcc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="g++"
CGO_ENABLED="1"

What did you do?

I try to execute a lot of small commands efficiently.
Here is some runnable code showing the issue :
package main
import (
    "fmt"
    "strconv"
    "os/exec"
)

func main() {
    for i:= 0; i<2000; i++{
        var cmd *exec.Cmd = exec.Command("echo", strconv.Itoa(i));
        o, _ := cmd.CombinedOutput();
        fmt.Println(string(o));
    }
}

running time :

time ./main  > output

real	0m2.048s
user	0m0.276s
sys	0m0.704s

When not taking care of the output :
package main

import (
    "strconv"
    "os/exec"
)

func main() {
    for i:= 0; i<2000; i++{
        var cmd *exec.Cmd = exec.Command("echo", strconv.Itoa(i));
        cmd.Run();
    }
}

Running time :
time ./main > t

real	0m2.035s
user	0m0.176s
sys	0m0.504s

What did you expect to see?

A running time in the same order of magnitude that
time for i in `seq 1 2000`; do echo "echo $i" ; done > output

real	0m0.030s
user	0m0.016s
sys	0m0.012s

What did you see instead?

A running time 100x slower.
I've manged a tiny hack, enable to obtain a suffisent running time but it present some inconvenient, I cannot get any error code or really separate executions output.
package main

import (
    "strconv"
    "fmt"
    "bufio"
    "os/exec"
)

func main() {
    var cmd *exec.Cmd = exec.Command("/bin/bash");
    in,_   := cmd.StdinPipe();
    out,_  := cmd.StdoutPipe();
    reader := bufio.NewReader(out);
    cmd.Start();
    for i:= 0; i<2000; i++{
        in.Write([]byte("echo "+strconv.Itoa(i) + " 2>&1 \n"));
        s, _ := reader.ReadString('\n')
        fmt.Println(s);
    }
}

Running time :
time ./main > t

real	0m0.076s
user	0m0.012s
sys	0m0.020s

Is there something to do on this subject ?
Thanks for your attention,
Thomas

Your time comparisons are invalid, as the shell implements echo directly, not via fork and exec.  For a proper timing comparison, run
time for i in `seq 1 2000`; do /bin/echo "echo $i" ; done > output

Closing as I see no bug here.

Ok, thanks for the precision and the answer.


ais-sort-by is not working as expected

ais-sort-by's refine method works by generating a URL with the index containing the sort. This is because unlike Meilisearch, Algolia's sorting functionallity is working by creating a different index with the data sorted in a desired way.
So, for example if I call refine with price:asc, as described in the documentation of Meilisearch like this: refine('price:desc'), the URL will be http://<IP_ADDRESS>:7700/indexes/price/search with post parameter sort: ['desc'].
Expected behaviour:

URL: http://<IP_ADDRESS>:7700/indexes/products/search (because my index is 'products');
Post parameter: sort: ['price:desc']

By experimenting, I've found a hack that works - if I put this in the refine method: refine('products:price:asc'), it generates exactly what I want. It is not described in the documentation. I will write to Algolia about this.

@ntraykov can you please share the full snippet, I'm having the same issue. Thanks inadvance

@Sharvadze
This documentation shoud answer your question. Here is a working example.


Ionic2

Hi @Tazaf ,
Is there a possibility that you want to port this to Ionic2?

Hi there !
You're not the first to ask this.
Porting Ionicitude to Ionic 2 is in fact in my TODO list, but it won't happen until some time in the future, since I have to familiarize myself with Ionic 2 in the first place 😉
I you feel an urgent need, you're welcome to contribute, though !


Fix issues with JSON format and handling of non-existing file

Hi, I stumbled upon three issues. They are independent, but I think they are too small, so making three separate PRs seems unnecessary to me.

JSON can not be printed
process_onenote_file does not print document in JSON if json_output parameter is set. Instead, it always returns it. This return value is not even used in the main.
This fork fixes use of json_output parameter. If True, process_onenote_file will print document in JSON form instead of the default text form. The default text form will be used otherwise. No value will be returned.$ git checkout 74d7b05  # upstream main
$ pyonenote --json --file <any_onenote_file>
$ # nothing
$ git checkout e363ca6  # forked main
$ pyonenote --json --file <any_onenote_file>
{"headers": {"guidFileType": ...

Fix typo OneDocment -> OneDocument
I think it was not intended at least based on the module's name.
Fix handling of non-existing file$ git checkout 74d7b05  # upstream main
$ pyonenote --file nonexisting_file
Traceback (most recent call last):
  File "/home/user/pyOneNote/virtualenv/bin/pyonenote", line 33, in <module>
    sys.exit(load_entry_point('pyOneNote', 'console_scripts', 'pyonenote')())
  File "/home/user/pyOneNote/pyOneNote/Main.py", line 84, in main
    sys.exit("File: %s doesn't exist", args.file)
TypeError: exit expected at most 1 argument, got 2
$ git checkout e363ca6  # forked main
$ pyonenote --file nonexisting_file
File: 'nonexisting_file' doesn't exist

This JSON object is meant to be used in another application in which pyonenote is called as a library.
However, I agree because it is a switch, user should see something when they use it.
I will try to think about this a little more to see how we can handle both scenarios.

If I may, I would suggest to always return either data (dictionary object) or event better document (OneDocument object). Then any user can easily convert it either into JSON (document.get_json()) or into string (json.dumps(document.get_json())). I think it is better to let an user decide.
Also, I think it could be better to have a separate function which will be expected to be used as API. Some function which never print anything. For example (only first ~11 lines are modified):
def process_onenote_file(file):
    if not check_valid(file):
        log.error("please provide valid One file")
        exit()

    file.seek(0)
    return OneDocument(file)

def process_and_print_onenote_file(file, output_dir, extension, json_output):
    document = process_onenote_file(file)
    data = document.get_json()
    if not json_output:
        print('Headers\n####################################################################')
        indent = '\t'
        for key, header in data['headers'].items():
            print('{}{}: {}'.format(indent, key, header))
        print('\n\nProperties\n####################################################################')
        indent = '\t'
        for propertySet in data['properties']:
            print('{}{}:'.format(indent, propertySet['type']))
            for property_name, property_val in propertySet['val'].items():
                print('{}{}: {}'.format(indent+'\t', property_name, str(property_val)))
            print("")
        print('\n\nEmbedded Files\n####################################################################')
        indent = '\t'
        for name, file in data['files'].items():
            print('{}{}:'.format(indent, name))
            print('\t{}Extension: {}'.format(indent, file['extension']))
            print('{}'.format( get_hex_format(file['content'][:256], 16, indent+'\t')))
        if extension and not extension.startswith("."):
            extension = "." + extension
        counter = 0
        for file_guid, file in document.get_files().items():
            with open(
                    os.path.join(output_dir,
                                 "file_{}{}{}".format(counter, file["extension"], extension)), "wb"
            ) as output_file:
                output_file.write(file["content"])
            counter += 1
    else:
        print(json.dumps(data))

I think it is a good suggestion, will refactor the code based on your suggestion


[GHSA-mrx7-8hxf-f853] Cross-Site Scripting in swagger-ui

Updates

References

Comments
Adding the patch links for:
v2.2.1: https://github.com/swagger-api/swagger-ui/commit/331d2be070d89162aa3174a8773ae4a0093f78bc
This is from the PR (1869) that closed the original issue (1863): "Escape curl command to fix XSS vulnerability."

Are you sure that's the correct fix commit? Based on the description I think this one may also be a candidate
https://github.com/swagger-api/swagger-ui/commit/a1aea70f2c64533bf053a41d4da5a8accd0117b7

@darakian Hi! I think we've found a potential duplicate security advisory. I used commit https://github.com/swagger-api/swagger-ui/commit/a1aea70f2c64533bf053a41d4da5a8accd0117b7 for this advisory: https://github.com/advisories/GHSA-g336-c7wv-8hp3. The pull pointed back to the original issue of 1617.
This advisory (https://github.com/advisories/GHSA-mrx7-8hxf-f853) has the issue 1863, which was closed by https://github.com/swagger-api/swagger-ui/commit/331d2be070d89162aa3174a8773ae4a0093f78bc.
It seems like we should potentially combine the two advisories (GHSA-mrx7-8hxf-f853 & GHSA-g336-c7wv-8hp3) into a single advisory. Also, I just noticed that this advisory's referenced CVE (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-1000233) was reserved but never used -> https://nvd.nist.gov/vuln/detail/CVE-2016-1000233

It seems like we should potentially combine the two advisories...

I would love to. We really need to build that merge functionality 😅
I guess for now we'll got with https://github.com/swagger-api/swagger-ui/commit/331d2be070d89162aa3174a8773ae4a0093f78bc for this one. I missed the PR link. Thanks for the catch 👍


Cannot to track anonymous event

SDK version:
SDK: 2.9.2, npm package: 3.3.2
Are logs available?
(siteid:cafea) ℹ Customer.io SDK 2.9.2 initialized and ready to use for site id: ...
(siteid:cafea) ℹ registering device token ...
(siteid:cafea) ℹ track event resend-code
(siteid:cafea) ℹ ignoring track event resend-code because no profile currently identified

Describe the issue
I wanna to track an anonymous event and after connect this event with real user after identify, but now i couldnt to send any events before identify user. I have also do not see this event after identify person.

Hey @maksim-romanov, thank you for reaching out, currently anonymous event tracking isn't provided via SDKs. But it's in our roadmap and something we are working on.

Hey @maksim-romanov, thank you for reaching out, unfortunately currently anonymous event tracking isn't provided via SDKs. But it's in our roadmap and something we are working on.


CI test

Changes
Which issue is resolved by this Pull Request:
Resolves #
Description of your changes:

What's the purpose of this PR? Thanks

To test whether the CI fails with little to no change.

Got it. If you're trying to determine whether the CI is failing, checking other PRs and asking in the #frontend channel on Slack might be more effective. Imagine if everyone opened PRs this way :). Thanks for your understanding!

@makelinux can you please close this? Thanks!


Training loss does not decrease

Hi there, I'm now reproducing the training code with cross-dock dataset but the training loss is maintained at ~1200 after 50 epochs.
I dived into the code and found that in ./models/epsnet/MDM_pocket_coor_shared.py, the F.mse_loss(pos_eq_global + pos_eq_local, target_pos_global + target_pos_local, reduction='none') means the loss between the output of self.net and the input with noise added, but IMP, it maybe the output of self.net and the original input.
Any comments from developers?

Hi,
In diffusion models, you could predict the noise or the x_0 to calculate $\mu_{\theta}(G_t, t)$. For the details, you could refer to our paper or DDPM.

Thanks, I'll read it. Will the model be faster to converge when training with the original data rather than noise?
Also, the line 713 in MDM_pocket_coor_shared.py returned loss, loss_pos, loss_pos, loss_node, loss_node to loss in training, but in training, it read them as loss, loss_global, loss_local, loss_node_global, loss_node_local. In fact, loss_global, loss_local are both loss_pos, and loss_node_global, loss_node_local are both loss_node. Maybe here is a minor bug.

Yes, you are right. We will update the code later. Thanks for your suggestion!

Thanks, I'll continue trying for it.

Sorry for bothering you again but I've trained 500 epochs on a toy set including 500 cross-dock examples, I noticed that the loss maintained after 150 epochs and it's still high for positions (around 750). May I know that how much the loss is after 500 epochs of training on cross-docking dataset? Thanks for your help again.

I trained PMDM on the whole dataset for 500 epochs. You do not need to train 500 epochs for the small subset. It is normal for the loss to oscillate in the later stages.


feat: add real e2e test

What's changed and what's your intention?
PLEASE DO NOT LEAVE THIS EMPTY !!!
Add a github repo analysis demo e2e test.

Top K star count  repo.
Top K star increment  repo.
Repo with unusual star increasing.(in processing)

Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)

I guess though we need this demo test but the demo itself didn't be carefully thought. So close it for now and if we confirm that the demo is useful I will reopen it.


Port ClassDB tests to use doctest

See #40659.
Existing test macros are replaced as aliases for doctest macros locally for now: #40950.
Methods do not return TestResult because that's handled by doctest.
The test suite is/should be structured in a way so that if prerequisites are not satisfied, the other checks should not be done: implemented using SUBCASE in doctest (subcases are like test leaves).
Problem that I stumbled upon is that testing ClassDB requires quite a lot of stuff to be initialized from the engine side... (mostly register_types() for complete coverage).

Current output specifically from ClassDB tests:
PS D:\src\godot> .\bin\godot.windows.tools.64.4.exe --test --source-file="*test_class_db*"
Godot Engine v4.0.dev.Xrayez.977da0044 - https://godotengine.org
ERROR: Can't find layer: VK_LAYER_KHRONOS_validation
   at: VulkanContext::_check_layers (drivers\vulkan\vulkan_context.cpp:157)
ERROR: Can't find layer: VK_LAYER_LUNARG_standard_validation
   at: VulkanContext::_check_layers (drivers\vulkan\vulkan_context.cpp:157)
ERROR: Can't find layer: VK_LAYER_GOOGLE_threading
   at: VulkanContext::_check_layers (drivers\vulkan\vulkan_context.cpp:157)
WARNING: GENERAL - Message Id Number: 0 | Message Id Name: Loader Message
        ReadDataFilesInRegistry: Registry lookup failed to get layer manifest files.
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_INSTANCE, Handle<PHONE_NUMBER>488
     at: VulkanContext::_debug_messenger_callback (drivers\vulkan\vulkan_context.cpp:133)

[doctest] doctest version is "2.4.0"
[doctest] run with "--help" for options
WARNING: Signal name conflicts with method: 'BaseButton.pressed'.
     at: TestClassDB::add_exposed_classes (D:\src\godot\tests\test_class_db.h:694)
WARNING: Signal name conflicts with property: 'CanvasItem.hide'.
     at: TestClassDB::add_exposed_classes (D:\src\godot\tests\test_class_db.h:694)
WARNING: Signal name conflicts with property: 'Control.minimum_size_changed'.
     at: TestClassDB::add_exposed_classes (D:\src\godot\tests\test_class_db.h:694)
Ignoring class 'GDScriptEditorTranslationParserPlugin' because it's not exposed
Ignoring class 'GDScriptNativeClass' because it's not exposed
Ignoring class 'IP_Unix' because it's not exposed
WARNING: Signal name conflicts with property: 'Input.joy_connection_changed'.
     at: TestClassDB::add_exposed_classes (D:\src\godot\tests\test_class_db.h:694)
Ignoring class 'PhysicsDirectBodyState2DSW' because it's not exposed
Ignoring class 'PhysicsDirectBodyState3DSW' because it's not exposed
Ignoring class 'PhysicsServer2DSW' because it's not exposed
Ignoring class 'PhysicsServer3DSW' because it's not exposed
WARNING: Signal name conflicts with property: 'ProximityGroup3D.broadcast'.
     at: TestClassDB::add_exposed_classes (D:\src\godot\tests\test_class_db.h:694)
Ignoring class 'RootMotionView' because it's not enabled
WARNING: Signal name conflicts with method: 'TouchScreenButton.pressed'.
     at: TestClassDB::add_exposed_classes (D:\src\godot\tests\test_class_db.h:694)
===============================================================================
[doctest] test cases:      1 |      1 passed |      0 failed |     50 skipped
[doctest] assertions:  39347 |  39347 passed |      0 failed |
[doctest] Status: SUCCESS!

Run ./bin/godot.linuxbsd.opt.tools.64.mono --test
Godot Engine v4.0.dev.mono.custom_build.e0f362003 - https://godotengine.org
ERROR: X11 Display is not available
   at: DisplayServerX11 (platform/linuxbsd/display_server_x11.cpp:3364)
Error: Can't open display:
ERROR: Unable to create DisplayServer, all display drivers failed.
   at: setup2 (main/main.cpp:1395)

All tests pass if you run this locally. Have to bypass display server initialization for CI at least, then.

All tests pass!
Current output:
PS D:\src\godot> .\bin\godot.windows.tools.64.4.exe --test --source-file="*test_class_db*"
[doctest] doctest version is "2.4.0"
[doctest] run with "--help" for options
===============================================================================
D:\src\godot\tests\test_class_db.h(806):
TEST SUITE: [ClassDB] Tests
TEST CASE:  [ClassDB] Add exposed classes, builtin types, and global enums

D:\src\godot\tests\test_class_db.h(698): WARNING: WARN_FALSE( (method_conflict || exposed_class.find_method_by_name(signal.name)) ) is NOT correct!
  values: WARN_FALSE( true )
  logged: Signal name conflicts with method: 'BaseButton.pressed.

D:\src\godot\tests\test_class_db.h(698): WARNING: WARN_FALSE( (method_conflict || exposed_class.find_method_by_name(signal.name)) ) is NOT correct!
  values: WARN_FALSE( true )
  logged: Signal name conflicts with property: 'CanvasItem.hide.

D:\src\godot\tests\test_class_db.h(698): WARNING: WARN_FALSE( (method_conflict || exposed_class.find_method_by_name(signal.name)) ) is NOT correct!
  values: WARN_FALSE( true )
  logged: Signal name conflicts with property: 'Control.minimum_size_changed.

D:\src\godot\tests\test_class_db.h(466): MESSAGE: Ignoring class 'GDScriptEditorTranslationParserPlugin' because it's not exposed.

D:\src\godot\tests\test_class_db.h(466): MESSAGE: Ignoring class 'IP_Unix' because it's not exposed.

D:\src\godot\tests\test_class_db.h(698): WARNING: WARN_FALSE( (method_conflict || exposed_class.find_method_by_name(signal.name)) ) is NOT correct!
  values: WARN_FALSE( true )
  logged: Signal name conflicts with property: 'Input.joy_connection_changed.

D:\src\godot\tests\test_class_db.h(698): WARNING: WARN_FALSE( (method_conflict || exposed_class.find_method_by_name(signal.name)) ) is NOT correct!
  values: WARN_FALSE( true )
  logged: Signal name conflicts with property: 'ProximityGroup3D.broadcast.

D:\src\godot\tests\test_class_db.h(472): MESSAGE: Ignoring class 'RootMotionView' because it's not enabled.

D:\src\godot\tests\test_class_db.h(698): WARNING: WARN_FALSE( (method_conflict || exposed_class.find_method_by_name(signal.name)) ) is NOT correct!
  values: WARN_FALSE( true )
  logged: Signal name conflicts with method: 'TouchScreenButton.pressed.

===============================================================================
[doctest] test cases:      1 |      1 passed |      0 failed |     50 skipped
[doctest] assertions:  39302 |  39302 passed |      0 failed |
[doctest] Status: SUCCESS!

Those "warnings" could be in fact converted to actual assertions, but in order to not block the CI results, the test case can be marked as doctest::may_fail().

Things I've done to make it work currently:

Extracted (what I think) the most minimal core initialization functionality from setup() and setup2() so that ClassDB could be tested properly (input, audio, rendering, physics etc, are excluded).
Display and rendering servers/singletons are not initialized at all with this. That lead to various crashes like (in order):

AcceptDialog OK/cancel swap behavior (used DisplayServer while register_scene_types());
make_default_theme which depends on RenderingServer.
XRServer singleton access while calling register_modules_types();
hidden bug in a way joypads are cleaned up (MacOS and Linux only);

I haven't found a clean way to make it self-contained for ClassDB tests specifically, so before testing I just run test_setup() and test_cleanup() afterwards... But as you see, that seems to cover all previous tests without issues, and no crashes when compiling with sanitizer either: #40920.
I think we need to come up with different test context...

Some discussion from IRC #godotengine-devel with @RevoluPowered:
Xrayez> RevoluPowered: since you're here, what do you think about initializing more stuff for all tests for now? Currently successfully ported ClassDB tests: #40980. I think we need to come up with different test context eventually (unit vs integration etc).
RevoluPowered> I don't want to, but totally get why you need to do it
RevoluPowered> if it's more practical for now
RevoluPowered> just do the init step basically
RevoluPowered> it's fine
RevoluPowered> later we can make it more decoupled together
RevoluPowered> like ideally we fix some of the problems in the engine, basically it assumes initialization of a lot of systems
RevoluPowered> I know the pain, I had some of it with OS singleton cleanup
RevoluPowered> I put a 'todo' :P there is a leak in tests on shutdown
Xrayez> Yeah I think I managed to clean it up in fact. :D
Xrayez> I mean, I think we just need to initialize a bit more than OS and StringName.
RevoluPowered> yeah definitely
RevoluPowered> I thought we could eventually compartmentalize it so if you need Audio, you don't need GDScript for instance
Xrayez> The problem is that doctest has no notion of setup/teardown, but that still can be implemented for each test case with SUBCASE and whatnot.

RevoluPowered> yeah i think he went with 'they can write init() shutdown()`

As long as we don't add more to the test_setup(), we should be fine for now IMO, because all tests pass currently. Testing stuff like Input obviously needs initialization of other systems and subsystems. If we reach that point, we'll need to come up with something better, I might write some proposal about this in fact.
Same for rendering, which is currently disabled for testing.
So, I'll mark this as ready for review now.

Initially ported some GDScript tests: #41074, stumbled upon similar/same issues as in this PR. The GDScript implementation requires ProjectSettings to be initialized (setting up warnings etc). The problem with initializing this outside of Main is that globals is static (you'd have to provide some public methods to allow initialization and cleanup of those singletons and other objects).
Again see godotengine/godot-proposals#1307 to discuss how these problems could be practically resolved.

CC @RevoluPowered
It seems fine to me, is this good to merge for others?

I'm not able to look into detail, but it looks fine. The point of the tests is because the tested code is too complicated to think through. Also I'll try to post a pvs-studio report on Godot Engine master in a bit.

Tests started to fail after rebase, might be some regressions in Godot (or new functionality), the crashes seem to be related to project settings, I'll check later.

Regarding recent rebase, the crash above is a result of initializing ClassDB twice, I completely forgot about recently merged #40945 where I had to do that directly in the test case itself, so of course this is not needed anymore so I removed those init/cleanup calls from test_validate_testing.h in this PR.
But there's another visual problem which I misinterpreted as a silent crash (no output), namely when running tests through console on Windows: #41307, yet this doesn't block the PR.
Also rebased after #40920, so as you see, no memory leaks either.

The point of the tests is because the tested code is too complicated to think through.

This PR opens up the door to testing all types which inherit from Object, and we have lots of those classes (godotengine/godot-docs#3153) to unit-test (far more than core data structures). IIRC @Calinou tried to port Gradient and we have identified the same crash problem that ClassDB has to be initialized first (or namely ObjectDB, which is also registered during register_core_types(), along with previously manually initialized stuff like StringName. In any case, I think it's not quite practical to attempt to decouple all of those subsystems currently (and perhaps they're not designed to be decoupled in the first place), and I'd like to avoid over-engineering this unless we do need to test more stuff like rendering/audio etc (if you ask me, that's unlikely to happen with Godot's rapid development process, unless someone is motivated enough to delve into this topic).
That said, all tests currently pass!

Thanks!


fix notebooks and voila folders issue

Fix #28

Thanks @12rambau !

could you please add it to a new release ?

v0.1.13 is out on PyPI, and soon on conda-forge!


Mirascope versions of LangGraph tutorials

Description

Inspired by #342 to show how Mirascope supports this functionality without the abstraction of a graph

It would be beneficial to show how to implement the same functionality as the LangGraph tutorials but using Mirascope (i.e. doing it the Mirascope way) as cookbook recipes.
Here are the cookbooks that we could (most likely) implement:

[X] Quickstart
[ ] Customer Support Bot
[ ] Prompt Generation
[ ] Code Assistant
[ ] SQL Agent
[ ] Multi-Agent Systems: Collaboration
[ ] Multi-Agent Systems: Supervision
[ ] Multi-Agent Systems: Hierarchical Teams
[ ] Planning Agents: Plan-And-Execute
[ ] Planning Agents: Reasoning without Observation
[ ] Planning Agents: LLMCompiler
[ ] Reflection & Critique: Basic Reflection
[ ] Reflection & Critique: Reflexion
[ ] Reflection & Critique: Language Agent Tree Search
[ ] Reflection & Critique: Self-Discover Agent
[ ] Agent-Based Evaluation
[ ] Web Research
[ ] Extract Structured Output

These recipes are a great way to get started using Mirascope and contributing to the library.

@jd-solanki I feel like some of the LangGraph examples could act as a good starting point for examples of building multi/sub agent architectures in Mirascope.
Let me know what you think! Would love your contributions here :)

Would love your contributions here

Sure buddy. I'm already working on agentic workflow system as my project and would love to explore more & contribute.
If you have something already outlined can you mention which examples should I start with or else I'll let you know before implementing them.
Thanks for consideration man! 🙏🏻

We implemented a version of their quickstart guide, which can act as a good reference for future examples.
Feel free to work on any of the existing LangGraph examples for which you think it would be worth showing the Mirascope way.

I'll send seperate PR for each example and I hope you don't have any time constraint with this. I'll try to finish one example everyday.

No time constraint!

Hey @willbakst
Sorry I got delayed because I was busy with some other stuff. I'm on it and will send the PR as soon as I finish the first example.

@jd-solanki no worries, sounds good! Looking forward to it


Dedicated log config argument for Docker Container logging?

Description
In order to activate the "Docker Container logging" setting of a Linux web app, we have to use the --web-server-logging argument of az webapp log config.
As Docker is definitly not the web server, shouldn't we have an other argument dedicated to the Linux-based Docker Container logging feature?

Environment summary
Install Method: How did you install the CLI? (e.g. pip, interactive script, apt-get, Docker, MSI, nightly)
Answer here: apt-get
CLI Version: What version of the CLI and modules are installed? (Use az --version)
Answer here:
azure-cli (2.0.14)
acr (2.0.10)
acs (2.0.13)
appservice (0.1.13)
batch (3.1.1)
billing (0.1.3)
cdn (0.0.6)
cloud (2.0.7)
cognitiveservices (0.1.6)
command-modules-nspkg (2.0.1)
component (2.0.7)
configure (2.0.10)
consumption (0.1.3)
container (0.1.8)
core (2.0.13)
cosmosdb (0.1.11)
dla (0.0.10)
dls (0.0.12)
eventgrid (0.1.2)
feedback (2.0.6)
find (0.2.6)
interactive (0.3.7)
iot (0.1.10)
keyvault (2.0.8)
lab (0.0.9)
monitor (0.0.8)
network (2.0.12)
nspkg (3.0.1)
profile (2.0.10)
rdbms (0.0.5)
redis (0.2.7)
resource (2.0.12)
role (2.0.10)
sf (1.0.6)
sql (2.0.9)
storage (2.0.12)
vm (2.0.12)
Python (Linux) 3.6.1 (default, Aug 17 2017, 10:48:15)
[GCC 4.8.4]
Python location '/opt/az/bin/python3'
OS Version: What OS and version are you using?
Answer here: W10 1607
Shell Type: What shell are you using? (e.g. bash, cmd.exe, Bash on Windows)
Answer here: Bash on Windows

//cc: @ahmedelnably

We should consider this when we re-organize the command tree for better supports towards the linux webapp

@LukaszStem has this planned

PR: https://github.com/Azure/azure-cli/pull/4718


chore(main): release 0.1.1

:robot: I have created a release beep boop
0.1.1 (2024-10-24)
Bug Fixes

always first progress before yielding (9e079b5)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.1.1
:sunflower:


Building cc_grpc_library fails due to newer protoc version used to generate code

What version of gRPC and what language are you using?
gRPC 1.66.0
C++
What operating system (Linux, Windows,...) and version?
OS: Arch Linux x86_64
Kernel: 6.10.6-arch1-1
Packages: 864 (pacman)
Shell: zsh 5.9
DE: GNOME 46.4
What runtime / compiler are you using (e.g. python version or version of gcc)
Bazel version 7.1.0
STD C++17
Clang 18
What did you do?
Tried building a cc_grpc_library using bazel.
The project can be cloned from https://github.com/dragossusi/linuxcnc-proto.
I am running this command to test if the target can be build:
bazel build //:linuxcnc_cc_grpc

What did you expect to see?
The build to complete succesfully.
What did you see instead?
The build command fails mentioning that the generated class uses a newer version of protobuf.
ERROR: /home/dragos/.cache/bazel/_bazel_dragos/ccb9378583331ead56482fc951e483fa/external/com_google_protobuf/src/google/protobuf/util/BUILD.bazel:198:11: Compiling src/google/protobuf/util/type_resolver_util.cc [for tool] failed: (Exit 1): clang-18 failed: error executing CppCompile command (from target @@com_google_protobuf//src/google/protobuf/util:type_resolver) /usr/bin/clang-18 -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wunused-but-set-parameter -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 ... (remaining 83 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox and retain the sandbox build root for debugging
In file included from external/com_google_protobuf/src/google/protobuf/util/type_resolver_util.cc:8:
In file included from bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/type_resolver/google/protobuf/util/type_resolver_util.h:13:
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/type_proto/google/protobuf/type.pb.h:12:2: error: This file was generated by a newer version of protoc which is
   12 | #error This file was generated by a newer version of protoc which is
      |  ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/type_proto/google/protobuf/type.pb.h:13:2: error: incompatible with your Protocol Buffer headers. Please update
   13 | #error incompatible with your Protocol Buffer headers. Please update
      |  ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/type_proto/google/protobuf/type.pb.h:14:2: error: your headers.
   14 | #error your headers.
      |  ^
In file included from external/com_google_protobuf/src/google/protobuf/util/type_resolver_util.cc:8:
In file included from bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/util/_virtual_includes/type_resolver/google/protobuf/util/type_resolver_util.h:13:
In file included from bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/type_proto/google/protobuf/type.pb.h:34:
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:12:2: error: This file was generated by a newer version of protoc which is
   12 | #error This file was generated by a newer version of protoc which is
      |  ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:13:2: error: incompatible with your Protocol Buffer headers. Please update
   13 | #error incompatible with your Protocol Buffer headers. Please update
      |  ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:14:2: error: your headers.
   14 | #error your headers.
      |  ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:36:1: error: unknown type name 'PROTOBUF_NAMESPACE_OPEN'
   36 | PROTOBUF_NAMESPACE_OPEN
      | ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:37:1: error: expected unqualified-id
   37 | namespace internal {
      | ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:40:1: error: unknown type name 'PROTOBUF_NAMESPACE_CLOSE'
   40 | PROTOBUF_NAMESPACE_CLOSE
      | ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:46:16: error: no member named 'PROTOBUF_NAMESPACE_ID' in the global namespace
   46 | extern const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_google_2fprotobuf_2fany_2eproto;
      |              ~~^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:47:1: error: unknown type name 'PROTOBUF_NAMESPACE_OPEN'
   47 | PROTOBUF_NAMESPACE_OPEN
      | ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:51:1: error: unknown type name 'PROTOBUF_NAMESPACE_CLOSE'
   51 | PROTOBUF_NAMESPACE_CLOSE
      | ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:52:24: error: expected ';' after top level declarator
   52 | PROTOBUF_NAMESPACE_OPEN
      |                        ^
      |                        ;
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:54:1: error: unknown type name 'PROTOBUF_NAMESPACE_CLOSE'
   54 | PROTOBUF_NAMESPACE_CLOSE
      | ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:55:24: error: expected ';' after top level declarator
   55 | PROTOBUF_NAMESPACE_OPEN
      |                        ^
      |                        ;
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:60:14: error: no member named 'PROTOBUF_NAMESPACE_ID' in the global namespace
   60 |     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Any) */ {
      |            ~~^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:60:37: error: expected class name
   60 |     public ::PROTOBUF_NAMESPACE_ID::Message /* @@protoc_insertion_point(class_definition:google.protobuf.Any) */ {
      |                                     ^
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:63:10: error: only virtual member functions can be marked 'override'
   63 |   ~Any() override;
      |          ^~~~~~~~
bazel-out/k8-opt-exec-ST-13d3ddad9198/bin/external/com_google_protobuf/src/google/protobuf/_virtual_includes/any_proto/google/protobuf/any.pb.h:64:37: error: no member named 'PROTOBUF_NAMESPACE_ID' in the global namespace
   64 |   explicit PROTOBUF_CONSTEXPR Any(::PROTOBUF_NAMESPACE_ID::internal::ConstantInitialized);
      |                                   ~~^

Anything else we should know about your project / environment?
I do not have protobuf or protobuf-c packages installed as they are at version 27.3 and grpc mentions that it supports protobuf version 27.2.
I use bazelisk, which I installed using AUR.
I tried this using different version of com_google_protobuf (27.1, 27.2, 27.3) and with bazel version 7.3.1, but it didn't work.
When using bzlmod instead of http_archive for protobuf, I get a different error saying that some files are generated twice, most likely because bzlmod loads the rule as protobuf and grpc checks for com_google_protobuf to be loaded.

Does grpc_proto_library work for you?

Hello, I tried it and it didn't work, I also updated grpc to 1.66.1.
I found the compiled protoc and running protoc --version showed 28.2, which is what I used in bazel.
I tried multiple things to fix it, and ended up with grpc_proto_library showing a different error this time. Will write the error here tonight.

I managed to fix this by manually disabling bzlmod.

Adding common --noenable_bzlmod to .bazelrc fixes the issue.


Import from export * cause error

When I try export from like this :
/app/bff/client.ts
export const function1 = () => {}
export const function2 = () => {}
...
export const function_n = () => {}

And in app folder I have exported will package jsdoc like this.
/*
@public
*/
export * from './client'

From the same level folder with bff. Let's say component folder .  I try to to import like this.
import {function1} from './bff
It's will throw Cannot import a package-private export 'function1'.
Is that a bug of plugin. Or can you show me how to solve this problem.

Thank you for the bug report!
I think I want to fix the behavior, but I need to look into it to know whether it is fixable.


vcpkg.io says pistache is available on all platforms, but it's linux only

Describe the bug
A clear and concise description of what the bug is.
Environment

OS: [e.g. Windows/Linux etc...]
Compiler: revision

To Reproduce
Steps to reproduce the behavior:

./vcpkg install xxxx
See error
Repro code when

Expected behavior
A clear and concise description of what you expected to happen.
Failure logs
-(please attached failure logs)
Additional context
Add any other context about the problem here.

Please report this issue to https://github.com/vcpkg/vcpkg.github.io/issues instead.
Thanks.


Reset focus on routing

Summary
I’ve realized that keyboard focus is not resetting while routing to a new page.
Take for instance a footer navigation which you’re using the keyboard to navigate. If you navigate to one of the links, the focus is still on that link in the footer after the page has loaded. Which means I can’t tab through the new page from the start of the document, but it instead keeps tabbing through the footer nav.
Maybe there is already an option for how to do this? Any help would be very appreciated.

Cannot reproduce on my built site. Are you noticing this behavior during dev, in the build, or both? Does your Layout component (that wraps all pages) include the footer, or is it outside the layout? Are you using keep-alive anywhere?

Thanks for the quick return. I’m not using keep-alive anywhere. I keep my header and footer in App.vue (which is above the Layout component) and I realized this is probably the reason. Moving them into the layout solves it.

@johannesholmberg Okay, great. Since routing after hydration would not re-create elements outside the page layout, they retain focus.
Would you mind closing the ticket?


IGameEvent<T1, T2> RegisterListener

https://github.com/AdamRamberg/unity-atoms/blob/v1.0.0/Source/Base/IGameEvent.cs
should the multiple parameter version have the register and unregister? or they are supposed to be derived from each other?
Thanks

Register and Unregister are both missing. Good catch! ⭐ Fixed in commit: 593b275e6394b9d589de8a7a20375145dfc4aa84


[stable/wordpress] adds loadBalancerSourceRanges to service

What this PR does / why we need it:
Allows restricting LoadBalancer service to specific CIDR ranges. Useful for restricting access to only CDNs such as CloudFlare
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

Thanks for the PR, @denniswebb !

Please, update the values-production.yaml file as well.

Completely overlooked that file. Done. Thanks for the quick comment.

Hi, @denniswebb. #19579 was merged so the chart version will need another bump. Thanks!

@alemorcuq Rebased and updated.

Thanks, @denniswebb !
You can merge this one, @carrodher

/ok-to-test
/lgtm


feat: bump msrv to 1.65

<EMAIL_ADDRESS>needs Rust >= 1.65. See

damn, I don't have write access to this repo apparantly

oh actually @JonasKruckenberg you forgot to sign your commit


favicon

I have added favicon.

It must be according to the theme of website.
of white colour

ok


Should define a Error type rather than generate error type for every struct

The generated error type is not very useful.

The idea of a specific error for every particular struct is that:

Looking at the definition of error type one can easily say which validation rules are there
It enables exhaustive error handling

In the further versions I am planning to introduce something like GenericValidationError, so every specific validation error will be convertable into GenericValidationError


feat(breaking): remove attestation-name input and output

Summary

Reverting #3399
Fixes https://github.com/slsa-framework/slsa-github-generator/issues/3031
Fixes https://github.com/slsa-framework/slsa-github-generator/issues/3072
Removes the attestation-name input and output from the generator_generic_slsa3.yml, which has been deprecated for provenance-name.

Testing Process

We have existing PR Check workflows that do call the generic-genertor wth the correct parameters
example-package e2e2 tests have already been updated to use the new parameter and are already passing.

Checklist

[x] Review the contributing guidelines
[x] Add a reference to related issues in the PR description.
[x] Update documentation if applicable.
[x] Add unit tests if applicable.
[x] Add changes to the CHANGELOG if applicable.

linter is complaining


Cow: Watch formativesports.com

Cow requests the watch of the watch_keyword formativesports\.com. See the MS search here and the Stack Exchange search in text, in URLs, and in code.

formativesports\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by double-beep in Charcoal HQ


CASMCMS-8532: Update BOS for actual state cleanup operator fix (1.4)

Summary and Scope
Updates BOS to pull in a fix for the actual state cleanup operator, which was trying a PATCH operation with an invalid field.
Issues and Related PRs

Resolves CASMCMS-8532

Testing
Tested on:

Mug

Test description:
Validated the operator was correctly patching state.
Risks and Mitigations
None
Pull Request Checklist

[X] Version number(s) incremented, if applicable
[X] Copyrights updated
[X] License file intact
[X] Target branch correct
[X] CHANGELOG.md updated
[X] Testing is appropriate and complete, if applicable
[X] HPC Product Announcement prepared, if applicable

I think this PR is superseded by my BOS PR: https://github.com/Cray-HPE/csm/pull/2406

Another PR already bumped this to 2.0.21 (https://github.com/Cray-HPE/csm/pull/2406/files).  Closing this PR as it looks like these changes were already incorporated.


Update Composer dependencies (2023-05-18-00-11)

Visual regression test passed!
View the visual regression test report


Prepare for a 1.0 release

Danger Swift works on a few projects in production now, so I think it's time to start thinking about what the 1.0 looks like. Happy to raise/lower the scope.
Supporting  all Danger JS features

[x] GitHub / BitBucket work
[x] Inline commenting
[ ] Optional support something like danger pr in JS  https://github.com/danger/danger-swift/issues/60
[ ] Optional support something like danger local in JS

Swift specifics

[x] Make a Dangerfile edit mode
[ ] Consider whether running danger-swift ci can set up the node env and run everything for you
[ ] Find a way to allow custom GitHub API calls #17
[ ] Optional Allow importing multiple files #49
[ ] Optional Look at Linux support as a consumer #34

Docs
These should all live in this repo, and Danger.Systems can pull it all out at build time. This is what we do with danger-js. I can handle all these.

[ ] API Reference (could be done via jazzy)
[ ] Installation Guide (I'd focus this on what the weird node dance is, and have a think about if that stuff can move into danger-swift also)
[ ] Getting Started Tutorial
[ ] Usage guides
[ ] Making a plugin https://github.com/danger/danger-swift/issues/46

Related to:

Optional support something like danger pr in JS #60

I am running Danger-swift in my local machine against a bitbucket server, and I plan to use it from Bamboo (which has no danger support) in the same way by using the following lines:
# Your repo URL is https://yourHost/pathToYourRepo

export DANGER_BITBUCKETSERVER_HOST='https://yourHost'
export DANGER_BITBUCKETSERVER_USERNAME='user'
export DANGER_BITBUCKETSERVER_PASSWORD='password'

# Fake CI. See: https://github.com/danger/danger-js/blob/master/docs/guides/the_dangerfile.html.md
export DANGER_FAKE_CI='YEP'
export DANGER_TEST_REPO='pathToYourRepo'
export DANGER_TEST_PR='PRNumber' #for example: export DANGER_TEST_PR='906'

danger process danger-swift

Isn't this providing the same functionality as danger pr?

No, danger pr doesn’t write to checks or the pr, it’s a local dev tool

OK, this is now reallllllly close. The only thing from my original list that I considered to be a blocker was support for making GitHub API calls from Danger Swift.
Perhaps for Danger Swift, instead of providing a GitHub API ( #17 ) we make/use a simple API V4 query API?
Other than that it's time for documentation. So I need to find some sort of types to JSON thingy for the deploy process.

Oh hey, so check it out all those boxes are ticked now - docs are shipped: https://danger.systems/swift/
and I've come up with a solution for plugins taking foreever, which I'll write up In #139
so that leaves this pretty much good to 1.0 IMO

I suppose that, given 1.0.0 is released we can close this


query date_format  error 401

query as
* and kube-system  request: CreateUser and status:200 | select  date_format(__time__ -__time__%3600,'%Y-%m-%d')  as date ,count(*)  as count group by date order by date desc

error message:
{StatusCode: 401, ReasonPhrase: '', Version: 1.1, Content: System.Net.Http.HttpConnection+HttpConnectionResponseContent, Headers:\r\n{\r\n
if remove date_format , the query is success.

401 indicates unauthorized, should not be related to SQL query.
@wind-tangkai please check this out.


Update function not available

Hi,
my Admin just installed cross reference and I created my first label and reference but I cannot update the document.
'Add-ons->cross reference' only shows "help" but nothing else. There is one similar issue here but it is closed without any expalantion.
What do I nee to do?

This is almost certainly a permissions issue to do with what your admin
allows rather than an issue with the add on. I would ask them if they can
review your permissions regarding add ons
On Fri, 6 Aug 2021, 12:23 JessicaRudi, @.***> wrote:

Hi,
my Admin just installed cross reference and I created my first label and
reference but I cannot update the document.
'Add-ons->cross reference' only shows "help" but nothing else. There is
one similar issue here but it is closed without any expalantion.
What do I nee to do?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/davidrthorn/cross_reference/issues/68, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACH6VUAX2AVFZHPFZSS3EODT3PA4JANCNFSM5BVXDGPQ
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.


Unable to  remove last authorizedNetworks for CloudSQLInstance

What happened?

When managing CloudSQL instances with Crossplane, we can set multiple different authorizedNetworks to allow for public access to the instance.
Adding new CIDR ranges and removing old ranges seems to work as expected. This bug surfaces when removing the last authorizedNetwork from the list. When we do this, Crossplane chooses to import the existing authorizedNetwork from GCP instead of deleting it.
How can we reproduce it?

Create CloudSQLInstance

apiVersion: database.gcp.crossplane.io/v1beta1
kind: CloudSQLInstance
metadata:
  name: public-access-postgresql
spec:
  forProvider:
    settings:
      ipConfiguration:
        authorizedNetworks:
          - name: authorized network 1
            value: <IP_ADDRESS>/30

Remove last authorizedNetwork from list

apiVersion: database.gcp.crossplane.io/v1beta1
kind: CloudSQLInstance
metadata:
  name: public-access-postgresql
spec:
  forProvider:
    settings:
      ipConfiguration:
        authorizedNetworks: []

Observe that Crossplane has reimported the authorizedNetwork from GCP

apiVersion: database.gcp.crossplane.io/v1beta1
kind: CloudSQLInstance
metadata:
  name: public-access-postgresql
spec:
  forProvider:
    settings:
      ipConfiguration:
        authorizedNetworks:
          - expirationTime: ""
            name: authorized network 1
            value: <IP_ADDRESS>/30

What environment did it happen in?

Crossplane version: crossplane/crossplane:v1.5.0
GCP provider: crossplane/provider-gcp-controller:v0.19.0
Kubernetes distribution: GKE / v1.20.10-gke.1600

Related issue: https://github.com/crossplane/crossplane-runtime/issues/105


Please add support for Swift Package Manager (Dependencies)

Many people will be moving away from CocoaPods and Carthage and using Swift Package Manager (Dependencies). Can you please add support? Thank you!

Hi @ethanwa, it's been on the roadmap for a long time but it's not possible currenlty. SwiftPM sadly doesn't support resources.
The last time I checked was June this year, are resources supported now?

Since the default coach marks are now hand drawn and no longer use images, I might be able to add SwiftPM support. I will have a look in the coming days.

This would be awesome, thanks so much!!

🎉 I'm happy to announce that Swift Package Manager should now be supported by Instructions (only in master for now, I'll create the next release over the next few days).

Any chance you could push this to a main release now? Sorry to bug you! Thanks!

Yeah, sorry. 😕 I need to rewrite a bit of the README and I haven’t had the chance to do it. I’ll try to do it during the next two weeks.
The release isn’t likely to be much different from master though.

@ethanwa, so I'm currently working on the next release, but I now feel it's better if I go straight to 2.0.0 and rename the properties I've wanted to rename for a while. It should come out in the next few days (perhaps even today), but it won't look like master, I take back what I said. Sorry about that.
 The compiler should be giving hints.

2.0.0 was released!


falcon hosting on heroku  using falcon.rb

I was a bit confused by the documentation so i wondered if you could bless the following.  The confusion is production should only use the host command (and not serve) but there is no clear falcon.rb file. I have attached a sample file that works below.
a) deployment should be using falcon host  (and NOT falcon serve.  I have used serve successfully for about a year but thought i should be be upto date).
So my heroku Procfile now looks like:
web: bundle exec falcon host
# old was  web: bundle exec falcon serve -b http://<IP_ADDRESS>:${PORT:-3000} --count 3

my falcon.rb file in app directory looks like
#!/usr/bin/env -S falcon host
# frozen_string_literal: true
module Async::Container
  def self.processor_count
    ENV.fetch('FALCON_WORKERS') { Etc.nprocessors }
  rescue
    2
  end
end
puts "falcon processor count #{Async::Container.processor_count} cores: #{Etc.nprocessors} set FALCON_WORKERS env to override"
# Above courtesy of Daniel Evans
load :rack, :lets_encrypt_tls, :supervisor
myport=3000
myport=ENV['PORT'] if !ENV['PORT'].nil? and ENV['PORT']!=""
#puts "port set to [#{myport}] #{ENV.inspect}"
puts "port set to [#{myport}]"
hostname = File.basename(__dir__)
rack hostname, :lets_encrypt_tls do
  cache true
  # endpoint Async::HTTP::Endpoint.parse("http://localhost:#{myport}").with(protocol:
  Async::HTTP::Protocol::HTTP2)
      endpoint Async::HTTP::Endpoint.parse("http://<IP_ADDRESS>:#{myport}").with(protocol:
  Async::HTTP::Protocol::HTTP11)
  end
supervisor

ABOVE SEEMS TO WORK.  Can you bless it?  Your software has been plug and play for me with the exception of async-postgres
Question - how can I limit the servers spun up usng the host command (old count command in serve) as I was running out of memory in another heroku deployment and changing count to 2 fixed it.
this pull request fixes this
thank you.

I will check this tomorrow.

Sorry, I lost track of this issue. I'll take a look at my earliest convenience.

Firstly, we provided ASYNC_CONTAINER_PROCESSOR_COUNT to override the default processor count.
The rest looks fine but it could be a bit tidier. I'll try to make some canonical example of how to do it.

Also, looking try out Falcon on Heroku so a good example config would be great

Also, looking try out Falcon on Heroku so a good example config would be great

here is sample which is i production for over a year.
any questions let me know.
It may not be updated with most recent versio so your mileage may vary...

On 2 Jan 2021, at 10:54 AM, Dan Mayer<EMAIL_ADDRESS>wrote:
Also, looking try out Falcon on Heroku so a good example config would be great
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-753421607, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67S6UR3ZCXOZRGCYD53SX2DGDANCNFSM4NSTYWDA.

here is sample which is i production for over a year.
any questions let me know.
It may not be updated with most recent versio so your mileage may vary...

On 2 Jan 2021, at 10:54 AM, Dan Mayer<EMAIL_ADDRESS>wrote:
Also, looking try out Falcon on Heroku so a good example config would be great
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-753421607, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67S6UR3ZCXOZRGCYD53SX2DGDANCNFSM4NSTYWDA.

sorry attachinng procfile as well..
here is sample which is i production for over a year.
any questions let me know.
It may not be updated with most recent versio so your mileage may vary...

On 2 Jan 2021, at 10:54 AM, Dan Mayer<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Also, looking try out Falcon on Heroku so a good example config would be great
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-753421607, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67S6UR3ZCXOZRGCYD53SX2DGDANCNFSM4NSTYWDA.

sorry attachinng procfile as well..
here is sample which is i production for over a year.
any questions let me know.
It may not be updated with most recent versio so your mileage may vary...

On 2 Jan 2021, at 10:54 AM, Dan Mayer<EMAIL_ADDRESS><EMAIL_ADDRESS>wrote:
Also, looking try out Falcon on Heroku so a good example config would be great
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-753421607, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67S6UR3ZCXOZRGCYD53SX2DGDANCNFSM4NSTYWDA.

awesome thanks @semdinsp wow on fast response, I think the attachments aren't working or at least I can't see them on the github issue comments

awesome thanks @semdinsp wow on fast response, I think the attachments aren't working or at least I can't see them on the github issue comments

they are short so have sent as embedded   —falcon.rb does NOT take advantage of latest env variables.  this is currently runnning well on heroku for multiple apps/code bases
procfile
web: bundle exec falcon host
falcon.rb
#!/usr/bin/env -S falcon host
frozen_string_literal: true
module Async::Container
def self.processor_count
# was: ENV.fetch('FALCON_WORKERS') { Etc.nprocessors }
ENV.fetch('FALCON_WORKERS') { 2 }
rescue
2
end
end
puts "falcon processor count #{Async::Container.processor_count} cores: #{Etc.nprocessors} set FALCON_WORKERS env to override"
load :rack, :lets_encrypt_tls, :supervisor
myport=3000
myport=ENV['PORT'] if !ENV['PORT'].nil? and ENV['PORT']!=""
#puts "port set to [#{myport}] #{ENV.inspect}"
puts "port set to [#{myport}]"
hostname = File.basename(dir)
rack hostname, :lets_encrypt_tls do
cache true
endpoint Async::HTTP::Endpoint.parse("http://localhost:#{myport}").with(protocol: Async::HTTP::Protocol::HTTP2)
endpoint Async::HTTP::Endpoint.parse("http://<IP_ADDRESS>:#{myport}").with(protocol: Async::HTTP::Protocol::HTTP11)
end
supervisor

On 2 Jan 2021, at 11:39 AM, Dan Mayer<EMAIL_ADDRESS>wrote:
awesome thanks @semdinsp https://github.com/semdinsp wow on fast response, I think the attachments aren't working or at least I can't see them on the github issue comments
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-753425770, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67SXU4GSHFXXL52IGG3SX2IPBANCNFSM4NSTYWDA.

they are short so have sent as embedded   —falcon.rb does NOT take advantage of latest env variables.  this is currently runnning well on heroku for multiple apps/code bases
procfile
web: bundle exec falcon host
falcon.rb
#!/usr/bin/env -S falcon host
frozen_string_literal: true
module Async::Container
def self.processor_count
# was: ENV.fetch('FALCON_WORKERS') { Etc.nprocessors }
ENV.fetch('FALCON_WORKERS') { 2 }
rescue
2
end
end
puts "falcon processor count #{Async::Container.processor_count} cores: #{Etc.nprocessors} set FALCON_WORKERS env to override"
load :rack, :lets_encrypt_tls, :supervisor
myport=3000
myport=ENV['PORT'] if !ENV['PORT'].nil? and ENV['PORT']!=""
#puts "port set to [#{myport}] #{ENV.inspect}"
puts "port set to [#{myport}]"
hostname = File.basename(dir)
rack hostname, :lets_encrypt_tls do
cache true
endpoint Async::HTTP::Endpoint.parse("http://localhost:#{myport}").with(protocol: Async::HTTP::Protocol::HTTP2)
endpoint Async::HTTP::Endpoint.parse("http://<IP_ADDRESS>:#{myport}").with(protocol: Async::HTTP::Protocol::HTTP11)
end
supervisor

On 2 Jan 2021, at 11:39 AM, Dan Mayer<EMAIL_ADDRESS>wrote:
awesome thanks @semdinsp https://github.com/semdinsp wow on fast response, I think the attachments aren't working or at least I can't see them on the github issue comments
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-753425770, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67SXU4GSHFXXL52IGG3SX2IPBANCNFSM4NSTYWDA.

Thanks, this is really helpful

Thanks, this is really helpful

You can use ASYNC_CONTAINER_PROCESSOR_COUNT instead of FALCON_WORKERS monkey patch.

You can use ASYNC_CONTAINER_PROCESSOR_COUNT instead of FALCON_WORKERS monkey patch.

Thank you for this! I'd be curious to hear more details about this config, as I'm not sure what the various parts are doing. For example, what is the lets_encrypt_tls  bit doing? I thought I might be able to omit it since I'm using Heroku's SSL, but it appears to be necessary. Here's the config from above but with formatting for future readers:
ENV:
ASYNC_CONTAINER_PROCESSOR_COUNT=8

Procfile:
web: bundle exec falcon host

falcon.rb:
#!/usr/bin/env -S falcon host
# frozen_string_literal: true

load :rack, :lets_encrypt_tls, :supervisor

hostname = File.basename(__dir__)
port = ENV["PORT"] || 3000
rack hostname, :lets_encrypt_tls do
  cache true
  endpoint Async::HTTP::Endpoint.parse("http://<IP_ADDRESS>:#{port}").with(protocol: Async::HTTP::Protocol::HTTP11)
end

supervisor

...but even then I'm not sure why we pick this protocol specifically -- is that the only one Heroku supports? Any additional info would be much appreciated, but thank you in any case for the pointers already!

sorry I just grabbed the code to get it to work.  I did not look into that line load: rack but it is an interesting question.  I will look into it a bit.
As a side note, I fiddled with the Async protocols as I wanted to run HTTP2 (quic?) but then i found out that heroku was not supporting http2.  Howevef if you don’t use heroku setting the protocol to HTTP2 works in this configuration and seems to be robust (at least on my testing).

On 20 Feb 2021, at 5:47 AM, Trevor Turk<EMAIL_ADDRESS>wrote:
Thank you for this! I'd be curious to hear more details about this config, as I'm not sure what the various parts are doing. For example, what is the lets_encrypt_tls bit doing? I thought I might be able to omit it since I'm using Heroku's SSL, but it appears to be necessary. Here's the config from above but with formatting for future readers:
ENV:
ASYNC_CONTAINER_PROCESSOR_COUNT=8
Procfile:
web: bundle exec falcon host
falcon.rb:
#!/usr/bin/env -S falcon host
frozen_string_literal: true
load :rack, :lets_encrypt_tls, :supervisor
hostname = File.basename(dir)
port = ENV["PORT"] || 3000
rack hostname, :lets_encrypt_tls do
cache true
endpoint Async::HTTP::Endpoint.parse("http://<IP_ADDRESS>:#{port}").with(protocol: Async::HTTP::Protocol::HTTP11)
end
supervisor
...but even then I'm not sure why we pick this protocol specifically -- is that the only one Heroku supports? Any additional info would be much appreciated, but thank you in any case for the pointers already!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-782382561, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67UZLFBRDE3DC42MGJLS73L6BANCNFSM4NSTYWDA.

ASYNC_CONTAINER_PROCESSOR_COUNT=8

Strickly speaking you should not need this, it will automatically scale depending on the number of CPU cores.

Ah, I was thinking this is how to control memory use... is there another way? (Generally, Rails apps seem to be memory constrained on Heroku in my experience.)

(Generally, Rails apps seem to be memory constrained on Heroku in my experience.)

I totally agree with this comment.  In my experience I need to tune down the number of threads to limit memory use on heroku for the $7 dyno class and in general for any size dyno.
I think it is interesting and a bit non intuitive that we use cpu count as a way to control memory usage.  Obviously we don’t need to change the name of the variable I just wanted to write a post so if newbies were having a problem with memory on heroku with rails they might see this comment.

On 1 May 2021, at 12:04 PM, Trevor Turk @.***> wrote:
Ah, I was thinking this is how to control memory use... is there another way? (Generally, Rails apps seem to be memory constrained on Heroku in my experience.)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/socketry/falcon/issues/121#issuecomment-830512811, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAC67T7FF4VL62AC7WG2FTTLN4WVANCNFSM4NSTYWDA.

Yes, I'm planning to work with @ioquatix on this a bit more and we hope to provide some docs to help explain the trade offs etc. I just wanted to post what I had so far on this thread since it'll likely be a few weeks before I can get back into this.
I'm sure lots of people will be like me, starting from their experience with Puma, so I'd imagine people will be looking for guidance on how to port things over to Falcon, and how to optimize for Heroku etc.

@ioquatix what should be the pool of database? for puma you would do smth like:
  on_worker_boot do
    config = ActiveRecord::Base.configurations[rails_env]
    config["pool"] = puma_max_threads
    ActiveRecord::Base.establish_connection
  end

and puma_max_threads usually is 5

@sebyx07 recently came around some task - how to do something once worker is forked, so for my case it was to add next line into config.ru
require_relative 'after_fork'

I use preload script as well which simply loads all the app (sinatra in my case) that loading initiates connections which I want to close and connect again in the fork, take a look at https://github.com/rubyapi/rubyapi they have preload which loads rails application before it starts rack, so anything added to config.ru should be equivalent to on_worker_boot


Some typing fixes and polish of the config editor

Plugin did not compile for me initially as there were some typing erros. I fixed those. Also this PR contains changes to the config editor that are merged from my current working copy (make use of newer grafana/ui elements and some cleaner descriptions)

Thank you for your help. I made some extra modifications and merged them.
This rewrite is still unstable and types don't always represent the current state. Many things will break along the way.


OCPP network connection to my ABB Terra box not connecting

Trying to establish OCPP connection (using OCPP Integration) to my ABB Terra Charger (ABB Terra AC W7-G5-R-O) but each time I enter the IP of my OCPP server (HA) in the charger config the charger drops the network connection. If I leave the default OCPP connection to the ABB server the network connection is stable (tried both wired and wireless connections). Using the ABB TerraConfig app (version <IP_ADDRESS>) to enter the IP address of the OCPP Server (my HA server is ASUSTOR NAS box with Linux VM for HA).  All firmware is latest on all devices and talking to ABB technical support they say there is nothing wrong with the Terra box or the OCPP firmware.
I know this should work but just can establish a connection. Suspicious that it could be something to do with HA running on the VM on the NAS box.
A beginner with HA but I am slowly learning.
Log entry created when I try to connect to the charger using the OCPP Integration
Logger: homeassistant.config_entries
Source: config_entries.py:402
First occurred: 11:26:18 (1 occurrences)
Last logged: 11:26:18
Error setting up entry central for ocpp
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 402, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ocpp/init.py", line 70, in async_setup_entry
central_sys = await CentralSystem.create(hass, entry)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/ocpp/api.py", line 194, in create
server = await websockets.server.serve(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/websockets/legacy/server.py", line 1127, in await_impl
server = await self._create_server()
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/asyncio/base_events.py", line 1525, in create_server
raise OSError(err.errno, 'error while attempting '
OSError: [Errno 98] error while attempting to bind on address ('<IP_ADDRESS>', 9000): address in use
Any suggestions.

For my Terra I set the OCPP in TerraConfig: ws://myhomeassistantIP:9000
As far as I remember I set up the host address as the manual said: <IP_ADDRESS>, without https
The charger and HA are bot in the same VLAN and both have a static IP. The HA runs in a VM as well.
What services do you use in your HA installation? Check the port allocation, the last line of your log might show something related to this.

Thanks for your input, sorry for the delay in responding, have been out for work.  By services do you mean what integrations I am running ? Still looking into a potential port allocation problem, calling on a friend to help me look further into that.

For my Terra I set the OCPP in TerraConfig: ws://myhomeassistantIP:9000 As far as I remember I set up the host address as the manual said: <IP_ADDRESS>, without https The charger and HA are bot in the same VLAN and both have a static IP. The HA runs in a VM as well.
What services do you use in your HA installation? Check the port allocation, the last line of your log might show something related to this.

Thank you.. It's 3 days that i try to communicate with my Terra AC in HA and by follow your instruction now work.
Just one think: the voltage shown is multiplicate to 10 (I watch 2199 V).. do you know why?

the voltage shown is multiplicate to 10 (I watch 2199 V).. do you know why?

No, in my setup I always had correct values.
If If you connect to the charger with the mobile app (Charger Sync) via Bluetooth (wifi does not work for me since I enabled my own ocpp setup), do you see proper values?

the voltage shown is multiplicate to 10 (I watch 2199 V).. do you know why?

No, in my setup I always had correct values.
If If you connect to the charger with the mobile app (Charger Sync) via Bluetooth (wifi does not work for me since I enabled my own ocpp setup), do you see proper values?

Yes, I see the proper values via Bluetooth..
Is someting strange, because when the charger didn't work (like now) show the wrong voltage but when I charge the car the voltage is correct.
 Or does it work now?

@maxcim32 Have you tried setting up your config in the TerraConfig portal instead of the app? Or does it work now?

is there any special setting in terraconfig app?
I noticed that when the device is not connected or charging, it reports an incorrect voltage (multiplied x10) but reports it correct when charging

@Danton73 At this point in time my ABB Terra is not connected to my car and it reports 229.7 V. Have you checked the raw communication data by enabling both loggings (ocpp and websocket)?

@Danton73 At this point in time my ABB Terra is not connected to my car and it reports 229.7 V. Have you checked the raw communication data by enabling both loggings (ocpp and websocket)?

I activated both loggings, but honestly I don't understand much about them.
I attach the registry log, I just deleted the number of my device by putting "xxx"
OCPP_LOG_Report.txt

@Danton73 I am also not an expert regarding OCPP. But let me share my findings.
In my log the voltage is missing at all when not charging:
2024-02-16 15:15:00.353 INFO (MainThread) [ocpp] TAxxxxxxxxxx: receive message [2, "2409998", "MeterValues", {"connectorId": 1, "meterValue": [{"timestamp": "2024-02-16T14:15:00.000Z", "sampledValue": [{"value": "2008322", "context": "Sample.Clock", "format": "Raw", "measurand": "Energy.Active.Import.Register", "location": "Inlet"}]}]}]
From your log I can see that you are using firmware version 1.6.9. Maybe it makes more sense to compare our ABB Terras with equal firmware. So could you maybe upgrade to 1.6.91 via the TerraConfig app?

@janrothkegel Thanks for the info.
In these days I updated the firmware two time: first time at 1.7.0, second time at 1.8.0 but noting is change.
Same problem. Do you need an upgrade of the register?

Any advice about how the 'port issue' was resolved ? Think I have the same issue with a different charger (Simpson Partners)


Test stable Windows 64 bit ad

@egamma Remember that we moved the windows 64 bit ad to the top of the release notes: https://github.com/Microsoft/vscode-docs/commit/7f7d770e921f91250ec94cd897ec832832cb06a8
Once the docs are published, and ideally before they actually are, we should test that the following URL puts users in the right place:
https://code.visualstudio.com/updates/v1_15#_windows-64-bit
cc @gregvanl

Assigning to @gregvanl pls check before the release.

@gregvanl just read through the latest version of the releasenotes an noticed that the 64bit section got moved to the bottom. has this been tested with the latest upgrade-to-64 bits message box we are showing?

@egamma @joaomoreno Yes, the location of the H2 header doesn't matter for the link.
Sean wanted the section moved down. Is there another reason to have it at the top for the final release notes? It is also included in the 1.15 highlight links.

Verified on 1.15.


Acceptance test tweaks

junit step does not have an allowMissing option, breaking build when
only basic tests are run. Also, junit is superfluous since html reports
are being published anyways.
https://rally1.rallydev.com/#/58777512329d/detail/userstory/195179208708

closing since it is expired.