Big Linear Modelling and Big Linear Mixed Modelling

Title
Big Linear Modelling and Big Linear Mixed Modelling
Short description and the goals for the OHBM BrainHack
Large-scale, shared datasets are becoming increasingly commonplace in fMRI, challenging existing tools both in terms of overall scale and complexity of the study designs. As sample sizes grow, new opportunities arise to detect and account for grouping factors and covariance structures present in large experimental designs. To facilitate large sample analysis, we have created two Python toolboxes for use on HPC clusters:

“Big” Linear Models (BLM); a toolbox for large-scale distributed fMRI Linear Model analyses.
“Big” Linear Mixed Models (BLMM); a toolbox for large-scale distributed fMRI Linear Mixed Model analyses.

At present, both tools are functioning and can be used for the analysis of tens of thousands of fMRI images. However, there is plenty that could be improved. Some of the goals we hope to address during the hackathon include:

Developing a rigorous testing suite, potentially with continuous integration via Travis CI.
Using Dask to streamline the current code base (at present there are a lot of bash scripts for 'qsub'bing).
Package releases. Neither of the toolboxes are currently on the Python Package Index.
Adding customized covariance support. In previous work, we showed how the underlying methods BLMM uses could model custom covariance structures (e.g. AR, Diagonal, Toeplitz etc). However, at present BLMM does not support analyses with these features.

Link to the Project
https://github.com/TomMaullin/BLMM
Image for the OHBM brainhack website
No response
Project lead
Thomas Maullin-Sapey
Github: TomMaullin
Discord: Tom Maullin
Main Hub
Glasgow
Other Hub covered by the leaders

[X] Glasgow
[ ] Asia / Pacific
[ ] Europe / Middle East / Africa
[ ] Americas

Skills

Familiarity with the Python programming language (All goals).
Familiarity with Travis CI (Goal 1 - recommended but not a necessity).
Familiarity with Dask (Goal 2).
Understanding of Linear Mixed Models and/or statistics (Goal 4).

Recommended tutorials for new contributors

[ ] Set up a brainhack friendly computing environment
[ ] A introduction to Bash
[X] Python: Writing a script
[X] Python: Data analysis with Python
[ ] Python: Visualisation
[ ] Machine learning basics
[ ] BIDS
[ ] Machine learning for neuroimaging
[X] VCS: Using Git and Github
[ ] VCS: Data management with Datalad
[ ] Virtualization
[ ] High Performance Computing: Oracle cloud resource

Good first issues
Potential good first issues include:

BLMM #28 Use Dask
BLMM #32 Record cause of voxel dropout
BLM #82 Dask Integration

Please let me know if you would like more information (@TomMaullin).
Twitter summary
BLMM - A toolbox for large-scale distributed fMRI Linear Mixed Model analyses.
https://github.com/TomMaullin/BLMM
@TomMaullin
#OHBMHackathon #Brainhack #OHBM2022
Short name for the Discord chat channel (~15 chars)
BLMM
Please read and follow the OHBM Code of Conduct

[X] I agree to follow the OHBM Code of Conduct during the hackathon

Thank you for submitting the project! We have 35 projects right now, woohoo! But that means the projects pitches will have to be short. We will give you tomorrow 2 minutes to pitch your project, you can have one slide or no slides!
If you decide to use a slide, please include the link to the slide here.
And don't worry, you will still have more time to talk about your project during the BrainHack :-)

https://docs.google.com/presentation/d/1RYomiqBTLcY2O19kRyqXn-ZJD4ERAV2QleOVUCtcDsc/edit?usp=sharing


accessing dynamically named Checklist-model

Hi,
Requirement:

I would need to have a collection of checkboxes as a group for each row in a table.
And based on each checkbox selection, the next column in the table data needs to be loaded.

Design:

I have used checklist-model for each checkbox group. And i have named the checklist model dynamically using rowid as index.
I am invoking ng-change event and reading the checklist model values.

Issue:

when an ng-change action is triggered on the checkbox, i would need to load the next column based on this selection. But I am not able to get the value of the checklistmodel dynamically.
checklistmodel_{{rowid}}. Only if i hardcode it i am able to read. like checklistmodel_0.

Before the selected data is updated into checklist model, ng-change is getting invoked.

I have shared what I have done in the url below,
http://plnkr.co/edit/jjH8OnbhSVplPISJif8k?p=preview
Can you please help me on this.
Thanks,
Sridhar

Have you posted this question on StackOverflow?

In the posted example I actually see that you're using an array checklistmodel[rowid] instead of checklistmodel_{{rowid}}. That should actually be the way to achieve what you want. Do you still have an issue here?

I will close this issue. If you still experience it, please reopen.


Add the profiles support

As soon as rustup == "1.20.0" will be published, this Action could also add the profile input, which will reduce the time needed to install the requested toolchain. Reference: https://www.reddit.com/r/rust/comments/d5hbdu/rustup_needs_your_help_testing_a_new_feature/

It is time!

Closed in #19


fix etcd LogConfig bug & add etcd grpc log setter

fix etcd LogConfig bug & add etcd grpc log setter
LogSet is different from LogConfig. LogSet set the grpc communicate log between etcd client and server.
LogConfig only set the log in etcd client

Just call clientv3.SetLogger(grpclog) yourself. We do not need to bake in a global call.


Solution: Add an option to gzip them!
Note: The dartvm is linked against zlib already, so win-win?

@a-siva @rmacnak-google

To clarify, do you mean script snapshots or app snapshots? Is the concern here network/download size or disk size?
App snapshots use file-mapped memory and the bulk of their content is used directly, so I don't think it makes sense for the version on disk to be compressed, though it would make sense to compress them during a download.
For script snapshots, the whole thing is converted anyway, so embedder-level gzipping seems reasonable. The standalone VM already has gzip as you mention, and it even uses to decompress Observatory.

Script right now, since we only download script snapshots. I don't think we can yet have an app snapshot for applications using native extensions.


Create it.po

Sorry for the delay, and thank you for your contribution @albanobattistella! This all looks good to me and I'll make sure these new translations are included in the next app release :)


Use the pretrained model of ResNet50 on ImageNet, the val acc is 4% less than reported.

As the title mentioned, anyone have met the same issue?Thx!

Hi,
Did you put the model in .eval() mode?
ResNet has batch normalization, which during training changes the statistics of the output and can lead to different reported results.

Hi,
Did you put the model in .eval() mode?
ResNet has batch normalization, which during training changes the statistics of the output and can lead to different reported results.

Thanks for the reply. I have checked the code and I did put the model in '.eval' model. I forgot to mention that I resize the images to 256*256 in local. Do you think this may has an influence on the result? Thanks again.

@liu-zhenhua
the convolution filters and average pooling will act different if you choose a different size than the trained resolution (224x224).
Can you check if the accuracy change if you resize to 224x224?

@liu-zhenhua Having the images be in 256x256 should not make the final val accuracy to be of only 4%, although it can have some impact.
I suspect it's an user error somewhere, but without more information it is impossible for us to find what the issue is.
Can you use the evaluation code from references/classification to test the pre-trained resnet50 model on imagenet?

Closing following inactivity. If you still face the same issues please let us know.


Replace compilation.py with a module for each step (parser.py already exists)

Break the compiler down into distinct modules that implement each step. Write unit tests for each step.
Modules:
parser.py (already exists)
compiler.py
injector.py
wrapper.py

Not relevant anymore, closing


Bug report: teams team add --groupId returns error

Description
Error when attempting to add a Microsoft Team to an existing Office 365 Group using teams team add --groupId
Steps to reproduce
o365 teams team add --groupId 946a6bbe-045a-4031-8b5b-04c7353b357d
Expected result
Team is created
Actual result

Environment
MacOS Catalina, zsh, 2.9.0

On closer inspection, the request is using the /beta/groups/{groupid}/team endpoint that has been deprecated in favour of using the /beta/team endpoint.
Source: https://docs.microsoft.com/en-us/graph/api/team-put-teams?view=graph-rest-beta&tabs=http#permissions

We do already provide another command that creates a Team from an existing Office 365 group, aad o365group teamify which uses the new method suggested in Graph docs.
Rather than fix the teams team add command duplicating functionality, I suggest removing the --groupId parameter as we have an alternative command, create an alias for the aad o365group teamify command under the teams group.
It also simplifies the command making it easier to implement #916
Thoughts @pnp/office-365-cli-maintainers ?

Rather than fix the teams team add command duplicating functionality, I suggest removing the --groupId parameter as we have an alternative command, create an alias for the aad o365group teamify command under the teams group.

aad o365group teamify and teams team add are not quite the same. teams team add allows you to create a Team from scratch while aad o365group teamify allows you to extend an existing group with a Team. So both commands are only the same when you teamify an existing group, but in case you want to create a new Team with a new group, you still need teams team add.
We could go about it two ways:

We remove the groupId option and in the help we include explanation pointing people to aad o365group teamify if they want to teamify an existing group
We keep the groupId option and fix the command so that we don't bother people with our technical implementation and let them teamify no matter if they think in terms of groups or teams. The downside is, as you mentioned, that we'd duplicate the code base.

My vote would go to option 1, this keeps the teams team add command specific to creating a Team from scratch.

Check. @VelinGeorgiev, @appieschot, what do you guys think?

Vote for option 1 as well :), we should track usage though, do we see a drop in the use of the command once option 1 is implemented. That might give insights into how it is being used.

One step ahead of ya: from the last 3 months of usage, only 11% calls used the groupId options. With that, let's stick to option 1.


Update Git to include commit-graph BUG statement

This prevents writing bad data to the commit-graph when the list of commits to write is corrupted in-memory.

See this PR in microsoft/git for the details of this change.


.NET 6 conversion

Converted  projects to .NET 6 (but left relevant projects at .NET Standard)
Removed UAP library as it's not needed for our purposes
Removed all #if METRO and #elif METRO directives
Turned on nullable reference types

Yikes. Wrong repo!


remove note about tech preview from Vert.x runtime details

Vert.x Runtime Details

fixed in #804


Bounded work-stealing executors

