Router Advertisements: 'Advertise Default Gateway' setting not working

Describe the bug
Enabling 'Advertise Default Gateway' in the 'Router Advertisements' settings adds a ::/0 route to RAs, disabling it removes that route. This is not the correct way of (not) advertising a default gateway: Receipt of any RA with Router Lifetime > 0 will cause hosts to install a default route to the RA's source address, so advertising a ::/0 route is redundant at least. This also means that disabling 'Advertise Default Gateway' does not stop hosts from installing a default route (because the Router Lifetime in RAs is still > 0).
To Reproduce
Steps to reproduce the behavior:

Go to 'Services' / 'Router Advertisements' / 'LAN'
Enable 'Advertise Default Gateway' and save
Do a packet capture on the LAN interface and have a look at the RAs. They contain route information for ::/0 (which is redundant).
Go to 'Services' / 'Router Advertisements' / 'LAN'
Disable 'Advertise Default Gateway' and save
Check whether hosts in the LAN still use OPNsense as their default gateway. Spoiler: They do, which means that this setting does not have the desired effect.
Do a packet capture on the LAN interface and have a look at the RAs. They don't contain route information for ::/0 (good), but the Router Lifetime is > 0 (bad).

Expected behavior

RAs should never contain route information for ::/0.
Disabling 'Advertise Default Gateway' should set the Router Lifetime to 0.

Additional context
RFC 4861 (Neighbor Discovery for IP version 6 (IPv6))

A router might want to send Router Advertisements without advertising itself as a default router. For instance, a router might advertise prefixes for stateless address autoconfiguration while not wishing to forward packets. Such a router sets the Router Lifetime field in outgoing advertisements to zero.

Environment
OPNsense 19.1.4-amd64

@maurice-w please double-check e67dade

Thanks @fichtner, works as expected after applying the patch to 19.7.a_701 and re-saving the RA config.

@maurice-w Thanks for testing. Side question, does the CARP feature mentioned in the patch make sense to you? (using RemoveRoute off / DeprecatePrefix off)

@fichtner So if I get this correctly, the intention is to prevent radvd from deprecating the advertised routes and prefixes if an interface is shut down but happens to be a CARP interface? Because from a host perspective nothing changes? Sounds good to me. FlushRDNSS and FlushDNSSL should consequently be turned off, too.
What we probably can't prevent is radvd setting the Router Lifetime to 0 in the shutdown RA. At least I can't find an option for that.
Do you know if radvd gets shut down before a CARP interface goes down? So does it actually send a shutdown RA?

@maurice-w Radvd isn't shutting down on the backup in normal operation mode and if it crashes it can't send a shutdown RA anyway. I'm unsure about flushing RDNSS/DNSSL because the routers advertise their own IP, not the CARP (you can only use CARP IP for responding) so the other node needs to advertise its IP as well and clients should flush indeed. In that sense it's a little weird because both nodes' Radvd is running and advertising, you just don't want it to strip routes in case one shuts down (which can't really happen).
As said in the commit, the CARP support is pretty weird and I'm not sure anyone uses it.
But then again we still don't HUP radvd and always restart when necessary on IPv6 changes, which might be part of the issue. Should we maybe switch that behaviour in general?

@fichtner, about the CARP issue: First, I don't have a CARP setup, so take these thoughts with caution:

The routers advertising their own IP addresses as RDNSS (instead of the CARP virtual IP) seems a bit odd. Is that intentional? Does DHCPv6 / DHCPv4 do the same thing?
In many scenarios (especially HA) DNS resolvers run on separate boxes, not on the routers. So no need to flush RDNSS on a router failover.
DNSSL won't change because of a router failover so no need to flush this.
radvd running on all CARP nodes all the time seems weird indeed. That makes all of this pretty hypothetical anyway. :-) But in general, preventing zero lifetimes in shutdown RAs makes sense in a CARP scenario. radvd might get shut down on one node accidentally or when doing maintenance.

About reloading vs. restarting radvd on IPv6 changes in general:

Restarting makes things easy. radvd can do the cleanup automatically by sending a shutdown RA with zero lifetimes for pretty much anything it advertises. But:
This causes interruption in the LAN. All hosts drop their auto-configured addresses, routes, connections etc. - see #3415.
Just reloading the radvd config (without a restart) on IPv6 config changes allows the hosts to transition without interruption. But this is a multi-step procedure of changing and reloading the config several times. If not done correctly (e. g. not deprecating an old prefix) it can cause a mess. I think this better fits in #3415 so I'll come up with something and comment there.


[Feature] Disable creation of new (local) admin accounts

Hi,
We're setting up a Gitea instance in my organization, and we have an issue that our IT is concerned about - there seems to be no way to disable creating new (local) admin accounts.
What we would like is a way to just create a single (local) admin account, set up LDAP (AD) authentication, and only allow admins that are filtered through LDAP, and then somehow disable creation of new local accounts that would have admin privileges, or possibly disable local accounts altogether.
Is there any way to completely disable local accounts in Gitea and only allow LDAP accounts, or disable the "Create User Account" button / functionality after creating the first local admin account?
Thank you for your help.

Gitea version (or commit ref): 1.10.2
Git version: 2.24.1
Operating system: Windows Server 2019
Database (use [x]):

[ ] PostgreSQL
[ ] MySQL
[x ] MSSQL
[ ] SQLite

If you are a site admin you can change most things, including disabling authentication sources (like LDAP). What do you want these users to be able to do that requires them to have admin accounts? It seems you rather want to make them owner of certain organizations.

Currently that is not possible to do

OK, thank you.
We are currently testing a workaround with a trigger on the SQL users table, it seems it will work OK for our needs.
@davidsvantesson : organization owners are close to what we need, but then we can't create new organizations by ourselves but need to involve the IT service. It is a possibility if nothing else will work.

The settings below should be relevant for you. To get what you want maybe set DEFAULT_ALLOW_CREATE_ORGANIZATION = false and DISABLE_REGULAR_ORG_CREATION = false?

; Default value for AllowCreateOrganization
; Every new user will have rights set to create organizations depending on this setting
DEFAULT_ALLOW_CREATE_ORGANIZATION = true
; Either "public", "limited" or "private", default is "public"
; Limited is for signed user only
; Private is only for member of the organization
; Public is for everyone
DEFAULT_ORG_VISIBILITY = public
; Default value for DefaultOrgMemberVisible
; True will make the membership of the users visible when added to the organisation
DEFAULT_ORG_MEMBER_VISIBLE = false

; Disallow regular (non-admin) users from creating organizations.
DISABLE_REGULAR_ORG_CREATION = false

Should note that you can't use LDAP directly to set which users are allowed to create organizations, you need to use the API for that.

@davidsvantesson : I don't know how I managed to overlook those settings, but yes, that is (mostly) what I was looking for. I would still like to be able to somehow manage which of the users have permission to create new organizations, but this will do for the moment.
Thanks again! I think this issue can be closed now (or should I close it?)


Crash on /advRocketry goto

Minecraft Version:

1.12.2
Forge Version:
2554
Advanced Rocketry Version:
1.2.6-1
LibVulpes Version:
0.2.6-16

Crash Report: https://gist.github.com/Thutmose/12db77f463bd974d20be3869096aa417
Explain issue in detail:
Make a new world, use command /advRocketry goto  (default is -2), proceed to crash.
My suggestion is to either include a null check somewhere to account for no space stations, and maybe teleport the player to some default location in space to just be "deep space" or somesuch.

This has already been fixed. Has not been released yet I believe to curse.
Sent from my iPhone

On Nov 29, 2017, at 3:37 PM, Thutmose<EMAIL_ADDRESS>wrote:
Minecraft Version:
1.12.2
Forge Version:
2554
Advanced Rocketry Version:
1.2.6-1
LibVulpes Version:
0.2.6-16
Crash Report: https://gist.github.com/Thutmose/12db77f463bd974d20be3869096aa417
Explain issue in detail:
Make a new world, use command /advRocketry goto (default is -2), proceed to crash.
My suggestion is to either include a null check somewhere to account for no space stations, and maybe teleport the player to some default location in space to just be "deep space" or somesuch.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

ahh yes, this claims to fix it: https://github.com/zmaster587/AdvancedRocketry/commit/f71106e830c016ce3450f598c1f021743ac0436e
I will close issue when it gets on curse then

https://minecraft.curseforge.com/projects/advanced-rocketry/files/2504929

just did a build.


Set Up GitHub Actions for Publishing Storybook to GitHub Pages

Created gh-pages.yml in workflows
This sets up the Github actions to publish the Storybook docs
to Github pages on each push to develop.

And as a last thing to discuss, the Action we're using has support for pushing to a different repo so that we could create a repo like oscal-react-library-storybook or something like that. We could then keep this repo's GitHub Pages clean/available for a different purpose (like deploying the sample app through GHA if we ever wanted to).

Excellent job, thank you.


Log hubot messages to /etc/service/hubot/log/main/current

Seems to be the standard place for runit services

:+1:

please check #22

Merged in with #22


[Suggestion dotnet] publish .snupkg to nuget.org as well

https://blog.nuget.org/20181116/Improved-debugging-experience-with-the-NuGet-org-symbol-server-and-snupkg.html
https://github.com/NuGet/Home/wiki/NuGet-Package-Debugging-&-Symbols-Improvements

