Potential Merge with base9

Given the stranded history of base16, I wrote my own version of base16: base9...
Some of the differences, I think, are fundamentally incompatible with base16.
Here is the about page:
https://base9-theme.github.io/about#how-its-different-from-base16
As proof of concept, I made a vscode extension
The main incompatible difference is that base9 mixes user specified colors to produce more colors for templates to use. This way, users need to specify less colors (16 to 9, or potentially even less in future versions), but templates can be more flexible and modern.
On one hand, I like the improvement I made, and some of the incompatible changes are probably never going to be a part of base16.
On the other hand, now that we have base16 rebooted and base9, splitting the effort would be wasteful.
I basically want to know what are your thoughts?
Do you come to base9?
Do I come to base16?
Do we happily coexist, and have a healthy competition?
If base16 continues to move forward, do you think the improvement I made is good to be ported back to base9?

I'm going to tag @FredHappyface who created https://github.com/Base24/base24 since this topic quite related to them too.

i think it's also important to keep it backward compatible at the same time (so such changes wouldnt instantly make all existing but not actively updating themes or templates obsolete) as i understood from base24 page it's there:

as for base9 - i think instead of literally merging with them we could borrow the idea of having lightness/saturation/etc variations of colors, similar to existing: {{base01-rgb-b}} to add smth similar to scss filters

(both approaches would solve my personal concern of not able to generate full linux terminal palette from base16 color theme)

Just wrote vision for base9.
Based on the current discussion of base16, I think it's going towards a different direction. These are just based on my perceived vision of base16, let me know if I misunderstood.
Who does it serve for
Base16's primary audience is template writer and theme writer. It aims to provide a precise API for them to talk to each other.
While I want Base9 to really be for the end user and really enable the user to specify its own theme easily and apply them easily.
There is a conflicting need here:
The template developer need a lot more than 16 colors, and need a computer readable config file.
If an end user without background knowledge wants to design a new color theme, it certainly doesn't want to specify more than 16 colors. In my opinion, 16 is even too much, that's why I reduced it to 9, I'm also considering further reducing it to 4. You could also argue that writing a config file is too daunting for the end user.
How to deal with breaking change.
Base16 tries to make sure all changes are non-breaking or have a smooth migration. Since it already has a large audience, we don't want things to stop working.
Base9 is a new project and tries to solve legacy problems that base16 by a new code base and standard.
In my opinion, most of base16 is very boilerplate and is far easier to rewrite than to migrate if there is a breaking change.
So I'm not too worried about porting templates.
Conclusion
If this is accurate, I think both have reasons to exist. I'll keep my base9. And feel free to close the issue.

I'm not sure Base9 (or something similar) couldn't be built on TOP of Base16... as a tooling/ease of use layer...  Many base16 themes could likely easily be upgraded/downgraded to Base9 themes easily enough in an automated/computer color science way.
But I think we're also fine if the project has it's own goals/ideas and wants to be it's own thing.  I don't think Base16 is trying to gobble up things just cause... only if we could perhaps solve the reason for the fork in the first place.

I'm assuming I understand the base16's vision correctly.

I'm not sure Base9 (or something similar) couldn't be built on TOP of Base16.