For usage in a library, it would be nice to have the ability to create a local work-stealing executor that didn't automatically transfer tasks to the global injector, so that the executor can be dropped (or drained) and any associated resources are freed.
I'm thinking that a run_bounded (?) method could be added which took a reference to the WorkStealingExecutor to use, and run would become a simple wrapper around this method which passed in the global instance. An additional function would need to be exposed for creating a new WSE instance. From looking at the code I don't see any issues with this, but maybe there are other components that assume there can only be one instance?

I'm working on this feature right now :)

Excellent! smol::pool() maybe?

This is now possible with smol::run() and smol::block_on().


"412 Request Entity Too Large" in uploading the migration file

The file size exceed 4,975,036 bytes (5 MB)

Hello, the issue has been fixed in version 2.8.5. Thank you for your feedback! ❤

Thanks. I have tested it locally. It has been fixed.


Legend in the map and the data in the map seems different

The legend used  in the map for showing the  color  for corresponding data(Kerala) seems different as seen in the screenshot

@shuklaayush hey can you look at this?

@steffyjohn Seems fine for me. Can you elaborate?

I think the issue is that the state colours are assigned directly from a continuous colour space, while the legend is a sampled version of the colour space. Hence, there's the possibility of a mismatch. We can either switch to a continuous legend, or assign colours from the sampled colour space. Any thoughts?

@shuklaayush You're right, the colors on the map are based on a scaling factor, I think it'd be appropriate if the legend used the same too!

@jeremyphilemon The legend is already scaled as well. I think the issue is rather that the legend is a fixed set of 6 coloured blocks instead of a continuous scale. Right now, the fixed colour is the colour of the lower bound of the range.
What do you think about this?

Patched #51


KeplerTargetPixelFile.get_model docstring is a bit unclear

From the docstring of KeplerTargetPixelFile.get_model, it's a bit a unclear what the argument star_priors should be.
This bit of code is also confusing:
if 'star_priors' not in kwargs:
    centr_col, centr_row = self.centroids()
    star_priors = [StarPrior(col=GaussianPrior(mean=np.nanmedian(centr_col),
                                               var=np.nanstd(centr_col)**2),
                             row=GaussianPrior(mean=np.nanmedian(centr_row),
                                               var=np.nanstd(centr_row)**2),
                             flux=UniformPrior(lb=0.5*np.nanmax(self.flux[0]),
                                               ub=2*np.nansum(self.flux[0]) + 1e-10),
                             targetid=self.targetid)]
    kwargs['star_priors'] = star_priors

From the method signature,  get_model(self, star_priors=None, **kwargs), start_priors is a separate argument anyway, so I guess that if statement will always evaluate to true?
I think it would be nice to have a docstring example on the usage of this method. Something like:
Examples
----------
tpf = KeplerTargetPixelFile(...)
model = tpf.get_model(star_priors=..., other_possible_args=...)

Owww, this is a bug!  (And yes, we need examples in that docstring ... and perhaps in docstrings overall.)

It should be
if star_priors is None:
    do something smart to set default star_priors


EVEREST-507 Report metrics

Collect and report metrics
Problem:
EVEREST-507
Report the db engines metrics - how many db clusters of each type are running.
A step forward multi k8s support - generate own Everest ID instead of using the k8s cluster ID.
The telemetry request example
CHECKLIST
Jira

[ ] Is the Jira ticket created and referenced properly?

Tests

[ ] Is an Integration test/test case added for the new feature/change?
[ ] Are unit tests added where appropriate?

Maybe we should go with a key value approach that will not only cover our current use-case of storing the unique everest instance ID but will allow us to expand it to any other settings that we need to store like default values for a DB engine configuration or whatever.

@recharte thanks for the suggestion, the key-value approach sounds great. Updated, PTAL


Re-authenticating every 20-180 seconds?

Previously I could go weeks at a time without seeing anything in my eap_proxy log file. Recently, I started seeing the remote link send a Failure packet followed by a Request that initiated the authentication sequence all over again (sometimes even as soon as 10 seconds after completing the authentication sequence).
The logs for a single Failure and re-auth look like this (eth0 being my WAN, eth2 the AT&T device):
[2019-11-10 19:14:16,350]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Failure (4) id 0, len 4 [0] > eth2
[2019-11-10 19:14:16,350]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 15, Request (1) id 1, len 15 [11] > eth2
[2019-11-10 19:14:16,377]: eth2: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v2, len 22, Response (2) id 1, len 22 [18] > eth0
<snip>
[2019-11-10 19:14:24,079]: eth2: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v2, len 6, Response (2) id 8, len 6 [2] > eth0
[2019-11-10 19:14:24,108]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 8, len 4 [0] > eth2

In the ~8 minutes that it took me to write this post, all these re-auths (7 in total) led to about ~23% packet loss:
--- <IP_ADDRESS> ping statistics ---
462 packets transmitted, 355 packets received, 23.2% packet loss
round-trip min/avg/max/stddev = 11.484/12.799/35.356/1.823 ms

The time between re-auths is not consistent:
$ grep Success eap_proxy-stdout---supervisor-qDpAVS.log
[2019-11-10 19:19:01,349]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 8, len 4 [0] > eth2
[2019-11-10 19:19:30,860]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 8, len 4 [0] > eth2
[2019-11-10 19:20:10,860]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 8, len 4 [0] > eth2
[2019-11-10 19:20:51,340]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 8, len 4 [0] > eth2
[2019-11-10 19:21:46,839]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 8, len 4 [0] > eth2
[2019-11-10 19:22:05,878]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 8, len 4 [0] > eth2
[2019-11-10 19:25:25,072]: eth0: xx:xx:xx:xx:xx:xx > xx:xx:xx:xx:xx:xx, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2

Has anyone else seen similar issues, or have ideas for debugging this? Is there some non-EAP traffic that AT&T is trying and failing to send to the modem, perhaps? I will try plugging it directly into the ONT converter for a day and then switch back again to see if that helps (and report back).

Nope. Mine just sends an EAPOL start once a minute, going back weeks:
eth2: e0:22:02:38:e5:00 > 01:80:c2:00:00:03, EAPOL start (1) v2, len 0
eth3.0: <IP_ADDRESS>
ping: <IP_ADDRESS> success
eth2: ignoring e0:22:02:38:e5:00 > 01:80:c2:00:00:03, EAPOL start (1) v2, len 0

I don't know why would the ONT be sending an unprompted Failure packet. Seems like the Failure packet should be in response to something from the RG. I don't think the ONT initiates any part of the auth conversation.

It's possible AT&T was having issues. I ran the modem connected directly to the ONT for a few days, and it had some trouble staying connected at first too but in the past few days became more reliable. I started using eap_proxy again last night, and these are the only packets in the log since I switched back:
[2019-11-15 20:08:23,134]: starting proxy_loop
[2019-11-15 20:08:35,863]: eth0: xx:xx:xx:xx:xx:xx > 01:80:c2:00:00:03, EAP packet (0) v1, len 15, Request (1) id 1, len 15 [11] > eth2
[2019-11-15 20:08:35,889]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 22, Response (2) id 1, len 22 [18] > eth0
[2019-11-15 20:08:35,891]: eth0: xx:xx:xx:xx:xx:xx > 01:80:c2:00:00:03, EAP packet (0) v1, len 4, Failure (4) id 1, len 4 [0] > eth2
[2019-11-15 20:08:35,891]: eth0: xx:xx:xx:xx:xx:xx > 01:80:c2:00:00:03, EAP packet (0) v1, len 15, Request (1) id 2, len 15 [11] > eth2
[2019-11-15 20:08:36,930]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 22, Response (2) id 2, len 22 [18] > eth0
[2019-11-15 20:08:36,950]: eth0: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 6, Request (1) id 3, len 6 [2] > eth2
[2019-11-15 20:08:38,121]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 206, Response (2) id 3, len 206 [202] > eth0
[2019-11-15 20:08:38,227]: eth0: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 1020, Request (1) id 4, len 1020 [1016] > eth2
[2019-11-15 20:08:39,146]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 6, Response (2) id 4, len 6 [2] > eth0
[2019-11-15 20:08:39,165]: eth0: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 1020, Request (1) id 5, len 1020 [1016] > eth2
[2019-11-15 20:08:40,169]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 6, Response (2) id 5, len 6 [2] > eth0
[2019-11-15 20:08:40,189]: eth0: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 805, Request (1) id 6, len 805 [801] > eth2
[2019-11-15 20:08:41,484]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 1408, Response (2) id 6, len 1408 [1404] > eth0
[2019-11-15 20:08:41,511]: eth0: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 6, Request (1) id 7, len 6 [2] > eth2
[2019-11-15 20:08:42,510]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 1404, Response (2) id 7, len 1404 [1400] > eth0
[2019-11-15 20:08:42,537]: eth0: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 6, Request (1) id 8, len 6 [2] > eth2
[2019-11-15 20:08:43,534]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 893, Response (2) id 8, len 893 [889] > eth0
[2019-11-15 20:08:43,570]: eth0: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 69, Request (1) id 9, len 69 [65] > eth2
[2019-11-15 20:08:44,560]: eth2: yy:yy:yy:yy:yy:yy > 01:80:c2:00:00:03, EAP packet (0) v2, len 6, Response (2) id 9, len 6 [2] > eth0
[2019-11-15 20:08:44,603]: eth0: xx:xx:xx:xx:xx:xx > 01:80:c2:00:00:03, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2

The command I'm running is:
/usr/bin/python3 /path/to/eap_proxy.py --ignore-start --ignore-logoff --ignore-when-wan-up --ping-ip=<IP_ADDRESS> --run-as nobody eth0 eth2

I'm going to close this for now since it seems like it was a short-term issue.

Did you ever run into this again? I'm seeing this on a much smaller scale - failures 2-5 times per day. Similarly, there's no consistency with how often this happens, but it's super frustrating. A single failure comes in from the router and then everything is reset, so my entire network goes offline for 30 seconds or so.

It did happen a few more times; I actually switched back to routing everything through the AT&T box for now, but it too goes down from time to time and I need to unplug everything and plug it back in.
So, I would hazard a guess that it's an AT&T issue. I haven't had the time yet to determine if there's any difference in behavior when packets are routed through the AT&T box or not. As you say there is no consistency, so it's a real pain to debug. 😖
Let me know if you discover anything new and I'll do the same!

