feature request in Office365Authenticator skip the Pick and Account screen

Description
When testing BTP apps using MicrosoftEdge I am faced with the "Pick an Account" screen see pic below,

this isnt an issue more of a feature request to skip that screen if it shows up, if i find time to test i will do a PR
I dont get this screen with either Chrome or FireFox, it looks like both start a browser with a temporary profile for each session which doesnt know who i am, MicrosoftEdge however opens with a temporary profile that does know all my AAD logins and so  I see the "Pick an Account" screen
the work around is to add the arg --InPrivate in the options
To Reproduce
have multiple MS accounts and try and access a BTP app using Office365 authentication
The solution is to click on the line in Office365Authenticator
...
this.useAnotherAccountSelector = "[id=otherTileText]"

async login() {
   if (!(await this.getIsLoggedIn())) {
     const useAnotherAccountDiv = await $(this.useAnotherAccountSelector)
     if (useAnotherAccountDiv) {
       useAnotherAccountDiv.click()
     }

Runtime Env:
wdi5/wdio-ui5-service-version: 1.5.0
@ui5/cli version: 1.13.0
@wdio/cli-version : 7.31.1
node-version : 18.4.0
OS: Windows 10
Browser + Version : MicrosoftEdge, Version : 114.0.1823.43

still on the todo list :)

@jasper07 is the provided workaround working for you'?
Would be nice to have, but it is quite a corner case.
Anyways, not seeing any capacity to implement this feature request in the near future.
@jasper07 you are more than welcome to create an PR for this. Have a look into the contribution guide to get startet.

agree a corner case


Protocol\Smtp->data(): be more memory friendly

With huge mails (50M), i'm hitting memory_limit, so i've done some tests
looking at peak memory usage and average time(10 runs)

str_replace("\r","") + explode("\n") 250M/0,27s (what we use now)
preg_split("\r?\n") 200M/1,5s
strtok("\n") + rtrim("\r") 100M/0,27s
strpos("\n") + substr() 50M/0,50s

All tests were run with 'php -d"memory_limit=256M" -d"opcache.enable_cli=1"'
I've choose strtok because it's the best balance between time and memory
Before this patch, we were removing \r, now we're keeping them,
in any case \r should be encoded
Signed-off-by: Etienne CHAMPETIER<EMAIL_ADDRESS>

forget about this one, if you have multiple \n, it's "eating" them


Specify --sort-files in all test cases that scan the t/text directory.

This makes them more robust if the order of the files on disk changes.
As it happens, they were all expecting the files sorted by name
(which is the default if you make a git checkout, I think).
As suggested by petdance in https://github.com/petdance/ack2/pull/560#issuecomment-162003655

Looks good, thanks @epa!


KAFKA-8805: Bump producer epoch on recoverable errors

This change is the client-side part of KIP-360. It identifies cases where it is safe to abort a transaction, bump the producer epoch, and allow the application to continue without closing the producer. In these cases, when KafkaProducer.abortTransaction() is called, the producer actually sends an InitProducerId request, which causes the ongoing transaction to be aborted and the producer epoch to be bumped. The application can then start a new transaction and continue processing.
For recoverable errors in the idempotent producer, the epoch is bumped locally. In-flight requests for partitions with an error are rewritten to reflect the new epoch, and in-flights of all other partitions are allowed to complete using the old epoch.
Committer Checklist (excluded from commit message)

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

ok to test

retest this please

Thanks for the feedback, @hachikuji and @abbccdda. I still need to address some of the comments, but I want to push additional changes that I had locally. I added integration tests for bumping the transactional epoch. As part of those, I realized that I was mistaken about being able to use InitProducerId to abort the ongoing transaction and bump the epoch at the same time, so I went back to having two separate calls.

ok to test

ok to test

ok to test

ok to test

https://builds.apache.org/job/kafka-pr-jdk11-scala2.13/4618/

retest this please

https://builds.apache.org/job/kafka-pr-jdk11-scala2.13/4634/

ok to test

retest this please

https://builds.apache.org/job/kafka-pr-jdk11-scala2.13/4679/

The failure in kafka.api.TransactionsTest.testBumpTransactionalEpoch is probably worth looking at:
org.apache.kafka.common.KafkaException: Cannot perform send because at least one previous transactional or idempotent request has failed with errors.
	at org.apache.kafka.clients.producer.internals.TransactionManager.failIfNotReadyForSend(TransactionManager.java:415)
	at org.apache.kafka.clients.producer.KafkaProducer.doSend(KafkaProducer.java:925)
	at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:862)
	at org.apache.kafka.clients.producer.KafkaProducer.send(KafkaProducer.java:750)
	at kafka.api.TransactionsTest.testBumpTransactionalEpoch(TransactionsTest.scala:632)

ok to test

retest this please

https://builds.apache.org/job/kafka-pr-jdk11-scala2.13/4737/


Crashes when adding any information into the login fields in a profile after clicking save

Using a login that already has information on it when editing it it crashes.
Also when adding a fresh new login in the profiles login areas it crashes the app

im not able to replicate this bug is it possible its specific to the profile your editing the logins on?


How to assign a float weight to every training sample?

Is the following right?
input_types: add a dense_vector(1)
network config: add a data_layer weight=data_layer( , size=1)
cost layer: coeff=weight?

Or using scaling_layer?

hi @reyoung
After adding a weight layer, i got the following error:
So strange, input order is not right!

@NIULQfromNJU In dataprovider, we calculate the input order by reference order of data_layer in TrainerConfig. But user also can yield a dictionary in dataprovider in latest code. See http://www.paddlepaddle.org/doc_cn/ui/data_provider/pydataprovider2.html#id1 's 显式指定返回的数据对应关系.
Sample weight should be added to cost layer. It is ok to add ascaling_layer to cost.  And we should add a weight parameter to cost layer later.
The sample config should be
feas = data_layer(name='feas', size=100)

hidden = fc_layer(input=feas, size=100)

predict = fc_layer(input=hidden, size=10, act=SoftmaxActivation())

cost = classification_cost(input=predict, label=data_layer(name='label', size=10))

cost_after_scale = scaling_layer(input=cost, weight=data_layer(name='weight', size=1))

outputs(cost_after_scale)

and the data provider could be

def process(settings, filename):
     with open(filename) as f:
           ...
           yield { 'feas': feas, 'label': label, 'weight': weight}

hi @reyoung
you mean that previous paddle (version 0.8.0b0) does not support this explicit way but the latest version?
Another question: which input_types can be used to represent the float weight? Is the following right?
initializer
input_types=[dense_vector(1)]
process
weight = []
weight.append(1.0)
yield weight
config
weight=data_layer(name='weight', size=1)
thx~

@NIULQfromNJU It seems that the usage above should be ok. And explicit provide data is supported since the version 0.8.0b1 .


Test classes with std::pair<> in their methods signatures

Since we've added this std class in methods signatures, let's test them!

Completed.


Explain Everything related to Django#4669

Description 📜
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context.
Fixes #4669

Type of change 📝

[x] Doc#umentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Open #Source

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

@palakshivlani-11  Any updates on this PR?


feature(compiler): add AoT compilation + lazy route bundling

@robwormald @hansl this PR seems like it was superseded by https://github.com/angular/angular-cli/pull/2333. Please reopen if that's not the case.


Scroll formatted code to top left corner of workspace

Scrolls blocks to the top left corner of the workspace after format/flow which I think is reasonable/expected behavior. You can load the test program into /beta and see the current behavior, which changes based on where in the workspace you are (eg try scrolling to the top-right corner and format).
Test program: https://makecode.microbit.org/_Dkw2emRfjKRk
Build: https://makecode.microbit.org/app/e3d66d88919b640778708d582fb76001a12b2085-c5005c49da
Fixes https://github.com/microsoft/pxt-microbit/issues/3007

hmm i think i prefer keeping the zoom the same; it seems jarring to change both the user's position and the zoom level. this just tries to fit as many blocks into the visible workspace as possible


webapp:Get-AzResource lookup on Azure App Service does not return accurate NetFrameworkVersion

When assigning a variable to this:
$enumAppService = Get-AzResource -ResourceGroupName $resName -ResourceType Microsoft.Web/sites/config -ResourceName $website.Name -ApiVersion 2018-02-01
And then writing to screen like this:
Write-host $enumAppService.Properties.NetFrameworkVersion
The output is always v4.0 (this may align to what is seen via resource.azure.com). However, this is inaccurate as a view of the resource on Azure Portal reflects the right version (e.g. v4.5). Also, when using the more recent "-ApiVersion 2019-04-01" as part of the variable the issue is not resolved.
Please advise and correct this as appropriate.

Get-Module
ModuleType Version    Name                                ExportedCommands

Script     1.6.0      Az.Accounts                         {Add-AzEnvironment, Clear-AzContext, Clear-AzDefault, Connect-AzAccount...}
Script     1.6.0      Az.Resources                        {Add-AzADGroupMember, Export-AzResourceGroup, Get-AzADAppCredential, Get-AzADApplication...}
Script     1.3.0      Az.Websites                         {Edit-AzWebAppBackupConfiguration, Enter-AzWebAppContainerPSSession, Get-AzAppServicePlan, Get-AzAppServicePlanMetric...}
Script     <IP_ADDRESS>    ISE                                 {Get-IseSnippet, Import-IseSnippet, New-IseSnippet}
Manifest   <IP_ADDRESS>    Microsoft.PowerShell.Management     {Add-Computer, Add-Content, Checkpoint-Computer, Clear-Content...}
Manifest   <IP_ADDRESS>    Microsoft.PowerShell.Security       {ConvertFrom-SecureString, ConvertTo-SecureString, Get-Acl, Get-AuthenticodeSignature...}
Manifest   <IP_ADDRESS>    Microsoft.PowerShell.Utility        {Add-Member, Add-Type, Clear-Variable, Compare-Object...}
Manifest   <IP_ADDRESS>    Microsoft.WSMan.Management          {Connect-WSMan, Disable-WSManCredSSP, Disconnect-WSMan, Enable-WSManCredSSP...}

the command shows whatever the API returns the change needs to be on the API level

This issue is about Azure PowerShell rather than .net SDK. Transfering it into the powershell repo.


Make price in gwei match what is in the gas settings UI exactly when posting a transaction