We are already publishing the pdb symbols as part of the the nuget packages themselves. Does the source stepping not work for you in visual studio?

@jtattermusch That works, however, there might be some small drawbacks of .nupkg embedded dlls which are documented here

If a .pdb is included in a normal .nupkg, NuGet and NuGet.org will not do any special validation or indexing of the .pdbs. Debugging of the .nupkg will work in a limited way as the symbols will be cached next to the .dll, but it will not be indexed and downloaded from a symbol server. The only way to ensure indexing on the symbol server is to include the .snupkg. If the symbols are not indexed, certain scenarios will not work, such as crash dump debugging and attaching to an application.


Fix typo CRS → CSR

/retitle Fix typo CRS → CSR

@Gsealy Please try recommit this PR somehow, the gate is not happy with it.

I smacked Netlify with an imaginary wrench.

/lgtm
/approve


Current kernel.

Hi!  The current kernel also works.  The only problem is that the cpu temperature is long.  The cpu temperature source is not xx ° C but xxxxx ° C.  I think you have decimals.  What can be done?

Hi! Thank you very much for your reply.  I'm a very beginner c-programmer.  And my English is not good either.  I couldn't find a solution to this problem.  Thanks for the help.

https://github.com/vadzimyatskevich/SSD1306/commit/9437543a3812b6952b9304c9d9334fb30040e11b


Support override config on call Artifacts

Is your feature request related to a problem? Please describe.
We compile Artifacts in the development environment. But production we may change the address of our request. For the same Artifacts, our endpoint may be http://<IP_ADDRESS> or http://dev.service.com. But production it may be a different domain. Or it could be the intranet address of an production cluster.
Describe the solution you'd like
The compiled Artifacts support real-time configuration resolution via an environment variable. Or support overriding the configuration at runtime
relation: #2548

Have you tried to use environmental variables like?
baseUrl: {env.BASE_URL}

While building you can do BASE_URL=http://<IP_ADDRESS> and you can change it to something like BASE_URL=http://dev.service.com.

@ardatan Yes, I have tried. But for now, environment variables are only supported in builds.
I think a better solution would be to support passing in an environment variable when calling getMesh to support?.
// for nodejs
const env = process.env;
getMeshOptions(env);

// for browser

// webpack.DefinePlugin or  SSR.
const env = '{{env}}'
getMeshOptions(env);

+1 - I would also like to reuse the same build artifacts against staging and production environments, instead of using two different prebuilt clients. The env configuration might be not flexible enough because the choice has to be made before starting the process, instead of having the process choose its configuration, and it might even want to create instances for both environments - that doesn't work if they depend on the same static process.env.
Need to do more tests with {env.*} and graphql-mesh, but I had the same approach as @HongjiangHuang before, that's why I asked you a similar/the same question in the other topic @ardatan (https://github.com/Urigo/graphql-mesh/issues/2504#issuecomment-889860683).
Related question, process.env should be writable at runtime - then we can just dynamically write config onto there before importing the artifacts?

Sorry folks,
I am confused about why environment variables would not work for your use case.
If you want to change endpoints or URIs between different environments (development/staging/production); this should be the way to do it.
If you want to use the same build across all environments, and you just need some values to change, env variables should also be the way to achieve this.

might even want to create and use instances in parallel for both environments in the same process

Can you elaborate more on this?
You're thinking of supporting multiple environments in the same process?
How can you build your GraphQL schema in this case?
I suppose data sources available in different environments might have a different contract to each other.
The problem here is not just about directing a network request to the right URI; that, yes, would be just a runtime concern and can be surely solved.
But the problem is to build the executable layers that need to be aware of the exact data sources you plan to use to serve your composed GraphQL schema.
Hope I manage to make some sense on the above.

might even want to create and use instances in parallel for both environments in the same process
Can you elaborate more on this?

Yes, my use case might be a bit special, because I have a runtime collaboration pipeline (Botpress), so I am packaging a mesh client to be served through a Botpress module, and depending on the collaboration pipeline stage, production or staging APIs are used, so both have to be available at the same time (for different Bots).
But my argumentation about prod & staging is wrong because they do not have the exact same schema. I have to go with versioning and two different builds, not overriding the endpoint config. Thanks for making me think about that @santino !
@HongjiangHuang I recommend you check your use case again and potentially rethink your approach, since the 0.17+ release really has a lot of impact and changes ...

Closing for now! We can keep the discussion in here.

Just like webpack supports setting public-path at runtime, I want supports setting endpoint at runtime.

@HongjiangHuang You can do it using env for this;
baseDir: "{env.ENDPOINT}"

https://github.com/Urigo/graphql-mesh/blob/master/packages/config/src/index.ts#L112
https://github.com/Urigo/graphql-mesh/blob/master/packages/cli/src/index.ts#L210-L231
Everything seems to be cache when building Artifacts.

Yes but {env.ENV_VAR} expression is kept so in runtime that expression is evaluated again

@ardatan one related question for completeness:
If I wanted to forward this {var} via getMeshSDK({ var }) or as a method argument, how could I achieve that (so not using env)?

The signature of getMeshSDK currently does not support any argument, so anything you want to pass in there it won't be used.
Probably we should start with the requirement again.
What would you want to do with arguments that you'd like to pass to getMeshSDK?
The aim is to see if what you want to do can be achieved already with existing APIs, or if extensions/changes are actually required.

I am not sure I understand the usecase. Could you give more details? What are you trying to achieve?

The signature of getMeshSDK currently does not support any argument, so anything you want to pass in there it won't be used.
Exactly that's what I noticed. And I think that was why I was using getMeshInstance before that, but I haven't figured out how that would be done now or if it's still worth pursuing, can't really give you a use case since I am solving mine differently (should only set/overwrite the host at build time anyways).
I am just thinking there might be one, but for all I can think of right now method parameters will do (e.g. $apiKey in the react-weather-bit example - would probably create wrapper to make this parameter global if there would be more than one method using it?...)


[api-docs] Owner cannot be pending (#6097)

A new commit was made into the api-docs repo: https://github.com/discord/discord-api-docs/commit/01631fbf496623384c837d406dc03b4f21484316
No details given.
This is a bot created issue.

No code changes required.


Update Payment Request API Deep Dive article following changes

Following the changes made to the Payment Request API, we need to update the deep dive article.
The changes are summarized here: https://developers.google.com/web/updates/2017/01/payment-request-updates
cc: @gauntface , @dgash

@agektmr do you want to take this on?
I'm not aware of the edge cases here (i.e. using a string on a version of chrome that expects an array and I'm also terrified of the modifiers API and how it affects the callbacks.

@gauntface OK, I'll find some time to work on this.


Does RM4pro not really end after sending?

My RF data is a remote control for learning motorized curtain RF from RM2PRO.
Sending using RM4PRO(6026) is normal, but the original RF remote control cannot be used.
RM4pro continues to send the RF signal after the LED is turned off(5~15 seconds later), causing the interference to the original RF remote control to be unusable.
The RM4 power supply is removed, and the remote control can be used normally.
Does RM4 not really end after sending?
It is normal to use Broadlink App.

Send the following information again, it will be better, but RF433 interference is still there
var data = [152,36,0,0,0,0,0,0,0,0,0,0,0,0];
msg.action = 'send';
msg.data = data;
msg.repeat = 5;
msg.payload = msg;
return msg;


fix: add grunt installation process

REVIEWER
@flopezag
DESCRIPTION
fix readme tests sections
TESTING
Not needed.

Coverage remained the same at 87.097% when pulling 9f81f4a4b407e22c0384bee568916bd88de5512f on bug/readme into d1e1c48220f68fe88d6c472f58d043bad84e6a68 on develop.

Coverage remained the same at 87.097% when pulling 5a705c6a6d1df9c75de506f0e17136b0bf8a4e2e on bug/readme into d1e1c48220f68fe88d6c472f58d043bad84e6a68 on develop.


moving P/Invoke declarations into dedicated class

In order to follow Native interoperability best practices, I've moved P/Invoke declarations into in a class with the same name as the native library.

Notes

The new file is quite large. It might be useful to split it into smaller files.
The rendundancy of the various HType classes should also be resolved:

torch.nn.Module.HType
torch.jit.Type.HType
torch.nn.utils.rnn.PackedSequence.HType
torch.optim.Optimizer.HType

@MovGP0 -- these errors appear on all platforms during build:
/__w/1/s/src/TorchSharp/GCHandleDeleter.cs(4,21): error CS1514: { expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]
/__w/1/s/src/TorchSharp/GCHandleDeleter.cs(7,55): error CS1513: } expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]
/__w/1/s/src/TorchSharp/TensorOrScalar.cs(4,21): error CS1514: { expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]
/__w/1/s/src/TorchSharp/TensorOrScalar.cs(11,2): error CS1513: } expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]
/__w/1/s/src/TorchSharp/GCHandleDeleter.cs(4,21): error CS1514: { expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]
/__w/1/s/src/TorchSharp/GCHandleDeleter.cs(7,55): error CS1513: } expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]
/__w/1/s/src/TorchSharp/TensorOrScalar.cs(4,21): error CS1514: { expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]
/__w/1/s/src/TorchSharp/TensorOrScalar.cs(11,2): error CS1513: } expected [/__w/1/s/src/TorchSharp/TorchSharp.csproj]

error CS1514: { expected
error CS1513: } expected