An AT&T tech came out and replaced all the fiber connections, the ONT, and provided a shiny new BGW210 as well (had a Pace 5268 before). They said it was evident in their tests that the fiber connect was not good before, and has improved now.
I haven't tried eap_proxy again yet but I'll report back when I do.

@tobiasmcnulty That's good to hear. Hopefully it works out from here on out - I'll have to get them out here to take a look I suppose.

@tobiasmcnulty AT&T tech came out today replaced the ONT, but not my BGW-210. Unfortunately, I'm still seeing regular disconnects - every 2-6 hours just as before. In hindsight I probably should have asked him to replace the BGW as well as a "just in case" sort of thing... oops.
As of recently, the broadband LED on the RG blinks red continuously. Previously, once eap_proxy had done its job and the connection was auth'd, the broadband light would turn off. I've seen it blink green a few times - only while authenticating. Once that's done, it goes back to blinking red. Were you seeing this this behavior as well? I feel like I must have misconfigured something at some point while trying to troubleshoot this mess, but I can't for the life of me figure it out :/

I'm seeing similar things again 😦. It was working fine for a few days, and then yesterday almost all day there was EAP traffic back and forth. Internet wasn't working at all at the end of it (not sure about earlier), so I power cycled the ONT and BGW210 and things have been fine with just a single re-auth since. I attached the full log below (nearly 6000 lines!).
BTW, I think the unknown MACs are standard bridge and EAP mac addresses (which I guess is how some bridges/switches know not to pass this traffic?). I left them in my logs so you can compare (but replaced my BGW210 MAC with aa:tt:tt:mm:aa:cc).
eap_proxy_logs_2020-02-15.txt

It does feel like a physical link issue still. If I briefly unplug the ethernet or fiber on the ONT, I get the same re-auth sequence, sometimes starting with a Failure packet and sometimes without.
That said, when unplugging EITHER the fiber or ethernet, I can see the ethernet link go down briefly on the router, which I don't see when it's re-authenticating on its own every minute or two. 🤷♂

Hmm. That’s odd. One thing I’ve thought about that I haven’t tried yet is just swapping out all the Ethernet cables between the USG, RG, and ONT with fresh ones... have you tried that? Seems as plausible as anything else... :/

@zcramos I've had bad cables before so it's certainly worth a try. FWIW, my ONT and RG are connected through a wall port and patch panel in the closet, so the cable run is probably longer than most. But it tests fine and I have tried swapping out the cables that I can replace, so 🤷♂. And to be clear, the ethernet link DOESN'T seem to be going down for me when it gets stuck in those re-auth cycles.
I wish the ONT had a private IP one could access to see the noise level on the line; that was invaluable back when we had cable, and it turns out that's what the AT&T tech saw that caused them to come replace all those connections this time. He showed it to me on their tablet but said there probably isn't a way for us to see it ourselves.

@zcramos Another finding: If I unplug the RGW after it authenticates successfully once, the connection appears to stay up for a week or more.
Question: Are you passing --ignore-start to eap_proxy.py? I wasn't (recently at least, I don't recall if I was when I first opened this ticket), but I've enabled it now and am going to leave the RGW plugged in for awhile to see if that helps...

--ignore-start doesn't seem to have helped. It happened again yesterday:
vyos@vyos:/var/log$ grep Success messages.1|wc -l
68
vyos@vyos:/var/log$ grep Success messages|wc -l
34

I got it back online by rebooting the ONT.

This could be a complete coincidence, but I switched my ONT to a different power supply and I haven't noticed the issue since...

Changing the power supply did NOT fix the issue entirely for me. Whenever this happens now I simply reboot the ONT, and things go back to normal for a little while. In the log below, you can see:

I last rebooted my router on 5/24 (when the log messages start, this is OpenWRT)
The cycling started at 13:22 and continued until about 14:40 when I rebooted the ONT
I'm posting this around 15:02 and the connection has been completely stable since then

# grep Success messages
May 24 17:15:55 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:22:23 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:27:39 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:31:00 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:31:29 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:33:22 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:36:20 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:38:38 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:40:05 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:41:50 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:43:07 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:45:02 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:45:35 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:46:57 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:48:09 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:49:10 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:49:34 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:50:22 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:50:56 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:52:26 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:53:06 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:56:35 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:57:17 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:58:23 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:59:05 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 13:59:34 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:00:48 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:01:05 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:03:48 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:07:04 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:09:47 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:11:48 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:12:45 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:13:20 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:14:28 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:15:05 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:15:50 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:16:27 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:16:54 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:17:31 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:18:26 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:18:45 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:19:03 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:19:36 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:20:44 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:21:13 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:22:43 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:23:05 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:23:40 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:23:55 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:24:32 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:25:19 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:26:40 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:28:35 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:29:07 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:30:31 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:30:54 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:31:57 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:32:31 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:33:18 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:33:51 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:38:24 OpenWrt eap_proxy[2011]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2
May 31 14:41:23 OpenWrt eap_proxy[4422]: eth1: xx:xx:xx:xx:xx:xx > yy:yy:yy:yy:yy:yy, EAP packet (0) v1, len 4, Success (3) id 9, len 4 [0] > eth2

I'm going to close this since I don't think there's anything eap_proxy can do to fix this, but hopefully this thread will at least be useful to someone else. I don't think it's specific to eap_proxy either, I think eap_proxy just gives us a way to see a specific issue with some AT&T fiber connections. 🤷

Should have updated a while ago, but I believe you’re correct as well. I moved to a new house last month, in another area served by AT&T Fiber. I haven’t had this issue at all since the move. It is absolutely an AT&T problem, and with enough phone calls and bitching I suspect you could get them to send techs out to test and replace the shared infrastructure further up the network.


Add scancode support to Travis; update .js with ASF approved license.

Note: this will enable all .js files to pass scancode when license header checking is turned on for all repos.

LGTM.

@houshengbo @jthomas  Thanks both!


Fix load scopus csv authors affiliations

added conftest file that supports simple tests on all docs in doc set
made scopus_csv more consistent with scopus source (returning None as opposed to empty list and vice versa)
add support for authors with multiple affiliations
add support for current CSV file download and older version
add tests for both versions and break tests out into independent tests.

Hi Travis. Thank you very much this contribution. Fixing the ability to load Scopus CSV files is a highly requested feature. I am happy to see that this PR is well documented and has thorough testing.
I have made some (small) comments on the code.

Hi Travis. Thank you very much this contribution. Fixing the ability to load Scopus CSV files is a highly requested feature. I am happy to see that this PR is well documented and has thorough testing.
I have made some (small) comments on the code.

Not sure how to look at the comments? Are you sure they are there or am I missing something?

Hi.
You were right. They should be visible now!


Add type wrapper around LibSQL type imports

Potential fix for Turso/LibSQL being unable to be used with Drizzle in Cloudflare workers/pages due to node dependencies.

Thanks! Will include in next release

@Torbet please sign your commits and force-push them, we require all the commits to be signed.

I've implemented this fix as part of f0b735218bc551c13390ad77ecde268952f6dca1, it's already in beta


[Module Proposal]: Terraform module for Azure SQL Managed Instance

Check for previous/existing GitHub issues/module proposals

[X] I have checked for previous/existing GitHub issues/module proposals

Terraform or Bicep?
Terraform
Module Classification?
Resource Module
Module Name
Module name-> avm-res-sql-managedinstance
GH repo name -> terraform-azurerm-avm-res-sql-managedinstance
Module Details
Please refer to the this CARML Bicep module as it already implements RBAC, Locks, Tags, and Diagnostics Settings
https://github.com/Azure/ResourceModules/tree/main/modules/sql/managed-instance
Do you want to be the owner of this module?
No
Module Owner's GitHub Username
No response

@PankajMeshramCSA  I can take this up if no owner yet. Please assign to me

@herms14  - I have assigned the Vnet one to you. Another resource will build this module.

Hi @timchapman  - Thanks for proposing to be an AVM module owner.
We just want to confirm you agree to the below pages that define what module ownership means:
https://azure.github.io/Azure-Verified-Modules/specs/shared/team-definitions
https://azure.github.io/Azure-Verified-Modules/specs/shared
https://azure.github.io/Azure-Verified-Modules/help-support/module-support
Any questions or clarifications needed let us know.
If you agree please just reply to this issue with the exact sentence below (as this helps with our automation 👍):
"I CONFIRM I WISH TO OWN THIS AVM MODULE AND UNDERSTAND THE REQUIREMENTS AND DEFINITION OF A MODULE OWNER"
Thanks
The AVM Core Team

Thanks @timchapman - Assigning this one to you.

Hey @PmeshramPM happy to get in touch with you since I'm set (at the moment) as module owner for SQL MI in Bicep and as per SNFR21 we SHOULD collaborate. Let me know your thoughts.

Hey @segraef  please reach out to @timchapman as he is creating this module for TF for AVM 👍

@timchapman - FYI  - Please pay attention to the module name and GH repo name. I have updated based on the specs