43.1 gwei -> in Etherscan 43.099998474 gwei https://goerli.etherscan.io/tx/0x7f5ac49ffe85b5b1ba80a94715f8e9b3154e44ee5e3eda458f28d2b40167d982
Similarly for Gnosis when I changed it to 2.1 gwei (I shouldn't of course), the transaction is posted as 2.099999905 gwei https://blockscout.com/xdai/mainnet/tx/0xaa324c2d576b082358a8c173f5e9294fecb5ba6bfb5412e26e4497d0bf55c6d0
Was precise here (26.5 gwei) https://etherscan.io/tx/0x50e80647b914f8650d2a366fef6e4cecf75ddb029133c18331e11fafb5d91aac
So it's probably the usual precision loss from floating point conversion

do we have steps to reproduce it?, any specific cases?


target RDF an attribute of State class, added target_rdf_calc method

This PR makes a few changes to how a State object is initialized.

The creation of the state specific directories are handled automatically
A state's target rdf is now a property of that State object.
A method is available within the State class that calculates the target rdf

The goal is to streamline the overall process. Rather than managing and organizing the target rdfs separately from their corresponding states, they become wrapped up into the state class .
There are basically 2 ways of handling target RDFs for a state:

You already have the data available, either as a numpy array or a text file. In this case, you can pass this information in when creating a State object.
You don't have target RDFs yet. You can still initiate a State object from it's trajectory, and call the target_rdf_calc method which will calculate and save the target RDF.

Here is a Gist exmaple that goes through the different ways of handling a target rdf when creating a State
I haven't gone through the rest of the files to account for the changes to the State class.
To Do:

[ ] Unit tests
[ ] Make needed changes to the rest of the code base to use State.target_rdf

I'm going to close this now that I see what is actually going on in pair.py. I think this should probably belong in the add_state function of pair.py where the state-pair target rdf can be passed in, or generated. I'll make a new PR once I have that started.


Update API Docs with .NET MAUI Service Release 2 update

Build.Reason:Manual by Gerald Versluis
Build.Url:https://apidrop.visualstudio.com/Content CI/_build/results?buildId=342509&view=results
source_repo.branch:update-maui-net7-sr2
source_repo.url:https://apidrop.visualstudio.com/_git/binaries

There is an even newer version now


[BUG]: Can you fix please? Dosen't work

Can you fix please? Dosen't

work

https://stackoverflow.com/questions/60296873/sessionnotcreatedexception-message-session-not-created-this-version-of-chrome

Hi @enric34,
what version of app are you using? Is it the latest one?

The same behaviour was described in this issue.
Please download latest version as mentioned in the issue above.
Let me know if this have resolved the case. Thanks.

Issue have been resolved, no response from submitter.


Tempo to time interval calculation inverted

The calculation from Tempo to the time interval is incorrect.

Closed by #23.


Various minor improvements

@peternewman I appreciate the PR.  I am waiting on the vendor to fix up this code so that we can release it.  I tried to use it this week and it didn't work for me and I had to go back to their version on their website.


Refactor Unit Tests to use JavaScript Modules

Description

Updated JavaScript component code to export classes. This was they can be easily consumed by other files and especially by our unit tests without exposing anything in the global scope.
Updated Karma unit tests to import those classes.
Removed karma-coverage instrumentation because of an outdated version of istanbul. It was replaced by babel-plugin-istanbul which is executed as part of the webpack build. This blocked the writing of tests for async/await constructs in our code.
Refactored the webpack.config.js to allow transpiling of unit tests, while at the same time maintaining the transpiling of the production code.
Added some unit tests to maintain coverage percentages.

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] I have signed the Adobe Open Source CLA.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[X] I have added tests to cover my changes and the overall coverage did not decrease.
[X] All unit tests pass on CircleCi.
[X] I ran all tests locally and they pass.

Codecov Report

Merging #86 into master will decrease coverage by 0.64%.
The diff coverage is 98.29%.

@@             Coverage Diff              @@
##             master      #86      +/-   ##
============================================
- Coverage     63.75%   63.11%   -0.65%
  Complexity      180      180
============================================
  Files            29       29
  Lines          1032     1014      -18
  Branches         69       69
============================================
- Hits            658      640      -18
  Misses          340      340
  Partials         34       34

Flag
Coverage Δ
Complexity Δ

#karma
94.76% <98.29%> (-0.42%)
0 <0> (ø)

#unittests
54.85% <ø> (ø)
180 <ø> (ø)
:arrow_down:

Impacted Files
Coverage Δ
Complexity Δ

...product/v1/product/clientlib/js/variantSelector.js
97.72% <100%> (-0.15%)
0 <0> (ø)

...ps/core/cif/clientlibs/common/js/PriceFormatter.js
90.9% <100%> (-1.95%)
0 <0> (ø)

...merce/product/v1/product/clientlib/js/addToCart.js
96.42% <100%> (-0.35%)
0 <0> (ø)

...ctlist/v1/productlist/clientlibs/js/productlist.js
90.47% <93.75%> (-1.2%)
0 <0> (ø)

...ommerce/product/v1/product/clientlib/js/product.js
92.85% <95.45%> (-0.7%)
0 <0> (ø)

...ommerce/product/v1/product/clientlib/js/gallery.js
94.87% <98.57%> (-0.19%)
0 <0> (ø)

Continue to review full report at Codecov.

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


Upgrade azure-armrest gem to 0.3.13.

This upgrades the azure-armrest gem from 0.3.9 to 0.3.13. The primary motivation for this upgrade is added methods that allow users to easily delete associated resources.
For the full changes, please see https://github.com/ManageIQ/azure-armrest/blob/master/CHANGES.

Should this be part of the azure gem itself now (and not part of manageiq?)

@Fryguy This is just for euwe.

@djberg96 - Did you make sure EMS refresh, event collection, metric collection and provisioning still work as expected?

@bronaghs since there were no changes that would affect those things, not explicitly, no.

@miq-bot add_label wip


feat: added the deployment diagram

I'm not 100% sure if it's accurate enough as far as the app's deployment node goes but at least this will give enough indication about how each containers fit together from a deployment/infrastructure perspective.