Makes sense, only if the second point is addressed.
One of the hardest-to-address legacy problems is the name "base16".
It has a few unused colors (BASE_0F for sure, arguably one of BASE06, BASE_07)
And it implies that all you need is 16 colors, when a template clearly needs more than 16 unique colors.
For that reason, I'm considering changing the name from base9 to baseN or something completely different, like omnitheme.
I also think the legacy style guide is put in without enough thought.
Probably because of the bad style guide, the list of base16 themes are almost a joke, they almost all have the same hue
order. (See #10) It will be very painful to migrate once we have a better style guide.
Those legacies are more of a burden than an asset. I think the builder side of things are much better, but still has room to improve. But the "simple" builder is easy to rewrite. The only thing that's hard to port over is the universal builder.
By having base9, we can discard the legacy problems and only copy what's good. In my opinion, that's far easier than migrating base16 gracefully. (As I said, the only part of the effort that is wasteful is the universal builder)
P.S.
I still have huge respect to @chriskempson since he is the one bootstrapped everything.

when a template clearly needs more than 16 unique colors.

Wait, what? I thought you wanted 4 or 9?  Or do you mean including computed variations?  I'm personally ok with us having a few limited filters - esp like opacity... which could allow for easy "variants" of colors (light, dark), etc... though I'm not sure how anyone else feels about that.  But I feel like we should stick to "max 8-16 hues" or else our names starts to mean nothing...

Yo I just installed this sick Base16 theme with 192 colors!

😵💫

the list of base16 themes ... almost all have the same hue

This is indeed a serious legacy problem and I see no easy path here... other than to provide better style guide/better tools - and then let the theme maintainers come back and submit newer, better themes.

The only thing that's hard to port over is the universal builder.

Why?  It could be like 20-30 line script/wrapper around simple builder...

By having base9, we can discard the legacy problems and only copy what's good. In my opinion, that's far easier than migrating base16 gracefully.

I'm really not expecting you to persuade us to close up the Base16 shop and come over to Base9... but no ill-will either.  I think Base16 is the "established brand" so even if it's a slog we'll probably stick around and make an attempt to fix it proper... I think more than anything it just requires a good plan and some time...  I totally agree with a lot of your critiques of Base16 and would like to think now that the project is active again we'll resolve many of them.

But I feel like we should stick to "max 8-16 hues" or else our names starts to mean nothing...

i think we should just allow any int in 255 range instead of having hardcoded hues
also would be nice to have some way to mix two colors together with a given ratio

instead of having hardcoded hues

We don't have hardcoded hues... I was referring to that we only allow 16 colors/hues.

Wait, what? I thought you wanted 4 or 9? Or do you mean including computed variations?

Yes, including computed variations.

Why? It could be like 20-30 line script/wrapper around simple builder...

Ok. You just gave one more reason to go to base9.

All it takes is to convince a few key members like you and the rest will follow 🙂 .
I agree that brand reputation is a huge issue. A lot of people already know base16 and it a huge asset for base16.
Another issue is ownership, I think a lot of people hate to say it (including myself), but we all like to have ownership over what we work on.
Assuming you agree that the legacy problems are technically easier to solve by having a completely new design than patching existing specs.
Here is an idea:

Work on something new that takes good ideas from base16 while reworking other parts without thinking about breaking changes, name it whatever we decide on.

It should generate themes for all apps based on a single config.
It could include a way for the end user to generate themes easily, or consider it a separate project.

Make it just good enough to be future proof, but not too good that it takes forever to finish.
Port templates to that new design (I really think it's less work than gracefully migrating to a new style guide)
Find a way for the existing base16 end user to transition to this.
Try to do it under an existing organization to attract developers.
When we are ready, let the world know we just renamed base16 with a new major version!

We don't have hardcoded hues... I was referring to that we only allow 16 colors/hues.

base9 have hardcoded hues

All it takes is to convince a few key members like you and the rest will follow

Check back in a year... if Base16 is floundering around and hasn't really solved any of these problems or moved forward then we should talk... but that would certainly be a large disappointment to me.  I have high hopes, and it seems we have a lot of interested/motivated people.

but we all like to have ownership over what we work on.

I don't think making a new project from scratch is the only way to get that... I feel like I have some degree of ownership here now (though the concept is always a bit nebulous)... but a year ago I didn't... first I decided to build Base16 themes into Highlight.js, then I built a template, then I hacked on a builder, then because it wasn't maintained I became maintainer, etc, etc, etc... and time goes by and now I'm involved in the reboot efforts.

without thinking about breaking changes

I don't think the things I've proposed require breaking changes... legacy debt of existing schemes isn't the same as breaking changes... and moving to a new BaseXYZ format doesn't solve that problem anyways.  Unless you consider just throwing them away a solution - and we don't need a new format to adopt that "solution".

Fair, fair.

Assuming you agree that the legacy problems are technically easier to solve by having a completely new design than patching existing specs.

I guess I don't agree? Esp when we haven't even tried solving them yet... we just started the discussion days ago.

Fair, fair. My entire premiss depend on this. And the answer is not clear yet.
I think I've pitched for base9 enough and don't want to keep this issue open for too long.
After weighing in everything mentioned here, I'm still leaning towards developing base9 for now. I'll still contribute to base16 here and there (sometimes by bringing my base9 ideas to base16)
I'll revisit this after a while and see where things are going.
Thank you for indulging me. Closing the issue in a few days unless there are other comments.

I'm still leaning towards developing base9 for now.

Awesome.  Having a project that's "all your own" is a fun thing for sure.

I'll still contribute to base16 here and there ... (sometimes by bringing my base9 ideas to base16)

Also awesome!  I'd encourage you to perhaps pick your best idea (that we lack) and propose it as it's own discrete issue... or perhaps most compatible idea?... and see how that goes. :-)

I would echo what @joshgoebel said - bringing up issues you see with base16 and proposing improvements would be a great place to start.
One other possibility would be sharing common tooling - we could start building out some common tooling which could be shared (rather than maintaining a separate fork of builders, CI setups, etc). I've already got a PR out adding support for base24 to base16-builder-go - is there anything like that we could do to help support base9?

Helps are great. One thing I really would like is to mention Base9 in base16 docs once Base9 reaches "1.0". The other thing is to make sure it's a MIT license, so I can copy code from base16 when I need to. I'm against supporting Base24 in base16 builder, unless we plan to officially support 24 colors as a part of base16. But that's a separate issue to discuss.

@lijiaqigreat Since #51 we've pivoted a bit.  It seems Base16 is Chris's baby and that he wants to keep it that way... so the organization is going broader/wider... we want to help develop alternative styles systems (so that the entire ecosystem can continue to grow) as well as more universal tooling.   The end goal still being "all your favorite themes, in all your fav apps" or something like that.
I'd like someone to be able to use node-builder to build:

Base16
Base17 #56
Base24
Ansi16 #53
Base9...

Base24 is planning to move into our org, but it will still be Base24. Obviously base16 is not interested in moving into the org, but our build tooling can still support it as a discrete format.  Base9 could live here (we'd be happy to have it), or in your own repo, but I'm more interested than ever in "what is base9" and how might it fit into the larger ecosystem.

I'm against supporting Base24 in base16 builder,

First, there is no single "base16 builder" there are ~10 of them (including the two here)... and soon there will be no base16-builder-node... as it already supports both Base16, Base17 draft, and Base24 the base16 name is no longer appropriate and will be changed.

I'm glad the vision is more clear now. Thank you for the invite. I'll probably move base9 once this universal tool reaches "1.0". But before that, I'll keep base9 independent.
Here is what I'm thinking:
It seems like this org is indeed aiming to be a tool for theme builders. base9 is targeting the average user who wants to set up a theme with minimum effort. In the long term, if both succeeded, Base9 should be built on top of this org (Assuming it won't be called base16 anymore). But before that happens, base9 should stay agile and not be tied to the tooling that has not been developed yet. It would also be good for this org, since I think the whole reason you guys are developing different sorts of themes (i.e. ansi16, base16, base24. I'm probably using the wrong term here) is that we want  to explore different use cases for the users of this tool. By keeping base9 agile, it already has a working builder, website and a vscode plugin, and you guys can see how a theme can use a universal tool more easily.
Reopening. Will close once comments settle down, since I think this org already has too many open topics and should benefit from a more focused discussion.

Well perhaps I've misunderstood what Base9 is (and I've read a lot of it too)... if it's just about "build one scheme you like" I'm not sure how it fits exactly - though that doesn't mean you're not welcome. Most people building theming systems are hoping people will show up - make themes for them - and then you have a theme database (all built around your theming system).
What I personally would like to see us do is help aggregate good style systems and good theme databases (when compatible)... so lets say you're looking for a terminal theme... you shouldn't be limited to just base16... you should be able to pick from a consolidated database of all the best: base16, base24, ansi16, iTerm2-Color-Schemes etc...
Yep I thru a source in there that has nothing to do with baseX at all... but if someone is looking for an ANSI terminal theme - why not draw from the best sources out there?
At the end of the day I think it's all about "all your favorite themes in all your favorite apps"... So if base9 has no theme database to share... I'm not 100% sure how it fits in that picture?  Am I confused about base9?

I'm assuming that 98% of users are consuming the final themes, not authoring them.

That's because authoring theme is too hard, and base9 aims to make it so easy that average user can do it in a few minutes.

Most people building theming systems are hoping people will show up - make themes for them - and then you have a theme database (all built around your theming system).

It is anti-goal for base9. I want to make it as easy (if not easier) to design a new theme than to pick from a list of existing themes. Although I do plan to have some database, so that the user can pick a starting point.

but if someone is looking for an ANSI terminal theme - why not draw from the best sources out there?

Because color theme is a matter of personal taste and users could prefer to design its own theme than picking from existing ones.
I have finished the user flow for vscode. I highly encourage you to try it and hopefully see what I mean:

Go to https://base9-theme.github.io
Pick nine colors on the left hand side (backgroud, foreground, 7 hues)
Copy the color code from the bottom of the left hand side (i.e. 282936-E9E9F4-FF5555-FFB86C-F1FA8C-50FA7B-8BE9FD-BD93F9-FF79C6)
Install base9-vscode on vscode
change setting base9.palette to the color code.
Restart vscode.
Whallah! You now have your own vscode color theme.

Since base9 targets the end user rather than the theme developer, it prioritizes ease of use over the ability to customize.
here is how it differs from base16:
Here are some design choices I made that probably will differ from base16 and illustrates how base9 prioritizes ease of use. (Whether they are the right design choice is debatable and is a separate topic)

Template spec is more considered internal implementation and should not be considered breaking change.
Slight change in shade generation will be considered improvement, rather than breaking change.
Use simple color code (nine - separated color hex) instead of yaml
Bundle theme generation with base9 plugin.

It is anti-goal for base9.

Ah, then yes I did understand properly - you're doing something very different (and quite ambitious) indeed. :-)
Another thing I'd like to work on long-term is interop (between style systems) but it also seems like currently that's probably a non-starter with base9 because there seems to be no easy way to map your 54 generated colors into 16, or 24... at least not unless we introduced a concept similar to your own p relative brightness system.
How does p work... I assume it works because you only have a single background color so it's merging with that?  if you had 4 background colors it'd be a lot more complex, yes?

That said personally I'm still super interested to see where you take the project.  If you think of a way we could help, let us know.

How does p work...

The p calculation is probably over-engineered. But I can happily explain:
Indeed, you mix the hue color with the background. (something like (1-p)*background + p * hue_color). But you do it in a different color space. If you are not familiar with lab color space, it's a different way of representing the colors. It still uses 3 numbers (L, A ,B), but they are scaled to match human perception. I more or less use the LAB color space to mix, but I rescale the L component again to tailor the wcag 2.0 standard. As a result, the mixed color matches the human perception of color mixing while equalizing the wcag 2.0 contrast. The contrast rescaling is hard to explain. A simpler implementation would just be mixing colors in lab color space. An even simpler implementation is mixing the rgb value.
Code link

if you had 4 background colors it'd be a lot more complex, yes?

Yes

If you think of a way we could help, let us know.

Yes. Here are a few things I can think of: (totally ok if the answer is no)

Mention Base9 in base16 docs once Base9 reaches "1.0", as I want more users.
Make sure base16 is under MIT license, so I can copy code from base16 when I need to.
Contribute to base9. I'm planning to write a few open issues for contributers to pick up. If things go well, I'll write more. If not, I'll just implement them without opening issues, since writing issues takes time.
Steer base16 to a future where base9 can just switch the internal implementation to base16.

Sorry for keeping using base16, since we haven't decided on a new name yet.

One small correction, there are currently (9-1)*6+1=49 colors in base9, as background does not have p variants.

Mention Base9 in base16 docs once Base9 reaches "1.0", as I want more users.

Well we aren't "base16" anymore.... and right now I'm not sure where we'd put you exactly, but I'm open to suggestions... right now we list all style systems we support as part of the larger ecosystem, but as already mentioned your kind of the odd duck in that regard as our tooling is kind of incompatible right now with what you're doing.
I'm not sure if there is some other list we could add you to in the README... perhaps. If you see a spot, point it out.

Make sure base16 is under MIT license, so I can copy code from base16 when I need to.

Chris's base16 is MIT (again) and all our key stuff is MIT AFAIK.

Contribute to base9. I'm planning to write a few open issues for contributers to pick up.

I have enough on my plate personally, but if you meant our community - sure... hopefully you'll find some other people who are interested to help out.

Steer base16 to a future where base9 can just switch the internal implementation to base16.

You'd have to elaborate... If you mean implement p style features in the spec/templates that's not currently a high priority... but I'm not opposed to the idea of such things theoretically.  I'd like more modulal builders so you could just do this work yourself - teach our builders about how to build Base9 - but that's kind of a larger discussion right now between @belak and myself.
It's hard when we have multiple builders...

right now I'm not sure where we'd put you exactly, but I'm open to suggestions...

Based on current discussions, I think we have different goals and therefore should be two independent projects. (again assuming I correctly understood the goal of base16) As for how we fit together, I will explain in a few lines below.

I'm not sure if there is some other list we could add you to in the README... perhaps. If you see a spot, point it out.

I will send PR once base9 reaches "1.0".

Steer base16 to a future where base9 can just switch the internal implementation to base16.

You'd have to elaborate...

I have not been keeping up with base16's discussions. So I don't know how exactly base9 could fit in. Hopefully there will be a section in the readme to explain base16's goal better once things settle down.
Roughly, I imaging the north star is that base9 use base16 as a library. base9 handles color mixing magic, deciding what color to use for different semantics, including different shades, such as diff_added, diff_added_background, current_line_highlight. base9 then passes this information to base16 and uses base16 to generate actual themes for apps.
Again, intentionally incorrectly using the word base16 to mean whatever this org is building, since there is no new name for it yet. #38

base9 then passes this information to base16 and uses base16 to generate actual themes for apps.

Of course!  Thanks for sticking with me, now I can help. :-)  I haven't given as much thought to interop as other things or I'd have realized this... we don't need to support you on the backend (templates) if you do the color mixing all yourself we could just support you on the front-end... you can "pretend" to be a regular old Base17 scheme (that's the only interop so far).  And everything would "just work".  Base17 is still draft but here's how you'd do it with node builder - just follow the instructions in the README, but first you need to generate a "cooked" base9 scheme...
When I say a "cooked" base 9 scheme I mean you take your base9 colors, do all your magic and you split out a valid base17 scheme... at that point we're just building a base17 scheme, same as we would any other.  And any templates that support base17, now they support base9 as well...

diff_added_background

I never even considered this, you should jump in on the semantic thread reading what we should support. #24

Closing. If/how to merge with base17 is not a concern in the short term.

Merging was probably the wrong name all along, I've changed this to interop for future reference to reflect the later discussion points...


Detect MEDICAL_LICENSE

Description
Every medical specialist has to obtain a medical license to legally practice.
Detection Steps
There are many different patterns for medical license numbers. Using regular expressions to pattern match the most common medical lisence numbers will be the best course of action. In North Carolina the medical license numbers contain 5-6 numbers and no letters. Those are examples of patterns I will check for.

@zjpittman do you have any references to what sort of checksum you might want to implement?

@zjpittman do you have any references to what sort of checksum you might want to implement?

This was actually a typo. Thanks for reminding me. I was going to do checksum and soon realized that would be too complex for this type of project.

@troylion What are your thoughts on this?

Looks good! Very clear description. The use of regular expressions for detecting medical license numbers looks good. Just wondering if different variations in patterns across different states would be accounted for?


Write up Phase 3 proposal (caching)

Phase 1 (single cluster) is here, Phase 2 (multi cluster) is here.
Phase 3 (caching) is more of a challenge. Please take your time and go wide. Ask people to help or if they have any suggestions that you can look into and expand. Doc is started here.

closing this for now


最新react native android导入报错

My environment:
eact-native

react-native version:0.46.4
aurora-imui-react-native version:

@KenChoi1992

@PeterLocas #138


231 | Empty list message display

IMPORTANT: Where possible all PRs must be linked to a Github issue
Fixes #231
Type
Choose one: (Feature)
Checklist

[x] I have written Unit tests for any new feature(s) and edge cases for bug fixes
[x] I have updated the  CHANGELOG.md file for any notable changes to the codebase
[x] I have run ./gradlew spotlessApply and ./gradlew spotlessCheck to check my code follows the project's style guide
[x] I have built and run the fhircore app to verify my change fixes the issue and/or does not break the app

Also please update your branch before merging it. There are conflicts showing here.


add a Deep Residual Network example for cifar10

Hi, I have add a Deep Residual Network example for cifar10
Commands & setups:

set following parameters in example/image-classification/train_model.py
momentum = 0.9, wd = 0.0001, initializer = mx.init.Xavier(rnd_type="gaussian", factor_type="in", magnitude=2.0)
set n=3(3 for 20 layers, n=9 for 56 layers) in the get_symbol function in example/image-classification/symbol_resnet-28-small.py