Im not sure I understand?
Thanks,
Tim
From: Pankaj Meshram @.>
Sent: Thursday, September 28, 2023 9:16 AM
To: Azure/Azure-Verified-Modules @.>
Cc: Mention @.>; Assign @.>
Subject: Re: [Azure/Azure-Verified-Modules] [Module Proposal]: Terraform module for Azure SQL Managed Instance (Issue #44)
@timchapmanhttps://github.com/timchapman - FYI - Please pay attention to the module name and GH repo name. I have updated based on the specs

Reply to this email directly, view it on GitHubhttps://github.com/Azure/Azure-Verified-Modules/issues/44#issuecomment-1739143263 or unsubscribehttps://github.com/notifications/unsubscribe-auth/AILKM3JXRWWVRPFD2TZRE7LX4V2ATBFKMF2HI4TJMJ2XIZLTS2BKK5TBNR2WLJDUOJ2WLJDOMFWWLO3UNBZGKYLEL5YGC4TUNFRWS4DBNZ2F6YLDORUXM2LUPGBKK5TBNR2WLJDUOJ2WLJDOMFWWLLTXMF2GG2C7MFRXI2LWNF2HTAVFOZQWY5LFUVUXG43VMWSG4YLNMWVXI2DSMVQWIX3UPFYGLAVFOZQWY5LFVI2TSMBXG43TANBYHCSG4YLNMWUWQYLTL5WGCYTFNSBKK5TBNR2WLKRVHEZTMNJQHAZTSNFENZQW2ZNJNBQXGX3MMFRGK3ECUV3GC3DVMWVDKOJTGY2TGMJSGAZ2I3TBNVS2S2DBONPWYYLCMVWKY43VMJVGKY3UL52HS4DFVREXG43VMVBW63LNMVXHJJTUN5YGSY3TSWBKI5DZOBS2U4TFOBXXG2LUN5ZHTJLWMFWHKZNJGY3DAMRRGE2TONUCUR2HS4DFUVUXG43VMWSXMYLMOVS2UMJYHAYTONBSGA3TRAVEOR4XAZNFNRQWEZLMUV3GC3DVMWVDKOJQG43TOMBUHA4IFJDUPFYGLJLMMFRGK3FFOZQWY5LFVI2TSMZWGUYDQMZZGSBKI5DZOBS2K3DBMJSWZJLWMFWHKZNKGU4TGNRVGMYTEMBTU52HE2LHM5SXFJTDOJSWC5DF.
You are receiving this email because you were mentioned.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

@mbilalamjad has given feedback to @timchapman who is working on the feedback.

Reached out to @timchapman offline, this proposal will be updated accordingly here based on his input.

Reached out to @timchapman offline to check-in on any updates or support needed, he or I will update accordingly.

@mbilalamjad I have customer requirements for this module so I'm going to make a start on it.  If there is activity going on in the background can you please help introduce me to it.  I've had previous conversations with Tim and I don't believe we are duplicating work there.

@mbilalamjad I have customer requirements for this module so I'm going to make a start on it. If there is activity going on in the background can you please help introduce me to it. I've had previous conversations with Tim and I don't believe we are duplicating work there.

Hey @kewalaka we have a meeting with @timchapman this week, I'll ask him to share any updates here as he's the assigned module owner

have raised a PR here that illustrates an initial AVM implementation.  Needed this for a customer.
About to use this for deployment testing & will report back
https://github.com/Azure/terraform-azurerm-avm-res-sql-managedinstance/pull/5
cc @mbilalamjad & @timchapman
Also @segraef - noting your comment above - happy to take on board your version too - if you can share.  I'm not using azapi in this one (am I missing any significant functionality with this decision?)

Reached out to @mbilalamjad internally to get in touch with you @kewalaka, thank you for your initiative!

My fork of this is alive in a customer environment (instance level settings only, they are doing databases via another process).  Base resource is good, going through fine tuning next.

hi @mbilalamjad & @adammontlake - what is the status here, please?
Regarding this PR that I mentioned last month - i've just been testing the security alert policies and vulnerability assessment with the storage account resource firewall enabled (as much as possible).
The managed identities are done using azapi because an azurerm provider bug prevents both user & system assigned managed identities.
I've nudged @timchapman on the actual PR issue.


Change variables names to camelcase

is urgent.  pls merge asap.

I've been waiting for someone to make this change. I appreciate all of your work on this. 🎉 🎈 🎂

When is this going to be merged? I really need this change. Please help.

I'm so confused by this


confusing documentation and error on object destructuring patterns with omitted getters

I've just used switch expressions with destructuring patterns for the first time and I think the documentation and/or diagnostic messages related to the feature could be improved-
Intuitively I wrote a switch expression for a sealed class Sum Type that looks like this:
sealed class StationRepoValue {
  Station? get asOption => switch (this) {
        StationRepoLoading() || StationRepoNone() => null,
        StationRepoSome(:value) => value, // error: the getter name is not specified explicitly, and the pattern is not a variable.
      };
}

class StationRepoLoading extends StationRepoValue {}

class StationRepoNone extends StationRepoValue {}

class StationRepoSome extends StationRepoValue {
  StationRepoSome(this.value);
  final Station value;
}

I consulted the documentation on object destructuring patterns, which didn't help me understand why this isn't a valid pattern: https://dart.dev/language/pattern-types#object
It contains this example:
// Binds new variables x and y to the values of Point's x and y properties.
var Point(:x, :y) = Point(1, 2);

and I didn't see how that's different or how you would write a pattern with omitted getters in a switch statement.
I eventually figured out that to fix the error, you can do
 StationRepoSome(:final value) => value,

And after playing with the Point example above on dartpad, I also now understand why that pattern works: there's var keyword at the start of the line (var Point(:x,:y)=...) which effectively declares both variables x and y.
Maybe this could be improved by adding an example to the documentation where a getter is omitted in a switch expression destructuring an object, similarly to the record pattern example above, as well as explaining that the var keyword introduces the x and y bindings.

I'm going to move this over to the SDK. The language is working the way we intend here. It is somewhat confusing that the way you define variables in a switch expression is different from in a pattern variable declaration, but after months and months of exploring every other alternative, it's the best design we could come up with to fit into the existing language.
But I agree that the error messaging could probably be improved, so moving this over to the SDK to track that.

@MaryaBelanger for the reference to the docs.


Hyprland crashing with a multi-GPU setup

For roughly a week now, Hyprland has been crashing on my laptop, Intel iGPU + nvidia dGPU. Using hyprland-nvidia-git AUR package.
most recent crash logs attached
hyprlandCrashReport892.txt

Are you using NVIDIA as primary GPU?
Arch community hyprland and aur hyprland-git work fine if you use the Intel iGPU with PRIME render offload configured.

I'm using the iGPU as primary and have PRIME configured as well. Does screenshare and other stuff work fine with the regular package?

I'm using the iGPU as primary and have PRIME configured as well. Does screenshare and other stuff work fine with the regular package?

yes. I have the same hardware configuration and everything works for me

using simply hyprland-git, and the nvidia GPU doesn't get initialized at all
[sidpr@strogg ~]$ nvidia-smi
Unable to determine the device handle for GPU0000:01:00.0: Unknown Error

nevermind, it's a different issue with that error, thank you :)


Trial class average completion script

Coverage decreased (-0.01%) to 56.604% when pulling bfc32e17648538f7598a4300eb4afba04b32aa6b on avg-trial-completion into e283c7ac81dfcf11f977013fe7d0b0c572b3bc39 on master.

Closed by typo'd commit https://github.com/codecombat/codecombat/commit/1308c23aa7dec28ef3331f55341d2b9e62ea88ed

Coverage increased (+0.1%) to 56.758% when pulling 8fd5b3ce6ee9d497fc573e1a83695a1568c2ac59 on avg-trial-completion into e283c7ac81dfcf11f977013fe7d0b0c572b3bc39 on master.


Inconsistent Box Sizing in Course Section

About:
The course boxes in the "Courses" section have inconsistent sizes, with some being larger than others. This uneven sizing leads to a cluttered and unprofessional appearance, making the layout look imbalanced. The varying dimensions also disrupt the user experience by causing confusion and difficulty in navigating through the available options. To resolve this, all course boxes should be standardized to have the same size, providing a cleaner and more visually appealing design.
sceenshot:

@vivekv2810 please assign this issuse to me and label the issuse

@TornovDutta And it appears when you zoom it out for 110%
but you can zoom it for 100% it looks normal.
please look onto it.

@TornovDutta And it appears when you zoom it out for 110%
but you can zoom it for 100% it looks normal.
please look onto it.
From my side it is looking good.
So i am closing this issue.
Please understand.

The website is currently at 100% zoom on my end. Can you please check it again?

@TornovDutta The website is currently at 100% zoom on my end.

@TornovDutta The website is currently at 100% zoom on my end.

This looks blurry on my end. Could you try checking it on a different browser?

@TornovDutta this one is from firefox.

About:
The course boxes in the "Courses" section have inconsistent sizes, with some being larger than others. This uneven sizing leads to a cluttered and unprofessional appearance, making the layout look imbalanced. The varying dimensions also disrupt the user experience by causing confusion and difficulty in navigating through the available options. To resolve this, all course boxes should be standardized to have the same size, providing a cleaner and more visually appealing design.
sceenshot:

This is from google chrome

And this is from microsoft edge

this one is from Google chrome

this one is from microsoft edge from my side.

@TornovDutta don't worry, you can look for other issue, i will look into it assign you it.

but still can i reopen this issue if you want it @TornovDutta

OK

can i reopen it or let it be closed

If you think this is indeed an issue with the website, please reopen it. I recommend checking the website on another browser to confirm, and if you still feel it's an issue, reopening it would be the best course of action.

@TornovDutta i have checked it in another browser (brave) it's still the same, for now we don't need.
you can look for other issues in website and create a new issue, i will look into it.

Ok


Teensy support?

Looks like some of the core AVR timer code won't work with the Teensy boards, per Paul's answer here: https://forum.pjrc.com/threads/28490-teensy-3-1-intterupts-error-TCCR1A-was-not-declared-in-this-scope
I assume this library would have to be heavily refactored to support the Teensy boards?

Teensy's above 2.0 are not AVRs, they're all ARM, so different registrers and interruptions.
You can make use of uClock on Teensy 2.0 that has the same microcontroller as arduino leonardo.
I dont have a teensy, but its on my todo list to order a teensy 3.6 and start playing with to code a uClock support for those teensy boards.
I think theres not much of refactor, just a matter of initialize and control correctly any 16 bits avaliable timmer on teensys ARM boards.

Thank you @midilab -- I've been trying to get this timer code to work, but I think my interval calculation is wrong: https://gist.github.com/grayxr/fe7b24c2d737763809a553b77b025c26#file-tclock-cpp-L88
Plus, I'd love to use your library for the Teensy because it looks really usable. I wouldn't mind sending you a Teensy 4.1 to experiment with 😄

That will be great, send me a email so we can talk about it. :)

Ok, here it comes the first version of uClock and Teensy arm boards support. I had tested on Teensy LC, but all ARM boards uses the same programming interface for timers, what should be ok to use on any other Teensy.
Please post tests made on other board other than LC to update the compatibility chart of uClock.
https://github.com/midilab/uClock/releases/tag/0.9.0