@gr2m Not anymore since Netlify automatically generates the static site (even on PRs as shown by the netlify/ac-architecture/deploy-preview step which leads to https://deploy-preview-4--ac-architecture.netlify.app/#/2 Deployment/HOME)

I see! I totally missed the website. Maybe we should mention it on top of the README, too?

Yeah, good point, it's in the sidebar of the repo but I guess some might go straight to the README.
Feel free to submit a PR on how you see it fitting in the README, if not I'll do it after ~9:30pm UK time.


Typo in requirements.txt

opencv-python was mis-typed

@Chemino Thank you for finding this error, I will fix it immediately.


Add ZSTD compression support to forward plugin

Is your feature request related to a problem? Please describe.
ZSTD is a modern compression algorithm developed by Facebook. Using ZSTD has one of the best compression/resource consumption ratios in the compression area.
Describe the solution you'd like
Have a ZSTD compression support in additoin to GZip. Would be awesome, if will be a possibility to specify the compression level as well.
Describe alternatives you've considered
Left all things as is.
Additional context
Maybe this change will require changing FluentBit implementation as well.

I would also like to see support for ZSTD. While the compression ratio of gzip is often decent, it is slow, which is a problem for Fluentd due to the GIL of CRuby. Apart from performance, gzip combined with TLS can be a security issue (cf. https://en.wikipedia.org/wiki/BREACH).
While there are other good compression algorithms (e.g. LZ4 or snappy), ZSTD seems to be the only one which has maintained ruby bindings (cf. https://github.com/SpringMT/zstd-ruby).


how to put the feature vectors into LSTM?

I have extracted features from another DL models.Now I have many feature vectors(length 4096) ,let's assume it 1000 feature vectors. A block(may be size of 10)of vectors has a label. All my data is in .mat form.
How can I input my data into the LSTM network to train?

you may need more description about your task/data.
but the general step is, firstly convert .mat to numpy array( maybe scipy.io can do it), if your data is not big enough, then rearrange to some LSTM network depend on your task style, the data style or lstm model can refer to:https://github.com/dmlc/mxnet/blob/master/example/rnn/lstm_ptb.py#L16-L35

I have the same question about this,can anybody answer it .

I have the same question about this,can anyone answer this question?


lib/core.js: fix instancing extension injection

Fix so that the 'instancing' extension is not only injected for 'draw'
calls, but also for the other types.

This fixes issue #264


Deterministic chain of random values in particle shader can be broken when turbulence is used

Godot version
v4.1.1.stable.official [bd6af8e0e]
System information
Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1650 SUPER (NVIDIA; <IP_ADDRESS>30) - Intel(R) Core(TM) i5-10400F CPU @ 2.90GHz (12 Threads)
Issue description
The error is basically known: A random value is generated within an IF-THEN-block. As soon as the condition for IF changes, all subsequent random values change once.
This concerns the following location (turbulence):
if (!COLLIDED) {
	float vel_mag = length(VELOCITY);
	float vel_infl = clamp(mix(turbulence_influence_min, turbulence_influence_max, rand_from_seed(alt_seed)) * turbulence_influence, 0.0, 1.0);
	VELOCITY = mix(VELOCITY, normalize(noise_direction) * vel_mag * (1.0 + (1.0 - vel_infl) * 0.2), vel_infl);
}

I think the right thing to do would be to pull the random value before IF:
float turbulence_influence_rand = rand_from_seed(alt_seed);
if (!COLLIDED) {
	float vel_mag = length(VELOCITY);
	float vel_infl = clamp(mix(turbulence_influence_min, turbulence_influence_max, turbulence_influence_rand) * turbulence_influence, 0.0, 1.0);
	VELOCITY = mix(VELOCITY, normalize(noise_direction) * vel_mag * (1.0 + (1.0 - vel_infl) * 0.2), vel_infl);
}

Steps to reproduce
I found the error directly in the source code.
Minimal reproduction project
N/A

cc @RPicster @QbieShay

Will be fixed by https://github.com/godotengine/godot/pull/79527


Trajectory Generation done in Octopus Search

Hi,
Just wondering why the trajectories generated in octopus search does not actually reach the final end point?
Thanks!

Found out that modifying params.Ra yielded a trajectory that reaches the endpoint. Just curious as to what this Ra is ?

Hi @minghancmh,
Ra is the radius of a sphere in which the algorithm will try to find a trajectory. Octopus Search will not create any control points that lie outside that sphere (see this line).
Octopus Search will try to find a trajectory that finishes close to the goal (but it does not have to be exactly the goal). The trajectory obtained by Octopus Search will be used as initial guess in the optimization. In this optimization, the distance between the endpoint of the trajectory and the goal is minimized (see Section V-D of the paper)

I'm closing this for now, but feel free to reopen it if needed


cleanvm: tunnel through SSH

so that we do not need java-1.8 on the host
for this we have to inline the update-automation macro,
because it also needs to happen on the remote end
First test of a slightly different version is running at
https://ci.opensuse.org/job/openstack-cleanvm/image=SLE_11_SP3,openstack_project=Juno,slave=cloud-cleanvm/2742/console

So we're running cleanvm nested inside a vm? Otherwise I don't understand how this works. Would it be possible to just install java 1.8 on the host until we managed to upgrade it? There's an openjdk 1.8 available

no, we are running cleanvm in the same place as before, just jenkins is connecting into another (more modern) VM initially to trigger the run on the host via ssh
@dirkmueller  Do you have a link to that java-1.8 ? I tried to build one in https://build.opensuse.org/project/monitor/home:bmwiedemann:java and got pretty far with bootstrapping, but 1.8 itself failed the build.

https://build.opensuse.org/package/show/home:dirkmueller:branches:Java:Factory/java-1_8_0-openjdk

At some point there was a java addon channel for sle11 but it seems that one never got 1.8.. I mis remembered that.

We are using Dirk's openjdk-1.8 on the ci1-opensuse host for now.

closing as we have a different solution


Referencing a worker with URL breaks the build

Describe the bug
Running npm build breaks with Error: Could not find file "node_modules/.pnpm/@sveltejs+kit@1.15.4_svelte@3.58.0+vite<EMAIL_ADDRESS>in Vite manifest. This is caused by referencing a worker js file using new Worker(new URL(.., import.meta.url))
Even if this is caused by something like an invalid worker file (which it isn't, since it works fine in dev mode), the error message (or creation of start.js) should not break because of this
Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-e7zbcm?file=src/routes/+layout.svelte
See src/routes/+layout.svelte. Reproduce by running npm run build
Logs
No response
System Info
Reproable in stackblitz. Latest packages

Severity
blocking an upgrade
Additional Information
Unable to release a package using sveltekit due to the bug

Duplicate of https://github.com/sveltejs/kit/issues/9528


Xing OAuth implementation

Xing is a large business network website mainly for German speakers.
Of course they provide an Oauth (v1) implementation
Here are the docs: https://dev.xing.com/docs/authentication
Please merge :)

Probably silly to ask, but can you confirm that you've tested that this works?
If yes I'll merge it.
Best,

Yep. It's tested, if you want I can pass you the client key and secret to test it yourself. though I confirmed just now that it works ;)

Thank you for contributing!

cool. when you going to release it?

I usually merge to master after a few commits.  Maybe a week or two.


Add initial metrics support

What type of PR is this?
/kind feature
What this PR does / why we need it:
This adds the necessary code infrastructure to allow serving metrics
within the operator daemonset (spod). The metrics are for now served
unencrypted on port :8081. An additional service metrics can be used
for scraping from prometheus (by using the auto-discover plugin
kubernetes_sd_configs or a ServiceMonitor together with the
prometheus-operator).
This patch features a sample metric counter
security_profiles_operator_seccomp_profile, which can be distinguished
by the labels update and delete. For example, if we create 4 new
profiles and delete them afterwards, then the output should look like:
\# HELP security_profiles_operator_seccomp_profile Counter about seccomp profile operations.
\# TYPE security_profiles_operator_seccomp_profile counter
security_profiles_operator_seccomp_profile{operation="delete"} 4
security_profiles_operator_seccomp_profile{operation="update"} 4

Things to be done after this patch:

decide which metrics we would like to implement
provide documentation around the feature
add metric related e2e tests

Which issue(s) this PR fixes:

Refers to #276
Does this PR have test?
Yes

Special notes for your reviewer:
Does this PR introduce a user-facing change?

Added `metrics` service endpoint to the operator namespace, which now serves the `security_profiles_operator_seccomp_profile` metric.

Codecov Report

Merging #422 (bc9b2cf) into master (e90060e) will increase coverage by 1.69%.
The diff coverage is 73.17%.

@@            Coverage Diff             @@
##           master     #422      +/-   ##
==========================================
+ Coverage   38.00%   39.69%   +1.69%
==========================================
  Files          20       22       +2
  Lines         950      985      +35
==========================================
+ Hits          361      391      +30
- Misses        574      579       +5
  Partials       15       15


Weird highlighting behaviour

I copied the default config and changed the colors, but I noticed 2 things

there are still some original colors left even though I changed all of them in the config
some parts are highlighted weirdly

My config:
formats:
  # $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
  nginx-combined:
    # $remote_addr
    - regexp: (\d{1,3}(\.\d{1,3}){3} )
      fg: 11
    # -
    - regexp: (- )
      fg: 8
    # $remote_user
    - regexp: ([^ ]+ )
      fg: 5
    # [$time_local]
    - regexp: (\[.+\] )
      fg: 6
    # "$request"
    - regexp: ("[^"]+" )
      fg: 14
    # $status
    - regexp: (\d\d\d )
      fg: 15
      alternatives:
        - regexp: (2\d\d )
          fg: 2
          style: bold
        - regexp: (3\d\d )
          fg: 6
          style: bold
        - regexp: (4\d\d )
          fg: 9
          style: bold
        - regexp: (5\d\d )
          fg: 13
          style: bold
    # $body_bytes_sent
    - regexp: ([\d]+ )
      fg: 8
    # "$http_referer"
    - regexp: ("[^"]+" )
      fg: 6
    # "$http_user_agent"
    - regexp: ("[^"]+")
      fg: 13

patterns:
  string:
    priority: 500
    regexp: ("[^"]+"|'[^']+')
    fg: 2

  number:
    regexp: (\d+)
    fg: 6
    style: bold

  http-status-code:
    regexp: (\d\d\d)
    fg: 15
    alternatives:
      - regexp: (2\d\d)
        fg: 2
      - regexp: (3\d\d)
        fg: 6
      - regexp: (4\d\d)
        fg: 9
      - regexp: (5\d\d)
        fg: 13

  ipv4-address:
    regexp: (\d{1,3}(\.\d{1,3}){3})
    fg: 9
    bg: 11

words:
  success:
    fg: 10
    style: bold
    list:
      - "open"
      - "finish"

  warning:
    fg: 11
    style: bold
    list:
      - "ignore"
      - "miss"
      - "readonly"
      - "reload"
      - "skip"
      - "warn"
      - "restart"

Orig:

Changed:

Hi again :)
The config that is provided with the logalize package (the one in /etc/logalize/logalize.yaml) is just an example, not the default one. Logalize has some formats, patterns and words built-in right into the executable file. You can see these built-ins here or print them with logalize -b.
You can disable some of the built-ins or even all of them with -L, -P, -W or -N flags. See more in logalize -h. For example, if you use -N flag it will turn off all built-in stuff and there only source for colorization info will be your configuration file.

Ohhh, makes sense. I basically want to change the the colors, but don't change the patters/formats/etc. The only way to do that if I understand correctly is to copy all the builtins and override the colors. Are color themes planned? Or maybe make the defaults use terminal colors? :thinking:

Themes are in the plans, but I can't promise it will be soon :/
Why do you want to use ANSI terminal colors instead of the full RGB TrueColor? Most modern terminals support it. And if you try to use logalize in something like Linux virtual console with only basic 256 colors it will fall back from TrueColor to ANSI automatically.

The main reason is that if i change the color/color theme in one place, it automatically changes in all of my tools. Absolutely no pressure with color themes, I am just looking for a good log highlighter, I don't want you to implement the feature just because I want it, take your time, just wanted to know the plans :)

Mill do! Thanks again!

@dgudim Hi! I've just added theme support. Check out the docs in readme.md. I'll leave the issue open for some time in case you have any questions. Feel free to close it if everything is okay.

Nice! I thought the themes would be implemented a little different (only specifying standard colors + extended colors + their shades), but this is also good

Here is gruvbox theme for you:
# For the most part, it's based on colors from https://github.com/folke/tokyonight.nvim
themes:
  tokyonight:
    formats:
      # INFO:
      # Nginx predefined "combined" format
      #
      # SOURCE:
      # https://nginx.org/en/docs/http/ngx_http_log_module.html
      #
      # SCHEME:
      # $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent"
      nginx-combined:
        remote-addr:
          fg: "#ebdbb2"
        dash:
          fg: "#83a598"
        remote-user:
          fg: "#83a598"
        time-local:
          fg: "#d3869b"
        request:
          fg: "#ebdbb2"
        status:
          2xx:
            fg: "#98971a"
            style: bold
          3xx:
            fg: "#458588"
            style: bold
          4xx:
            fg: "#cc241d"
            style: bold
          5xx:
            fg: "#d3869b"
            style: bold
        body-bytes-sent:
          fg: "#458588"
        http-referer:
          fg: "#ebdbb2"
        http-user-agent:
          fg: "#83a598"

      # INFO:
      # Ingress Nginx default format
      #
      # SOURCE:
      # https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/log-format/
      #
      # SCHEME:
      # $remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" $request_length $request_time [$proxy_upstream_name] [$proxy_alternative_upstream_name] $upstream_addr $upstream_response_length $upstream_response_time $upstream_status $req_id
      nginx-ingress-controller:
        remote-addr:
          fg: "#ebdbb2"
        dash:
          fg: "#83a598"
        remote-user:
          fg: "#83a598"
        time-local:
          fg: "#d3869b"
        request:
          fg: "#ebdbb2"
        status:
          2xx:
            fg: "#98971a"
            style: bold
          3xx:
            fg: "#458588"
            style: bold
          4xx:
            fg: "#cc241d"
            style: bold
          5xx:
            fg: "#d3869b"
            style: bold
        body-bytes-sent:
          fg: "#458588"
        http-referer:
          fg: "#ebdbb2"
        http-user-agent:
          fg: "#83a598"
        request-length:
          fg: "#458588"
        request-time:
          fg: "#ebdbb2"
        proxy-upstream-name:
          fg: "#83a598"
        proxy-alternative-upstream-name:
          fg: "#458588"
        upstream-addr:
          fg: "#ebdbb2"
        upstream-response-length:
          fg: "#d3869b"
        upstream-response-time:
          fg: "#83a598"
        upstream-status:
          2xx:
            fg: "#98971a"
            style: bold
          3xx:
            fg: "#458588"
            style: bold
          4xx:
            fg: "#cc241d"
            style: bold
          5xx:
            fg: "#d3869b"
            style: bold
        req-id:
          fg: "#458588"

      # INFO:
      # klog format, useful for things like Cert Manager, Cluster Autoscaler and other Kubernetes-related logs
      #
      # SOURCE:
      # https://github.com/kubernetes/klog/blob/9ad246211af1ed84621ee94a26fcce0038b69cd1/klog.go#L581-L597
      #
      # SCHEME:
      # Lmmdd hh:mm:ss.uuuuuu threadid file:line] msg...
      #
      # where the fields are defined as follows:
      # 	L                A single character, representing the log level (eg 'I' for INFO)
      # 	mm               The month (zero padded; ie May is '05')
      # 	dd               The day (zero padded)
      # 	hh:mm:ss.uuuuuu  Time in hours, minutes and fractional seconds
      # 	threadid         The space-padded thread ID as returned by GetTID()
      # 	file             The file name
      # 	line             The line number
      # 	msg              The user-supplied message
      klog:
        log-level:
          info:
            fg: "#83a598"
            style: bold
          warning:
            fg: "#fabd2f"
            style: bold
          error:
            fg: "#d3869b"
            style: bold
          fatal:
            fg: "#cc241d"
            style: bold
        time:
          fg: "#ebdbb2"
        thread-id:
          fg: "#458588"
        filename:
          fg: "#83a598"
        line-number:
          fg: "#458588"
        bracket:
          fg: "#fabd2f"
        message:
          style: "patterns-and-words"

      # INFO:
      # Redis default log format
      #
      # SOURCE:
      # https://github.com/redis/redis/issues/12918#issuecomment-1880735488
      # https://github.com/redis/redis/issues/2545#issuecomment-97270522
      #
      # SCHEME:
      # PID:ROLE day month year hh:mm:ss.uuu log-level-char msg
      redis:
        pid:
          fg: "#83a598"
        colon:
          fg: "#458588"
        role:
          master:
            fg: "#d3869b"
            style: bold
          replica:
            fg: "#83a598"
            style: bold
          sentinel:
            fg: "#fabd2f"
            style: bold
          rdb-aof-writing-child:
            fg: "#8ec07c"
            style: bold
        date:
          fg: "#d3869b"
        time:
          fg: "#ebdbb2"
        log-level:
          warning:
            fg: "#fabd2f"
            style: bold
          notice:
            fg: "#83a598"
            style: bold
          info:
            fg: "#83a598"
            style: bold
          debug:
            fg: "#8ec07c"
            style: bold
        message:
          style: "patterns-and-words"

    patterns:
      # 2024-02-17T06:56:10Z
      # 2024-02-17T06:56:10.636960544Z
      # 2024-02-17T06:56:10.636960544+01:00
      rfc3339:
        # 2024-02-17
        date:
          fg: "#d3869b"
        # T
        t-delimiter:
          fg: "#83a598"
        # 06:56:10.636960544
        time:
          fg: "#ebdbb2"
        # Z
        # +01:00
        offset:
          fg: "#83a598"

      # 23:42:12
      # 23:42:12.034123
      time:
        fg: "#ebdbb2"

      # 1999-07-10
      # 1999/07/10
      # 07-10-1999
      # 07/10/1999
      date-1:
        fg: "#d3869b"

      # 27 Jan
      # 27 January
      # 27 Jan 2023
      # 27 August 2023
      # 27-Jan-2023
      # 27-August-2023
      # 27/Jan/2023
      # 27/August/2023
      date-2:
        fg: "#d3869b"

      # Jan 27
      # January 27
      # Jan 27 2023
      # August 27 2023
      # Jan-27-2023
      # August-27-2023
      # Jan/27/2023
      # August/27/2023
      date-3:
        fg: "#d3869b"

      # Mon 17
      # Sunday 3
      date-4:
        fg: "#d3869b"

      # 5s
      # 7.5h
      # 75.984854ms
      duration:
        # 7.5
        number:
          fg: "#83a598"
        # h
        unit:
          fg: "#458588"

      # xxxxx=xxxxxxx
      logfmt-general:
        key:
          fg: "#83a598"
        equal-sign:
          fg: "#458588"
        value:
          style: patterns-and-words

      # xxxxx="xxxxxxx"
      logfmt-string:
        key:
          fg: "#83a598"
        equal-sign:
          fg: "#458588"
        opening-quotation-mark:
          fg: "#83a598"
        value:
          style: patterns-and-words
        closing-quotation-mark:
          fg: "#83a598"

      # <IP_ADDRESS>
      # <IP_ADDRESS>/16
      # <IP_ADDRESS>:8080
      ipv4-address:
        # <IP_ADDRESS>
        address:
          fg: "#83a598"
        # /16
        # :8080
        mask-or-port:
          fg: "#458588"

      # 2001:db8:4006:812::200e
      # [2001:db8:4006:812::200e]:8080
      ipv6-address:
        # [
        opening-bracket:
          fg: "#458588"
        # 2001:db8:4006:812::200e
        address:
          fg: "#83a598"
        # ]
        closing-bracket:
          fg: "#458588"
        # :8080
        port:
          fg: "#458588"

      # 3D:F2:C9:A6:B3:4F
      # 3D-F2-C9-A6-B3-4F
      mac-address:
        fg: "#83a598"

      # 0a99af43-0ad4-4237-b9cd-064966eb2803
      uuid:
        fg: "#83a598"

    # see lists of the words themselves here: https://github.com/deponian/logalize/tree/main/builtins/words
    words:
      bad:
        fg: "#fb4934"
        style: bold
      good:
        fg: "#458588"
        style: bold
      info:
        fg: "#458588"
        style: bold
      warning:
        fg: "#fabd2f"
        style: bold

I thought about doing a more generic approach to themes as you described, but settled on the current option so that users have the ability to change any color in any format, pattern or word group. Thank you for gruvbox theme! I'll add it as a built-in theme in the next release.


Fix Linux Dependencies

Check why pexpect isn't installed by default when installing ansys-mapdl-core:
python3.7 -m pip install ansys.mapdl-core
Defaulting to user installation because normal site-packages is not writeable
Collecting ansys.mapdl-core
  Downloading ansys_mapdl_core-0.58.0-py3-none-any.whl (1.3 MB)
     |████████████████████████████████| 1.3 MB 3.3 MB/s
Collecting grpcio-health-checking>=1.30.0
  Downloading grpcio-health-checking-1.35.0.tar.gz (11 kB)
Collecting pyvista>=0.27.2
  Downloading pyvista-0.28.1-py3-none-any.whl (1.2 MB)
     |████████████████████████████████| 1.2 MB 9.8 MB/s
Requirement already satisfied: tqdm>=4.45.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from ansys.mapdl-core) (4.45.0)
Collecting ansys-mapdl-reader>=0.50.0
  Downloading ansys_mapdl_reader-0.50.6-cp37-cp37m-manylinux1_x86_64.whl (3.3 MB)
     |████████████████████████████████| 3.3 MB 16.3 MB/s
Collecting appdirs>=1.4.0
  Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting ansys-grpc-mapdl==0.2.0
  Downloading ansys-grpc-mapdl-0.2.0.tar.gz (13 kB)
Collecting ansys-corba
  Downloading ansys_corba-0.1.1-cp37-cp37m-manylinux2010_x86_64.whl (5.7 MB)
     |████████████████████████████████| 5.7 MB 13.8 MB/s
Requirement already satisfied: google-api-python-client in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from ansys.mapdl-core) (1.12.8)
Requirement already satisfied: grpcio>=1.30.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from ansys.mapdl-core) (1.35.0)
Collecting pyiges>=0.1.4
  Downloading pyiges-0.1.4-py3-none-any.whl (1.0 MB)
     |████████████████████████████████| 1.0 MB 23.5 MB/s