first train the network with lr=0.1 for 80 epochs

python example/image-classification/train_cifar10.py --network resnet-28-small --num-examples 50000 --lr 0.1 --num-epochs 80 --model-prefix cifar10/resnet

second train the network with lr=0.01 from epoch 81 to epoch 120, with lr=0.001 from epoch 121 to epoch 160

python example/image-classification/train_cifar10.py --network resnet-28-small --num-examples 50000 --model-prefix cifar10/resnet --load-epoch 80 --lr 0.01 --lr-factor 0.1 --lr-factor-epoch 40 --num-epochs 200

in the paper, he train cifar10 for 160 epoch, I set num-epoch to 200 because I want to see whether it is usefull when set lr=0.0001
since it needs 160 epochs, please be patient
Accuracy:

for 20 layers resnet, accuracy=0.905+
for 32 layers resnet, accuracy=0.908+
for 56 layers resnet, accuracy=0.915+

Though the numbers are a little bit lower than the paper, but it does obey the rule: the deeper, the better
Differences to the paper on cifar10 network setup

in the paper, the author use identity shortcut when dealing with increasing dimensions, while I use 1x1 convolutions to deal with it
in the paper, 4 pixels are padded on each side and a 32x32 crop is randomly sampled from the padded image, while I use the dataset provided by mxnet, so the input is 28x28, as a results for 3 different kinds of 2n layers output map sizes are 28x28, 14x14, 7x7, instead of 32x32, 16x16, 8x8 in the paper.

the above two reason might answer why the accuracy is a bit lower than the paper, I suppose.
Off course, there might be other reasons, if you find out, please tell me<EMAIL_ADDRESS>or<EMAIL_ADDRESS>thanks
@winstywang @tqchen @antinucleon

there is a typo in train_cifar10.py, I think num-examples are 50000, If you want to reproduce my work, you might use num-examples 50000 as well, though generally speaking, it does not matter whether num-exmaples is 50000 or 60000.

one more thing, I use batch-size of 128, and train the models by using one GPU. :)

Looks good to me. Could you add your net's results and the original paper's results in the beginning of your script?

@piiswrong , added to the script
accuracy:

for 20 layers resnet, accuracy=0.905+, 0.9125 in the paper
for 32 layers resnet, accuracy=0.908+, 0.9239 in the paper
for 56 layers resnet, accuracy=0.915+, 0.9303 in the paper

since the setups of the paper and my script are different, I could only say it does obey the rule: the deeper, the better

Please fix the python3 convention, then squash the commits: https://mxnet.readthedocs.org/en/latest/contribute.html#how-to-combine-multiple-commits-into-one

I will change it in hours for I am outside the moment. :)
Thanks

@antinucleon change range for python3, and combine multiple commits into one

almost the same to #1041 ~

@shuokay not exactly, there are at least 4 differences 1) batch_normalization is applied in different places after second convolution, 2) shortcuts connection is also a little bit different, 3) initialization of the parameters and 4) train policy(lr, epoch etc.)
before I got this version of network, I have trained several versions(mainly differ in where to add the batch_normalization, train policy), I have tried your version, got similar results as yours.

@freesouls I have double checked the code and you are right~


🐛 BUG: False Positive on pug plugin in monorepos

volar doctor reports false positive in monorepos
@volar/vue-language-plugin-pug missing

Duplicate of #2272
I still can't reproduce the problem...


Fix the slow startup and termination of the vali-0 pod

How to categorize this PR?

/area logging
/kind enhancement
What this PR does / why we need it:
The vali-0 pod takes more than a minute to start up and 30s to terminate eventually, "ungracefully". It turns out that this is the result of a few configuration issues.

Startup phase
When vali starts up in the default configuration, it waits for 1 minute until it reports a ready status via its /ready endpoint. This is reproducible directly with the docker image:
docker run --rm -it -p 3100:3100 ghcr.io/credativ/vali:v2.2.5
while true; do curl localhost:3100/ready; sleep 1; done
Ingester not ready: waiting for 1m0s after startup
...

This is to work around race conditions with ingesters exiting and updating the
ring.

https://github.com/credativ/vali/blob/d8985fc135e85518a5829b255afa7757d4714349/vendor/github.com/cortexproject/cortex/pkg/ring/lifecycler.go#L89
The reasoning behind this default value is not applicable in the Gardener setup of vali. Vali is executed in "single binary mode", so there are no other ingester instances involved. Hence we can set this delay to a lower value.
docker run --rm --entrypoint sh ghcr.io/credativ/vali:v2.2.5 -c "cat /etc/vali/local-config.yaml" | sed '/lifecycler:/a \    min_ready_duration: 1s' > local-config.yaml
docker run --rm -it -p 3100:3100 -v ./local-config.yaml:/etc/vali/local-config.yaml ghcr.io/credativ/vali:v2.2.5
while true; do curl localhost:3100/ready; sleep 1; done
Ingester not ready: waiting for 1s after startup
ready
...

Furthermore, the initialDelaySeconds setting of the readiness probe of vali is removed to let it default to 0s: even instances with significant amount of logs actually start up in less than 1s. There is no need to delay the initial readiness probe.

Termination phase
The final-sleep configuration parameter is changed to 0s from its default value of 30s. The default value of 30s meant that due to the same default 30s pod termination grace period, whenever vali was gracefully stopped (received a SIGTERM signal), it waited for 30(+epsilon)s until it would have shut down gracefully. However, shortly before that (after 30s), the kubelet sends a SIGKILL to forcefully stop the process: an undesired unclean shutdown, each and every time.
The motivation of allowing for a final scrape of the exposed metrics before the shutdown is not relevant in the Gardener case, given that the Prometheus scrape interval is 1m anyways. So this commit changes the final-sleep configuration to 0s, which happens to be the default value in the "single binary mode".
https://github.com/credativ/vali/blob/d8985fc135e85518a5829b255afa7757d4714349/vendor/github.com/cortexproject/cortex/pkg/ring/lifecycler.go#L90
https://github.com/credativ/vali/blob/d8985fc135e85518a5829b255afa7757d4714349/cmd/vali/vali-local-config.yaml#L17
Furthermore, the telegraf container of the vali-0 pod in the control plane namespace was not properly handling the SIGTERM signal: it was always killed by the kubelet after 30s with a SIGKILL. This was the other reason of the slow termination of the vali-0 pod. By letting bash execute the telegraf process in the background and waiting for it indefinitely with wait, the bash process with PID 1 can handle the SIGTERM signal that is sent by the kubelet. It sends a SIGTERM signal to its child bash process upon receiving a SIGTERM signal. This in turn handles the SIGTERM signal as well and sends it to its telegraf child process. Both bash processes wait for their child process to terminate. This way all the processes of the telegraf container terminate gracefully and in less than 1s when the SIGTERM signal is sent by the kubelet.
Note that testing the signal propagation in the "minimized" telegraf image is tricky. On a linux based "local setup" where the "nested" docker&containerd containers are just regular processes of the host, the following approach can help to understand the signal propagation.
Find the 3 processes of the telegraf container from the host:
ps aux | grep telegraf

root 2483208 /bin/bash -c trap 'kill %1; wait' SIGTERM bash /etc/telegraf/start.sh & wait
root 2483255 bash /etc/telegraf/start.sh
root 2483260 /usr/bin/telegraf --config /etc/telegraf/telegraf.conf
root 2494748 grep telegraf

Attach strace to the 3 processes with strace -p <pid>. Send a SIGTERM signal to PID 1 with k exec vali-0 -c telegraf -- bash -c "kill 1" to check the signal propagation.

With this change, the vali-0 pod terminates and starts up in less than 10 seconds in the examples below.
k get pods vali-0 -w | ts

17:25:09 vali-0   4/4     Terminating
17:25:11 vali-0   4/4     Terminating
17:25:11 vali-0   0/4     Terminating
17:25:11 vali-0   0/4     Terminating
17:25:11 vali-0   0/4     Terminating
17:25:11 vali-0   0/4     Pending
17:25:11 vali-0   0/4     Pending
17:25:11 vali-0   0/4     Init:0/2
17:25:12 vali-0   0/4     Init:0/2
17:25:13 vali-0   0/4     Init:1/2
17:25:14 vali-0   0/4     PodInitializing
17:25:15 vali-0   3/4     Running
17:25:16 vali-0   4/4     Running

17:27:38 vali-0   2/2     Terminating
17:27:41 vali-0   2/2     Terminating
17:27:42 vali-0   0/2     Terminating
17:27:42 vali-0   0/2     Terminating
17:27:42 vali-0   0/2     Terminating
17:27:42 vali-0   0/2     Pending
17:27:42 vali-0   0/2     Pending
17:27:42 vali-0   0/2     Init:0/2
17:27:42 vali-0   0/2     Init:0/2
17:27:43 vali-0   0/2     Init:1/2
17:27:44 vali-0   0/2     PodInitializing
17:27:45 vali-0   1/2     Running
17:27:46 vali-0   2/2     Running

Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
/cc @vlvasilev @nickytd
Release note:

A configuration issue that resulted in a relatively slow startup and termination of the vali pods is fixed.

/cherry-pick release-v1.71

/test pull-gardener-e2e-kind-ha-single-zone-upgrade

/approve


Feature Request: LiveReport Designer

As far as I could find, there is no control over LiveReport Designer. We create reports for our partners all the time by cloning a template and inputting a few parameters then saving. Some functionality for this would save us hundreds of hours.
I wonder if the REST API even covers LiveReport Designer though.

Hi @carterduplessis, sorry about the terribly late reply. No, there is no way to control LiveReport Designer through the API, I'm afraid.

Yeah I learned that shortly after asking. I should have come back here to close this. Thanks!


UX recommendations and design for Alarm Settings user flow

Before we add alarm settings to the GUI, we should do a research on how they should look and behave. Ideal outcome of this is a specifications for developers who will do coding part.
Useful links:

Old design: https://www.figma.com/file/Ci9thGhcOA3eVbZ6Uije0O/Ventilator-UI
UI requirements https://github.com/RespiraWorks/VentilatorSoftware/wiki/UI-Requirements
List of alarms we need for covent milestone https://github.com/RespiraWorks/VentilatorSoftware/milestone/11

This is done as part of https://github.com/RespiraWorks/VentilatorSoftware/issues/397.


Line limit to 120

I'm finding the 92 line limit very restrictive and forcing breaks more often than not. Between giving a function a meaningful parameter name and typing it you're more often than not breaking this line with a couple parameters.
I'd propose increasing this line length to 120, it allows you to reasonably read two files side-by-side in an editor. I think this is goes a bit hand in hand with #76 and I think makes things easier to read.
Some Linus thoughts from a fixed 80 character limit.