This happens when JetBrains Rider automatically refactores to File Scoped Namespaces, while the compiler does not support C# 10.0. Maybe we should set the LangVersion element in the *.csproj files. Ie.
<Project>
 <PropertyGroup>
    <LangVersion>9.0</LangVersion>
    <!-- other Properties -->
 </PropertyGroup>

 <!-- other -->
</Project>

Good idea. Just added a PR with those changes.

Great! Will try to find some time next week to resolve the merge conflicts.

Also moved to .NET 6.0 instead of 5.0 while I was at it... :-)

I have now fixed the merge conflicts and the build issues.


Example of using streamz with asyncio to use the timed_window() method #95

This actually turned out to be pretty easy.
The main thing to watch out for that I noticed is that the
AsyncIOMainLoop().install()

call has to occurr before the Stream() is created.

Codecov Report

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

@@          Coverage Diff           @@
##           master     #98   +/-   ##
======================================
  Coverage    94.7%   94.7%
======================================
  Files          11      11
  Lines        1246    1246
======================================
  Hits         1180    1180
  Misses         66      66

Continue to review full report at Codecov.

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

This looks great.  Thank you for putting this together @snth .  Merging

Were you able to get your system up and running then?

@mrocklin Yes, it works great now!
I didn't get to say this earlier but thank you for creating streamz. I'm loving it so far!
I think numismatic will be a good showcase of where the Streams functionality really simplifies the design. We're still sorting out some basics and putting in more functionality but I'll ping you once I think it's worth trying out.

I didn't get to say this earlier but thank you for creating streamz. I'm loving it so far!

I'm glad.  I encourage you to speak up in the future.  Early users are helpful in determining the direction of a project.

I think numismatic will be a good showcase of where the Streams functionality really simplifies the design. We're still sorting out some basics and putting in more functionality but I'll ping you once I think it's worth trying out.

I look forward to it


Guideline on test audio files

Hello again!
I've successfully trained the SEGAN using the same database as used on the original paper, and I also managed to test it to enhance an audio file I created using my mic.
But, when I tried to test it on another audio file I had sitting around in my computer, I came across this error:
Loading model weights...
[*] Reading checkpoints...
[*] Read SEGAN-59750
test wave shape:  (4800000,)
test wave min:1.52587890625e-05  max:0.007797360420227051
Traceback (most recent call last):
  File "main.py", line 106, in <module>
    tf.app.run()
  File "C:\Users\mauke\AppData\Local\Programs\Python\Python36\lib\site-packages\tensorflow\python\platform\app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "main.py", line 97, in main
    c_wave = se_model.clean(wave)
  File "C:\Users\mauke\Documents\git\segan\model.py", line 520, in clean
    x_[:len(x)] = x
ValueError: could not broadcast input array from shape (293,16384) into shape (70,16384)

It seems to me that the test audio file isn't quite what the script was expecting. But I did convert it to a .wav file with 16kHz. So what am I missing? Are there any other requirements for the audio format?
Edit: I've used sox to downsample the audio from 44.1Khz to 16Khz. Same way that was done on the prepare_data.sh script.

It seems that the problem is related to the audio duration.
The audio I was using is five minutes long. I've cropped it to one minute, and it worked.
Is there a duration limit?

I was using this clean method:
def clean(self, x):
    """ clean a utterance x
        x: numpy array containing the normalized noisy waveform
    """
    # zero pad if necessary
    remainder = len(x) % (2 ** 14)
    if remainder != 0:
        x = np.pad(x, (0, 2**14 - remainder), 'constant', constant_values=0)
    # split files into equal 2 ** 14 sample chunks
    x = np.array(np.array_split(x, int(len(x) / 2 ** 14)))
    x_ = np.zeros((self.batch_size, 2 ** 14))
    x_[:len(x)] = x
    fdict = {self.gtruth_noisy[0]: x_}
    output = self.sess.run(self.Gs[0], feed_dict=fdict)[:len(x)]
    output = output.flatten()
    # remove zero padding if added
    if remainder != 0:
        output = output[:-(2**14 - remainder)]
    return output

Once I switched back to the old "clean" method, it worked on larger files. The only problem is that it got super slow.

Hey @Mauker1! Yes this is very slow, a dummy implementation (easiest thing that could be done with waste of resources :/) I have another version of this function, that batches many canvases in parallel (the one I used for many posterior experiments).
def clean(self, x):
    """ clean a utterance x
        x: numpy array containing the normalized noisy waveform
    """
    c_res = None
    for beg_i in range(0, x.shape[0], self.canvas_size):
        if x.shape[0] - beg_i  < self.canvas_size:
            length = x.shape[0] - beg_i
            pad = (self.canvas_size) - length
        else:
            length = self.canvas_size
            pad = 0
        x_ = np.zeros((self.batch_size, self.canvas_size))
        if pad > 0:
            x_[0] = np.concatenate((x[beg_i:beg_i + length], np.zeros(pad)))
        else:
            x_[0] = x[beg_i:beg_i + length]
        print('Cleaning chunk {} -> {}'.format(beg_i, beg_i + length))
        fdict = {self.gtruth_noisy[0]:x_}
        canvas_w = self.sess.run(self.Gs[0],
                                 feed_dict=fdict)[0]
        canvas_w = canvas_w.reshape((self.canvas_size))
        print('canvas w shape: ', canvas_w.shape)
        if pad > 0:
            print('Removing padding of {} samples'.format(pad))
            # get rid of last padded samples
            canvas_w = canvas_w[:-pad]
        if c_res is None:
            c_res = canvas_w
        else:
            c_res = np.concatenate((c_res, canvas_w))
    # deemphasize
    c_res = de_emph(c_res, self.preemph)
    return c_res

Hi @Mauker1 please i need help with the Loading and Prediction section which is the last section.
I havent been able to figure it out.
"Then the main.py script has the option to process a wav file through the G network (inference mode), where the user MUST specify the trained weights file and the configuration of the trained network." where will the configuration be made and what precisely will i have to alter to make the system work. Thanks