Requirement already satisfied: protobuf>=3.1.4 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from ansys.mapdl-core) (3.15.1)
Requirement already satisfied: numpy>=1.14.0 in /usr/local/lib/python3.7/site-packages (from ansys.mapdl-core) (1.19.4)
Requirement already satisfied: scipy>=1.3.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from ansys.mapdl-core) (1.6.1)
Requirement already satisfied: six>=1.5.2 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from grpcio>=1.30.0->ansys.mapdl-core) (1.15.0)
Collecting geomdl
  Downloading geomdl-5.3.1-py2.py3-none-any.whl (147 kB)
     |████████████████████████████████| 147 kB 21.8 MB/s
Collecting scooby>=0.5.1
  Downloading scooby-0.5.6-py3-none-any.whl (13 kB)
Collecting transforms3d==0.3.1
  Downloading transforms3d-0.3.1.tar.gz (62 kB)
     |████████████████████████████████| 62 kB 1.4 MB/s
Collecting vtk
  Downloading vtk-9.0.1-cp37-cp37m-manylinux2010_x86_64.whl (103.4 MB)
     |████████████████████████████████| 103.4 MB 67 kB/s
Collecting imageio
  Downloading imageio-2.9.0-py3-none-any.whl (3.3 MB)
     |████████████████████████████████| 3.3 MB 19.6 MB/s
Collecting pillow
  Downloading Pillow-8.1.0-cp37-cp37m-manylinux1_x86_64.whl (2.2 MB)
     |████████████████████████████████| 2.2 MB 14.8 MB/s
Collecting meshio<5.0,>=4.0.3
  Downloading meshio-4.3.10-py3-none-any.whl (153 kB)
     |████████████████████████████████| 153 kB 13.1 MB/s