Awesome, thank you!


Please implement target-whitelist

Hi,
it would be nice to have the option to blacklist all metrics and whitelist a few chosen ones.
I might come up with a PR at some point, but I have the hope that you are faster ;)
Thanks,
Bernd

Are you talking about tagged or plain series? Do you want exactly the white list of targets? I had a thought to make a white list of prefixes for plain series.

It would also seem convenient to be able to put these settings in a separate file (essentially conf.d).

Are you talking about tagged or plain series? Do you want exactly the white list of targets? I had a thought to make a white list of prefixes for plain series.

I'm only talking about plain series for now. Just an option like the blacklist, which takes regexes...


LOADER_2

Loader_2
Design a loader animation like the above image
Create a file "loader_2.html" in the modules/loader folder.
Use simple HTML and CSS and JAVASCRIPT to create the loader animation. You can use the interface development https://kwickerhub.com (This project) or you can write the lines of code yourself.
Step by Step Guide.
Fork this project(Use the 'fork' button in the top right corner) and Clone your Fork.
git clone https://github.com/YOUR_USERNAME/frontend
Open your code Editor and Create a file "loader_2.html" in the "modules/loader" folder of this project you just cloned. No need to create head, title and body tags, Just Add a div tag with some embedded style(i.e use the style tag) and the script tag where necessary.
If you want to add an image resource, please add it in the folder  ••
"modules/loader/images_and_icons"
We recommend you use an svg for your image/icon.
Push your Code: You need to push your recent changes back to the cloud. Use the command below in the main directory of this Repository
git push origin dev
or use a GUI tool to avoid mistakes or complexity. LOL.
Make you Pull Request...
Good-luck.

I'm new to open-source. Can I give it a try??

Go on

I am working on this issue. Please can you accept my pull request if its not solved yet, as I don't see any PR.

Hi @MaverickDe,  @NtemKenyor I have created pull request for this issue, please can anyone of you accept it, if its correct. I have a submission deadline coming this weekend and it would be helpful to me if this pull request was accepted to include in my project documentation.
Thanks.


[GHSA-22wj-vf5f-wrvj] Password exposure in H2 Database

Updates

CVSS
Severity

Comments
Please for the love of god stop sending me these alerts. This isn't a vulnerability that anyone should care about. If an attacker already has access to your local machine you are screwed.
"This is not a vulnerability of H2 Console ... Passwords should never be passed on the command line and every qualified DBA or system administrator is expected to know that."

@darakian its not relevant to anyone. And as stated by the vendors: “this is not a vulnerability”.

If you'd like to reach out to the package maintainer and ask them to get the CVE rejected then we can follow up with removal from our database as well. Generally comments about dependabot specifics are handled here
https://github.com/orgs/community/discussions
But, I'll forward your comment about the dismissal behavior over to the relevant team as well 👍

👋🏻 Hello @gdoenlen , I hear you may be having an issue with the dismissal of you Dependabot alert. Could you provide me with the repository name and the alert number or post a link to the Dependabot alert you are having trouble with?
If you are not comfortable providing that information here you can report the unexpected behavior here or create a support ticket here. Be sure to include the repository and alert number so we can troubleshoot the issue you are having with alert dismissal. Thank you!


DynamicZone: Add component above/below list overflows container

Bug report
Required System information

Node.js version: v18.14.1
NPM version: 9.3.1
Strapi version<EMAIL_ADDRESS>Database: Postgres
Operating system: debian bullseye
Is your project Javascript or Typescript: javascript

Describe the bug
In dynamic zones, we can now (since https://github.com/strapi/strapi/pull/16826 afaik) add components above and below existing components, which is very helpful, thanks for that!
The popover element which shows available components has a height limited to 15rem, but no scrollbars. The list of components therefore breaks the layout and overflows the container.
Steps to reproduce the behavior

Add a component to a DynamicZone
Click Button labeled "More actions" (Three horizontal dots icon)
Hover over either "Add component above" or "Add component below"
If you have more than ~6 components (depending on groups), the list will overflow the containing popper/Popover element

Expected behavior
Two options:

Do not limit the height of the Popover container
Provide scrollbars for the list of components

Screenshots

thank you! 💯


Authentication error: you cannot auth exceed once in 60 seconds

Hello - just started getting this error yesterday and unable to see any devices in Homebridge. Thanks.
[TuyaWebPlatform] Authentication error: you cannot auth exceed once in 60 seconds

Describe the bug

[TuyaWebPlatform] Authentication error: you cannot auth exceed once in 60 seconds
Steps To Reproduce

Start Homebridge
Plugin Version

0.4.8
Homebridge Config

{
           "name": "TuyaWebPlatform",
           "options": {
               "username": "XXXXX",
               "password": "XXXXX",
               "countryCode": "1",
               "platform": "smart_life"
           },
           "defaults": [
               {
                   "device_type": "form"
               }
           ],
           "scenes": false,
           "platform": "TuyaWebPlatform"
       }

Device Config

Additional Context

I changed my Tuya password...but still having the issue.

I've been having the same issue for about a week now, I haven't been able to resolve it either, so you're not alone!

I think there is something up with the Tuya Europe site

No clue what could be triggering this.
I have had it happen a couple of times during development but then I restart my homebridge instance multiple times a minute. A stable homebridge instance should not have this problem.
Whenever this happens please stop homebridge for at least one minute and restart, that should solve it.

Thanks. Will give it a shot.

I'm getting this error also in the US with SmartLife products.  Just started about a week or so ago.
 njstuya booting njstuya +0ms
  njstuya "{argName} value is: 06200045dc4f2236e565_2 +5ms
  njstuya "{argName} value is: cloud +0ms
  njstuya api {"userName":"[blanked]","password":"[blanked]","countryCode":"1","bizType":"smart_life","region":"us"} or [blanked] +3ms
  cloudtuya {"responseStatus":"error","errorMsg":"you cannot auth exceed once in 60 seconds"} +0ms
  cloudtuya {
  cloudtuya   responseStatus: 'error',
  cloudtuya   errorMsg: 'you cannot auth exceed once in 60 seconds'
  cloudtuya } +2ms
  njstuya Token {"responseStatus":"error","errorMsg":"you cannot auth exceed once in 60 seconds"} +496ms
  cloudtuya { devId: '06200045dc4f2236e565_2' } +5ms
  cloudtuya INVAILD_REQUEST_2 +450ms
(node:4481) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'devices' of undefined
    at CloudTuya.find (/etc/openhab2/scripts/node_modules/cloudtuya/cloudtuya.js:101:23)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async CloudTuya.state (/etc/openhab2/scripts/node_modules/cloudtuya/cloudtuya.js:147:19)
    at async runCloud (/etc/openhab2/scripts/node_modules/njstuya/njstuya.js:206:26)
(node:4481) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:4481) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I'm getting this error also in the US with SmartLife products. Just started about a week or so ago.
 njstuya booting njstuya +0ms
  njstuya "{argName} value is: 06200045dc4f2236e565_2 +5ms
  njstuya "{argName} value is: cloud +0ms
  njstuya api {"userName":"[blanked]","password":"[blanked]","countryCode":"1","bizType":"smart_life","region":"us"} or [blanked] +3ms
  cloudtuya {"responseStatus":"error","errorMsg":"you cannot auth exceed once in 60 seconds"} +0ms
  cloudtuya {
  cloudtuya   responseStatus: 'error',
  cloudtuya   errorMsg: 'you cannot auth exceed once in 60 seconds'
  cloudtuya } +2ms
  njstuya Token {"responseStatus":"error","errorMsg":"you cannot auth exceed once in 60 seconds"} +496ms
  cloudtuya { devId: '06200045dc4f2236e565_2' } +5ms
  cloudtuya INVAILD_REQUEST_2 +450ms
(node:4481) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'devices' of undefined
    at CloudTuya.find (/etc/openhab2/scripts/node_modules/cloudtuya/cloudtuya.js:101:23)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
    at async CloudTuya.state (/etc/openhab2/scripts/node_modules/cloudtuya/cloudtuya.js:147:19)
    at async runCloud (/etc/openhab2/scripts/node_modules/njstuya/njstuya.js:206:26)
(node:4481) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:4481) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

Hmm I'm not going to be helpful for your problem. You are not running my plugin 😛 Please report this at the problem location (which seems to be https://github.com/unparagoned/cloudtuya)

I'm getting the same exact error message:
[TuyaWebPlatform] Authentication error: you cannot auth exceed once in 60 seconds
Tried restarting homebridge various times but still nothing, also uninstalled and reinstalled the plugin and still getting the same issue.
Any idea on what this could be? Or how to fix it?

Start homebridge and trigger the error.
Wait 5 minutes (1 should be enough but many of you are impatient 😛 Be sure that you are well over 1 minute)
Restart homebridge

This has always solved this issue for me.
I'll try to see if I can add in yet another ugly workaround.

Error -

Authentication error: you cannot auth exceed once in 60 seconds

Great plugin, been working for weeks until recently, I suspect its been about 7-8 days since I was able to control Tuya lights via homekit. I've tried restarting, reinstalling and re authenticating, have also tried the fix mentioned above - https://github.com/milo526/homebridge-tuya-web/issues/122#issuecomment-740506098

I'm getting the same error. Restarting isn't helping.

I really have no clue what is triggering this 😛 However I have seen it come by often enough now that I will add a work-around for it.
In the next release, whenever this error triggers, the plugin will back-off for 90 seconds and then try again.
If the same error is repeated after 90 seconds, the plugin will still fail to start.

Just to add, it looks like on a restart I get ... Not sure if this helps ?
[11/12/2020, 21:14:56] [TuyaWebPlatform] Initializing TuyaWebPlatform platform... [11/12/2020, 21:14:56] Loading 1 accessories...
7 seconds later I get ....
[11/12/2020, 21:15:03] [TuyaWebPlatform] Authentication error: you cannot auth exceed once in 60 seconds``

I have nothing to reboot has I don't have a homebrige. I'm using it to call Tuya lights defined in smartlife app.

I'm getting the same Authentication error

any word on an update for this issue?