I have solved that issue, but when i tried to test a sample file, my audio file was totally cleaned (couldn't hear any sound). Please what could have been the problem

i tested another sample and it worked fine, thanks... just left for me to test with my own generated wav files

What's your version of python and tensorflow?

I have been facing a weird issue while testing. I successfully trained the SEGAN model for 19440 iterations for a batch size of 100. During training at the save_freq the max and min values of the generated sample audios are printed. Here, almost all the audio files vary from +0.55.... to -0.5....
Now, during testing for the same audio file in the training set for the same weights, the output behave like this:
test wave min:-0.42119479179382324  max:0.497093141078949
[*] Reading checkpoints...
[*] Read SEGAN-19440
[*] Load SUCCESS
Cleaning chunk 0 -> 16384
gen wave, max:  [0.96146643] min:  [-0.9862874]
inp wave, max:  0.497093141078949 min:  -0.42119479179382324
canvas w shape:  (16384, 1)
Cleaning chunk 16384 -> 32768
gen wave, max:  [0.9773201] min:  [-0.9757471]
inp wave, max:  0.3213702440261841 min:  -0.2770885229110718
canvas w shape:  (16384, 1)
Cleaning chunk 32768 -> 36480
gen wave, max:  [0.99999225] min:  [-0.9999961]
inp wave, max:  0.04255741834640503 min:  -0.041153550148010254
canvas w shape:  (16384, 1)

The generated wav sounds even noisier than before and the speech segments sound extremely loud and distorted. I have no idea why this would be happening? Need some help please.


Country based species list when lat, lon fails

When I run analyze.py without lat, lon, I get a pretty good list of New Zealand birds, specifically New Zealand Bellbird and Tui which I know are present in the audio, along with a number of birds that I know aren't Hawaii Creeper, Hawaii Akepa
I thought the solution would be to generate a species list with my mircophones New Zealand lat long (  --lat -45.782474 --lon 170.507323 ) but I can never get that list to include New Zealand Bellbird or Tui.
I've tried a few different lat longs around New Zealand and lower threshold values to no avail.
At this point I'm wondering if its possible to just get a species list of know New Zealand birds 🤔   Keen for any ideas here, thanks.  https://www.mohiohio.com/ ( scroll to listen to later recordings )

Well for future travelers I wrote a script to pull this from here https://avibase.bsc-eoc.org/checklist.jsp?region=NZct
You should be able to adapt that to any country as required.
const cheerio = require('cheerio')

const url = 'https://avibase.bsc-eoc.org/checklist.jsp?region=NZct'

fetch(url)
  .then(response => response.text())
  .then(html => {
    const $ = cheerio.load(html)
    const birds = $('table.table tbody tr.highlight1').toArray()
    const birdList = birds
      .map(bird => {
        const scientificName = $(bird).find('td:nth-child(2)').text().trim()
        const commonName = $(bird).find('td:nth-child(1)').text().trim()
        return `${scientificName}_${commonName}`
      })
      .sort()
    console.log(birdList.join('\n'))
  })
  .catch(error => console.error(error))

There is currently no built-in way to use all species in a given country. We use the data provided by eBird.


Just want to say thank you

Thank you for this project!
I just want to share that I have successfully integrated a crdt library y.js into .net with clearscript!
Have to polyfill console.log and setTimout friends, and know how to convert data/callback to/from .net/js efficiently did take a bit time, but it was as easy as searching the issues list and always find an answer.

Thanks @sep2! Please feel free to ask questions or report any issues that you encounter.


(bug: server-plugin-cookie) Cookies are overrigthen after setted in subsequent requests

Using the bare minimum example above with a slight modification to the setCookie resolver, I'm experiencing an issue where a cookie, which I create by providing specific values for the CookieListItem properties, gets overridden on any subsequent request to the graphql endpoint. Say for example I set a cookie like this:
await ctx.request.cookieStore?.set({
            name: args.name,
            value: args.value,
            expires: Date.now() + 24 * 60 * 60 * 1000,
            sameSite: 'strict',
            domain: null,
            secure: true,
          })

The above creates a valid cookie with a set expiration date and secure flag, and the sameSite property marked as 'strict'. Any subsequent request to the graphql endpoint results in this cookie being overridden to have:

expires: session
sameSite: none
secure: false

I'm currently testing this out with an authentication workflow and am experiencing the same issue.

User logs in or signs up, JWT is generated, and cookie is correctly set using the code above
User clicks a button that accesses graphql endpoint
Cookie gets overridden with the properties above even though resolver doesn't touch cookieStore

I believe that this is not a 'bug', but the intended design. However, I'm not entirely sure how to work around it. Ideally, I don't need to have the same cookie being set on every request since I'm simply using it as a persistent cookie that I will manage server-side. Is there something that I am fundamentally misunderstanding about how I should be using the cookieStore or cookies themselves?
Originally posted by @Andy-Wu12 in https://github.com/dotansimha/graphql-yoga/discussions/2627#discussioncomment-6358720

You can check if the cookie is there before setting it;
if (!(await cookieStore.get('COOKIE_NAME')))


Python 3 Support

Wanted to use Python 3. It looks like these are the only changes needed. Tried running the same thing in Python 2.7.10 & 3.4.4 and it seems to work (I get the same results) - But would be great for someone else to check in case I messed something up!

Thanks. I changed some new code that I wrote since your pull request too, and tested it in both python2 and python3.


Test Python 3.7 on Travis, closes #165.

Merge once Travis supprts Python 3.7:  https://github.com/travis-ci/travis-ci/issues/9815

Doing it manually on master.


bug: cannot find tests with debug level line-tables-only

Hello, and thanks for your great work!
Recently I find that when the debug level is set to line-tables-only for a cargo profile, nextest will not be able to find any tests in the workspace.
https://github.com/BugenZhao/nextest-debug-level-reproduce/blob/fbe89c3c60a9ab0abcd04fd96c53cc544432ccdc/Cargo.toml#L10-L16
❯ cargo nextest run --cargo-profile dev-line-tables-only
    Finished dev-line-tables-only [unoptimized + debuginfo] target(s) in 0.00s
    Starting 0 tests across 0 binaries
------------
     Summary [   0.000s] 0 tests run: 0 passed, 0 skipped

❯ cargo nextest run
    Finished test [unoptimized + debuginfo] target(s) in 0.00s
    Starting 1 test across 1 binary
        PASS [   0.005s] nextest-debug-level tests::it_works
------------
     Summary [   0.005s] 1 test run: 1 passed, 0 skipped

While plain cargo test does not have this issue:
❯ cargo test --profile dev-line-tables-only --quiet

running 1 test
.
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

!!! this is extremely concerning. Will look at this ASAP.

This appears to be a bug in cargo-metadata. Filing a bug upstream.


Updateing replica count causes recreation of all containers

Before you start please confirm the following.

[X] Yes, I've searched similar issues on GitHub.
[X] Yes, I've checked whether this issue is covered in the Portainer documentation or knowledge base.

Problem Description
When updateing the replica count all containers get recreated even when nothing else gets changed.
Expected Behavior
docker stack deploy does not cause every container to update/recreate when changing the replica count. Just starts the new container and every other container is untouched.
Actual Behavior
Every container replica gets recreated
Steps to Reproduce
services:
  alpine:
    image: alpine
    command: sh -c 'while sleep 3600; do :; done'
    deploy:
      replicas: 1

deploy the service with docker stack deploy
change replica count in file
update the service with docker stack deploy
-> one container gets created the first is untouched
update the replica count in portainer
-> all containers get recreated

Portainer logs or screenshots
No response
Portainer version
2.24.1
Portainer Edition
Business Edition (BE/EE) with 5NF / 3NF license
Platform and Version
Docker Swarm 27.3.1
OS and Architecture
Linux Ubuntu Server 24.04 LTS, AMD64
Browser
Firefox 133.0.3
What command did you use to deploy Portainer?
portainer:
    image: portainer/portainer-ee:2.24.1
    networks:
      - ***
      - ***
    hostname: portainer
    volumes:
      - ***/portainer/:/data/
      - /etc/localtime:/etc/localtime:ro
    deploy:
      mode: global
      restart_policy:
        condition: "any"

Additional Information
No response

When you say all containers get recreated do you mean just the containers in the stack? So if you have two replicas, switch to three, the first two get recreated?

Yeah every container in that service gets recreated so the first two plus the third gets started.

I tried to reproduce this and as you can see my additional replica was added and my first replica remained running. See screenshot and the times are different for creation.
Added a 3rd without issues


[TF][Relay] TensorFlow Frontend support with shared params

We observe that in lots of tensorflow models used in our production environment, some operators share the same node as their attributes. For example, there might be two "tf.reduce_mean" operators each with its own "axis" attribute. Their "axis" attributes can take the same "tf.constant" node. In this case, different operators share the same node as attributes.
However, in the current tensorflow frontend of relay, such sharing of the same param among different operators is not supported. For example, in the current implementation of "_get_param" function in "python/tvm/relay/frontend/tensorflow.py", the corresponding param will be deleted permanently using "pop" from the "_params" dictionary after being checked in "_get_param" function. In this case, if another operator needs to check the same param as its attribute, that param will not be found. Hence, the current implementation of the tensorflow frontend cannot support param sharing among different operators.
In order to support the case of param sharing among operators, we modify the tensorflow frontend. We leverage on the python decorator method. Everytime "_get_param" is called, instead of deleting the corresponding visited param as in the current implementation, we record it into a "used_params" dictionary and keep it in the original "_params" dictionary, so that another operator can still visit it in the following process. Then after the whole relay graph completes building, we delete the params have been visited in "used_params" from "_params" to generate the final "_params" output.
Compared to the old implementation ,our new implementation doesn't delete the visited params immediately in "_get_param", but records them and deletes them at the final step. In this way, the case where different operators share the same param can be supported.
Any suggestions are welcome! @tqchen @FrozenGene

yes, this is an issue I too see recently while working on TF 2.0 upgrade. Few suggestions on this.

I think we can just remove the pop of used param and leave it assuming relay build process removes unused params automatically. cc @tqchen or @jroesch to confirm this behaviour.
You may move the test case to default test_forward.py instead of a new file for it.

yes, this is an issue I too see recently while working on TF 2.0 upgrade. Few suggestions on this.

I think we can just remove the pop of used param and leave it assuming relay build process removes unused params automatically. cc @tqchen or @jroesch to confirm this behaviour.
You may move the test case to default test_forward.py instead of a new file for it.

Thank you for the suggestions! I can try it then!

ping @srkreddy1238 Please review it again. If approve, we should follow the instruction to set the status: https://docs.tvm.ai/contribute/code_review.html#approve-and-request-changes-explicitly

ping @srkreddy1238

Thanks @lfengad's pr and  @srkreddy1238 @kevinthesun 's review. Considering @srkreddy1238 's review comment is fixed and wait @srkreddy1238 7 days / ping two times, additionally two reviewers have approved, so let us merge it firstly. If @srkreddy1238 has other comments, we could update or revert this  pr easily.

Sorry @lfengad. Was a bit disconnected few days over pandemic situations.
Have no comments and this PR is good. @FrozenGene thanks for merging


mavlink: option to specify the UDP remote port

This enables using several mavlink instances for SITL.
For instance you can connect with QGroundControl on 14550 and at the same time with mavros on 14540.

Can you adjust the startup scripts to use this flag for the secondary links?

I could but we currently don't have any additional links that would need this flag I believe.

Applied to master, thanks!


In ScheduleMessageService, the function of the  DeliverDelayedMessageTimerTask is to deliver msg to commitlog, is it  a redundant operation to correct deliverTimestamp?

In ScheduleMessageService, the function of the DeliverDelayedMessageTimerTask is to deliver msg to commitlog. Before send the msg, DeliverDelayedMessageTimerTask will check whether it's time to send msg. The deliverTimestamp is stored in the tagsCode，I think we can compute the time difference between the current time and deliverTimestamp, but the implementation in the source code，it will call the method of correctDeliverTimestamp to correct the deliverTimestamp. I don't understand the method of correctDeliverTimestamp. Trouble everybody to help explain the reason.

I don't understand the meaning of the comparison in the picture below.

Under normal logic, it is impossible to get inside this method. I think this is just to deal with the extreme case of server failure causing the fetch time to be out of order, and there is no performance impact in this area.


Attach an event handler on an element with mithril

i am working on a project where i want event event handler in one of the cases where x=='a' and not for other case so can we attach and event handler to the element in mithril
 if (x=='a'){

  view = m('.leftPaneGrey#id', {
                  key: 1,
                  class: (some.vm.selectKey() === 1) ? 'changeColor' : '',
                  onclick: loadNewStage.bind('', 1)
               },
         m('span', 'test')
    );

}
     else {

  view = m('.leftPaneGrey#id' ,
         m('span', 'test')
    );

}

Here is an example of how you could return a different view based on a given parameters: http://jsfiddle.net/jg32cLsd/
That been said, I'd recommend to simply stop the execution of the function when the flag is disabled: http://jsfiddle.net/jg32cLsd/1/

But handler will there always if ctrl.enabled is false

Sure but there's nothing wrong with it. Actually, the fact that the button shouldn't do anything in certain situations is probably related to some logic that should be handled by the controller.
Let's consider an example where you have a button that loads some data from a server. While the request is pending, chances are you'll want to store the loading state to avoid requesting twice the same resource in case the user click the button again. So the fact that the button should have no effect when loading is strongly related to the state of the controller.
I've created a fiddle to illustrate this example: http://jsfiddle.net/z5arjn5h/
Reading the "loadSomeData" function, it's pretty clear that nothing is going to happen if the loading state is set to true. Using your approach (http://jsfiddle.net/z5arjn5h/1/) the logic is abstracted from the controller to the view and things tends to get confusing.


syntax changed from python2 to python3 in all files of SniffAir direc…

…tory

Description
syntax changed from python2 to python3 in all files of SniffAir directory
Please include a summary of the change and which issue is fixed. List any dependencies that are required for this change.
Fixes #(101)
Fixes #101
Replace issue_no with the issue number which is fixed in this PR
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes
[ ] No

Type of change
Please delete options that are not relevant.

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I've edited the README.md and link to my code.
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works.

Hi @c0sm0void, can you review this PR. Thank you!

hello @avinashkranjan, can you review this pr. Thank you!


somehow #include the CoreOS CloudConfig into AWS Cloud Formation rather than inline.

In the AWS cloud formation template, docs/getting-started-guides/aws/cloudformation-template.json, there are two places where CoreOS "cloud-config" scripts are inlined.  The source of these scripts is docs/getting-started-guides/coreos/cloud-configs/ but with some slight differences.  It is a minor pain to keep these in sync.
Wondering if @silasdavis @pires @kelseyhightower or another person familiar with CloudFormation and AWS wants to find a way to dedup these.  Like maybe write a little script to generate the cloud-formation from the coreos cloud-configs and a template of the cloudformation.  Or put versioned coreos cloud-configs in an S3 bucket.  Or something.

I'm not familiar with CloudFormation but IIRC you asked for me to update this as well, and so I did. I've validated the template with official AWS CloudFormation validator.
+1 for someone who actually uses AWS & CloudFormation to take on this based on docs/getting-started-guides/coreos/cloud-configs/.

Yes some sort of templating for CloudFormation templates is something I've wanted in the past. When I looked I found this: https://github.com/cloudtools/troposphere. It's a python-based programatic generation library for CloudFormation templates. I couldn't justifiy the time outlay the last time I looked, but I would be up for having another go.
Beyond maintainability, there is also the advantage of some validations in troposphere. Cloudformation templates can often fail quite late - after resources have been created for example - for issues that could be trapped at build-time.
My focus is slightly away from Kubernetes stuff at the moment, but I will be returning to it. So I'm rasing my hand for this, but in the meantime if anyone else wants to have a go then please do and perhaps I can assist later.

FWIW, I setup a series of CF templates to configure my environment including Kube master and nodes using https://google.github.io/jsonnet/doc/.  They're not yet in shape to share, but I would encourage taking a look at this config language as a way to get things like #include, loops, and substitutions working for CF.

I have just written a tool for parsing my cloud-config into cloudformation strings. It's working pretty fine for me (since I generate my cf template in a coffeescript)! I may open-source it would help someone else, and maybe adapt it to a command-line tool

I don't think this exists any more; suggest closing.


add check for underscores and uppercase letters

On March 1, 2018, we are updating our naming conventions for S3 buckets in the US East (N. Virginia) Region to match the naming conventions we use in all other worldwide AWS Regions. After this date, Amazon S3 will no longer support creating bucket names that contain uppercase letters or underscores.

https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html

added check->
    - name: check for underscores
      fail:
        msg: "Amazon AWS does not allow underscores _ for s3 websites, please see https://docs.aws.amazon.com/AmazonS3/latest/dev/BucketRestrictions.html"
      when:
        - create_login_page is defined
        - create_login_page
        - "'_' in ec2_name_prefix"


TypeError: Cannot read property 'showFriendlyErrorStack' of undefined

Just for reference since I was unable to find it on Google.
This error occurs when assigning the member function to another variable.
export const get = redis.get;

Probably, no reason to do it. But, anyway.

Thanks for raising this. You can go with
export const get = redis.get.bind(redis);

Going to close this as it's indexed by Google anyway 😆


Fix misc issues

This change is

Current coverage is 78.92% (diff: 61.76%)

Merging #31 into master will decrease coverage by 0.41%

@@             master        #31   diff @@
==========================================
  Files             1          1
  Lines           213        223    +10
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            169        176     +7
- Misses           44         47     +3
  Partials          0          0

Powered by Codecov. Last update c3ed2c7...fd8191a


feat: show ws connection error and don't reload if ws connection did not success

Description
#8650 introduced a fallback mechanism when the connection did not success.
This PR uses that to prevent reload if ws connection did not success.
Also this PR adds an error output when that happened.

fixes #8861 (because this PR will prevent reload if ws did not connect)
fixes #6089, close #6090 (because this PR will prevent reload if ws did not connect)
Additional context

What is the purpose of this pull request?

[ ] Bug fix
[x] New Feature
[ ] Documentation update
[ ] Other

Before submitting the PR, please make sure you do the following

[x] Read the Contributing Guidelines.
[x] Read the Pull Request Guidelines and follow the Commit Convention.
[x] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate.
[x] Provide a description in this PR that addresses what the PR is solving, or reference the issue that it solves (e.g. fixes #123).
[ ] Ideally, include relevant tests that fail without this PR but pass with it.

Would the auto-reconnect feature of Vite still work after this PR? (I think this isn't an accidental feature, no?)
Scenario:

Vite client connects properly
The server at one point is closed
Vite client pings and fails
Vite keeps pinging...
The server is up again
Next ping is successful and the page is reloaded

Yes, it still works with that scenario.
Once websocket's readyState changes to OPEN, fallback function won't be called
https://github.com/vitejs/vite/blob/07543afdf1347433df366d29f6868dcd19719a12/packages/vite/src/client/client.ts#L78-L101

open event sets isOpened = true
fallback function (param name is onCloseWithoutOpen) is called only when close event happened and isOpened is false

One scenario that will no longer working is:

Vite server starts but websocket server does not yet
browser shows the page
Vite client fails to connect websocket
websocket server starts
pinging/reload won't happen (pinging was happening before)

Should we retry a few times so that scenario keeps working?

I don't think we need to support this scenario. I didn't come up with an actual situation that this scenario will happen.
Vite starts server and ws server at the same time. So when /@vite/client is accessible by browser, ws is possible to connect.
This is same with middleware mode. To register the middleware, createServer needs to be called, and ws server is started inside that.

@sapphi-red

One scenario that will no longer work is:

Vite server starts but websocket server does not yet
browser shows the page
Vite client fails to connect websocket (since websocket server is not started yet)
websocket server starts
pinging/reload won't happen (pinging/reload was happening before)

Is this the scenarion where someone is using Nodemon to restart whole server? Because I have situation where Nodemon performs restarts, Vite loses WebSocket connection, and if it doesn’t find it again (e.g. Nodemon hasn’t started new application fast enough), page gets reloaded.
It would be nice to somehow either prevent reload, or try to ping for WebSocket connection few more times to prevent page reload.

@niksy No, that's different from what I said.
For that case, I think implementing #5675 would work.

@sapphi-red any pointers on what needs to be done to implement this?

@niksy I'll leave a comment on #5675 👍

@sapphi-red Hello, could there possibly be a reason why this fallback works for Chrome but not on Firefox/Safari? I deployed a vite server but for some reasons websocket doesn't work. Then on chrome I can see the error messages, but for Firefox/Safari the page keeps reloading.

@zanetarock Without a reproduction, I don't know. Please create an issue.

@sapphi-red Unfortunately this is not working with WebKit-based hybrid apps.


⚠ Bofrost.de has degraded performance

In 35e6c18, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 972 ms

Resolved: Bofrost.de performance has improved in 26b55aa after 6 minutes.


ref(selection): separate @lexical/selection/index into multiple files

Hello, first-time contributor here. I read the code & your comments, and this is my solution, have a review at your convenience, and feel free to request changes (if any). #3060

Thanks for the contribution @tranqhuy46. Great work!
This seems good to merge from me. The file structure is a lot clearer. I've double checked we're not exporting anything new that we don't want to expose, but it all seems good.
Closes #3060


Feature Request: Ability to load default scss partials

I would like to be able to load an scss file that contains default variables for the entire app.
Like color pallet for example.

I agree, I also feel this would be a useful feature.

It works now. At least with master branch at fa7a927d3e27b630692f2a41181979ff79b22138
I have src/styles/_variables.sass
And able to import it from
src/app/my-module/my-component.component.sass
with
@import ../../styles/variables

https://github.com/angular/angular-cli/pull/4003 adds something similar, where you can say a certain path is part of sass/stylus paths, and then you only need to do @import variables.

@filipesilva This does not work with angulat universal (ngc & aot)


Static file expire time is usually in the past

expireDate = "last write time" + 23 hours. What you probably want is DateTime.Now + 23 hours. Expires is dependent on the system clock being correct and probably a bad choice, unless also combined with max-age and used maily for backward compatibility.
I would probably change it to "max-age": age + 86400 (1d), leaving the Last-Modified exactly as it is and removing Expires or changing it to be relative to DateTime.Now.
        var lastWriteTime = File.GetLastWriteTimeUtc(path);
        var lastModified = lastWriteTime.ToString("R");
        var maxAge = (long)((DateTime.UtcNow - lastWriteTime).TotalSeconds + 86400);

For now, I'm going to update this to use now + 23 hours, but I'd like to revisit this in the future so that we have both reasonable defaults and simple ways to modify the value.


made some slight changes to allow sailboat to handle the perpendicula…

…r crossing edge case

Great work so far. From our discussion today, we will try to have code like:
for loop in main loop:
for obstacle in obstacles:
if obstacle on straight line path to waypoint:
obstacle.doubleLength()
regular pathfind.

This avoids problem of extending ALL boats, which could block viable paths

Future work: See if works okay with boats of different speeds (slow,med,fast), changing speeds (accelerate, decelerate), and turning (turn left, turn right)

    # Get setup parameters from state for ompl plan()
    # Convert all latlons to NE in km wrt referenceLatlon
    referenceLatlon = state.globalWaypoint
    start = utils.latlonToXY(state.position, referenceLatlon)
    goal = utils.latlonToXY(state.globalWaypoint, referenceLatlon)
    dimensions = getXYLimits(start, goal)
    obstacles = obs.getObstacles(state, referenceLatlon)

    '''Suggestd psuedocode
    startX = start[0]
    startY = start[1]
    goalX = start[0]
    startY = start[1]
    straight_line_points = []
    for i in 20:
        straight_line_points.append(i *(goalX - startX) + startX
    for point in straith_line_points:
        for obstacle in obstacles:
        if not obstacle.isValid(point):
            obstacle.length *= 2
    '''

In Path.py's createPath()

Another idea came to mind: we could also change our state space for pathfinding. Right now it is a 2D grid of real numbers, but maybe we can discretize the space. As long as the resolution isn't too low, it could significantly improve pathfinding speed and quality.

Works great right now, but only on PRMStar, not RRTStar. May change from https://ompl.kavrakilab.org/classompl_1_1base_1_1ValidStateSampler.html (ValidStateSampler) to https://ompl.kavrakilab.org/classompl_1_1base_1_1StateSampler.html (StateSampler).

Ideas:

Add prints to sampler to see which x,y values are being sampled (could even store and plot these to visualize)
Understand characteristics of the sampling (too dense in one region, sampling not enough, sampling too much, etc.)
Iterate by improving the sampling algorithm based on above (eg. store set of sampled xy values and only sample points away from other points, sample on straight lines or on perpendicular lines, etc.)

Idea of solution: Not want the janky light green path, but the simple dark green path. Sampling at more regular intervals could fix this problem.

Pushed newest changes to branch. Shown by the photo above, it's graphically shown that the state space is now represented by a set of equidistant points (nice clean diagonal lines) spanning from X high -> X low and from Y high -> Y low. This might be able to help the pathfinding algorithm because instead of sampling random points for the state space, there is more optimal diagonal paths between points.
You can also increase the resolution of the state space by increasing the n variable in line 38 of updated_geometric_planner.py. It does seem to lag the program a lot though, n = 10 seems like the sweet spot.

Closing, as built on by #212


obs_hotkey_save issue

I got an issue when it tries to save the hotkey_
OBS 28.0.1
Python 3.10.7
Py log:
[zoom_and_follow_mouse.py] Traceback (most recent call last):
[zoom_and_follow_mouse.py]   File "C:\OBSfiles/obs-zoom-and-follow-master\zoom_and_follow_mouse.py", line 797, in script_save
[zoom_and_follow_mouse.py]     hotkey_save_array = obs.obs_hotkey_save(zoom_id_tog)
[zoom_and_follow_mouse.py]   File "C:\Program Files\obs-studio\data\obs-scripting\64bit\obspython.py", line 2615, in obs_hotkey_save
[zoom_and_follow_mouse.py]     return _obspython.obs_hotkey_save(id)
[zoom_and_follow_mouse.py] TypeError: in method 'obs_hotkey_save', argument 1 of type 'obs_hotkey_id'

Needed to start OBS with administrator rights


allow for zero length partial config

If in the course of building a lab, you want to already point to a partial config, which is being filled later on, probably with the use of the lab itself (configuring single node via cli and adapting to other nodes ...) This will prevent the call to scrapligo and return a nil error instead of right now resulting in a panic.
Which in both cases makes the deployment fail.

handling #1422


Incorrect Numbering in 2 / 3

The code block in 2 / 3 has broken the auto numbered list.
Also add a new line before the code block for formatting.

Also just below it it says "give you" twice, fix that.


[$1000] Web -  Pressing esc when cursor outside report action when attachment carousel open doesn't de-select the report action

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Send 1-2 attachments
Click on an attachment
Move the cursor outside the report action beneath
Press escape

Expected Result:
The report action should be de-selected
Actual Result:
The report action is still selected and mini report action context menu is visible.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: 1.3.31-1
Reproducible in staging?: y
Reproducible in production?: y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/2674d401-a7ba-4257-a67c-b097b6eb9a00
https://github.com/Expensify/App/assets/93399543/2749a4f5-9ff6-4c6a-a0f7-2534f45db6ec
Expensify/Expensify Issue URL:
Issue reported by: @esh-g
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1687459031260869
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~011c1eceec2b90f3f6
Upwork Job ID:<PHONE_NUMBER>540216320
Last Price Increase: 2023-06-28

No overdue - @Santhosh-Sellavel what do you think of the first proposal that has already come in?

Unassigning due to low bandwidth, as it has a proposal already. I don't want to keep this waiting!
Please assign a new C+ @abekkala by adding external label again thanks!

@sonialiap I needed to get a new C+ assigned as Santhosh unassigned and I'm reassigning for sabbatical

CURRENT STATUS:
We need @rushatgabhane to review the proposals that have come in.
If we can't find a suitable proposal we can take this to the export contributors.

@rushatgabhane what are your thoughts about the proposals on this issue?

I also can't reproduce anymore

Not reproducible, closing


example for error handling broken

I've tested the code for error handling example using the official sandbox (https://codesandbox.io/p/sandbox/7-error-handling-and-error-boundaries-sroncx?file=%2Fsrc%2Fmain.rs) and i have a reason to believe that the example is broken, due to the fact that

the error stays, even if u input number. This doesnt occur after first website load, however if u input any character thats not a number and then input the number the error stays, also it just spams the error log like this if u input alot of characters

P.S: When reading the issue ive also spotted that it talks about empty string

Thanks — Sometimes the CodeSandboxes get locked on old git versions, so I've updated this one and it's fixed. If anyone sees a similar issue in future, feel free to open an issue as well.


Do not lowercase role names when adding a change

Signed-off-by: Ying Li<EMAIL_ADDRESS>Fixes #444

LGTM

:+1:, thanks!

Is it worth it to add some testing around this?

@diogomonica Good point, thanks, will add

@diogomonica https://github.com/docker/notary/pull/479/files#diff-fce84029d346504e44323c30d21a3808R809

LGTM

LGTM after ci!


Bump nginx-ingress-controller-seed to v1.7.0 for 1.24.x+ seeds

How to categorize this PR?

/area control-plane open-source
/kind enhancement
What this PR does / why we need it:
Bump nginx-ingress-controller-seed to v1.7.0 for 1.24.x+ seeds
See compatibility matrix: https://github.com/kubernetes/ingress-nginx#supported-versions-table
https://github.com/kubernetes/ingress-nginx/releases/tag/controller-v1.7.0
Which issue(s) this PR fixes:
nginx-ingress-controller:v1.6.4
curl:7.87.0-r1 - CVE-2023-23914 (9.1), CVE-2023-23915 (6.5), CVE-2023-23916 (7.5)
golang-runtime:1.19.4 - CVE-2022-41722 (7.5), CVE-2022-41723 (7.5), CVE-2022-41724 (7.5), CVE-2022-41725 (7.5), CVE-2023-24532 (5.3)
nginx:1.21.6 - CVE-2022-41741 (7.8), CVE-2022-41742 (7.1)
openssl:3.0.7-r0 - CVE-2022-3996 (7.5), CVE-2022-4203 (4.9), CVE-2022-4304 (5.9)
runc:v1.1.4 - CVE-2023-27561 (7.0)
thrift:0.12.0 - CVE-2019-0205 (7.5), CVE-2019-0210 (7.5), CVE-2020-13949 (7.5)

Special notes for your reviewer:
Release note:

`nginx-ingress-controller-seed` image is updated to `v1.7.0` for `1.24.x+` seeds.

/lgtm
/approve


Add option for black theme

I would appreciate an option to use a black/amoled/oled theme e.g. nothing but pure black background + the selected theme accent color for selected items etc. Thanks for developing the app; it's great!

Supports OLED black now, go to more settings -> appearance to set it.


[MNOE-1226][MNOE-1227][MNOE-1228] support user role

@ouranos @alachaum  I think this will need to be used on 5.0, since we are using this for marlin.

@ouranos https://github.com/maestrano/mno-enterprise/pull/751/commits/80c01a78a0cf48a2aebd212e2c3624d047f213a0 should fix the issues:

Support users using company view.
Admin bypassing permissions in customer view.

I think we should wait on the abilities for the staff user (account manager), as I think this PR is big enough as is.
I also think we need to think about how we want to do staff authorizations, because currently the read-access abilities are done in mnohub -- so if we were to do write-access in mnoe, we would be spreading the scoping across two microservices, which obviously is not great.


please support image/icon attribute

Thanks for the suggestion. I'll look into it when I have time. In the mean time, feel free to create a pr about it!


Fixed pagination for getUserLikes() method

For some odd reason the Instagram API returns max_liked_id and next_max_like_id instead of max_id and next_max_id that seems to be used for the other pagination situations. My updates here simply look these _like_ attributes in the event the normal ones are not set.
Previously using a do-while loop to paginate through getUserLikes() was producing an endless loop for me and never actually parsing the next page of results. It now paginates correctly and I have no issue.

Guys, i realy need this fix, and dont undestand, why you cant do this more than a year

Hey @bodva,
I think they're trying to merge a number of pull requests into v3.0, including mine here, but in the meantime there's nothing to stop you form using my version with this update:
https://github.com/georgemandis/Instagram-PHP-API
Maybe it's missing other features you're looking for that have been developed since but it should solve this one problem.

@georgemandis i already fork, and fix by myself, already


Linter should catch when user leaves preview: true on in plasmic-init

Which area(s) are affected? (leave empty if unsure)
Frontend
To Reproduce
Set preview: true in plasmic-init.ts
Describe the Bug
This causes production to build the unpublished Plasmic project
Expected Behavior
Linter should catch this and prevent merges

https://github.com/hypercerts-org/oso/pull/175


KAFKA-10086: Integration test for ensuring warmups are effective

Add an integration test for the task assignor.

ensure we see proper scale-out behavior with warmups
ensure in-memory stores are properly recycled and not restored through the scale-out process

Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Thanks for the review, @mjsax ; I've addressed your comments.

Cherry-picked to 2.6


fix(#269): correct memo behavior

Please describe the changes this PR makes and why it should be merged:
Status

[x] Code changes have been tested against prettier, or there are no code changes
[x] I know how to update typings and have done so, or typings don't need updating

Semantic versioning classification:

[x] This PR changes the codebase

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)
[x] This PR changes the internal workings with no modifications to the external API (bug fixes, performance improvements)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

Fixes #269.

The git-hook should have done this already, it is just my git client has messed it up. Just update the lockfile.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 59.337%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1408

Relevant Lines:
2471

💛  - Coveralls


Request - make player's own chat messages use selected Voice TTS when "Use voice for self with random voice" is enabled

Hi, thanks for making this plugin!
I love to have the ability to assign random voices to NPCs and dialogue, but still choose which voice my own character will speak with.
Though, when I speak in the chat, it seems my character is still using the TTS voice that it would normally be assigned randomly. I'd love if my own chat messages also used that same voice, so my character consistently spoke with the same voice.

Hey, thanks for the suggestion i can definitely add this as currently the random voice applies to everything when enabled.


Break Hangfire Server out into separate process (do not run under IIS process)

@tonysurma please assign to me
The code for doing this is very simple, but the later item is to be done on the deployment side of things. We have to:

update the build script to deploy a separate project, as this project will not be part of the web project
research the best way to run this process in Azure. WebJobs? Something else? I don't enough about Azure yet to answer this question

I'm fine with the code changes. If any one out there knows how to run windows services/processes on Azure, I'd love to hear from you.

Where does AllReady use Hangfire?
We are already using WebJobs in the project so that would probably be a good choice.

In the code I'm writing for PR #1111 and  Issues #1032 and #1084. I dont' know a lot about WebJobs, but they seem like something that is optimized for recurring tasks.. in both of those Issues, we're dealing with scheduling a task based on when a notification is published RequestsAssignedToIntinerary) to sms each Requestor 7 days from that date at noon.
Since I know very little about WebJobs, them maybe that is the solution here. I met with @MisterJames last Friday and we talked through the Issues as well as how we would use hangfire to schedule the messages going out to the requstors as the date of the request nears and the requestors have not confirmed the request via sms.

Ah, so this is new stuff. I was trying to figure out where Hangfire was in the app now.
@MisterJames is a WebJobs expert so he's the guy to talk to ;-)

I think we are good here as is or do we need to still break out @mgmccarthy @MisterJames ?

@tonysurma, we are still good here... if you want, you could throw this issue onto the technical backlog so we could pick it up later if we needed to...
"best practice" for Hangfire is to run the Hangfire server in a separate process (not under IIS), but for our initial launch, I think we should stick with the defaults. If performance becomes and issue, we can execute the code to fix this issue.

OK it's in backlog.  Thx

@tonysurma - are we OK to close this issue? or should it remain Open?

@MisterJames @dpaquette @dpaquette
FYI, after digging into WebJobs a bit more, it seems that Hangfire and WebJobs suffer from the same problem, they both run continuously in the background taking resources away from the web server (IIS/Azure app services)...
in order to move away from that model, it looks like Azure Functions are the way to go, as they "live" in their own app services when you create one or more...
that being the case, I'm not too sure how easy the transition would be for our existing two functions (ProcessSmsQueueMessage and ProcessEmailQueueMessage) that are running under a WebJob to become full fledged Azure Functions (aka, serverless) to offload the resource allocation from the other app service (aka, web server)...
but, it might be worth looking into, especially if we want to embrace asynchronicity in the form of sending messages to azure queues instead of using Hangfire's Enqueue method.
Thanks


fixes retry_async message unpacking

This fixes #174 by applying the same message appending logic as in the hotfix made here for retry_sync.

Summary by CodeRabbit

Refactor

Improved error handling and message storage in the retry mechanism for asynchronous operations.

thanks will add some more tests so this does not happen next time

https://github.com/jxnl/instructor/releases/tag/0.3.4


Adding support for wildcard fields

This commit adds support for wildcard fields in Elasticsearch mappings.
Closes #1697

Nice, thanks!


Adds a simple enable/disable system for test plugins

This is just a simple system to allow for enabling/disabling plugin's event listeners. The command is "/pluginidenable". The plugin just needs to extend BehindCommandTestPlugin. Not the greatest system, but it's good enough for now.
No more pesky inventory messages :P

This is different then the approach I would have approached.
If I had programmed this, I would have had each of these plugins extend a LoadableModule unless they needed to be run at game init time for recipes or other registries, and have a command that can configure (persistent across restarts) loading of the modules while the server is running.
If a plugin needed to be run earlier, I wasn't sure what approach I would take, probably the same as what you have done, or a slightly different LoadableModule who can only be loaded by the persistent config file on start?
This way people extending it would only have to extend LoadableModule without implementing anything, or having anything gated and the rest would take care of itself.

@ryantheleach I like the idea and it is something that can definitely can be explored as a larger system, I thought of this as simply a temporary solution until we come up with a better, more-fleshed out system so the random tests don't annoy us in development.

I'm definitely interested in a more robust system that would allow us to have toggle able tests. @ryantheleach's idea is the line that I've been meaning to implement at some point.

Superseded by https://github.com/SpongePowered/SpongeCommon/pull/2195


Use dtolnay/rust-toolchain instead of actions-rs/toolchain

Reason: actions-rs/toolchain is no longer supported.

Resolved in #47859


Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.
Rate-Limited
These updates are currently rate-limited. Click on a checkbox below to force their creation now.

[ ] chore(deps): update actions/checkout action to v3.6.0
[ ] chore(deps): update dependency bazel_gazelle to v0.32.0
[ ] chore(deps): update dependency bazel_skylib to v1.4.2
[ ] chore(deps): update dependency com_google_protobuf to v3.24.1
[ ] chore(deps): update dependency gazelle to v0.32.0
[ ] chore(deps): update dependency io_bazel_rules_go to v0.41.0
[ ] chore(deps): update dependency rules_go to v0.41.0
[ ] chore(deps): update golang docker tag to v1.21
[ ] fix(deps): update module cloud.google.com/go/storage to v1.32.0
[ ] fix(deps): update module google.golang.org/api to v0.138.0
[ ] chore(deps): update dependency com_github_bazelbuild_buildtools to v6
[ ] chore(deps): update dependency com_google_protobuf to v24
[x] 🔐 Create all rate-limited PRs at once 🔐

Detected dependencies
bazel

WORKSPACE

io_bazel_rules_go v0.39.0
bazel_gazelle v0.28.0
com_google_protobuf v3.14.0
com_github_bazelbuild_buildtools 5.1.0
io_bazel_rules_docker v0.25.0

bazel-module

MODULE.bazel

bazel_skylib 1.3.0
rules_go 0.39.1
gazelle 0.28.0

bazelisk

.bazelversion

bazel 6.3.2

dockerfile

Dockerfile

golang 1.10
alpine 3.18

github-actions

.github/workflows/renovate.yaml

actions/checkout v3.5.3
renovatebot/github-action v39.0.1

gomod

go.mod

go 1.19
cloud.google.com/go/storage v1.31.0
github.com/go-chi/chi/v5 v5.0.10
google.golang.org/api v0.134.0

migrated to #8


Unhandled 'error' event - VoiceConnection.playFile

When attempting to use VoiceConnection, the following error occurs.
events.js:154
      throw er; // Unhandled 'error' event`

Code segment:
var Discord = require('discord.js');
var CozyBot = new Discord.Client();
CozyBot.joinVoiceChannel(CozyBot.servers.get("name","Basically Gaming").channels.get("name","music"),function(err,connection) {
    connection.playFile("/beans.mp3");
});

The server resolution and channel resolution work fine in joinVoiceChannel, as if the playFile statement is replaced with a sendMessage statement, it works fine.

Full stacktrace, does it include ECONNRESET?

@khionu playing a file doesn't do ECONNRESETs usually
@sebastienfulmer check the err object in your callback, before you do playFile. Maybe you have an error there?

if (!justbot.voiceConnection == null){
    justbot.voiceConnection.stopPlaying();
}
justbot.joinVoiceChannel(channel, function(error) {
    if (error){
      console.log(error);
    }else {
      //No error, your code
    }

  });```

And play file

justbot.voiceConnection.playRawStream(REQ(url), {"volume":0.25}, function(err, player) {
if (err)
console.log(err)
if (player)
justbot.sendMessage(channelText, ":musical_note: " + msg.from.username + " A demander d'ecouter " + message.text + "");
justbot.setStatus("idle", "Soundcloud Music")
//console.log(player)
});

@FavreNicolas please make a separate issue to report your own problem. There is not enough said here to even say what this specific issue is, yet.

No I show him my code, me it works

That code is actually quite broken

@abalabahaha, doing console.log(err) doesn't alleviate the problem, and I still get the error
events.js:154
      throw er; // Unhandled 'error' event
      ^

Error: spawn help ENOENT
    at exports._errnoException (util.js:856:11)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:178:32)
    at onErrorNT (internal/child_process.js:344:16)
    at _combinedTickCallback (node.js:377:13)
    at process._tickCallback (node.js:401:11)

Wrap your third line in a try/catch, like this
try {
    // your voiceconnection code
} catch (ex) {
    console.log(ex.stack);
}

No need to do that, this error means you don't have FFmpeg installed. Install it (and make sure it's in your PATH) and it will work


push to npm

repo-name changed to cordova-plugin-googlemaps for consistent cordova name style

<EMAIL_ADDRESS>is now at npm


NeurIPS Submission Updates

@guochengqian  would you pls have a code review for this part when you're free ?

@penghouwen  sure. I will merge it in the next 10 hours.


Upgrade to Laravel 11;

Upgrades to Laravel 11. Everything works!
The only problem is that croustibat/filament-jobs-monitor is not updated yet, so I am using a patched version.

Ok. The patch was merged to croustibat/filament-jobs-monitor and the creator deleted the branch...
Unfortunately, we can't use the new version of croustibat/filament-jobs-monitor because another PR introduced a different bug.
I'll update the PR when this issue gets figured out.

hey, thanks for getting this started! i would like to also get the skeleton slimmed down to be parallel with Laravel 11. I can try to work on this in the next few days while that jobs monitor bug gets sorted.

Should be fixed now. Works here.

ah. Failed because Laravel requires PHP >= 8.2.

no problem! should be able to work on this today

should be good! let me know if you spot any issues.


Run 'just ci-all' for a whole files

I added just ci-all script to run ci (pre-commit hooks) in a controlled way, getting the same results for anyone running this script.
# Run ci for all files using pre-commit
ci-all:
  pre-commit run --all-files

Also, I ran just ci-all for a whole files, most of them were fixed automatically by nixpkgs-fmt hook, but I had to make some manual changes.
The purpose of this PR is that I sometimes want to do format for a whole files without conflicts with your upstream commits. It wouldn't make conflicts after this PR if pre-commit hook for git commit is set up properly, not requiring to invoke ci, ci-all scripts manually.
If you want to exclude certain file paths or file types, e.g. *.md or .*/(grief|guppy|gusto).*.nix, I'll add them to exclude:  for pre-commit hooks.
Thanks for the great work. It's well organized, and structure diagrams are really helpful for newcomers like me 👍

Thanks for this.
I must not have run pre-commit install when I moved my lab to a vm.
The linting on .md is okay, there's some stuff that I don't like about it but it will make things more convenient for people down stream... and now that I actually have pre-commit running properly there should be less noise for you :)
You'll see that I committed a minor followup change to the PR to remove the script exclusions. They should have been executable. Also comment out sops check because I'm storing my secrets in a private repo now and the check wasn't finding what it was looking for.
Glad you're enjoying my work. I'm always open to suggestions. Good luck on you NixOS journey :)


Add when*TimingOut and when*TimedOut to {Service,Client}RequestContext

Motivation:
Currently, it is hard to listen to the timeout event when a request is timed-out.
Users should use set*TimeoutHandler() or request log.
set*TimeoutHandler() seems a hook, however, it replaces the default timeout task
with the specified handler. It must be used with great care. See #2937
By adding whenTimingOut() and whenTimedOut(),
set*TimeoutHandler() could be easily migrated to one of them.
Modifications:

Add whenResponseTimingOut() and whenResponseTimedOut() to ClientRequestContext
Add whenRequestTimingOut() and whenRequestTimedOut() to SErviceRequestContext
Migirate gRPC code to use whenTimingOut()
Fix a bug where Armeria gRPC client drops nanotime precision of the request deadline.
Deprecate setRequestTimeoutHandler(Runnable) and requestTimeoutHandler() in ServiceRequestContext
Deprecate setResponseTimeoutHandler(Runnable) and responseTimeoutHandler() in ClientRequestContext

Result:

You can now listen to a request timeout event using when*TimingOut(), and when*TimedOut().ServiceRequestContext ctx = ...;
ctx.whenRequestTimingOut().thenRun(() -> {
    // Execute a hook when the current request is about to get timed out.
    // e.g. release some resources.
    ...
});

ctx.whenRequestTimedOut().thenRun(() -> {
    // Execute a hook after the current request has been timed out.
    // e.g. log some message.
    ...
});

Fixes #2937

Could you prove that we can remove set*TimeoutHandler by removing its usage in our code base completely? For example, see ArmeriaClientCall and FramedGrpcService.

ArmeriaClientCall, and FramedGrpcService was migrated, but I missed some test cases. 😅

Please also keep in mind that all methods in RequestContext and its subtypes must be thread-safe.

Thanks for the pointing out. I will keep in mind.

Could you also deprecate ctx.{request,response}TimeoutHandler() and remove all calls to them to prove the same job can be achieved with the new API?

IIUC, what TimeoutScheduler does is basically to keep the pending timeout operations until TimeoutController is initialized with the following properties:

eventExecutor
timeoutTask

Would it be possible to:

Merge (Default)TimeoutController into TimeoutScheduler, so there's no need to instantiate TimeoutController lazily.
Add a method like TimeoutScheduler.init(EventExecutor, TimeoutTask)
Stop implementing TimeoutController in the classes like HttpResponseWrapper and HttpResponseSubscriber. They call ctx.timeoutScheduler.scheduleTimeoutNanos() instead of super.scheduleTimeoutNanos().
Call ctx.timeoutScheduler.init() when ctx.eventLoop() becomes available.

..?
This way, we could simplify how when{Timing,Timed}OutFuture is initialized, e.g. remove synchronized completely.

Stop implementing TimeoutController in the classes like HttpResponseWrapper and HttpResponseSubscriber. They should call ctx.timeoutScheduler.scheduleTimeoutNanos() instead of super.scheduleTimeoutNanos().

That makes sense. Originally TimeoutController was extended to reduce the allocated object size.
I also agree to remove from the super class. 👍

Could we also add protected UnmodifiableFuture.doCancel()?

👍  LGTM once more!


Fix:the rounded corners of the folded file are not displayed correctly

Fix:    #29933
Before

After

How does it look in expanded state?

It appears to display normally in the expanded state

Looks okay, but I will check in detail later if this can be improved further so it only targets the collapsed state.

I pushed another alternative fix:
.ui.segments:not(.horizontal) > .segment:has(~ .tw-hidden) {
  border-radius: 0.28571429rem;
}

This selector means "any segment that is followed by one or more hidden elements". In a situation with no hidden elements, .ui.segments:not(.horizontal) > .segment:last-child would match but with hidden elements, the method breaks because then the element is no longer the last child.

@wxiaoguang fyi, above is another case where selecting for .tw-hidden is the only way to fix an issue 😉

The only cleaner solution that I see it to remove collapsed elements from the DOM. It may be possible because I think this toggling is happening in our JS. Another solution may be to work something out with <details> element.


Add the option to block scaling to the center of the screen in Flutter interactive viewer

Use case
When you want the scale to apply to the center of the screen only.
Proposal
You can add a new propertie called centerScale that comes by default in false, if turn to true it'll center all the scale applied to the child of the interactive viewer.
What I want vs what I can do :P
What I want
https://user-images.githubusercontent.com/49735945/184781085-5b8a4d38-909b-4ba8-af67-bde5aba57334.mp4
What I can do
https://user-images.githubusercontent.com/49735945/184781175-1b0896dc-45ac-4ac6-a57f-d0e5816119bc.mp4

Hello @NazarenoCavazzon. Thank you for filing is request. Labelling for further insights from the team.