Requirement already satisfied: importlib-metadata in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from meshio<5.0,>=4.0.3->pyvista>=0.27.2->ansys.mapdl-core) (0.22)
Requirement already satisfied: uritemplate<4dev,>=3.0.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-python-client->ansys.mapdl-core) (3.0.1)
Requirement already satisfied: google-auth-httplib2>=0.0.3 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-python-client->ansys.mapdl-core) (0.0.4)
Requirement already satisfied: httplib2<1dev,>=0.15.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-python-client->ansys.mapdl-core) (0.19.0)
Requirement already satisfied: google-auth>=1.16.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-python-client->ansys.mapdl-core) (1.27.0)
Requirement already satisfied: google-api-core<2dev,>=1.21.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-python-client->ansys.mapdl-core) (1.26.0)
Requirement already satisfied: setuptools>=40.3.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (53.0.0)
Requirement already satisfied: pytz in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (2021.1)
Requirement already satisfied: packaging>=14.3 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (20.9)
Requirement already satisfied: googleapis-common-protos<2.0dev,>=1.6.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (1.52.0)
Requirement already satisfied: requests<3.0.0dev,>=2.18.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (2.25.1)
Requirement already satisfied: rsa<5,>=3.1.4 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-auth>=1.16.0->google-api-python-client->ansys.mapdl-core) (4.7.1)
Requirement already satisfied: cachetools<5.0,>=2.0.0 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-auth>=1.16.0->google-api-python-client->ansys.mapdl-core) (4.2.1)
Requirement already satisfied: pyasn1-modules>=0.2.1 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from google-auth>=1.16.0->google-api-python-client->ansys.mapdl-core) (0.2.8)
Requirement already satisfied: pyparsing<3,>=2.4.2 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from httplib2<1dev,>=0.15.0->google-api-python-client->ansys.mapdl-core) (2.4.7)
Requirement already satisfied: pyasn1<0.5.0,>=0.4.6 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from pyasn1-modules>=0.2.1->google-auth>=1.16.0->google-api-python-client->ansys.mapdl-core) (0.4.8)
Requirement already satisfied: certifi>=2017.4.17 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (2020.12.5)
Requirement already satisfied: idna<3,>=2.5 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (2.10)
Requirement already satisfied: chardet<5,>=3.0.2 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (4.0.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from requests<3.0.0dev,>=2.18.0->google-api-core<2dev,>=1.21.0->google-api-python-client->ansys.mapdl-core) (1.26.3)
Requirement already satisfied: zipp>=0.5 in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from importlib-metadata->meshio<5.0,>=4.0.3->pyvista>=0.27.2->ansys.mapdl-core) (0.6.0)
Requirement already satisfied: more-itertools in /shared/home1/ftheveno/.local/lib/python3.7/site-packages (from zipp>=0.5->importlib-metadata->meshio<5.0,>=4.0.3->pyvista>=0.27.2->ansys.mapdl-core) (7.2.0)
Building wheels for collected packages: ansys-grpc-mapdl, grpcio-health-checking, transforms3d
  Building wheel for ansys-grpc-mapdl (setup.py) ... done
  Created wheel for ansys-grpc-mapdl: filename=ansys_grpc_mapdl-0.2.0-py3-none-any.whl size=16213 sha256=3bfff8b7b26a5f04d838a5c782e78dd186cbf2962700125709789a965144f90b
  Stored in directory: /shared/home1/ftheveno/.cache/pip/wheels/cd/b2/6b/1b6440dda71e61acf77722eaa7016bd312b131352998b8f3ba
  Building wheel for grpcio-health-checking (setup.py) ... done
  Created wheel for grpcio-health-checking: filename=grpcio_health_checking-1.35.0-py3-none-any.whl size=13395 sha256=cd13fef8b142a4ad229219cb0b3b9a46f35dcfb965c6741ea5ac875870796a0a
  Stored in directory: /shared/home1/ftheveno/.cache/pip/wheels/89/e5/7d/6ab5ff1ae1a5233692a64ce53223c844f71c7762a920ddf817
  Building wheel for transforms3d (setup.py) ... done
  Created wheel for transforms3d: filename=transforms3d-0.3.1-py3-none-any.whl size=59374 sha256=c9aed19a9dfd30bbc07c9daf53ee26f2dbe43b3b661298dda150477c9ff63abd
  Stored in directory: /shared/home1/ftheveno/.cache/pip/wheels/b5/b7/93/8985551f83720ce37548a5b543c75380bb707955a9c2c5d28c
Successfully built ansys-grpc-mapdl grpcio-health-checking transforms3d
Installing collected packages: pillow, vtk, transforms3d, scooby, meshio, imageio, appdirs, pyvista, geomdl, pyiges, grpcio-health-checking, ansys-mapdl-reader, ansys-grpc-mapdl, ansys-corba, ansys.mapdl-core
Successfully installed ansys-corba-0.1.1 ansys-grpc-mapdl-0.2.0 ansys-mapdl-reader-0.50.6 ansys.mapdl-core appdirs-1.4.4 geomdl-5.3.1 grpcio-health-checking-1.35.0 imageio-2.9.0 meshio-4.3.10 pillow-8.1.0 pyiges-0.1.4 pyvista-0.28.1 scooby-0.5.6 transforms3d-0.3.1 vtk-9.0.1

Resolved in #365 and #368.


Updated readme