I updated to the newest version which is supposed to fix it.  However, since doing so, I have not been able to successfully authenticate at all.  I've been busy so I haven't been able to consistently work on it.  Hopefully soon!  If I find a solution, I will post.

There has not yet been a release after my latest comment.
Personal life is currently in the way of plugin development.
Please be patient with me.

@milo526 I was referring to the latest versions of njstuya and cloudtuya. Sorry, I should have clarified that better.

updating to 1.1.7 fixed the authentication issue for me

Quick and dirty solution (that worked for me)

Remove everything in "platforms" in your homebridge config
Perform "Remove Single Cached Accessory" and "Remove All Cached Accessories"
Restart
Reverse the changes to the config file done in [1]
Restart

Quick and dirty solution (that worked for me)

Remove everything in "platforms" in your homebridge config
Perform "Remove Single Cached Accessory" and "Remove All Cached Accessories"
Restart
Reverse the changes to the config file done in [1]
Restart

I don't have the homebridge.  I'm using this as a command line with Tuya compatible equipment via Smart Life.

This issue is fixed in v0.5.4 which is currently release under the next tag.
You should no longer get the error.
If the error was to be triggered, you will now receive a warning that you will have to wait 65 seconds, after this the plugin will start normally.

I get the same authentication error since today:
[3/24/2021, 11:00:57 PM] [TuyaWebPlatform] Cannot acquire token, waiting 65 seconds.
[3/24/2021, 11:02:02 PM] [TuyaWebPlatform] Retrying authentication after previous error.
[3/24/2021, 11:02:02 PM] [TuyaWebPlatform] Authentication error: you cannot auth exceed once in 60 seconds
This is static now, even after a longer waiting period and after every reboot:-( When I try to login manually on https://auth.tuya.com, my login is invalid now. I even cannot create a new password or sign up with a new account because I never get an email with a verification code:-((( This is embarrassing.

Oh, and my Tuya IOS app is fully working with my current account.

Getting the same error here as well, latest version

Any way to cache token and not acquire it every restart?

Any way to cache token and not acquire it every restart?

Prs welcome


Persistent State Across Threads

This PR introduces persistent state across async contexts. This means: After calling Client::new(), ledger won't have a different state across threads that have different clones of the first object.

LGTM. Mega job. Well done. Amazing.


[Recorder] Appending with different sensors causes data in wrong columns

Affected hardware version
Bangle 2
Your firmware version
2v19
The bug
When recording anything and deciding after a while that you don't want to log a sensor anymore (eg to save battery) the resulting csv (downloaded from the app-store) shifts data to wrong columns (eg the charging column contains the altitude).
Steps to reproduce:

Start recording with HR, battery, steps and barometer
Wait for a few datapoints
Stop recording
Deselect Battery Log
Start recording and append to old file
Wait for a few datapoints
Stop recording and look into csv to see the bug

Note: This also has the consequence, that when logging GPS before and after appending and exporting the gpx and ignoring datapoints without GPS, many entries without GPS are generated (because GPS is stored as another value).
Installed apps
openstmap (0.25)
widid (0.03)
antonclk (0.11)
wid_a_battery_widget (0.04)
bthrm (0.17)
widlock (0.08)
agpsdata (0.06)
widmessages (0.05)
messageicons (0.05)
widbt (0.09)
lightswitch (0.09)
android (0.32)
iconlaunch (0.19)
messagegui (0.74)
notify (0.13)
messages (0.62)
boot (0.59)
antonclkplus (0.10)
locale (0.17)
gbridge (0.27)
hrm (0.11)
health (0.27)
recorder (0.32)
setting (0.65)

@gfwilliams What this done intentionally to save space?

Not such, it just makes sense to put in columns for only what you're recording - but assume we just put in every column all the time anyway... What happens if you stop recording, then install a new app that provides new data that can be recorded, then resume? same thing.
I guess when we start recording we need to load the first line (headings) of the file, and compare it with our current set of headings. If it's different we don't even provide the option to append?
I'll look into it.

Reopening after a small bug found


Allow job_request_items in ArmadaOperator to be templated

For Issue 2482:
https://github.com/armadaproject/armada/issues/2482
What type of PR is this?
This adds templating to the Airflow ArmadaOperator, to enable job_submit_items to be templated natively in Airflow.
What this PR does / why we need it:
See above
Which issue(s) this PR fixes:
Fixes #2482
Special notes for your reviewer:
Let me know if you have any questions. Thanks!
┆Issue is synchronized with this Jira Task by Unito

PR updated, please give it a look! Thanks!

PR updated, please give it a look! Thanks!

I think you gotta apply python formatting changes (tox -e format-code).  Or something like that.

Formatting changes applied!

I admit I'm struggling to understand why the automated tooling has failed this pass. Looking at this:
https://github.com/armadaproject/armada/actions/runs/5248672610/jobs/9484210027#step:6:280
It looks like it's complaining about the generated docs looking different from the actual docs, is that correct? But the diff provided looks identical. I think I'm misreading or misunderstanding something. What am I missing here? Thanks!

Got it - will do!

Alright, hopefully this docs update has done the trick!

It's not clear to me why the integration test is failing, and it's not one I can run locally. But it looks like a network error, and I can see someone else's Python integration test failed similarly, so maybe it's a pipeline issue?

We are investigating that now but it isn’t related to your code. Merged! Thank you for your contribution!


fix(api): Disallow uploading a protocol with non matching references

Overview
changed base to release 6.1.0. approved PR and conversation here.
Closes https://opentrons.atlassian.net/browse/RSS-81.
Disallow uploading a protocol when referencing a none existed model Id.
Changelog

Added a pydantic validator to the json v6 data model.

Review requests

should I add more validations?
is the code clear?
tests sufficient?
should I add it to read_saved for old uploaded protocols?

Risk assessment
Medium. every time we try to parse a json v6 object it will run against the validator.

Added a DO NOT MERGE label to hold merging this until after 6.1.0 alpha is tagged.


fix : build m1 script  by adding --always option to git describe --tag

Fixes-575
What
fix build script for mac m1
Why
current behaviour
reeta@Reetas-MacBook-Pro slim % make build_m1
'/Users/reeta/git/slim/scripts/src.build.m1.sh'
~/git/slim ~/git/slim
fatal: No names found, cannot describe anything.
make: *** [build_m1] Error 128
reeta@Reetas-MacBook-Pro slim %

How Tested
works fine after the fix
reeta@Reetas-MacBook-Pro slim % make build_m1
'/Users/reeta/git/slim/scripts/src.build.m1.sh'
~/git/slim ~/git/slim
found go binary: /usr/local/go/bin/go
saving go binary hash: sha256:7bc8c84f47c54b8a5a842b0b4d6287b4f54d5cb3e489e7871ed88dbe7e06cfdf
~/git/slim/cmd/slim ~/git/slim ~/git/slim
~/git/slim ~/git/slim
~/git/slim/cmd/slim-sensor ~/git/slim ~/git/slim
~/git/slim ~/git/slim
/Users/reeta/git/slim/dist_mac_m1/.slim-state/images/f6648c04cd6ce95adc05b3aa55265007b95d64d508755be8506cee652792952c/artifacts/Dockerfile.fat
/Users/reeta/git/slim/dist_mac_m1/.slim-state/images/f6648c04cd6ce95adc05b3aa55265007b95d64d508755be8506cee652792952c/artifacts
/Users/reeta/git/slim/dist_mac_m1/.slim-state/images/f6648c04cd6ce95adc05b3aa55265007b95d64d508755be8506cee652792952c
/Users/reeta/git/slim/dist_mac_m1/.slim-state/images
/Users/reeta/git/slim/dist_mac_m1/.slim-state
/Users/reeta/git/slim/dist_mac_m1/slim-sensor
/Users/reeta/git/slim/dist_mac_m1/slim
/Users/reeta/git/slim/dist_mac_m1/docker-slim
/Users/reeta/git/slim/dist_mac_m1
~/git/slim/dist_mac_m1 ~/git/slim ~/git/slim
~/git/slim ~/git/slim
~/git/slim ~/git/slim ~/git/slim
updating: dist_mac_m1/ (stored 0%)
updating: dist_mac_m1/slim-sensor (deflated 61%)
updating: dist_mac_m1/slim (deflated 71%)
updating: dist_mac_m1/docker-slim (deflated 71%)
/Users/reeta/git/slim/bin/mac_m1/slim
/Users/reeta/git/slim/bin/mac_m1
/Users/reeta/git/slim/bin/linux_arm64/slim-sensor
/Users/reeta/git/slim/bin/linux_arm64
/Users/reeta/git/slim/bin
reeta@Reetas-MacBook-Pro slim %

thank you @reetasingh !


✨ Support for removing files (core.#Rm)

What are you trying to do?
Remove files, similar to how I can make files and dirs with core tasks. Rm is a supported FileOp type in Buildkit, so not much effort needed in Dagger.
Why is this important to you?
Users needed it here, had to resort to workaround (that turned out to have a buildkit bug anyways): https://github.com/dagger/dagger/issues/2401
How are you currently working around this?
No response

If you don't mind, I would like to take care of that one.
Here's a link to llb.Rm. I think we can also enable wildcard, that could be useful.
Here's the current definition I have in mind:
// dagger/core/fs.cue
#Rm: {
  // Container filesystem
  input: dagger.#FS

  // Path to delete (handle wildcard)
  // (e.g., /file.txt or /*.txt)
  path: string

  // Modified filesystem
  output: dagger.#FS @dagger(generated)
}

WDYT? @sipsma @shykes?

Thanks @TomChv that looks good. The only thing I'd add are fields equivalent to the options available in Builkdkit: https://github.com/moby/buildkit/blob/b6924b0f5f01c8cdea34238e1d35278ea6eb9680/client/llb/fileop.go#L360-L361
The "allowWildcards" field is necessary to handle the extreme corner case where someone creates a file or dir that actually has the char * in its name. It's more debatable whether we in Dagger should default to allowing them or not, but either way the toggle should exist IMO.
"AllowNotFound" would be good too, I guess it's the equivalent of the -f option in rm sortof.

Thank you! I take care of that tomorrow

I did some test with AllowNotFound and it looks like it doesn't works.
That sound logic since removeAll do not return an error if path do not exist

RemoveAll removes path and any children it contains. It removes everything it can but returns the first error it encounters. If the path does not exist, RemoveAll returns nil (no error). If there is an error, it will be of type *PathError.

Indeed, it's not a blocker for now but I'm not sure we can make AllowNotFound working for now.


WMS ID: 4261Updated Livelab with Redwood screenshots and aligned also added a new folder to this workshop

Add here your WMS ID
General requirements

Information in the workshop is adequate and updated
Code is correct and working
Links are correct
Make sure you enter the help email link in your manifest.json
Please make sure WMS URLs are updated as needed after your PR is approved

Checklist - Refer to the QA document for the complete list
Please confirm that the following is completed before submitting your PR

[ ] All filenames are lower case (including folders, images, files, etc.)
[ ] Filenames are descriptive
[ ] Your workshop folder structure should be similar to the one used in the sample workshop (https://github.com/oracle-livelabs/common/tree/main/sample-livelabs-templates/sample-workshop)
[ ] Are you using multiple versions (desktop/, sandbox/, tenancy/)? Make sure that each of them contains a manifest.json and an index.html
[ ] Image references in markdown contain an alternate text

you have dozens of text files in your PR. What purpose do these files serve? There should only be markdown, image, index.html, and manifest.json files in your PR.


Fails to install successfully built package for Windows x86

Maybe this is not maturin-action's fault, I just don't know where to ask.
I created a github workflow using maturin generate-ci --pytest github > .github/workflows/CI.yml.
It builds a python3-rust hybrid package using maturin 1.4.0, pyo3 0.20.0 (github.com/mRcSchwering/magic-soup).
All OSs and architectures are built, and for Linux and MacOS the pytest step runs green as well (CI.yml below).
Just for Windows x86 the pytest step doesn't run.
Looking into the logs I can see that during the package installation in the test environment
it seems to ignore one of the package dependencies.
My package has 2 dependencies: numpy and torch.
During pip install magicsoup --find-links dist --force-reinstall it correctly starts to collect numpy.
But then it doesn't collect torch and instead continues to install my package from the cached wheel:
Processing d:\a\magic-soup\magic-soup\dist\magicsoup-0.10.2-cp310-none-win32.whl
Collecting numpy<1.27.0,>=1.24.0 (from magicsoup)
  Downloading numpy-1.26.2-cp310-cp310-win32.whl.metadata (61 kB)
     ---------------------------------------- 61.2/61.2 kB 1.6 MB/s eta 0:00:00
INFO: pip is looking at multiple versions of magicsoup to determine which version is compatible with other requirements. This could take a while.
Collecting magicsoup
  Downloading magicsoup-0.10.1.tar.gz (8.0 MB)
     ---------------------------------------- 8.0/8.0 MB 11.1 MB/s eta 0:00:00
  Installing build dependencies: started
  Installing build dependencies: finished with status 'done'
  Getting requirements to build wheel: started
  Getting requirements to build wheel: finished with status 'done'
  Preparing metadata (pyproject.toml): started
  Preparing metadata (pyproject.toml): finished with status 'done'
Collecting numpy<1.25.0,>=1.24.0 (from magicsoup)
  Downloading numpy-1.24.4-cp310-cp310-win32.whl.metadata (5.6 kB)
Collecting magicsoup
  Downloading magicsoup-0.10.0-py3-none-any.whl.metadata (5.5 kB)
  Downloading magicsoup-0.9.1-py3-none-any.whl.metadata (5.5 kB)
Downloading magicsoup-0.9.1-py3-none-any.whl ([55](https://github.com/mRcSchwering/magic-soup/actions/runs/7143208086/job/19454171432#step:6:56) kB)
   ---------------------------------------- 55.1/55.1 kB 2.8 MB/s eta 0:00:00
Installing collected packages: magicsoup
Successfully installed magicsoup-0.9.1

Afterwards, when tests are started, it fails at import torch because it didn't install it.
This is strange because this behaviour doesn't exist in other OSs or architectures.
E.g. here is the same step but from MacOS x86_64:
Collecting magicsoup
  Downloading magicsoup-0.10.2-cp310-cp310-macosx_10_7_x86_64.whl.metadata (5.6 kB)
Collecting numpy<1.27.0,>=1.24.0 (from magicsoup)
  Downloading numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl.metadata (61 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 kB 2.9 MB/s eta 0:00:00
Collecting torch<2.2.0,>=2.0.0 (from magicsoup)
  Downloading torch-2.1.1-cp310-none-macosx_10_9_x86_64.whl.metadata (25 kB)
Collecting filelock (from torch<2.2.0,>=2.0.0->magicsoup)
  Downloading filelock-3.13.1-py3-none-any.whl.metadata (2.8 kB)
Collecting typing-extensions (from torch<2.2.0,>=2.0.0->magicsoup)
  Downloading typing_extensions-4.8.0-py3-none-any.whl.metadata (3.0 kB)
Collecting sympy (from torch<2.2.0,>=2.0.0->magicsoup)
  Downloading sympy-1.12-py3-none-any.whl (5.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.7/5.7 MB [22](https://github.com/mRcSchwering/magic-soup/actions/runs/7143208086/job/19454169531#step:6:23).7 MB/s eta 0:00:00
Collecting networkx (from torch<2.2.0,>=2.0.0->magicsoup)
  Downloading networkx-3.2.1-py3-none-any.whl.metadata (5.2 kB)
Collecting jinja2 (from torch<2.2.0,>=2.0.0->magicsoup)
  Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 2.3 MB/s eta 0:00:00
Collecting fsspec (from torch<2.2.0,>=2.0.0->magicsoup)
  Downloading fsspec-20[23](https://github.com/mRcSchwering/magic-soup/actions/runs/7143208086/job/19454169531#step:6:24).12.1-py3-none-any.whl.metadata (6.8 kB)
Collecting MarkupSafe>=2.0 (from jinja2->torch<2.2.0,>=2.0.0->magicsoup)
  Downloading MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl.metadata (3.0 kB)
Collecting mpmath>=0.19 (from sympy->torch<2.2.0,>=2.0.0->magicsoup)
  Downloading mpmath-1.3.0-py3-none-any.whl (536 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 536.2/536.2 kB 29.4 MB/s eta 0:00:00
Downloading magicsoup-0.10.2-cp310-cp310-macosx_10_7_x86_64.whl (433 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 433.3/433.3 kB 23.8 MB/s eta 0:00:00
Downloading numpy-1.[26](https://github.com/mRcSchwering/magic-soup/actions/runs/7143208086/job/19454169531#step:6:27).2-cp[31](https://github.com/mRcSchwering/magic-soup/actions/runs/7143208086/job/19454169531#step:6:32)0-cp310-macosx_10_9_x86_64.whl (20.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 20.6/20.6 MB 10.6 MB/s eta 0:00:00
Downloading torch-2.1.1-cp310-none-macosx_10_9_x86_64.whl (1[47](https://github.com/mRcSchwering/magic-soup/actions/runs/7143208086/job/19454169531#step:6:48).0 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 147.0/147.0 MB 4.9 MB/s eta 0:00:00
Downloading filelock-3.13.1-py3-none-any.whl (11 kB)
Downloading fsspec-2023.12.1-py3-none-any.whl (168 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 168.9/168.9 kB 11.6 MB/s eta 0:00:00
Downloading networkx-3.2.1-py3-none-any.whl (1.6 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 22.4 MB/s eta 0:00:00
Downloading typing_extensions-4.8.0-py3-none-any.whl (31 kB)
Downloading MarkupSafe-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl (13 kB)
Installing collected packages: mpmath, typing-extensions, sympy, numpy, networkx, MarkupSafe, fsspec, filelock, jinja2, torch, magicsoup
Successfully installed MarkupSafe-2.1.3 filelock-3.13.1 fsspec-2023.12.1 jinja2-3.1.2 magicsoup-0.10.2 mpmath-1.3.0 networkx-3.2.1 numpy-1.26.2 sympy-1.12 torch-2.1.1 typing-extensions-4.8.0

As you can see it correctly installs numpy and torch.
I only have a Linux so I can't really reproduce this problem locally.
I only see it in the github pipeline.
CI.yml
# This file is autogenerated by maturin v1.4.0
# To update, run
#
#    maturin generate-ci --pytest github
#
name: CI

on:
  workflow_dispatch:
  push:
    tags:
      - 'v*'

permissions:
  contents: read

jobs:
  linux:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        target: [x86_64, x86, aarch64]
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      - name: Build wheels
        uses: PyO3/maturin-action@v1
        with:
          target: ${{ matrix.target }}
          args: --release --out dist --find-interpreter
          sccache: 'true'
          manylinux: auto
      - name: Upload wheels
        uses: actions/upload-artifact@v3
        with:
          name: wheels
          path: dist
      - name: pytest
        if: ${{ startsWith(matrix.target, 'x86_64') }}
        shell: bash
        run: |
          set -e
          pip install magicsoup --find-links dist --force-reinstall
          pip install pytest
          pytest tests/fast

  windows:
    runs-on: windows-latest
    strategy:
      matrix:
        target: [x64, x86]
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: '3.10'
          architecture: ${{ matrix.target }}
      - name: Build wheels
        uses: PyO3/maturin-action@v1
        with:
          target: ${{ matrix.target }}
          args: --release --out dist --find-interpreter
          sccache: 'true'
      - name: Upload wheels
        uses: actions/upload-artifact@v3
        with:
          name: wheels
          path: dist
      - name: pytest
        if: ${{ startsWith(matrix.target, 'x86') }}
        shell: bash
        run: |
          set -e
          pip install magicsoup --find-links dist --force-reinstall
          pip install pytest
          pytest tests/fast

  macos:
    runs-on: macos-latest
    strategy:
      matrix:
        target: [x86_64, aarch64]
    steps:
      - uses: actions/checkout@v3
      - uses: actions/setup-python@v4
        with:
          python-version: '3.10'
      - name: Build wheels
        uses: PyO3/maturin-action@v1
        with:
          target: ${{ matrix.target }}
          args: --release --out dist --find-interpreter
          sccache: 'true'
      - name: Upload wheels
        uses: actions/upload-artifact@v3
        with:
          name: wheels
          path: dist
      - name: pytest
        if: ${{ !startsWith(matrix.target, 'aarch64') }}
        shell: bash
        run: |
          set -e
          pip install magicsoup --find-links dist --force-reinstall
          pip install pytest
          pytest tests/fast

  sdist:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Build sdist
        uses: PyO3/maturin-action@v1
        with:
          command: sdist
          args: --out dist
      - name: Upload sdist
        uses: actions/upload-artifact@v3
        with:
          name: wheels
          path: dist

  release:
    name: Release
    runs-on: ubuntu-latest
    needs: [linux, windows, macos, sdist]
    steps:
      - uses: actions/download-artifact@v3
        with:
          name: wheels
      - name: Publish to PyPI
        uses: PyO3/maturin-action@v1
        env:
          MATURIN_PYPI_TOKEN: ${{ secrets.PYPI_API_TOKEN }}
        with:
          command: upload
          args: --non-interactive --skip-existing *

https://pytorch.org/docs/stable/notes/windows.html#installation

PyTorch doesn’t work on 32-bit system. Please use Windows and Python 64-bit version.


message_list: Add delay, tooltip suppression to reaction button.

This PR decouples the reaction button Tippy logic from other reaction pills, and introduces a longer delay. Additionally, it suppresses the reaction-button tooltip when the emoji picker is open.
CZO discussion
Screenshots and screen captures:

Before
After

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[x] Visual appearance of the changes.
[x] Responsiveness and internationalization.
[x] Strings and tooltips.
[x] End-to-end functionality of buttons, interactions and flows.
[x] Corner cases, error conditions, and easily imagined bugs.

Dropping integration review label until this gets updated just to clear my queue.

Updated with the observer logic. I tried but failed to find a non-convoluted way to share that logic between the reactions and reaction-button logic.

Merged, thanks @karlstolley!


Ability to re-enable try/catch in async/await for Lua 5.1 as a config setting?

I use TypeScriptToLua with the Minecraft mod ComputerCraft, which runs on a version of Lua 5.1 with various 5.2/5.3 library features backported. I noticed that TSTL 1.1.0 removes support for try/catch inside async/await functions on Lua 5.1, which makes sense because of the fact that pcall can't yield; however, both ComputerCraft, which uses the Cobalt VM (based on LuaJ) in Java, and my emulator CraftOS-PC, which uses a heavily patched version of Lua 5.1, do not suffer from this issue.
Would it be possible to add some sort of override inside tsconfig.json to allow exception handling inside async functions on 5.1? I do agree that the default behavior should be to disallow it, since standard Lua 5.1 is not compatible, but there are multiple 5.1 implementations that do support it, so it would be handy to be able to override that without having to switch to another version (which would then break switch) or edit the compiler manually.

Having the same issue, bump?

It's been a year now so... bump? :p


Remove redundant function ApplyServiceMeshCRDs

Function ApplyServiceMeshCRDs was added in #447, but it's redundant, because Maistra CRDs already exist in manifests directory.
What's more, this function has no effect, because os.Stat returns no such file or directory for all files in ${IstioSrc}/vendor/maistra.io/api/manifests and kubectl apply skips these files.

/retest

I'm afraid we'll need to fix this function instead of remove it

Why to keep this function, since it tries to apply already existing CRDs?

If you mean that I will need this function in #458, I didn't fix this function, because I saw this comment, so I assumed I can copy required CRDs.

Let's go with this one instead: https://github.com/maistra/istio/pull/461

Why to keep this function, since it tries to apply already existing CRDs?

Not all CRDs are in the manifests directory, and for a reason (some are installed by the operator, some by OLM - the software that installs the operator)


Add translators to landing page

cc @lbourdois :)

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


clingo prints unexpected ANSWER when called with --outf=1

When clingo is called with --outf=1, it prints ANSWER making it impossible to use the output directly as a logic program. The problem becomes even more obvious when used with --out-ifs="\n".
Steps to reproduce:
$ echo "a. b. c." | clingo --outf=1 --out-ifs="\n" 0
% clingo version 5.5.1
% Reading from stdin
% Solving...
% Answer: 1
ANSWER
a.
ANSWER
b.
ANSWER
c.
%
% Models         : 1
% Calls          : 1
% Time           : 0.000s (Solving: 0.00s 1st Model: 0.00s Unsat: 0.00s)
% CPU Time       : 0.000s

cc @MaxOstrowski

The ANSWER line is part of the of the competition format. It is a perfect anchor to use a tool like grep to get the following line.
@BenKaufmann The behavior of the --out-ifs=1 line is indeed strange. Should this be fixed?

The behavior of the --out-ifs="\n" line is indeed strange. Should this be fixed?

It certainly looks strange for the aspcomp 2013 format (and is probably also not correct) but this behavior is actually needed for sat/pb output (v ...) - and that's the reason why it's currently implemented like this.
@teiesti @rkaminsk There is also the option --out-atomf, which you could (mis-)use here. E.g.
$ echo "a. b. c." | clingo  --out-atomf='%0.' --out-ifs='\n' -V0 | head -n -1
a.
b.
c.

Then I am inclined to just close this issue. While the implementation has its quirks, it is doing what it is supposed to. For processing answer sets, the structured JSON format is imo the best way.
PS: It is quite difficult to write a regular expression that correctly matches all atoms. It would have to consider string literals; between quotes anything is possible. That's why I was advocating the JSON output.

Then I am inclined to just close this issue. While the implementation has its quirks, it is doing what it is supposed to.

I decided to change the logic so that the ANSWER line is no longer repeated. There was also quirk when printing comment/summary lines; I now dropped the use of the specified ifs in these kind of lines.
Of course, if you disagree with these changes or find a problem, I can also revert them.

I hardly ever use the output options. As soon as it gets serious, I use the API or structured output. Getting the quirks out is a good idea, though. So, fine with me.

I update the wip branch and build development binaries. This had to wait a bit to settle some other problems first. Closing now.


Fix to issue 244

Description
Updated misspelled varible to variable on SQL dumps from server's bootstrap and migration directory.
This should fix the reported
Fixes #244
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] Changes would cause existing functionality to not work as expected
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

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


Fix review comment context menu clipped bug

This is another regression of #22959 (the first regression has been fixed by the Image Diff fix)
Close #23517
This is a quick fix. Luckily, there is no "dropdown menu" for image/csv view, so we could only add the "overflow-x: scroll" to the image/csv view.
After fix:

Automatic backport depends on https://github.com/go-gitea/gitea/pull/23508.

Codecov Report

Merging #23523 (dde30d1) into main (f521e88) will increase coverage by 0.00%.
The diff coverage is 44.78%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff            @@
##             main   #23523    +/-   ##
========================================
  Coverage   47.14%   47.14%
========================================
  Files        1149     1154     +5
  Lines      151446   152250   +804
========================================
+ Hits        71397    71782   +385
- Misses      71611    71996   +385
- Partials     8438     8472    +34

Impacted Files
Coverage Δ

cmd/dump.go
0.67% <0.00%> (ø)

cmd/web.go
0.00% <0.00%> (ø)

models/actions/run.go
1.64% <0.00%> (-0.08%)
:arrow_down:

models/packages/package.go
45.45% <0.00%> (-1.13%)
:arrow_down:

models/user/search.go
77.50% <0.00%> (-6.29%)
:arrow_down:

modules/actions/github.go
0.00% <0.00%> (ø)

modules/actions/workflows.go
0.00% <0.00%> (ø)

modules/doctor/storage.go
31.93% <0.00%> (ø)

modules/setting/git.go
45.45% <ø> (ø)

modules/storage/minio.go
1.51% <0.00%> (-0.06%)
:arrow_down:

... and 45 more

... and 14 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

I was unable to create a backport for 1.19, please send one manually. :tea:


Question

how do I enable Subtitles?
How can I change the voice and language we want?
Can we add some backstory to the Ai?

You can go to localhost:8000/tts to see the subtitle when running Node.
You can go to https://docs.aws.amazon.com/polly/latest/dg/voicelist.html to find a model for the language you want
You can tell the AI to add more about his story. Before asking your questions like

await openai.createCompletion({
         model: 'davinci',
         prompt: `Hey CHARACTER_NAME! You are now CHARACTER_NAME who can answer anything. and is an expert. everyone will start talking Talk to you with the prefix Q:, but you don't need to prefix with the A:.\n
Q: YOUR_QUESTION
\nA:`,
         temperature: 0.9,
         max_tokens: 100,
         stop: ["ChatGPT:", "Adrian Twarog:", '\n'],
       });

3. You can tell the AI to add more about his story. Before asking your questions like:

await openai.createCompletion({
         model: 'davinci',
         prompt: `Hey CHARACTER_NAME! You are now CHARACTER_NAME who can answer anything. and is an expert. everyone will start talking Talk to you with the prefix Q:, but you don't need to prefix with the A:.\n
Q: YOUR_QUESTION
\nA:`,
         temperature: 0.9,
         max_tokens: 100,
         stop: ["ChatGPT:", "Adrian Twarog:", '\n'],
       });

sorry but I don't know where to put it, can you tell me how to do it, because I don't have any coding basics at all :(

How can Ai read the names of people in chat?

sure! You can use ${tags.username} to get the user's name!

can i see you parameters for Vtube Studio because i don't how to use VTS Desktop Audio Plugin?

Hey, firstly i would like to say using the normal davinci models are not recommended for chatting applications, this is basiclly what this project is, that being said i have made some adjustments on my repo to better reflect these changes and recommendations from open ai, https://github.com/InsanityLabs/AIVTuber


links to design page are broken

Since commit fe03109ab1356583f95c493259dc107ce1249d3e docs/design.md has been renamed to scripts/imgtool/design.md breaking in the process all links to docs/design.md
git grep design.md
docs/imgtool.md:requirements of this option, see the [design](design.md) document.
docs/index.md:- [Bootloader design](design.md)
docs/readme-zephyr.md:Please see the [design document](design.md) for documentation on the design
docs/signed_images.md:included in the bootloader, see the [design](design.md) document.

Thanks for reporting!

Fixed by #804