I can only hit 112, not 120.
I think 100 would be best.

I'll take anything, do others have thoughts?

I think 120 is a little bit much. So I'd compromise to 100

i'd be a little bit interested in knowing what affect this has in terms of reducing line breaks.
JuliaFormatter has a BlueStyle and let's you configure line length (via the margin keyword e.g. format("path/to/src/", BlueStyle(); margin=N), so we could see across a bunch of different packages how changing N` changes the total number of line breaks?

If I recall correctly the original reason 92 was chosen was because it is the line length limit specified by the Julia contribution guide.

If I recall correctly the original reason 92 was chosen was because it is the line length limit specified by the Julia contribution guide.

The commit for this was made 7 years ago, maybe it's time to revisit? 😄

i'd be a little bit interested in knowing what effect this has in terms of reducing line breaks. JuliaFormatter has a BlueStyle and let's you configure line length (via the margin keyword e.g. format("path/to/src/", BlueStyle(); margin=N), so we could see across a bunch of different packages how changing N changes the total number of line breaks?

Just got brought up in the office again. I went through all the packages below and ran format(".", BlueStyle()) did a git add ., then re-ran format(".", BlueStyle(); margin=100) (only 100 since it seemed more agreed upon from previous discussions). These are the results of the following git diff --shortstat:

BlockDiagonals.jl:  4 files changed, 9 insertions(+), 22 deletions(-)
ChainRules.jl: 4 insertions(+), 10 deletions(-)
CompatHelper.jl:  13 files changed, 39 insertions(+), 117 deletions(-)
Intervals.jl: 11 files changed, 58 insertions(+), 155 deletions(-)
OrderedCollections.jl: 6 files changed, 23 insertions(+), 63 deletions(-)

I'm not a linguist or typographer, but 92 characters seems fine with a few assumptions by taking
(things on the line) * (max length of each thing) + (connectors between things) as an equation for line length
If you assume most people can keep 5-9 things in mind at a time, that indentation is some of those things, and if you really stretch it an assume that the length limit for remembering a word is between 5 and 9, then the upper limit on that is actually (9*9 + 8) = 89
I think 89 is a short, especially considering that the 7 +- 2 rule is outdated (4 +- 1 is apparently more accurate) (https://en.wikipedia.org/wiki/Short-term_memory#Capacity), but it suggests that 92 characters is long enough

@Wynand one of the most common things, AbstractArray, is of length 13. As you have more functions in your codebase, the length of the things are probably going to increase. If you look at the top-level symbols in Base, the average size is greater than 11:
julia> mean(length∘String, names(Base; all=true, imported=true))
11.476996687523004

(a better measurement could be done with a parser rather than just looking at the top level)
@mattBrzezinski can you show those diffs? it might be interesting as a sample of lines that are impacted by the current line length limit.


Tooltip header dissapears on Ios

Hello,
On devices running Ios (tested on an Iphone 4 and Ipad 3), the header of the Tooltip shows as the tooltip opens, but as soon as the transition is complete, it disappears. However, the close button is still functional, if you click in its area.
The issue appears only on Ios, not Android. On Ios the issue is present only if the tooltip has lots of text, requiring scroll. If there is only little content and no scrolling needed there is no problem.
Steps to reproduce:

Open http://mmenu.frebsite.nl/examples.html
Using an Ios device click on the tooltip example - "This is a demo. Have you ever thought about how tooltips should work on mobile devices?"
Notice how the header containing the title and X close button does not show.

This only happens if content inside the tooltip is vertically overflowed.

Hi, I noticed the same issue, but only when viewed directly from the examples page, i.e. in an iframe.
If you view the demo in a new window, it seems to work as intended.
My guess is, ios has some issues with iframes.

Hello,
The issue is not related to iframes. When viewing the demo in a new window the viewport is much larger and text inside the tooltip has no vertical overflow (no scrolling). So this is why the problem does not appear in this case.
The issue appears on IOS when the tooltip contains a large amount of text, and scrolling is needed. Managed to reproduce this issue on my website, no iframes. And can't seem to find a solution.
Another question please: how can I add some padding or a margin just below the fixed header? Can't seem to do this with css, maybe I should work on the header javascript addon?

Ok, after wasting half a day on this, simple one line css fix: add this line
-webkit-transform: translate3d(0,0,0);
to the .mm-header class. Full explanation here: http://stackoverflow.com/questions/9807620/ipad-safari-scrolling-causes-html-elements-to-disappear-and-reappear-with-a-dela
Question two remains: How can I add some padding or a margin just below the fixed header? If in the .mm-header class I do this: padding-bottom: 10em; nothing happens. Why?

That's really odd. Any idea why it only disappears in that example?
Anyway, I'll implement it in the next version.
For the second question, try adding padding-top to the .mm-panel class.

Thanks for the tip, worked! No idea why the header bug appears only for the tooltip...


How to use each() for find()?

I am trying to display all the files within my files collection but having trouble using the each() method from find() to access the link, from the documentation:

each() - {[FileCursor]} - Returns an Array of FileCursor made for each document on current Cursor. Useful when using in {{#each FilesCursor#each}}...{{/each}} block template helper

This is my current code:
attachment() {
        return colPriceQuotesAttachments.find();
    }

{{#each attachment.each}}
        {{this.link}}<br>
{{/each}}

Unfortunately nothing displays..
Any advice on what I am doing wrong?

solved it! Just had to upgrade my ostrio:files package from 1.5.6 to 1.8.0. Everything is working now.

Hello @alvara ,
I'm glad this was an easy fix :)
Please, support this project by:

Star on GitHub
Star on Atmosphere
Check other packages we have made


EP Form | AJAX removing of Support Letter (strange behavior)

The you removing existing Support Letter it causes strange errors in Browser and App logs
Here the screens:

From my point of view - issue in controller level.
System do DELETE request properly, but then tries to do normal redirect to dashboard (even if it's JS request)
Log says about it:
Started DELETE "/users/form_answers/24/support_letters/8" for <IP_ADDRESS> at 2015-05-20 13:32:20 +0300
Processing by Users::SupportLettersController#destroy as */*
  Parameters: {"form_answer_id"=>"24", "id"=>"8"}
  User Load (2.0ms)  SELECT  "users".* FROM "users" WHERE "users"."id" = $1  ORDER BY "users"."id" ASC LIMIT 1  [["id", 1]]
  Account Load (0.4ms)  SELECT  "accounts".* FROM "accounts" WHERE "accounts"."id" = $1 LIMIT 1  [["id", 1]]
  FormAnswer Load (0.6ms)  SELECT  "form_answers".* FROM "form_answers" WHERE "form_answers"."account_id" = $1 AND "form_answers"."id" = $2 LIMIT 1  [["account_id", 1], ["id", 24]]
  SupportLetter Load (0.4ms)  SELECT  "support_letters".* FROM "support_letters" WHERE "support_letters"."form_answer_id" = $1 AND "support_letters"."id" = $2 LIMIT 1  [["form_answer_id", 24], ["id", 8]]
   (0.3ms)  BEGIN
  SupportLetterAttachment Load (0.8ms)  SELECT  "support_letter_attachments".* FROM "support_letter_attachments" WHERE "support_letter_attachments"."support_letter_id" = $1 LIMIT 1  [["support_letter_id", 8]]
  SQL (0.2ms)  DELETE FROM "support_letter_attachments" WHERE "support_letter_attachments"."id" = $1  [["id", 8]]
  SQL (0.6ms)  DELETE FROM "support_letters" WHERE "support_letters"."id" = $1  [["id", 8]]
   (15.0ms)  COMMIT
Redirected to http://localhost:3000/dashboard
Completed 302 Found in 49ms (ActiveRecord: 20.4ms)

Started DELETE "/dashboard" for <IP_ADDRESS> at 2015-05-20 13:32:21 +0300
** [Raven] User excluded error: #<ActionController::RoutingError: No route matches [DELETE] "/dashboard">

ActionController::RoutingError (No route matches [DELETE] "/dashboard"):
  actionpack (4.2.0) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.2.0) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'

BTW: AJAX removing of Supporter works fine.

Fixed by https://github.com/bitzesty/qae/pull/539


Fix Includemod.error

Added try catch which outputs API changed when there is Inlcudemod.error.
Closes https://github.com/NathanReb/ocaml-api-watch/issues/18

Hey @NathanReb, one silly doubt if we want to check whether API is changed or not why don't we match both the interfaces line by line instead of using Includemod?
Also, a few observations Includemod works perfectly for the case where the second interface is a subset of the first interface and for the unchanged case.
Also, I looked up what Includemod does, it checks if the second signature is a superset of the first one. If that is the case we may want to double-check switching the ref and mod cmi files

@harshey1103 good work digging in to use of Includemod!
Here is my understanding of how this check is currently working. Hopefully it helps address your question: The value returned by Includemod.signatures is of type Typedtree.module_coercion and this type represents not just whether or not the first signature is a sub-type of the second, but what coercion would need to be applied to the first to allow it to count as an instance of the second. If the value is Tcoerce_none, then no coercion is need at all, which should mean that the two signatures are the same. Any other value of this type indicates that there is some difference between the signatures, because some coercion would be required. This is why in the current logic, we only report the API as unchanged if we find Tcoerce_none and everything else is an indication of a change.
The substantive work on this project will involve more expansive and detailed analysis of the two signatures, so we will have lots of time to expand on our approach here to give more useful feedback!

Thanks for the input. If there is any issue that needs to be resolved and is not taken by anyone, assign it to me.

Yeah, I'll push the commit in a sec.

Hey @NathanReb, I have a few observations. Includemod works perfectly for the case where the second interface is a subset of the first interface and for the unchanged case.
Also, I looked up what Includemod does, it checks if the second signature is a superset of the first one. If that is the case we may want to double-check switching the ref and mod cmi files

Hello! A quick followup that, iiuc, https://github.com/NathanReb/ocaml-api-watch/pull/16#issuecomment-1985366074 shows that you were right in your expected behavior here and it demonstrates the problem you anticipated and that my assumptions about why this would not be a problem were mistaken! :)
Fortunately, we will be refining the behavior of our check as we go :)


NFC: Test that @_spi decls are emitted in ObjC compatibility headers

Some projects depend on @_spi decls being emitted this way so we should have a test that asserts this is expected behavior.

@swift-ci please smoke test and merge


Add proper support for standard HTTP methods (#974)

Thanks! There are some tests that are failing though. Is this expected with your change?

@johanhaleby No, I will check it

@johanhaleby  This is my second attempt -  I changed 3 public methods of HTTPBuilder - is it part of public API?

@johanhaleby This is my second attempt - I changed signature of 3 public methods of HTTPBuilder - is it part of public API?

No it shouldn't be (since it's located in the "internal" package).
Thanks again for the update. I'll try to look into it when I have to opportunity.

I've look into the PR now and it looks good as far as I can tell but I still need to understand what problems we're solving here. Is it https://github.com/rest-assured/rest-assured/issues/974 specifically or does this solves even more problems?
And you're right that it's by design that REST Assured supports sending body's in for all HTTP methods (including GET) since many people have asked for it for testing purposes.

That's great! Thanks for the clarification and big thanks for the pull request and for helping out!


Indentation support for Javascript on Adaptive Authentication UI

Indentation support for Javascript on Adaptive Authentication UI

Please give an option in the UI - so once you write the script - click a but or a key - to indent the code.


Replace request lib

Request is very bloated -<EMAIL_ADDRESS>Can possibly replace with<EMAIL_ADDRESS>or<EMAIL_ADDRESS>or something similar?

closed in #1175


Debugger shows datetime in local timezone instead of UTC

1. Describe the bug
Datetime values are stored in SQL in UTC, as we all know. We also know that the clients (both Windows and Web) always show datetimes in the local timezone.
In order to work with and correctly evaluate the actual data, however, I would expect the debugger to show the datetimes in UTC, so we know the actual values going through the system. However, the debugger also shows datetimes in local time zones.
It needs (an option) to show datetimes in UTC and (preferably) in a yyyy-MM-ddTHH:mm:ssZ format.
2. To Reproduce
Steps to reproduce the behavior:

Set breakpoints and Watches on any table with a datetime;
Start a debugging session and trigger a process that passes your breakpoint
Note that the datetime is in local timezone

This is a snippet from Codeunit 10 - TypeHelper that you can use
    procedure ConvertDateTimeFromUTCToTimeZone(InputDateTime: DateTime; TimeZoneTxt: Text): DateTime
    var
        TimeZoneInfo: DotNet TimeZoneInfo;
        Offset: Duration;
    begin
        if TimeZoneTxt = '' then
            exit(InputDateTime);

        GetUserClientTypeOffset(Offset);
        InputDateTime := InputDateTime - Offset;

        TimeZoneInfo := TimeZoneInfo.FindSystemTimeZoneById(TimeZoneTxt);
        exit(InputDateTime + TimeZoneInfo.BaseUtcOffset);
    end;

Note: Because the developers need to copy and paste the code snippet, including a code snippet as a media file (i.e. .gif) is not sufficient.
3. Expected behavior
I expect the debugger to show the data in raw form, i.e. datetimes in UTC yyyy-MM-ddTHH:mm:ssZ format.
4. Actual behavior
When I use a datetime 11/29/22 10:00:00 AM in the client, it is stored (verified by Format(TheDateTime, 0, 9)) as 2022-11-29T09:00:00Z since I am working in W. European Time (UTC+1). The debugger, however, still shows it as 11/29/22 10:00:00 AM
5. Versions:

AL Language: 10.0 and prior
Visual Studio Code: 1.73.1 and prior
Business Central: 21.1 and prior
List of Visual Studio Code extensions that you have installed:
-- AL Language
-- AL CodeActions
-- AL Object Designer
-- AL Variable Helper
-- AZ AL Dev Tools/AL Code Outliner
-- BusinessCentral.LinterCop
-- ErrorLens
-- Git Blame
-- Git History
-- GitLens - Git Supercharged
-- PowerShell
-- Waldo's CRS Language Extension

Final Checklist
Please remember to do the following:

[x] Search the issue repository to ensure you are reporting a new issue

[x] Reproduce the issue after disabling all extensions except the AL Language extension

[x] Simplify your code around the issue to better isolate the problem

I have created a PR for the system app. Once that gets approved and merge, this issue can be closed.
Link to PR

This issue should be in the correct repository. Will transfer it to microsoft/ALAppExtensions


Get facebook count after change adress to https://

Some time ago I added ssl protocol to the page. After this change all the likes are "0", That's normal, but I would like to get the sum of likes from the old "http: //" address and the new "https: //"
Example for this address I have 1955 likes for http and 13 likes for https. I would like to display 1968.

{
"http://rodzinawpraktyce.pl/rodzicu-spotkamy-sie-w-sadzie/": {
"share": {
"comment_count": 0,
"share_count": 1955
},
"og_object": {
"id": "823189464466270",
"description": "Bior\u0105c pod uwag\u0119 ostatnie wydarzenia, a zw\u0142aszcza \u015bmier\u0107 14 letniego Dominika, postanowi\u0142em ostrzec Was drodzy rodzice, \u017ce spotkamy si\u0119 w s\u0105dzie! Pami\u0119taj, \u017ce to Ty odpowiadasz za swoje dziecko, a ja\u2026",
"title": "Rodzicu \u2013 spotkamy si\u0119 w s\u0105dzie! \u2013 Rodzina w praktyce",
"type": "article",
"updated_time": "2017-08-14T20:52:51+0000"
},
"id": "http://rodzinawpraktyce.pl/rodzicu-spotkamy-sie-w-sadzie/"
},
"https://rodzinawpraktyce.pl/rodzicu-spotkamy-sie-w-sadzie/": {
"share": {
"comment_count": 0,
"share_count": 13
},
"og_object": {
"id": "823189464466270",
"description": "Bior\u0105c pod uwag\u0119 ostatnie wydarzenia, a zw\u0142aszcza \u015bmier\u0107 14 letniego Dominika, postanowi\u0142em ostrzec Was drodzy rodzice, \u017ce spotkamy si\u0119 w s\u0105dzie! Pami\u0119taj, \u017ce to Ty odpowiadasz za swoje dziecko, a ja\u2026",
"title": "Rodzicu \u2013 spotkamy si\u0119 w s\u0105dzie! \u2013 Rodzina w praktyce",
"type": "article",
"updated_time": "2017-08-14T20:52:51+0000"
},
"id": "https://rodzinawpraktyce.pl/rodzicu-spotkamy-sie-w-sadzie/"
}
}

humm interesting case. normally, when switching to httpS you redirect all traffic targetted to http to the new httpS. This because otherwise google will 'punish' you for having duplicate content.
So the likes on the http version will not increase (as Facebook will also be redirected)

You're right. I received a lot of likes on posts before I changed the domain to httpS. Now all likes goes to httpS page. So now I would like to be able to sum up old and new likes. Facebook have all information. All I need is grab them.

@zimnyd, I don't think we want to fetch share counts for both http and https urls out-of-box, but you could patch _loadCount method so it fetches counts for both urls.

Hi, following a discussion on my own forum for a user in a 'similar case' (not migrating from http to https, but migrating to different domain name) we found the following solution that might work for you as well:
it is in paragraph '2. Use the old page as the canonical URL for the new page'
https://developers.facebook.com/docs/sharing/webmasters/crawler/


Support default env syncing for runhouse start/restart

#804  👈
main

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

Join @carolineechen and the rest of your teammates on  Graphite


Add status if the program is runnin / stopped / paused

Development in progress, need to find how graphically show the info (icon / text or both) and where show on the screen

Interface changed.
Removed redundant "Pause" button (Step does the same function) and included an highlight of the button Run, Stop or Step if the program is running stopped of paused
Program Running

Program Stopped

Program Paused

Finally done the job using a different way.
Implemented in the version 1.53.3
This document resume all


feat: Add new configuration for service CIDR to enable Windows bootstrapping

Fixes #4088
Description
TODO
How was this change tested?
TODO
Does this change impact docs?

[x] Yes, PR includes docs updates

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Discussed offline: Looking into some options for users to specify this from environment variables in the userData or to get this info directly from the APIServer. We want to avoid users having to specify this at a global level in the karpenter-global-settings


vm: support dict in script builder

The NEO ABI supports a Map type (ref) as input parameter and return type. A Map is pretty similar to Pythons dict with the exception that the keys are limited to bool,str and int. While it is not used much, it is good to have convenient support for it in the ScriptBuilder class.

Coverage: 81.0% (+0.03%) from 80.973% when pulling 142b2f84b59aa35e4252f1cc3c1fb456fb128caa on sb-dict into d7e2c025182166e32715516ad6af4b6591dcc4bd on master.


ATX handler V2 supports marriages

Motivation
Closes #6007
Description
Implements the first step for merging ATXs - ID marriage.
Married IDs form an equivocation set. This set is identified by looking up all rows with the same marriage_atx column in the identities table.
The identities.IsMalicious() function was updated to check if any IDs that are part of the equivocation set are malicious (has identities.proof column populated).
For example, given below 2 rows, both Alice and Bob are malicious because they share marriage_atx and one of them has proof.

pubkey
proof
received
marriage_atx

ALICE
<proof blob>
1717500897643387339
<ATX ID>

BOB
NULL
0
<ATX ID>

The identities.EquivocationSet() function returns the complete set the given ID belongs to. For an ID that is not married, it returns just this ID as it forms a 1-element equivocation set.
Note: in the current implementation, an ID may be malicious but doesn't have a proof explicitly assigned - it could be assigned to a different ID in its set.
Test Plan
Added tests
TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[ ] Update documentation as needed
[ ] Update changelog as needed

bors merge

bors cancel

bors try

bors try

bors merge

Lots of GRPC errors in the test itself. Retrying
bors merge

Bors merge


Relational data loading

Not sure if others use Dexie (or IndexedDB) for pulling and managing relational data, but for my use case this is essential. Since I couldn't find anything in the API docs I wrote a small plugin myself which I think could potentially be included in the core of Dexie.
It is fairly simple and because I really struggled to figure out the right way to do it via available built-in methods I'm sure this could be extended and improved.
Improvements that I can think of:

add support for multiple related tables
add support for single row relationships via withOne (many-to-one, one-to-one)
add built-in eager loading for performance

I'd be happy to add these with some guidance on how to properly use the API, because at the moment I'm not quite sure how using this method in a method chain would work with where clauses and other options.
Plugin API:
db.projects.with('project_settings', 'project_id', 'settings', 'id')

Result
[
  {
    "name":"project_1",
    "id":1,
    "settings":[
      {
        "project_id":1,
        "name":"setting1",
        "id":1
      },
      {
        "project_id":1,
        "name":"setting2",
        "id":2
      }
    ]
  },
  {
    "name":"project_2",
    "id":2,
    "settings":[
      {
        "project_id":2,
        "name":"setting3",
        "id":3
      }
    ]
  },
  {
    "name":"project_3",
    "id":3,
    "settings":[]
  }
]

Plugin code
import Dexie from 'dexie'

/**
 * Usage: db.table_a.with('table_a_children', 'parent_id', 'children', 'id')
 *
 * This will return all items from table 'table_a'
 * where each item will have a 'children' array with linked records from 'table_a_children' table
 */
Dexie.addons.push((db) => {
  /**
   * Iterate through all items and collect related records
   *
   * @param table
   * @param column
   * @param asProperty
   * @param searchProperty
   *
   * @returns {Dexie.Promise}
   */
  db.Table.prototype.with = function (table, column, asProperty, searchProperty) {
    return this.toCollection().with(table, column, asProperty, searchProperty)
  }

  /**
   * Iterate through all items and collect related records
   *
   * @param table
   * @param column
   * @param asProperty
   * @param searchProperty
   *
   * @returns {Dexie.Promise}
   */
  db.Collection.prototype.with = function (table, column, asProperty, searchProperty) {
    var self = this

    searchProperty = searchProperty || 'id'

    return new Dexie.Promise((resolve, reject) => {
      self.toArray().then(rows => {
        var length = rows.length

        // loop through all rows and collect all data from the related table
        rows.forEach((row, index) => {
          let load = db._allTables[table]
            .where(column)
            .equals(row[searchProperty])
            .toArray()

          load.then(children => {
            rows[index][asProperty] = children
            // once the collection of related items is done, resolve the promise
            if (index + 1 === length) {
              resolve(rows)
            }
          })
        })
      })
    })
  }
})

export default Dexie

Thanks for sharing this small but relevant piece of code. Let's keep it as your dexie addon but let's advertise it on the wiki and from samples code where applicable, at least on https://github.com/dfahlander/Dexie.js/wiki/DerivedWork but we could refer to it from other relevant pages, such as some of the samples that does this kind of stuff "manually". Could also add a jsfiddle where the addon is used.
I'll probably help out with pull requests to improve the addon.
I've been thinking a lot of how to incorporate relational awareness in a Dexie addon somehow but never came to a conclusion about how to do it the best way. This could be a good start.
Extended Schema
Let me share an idea that I have (and that could be done in your addon). The relational model could be expressed already as a minimalistic foreign keys syntax in the schema, which would let the with() method have less arguments.
Example:
db.version(x).stores({
    projects: 'id',
    project_settings: 'id, project_id -> projects.id',
    project_members: 'id, project_id -> projects.id'
});

By the schema, you could see the foreign key relation between the tables. The with() method could then be expressed:
// Include related items with projects
db.projects.with({
    settings: 'project_settings',
    members: 'project_members'
});

// Include project with project_settings
db.project_settings.with({ project: 'project_id' })

An addon can override the interpretation of the schema syntax:
db.Version.prototype._parseStoresSpec = Dexie.override (
    db.Version.prototype._parseStoresSpec,
    parseStoresSpec => function (storesSpec, outDbSchema) {
        // Parse foreign keys syntax
        let foreignKeys = {},
            cleanedStoresSpec = {};
        Object.keys(storesSpec).forEach (table => {
            let indexes = storesSpec[table].split(',');
            foreignKeys[table] = indexes
                .filter(idx => idx.indexOf('->') !== -1)
                .map(idx => {
                    let fk = idx.split('->').map(x => x.trim());
                    return ({
                        index: fk[0],
                        targetTable: fk[1].split('.')[0],
                        targetIndex: fk[1].split('.')[1]
                   });
               });
            // Remove foreign keys syntax before calling original
            cleanedStoresSpec[table] = indexes.map(idx => idx.split('->')[0]).join(',');
        });

        // Call original method:
        let rv = parseStoresSpec.call (this, cleanedStoresSpec, outDbSchema);

        // Update outDbSchema (to use later in 'with' method)
        Object.keys(outDbSchema).forEach(table => {
            if (foreignKeys.hasOwnProperty(table)) {
                outDbSchema[table].foreignKeys = foreignKeys[table];
            }
        });

        return rv;
    });

The code above is written directly in wiki so it might have errors, but it should work in concept. The idea is that you would store the foreign key information into dbSchema, which would be available in table.schema and accessible from the with method to know how the tables relate so that fewer arguments is required to the method.

Awesome! I think your example will be a great start. Though one thing I kind of dislike is the index definition via strings. I think it gets a bit messy without a structure. My personal choice would be something like (I think this approach would add more flexibility, though it's a completely different syntax):
db.version(x).stores({
  projects: [
    {
      index: 'id'
    }
  ],
  project_settings: [
    {
      index: 'id'
    },
    {
      index: 'project_id',
      foreign: {
        belongsTo: false,
        reference: 'projects.id',
        cascade: true
      }
    }
  ],
  project_members: [
    {
      index: 'id',
    },
    {
      index: 'project_id',
      foreign: {
        belongsTo: true,
        reference: 'projects.id',
        cascade: false
      }
    },
    {
      index: 'member_id',
      foreign: {
        belongsTo: true,
        reference: 'members.id',
        cascade: false
      }
    },
  ]
});

What do you think? :)

If we would offer a structured (not string-based) syntax definition, as an alternative to the more minimalistic string-based, it would rather be something like the following:
db.version(x).stores({
    project_settings: {
        primaryKey: {
            name: 'id',
            keyPath: 'id',
            autoIncrement: false
        }
        indexes: [{
            name: 'project_id',
            keyPath: 'project_id',
            unique: false,
            multiEntry: false
        }]
    }
});

Compare that with this:
db.version(x).stores({
    project_settings: 'id, project_id'
});

I think the latter is both more ergonomic and easier to review. If you'd need more properties to the foreignKey definition, one could try finding intuitive describing syntax,for that. An example would be:
db.version(x).stores({
    projects: `id`,

    project_settings: `
        id,
        project_id -> projects.id: cascade`,

    project_members: `
        id,
        project_id -> projects.id: cascade,
        manager_id -> project_members.id`
});

How would you differentiate cascade from belongsTo?

Yeah, point taken. Not sure about the differentiation though. Not even sure it's that necessary at this point. I think maybe I'll start with the basics and we'll see where it goes from there :)


Update recipe to use conda-build=3 compiler var

Recommended by the bot in #20, and may help with the CircleCI build failure there.
...
Could not find compiler set in environment variable CC:

  gcc.
Call Stack (most recent call first):
  CMakeLists.txt:29 (enable_language)

CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
...

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


Remediate High vulnerability

Snyk reports 1 High vulnerability in HumanCellAtlas/matrix-service requirements.txt file. Please remediate by the end of Q3 Milestone 3 or, if applicable, document as a false positive finding.

The upgrade to numpy 1.17.0 in https://github.com/HumanCellAtlas/matrix-service/pull/379 resolves this issue.
Source:
https://github.com/numpy/numpy/releases/tag/v1.17.0rc1 (search for np.load)


remove stable time2 feature

Since that feature is stabilized, we no longer need the feature gate.

Thanks!

You're welcome.


Roll engine to pick updated dart sdk with NSM and hot reload fix.

Changes since last roll:
ae0d3a553 Roll dart to 2765fcf2aecd3841d082fedaeafc00a73a965f8c. (#5160)
73b835c33 Roll src/third_party/skia/ 0caef298c..20fa1e94a (1 commit) (#5159)
f5c7cb366 Roll dart to b298fc6d8f6a0e1aa841dbbdda26663d6012a79a. (#5155)
93b85ee68 Add Android accessibility bridge support for "longPress" and "tap" semantic events
862d13c6f Roll src/third_party/skia/ 97b48a9c7..0caef298c (6 commits) (#5158)
9b7cc44df Dart bindings own the FDIO namespace. Release the engine side reference to the handle after bindings are setup. (#5156)
8896bd35a Roll src/third_party/skia/ f9ab22385..97b48a9c7 (11 commits; 1 trivial rolls) (#5154)
77910baad Roll src/third_party/skia/ 2050565fe..f9ab22385 (11 commits) (#5151)
0667cba31 Roll src/third_party/skia/ 3fef39d94..2050565fe (2 commits) (#5150)
5da171634 Roll src/third_party/skia/ ef4142a9b..3fef39d94 (1 commit) (#5148)
4ec4b3870 Roll src/third_party/skia/ c86c5c014..ef4142a9b (2 commits) (#5147)
d5c111717 Roll dart to 011676641a8b4b77bb372384c712709cbf037675 (#5146)
beb988c60 Roll src/third_party/skia/ 91368c9b9..c86c5c014 (4 commits) (#5145)
a58eabf14 Roll src/third_party/skia/ dc3192b30..91368c9b9 (12 commits; 1 trivial rolls) (#5144)

This supersedes https://github.com/flutter/flutter/pull/17230


Not respecting outputPaths config in Brocfile.js

i'm using ember-cli 0.1.5,
I'd like to build a css file for each 'skin-*.less' file in the app/styles folder. This works with plain CSS using the following config in my Brocfile.js:
var app = new EmberApp({
    outputPaths: {
        app: {
            css: {
                'skin-light': '/assets/skin-light.css',
                'skin-dark': '/assets/skin-dark.css'
            }
        }
    }
});

After installing the LESS precompiler with 'ember install:addon ember-cli-less' this config is not respected and instead 'ember build' looks for app/styles/app.less.

@lukesargeant yes, the addon doesn't support this yet. Not sure when I can get to adding it, but happy to review a PR if you would like to submit one.

@gdub22 gladly, pull request: https://github.com/gdub22/ember-cli-less/pull/7

Closed via #7


Issue: Lack of Support for FCMv1 Credentials in Microsoft.NotificationHubs ARM/Bicep Template

Description:
As of June 2024, Google has deprecated support for Google Cloud Messaging (GCM) and Firebase Cloud Messaging (FCM) in favor of FCMv1. However, the Microsoft.NotificationHubs ARM template currently does not include support for configuring FCMv1 credentials. This is now a challenge for users seeking to transition to FCMv1 for push notifications via ARM/Bicep templates.
Question:
Is there a plan to update the Microsoft.NotificationHubs ARM/Bicep template to include support for FCMv1 credentials? If so, what is the estimated timeline for this update?
Link to the latest version of the ARM/Bicep template with the existing properties supported : https://learn.microsoft.com/en-us/azure/templates/microsoft.notificationhubs/2017-04-01/namespaces/notificationhubs?pivots=deployment-language-bicep

Also posted the request in "MicrosoftDocs/azure-docs" project ( https://github.com/MicrosoftDocs/azure-docs/issues/120662 )


chore(deps): upgrade dev dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-dev-dependencies-k8s-29-main" workflow

⚪ Backport skipped
The pull request was not backported as there were no branches to backport to. If this is a mistake, please apply the desired version labels or run the backport tool manually.
Manual backport
To create the backport manually run:
backport --pr 4501

Questions ?
Please refer to the Backport tool documentation


Add 'mm/yy' support for createAutoCorrectedDatePipe.js

I was trying to use the createAutoCorrectedDatePipe in a credit card expiry field, but it doesn't seem to support the 'mm/yy' format.

Added pull request: https://github.com/text-mask/text-mask/pull/447

#447 merged and published as addons-v3.5.0


Add support for per-metric namespace configuration to prom config

There have been several FR requests for the ability to support custom
namespacing of prometheus metrics. This is currently hard-coded to
"istio", leading to all metrics being prefixed with "istio_" in prometheus.
This PR adds a configuration option that allows moving metrics to different
namespaces. Note, this PR does not add support for removing a namespace
altogether. Metrics will default to "istio" namespace to maintain backwards
compatibility.
Support for customizing the unused subsystem bits is not supported (as use of
this feature of prometheus is not encouraged to my understanding and is not
currently being used in the metrics config).
Fixes: #2236

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
Assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

mixer/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@douglas-reid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
9feec75b7dc13011c7a78abb7c130240624287dd
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


migrate fully to cf v3 api only

cf_exporter currently uses the cf v2 api to get the app and space summary. For example here.
The cf v2 api has been deprecated for quite some time , but now concrete steps have been proposed to disable it.
Since v3 does not offer an alternative for v2's space and app summary, it will be a challenge to get a solution that does not hammer the Cloud Controller too much.

Hi @metskem ,
I think as a first step we will add a flag that by default disables those calls, so we do not run into issues when it gets disabled in cf-deployment by default.
Next step we want to check if we can replace it with something based on v3.


Fix linker error and lower Boost version in Follow Me example

[X] Fix linker error occurred during flexible plugin arch changes.
[X] Lower Boost dependency version from 1.66 to 1.58 to match on Ubuntu 16.

Related: (dronecore/docs/#94)

Thanks @shakthi-prashanth-m - I will look at this early next week.

Thanks!


[FEATURE] Mapping operation API

Duplicate issue

[X] I've searched for any related issues and avoided creating a duplicate issue.

Description
A common use for pools is to perform bulk parallel operations, wait for all of them to complete and then resume the program with all the results obtained. An example of this would be to perform slow, expensive parsing on a number of strings in parallel and then only proceed with the program once all of the items have been fully parsed. Pools are an ideal match for this type of use-case.
This is such a typical scenario for parallelization that many languages support it as a core feature. For example:

Python: multiprocessing.Pool().map(function,[data1,data2,data3]) https://docs.python.org/3/library/multiprocessing.html#multiprocessing.pool.Pool.map
Java: List.of(data1,data2,data3).parallelStream().map(data->function(data)).toList() https://javadoc.scijava.org/Java8/java/util/stream/Stream.html#map-java.util.function.Function-

I believe Poolifier would benefit from a pool.map(datas,name,transfers) method (similar to pool.execute()) that handles the creation and execution of bulk tasks to then return all results at once in an array so the program code can resume its work.
Without such a built-in method, Poolifier users will have to resort to creating the necessary boiler-plate code for every scenario that requires bulk fork-and-wait operations, possibly in multiple locations inside their program, making it time-consuming and error-prone. Other users may prefer to solve this by creating their own program-side implementation of pool.map()  - but then supporting it on the library itself would be a clear benefit rather than expecting them to write and test their own solution.
I appreciate your time and consideration in reviewing this feature request and big thanks to all involved with this project! It is, in my opinion, the best web-worker pool library available today.
Attachments
No response

An API with a single helper .map()?

I'm not sure if you're making notes for posterity or asking me but if you are: the map() syntax is not only common to other major languages (and as such has been tried-and-tested by literally thousands of projects) - but is also native to JS's own [].map().
It looks to me personally like the obvious choice, which is why I suggested it in the body and title of this issue.

To allow to avoid to block the caller

In both of the use-cases I mentioned, the call is blocking. Python does have multiprocessing.Pool().map_async() but as the name shows, that is the secondary form of the function, not the main one.
As I had mentioned, the use-case for this function is "bulk fork-and-wait" operations. If you'd want to return a Promise instead, using Promise.all() is what I intend to do on my boiler-plate code, which I haven't got around to yet since writing this issue.
I apologize if I misunderstood your reply, I don't know anything about Deno, Bun or web-worker internals so I wouldn't be surprised if some of this stuff went above my head. Most of all, thank you very much for considering this feature! Cheers!

The comment was like a quick and dirty RFC for anyone interested ;)
It's intended to get the big picture, design and narrow down the API to the most common use cases before the implementation.

I was working on a side-project during the weekend and took the time to write this issue rather than write my own map() program-side boiler-plate, so I ended up not quite getting to that. I don't know when I'll be able to resume work on that project again but if I get around to it before you do, I will share the code here - but I don't that'd be any time soon, unfortunately.

After more thoughts, the semantic of stream and iterable is orthogonal and can't be mixed in the same API. The same goes for blocking and non blocking.

Iterables:

map()
mapAsync() ('Async' in the API namespace is misleading is node.js, its paradigm is async)

Stream?

Hello, I've seen mapExecute() made it to poolifier-web-worker! https://github.com/poolifier/poolifier-web-worker/blob/dba50c0825e339ca2d70968abf19bace9e957e46/src/pools/abstract-pool.ts#L1099
As such, I'll close this issue as solved.
If you'd like to re-open it for any house-keeping purposes, you are certainly able and welcome to do so!
Merci beaucoup Jérôme for your work and availability! I hope this new feature will be useful for your user-base as well! Have a great weekend!


Translations update from Mattermost Weblate

Translations update from Mattermost Weblate for mattermost-languages-shipped/mattermost-mobile-v2.
Current translation status:

Hello @weblate,
Thanks for your pull request! A Core Committer will review your pull request soon. For code contributions, you can learn more about the review process here.

/release-note-none

Pull Request successfully merged
SHA: aeba5ed6d27e84f16eb963fc9b88f3bdbc3c7bfd


Some tutorial text formatting doesn't match the color of the blocks we're describing. This can be misleading and frustrating.

Describe the bug
The "set" blocks seem to be always red, even though the color blocking around the tutorial text describing them changes.  Here's an example of where it's misleading:

Also here:

(are we even referring to the whole block in that instruction? Just the parameter?)
It makes the user feel like they can't find what they're looking for...or like what they did find can't be the right choice.
Expected behavior
Thought I knew, but there are too many other colors involved.

This is now in my wheelhouse, so I'll fix as we decide what to keep :)


using non-split configuration scheme

Hi,
I have an issue with last updates when i launch this command :
docker run --name smtp     -p 25:25     -e<EMAIL_ADDRESS>   -e GMAIL_PASSWORD="XXXX"     -e RELAY_NETWORKS=":<IP_ADDRESS>/24"     docker-smtp     --restart=always     --rm
+ sed -ri '
	s/^#?(dc_local_interfaces)=.*/\1='\''[<IP_ADDRESS>]:25 ; [::0]:25'\''/;
	s/^#?(dc_other_hostnames)=.*/\1='\'''\''/;
	s/^#?(dc_relay_nets)=.*/\1='\''<IP_ADDRESS>\/16:<IP_ADDRESS>\/24'\''/;
	s/^#?(dc_eximconfig_configtype)=.*/\1='\''smarthost'\''/;
	s/^#?(dc_smarthost)=.*/\1='\''smtp.gmail.com::587'\''/;
' /etc/exim4/update-exim4.conf.conf
+ update-exim4.conf -v
using non-split configuration scheme from /etc/exim4/exim4.conf.template
/bin/entrypoint.sh: line 54: exec: --: invalid option
exec: usage: exec [-cl] [-a name] [command [arguments ...]] [redirection ...]

I tried some syntax but allways the same error message.
What do you think ?

Hello @laouache, tried the below command and works for me with the latest build from docker hub
docker run --name smtp -p 25:25 -e<EMAIL_ADDRESS>-e GMAIL_PASSWORD="XXXX" -e RELAY_NETWORKS=":<IP_ADDRESS>/24" --restart=always namshi/smtp

I think the likely issue would be docker-smtp  --restart=always  --rm in your command argument.
We are using combination of entry point and cmd in the dockerfile, anything you write after the image name is passed as a command argument. If you move the --restart=always  --rm to the front of the image name should work also u can't combine --rm and --restart=always. Hope this helps

Hi,
Thanks it works. I know for rm , it was a for test. Thanks again.

you are welcome


第8章caffe代码测试时的错误

WARNING: Logging before InitGoogleLogging() is written to STDERR
W0202 10:45:07.652467  4063 _caffe.cpp:139] DEPRECATION WARNING - deprecated use of Python interface
W0202 10:45:07.652498  4063 _caffe.cpp:140] Use this instead (with the named "weights" parameter):
W0202 10:45:07.652503  4063 _caffe.cpp:142] Net('lenet.prototxt', 1, weights='mnist_lenet_iter_36000.caffemodel')
Traceback (most recent call last):
File "recognize_digit.py", line 14, in
net = caffe.Net('lenet.prototxt', 'mnist_lenet_iter_36000.caffemodel', caffe.TEST)
RuntimeError: Could not open file mnist_lenet_iter_36000.caffemodel
请帮忙看看是什么问题？

I thought the model has already been trained. My wrong.


keep alive failed

it's their web problem. But if you can see your account point in the console log, you will be fine. You will still get point, just run it.


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_9d4b167f-9788-466b-8aea-2128a2152a3b/pull/1 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target_9d4b167f-9788-466b-8aea-2128a2152a3b.git

Docs Build status updates of commit 68e74a2:
:clock10: Pending: waiting for processors (47 builds ahead of you)
:warning: Docs Build is busy, currently there are 47 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 68e74a2:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-ServiceAccountCannotAccessRepository] Your repository https://github.com/VSC-Service-Account/docs-archive-test-source has enabled Docs Build service account. It seems that at least one of the accounts, e2ebd4, does not have Read permission to the repo. Please ask your repo admin to grant correct permission to service accounts (refer to this document: https://review.docs.microsoft.com/en-us/engineering/projects/ops/engdocs/how-to-grant-service-account-permission-in-your-repository?branch=master#ops-e2e-ppe) and then retry the build. Don't know who to contact? Refer https://repos.opensource.microsoft.com/VSC-Service-Account/repos/docs-archive-test-source/permissions/ to get admin list of the repo if the repo is in one of the organizations Microsoft owns.

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 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 in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Wanted to enable right-click menu on sideload addin

Im developing outlook office addin,
I need to allow user to right click and choose past option from context menu.
Everything was working till, I update windows10 and outlook.
Now it is not working.
Please any help would be appreciated
It is not working only in outlook desktop client, which is using edge webview

@hilarudeens sorry to hear that you've run into this problem. Issues here are intended to report problems with the Office Add-ins documentation, so I'm going to transfer this issue to the OfficeDev/office-js-docs repo instead (which members of the product team monitor for issues like this related to the Office Add-ins platform and APIs).


Format Document does not correctly format the closing tag in the js files (React)

VSCode Version: 1.36.1
OS Version: macOS Mojave

Steps to Reproduce:

Use React component in js file
Tab few times on closing tag
Try to Format Document

Does this issue occur when all extensions are disabled?: Yes

Duplicate of https://github.com/microsoft/TypeScript/issues/20766


Support for Generic OAuth Providers (initial support for Microsoft, Yahoo, and Apple)

Actual resources TBA, including apple sign-in. Still adding tests.

+1207 ... not that bad!

@lsirac the most important remaining things are:

Comments in GenericSignInHandler
Resources

@lsirac approved once the resources are finalized (I believe you still have the placeholders in here, right?)

@lsirac oh and let's not forget about the lint stuff (besides MissingTranslation which we can leave and hotfix next week)


iOS - Seems like FLUTTER_BUILD_NUMBER is not being set correctly

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Steps to reproduce
Created an app with three different flavors
Add firebase plugins using different pods
Updated the app version and build number
Create IPA or run the app with different flavor
Expected results
Able to run or build the IPA for iOS.
Actual results
Unable to use
Launching lib/main.dart on iPhone 14 Pro Max in debug mode...
Running Xcode build...
 └─Compiling, linking and signing...                        10.9s
Xcode build done.                                           37.6s
Unable to install
/Users/dallasfraser_local/Knowledgehook/MobileApps/mobileapp/build/ios/iphonesim
ulator/Knowledgehook Student Dev.app on 06F2DCCE-6E63-409B-8FB0-0DAA017D04D8.
This is sometimes caused by a malformed plist file:
ProcessException: Process exited abnormally:
An error was encountered processing the command (domain=NSPOSIXErrorDomain,
code=22):
Failed to install the requested application
The application's Info.plist does not contain a valid CFBundleVersion.
Ensure your bundle contains a valid CFBundleVersion.
  Command: xcrun simctl install 06F2DCCE-6E63-409B-8FB0-0DAA017D04D8
  /Users/dallasfraser_local/Knowledgehook/MobileApps/mobileapp/build/ios/iphones
  imulator/Knowledgehook Student Dev.app
Error launching application on iPhone 14 Pro Max.

also this shows it not being set
┌─ App Settings ─────────────────────────────────────────────────────────┐
│ Version Number: Missing                                                │
│ Build Number: Missing                                                  │
│ Display Name: Knowledgehook for Student                                │
│ Deployment Target: 12.0                                                │
│ Bundle Identifier: com.knowledgehook.mobileapp.student                 │
│                                                                        │
│ You must set up the missing settings.                                  │
│                                                                        │
│ Warning: App icon is set to the default placeholder icon. Replace with │
│ unique icons.                                                          │
│                                                                        │
│ To update the settings, please refer to                                │
│ https://docs.flutter.dev/deployment/ios                                │
└────────────────────────────────────────────────────────────────────────┘

Code sample
Code sample
Snippet of  Info.plist
```
	CFBundleShortVersionString
$(FLUTTER_BUILD_NAME)
CFBundleSignature
????
CFBundleVersion
$(FLUTTER_BUILD_NUMBER)
```
Snippet Generated.xcconfig
```
FLUTTER_BUILD_NAME=1.0.0
FLUTTER_BUILD_NUMBER=1

</details>

### Screenshots or Video

<details>
<summary>Screenshots / Video demonstration</summary>

</details>

### Logs

<details><summary>Logs</summary>

```console
┌─ App Settings ─────────────────────────────────────────────────────────┐
│ Version Number: Missing                                                │
│ Build Number: Missing                                                  │
│ Display Name: Knowledgehook for Student                                │
│ Deployment Target: 12.0                                                │
│ Bundle Identifier: com.knowledgehook.mobileapp.student                 │
│                                                                        │
│ You must set up the missing settings.                                  │
│                                                                        │
│ Warning: App icon is set to the default placeholder icon. Replace with │
│ unique icons.                                                          │
│                                                                        │
│ To update the settings, please refer to                                │
│ https://docs.flutter.dev/deployment/ios                                │
└────────────────────────────────────────────────────────────────────────┘

Flutter Doctor output
Doctor output
flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.7.9, on macOS 13.3 22E252 darwin-x64, locale
    en-US)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.2)
[✓] Xcode - develop for iOS and macOS (Xcode 14.2)
[✓] Chrome - develop for the web
[!] Android Studio (not installed)
[✓] VS Code (version 1.77.0)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

! Doctor found issues in 1 category.

The only thing I am not sure about is
https://docs.flutter.dev/deployment/flavors#plugin-configurations
This documentation talks about making changes to podfile. However, it is not clear at all how to make this change with multiple flavors or why it is needed.
No online tutorials talk about this either.

I was able to resolve the issue with this:
https://stackoverflow.com/a/73572386
If anyone can document these changes in flavor documentation and explain the issue that would be appreciated. Should generated be in parent runner or child runner?
https://i.stack.imgur.com/atgcJ.png

Thanks for the report @fras2560

I was able to resolve the issue with this:
https://stackoverflow.com/a/73572386

This link says to I was able to have it update again after setting it to the Generated.xcconfig file., ie, you need to make sure your flavor configuration is actually using that xcconfig. For it, see if this helps in your case or not.

/cc @leighajarett for visibility. Since you are actively working on improving flavors documentation and use cases in Flutter :)
For your reference: https://github.com/flutter/flutter/issues/124745#issuecomment-1506114901 and https://github.com/flutter/flutter/issues/124745#issuecomment-1506160336

Thanks for the report @fras2560

I was able to resolve the issue with this:
https://stackoverflow.com/a/73572386

This link says to I was able to have it update again after setting it to the Generated.xcconfig file., ie, you need to make sure your flavor configuration is actually using that xcconfig. For it, see if this helps in your case or not.

What about cases where you have a pod file? What order should they be in? Or was the pod file missing something where it should already include the generated file?

Thanks for the update. I'll keep this issue open for documentation to answer the queries raised here:
https://github.com/flutter/flutter/issues/124745#issuecomment-1506114901
https://github.com/flutter/flutter/issues/124745#issuecomment-1506160336
https://github.com/flutter/flutter/issues/124745#issuecomment-1507152576

What about cases where you have a pod file? What order should they be in? Or was the pod file missing something where it should already include the generated file?

In that screenshot your prod and staging targets are using the Generated.xcconfig base configuration (it's overriding the Pods- one you set at the project-level).  Technically it should be Release.xcconfig but all that's doing is #includeing the Generated.xcconfig. As the docs say:
 Note: Your configurations should be based on your Debug.xconfig or Release.xcconfig file, not the Pods-Runner.xcconfigs. You can check this by expanding the configuration names.

Ideally we would have a screenshot of that in step 3 similar to the one linked: https://github.com/flutter/flutter/issues/82183#issuecomment-839146353

@jmagman
"""
As the docs say:
"""
As what docs say?

As what docs say?

Should have linked it: https://docs.flutter.dev/deployment/flavors#creating-flavors-in-ios.  The blue box has the note.

@jmagman
Can you explain this part of the docs? In particular if there is multiple flavors?
https://docs.flutter.dev/deployment/flavors#plugin-configurations

Example with paid and free flavors:
https://github.com/flutter/flutter/blob/67a84e6c8722b262dea6fb50a4043543b7a4c199/dev/integration_tests/flavors/ios/Podfile#L7-L12
I'm going to move this to the website issue tracker since this is a request for improving that documentation.


Use Java NIO where applicable

https://github.com/appmattus/markdown-lint/issues/34
There are no functional changes to the code and the project builds cleanly.
This change is crucial to enable using Jimfs and other file systems to hold the files to be analyzed.

I'm trying to locate a Windows environment to debug the Windows issue.

The test cases pass now in *nix and Windows. As for the static analysis, this seems to be in part caused by pre-existing issues. How would you prefer to continue with the PR?

Thanks @mattmook ! If you don't mind, my next step will be to use https://github.com/google/jimfs in the test cases to further prove that the production code does not have a hard dependency on the underlying filesystem.


Add API profile support to reference documentation

The CLI reference documentation at https://docs.microsoft.com/en-us/cli/azure/ should have switches for showing documentation for a given API profile.

Closing as this has been done.


BAEL-2417 Added code samples for passing parameters to Java Thread.

@sandy03934 Note that you should rebase your local repository so that you don't get merges from past articles in the PR.


Date/Time Picker

Implement the ux-datepicker component for Material and iOS design.
Todo

[ ] iOS
[ ] Material
[ ] Accessibility
[ ] Documentation

Design Guidelines:

iOS Pickers
Material Pickers

Feature Ideas

Date range: min and max selectable dates
Time range: min and max selectable time
Initial date: defaults to today
Multiple select types: Date, Time, DateTime
Disable dates: days of the week, holidays, etc
RTL support

specify start and end date, where end date cannot be before start date
time can be in 12 hour am/pm or military 24hr time

i18n / world language support
On Tue, Aug 22, 2017 at 6:15 AM, Zacharey Hollingshead <
<EMAIL_ADDRESS>wrote:

Feature Ideas

Date range: min and max selectable dates
Time range: min and max selectable time
Initial date: defaults to today
Multiple select types: Date, Time, DateTime
Disable dates: days of the week, holidays, etc
RTL support

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/aurelia/ux/issues/90#issuecomment-324007896, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AVqV0RfQnv3ElCePL2xE-FwnxszuR2zyks5sasZGgaJpZM4O-h_T
.

@ZHollingshead date and time ranges ... absolutely would love to see that

Issue moved to aurelia/ux-components #3 via ZenHub

Issue moved to aurelia/ux-components #7 via ZenHub


[LIGHTNODE] Create new pricing schedule to scale LightNode price to $50

Update the pricing schedule to keep FDV, but reduce the number of GRAINs mined per node.

This is shipped.