Fixed broken CI badge
Updated screenshots for current version
Clearer wording for installation instruction titles (now it's clear these are separate/alternative processes rather than stages in the same process)

Pulled brew instructions out of the codeblock so that it wraps. Rephrased for the new position

cheers 🍻


Update readme and format code

Update readme to format usage and make all badges in one line.
Run pre-commit run --all-files to format all files.
Run pre-commit autoupdate to update hooks to the latest.

Codecov Report

Merging #17 (6a2ad79) into main (4c4a16e) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #17   +/-   ##
=======================================
  Coverage   93.68%   93.68%
=======================================
  Files           4        4
  Lines          95       95
=======================================
  Hits           89       89
  Misses          6        6

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Cannot build from source

Hi,
Following the steps in the README, when I run yarn build, tznft stops build at the compile-contract command.

tznft uses dockerized Ligo to compile contracts.
Most likely the docker container is corrupted.
I'd recommend to restart Docker and see if it helps


aws credential

when creating a new aws account config, I'm getting  the following message:
"No connection to AWS for more than 20min. Please check your configuration."

and it is not collecting any data from aws.
Just need to open the aws credentials created, save it and start to work as expected.

I'm using the following .json file:
{
"label": "{{ .name }}",
"partitionType": "AWS_DEFAULT",
"authenticationData": {
"type": "ROLE",
"roleBasedAuthentication": {
"iamRole": "Dynatrace_monitoring_role",
"accountId": "{{ .awsid }}"
}
},
"taggedOnly": false,
"tagsToMonitor": [
{
"name": "string",
"value": "string"
}
]
}

HI @JACONDE. Thank you for the bug report. I'll forward this on Monday to the developers of the AWS credentials API.

Hi @JACONDE . I am able to reproduce the issue.
It seems that the logic for error message is not correct. In my case, it seems that credentials (if they are valid) will turn to OK state after approx 2 minutes. Can you check if this is also the case for you?
In the meantime we are trying to fix this error message. It should say "Initializing".

let me double check that - I used the same credentials when created those integrations manually and they were ok.
I will come back to you on that

it seems to be working fine now - it is a bit weird when created, it shows as red in the screen, and then after collecting data in turns into black (normal status) - I'm closing the incident now. Thanks for your support


Don't treat text in multiple lines as separate sentences

くん is highlighted as a verb, which is wrong.

This is mostly a MeCab issue which we have to work around (possibly by feeding MeCab text with newlines replaced with spaces)

[ ] Done in DidacticalEnigma.WPF
[x] Done in DidacticalEnigma.Next


Make input morphable

The list of widgets in Widget Entries panel should be the same as the list of widgets in the select in the property panel.
We take the properties and values as is. When changing widgets in the select, the values in the same type of properties have to be saved.

A list of widgets that should be present in the lists:

Input
Multi-line input
KeyValue
Currency Input
Phone Input
Number input
Password input
Email input

closing as done.


Affinity group and failure domain controllers with multiple workers

Description of changes:
Affinity group and Failure domain controllers are setup with a single worker. This change introduces concurrent workers for both of these controllers. Users can tweak the number of workers using a flag in their deployments. Workers default to 5 for both controllers.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/run-e2e -c 4.18

/ok-to-test

Setting up environment failed

/run-e2e -c 4.18

@weizhouapache a jenkins job has been kicked to run test with following paramaters:

kubernetes version: 1.27.2
CloudStack version: 4.18
hypervisor: kvm
template: ubuntu-2004-kube
Kubernetes upgrade from: 1.26.5 to 1.27.2

@weizhouapache a jenkins job has been kicked to run test with following paramaters:

kubernetes version: 1.27.2
CloudStack version: 4.18
hypervisor: kvm
template: ubuntu-2004-kube
Kubernetes upgrade from: 1.26.5 to 1.27.2

results look ok
Summarizing 3 Failures:
 [FAIL] When testing app deployment to the workload cluster with network interruption [ToxiProxy] [BeforeEach] Should be able to create a cluster despite a network interruption during that process
 /jenkins/workspace/capc-e2e-new/test/e2e/toxiproxy/toxiProxy.go:203
 [FAIL] When testing Kubernetes version upgrades [It] Should successfully upgrade kubernetes versions when there is a change in relevant fields
 /root/go/pkg/mod/sigs.k8s.io/cluster-api/test@v1.4.8/framework/cluster_helpers.go:144
 [FAIL] When testing app deployment to the workload cluster with slow network [ToxiProxy] [BeforeEach] Should be able to download an HTML from the app deployed to the workload cluster
 /jenkins/workspace/capc-e2e-new/test/e2e/toxiproxy/toxiProxy.go:203

Ran 28 of 29 Specs in 8593.217 seconds
FAIL! -- 25 Passed | 3 Failed | 0 Pending | 1 Skipped
--- FAIL: TestE2E (8593.22s)
FAIL

/run-e2e -c 4.18

@weizhouapache a jenkins job has been kicked to run test with following paramaters:

kubernetes version: 1.27.2
CloudStack version: 4.18
hypervisor: kvm
template: ubuntu-2004-kube
Kubernetes upgrade from: 1.26.5 to 1.27.2

/lgtm
We'll try to test this manually and see if we get all tests to pass

Hi @vignesh-goutham @g-gaston I ran the e2e tests manually and was able to get a successful run 👍

/approve


feat: disallow ModuleRunnerTransport to be async

Description
Alternative to #18750.
Instead of making import.meta.hot.send async, this PR makes ModuleRunnerTransport to disallow send to be async. This way we can avoid the breaking change.

closing as #18753 was merged


feat(Boards,PeriphDrivers,MiscDrivers,Documentation)!: Allow Users to Set BSP Search Directory, Make mxc.h Safe Against LIB_BOARD=0, Remove MiscDrivers Files from mxc.h

Overview

Add the BSP_SEARCH_DIR build config variable to allow users to load BSPs from outside of the default search location inside the MSDK.  (see https://github.com/Analog-Devices-MSDK/msdk/pull/613/commits/86073adc4d5936159ba9c8a12ab15d1c13f8481e)

Fix build errors from mxc.h when LIB_BOARD = 0 (see https://github.com/Analog-Devices-MSDK/msdk/pull/613/commits/fa13e7ac18241d501a95acdf346192f0469d8720)

I would have preferred to remove #include "board.h" from mxc.h entirely, but the ai8x-synthesis tool depends on it.

Move led/pb/tft include files inside "board.h" instead of including them in mxc.h (see https://github.com/Analog-Devices-MSDK/msdk/pull/613/commits/1811f464a146869522ff6fa799b7ed49c2530c8a)  (potentially breaking change for older projects)

Update User Guide with improved documentation on Custom BSPs.  (see https://github.com/Analog-Devices-MSDK/msdk/pull/613/commits/66ff6bb549b299bec1c0f78a57420c62d44d3dc6)

Resolves #596

Thanks for your review @ozersa.  I will implement the changes.
For point 3

I believe mxc.h file shall not include board related includes. For now board.h file is left.

I agree.  I would also prefer to remove it, but the ai8x-synthesis tool and some existing projects depend on the old behavior.  For example, ai8x-synthesis tool will throw implicit function warnings if it's removed (ex mnist)
We can update the tool and projects, but I think too many old projects will be affected if we remove it completely.  What do you think?
❯ make
Loaded project.mk
make -f /home/jakecarter/repos/fork/msdk/Libraries/PeriphDrivers/libPeriphDriver.mk  lib BUILD_DIR=/home/jakecarter/repos/fork/msdk/Libraries/PeriphDrivers/bin/MAX78000/softfp PROJ_CFLAGS="-Wall -Wcast-align  -DMXC_ASSERT_ENABLE -DARM_MATH_CM4 -DLIB_BOARD -DCAMERA_OV7692" PROJ_LDFLAGS="" MXC_OPTIMIZE_CFLAGS=-O2 MFLOAT_ABI=softfp DUAL_CORE= RISCV_CORE= PROJECTMK=
make[1]: Entering directory '/home/jakecarter/repos/ai8x-synthesis/sdk/Examples/MAX78000/CNN/mnist'
make[1]: Leaving directory '/home/jakecarter/repos/ai8x-synthesis/sdk/Examples/MAX78000/CNN/mnist'
  CC    cnn.c
In file included from cnn.c:54:
cnn.c: In function 'CNN_ISR':
cnn.h:47:22: warning: implicit declaration of function 'LED_Off' [-Wimplicit-function-declaration]
   47 | #define CNN_COMPLETE LED_Off(1)
      |                      ^~~~~~~
cnn.c:65:3: note: in expansion of macro 'CNN_COMPLETE'
   65 |   CNN_COMPLETE; // Signal that processing is complete
      |   ^~~~~~~~~~~~
cnn.c: In function 'cnn_start':
cnn.h:46:19: warning: implicit declaration of function 'LED_On' [-Wimplicit-function-declaration]
   46 | #define CNN_START LED_On(1)
      |                   ^~~~~~
cnn.c:435:3: note: in expansion of macro 'CNN_START'
  435 |   CNN_START; // Allow capture of processing time
      |   ^~~~~~~~~
  CC    main.c

Thanks for your review @ozersa. I will implement the changes.
For point 3

I believe mxc.h file shall not include board related includes. For now board.h file is left.

I agree. I would also prefer to remove it, but the ai8x-synthesis tool and some existing projects depend on the old behavior. For example, ai8x-synthesis tool will throw implicit function warnings if it's removed (ex mnist)
We can update the tool and projects, but I think too many old projects will be affected if we remove it completely. What do you think?
❯ make
Loaded project.mk
make -f /home/jakecarter/repos/fork/msdk/Libraries/PeriphDrivers/libPeriphDriver.mk  lib BUILD_DIR=/home/jakecarter/repos/fork/msdk/Libraries/PeriphDrivers/bin/MAX78000/softfp PROJ_CFLAGS="-Wall -Wcast-align  -DMXC_ASSERT_ENABLE -DARM_MATH_CM4 -DLIB_BOARD -DCAMERA_OV7692" PROJ_LDFLAGS="" MXC_OPTIMIZE_CFLAGS=-O2 MFLOAT_ABI=softfp DUAL_CORE= RISCV_CORE= PROJECTMK=
make[1]: Entering directory '/home/jakecarter/repos/ai8x-synthesis/sdk/Examples/MAX78000/CNN/mnist'
make[1]: Leaving directory '/home/jakecarter/repos/ai8x-synthesis/sdk/Examples/MAX78000/CNN/mnist'
  CC    cnn.c
In file included from cnn.c:54:
cnn.c: In function 'CNN_ISR':
cnn.h:47:22: warning: implicit declaration of function 'LED_Off' [-Wimplicit-function-declaration]
   47 | #define CNN_COMPLETE LED_Off(1)
      |                      ^~~~~~~
cnn.c:65:3: note: in expansion of macro 'CNN_COMPLETE'
   65 |   CNN_COMPLETE; // Signal that processing is complete
      |   ^~~~~~~~~~~~
cnn.c: In function 'cnn_start':
cnn.h:46:19: warning: implicit declaration of function 'LED_On' [-Wimplicit-function-declaration]
   46 | #define CNN_START LED_On(1)
      |                   ^~~~~~
cnn.c:435:3: note: in expansion of macro 'CNN_START'
  435 |   CNN_START; // Allow capture of processing time
      |   ^~~~~~~~~
  CC    main.c

I forgot to reply, just remember,
For this case I recommend you prepare a script that search and find (in example source file)
#include "mxc.h"
then replace it with
#include "mxc.h"
#include "board.h"
Then you can remove board.h file in mxc.h file
Additionally i will be nice if you remove led.h/pb.h file include in examples file by script.

Ope, breaking features need to have the '!' at the end of PR prefix, not after the release type (feat(...)!:, not feat!(...):). I'll update the documentation.

Jake asked me to comment here. Please don't break existing code. The MAX7800x codebase is just the most visible, but whatever affects us will affect customer code as well.

There were some UART register fixes pushed into main. I attempted to manually update the runner's workspaces in the BTM-CI, but it can't pull in the proper changes from branches right now... Not sure why, looking into this. But to make the workflow pass, just sync up your branch/fork with main.

@ozersa I think I have found a good solution to support #ifdef LIB_BOARD.  The main problem with compiler definitions defined by the build system is that they are not detected by the IDE intellisense engines.
By defining the following rule
.PHONY: project_defines
project_defines: $(BUILD_DIR)/project_defines.h
$(BUILD_DIR)/project_defines.h: mkbuildir
	$(file > $(BUILD_DIR)/empty.c,)
	$(file > $(BUILD_DIR)/project_defines.h,// This is a generated file that's used to detect definitions that have been set by the compiler and build system.)
	@arm-none-eabi-gcc -E -P -dD $(BUILD_DIR)/empty.c $(CFLAGS) >> $(BUILD_DIR)/project_defines.h
	@rm $(BUILD_DIR)/empty.c
	@rm empty.d

We can generate a "project_defines.h" header file that can be force included from VS Code.  The contents of this file contains all of the compiler-specific and project-specific defines and enables the intellisense to work properly.
// ...
#define __GXX_TYPEINFO_EQUALITY_INLINE 0
#define __ELF__ 1
#define __USES_INITFINI__ 1
#define TARGET MAX78000
#define TARGET_REV 0x4131
#define DEBUG 1
#define MXC_ASSERT_ENABLE 1
#define LIB_BOARD 1
#define CAMERA_OV7692 1

(build/project_defines.h)

(.vscode/settings.json)

(mxc.h)
I am working to find a similar option for Eclipse.  For now, I will apply these changes based on adding the LIB_BOARD definition and implement the solution for the intellisense engines in a separate PR.

There were some UART register fixes pushed into main. I attempted to manually update the runner's workspaces in the BTM-CI, but it can't pull in the proper changes from branches right now... Not sure why, looking into this. But to make the workflow pass, just sync up your branch/fork with main.

Thanks, I'll ignore it for now since I haven't made any register changes


[language] replace uses of get_txn_sender()

Motivation
Preparing to remove support for get_txn_sender()
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
Updated tests and ran them.

@bors-libra r=tnowacki

:pushpin: Commit 6890b23 has been approved by tnowacki

:hourglass: Testing commit 6890b23b502894ab91a3c97b081c524f7d9b9687 with merge a592d06c80d54fb1b8367883f02db384832b341a...

:broken_heart: Test failed - checks-actions_land_blocking_test

@bors-libra retry

:hourglass: Testing commit 6890b23b502894ab91a3c97b081c524f7d9b9687 with merge a093d7e3aa72fe00380784e03c785d40b90212c3...

:broken_heart: Test failed - checks-circle_commit_workflow

@bors-libra retry

:hourglass: Testing commit 6890b23b502894ab91a3c97b081c524f7d9b9687 with merge d6fe878942d447391626c3add06e6aff9d5e0117...

:sunny: Test successful - checks-actions_land_blocking_test, checks-circle_commit_workflow
Approved by: tnowacki
Pushing d6fe878942d447391626c3add06e6aff9d5e0117 to master...


Remove gitStream

We've decided to halt our gitStream experiment for now.
I'm also removing all GS-generated labels.  After this is merged, we'll remove the GS secrets from the repo.
Related: https://github.com/gradle/bt-internal-docs/pull/272

@bot-gradle test and merge


Automated testing for pure js extensions only

In your documentation you were referring to be able to test edge extensions, though this only applies for pure JS extensions and not for extensions which use native messaging.

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

ID: 8d5f8503-00e3-1b62-0912-0789ae732d38
Version Independent ID: 8e273172-c25a-0fdf-0d10-3cd9aa3f542c
Content: Creating and testing extension packages - Microsoft Edge Development
Content Source: microsoft-edge/extensions/guides/packaging/creating-and-testing-extension-packages.md
Product: microsoft-edge
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

Considering its an old thread and we have rolled out a new Chromium-based Edge browser, I'll go ahead and close it. If you still are facing any issues, please feel free to reopen this issue or file a new one.

That is good with me.


Errors when passing in event loop to run-engine

In ophyd async, we'd like to be able to connect to devices before creating the RunEngine as documented here.
The goal would be to connect to our devices without a run engine:
    async with DeviceCollector(sim=True):
        sim_motor = motor.Motor("BLxxI-MO-TABLE-01:X")

Then use the run-engine when we want to:
    RE = RunEngine(loop=asyncio.get_running_loop())

    def my_plan():
        sim_motor.move(3.14)
        return

    RE(my_plan())

    assert await sim_motor.readback.get_value() == 3.14

We've come across a problem with the RunEngine loop argument:
from bluesky import RunEngine
import asyncio

async def coro ():
    loop = asyncio.get_event_loop()
    RunEngine(loop=loop)

asyncio.run(coro())

The above fails, with the stacktrace
Traceback (most recent call last):
  File "/scratch/twj43146/Programming/ophyd-async/test.py", line 9, in <module>
    asyncio.run(coro())
  File "/dls_sw/apps/python/miniforge/4.10.0-0/envs/python3.11/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/dls_sw/apps/python/miniforge/4.10.0-0/envs/python3.11/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/dls_sw/apps/python/miniforge/4.10.0-0/envs/python3.11/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
    return future.result()
           ^^^^^^^^^^^^^^^
  File "/scratch/twj43146/Programming/ophyd-async/test.py", line 7, in coro
    RunEngine(loop=loop)
  File "/scratch/twj43146/Programming/ophyd-async/.venv/lib/python3.11/site-packages/bluesky/run_engine.py", line 366, in __init__
    self._th = _ensure_event_loop_running(loop)
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/scratch/twj43146/Programming/ophyd-async/.venv/lib/python3.11/site-packages/bluesky/run_engine.py", line 2721, in _ensure_event_loop_running
    th = _ensure_event_loop_running.loop_to_thread[loop]
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
  File "/dls_sw/apps/python/miniforge/4.10.0-0/envs/python3.11/lib/python3.11/weakref.py", line 415, in __getitem__
    return self.data[ref(key)]
           ~~~~~~~~~^^^^^^^^^^
KeyError: <weakref at 0x7fdb76978a40; to '_UnixSelectorEventLoop' at 0x7fdb779b9dd0>

I wasn't able to find any tests for passing in a custom loop. We should add this functionality if it isn't already present.
@coretl @callumforrester

@tacaswell presume there just needs to be a check to see if the weakref has been collected and repopulate?

The following works
def test_device_connector_async_run_engine_same_event_loop():
    async def set_up_device():
        async with DeviceCollector(sim=True):
            sim_motor = motor.Motor("BLxxI-MO-TABLE-01:X")
        return sim_motor

    loop = asyncio.new_event_loop()
    sim_motor = loop.run_until_complete(set_up_device())
    RE = RunEngine(loop=loop)

    def my_plan():
        yield from bps.mov(sim_motor, 3.14)

    RE(my_plan())

    async def get_setpoint():
        return await sim_motor.setpoint.read()

    assert asyncio.run(get_setpoint())["sim_motor-setpoint"]["value"] == 3.14


Disable WinFormsAvaloniaControlHost in design mode

What does the pull request do?

This pull request disables the creation of an EmbeddableControlRoot in WinFormsAvaloniaControlHost when it is in design mode, i.e. run by the Windows Forms designer.
Furthermore, I added a rectangle with a caption Avalonia control is disabled in design mode. which is rendered in design mode only to inform help developers find their control in the designer and give them a hint why they cannot see their Avalonia control.
What is the current behavior?

When you add a WinFormsAvaloniaControlHost to your Form, the control throws an exception.

First, you will be shown this message box by Visual Studio every time you open the designer which is very annoying.

Secondly, in place of your control host the designer will render a big error message which is hard to ignore while using the designer for other controls.
What is the updated/expected behavior with this PR?

Now, the control does not throw an exception anymore and the designer instead shows a subtle hint that the Avalonia control is disabled.
How was the solution implemented (if it's not obvious)?

Just two simple if conditions. If WinFormsAvaloniaControlHost should become more complex in the future it might make sense to split the runtime and the designer implementation into two different classes.
Checklist

[ ] Added unit tests (if possible)?
[ ] Added XML documentation to any related classes?
[ ] Consider submitting a PR to https://github.com/AvaloniaUI/avalonia-docs with user documentation

Fixed issues

Fixes #16288

@daniel-lerch,
Please read the following Contributor License Agreement (CLA). If you agree with the CLA, please reply with the following:
@cla-avalonia agree

Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement ( “Agreement” ) is agreed to by the party signing below ( “You” ),
and conveys certain license rights to the AvaloniaUI OÜ ( “AvaloniaUI OÜ” ) for Your contributions to
AvaloniaUI OÜ open source projects. This Agreement is effective as of the latest signature date below.
1. Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to AvaloniaUI OÜ under this Agreement.
“Project” means any of the projects owned or managed by AvaloniaUI OÜ and offered under a license
approved by the Open Source Initiative (www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
2. Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
3. Originality of Work.  You represent that each of Your Submissions is entirely Your
original work. Should You wish to Submit materials that are not Your original work,
You may Submit them separately to the Project if You (a) retain all copyright and
license information that was in the materials as you received them, (b) in the
description accompanying your Submission, include the phrase "Submission
containing materials of a third party:" followed by the names of the third party and any
licenses or other restrictions of which You are aware, and (c) follow any other
instructions in the Project's written guidelines concerning Submissions.
4. Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
5. Licenses.
a. Copyright License. You grant AvaloniaUI OÜ, and those who receive the Submission directly
or indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable
license in the Submission to reproduce, prepare derivative works of, publicly display, publicly perform,
and distribute the Submission and such derivative works, and to sublicense any or all of the foregoing
rights to third parties.
b. Patent License. You grant AvaloniaUI OÜ, and those who receive the Submission directly or
indirectly from AvaloniaUI OÜ, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license
under Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
c. Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.
6. Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3 ). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6 , THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
7. Notice to AvaloniaUI OÜ. You agree to notify AvaloniaUI OÜ in writing of any facts or
circumstances of which You later become aware that would make Your representations in this
Agreement inaccurate in any respect.
8. Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
9. Governing Law/Jurisdiction. This Agreement is governed by the laws of the Republic of Estonia, and
the parties consent to exclusive jurisdiction and venue in the courts sitting in Talinn,
Estonia. The parties waive all defenses of lack of personal jurisdiction and forum non-conveniens.
10. Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by AvaloniaUI OÜ.
AvaloniaUI OÜ dedicates this Contribution License Agreement to the public domain according to the Creative Commons CC0 1.

@cla-avalonia agree

Thank you very much for the quick reactions.
Interestingly, your macOS integration tests (merge queue) fail although I only changed a Windows only component 🙃

@daniel-lerch there are some flaky tests, especially on macOS. And when one fails - the rest will fail too. Unfortunately, it's way too difficult to setup integrational tests well.
But yes, this PR didn't break them.


Reload pagination after ajax request

Hi,
I have a problem with Pagination module, I have a ajax popup wich show a list of data but the pagination don't works after ajax request.
Can you give me a way to fix this ?
Regards.

@Oviglo, per the issue template you deleted, the issues forum is not for support requests.  please be respectful of our time and our processes by following the project documentation.  There is a link in the issue template that instructs you on how to get help.  Thanks.


Parsing YAML metadata block takes time

With my note repository, it now (b2a45049e6f36328beb5f62f28f91b9d01ceeed6) takes around 350ms while just listing files takes 6ms.

Parsing them asynchronously would be a solution?

Another solution would be caching.
We can say cached metadata are valid unless there is a new commit since we made the cache.

I think this issue is now practically solved thanks to caching.
See #8 for asynchronous parsing for YAML metadata.
I'm closing.


[Platforms] Publish Platforms Def paper via CNCF

Need to determine the process for publishing a whitepaper via CNCF and/or propose one. I started an email thread with CNCF staff and will share what I learn.
In today's WG meeting we agreed that we'd like to have this published by Kubecon EU on April 17 latest.
Here's the draft paper: https://github.com/cncf/tag-app-delivery/blob/platforms-v1alpha1/platforms-whitepaper/v1alpha1/paper.md
A couple examples we might learn from:

WG Cartographos publishes their paper on a Netlify site: https://cncfmaturitymodel.netlify.app/
This TAG's Operators whitepaper is published as PDF in this repo: https://github.com/cncf/tag-app-delivery/blob/main/operator-wg/whitepaper/CNCF_Operator_WhitePaper_v1-0_20210715.pdf

The website framework is complete and the doc is available at https://appdelivery.cncf.io/whitepapers/platforms. Thank you @krumware and @cjyabraham for your contributions and advice, great stuff!
The PDF version is now being prepared by CNCF; let's keep this issue open till that's finished.

🎉🎉🎉🚀🚀🚀


[Q] Does resume='auto' always rerun a crashed run even if I pass a new 'id' in init?

Let's say, in my train script, I call my init function as follows:
wandb.init(entity='me', config=run_config, id=wandb.util.generate_id(), resume='auto')
Now let's say run with id "run-id-1" crashes, and this script is run again. Will it now do a new run with "run-id-2" or resume "run-id-1"?
PS: Thanks for this amazing tool. It's everything I've ever needed.

Hi @archilk, please see this document on specifics of resuming runs for your particular use case. Please let me know if you have any questions after reviewing. Thanks.

Hi @archilk l, since we have not heard back from you we are going to close this request. If you would like to re-open the conversation, please let us know!


add a postgresclient-with-awscli docker image

https://github.com/cloudkite-io/cloudbuild-docker-images/pull/32/commits/e0a1f2cd90f934129982b6f4b033386d87627053 updates the docs to show the correct target registry for the image under docker-images artifact registry


final git bisect step leads to: "fatal: you want to use way too much memory"

markus@x4 gcc % git --version
git version 2.9.0
...
markus@x4 gcc % git bisect good

Bisecting: 0 revisions left to test after this (roughly 1 step)
[a64301f7ac47b9d8f4f816c5e935cda4c92716b7] 2016-05-26  Jerry DeLisle<EMAIL_ADDRESS>markus@x4 gcc % git bisect good

f216419e5c4c41df70dbe00a6ea1faea46484dc8 is the first bad commit
commit f216419e5c4c41df70dbe00a6ea1faea46484dc8
fatal: you want to use way too much memory
markus@x4 gcc %

Version 2.8.4 is fine. So this is a regression...

This repository is just for the git-scm.com website, not git itself. You'll probably get better responses by posting to the mailing list.
That being said, if it is a regression, bisecting it (using a working version, naturally :wink:) would be a good start.
That message comes from hitting integer overflow when allocating a strbuf. So it's likely to involve reading uninitialized memory, or some signed integer being cast to unsigned and appearing to be very large. It may depend on the exact contents of your repository. Sharing the repo and the sequence of good/bad (e.g., from git bisect log) can help others reproduce the issue.

OK. Thanks. Will do.


Add a note to specify the required Hugo version in the prerequisites.

Fixes #45597
The instruction to install a specific Hugo extended version as defined in netlify.toml is mentioned in the Running the website locally using Hugo section.
However, I believe it would be helpful to move the instruction to the Prerequisites section. This would prevent readers from inadvertently installing the latest Hugo extended version (currently v0.124.1) which is incompatible with k/w.
Suggestions and feedback are welcome!
Kind regards,
Aditya.

/lgtm
I think this could help avoid some mistakes. Good to see it refers to the netlify.toml file to get the version rather than repeating it here, as I'm sure things would get out of sync if we had it stated in both locations.


[BULK UPDATE] DocuTune - Fix build validation issues: docs-link-absolute (part 2)

Global effort to fix build validation errors
The Microsoft Skilling team is fixing build validation errors and specific brand inconsistencies in Microsoft technical documentation for the rest of FY23 Q1. This will help address various accessibility, security, and usability issues. This PR was generated using DocuTune. It includes only targeted fixes and minor formatting adjustments.
DocuTune PRs improve quality of technical content by finding and automatically correcting a broad set of issues only where the correction is suitable. Please review within five business days and merge or comment in the PR with any changes you'd like to see. Thank you!
CorrelationId: 0df9c2d6-63f8-4d1e-8b57-b33611a06514
InitiativeId: docutune-build-validation-issues-2022-05
PointOfContact: Alex Buck

#docutune-draft

Docs Build status updates of commit 3a46ea1:
:warning: Validation status: warnings

File
Status
Preview URL
Details

academic-services/includes/ma-subscription-receive-data.md
:warning:Warning
View View (>=makes-1.0)
Details

academic-services/includes/ma-subscription-signup.md
:warning:Warning
View View (>=makes-1.0)
Details

academic-services/knowledge-exploration-service/get-started-receive-data.md
:warning:Warning
View (>=makes-1.0)
Details

academic-services/knowledge-exploration-service/how-to-create-index-from-mag.md
:warning:Warning
View (>=makes-1.0)
Details

academic-services/knowledge-exploration-service/introduction.md
:warning:Warning
View (>=makes-1.0)
Details

academic-services/knowledge-exploration-service/reference-makes-command-line-tool.md
:warning:Warning
View (>=makes-1.0)
Details

academic-services/knowledge-exploration-service/resources-troubleshoot-guide.md
:warning:Warning
View (>=makes-1.0)
Details

academic-services/knowledge-exploration-service/tutorial-entity-linking.md
:warning:Warning
View (>=makes-1.0)
Details

academic-services/knowledge-exploration-service/tutorial-schema-design.md
:warning:Warning
View (>=makes-1.0)
Details

academic-services/includes/ma-subscription-receive-data.md

Line 7, Column 89: [Warning: file-not-found - See documentation] Invalid file link: './get-started-setup-provisioning'.
Line 16, Column 73: [Warning: file-not-found - See documentation] Invalid file link: './get-started-setup-provisioning'.
Line 18, Column 85: [Warning: file-not-found - See documentation] Invalid file link: './get-started-setup-provisioning'.
Line 71, Column 77: [Warning: file-not-found - See documentation] Invalid file link: './get-started-setup-provisioning'.

academic-services/includes/ma-subscription-signup.md

Line 14, Column 335: [Warning: file-not-found - See documentation] Invalid file link: './resources-pricing'.
Line 99, Column 122: [Warning: file-not-found - See documentation] Invalid file link: './get-started-receive-data'.

academic-services/knowledge-exploration-service/get-started-receive-data.md

Line 9, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'Receive MAKES releases using Azure Data Share'.

academic-services/knowledge-exploration-service/how-to-create-index-from-mag.md

Line 9, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'Create custom MAKES index from a MAG release'.

academic-services/knowledge-exploration-service/introduction.md

Line 5, Column 10: [Warning: ms-date-invalid - See documentation] Invalid date format for 'ms.date': '2020-02-10'. Must be a date in format M/D/YYYY, no more than 30 days from today.
Line 9, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'About Microsoft Academic Knowledge Exploration Service'.

academic-services/knowledge-exploration-service/reference-makes-command-line-tool.md

Line 10, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'MAKES command line tool (KESM)'.
Line 85, Column 52: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'MakesPackage' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 89, Column 53: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'MakesPackage' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 112, Column 75: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'ApplicationSettingJsonPath' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 162, Column 47: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'MakesPackage' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 166, Column 42: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'MakesPackage' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.
Line 170, Column 45: [Suggestion: disallowed-html-tag - See documentation] HTML tag 'MakesPackage' isn't allowed.  Replace it with approved Markdown or escape the brackets if the content is a placeholder.

academic-services/knowledge-exploration-service/resources-troubleshoot-guide.md

Line 5, Column 10: [Warning: ms-date-invalid - See documentation] Invalid date format for 'ms.date': '2020-06-12'. Must be a date in format M/D/YYYY, no more than 30 days from today.
Line 9, Column 1: [Warning: h1-not-first - See documentation] Markdown content is not allowed before H1 'Troubleshoot Common MAKES Command Line Tool Issues'.
Line 27, Column 1: [Warning: code-block-indented - See documentation] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 31, Column 1: [Warning: code-block-indented - See documentation] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 35, Column 1: [Warning: code-block-indented - See documentation] Indented code blocks aren't allowed. Use a Markdown code block surrounded by triple backticks (```).
Line 77, Column 9: [Warning: alt-text-bad-value - See documentation] Alt text 'batch-account-detail-page' is the same as the image file name. This redundancy adds no value for users of screen readers. For accessibility, add more descriptive alt text.
Line 82, Column 9: [Warning: alt-text-bad-value - See documentation] Alt text 'select-job-pool-from-jobs-page' is the same as the image file name. This redundancy adds no value for users of screen readers. For accessibility, add more descriptive alt text.
Line 86, Column 9: [Warning: alt-text-bad-value - See documentation] Alt text 'node-error-detail-page' is the same as the image file name. This redundancy adds no value for users of screen readers. For accessibility, add more descriptive alt text.

This comment lists only the first 25 errors (including error/warning/suggestion) in the pull request.
For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings or suggestions unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

#docutune-ready

#docutune-request-approval


Spdhg with stochastic sampler

Describe your changes
-Allow SPDHG to take a sampler either from our sampler class or any class with a next(self) function
-Deprecated prob from SPDHG, taking the probabilities instead from the sampler class or from a new argument prob_weights, choosing the default [1/num_subsets]*num_subsets if one is not provided in either place.
-Created two setters for the step sizes. set_step_sizes_from_ratio resets the step sizes if the user provides one/both/none of gamma and rho - note that this closes #1860. step_sizes_custom takes in one/both/none of sigma and tau allowing the user to use a custom sigma and tau with those not provided calculated from the defaults. Calculating sigma from tau probably needs checking with someone else.
-Added a check_convergence function that checks self._sigma[i] * self._tau * self.norms[i]**2 <= self.prob_weights[i] for all i. This probably needs checking with someone else.
-Deprecated the kwarg "norms" to be replaced by the set_norms method in BlockOperator: added a function to return a list of norms and the ability to set this list of norms BlockOperator: added a function to return a list of norms and the ability to set this list of norms  #1513.
-Unit tests for SPDHG setters and convergence check
-Speed up of current SPDHG unit tests.
Describe any testing you have performed
Please add any demo scripts to CIL-Demos/misc/
Test with SPDHG https://github.com/TomographicImaging/CIL-Demos/blob/main/misc/testing_sampling_SPDHG.ipynb
Similar results gained for all samplers for SPDHG, with 10 subsets

With 80 subsets:

Link relevant issues
Part of the stochastic work plan. Closes #1575. Closes  #1576. Closes #1500. Closes #1496
Checklist when you are ready to request a review

[x] I have performed a self-review of my code
[x] I have added docstrings in line with the guidance in the developer guide
[x] I have implemented unit tests that cover any new or modified functionality
[x] CHANGELOG.md has been updated with any functionality change
[x] Request review from all relevant developers
[x] Change pull request label to 'Waiting for review'

Contribution Notes
Please read and adhere to the developer guide and local patterns and conventions.

[x] The content of this Pull Request (the Contribution) is intentionally submitted for inclusion in CIL (the Work) under the terms and conditions of the Apache-2.0 License.
[x] I confirm that the contribution does not violate any intellectual property rights of third parties

For reference:
PDHG parameters:

f (Function) – A convex function with a “simple” proximal method of its conjugate.

g (Function) – A convex function with a “simple” proximal.

operator (LinearOperator) – A Linear Operator.

sigma (positive float, or np.ndarray, DataContainer, BlockDataContainer, optional, default=None) – Step size for the dual problem.

tau (positive float, or np.ndarray, DataContainer, BlockDataContainer, optional, default=None) – Step size for the primal problem.

initial (DataContainer, optional, default=None) – Initial point for the PDHG algorithm.

gamma_g (positive float, optional, default=None) – Strongly convex constant if the function g is strongly convex. Allows primal acceleration of the PDHG algorithm.

gamma_fconj (positive float, optional, default=None) – Strongly convex constant if the convex conjugate of f is strongly convex. Allows dual acceleration of the PDHG algorithm.

PDHG functions:

set_gamma_g (this is due to strong convexity and something we might consider for SPDHG in the future)
set_gamma_fconj (this is due to strong convexity and something we might consider for SPDHG in the future)
check_convergence
set_step_sizes
update_step_sizes (this is due to strong convexity and something we might consider for SPDHG in the future)

New SPDHG parameters:

f (BlockFunction) – Each must be a convex function with a “simple” proximal method of its conjugate

g (Function) – A convex function with a “simple” proximal

operator (BlockOperator) – BlockOperator must contain Linear Operators

tau positive float, optional, default=None) – Step size parameter for Primal problem

sigma (list of positive float, optional, default=None) – List of Step size parameters for Dual problem

initial (DataContainer, optional, default=None) – Initial point for the SPDHG algorithm

gamma (float) – parameter controlling the trade-off between the primal and dual step sizes

sampler (an instance of a cil.optimisation.utilities.Sampler class or another class with the function next(self) implemented outputting an integer from {1,…,len(operator)}.) – Method of selecting the next index for the SPDHG update. If None, a sampler will be created for random sampling with replacement and each index will have probability = 1/len(operator)

New SPDHG functions:

set_step_sizes_from_ratio
set_step_sizes
check_convergence

See also Gemma's comment https://github.com/TomographicImaging/CIL/issues/1496#issuecomment-2039494809

I am struggling with a test which compares PDHG and SPDHG where the number of subsets is one: #1863

As discussed in the software meeting today, we are resurrecting this PR. @paskino @jakobsj - I would be grateful for a brief look


Ubuntu 22.04 instructions need update

Describe the bug
Ubuntu install instructions need updating
To Reproduce
Steps to reproduce the behavior:

Go to cli
copy paste current sudo apt install string and see error...

$ sudo apt install qtbase5-dev qtbase5-dev-tools libqt5x11extras5-dev libopencv-dev libspdlog-dev libfmt-dev libomp-12-dev qt5-default libqt5x11extras5 libspdlog1 libomp5-12 libxsettings-dev libxsettings-client-dev
[sudo] password for kosh:
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Package qt5-default is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'qt5-default' has no installation candidate

Expected behavior
packages would install
Screenshots
See output above
Environment (please complete the following information):

Operating system version: Ubuntu 22.04
Webcam model:  N/A
AITrack version: N/A

Additional context
None.

replacing "qt5-default" with "qt5-qmake"
$ sudo apt install qtbase5-dev qtbase5-dev-tools libqt5x11extras5-dev libopencv-dev libspdlog-dev libfmt-dev libomp-12-dev qt5-qmake libqt5x11extras5 libspdlog1 libomp5-12 libxsettings-dev libxsettings-client-dev
made this portion of the install proceed on ubuntu 22.04