Fixes to get up and started

@sjolicoeur I think this needs to be reverted as it still needs reviewed. @pdufour and I spoke about it briefly and we probably need to get some things out of here.

Yeah I think it should be required to have a reviewer on a change to a core part of our system (payments), even if the changes seem minor.


Fix readonly-plain-text with button addon

Fixes #25870

Shouldn't there also be a "+ .form-control-plaintext," around line 24-27 to handle multiple inputs in an .input-group? (i.e. a handling a .form-control followed by a .form-control-plaintext,)

Commenting in old issues/PRs is bad practice @tmorehouse. Please make a PR if you think something is wrong.


ENH : Adding support for chunking

ok, so I did a bit more careful profiling of Birdman.
It turns out that it is very easy to overwhelm the dask scheduler -- dask does not like dealing with many disjoint tasks.
If there are thousands of tasks, the scheduler will grind to a screeching halt.
So while I was able to run Birdman on a couple of my jobs, there are a few instances where Birdman will not work.
The trick is to add support for chunking; so rather than giving a worker a single feature to work on, give them several features.  Larger chunk sizes will reduce the size of the computation graph, and make these operations more feasible.
I've tested this on some of my larger datasets, so I believe that this will do the trick.

Thanks @mortonjt! I'll try this out and confirm it works for me as well but I think this will be an excellent addition!

Can you provide a brief example of running chunks (with SLURMCluster & Client)? I'm a bit confused about how to structure a program with chunks (e.g. how to allocate resources for the cluster & scaling jobs).

Sure, see this pull request : https://github.com/flatironinstitute/q2-matchmaker/pull/29

I'm all of a sudden having some GLIBC errors on our HPC (for Stan in general not just this PR). If it's okay with you I can merge this in since you've confirmed it works on your end.

no, don't merge.  I think there is a bug hidden somewhere here ...
On Wed, Jun 2, 2021 at 8:35 AM Gibs @.***> wrote:

I'm all of a sudden having some GLIBC errors on our HPC (for Stan in
general not just this PR). If it's okay with you I can merge this in since
you've confirmed it works on your end.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/gibsramen/BIRDMAn/pull/46#issuecomment-853081763, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AA75VXPG4HKXUWXGPY6GGDLTQY6TDANCNFSM45ZY6PFQ
.

I'm going to close this, since it looks like we do not want to support dask in the future.


Add an icon

Would it be possible to add icons to the commands?

Yes, hopefully sometime next year.

The latest version support it finally.


allow users to apply extraconfig on updating VMs

Description
This PR...

Fixes: #9397

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)
[ ] build/CI
[ ] test (unit or integration test code)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[ ] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

Screenshots (if appropriate):
How Has This Been Tested?

How did you try to break this feature and the system with this change?

@blueorangutan package

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el7 ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 10411

@scottssignal can you test this?

@blueorangutan test

@vladimirpetrov a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-11097)

@blueorangutan package

@DaanHoogland a [SL] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: ✔ el8 ✔ el9 ✔ debian ✔ suse15. SL-JID 10709

@blueorangutan test

@DaanHoogland a [SL] Trillian-Jenkins test job (ol8 mgmt + kvm-ol8) has been kicked to run smoke tests

[SF] Trillian Build Failed (tid-11117)

[SF] Trillian test result (tid-11121)
Environment: kvm-ol8 (x2), Advanced Networking with Mgmt server ol8
Total time taken: 54277 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr9422-t11121-kvm-ol8.zip
Smoke tests completed. 133 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File


Auto gen change

Codecov Report

Merging #271 into dev will decrease coverage by 3.82%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##              dev     #271      +/-   ##
==========================================
- Coverage   60.65%   56.83%   -3.83%
==========================================
  Files          76       77       +1
  Lines        4270     4904     +634
==========================================
+ Hits         2590     2787     +197
- Misses       1680     2117     +437

Impacted Files
Coverage Δ

src/parsers/im_io/data.jl
0.5% <0%> (-0.58%)
:arrow_down:

src/parsers/pm_io/multiconductor.jl
0% <0%> (ø)

src/parsers/pm_io/data.jl
46.51% <0%> (+0.29%)
:arrow_up:

Continue to review full report at Codecov.

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


Open the browser in a another thread, prevent the launcher from freez…

…ing. Likely fixes #342

Refer to this link for build results (access rights to CI server needed):
http://jenkins.terasology.org/job/TerasologyLauncherPRs/20/
Hooray Jenkins reported success with all tests good!

@Halamix2 could you try this out? I can probably test it just to say "Yep! Launcher still works" but I can't reproduce the freeze.

Still nothing


Player synchronization and examples (and tests kind of)

So I plan on adding the following piece of code to my project because I need it for myself, I will write it to my branch and you can optionally pull it over once it is done. I am posting this here in case someone has better ideas on how to do this.
Player Synchronization
A common issue in network games is to ensure all players are synched, in particular if a new player joins the game in the middle of a game. I think a lot of this could be automated to this end I am going to add a few new features.
The first thing added to this end will be the player synchronizer class I outlined in another issue I posted here. In short this will allow the server to know the ping and approximate game time of the other players games.
Synchronizer
I intend to add a synchronizer class that will be instanced by the MDGameSession when the MDGameSession is created, it will be a root node just like MDGameSession and it's task will be to handle network synchronization on join / leave between players. Along with also tracking game ticks.
The first thing I will add is a GameTick tracker, this will work on the game delta time and be customizable with a default of 100 ticks per second. I think this will help a lot as rpc messages can then contain the tick the message was sent. This will make it easier for the other clients to display things properly. Say you recieve the following
[Tick100] Postion Vector2(10,10)
[Tick110] Postion Vector2(10,20)
[Tick116] Fire bullet + angle whatever
[Tick120] Postion Vector2(10,30)
Without the tick it is very hard to know when the bullet should be fired, particularly since the position of this object will most likely be a bit behind in the first place. Another thing that could happen is something like this,
[Tick100] Postion Vector2(10,10)
[Tick110] Postion Vector2(10,20)
[Tick120] Postion Vector2(10,30)
[Tick106] Fire bullet + angle whatever
If you have already moved past tick 106 you could always write code to figure out what the position was at tick 106 and spawn the bullet there, then add some additional velocity to make it catch up or simply calculate what position it would be at by the time you recieve the message
Of course you can send the position with your bullet but in general being able to know when in the other game simulation something happened would be incredibly useful.
Player join synchronization
The synchronizer will have a second feature, it will also track every networked node and member that is created through the framework and marked as important. To this extent I would add a new parameter to the SpawnNetworkNode called  bool AddToNetworkSynchronizer which will be default true.
The synchronizer will have an option to pause all clients on player join, so if a player joins while the game is in progress. The synchronizer will use the ticks system to tell all existing players to pause on a given tick in the future. While this is happening the list of nodes and members that need to be synchronized will already have been sent to the new player.
Once the game is paused the synchronizer will ensure all players have the updated values for all networked objects and members. It will send progress messages back to the server which will distribute to all clients. I also plan to add a simple UI scene that is used for this (that can be overriden) that would show the status of synchronization.
Once all players are at the same tick and everything is synchronized the server will send a message to all clients to restart the game in a few seconds. For this the PlayerSynchronization class mentioned above will be used to ensure the players are as synched as possible.
I think adding this will let the framework pretty much keep all players mostly in synch automatically. Of course the synchronizer will also introduce a bunch of new events regarding synchronization and may even be extended to detect major desynchs and pause the game to allow everyone to synch up.
Examples (& kind of tests)
I wish to add an Example folder with a few examples.
Basic MP setup
This will be the base scene used for all other examples. The idea here would be to create some simple UI that can host / join games. That way people who want to use the framework could simply inherit from this scene or copy this scene to get a quick start.
Synchronizer Predictive Example
I will make a predictive actor that simply travels in a random direction and bounces off the edge of the screen. Then it will spawn in a lot of them and maybe also a bunch of inactive ones as well just to give the synchronizer more work. The idea here will be to test / demonstrate the synchronizer and how it can keep clients in synch without much actual work. If it all works out any joining client should be synched and see the exact same thing as the server.
Interactive Rejoin Example
This demo will have a simple player character (godot sprite) where the player can set some properties on it (like scale, position, random color). When a player leaves I will save the data about the sprite and when another player join they will be asked if they want to join as one of the leavers or a new player. The idea is to show off how you can store data from disconnecting players and allow for rejoin.
2D Shooter Example
Top down 2D shooter where players can join whenever they want and be synchronized into the game. The game will show off how to do a lobby, start the game, join in progress. Basic hit detection on both client / server side. And how to interpolate properties to keep players in synch.
Once a player wins a map a new random map will be loaded. It will show how you can have joining players spawn in on any map while the game is in progress.
I also plan to make this example into a youtube tutorial as I recently started a youtube channel to do devlogs and tutorials. here is one where I talk about the MDFramework a bit.
Open Questions / Problems
The main problem I am having is I want to introduce an easy way to say that you want ticks with some member. Say you have player position and you want it to be tracked with ticks. Maybe even keep a history of values that you can access from the code so you don't always have to write code to keep a history. It would be nice to make this as easy as possible.
I have not yet decided on the best way to do this. If there are any suggestions for this that would be great.
I am probably starting on this tomorrow, if anyone has suggestions or think my solution is utter garbage and have a better solution then please let me know.

I haven't fully read through this yet but I wanted to comment that I have a position synchronization class started for my own game that I'm planning to move to the framework. It supports prediction and interpolation based on the expected RPC rate but there's still a bunch of room for improvement.
References:
https://www.reddit.com/r/godot/comments/8ch20v/help_with_node_sync_over_a_network/
https://gafferongames.com/post/snapshot_interpolation/

As for Join Synchronization, MDReplicator/MDGameSession should already handle that for you, it will update new players with the networked nodes and any MDReplicated properties.

Aye they do synchronize on join, however currently as far as I know there is no way for the client to know when synchronization is complete. Nor for the server.
The synchronizer I proposed would allow for the client and server to know when synchronization is completed. Also the game ticks I think could be useful in a lot of situation, particlarly if you are making a network game based on ticks (such as a real time game like transport tycoon or factorio, both of which work on ticks I believe).
That being said, it might be that this is not useful for the framework itself. If that is the case I would just implement this seperately for my own game as I wish to have these features.
Also I would be very interested in your sychronization class once you completed it, I am just about to start on the same thing for my game so if it is added to the framework I would be happy to help test it.

Ah yeah, the synchronization state is a bit of a special case. The framework sort of assumes that the game will continue during synchronization so there's no "complete" moment, it just sends everything continuously.
That's great, I'll try to get the PositionReplicator up in the next few days, it would be good to try out some other algorithms. The current one is okay but there's some noticeable jitter/rubber-banding.

So I have completed the first stage of this now locally, the game now pauses when another client joins. Makes sure every client is synched, then resumes at the same time.
Here is a video
In this video I got a dumb actor that actually recieve no further network signals except for the initial synchronized state of position, speed and direction to move. Then it just bounces off the edge of the screen. All clients stay completely in synch.
All that is left is to add a default graphical interface to show the synch progress (currently only logged) and then a timer that shows the countdown to game unpausing.
Here is how the log looks on join,
[2020-06-10 00:29:24.249][548][SERVER] [LogBasicNetworkLobby::Info] Player joined UnkownPlayer with PeerID<PHONE_NUMBER>
[2020-06-10 00:29:24.259][548][SERVER] [LogBasicNetworkLobby::Info] Player changed name to UnkownPlayer
[2020-06-10 00:29:24.525][565][SERVER] [LogGameSynchronizer::Info] Msec response number 1 from peer [1397867656] is 3866 local Msec is 62324
[2020-06-10 00:29:24.531][565][SERVER] [LogGameSynchronizer::Info] Peer [1397867656] recorded a ping of 275
[2020-06-10 00:29:24.540][565][SERVER] [LogGameSynchronizer::Info] Peer [1397867656] recorded a estimated msec of -58335
[2020-06-10 00:29:24.550][565][SERVER] [LogGameSynchronizer::Info] Estimated OS.GetTicksMsec offset for peer [1397867656] is -58335 based on 1 measurements
[2020-06-10 00:29:25.009][594][SERVER] [LogGameSynchronizer::Info] Peer [1018386675] completed synch
[2020-06-10 00:29:25.015][594][SERVER] [LogGameSynchronizer::Trace] All clients are not synched yet
[2020-06-10 00:29:25.025][594][SERVER] [LogGameSynchronizer::Info] Peer [1058880107] completed synch
[2020-06-10 00:29:25.031][594][SERVER] [LogGameSynchronizer::Trace] All clients are not synched yet
[2020-06-10 00:29:25.143][602][SERVER] [LogGameSynchronizer::Info] Peer [1397867656] has synched 0 out of 120 nodes
[2020-06-10 00:29:26.611][690][SERVER] [LogGameSynchronizer::Info] Msec response number 2 from peer [1397867656] is 5153 local Msec is 64409
[2020-06-10 00:29:26.619][690][SERVER] [LogGameSynchronizer::Info] Peer [1397867656] recorded a ping of 2063
[2020-06-10 00:29:26.631][690][SERVER] [LogGameSynchronizer::Info] Peer [1397867656] recorded a estimated msec of -58245
[2020-06-10 00:29:26.636][690][SERVER] [LogGameSynchronizer::Info] Estimated OS.GetTicksMsec offset for peer [1397867656] is -58290 based on 2 measurements
[2020-06-10 00:29:26.641][690][SERVER] [LogGameSynchronizer::Info] Peer [1397867656] completed synch
[2020-06-10 00:29:26.652][690][SERVER] [LogGameSynchronizer::Trace] All clients synched, sending unpause signal
[2020-06-10 00:29:26.658][690][SERVER] [LogGameSynchronizer::Trace] Unpausing game in 2

If we look in the client log for one of the clients you can see the unpause signal reach them at different times,
[2020-06-10 00:29:26.777][267][PEER<PHONE_NUMBER>] [LogGameSynchronizer::Trace] Unpausing game in 1.881
[2020-06-10 00:29:26.777][376][PEER<PHONE_NUMBER>] [LogGameSynchronizer::Trace] Unpausing game in 1.891
[2020-06-10 00:29:27.094][275][PEER<PHONE_NUMBER>] [LogGameSynchronizer::Trace] Unpausing game in 1.616

[PEER<PHONE_NUMBER>] unpaused at 00:29:28.658
[PEER<PHONE_NUMBER>] unpaused at 00:29:28.668
[PEER<PHONE_NUMBER>] unpaused at 00:29:28.710
So even though there was over 700 ms difference in signal arrival all peers unpaused within 52 ms of each other. The only reason the last client is so far off is because it just joined and I still didn't make the server wait for a higher confidence on it's TickMsec value. Which I probably will do in which case I assume all clients will unpause within 10 ms of eachother regardless of ping.


Update makefile deploy-rinkeby

In .env.example, variable for etherscan api key is ETHERSCAN_KEY, while in the makefile it is ETHERSCAN_API_KEY.
Adjust makefile to use ETHERSCAN_KEY so script can run using the key specified in the .env file

can alternatively change the .env file to use ETHERSCAN_KEY

Hmm, still had issue using the deploy rinkeby make script, but found this issue.
https://github.com/foundry-rs/foundry/issues/2435
Fixed if you also remove the --broadcast flag

but then you have to switch to using forge create rather than the deploy script, so disregard dc0d2f8

@wk0 is there any chance you are compiling via the new intermediate representation pipeline? Verification of Yul IR bytecode on Etherscan is not currently supported, so that can also cause you to run into issues.

It looks like you took out the broadcast option, was that intentional?


Suggestion: Remove spaces between parts of name if there is "-"

For example, "John-  Doe" should be trimmed to "John-Doe"

done


Change flake8 rules formatting to make compatible with pyls

Pyls language server is not capable of parsing previous formatting of
flake8 configuration. It does its own parsing that expects rule codes
to be separated by comma.

Coverage remained the same at 26.693% when pulling 62853b12b5b55e71ad5ad040e5b3e677c74862f1 on rchl:fix/flake8-rules into c1a525845370a75f2116765bbd18002ab6c5f376 on tomv564:master.

Thanks! (there was a "rebase and merge" button for me)


PropertRef generates extra Left Outer Join

Hi,
When specifying a PropertyRef on a HasMany to join onto another table the SQL that gets generated includes an extra left outer join which skews the result set.
This relates to NHibernate's 4.1 release.
I.e. I want to join table "House" to "People" but on "TaxNumber" and not ID:
HasMany(x => x.People).ForeignKeyConstraintName("none")
.KeyColumn("TaxNumber")
.PropertyRef("TaxNumber")
.Cascade.AllDeleteOrphan()
.Access.NoOp();

@fassadlr can you clarify? you seeing this only with NHibernate 4.1?

Hi @chester89!
This started happening when we upgraded our NHibernate version to 4.1 yes.

Hello @fassadlr
Did you solve the property-ref problem??
I'm having the same issue.
Thanks!

Hi @mokasius I dont really work with NHibernate any longer, sorry. But I dont think that issues was solved.

Thanks for your reply @fassadlr !! I'm gonna find a way out, but really think that it isn't solved in this specific version.

Hey @jonasbighetti I didn't find any good solution for this case. I just changed the query and used subQuery to do the job. Quite a work because i had to change all queries with this prop.
Hope u find anything better.

@mokasius could you show some example of what you did? I'm using DetachedCriteria to create some queries but it isn't giving me the results I expected.

It seems this is general NHibernate question. Please ask on the nhusers group.


KBS & AS: Integrated mode vs. microservices mode

Right now, with KBS we support two modes where the AS and KBS runs in one container. But it is becoming evident that some services cannot be cramped into one container, for e.g. RVPS.
I think we should abandon the single container approach and start supporting all microservices with each process running in its own container. This two-approach support is causing greater confusion.
Related: https://github.com/confidential-containers/kbs/issues/310

I agree, and afaik we use the whole compound one in kbs repo as e2e test now. we might need to replace them.

As a counterpoint: having a self-contained binary + flat config file contributes to a good developer ux. If there is an option to keep that option, that would be good. It doesn't need to be the prescribed or reference method.

As a counterpoint: having a self-contained binary + flat config file contributes to a good developer ux. If there is an option to keep that option, that would be good. It doesn't need to be the prescribed or reference method.

But we have the docker-compose for that, no?

I am hesitant about removing the built-in support. First, I agree that we want an easy developer experience. Personally I think Docker compose is pretty easy, but I suspect there are people who are going to want to build everything locally without a container. You can build the microservices approach this way, but it's more complex to configure. I think it's reasonable to a simple (conceptually and practically) version.
More importantly, I think some people might want to avoid the complexity that the microservices approach introduces, In particular having components talk to each other over the network increases the attack surface of the KBS/AS. Here's one example of how that could possibly be an issue.
@surajssd are there other issues you have run into besides https://github.com/confidential-containers/kbs/issues/310? When it comes to the RVPS I think the reality is that the component is not very mature. @Xynnn007 has done a great job to create a couple possible flows but we still have a long way to go in terms of understanding how people want to use the component and how it should be implemented. I think the solution to something like #310 is to work more on the RVPS rather than to just stop supporting it in the configurations that we haven't happened to implement yet.

As a counterpoint: having a self-contained binary + flat config file contributes to a good developer ux. If there is an option to keep that option, that would be good. It doesn't need to be the prescribed or reference method.

But we have the docker-compose for that, no?

locally maybe. what I mean is, a self-contained kbs can be deployed into an environment with kubectl deploy --image ghcr.io/bla/kbs:something if you have to orchestrate several containers to iterate/test changes, it will slow down your debug cycle (at least for me). what I predict from a mandatory microservice soup, is that folks (me) end-up not bothering how to actually deploy this anymore and just let stuff run on the CI which is a big hit on velocity.

Sometimes a monolith is a better choice than microservices based approach ;)

Generally, with focusing only on making developer experience better, the user experience tends to get neglected.
And developer experience is generally what gets tested as well in CI or locally because that's what devs are comfortable with. Then we start seeing such regressions only when a user files an issue.
I don't want to slow down anybodys' debug cycle but at the same time if our test cycles (local or in CI) are divergent from what people will be using then we are creating less productive solution overall. Users will always be playing catch-up.
Ultimately if running KBS and related components on k8s is the key then we should get rid of the docker-compose approach and only support doing local development and k8s.
Three different ways to do things, one of the two will always suffer.

@surajssd we should update the CI to add both the cases - all-in-one  image with features built-in as well as the micro-services approach.
Built-in also has advantages in some cases w.r.to packaging and shipping. Right now I don't think we have enough insights to decide one way or the other. My suggestion will be to use both the approaches, include it in the CI/CD pipeline and take a call after few releases of what makes sense.

I think this test already tests the built-in AS (without any containers).
I agree that it's too early to know what users really want.

Nice conversion. Let me take back my original words. To me the core problem is RVPS. Currently the only API not exposed by KBS is RVPS'. @lmilleri also once raised this in https://github.com/confidential-containers/kbs/issues/310#issue-2110486044. To me, RVPS is still an abstract/developing module to work with software supply chain, which is not mature, so it might not be a great issue. Even if its API is not exposed, we can also use the policy to reach the same goal, by configuring the reference values manually. Before RVPS implements deterministic semantics and functionality, it would be good to keep as-is, s.t. mono service.
About RVPS, @thomas-fossati has raised some great ideas and we have discussed some interested ideas. The work would be carried on. Let's go and see.


Use Audio features for AutomaticSpeechRecognition task template

In #2533 we added a task template for speech recognition that relies on the file paths to the audio files. As pointed out by @SBrandeis this is brittle as it doesn't port easily across different OS'.
The solution is to use dedicated Audio features when casting the dataset. These features are not yet available in datasets, but should be included in the AutomaticSpeechRecognition template once they are.

I'm just retaking and working on #2324. 😉

Resolved via https://github.com/huggingface/datasets/pull/4006.


Update datepicker.md

Mention that dateFormat accepts array of formats.

Current coverage is 92.36% (diff: 100%)

Merging #571 into master will not change coverage

@@             master       #571   diff @@
==========================================
  Files            11         11
  Lines           498        498
  Methods          15         15
  Messages          0          0
  Branches         89         89
==========================================
  Hits            460        460
  Misses           14         14
  Partials         24         24

Powered by Codecov. Last update 95a870a...441edf8

Thanks @grumd!


Forward purelist_parameter "doc" in lazy slices

In addition to __record__ since both are queried in every highlevel array instantiation.
This is a follow-up to #390

Of course in the long run it will be better to have #402 but for now it is 👍


too many parameter when calling rootchain.submitBlock at child_chain.py

https://github.com/omisego/plasma-mvp/blob/1683070b28bb64b0193f7dd4220957849fd6d317/plasma/child_chain/child_chain.py#L84
At child_chain.py, passing 2 parameters(block.merkle.root, self.current_block_number)
but at RootChain.sol, submitBlock() function recieves only 1 parameter(bytes32 root).

I actually think we should revert here so that current_block_number is required. @DavidKnott?

@DavidKnott @kfichter aren't we protected against reordering-by-miner by nonces of authority account?

@paulperegud hmm. I think yes, as long as there aren't any feasible client-side race conditions where block N is submitted before block N-1. Even something like an intermittent failure to connect to the RPC server could stop the submission of block N-1, but I feel like we should be handling those cases anyway.
Requiring the block # seems like an absolute way to make sure that the blocks can't accidentally be submitted in the wrong order. It also adds very little complexity.


Add VS Code API docs search

First of all, this is really great for showing docs in a sidebar as we code.
Please consider adding Topics dropdown and vscode api search to this extension for extension devs from:
https://code.visualstudio.com/api/references/vscode-api
So we can load docs topics & search docs from vscode without switching to browser.
Same can be applied to other docs sites for other launguages and apis. This seems like a good extension to implement that idea.
Thanks!

Closing this as out of scope for this extension. A different extension could provide more of a documentation browser

that's fine. I do like what Kite does for Py tho: https://www.kite.com/copilot/
maybe they'll add insta docs search for JS soon too.


BuildGraphOf is broken

Currently when you try to use the /p:BuildGraphOf property you'll get a failure when it doesn't find the packages for the given repos dependencies within Universe. We should fix this scenario to make it easier for people to fix Universe-only problems.

@ryanbrandenburg is this still an issue?

Per triage discussion, this won't be useful anymore because we'll have incremental builds.
We should just delete the parts of the build that support BuildGraphOf and never worry about it again.


Update Example App

I implemented a better search ability in Example App.
Example: If a user searches for any keyword without http://, https:// or www. it will use Google Search(https://google.com/search?q=${text_they_searched_for}) to show results, if user starts url with http://, https:// or www. it will take them directly to the website they searched for.
A better way to do this is by implementing URL verification so any url that returns as true can be previewed without implementing any if-else function. I will be creating a Browser App using webview_cef(Under Development)  which will use URL verification.
This function is required to tell developers that they can create a browser using Flutter and webview_cef for Desktop, webview_cef maybe the first plugin which will allow Linux developers to use WebView using Flutter so this simple implementation will allow them to understand how good this plugin is and there are no limitations with this plugin.
I fixed one grammatical error in the README.md too.

Nice feature! Thanks


Tracking: Testing the Entire Chain

Goals
Make sure that zebrad's sync, verify, and state handling work after every commit.
Check historical edge-case handling in our verifiers, by running the entire chain through them.
These basic tests are easy to automate, and provide reasonable assurance that our implementation works.
Issues from Epic

[x] #1021
[ ] #1052
[x] #1135
[ ] #1392
[x] #1566
[ ] #2559
[ ] #2560
[ ] #2654
[ ] #208
[ ] #704
[x] #466
[x] #1414
[x] #1302
[x] #1004
[ ] #919
[x] #730
[x] #744
[x] #610
[ ] #1400
[ ] #1011
[ ] #1007
[ ] #1222
[ ] #1285
[ ] #1286
[ ] #1229

Original list
High Priority - Early Releases
Implementation

[x] add a checkpoint_sync config option (#931)
[x] write acceptance tests for sync, verify, and state (#746)

Fix Bugs That Impact Tests

Tracked in Sync Correctness: #884
[x] commit blocks according to the state design RFC (#969)
[x] make the state handle out of order blocks

Chain Testing

[x] Re-enable the CheckpointVerifier tests https://github.com/ZcashFoundation/zebra/issues/1285

we might need to use FuturesUnordered to avoid race conditions and deadlocks
use Mainnet blocks 11-27 in these tests (added in #802)

[x] Add mainnet and testnet block test vectors for each network upgrade (#1096)

[ ] Find existing tests that use block test vectors, and see if they can use zebra_test::vectors::TEST_BLOCKS instead

Sync Testing

[x] Test post-Sapling Mainnet blocks (PR #1229)
[x] Test sync-to-tip on Mainnet

as a "canary" test that can only fail https://github.com/ZcashFoundation/zebra/issues/1286

Failure Testing

[ ] Make sure that the first alpha difficulty validation consensus rules fail on invalid data (#802)

Automation

[x] Integrate quick tests into PR and main branch CI - fast tests
[x] Deploy slower tests using main branch CD - slow tests

Lower Priority - Later Releases
Design and Scope

[ ] Network Integration test framework #466

[ ] Basic integration testing - scope and design - ticket #1004 RFC #1007
[ ] Make zebrad work with a small number of peers #704
[ ] Test that zcashd and Zebra can sync from Zebra #1400

Fix Bugs That Impact Tests

Tracked in Sync Correctness: #884
[x] commit blocks according to the state design RFC (#969)
[x] make the state handle out of order blocks

Chain Testing

[ ] Re-enable any tests that have been disabled (previous PR #1119)

[ ] Re-enable the Block Verifier tests (#1011, depends on #1135)

Sync Testing

Test post-Sapling and sync-to-tip on Testnet

[x] Deploy zcashd testnet instances to improve testnet reliability (#1222)

[x] After zebrad can serve blocks (#1078), replace some zcashd instances with zebrad?

[ ] Enable the post-Sapling and sync-to-tip tests by default on Testnet

for context, see #1229

Failure Testing

[ ] Make sure that every consensus rule fails on invalid data
[ ] Make sure that signatures fail on invalid data
[ ] Make sure that proofs fail on invalid data

I think our code will be simpler if we don't add any additional modes beyond what we absolutely need.

I think our code will be simpler if we don't add any additional modes beyond what we absolutely need.

I'd like to test the block verifier against all the blocks in the chain, to make sure we've covered any historical edge cases.
What's the best way to do that?
I could delete some of the hard-coded checkpoints, but that might cause issues with pre-Sapling blocks.

Updated based on #911 and #931.

#1285 1285

We've moved all of the remaining sub-tasks out of the first alpha release, so this ticket can move to the first stable release.

Converting any "Epics" that do not have a start and end date into github tracking issues instead.

All these tasks are unlikely to be done any time soon.


Update to fontawesome 5

Breaking changes there.

@Maffooch I think you have some experience with JS stuff? Any idea why icons and font would not be loading? There is no error in building the nginx image, nor when loading the pages, but things are just not showing. Cheers.

Sorry It took so long to respond. I don't have a ton of experience with JS, but did take a look at the issue. Console logs say the file at the this url: http://localhost:8080/static/dojo/js/pdfmake.min.js.map
is not there. This file is related to the recent data tables inclusion found in the all findings view. Not sure what the deal is here.

So it looks like the upgrade is not as simple as once thought. Font Awesome changed a lot of naming conventions and straight up changes the names of some of the icons we were using. I tried changing a few, but still got the empty rectangles. No idea where to go from here.
Link for reference:
https://fontawesome.com/how-to-use/on-the-web/setup/upgrading-from-version-4

For now we should stay at v4. No reason to go for v5 which is a complete rewrite. Also there are lots of javascript issue so I think we need to stabilize first.
i.e. https://github.com/DefectDojo/django-DefectDojo/issues/1999

Console logs say the file at the this url: http://localhost:8080/static/dojo/js/pdfmake.min.js.map
is not there. This file is related to the recent data tables inclusion found in the all findings view. Not sure what the deal is here.

I think it is unrelated to the move to font-awesome 5. @valentijnscholten brought this up a short while ago even with our current version.

For now we should stay at v4. No reason to go for v5 which is a complete rewrite. Also there are lots of javascript issue so I think we need to stabilize first.

Agreed. I'll close this and inform dependabot to not bump major if it can listen.


generate_blob_sas can generate invalid SAS URLs

Package Name: azure-storage-blob
Package Version: 12.13.0
Operating System: Ubuntu 20.04.6 LTS (via WSL2)
Python Version: 3.10.9

Describe the bug
When using the function generate_blob_sas, an invalid SAS URL can be created when given insufficient information in the parameters.
To Reproduce
Steps to reproduce the behavior:
Given the following call
account_key = os.environ["BLOB_ACCOUNT_KEY"]
blob_sas = generate_blob_sas(
    account_name="my_account_name",
    container_name= "my_container_name",
    blob_name="my_blob_name",
    account_key=account_key,
    permissions=BlobSasPermissions(read=True),
    expiry=datetime.utcnow()+3600,
)

This call actually contains a typo on permissions (should be just permission) which while a user error, leads to the function returning an invalid SAS URL instead of throwing an error.
On a subsequent request using this blob_sas, it will be missing an sp parameter and will fail.
Expected behavior
Ideally, the function would instead throw an error that the generated SAS URL is an invalid one, rather than passing silently only for a later caller using blob_sas to fail.
Screenshots
N/A
Additional context
The bug / feature request is for this function to throw an error if an invalid SAS URL would be generated.

Thanks for the feedback, we’ll investigate asap.

Hi @seanytak Sean, thanks for reporting the issue! It does seem like we do not do proper validation on the inputs for our SAS parameters. We'll look into adding some input validation to this method (and out other SAS methods) at some point soon.

Hi @seanytak Sean, sorry for the delay! My response to this issue is long overdue, but rest assured the issue has been addressed!
Pull request #32704 was added as a result of this GitHub issue and has been successfully merged. The SAS input validation changes are live and are included in our latest release of azure-storage-blob (12.9.0)
Thanks again for your contribution! 😄


Remove unnecessary call to check if a path is ignored

Description of the Change
Based on some profiling, the most expensive part of crawling the list of files is to check if each of the discovered files/folder are being ignored by git (the isIgnored()  method). This is done by calling the git-utils package which internally calls libgit2.
For medium to large repos (>30K files), isIgnored() takes ~80-90% of the crawling time 💀.
Fortunately, the crawling logic is currently doing unnecessary checks to isIgnored(), which results in performing almost the double of checks than needed.
By removing the additional call to isIgnored() we can cut by ~40% the time that takes to open the fuzzy finder for the first time on medium and large repos.
This is a short table with the perf gains based on the repo size:

Type
Num Files
Time (master)
Time (This PR)
Improvements

Small
2K
1.3s
1.3s
0%

Medium
30K
10.3s
6.2s
39.8% 🎉

Large
270K
97.3s
57.5s
40.9% 🎉

(In order to measure the time, I've added a console.time() call before creating the crawling task and a console.timeEnd() on the callback of the task).
The reason why this change is not impactful on small repos is because there seems to be some overhead when creating the Task, which dominates the time to crawl when there are not many files to check.
This is some impactful low hanging fruit for https://github.com/atom/fuzzy-finder/issues/271, but there are a few other improvements that I think we can do to the fuzzy finder to make it faster.
Alternate Designs
N/A.
Benefits
Time to open the fuzzy finder after the editor launch gets reduced by ~40% on large repositories.
Verification Process

Added some logging on the call to the callback to print all the project files that were crawled, stored them in disk and compared the list that gets generated with this PR against the one that gets generated in master. Verified that both lists are the same for several projects with different .gitignore configs (Atom, Jest, Gecko-dev).
Manually verified that there are only two callsites to the pathLoaded() method (1 and 2). Both of them pass the same variable as argument (pathToLoad), which never gets reassigned. Before calling both callsites there's always a call to isIgnored() with the same variable argument (pathToLoad) so isIgnored() is called for the same exact paths than it was before (just less times).

Possible Drawbacks
N/A.
Applicable Issues
https://github.com/atom/fuzzy-finder/issues/271

I see that the test suite is passing. That's a great sign. 😅 In addition to having a green test suite, can you describe the process you'll follow to verify that the change has not introduced any regressions? (This is something we ask contributors to provide in performance-related pull requests in atom/atom, but it doesn't look like we've incorporated that into atom/fuzzy-finder's pull request template yet.)

Thanks for the suggestion! I've just added some information on the PR description about the verification steps that I followed.


Foreign Key mismatch when I have a reference table with 2 primary keys

I have problems using the foreign key in the case where I have a table with two primary keys even though in the referenced table I use both of them.
Here are example tables :

@DataClassName("Tabel")
class Tables extends Table {
  TextColumn get identityId => text()();

  IntColumn get externalId => integer()();

  DateTimeColumn get date => dateTime().nullable()();

  TextColumn get description => text().nullable()();

  DateTimeColumn get createdAt =>
      dateTime().withDefault(Constant(DateTime.now()))();

  DateTimeColumn get updatedAt => dateTime().nullable()();

  @override
  Set<Column> get primaryKey => {identityId, externalId};
}

@DataClassName("Ref")
class Refs extends Table {

  IntColumn get id => integer().autoIncrement()();

  TextColumn get identityId => text().references(Tables, #identityId,
      onDelete: KeyAction.cascade, onUpdate: KeyAction.noAction)();

  IntColumn get tableId => integer().references(Tables, #externalId,
      onDelete: KeyAction.cascade, onUpdate: KeyAction.noAction)();

  TextColumn get subject => text().nullable()();

  DateTimeColumn get createdAt =>
      dateTime().withDefault(Constant(DateTime.now()))();

  DateTimeColumn get updatedAt => dateTime().nullable()();
}

When I try to make a delete, this error comes out.
SqliteException(1): foreign key mismatch - "refs" referencing "tables", SQL logic error (code 1)
  Causing statement: DELETE FROM "tables" WHERE "identity_id" COLLATE NOCASE = ?;

I have made all the configurations, the scenario only presents itself with the table with more keys.

I solved this problem by creating a custom in this way, removing the previous declarations in Refs.
@DataClassName("Ref")
class Refs extends Table {
  IntColumn get id => integer().autoIncrement()();

  TextColumn get identityId => text()();

  IntColumn get tableId => integer()();

  TextColumn get subject => text().nullable()();

  DateTimeColumn get createdAt =>
      dateTime().withDefault(Constant(DateTime.now()))();

  @override
  List<String> get customConstraints => [
        'FOREIGN KEY("identity_id", "table_id") REFERENCES "tables"("identity_id", "external_id") ON DELETE CASCADE ON UPDATE NO ACTION'
      ];
}

Huh, I've kind of expected sqlite3 to be smart enough to cascade the deletes in the first setup as well. The solution of adding a table constraint sounds good though.


<EMAIL_ADDRESS>(RC5 starter pack) "--proxy option" stop working

window 10
angular-cli: 1.0.0-beta.11-webpack.2
node: 6.3.1
os: win32 x64
Repro steps. Was this an app that wasn't created using the CLI? What change did you
do on your code? etc.
create a new project and serve it with ng serve --proxy http://some/proxy/url
Worked in the rc4 project structure

Please see PR https://github.com/angular/angular-cli/pull/1487

Duplicate of #889

Thanks @mmrath, found a temporary hack:
angular-cli/addons/ng2/tasks/ng-serve-webpack.ts:33
...
inline: true,
proxy: {
'/rest': commandOptions.proxy
}
if anyone else just want to get it going until it is configurable

Closed by https://github.com/angular/angular-cli/pull/1487

This workaround works, thanks for the reference.  In my case I need an additional option as well:
      proxy: {
         '/api':  {
             target: 'https://my.real.server.com,
             secure: false
         }
      }

It would be nice that, once this is permanently solved, there would be some way to pass in more robust options than just a string - possibly even a place to add a function/closure to be able to do some simple request mapping

@filipesilva This might be a dumb question but if this issue is closed by #1487, how come proxy doesn't work on the latest Webpack version (1.0.0-beta.11-webpack.8)?

Please see https://github.com/angular/angular-cli/pull/1896 for documentation on how to use the --proxy-config option.


fix bigtransfer tests

Description:
During the unit test we reload the tensorflow model twice, which tensorflow doesn’t allow.
┆Issue is synchronized with this Jira Task by Unito

Seems to have worked in latest bump, closing issue


Ubuntu installer reports "cannot find font directory"

Using VAPOR installer on Ubuntu, an user would run into the following message in the terminal:

The application appears OK to use, so the message is more of an annoyance.

revisit afte #3514

Now the Linux AppImages throw out a page long of missing fonts message upon opening, no matter what the host OS is. It doesn't make VAPOR look good.


Config file is ignored

What happened
I created a config file: ~/.config/shpool/config.toml
I want to remove the prompt, so the content of the file is: prompt_prefix = ""
This setting is ignored. I also tried to add other setting like session_restore_mode which is also ignored.
I know that the file is at least read because I experimented by inserting some syntactic error, and that makes the tool to crash when attaching to a new session.
I tried to also specify the config file when creating the new session: shpool -c ~/.config/shpool/config.toml attach -f main
What I expected to happen
Apply the config from the config file
Version info
shpool 0.6.0

You probably need to restart your daemon with systemctl --user restart shpool. I just cut version 0.6.1, which includes a file watcher so that config changes get live-reloaded to avoid this (though I'm not sure that it will handle going from no config to some config well, I should probably check).

Nice, it works!
I'm puzzled about what the "-c" flag is supposed to do then

The -c flag is a universal flag that can get passed along with any subcommand, and it applies to the shpool process it is passed to. When you use shpool there are actually two processes in play though, the shpool attach process is the client process, which talks to the daemon (shpool daemon) via a unix domain socket. The daemon process is managed by systemd and not affected by the flags you pass into your shpool attach invocation. I can definitely see how this is confusing though. Hopefully the new config watcher will improve the situation.


HTTP client: streamed request not triggering drain (perhaps)

I'm using the browser http client against a react http server that sends and receives NDJson feeds in a stream to stream fashion (like a packet of Json query for the DB that stands behind, the DB handle each query and feeds the results).
But at one point the input stream is paused by the request stream but the input stream is never resumed (the drain event is not triggered). I've stripped and sorted all interfering parts (haproxy, timeouts, ...).
I have found a workaround with an auto resume timeout in the input stream, it is working fine...
But my question : what am I doing wrong ?
Here is the kitchen side:
...
    /**
     * @return ResponseInterface
     */
    public function ndjsonPipeQuery(string $method, string $path, callable $processItem, array $query = [], $body = '')
    {

        $loop = Loop::get();

        if ($body instanceof \Generator) {
            $body = new GeneratorStream($body, $loop, [
                'auto_resume_timeout' => 0.5,
                'memory_throttle' => 10 * 1024 * 1024,
            ]);
        }

        $l = 0;

        $res = null;

        $this->reactStream($method, $path, $query, $body)->then(function (ResponseInterface $response) use ($processItem, &$l, &$res) {

            $res = $response;
            $body = $response->getBody();
            if ($body instanceof ReadableStreamInterface) {
                $in = new \Clue\React\NDJson\Decoder($body, false, 512, 0, 10 * 1024 * 1024);

                $in->on('data', function ($data) use ($processItem, &$l) {
                    ++$l;
                    // $data = \json_decode($data);
                    \call_user_func_array($processItem, [$data]);
                });

                $body->on('error', function (\Exception $e) {
                    throw $e;
                });

                $in->on('error', function (\Exception $e) {
                    throw $e;
                });
            } else {
                throw new \LogicException("D'oh!?");
            }
        }, function (\RuntimeException $reason) {
            throw $reason;
        });

        $loop->run();

        return $res;
    }

    /**
     * @return PromisePromiseInterface<ResponseInterface,\Exception>
     */
    public function reactStream(string $method, string $path, array $query, $body = '', array $headers = [])
    {
        $reactBrowser = new \React\Http\Browser();
        $headers['User-Agent'] = 'xxx';
        $headers['X-Api-Key'] = $this->assertOption('api_key');
        $url = $this->generateUri($path, $query);
        return $reactBrowser->requestStreaming($method, $url, $headers, $body);
    }
...

The input stream is homemade. It's wrapping a generator and handle memory throttling.
<?php

namespace XXX\Stream;

use Evenement\EventEmitterTrait;
use React\EventLoop\Loop;
use React\EventLoop\LoopInterface;
use React\Stream\ReadableStreamInterface;
use React\Stream\Util;
use React\Stream\WritableStreamInterface;

/**
 * Stream to wrap Generator.
 *
 * @author david
 */
class GeneratorStream implements ReadableStreamInterface
{
    use EventEmitterTrait;

    protected $cursor;

    protected $closed = false;
    protected $paused = false;
    protected $ticking = false;
    protected $loop;
    protected $options;
    protected $startMemory;

    public function __construct(\Generator $cursor, LoopInterface $loop = null, array $options = [])
    {
        $this->cursor = $cursor;
        $this->options = $options + [
            'chunk_size' => 100,
            'memory_throttle' => 0,
            'memory_throttle_interval' => 0.1,
            'auto_resume_timeout' => false,
        ];
        $this->loop = $loop ?: Loop::get();
        $this->startMemory = \memory_get_usage(true);
        $this->loop->futureTick([$this, 'handle']);
    }

    public function pause()
    {
        if ($this->closed || $this->paused) {
            return;
        }
        $this->paused = true;
    }

    public function resume()
    {
        if (!$this->paused || $this->closed) {
            return;
        }
        $this->paused = false;
        $this->handle();
    }

    public function pipe(WritableStreamInterface $dest, array $options = [])
    {
        return Util::pipe($this, $dest, $options);
    }

    public function isReadable()
    {
        return !$this->closed;
    }

    public function close()
    {
        if ($this->closed) {
            return;
        }
        $this->paused = false;
        $this->closed = true;
        $this->emit('close');
        $this->removeAllListeners();
    }

    /**
     * @internal
     */
    public function handle()
    {
        if ($this->closed) {
            return;
        }
        if ($this->paused) {
            $this->throttle();
            return;
        }
        $chunkSize = $this->options['chunk_size'];
        $memoryThrottle = $this->options['memory_throttle'];
        $startMemory = $this->startMemory;
        // on va limiter l'emprunte mémoire
        $usedMemory = 0;
        $i = 0;
        while ($this->cursor->valid() && (($chunkSize > 0 && $i < $chunkSize) || 0 == $chunkSize)) {
            $raw = $this->cursor->current();
            // il faut que l'item soit stringifiable
            $data = (string) $raw;
            $this->emit('data', [$data]);
            $this->cursor->next();
            ++$i;
            if ($memoryThrottle > 0) {
                $usedMemory = \memory_get_usage(true) - $startMemory;
                if ($usedMemory > $memoryThrottle) {
                    break;
                }
            }
        }
        if ($this->cursor->valid()) {
            $this->throttle();
        } else {
            $this->emit('end');
            $this->close();
        }
    }

    protected $pausedAt;
    protected function throttle()
    {
        $memoryThrottle = $this->options['memory_throttle'];
        $memoryThrottleInterval = $this->options['memory_throttle_interval'];
        $startMemory = $this->startMemory;
        $usedMemory = \memory_get_usage(true) - $startMemory;

        if ($this->paused) {
            $autoResumeTimeout = \floatval($this->options['auto_resume_timeout'] ?? false);
            if ($autoResumeTimeout > 0) {
                if (empty($this->pausedAt)) {
                    $this->pausedAt = \microtime(true);
                } else {
                    if (\microtime(true) > $this->pausedAt + $autoResumeTimeout) {
                        $this->pausedAt = null;
                        // ugly but effective
                        $this->resume();
                    }
                }
            }
        }

        if ($memoryThrottle > 0 && $usedMemory > $memoryThrottle && $memoryThrottleInterval > 0) {
            $this->loop->addTimer($memoryThrottleInterval, [$this, 'handle']);
        } else {
            $this->loop->futureTick([$this, 'handle']);
        }
    }
}

composer infos
clue/ndjson-react                                      v1.2.0             Streaming newline-delimited JSON (NDJSON) p...
react/cache                                            v1.1.1             Async, Promise-based cache interface for Re...
react/dns                                              v1.10.0            Async DNS resolver for ReactPHP
react/event-loop                                       v1.3.0             ReactPHP's core reactor event loop that lib...
react/http                                             v1.8.0             Event-driven, streaming HTTP client and ser...
react/promise                                          v2.9.0             A lightweight implementation of CommonJS Pr...
react/promise-stream                                   v1.5.0             The missing link between Promise-land and S...
react/promise-timer                                    v1.9.0             A trivial implementation of timeouts for Pr...
react/socket                                           v1.12.0            Async, streaming plaintext TCP/IP and secur...
react/stream                                           v1.2.0             Event-driven readable and writable streams ...

Hey @quazardous, thanks fro bringing this up :+1:

I have found a workaround with an auto resume timeout in the input stream, it is working fine...

Seems like a win for me if it is working, right?

But my question : what am I doing wrong ?

You presented a lot of code in here, can you narrow your example down to the problem you're seeing and point out the part of the code that is affected?

Seems like a win for me if it is working, right?

yes it's in preprod stage right now. but the fact that the stream is told to pause by the request but never told to resume is bothering me (a little).
the "blockage" is inside requestStreaming().
return $reactBrowser->requestStreaming($method, $url, $headers, $body);

There is a pipe somewhere linking $body to the HTTP request stream.
The HTTP stream is consuming the generator and at some point it stops.
The HTTP request stream calls $this->input->pause() but never $this->input->resume() (should be done by the drain event).
Randomly forcing the resume() is a little hazardous IMO.
I was thinking that maybe I must register the input stream with the loop because GeneratorStream is not based on socket/file ressources.

This either sounds like something weird is happening in ReactPHP or there's some weird behavior in your big example above (always hard to figure this out in bigger code examples tho). Maybe it is worth trying to reproduce this step in a smaller example, this way we either see the same behavior or the successful outcome.

I'm closing this for now as it hasn't received any input in a while and we can not currently reproduce this. Please come back with more details if this problem persists and we can always reopen this :+1:


Removed proxies in master makefile

created needed directories for schroot and modify file permissions for conf file

@karimull can i merge...looks good to me.
fixes https://github.com/opensecuritycontroller/community/issues/87

still testing Arvind.., will let you know ASAP...

Can you please review new changes

@karimull let me know if i can merge the changes


Multiple batteries

Hi! I just installed Battery Status on my laptop, which has two batteries (an internal one and an external one – Thinkpad W550s is the model). It seems that the applet is only showing information for one battery. Or maybe an aggregated/average for both batteries? I’m not sure. So some feature that would be nice in the future is support for multiple batteries :)

Same issue here. Thinkpad T480.
➜ mwarren@walnut  /sys/class/power_supply  ls | grep BAT
BAT0
BAT1


Add Safety Wizard to showcase

Safety Wisard started as an Objective-C iOS application and was recently migrated to React Native to  have a single codebase across our iOS and Android apps.

Thanks for sending this pull request. According to the guidelines in that file, "infoLink" must be one of:
1/ An English-language news article discussing the app, built either by a funded startup or for a public company
2/ An English-language technical post on a funded startup or public company blog discussing React Native
I am going to close this, but if you have one of those two things, feel free to reopen with a new link.

@hramos We have updated the content and title to better reflect the guidelines.


Increase bar width/thickness

How can i increase the width/thickness of a bar in a stacked bar chart / bar chart.

The only way I have found to do this is by changing the value for barPercentage in chart config. It takes a number from 0-1 but even at 1 I feel its sometime too thin. There should be a way to set the bar width to the exact width you desire.

You can change the value for barPercentage in chartConfig like 0.5, 1, 1.5, 2. 2.5, 3 like this according to the width you desire


merge Release/54 into develop

Warnings

:warning:

Source/dom/assets/GradientAsset.js changed, but not:

📚 its docs
🧪 its tests

That's OK as long as you're refactoring.

:warning:

Source/dom/layers/StyledLayer.js changed, but not:

📚 its docs
🧪 its tests

That's OK as long as you're refactoring.

:warning:

Source/dom/models/Document.js changed, but not:

📚 its docs
🧪 its tests

That's OK as long as you're refactoring.

:warning:

Source/dom/models/SharedStyle.js changed, but not:

🧪 its tests

That's OK as long as you're refactoring.

:warning:

Source/dom/style/Fill.js changed, but not:

📚 its docs

That's OK as long as you're refactoring.

:warning:

Source/dom/style/Style.js changed, but not:

🧪 its tests

That's OK as long as you're refactoring.

  Generated by :no_entry_sign: dangerJS


[url_launcher] and [url_launcher_platform_interface] Fix tests broken my ChannelBuffers migration

Combines https://github.com/flutter/plugins/pull/3965 and https://github.com/flutter/plugins/pull/3963:

This test broke because it relies on implementation details that are no longer valid. We believe it is redundant with the test above it and the test in the interface package at this point.
ChannelBuffers is actually async so we have to run the test using runAsync otherwise the future will never complete.

Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide and the C++, Objective-C, Java style guides. (Note that unlike the flutter/flutter repo, the flutter/plugins repo does use dart format. See plugin_tool format)
[x] I signed the CLA.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[ ] I updated CHANGELOG.md to add a description of the change.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making or feature I am adding, or Hixie said the PR is test exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Landing on red to fix the tree.


Coalesce professional dev req

@jasonlally can u paste gdoc link here, please?

Here it is: https://docs.google.com/document/d/1zV1iLvjkWM58yWUA9NMGK0zxbBE3EWuHx8mkdTclSJU/edit

This is done @jasonlally I mostly borrowed from our MDSCon justification, but made some changes/additions. Lmk if you have feedback or addtions.

Thank you @britt-allen - made some edits. You and @AeriShan-ODI can submit them in the form. Sorry for the bureaucracy! I wish I could submit for all 3 of us at once, but they need to update the process.

All done, @AeriShan-ODI can you mark this as done when you complete this?


Stricter validation of action.appliesTo in schema.

Category
Cedar validation features
Describe the feature you'd like to request
Today attributes of appliesTo are validated independently of each other leading to situation where principalTypes could be [] (making action inelegible for being part of authz request) while resourceTypes might specify mulitple entity types, or even all of them. Additionally, in this situation context shape becomes irrelevant.
Feature request:
Additional validation to ensure consistency of appliesTo parameters: If either resourceType or principalType are set to [], then require the other one to be also set to [] and have context be undefined.
Describe alternatives you've considered
Doing this validation on the client in the UI.
Additional context
No response
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request
[X] ⚠ This feature might incur a breaking change

Superseded by RFC 35


Remove custom styling for youtube videos?

YouTube has informed me that the default video player cannot be customized. I still need plyr to disable simultaneous video playing which works, but can I remove the custom plyr decorations somehow?
They will not increase my quota until I fix this.

I guess it may be time to remove support for custom controls with YouTube and Vimeo (unless Pro/Plus) given this. A few other people have had the same feedback. Even their own advice allows you to customize controls but they must not overlay the player.

Yeah i think the main issue they had was the blue play button over the video. They flat out told me not to customize the player though, I can try to re-submit if we can hide the play button overlay.

@sparkktv yes I'm using youtube api, and they wanted to see the player setup, they said I need to remove the plyr overlay, you cannot block the youtube video according to their requirements.

@chovy Correct while using their API, but again they have no knowledge that you are not using their player if you are not accessing their API at the same time.
So my site, I use Plyr on the website itself but our Amazon app requires their API to be used and on their we use their Youtube Player by default. Because Plyr is using the normal embed that Youtube uses and just using a custom skin on top, Youtube will still think it's their own player. And using a custom player skin is not against their TOS only their API TOS. Video.js being the most popular of all used on many sites.
Using their API though, they control the usage and can say what you can't or can do and some usage requires that. And yes they only require that material/screenshot of how you are using Youtube when you need a quota increase. Most of us will never be affected by that.
And I might be wrong but I think there is already a way to turn plyr off and show the Youtube player just by using the enabled flag/command and turning it to false.

@sampotts It seems after I did some digging & research that Youtube only asks for supporting materials and how you are using YouTube when you need an API quota increase. This will likely never affect most users using plyr with YouTube.
Possibly you should put a disclaimer that Plyr should not be used along with Youtube API. Most people never need to use the API, only if you are developing something that requires it.

@sparkktv can you give me an example of disabling it?

@chovy If you use the iframe method you can use the enabled:false tag to show the Youtube Player instead of the Plyr skin. Using the div non-progressive mode though it can not be done. My only suggestion would be to add a method to turn the Plyr skin on and off for both methods.

That works but now I can't stop the sibling videos when play is clicked.

+1
Received an audit by YouTube and they are demanding to remove the custom styling. The problem I'm having is that I can't properly use the iframe embed because of usability issues (we're allowing users to drag the video wherever they want, so we need an overlay to capture mouse events). Only solution is to copy their controls 1:1 and use the API to control the video.


Channels in RGB composite are sometimes not aligned

I noticed that using the latest meteor_decode, the three channels can sometimes be misaligned in the RGB composite, presumably because their data start coming at different times in the recording. An example of this is below. The red channel (APID 66) is offset downwards by the height of one "strip" compared to the green and blue channels (APID 65 and 64).

The .s file that caused this problem is attached below in case it is helpful for debugging. This is only the starting section of a longer file but decoding the whole file gives the same offset effect too.
offset_channels.zip

Ouch, hadn't considered the case where a channel is behind the others by more than 1 line. Fixed in ca9cd3407


Support Scala 3

Came here from http4s documentation. I noticed that this library is not published for Scala 3 and here I am :)

Trying to get mill to run again on my machine. https://github.com/com-lihaoyi/mill/discussions/3210

@reactormonk Added millw to the repo. Now you can build by doing ./mill __.compile etc.

Added also the GitHub CI script to run tests


Consumption Values always one hour in the past

When I request the consumption values the list always stops at one hour in the past:
Example
                        new TibberQueryBuilder()
                            .WithViewer(
                                new ViewerQueryBuilder()
                                    .WithHome(
                                        new HomeQueryBuilder()
                                            .WithConsumption(EnergyResolution.Hourly, 1),
                                        homeId
                                    )
                            );

When I run this code at 08:15 the newest node value I get is in timeframe 07 to 08.

I was hoping you could share the actual Graphql query being executed that I could run in the explorer? The result should be indentical as it's coming from the same service. Maybe you could also share the result 1. from Tibber.SDK.NET and 2. from developer.tibber.com/explorer?

I see: here is the query:
{viewer{home(id:"<guid>"){consumption(resolution:HOURLY,last:2){nodes{from,to,unitPrice,unitPriceVAT,consumption,consumptionUnit,cost,currency}}}}}
It produces the same result in the explorer.
Here a result from today ~15:50
{
  "data": {
    "viewer": {
      "homes": [
        {
          "consumption": {
            "nodes": [
              {
                "from": "2023-11-08T13:00:00.000+01:00",
                "to": "2023-11-08T14:00:00.000+01:00",
                "cost": null,
                "unitPrice": 0.xxxx,
                "unitPriceVAT": 0.xxxx,
                "consumption": null,
                "consumptionUnit": "kWh"
              },
              {
                "from": "2023-11-08T14:00:00.000+01:00",
                "to": "2023-11-08T15:00:00.000+01:00",
                "cost": null,
                "unitPrice": 0.xxxx,
                "unitPriceVAT": 0.xxxx,
                "consumption": null,
                "consumptionUnit": "kWh"
              }
            ]
          }
        }
      ]
    }
  }
}

Ah I need subscription not consumption


Can we also list links to the CommunityBridge projects

For each CB project, can we link to the official CB page?
i.e., https://people.communitybridge.org/project/bce45251-1ff4-4131-9699-0a0017b31495

@caniszczyk good point, thanks.

@caniszczyk actually, we already have them listed here - https://github.com/cncf/soc/tree/master/communitybridge#participating-projects; do you want to move them to a more visible spot on the page?

where are the links to CommunityBridge?
On Wed, Feb 12, 2020 at 4:31 AM Ihor Dvoretskyi<EMAIL_ADDRESS>wrote:

@caniszczyk https://github.com/caniszczyk actually, we already have
them listed here -
https://github.com/cncf/soc/tree/master/communitybridge#participating-projects;
do you want to move them to a more visible spot on the page?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cncf/soc/issues/142?email_source=notifications&email_token=AAAPSIP72NXOKWGYX7P4DODRCPFYRA5CNFSM4KTHG3Y2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOELQIMEA#issuecomment-585139728,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAPSIOE7ZH4Q2W3QCOK4VTRCPFYRANCNFSM4KTHG3YQ
.

--
Cheers,
Chris Aniszczyk
http://aniszczyk.org
+1<PHONE_NUMBER>

Here we go - https://github.com/cncf/soc/pull/143

Closed by https://github.com/cncf/soc/pull/143


Fabo/rename to lunie

Renames to Cosmos Wallet to Lunie

Can this be done afterwards ? I thought this was planned for mid April

conflicts unresolved


pigpio and pigpio-sys crates created

Hi, sorry for abusing this channel, I'm in hurry and want to get this out ASAP and don't have time for searching a better channel. I've created pigpio and pigpio-sys crates (published on crates.io). Feel free to try it out and help.
I can add someone from WG as maintainer if you're interested.

Are there features present in pigpio that are missing from gpio-utils, sysfs-gpio, or cdev-gpio?

To my knowledge, at least wave generation is such a feature. (It uses DMA to do it.) That's also why I only bothered about implementing safe interface to generate waves.
Though, pigpio has quite awkward API, so I'm considering rewriting it (or the wave generation part) purely in Rust. It's not a priority to me, though.

For the embedded-linux part of the WG, I don't think we are too interested in directly maintaining crates that are not applicable across the Linux ecosystem.  Sounds like the pigpio is very specific to the bcm processor and is probably interacting with /dev/mem or similar.  There is of course nothing wrong with this for specific use cases but in general is not the encouraged way to interact with GPIOs unless one has specific requirements (as it sounds like you do for wave generation).

@posborne Fair enough. I'd be interested to know if there was a more generic way of generating waves (which I believe is quite widely used feature), but I don't think there's any right now.


Added language percent in stats and fix footer links

Fixes #784

@mehul-m-prajapati still it showing error in footer section once check it and if you are ok you can also work on the issues raised by @yashksaini-coder


icon position is different

icon position is different from them?
or, is it official position?

Or, Can I use textAlign: TextAlign.center,?

That's the official position of the icons.
If you updated to 0.10.0 (which was released about 5 minutes ago), you can use centred: true. See the bottom of the README file for an example.

Thank you.
It is released.
I will try.
https://pub.dev/packages/flutter_auth_buttons/versions


Advice on which loss to optimize

First of all, great blog and an amazing piece of code.
The question is related to the loss that one should optimize for.

In the code, the loss that is being minimized is : sum(triplet_loss) / #valid  triplets
However, this loss value many times stays to the margin value due to model collapsing.
Other times, it keeps on fluctuating (you have mentioned this here,
https://github.com/omoindrot/tensorflow-triplet-loss/issues/15#issuecomment-427763507
that
An additional note: the loss will not decrease during training because it's the average over the positive triplets. So the loss will just oscillate during training. However the fraction of positive triplets should decrease.

So, it looks like it is difficult to assume that the loss as it is minimized currently would gradually decrease. In fact, I observed that after a few epochs, when only tough triplets are present in the valid set, the loss increases a bit.
On the other hand, the fraction of valid triplets keeps decreasing (at least in my application).
So, how can we decide when (after how many epochs) to stop training? For instance, If I want to have an early stopping criteria, shall that be on the loss value or the fraction of valid triples?

Monitoring the fraction of valid triplets is more interesting because it will decrease during training as you say.
But the best metric to monitor (and base early stopping on) really depends on your application.
If you are doing face recognition, then maybe the metric you want to monitor should be the ROC-AUC on a separate test set or something adapted.

Thanks for the suggestions, closing this.


Multi hitemp

I have added a feature to read multiple par files for the cases of HITEMP H2O and CO2 (cf. issue #213 ). I wrote a brief instruction here. Thank you in advance for your review.
Note: I have made the code create a different directory for each wavenumber range. This is because it seems that hapi.db_begin tries to load all the par files in the given directory.

I confirmed to work it! Thanks.
>>> import numpy as np
>>> from exojax.spec import moldb
>>> nus=np.linspace(4000.0,4500.0,1000,dtype=np.float64)
>>> mdbH2O=moldb.MdbHit('.database/01_HITEMP2010',nus)
HAPI initializes all the par files in  .database/01_HITEMP2010/03500-04150
HAPI detected: 01_03500-04150_HITEMP2010.header
HAPI detected: 01_03500-04150_HITEMP2010.zip
HAPI detected: 01_03500-04150_HITEMP2010.par
HAPI initializes all the par files in  .database/01_HITEMP2010/04150-04500
HAPI detected: 01_04150-04500_HITEMP2010.header
HAPI detected: 01_04150-04500_HITEMP2010.par
HAPI detected: 01_04150-04500_HITEMP2010.zip
HAPI initializes all the par files in  .database/01_HITEMP2010/04500-05000
HAPI detected: 01_04500-05000_HITEMP2010.header
HAPI detected: 01_04500-05000_HITEMP2010.par
HAPI detected: 01_04500-05000_HITEMP2010.zip
>>>


Publish created vocabularies

e.g., http://w3id.org/neologism/vocab-name that redirects to http://cloud33.dbis.rwth-aachen.de/vocabularies/vocab-name. For an example, see https://w3id.org/idsa/core

Approach:

Download/save the vocab to a directory (either in MongoDB or on a dedicated docker volume)
Add to .htaccess: Something like http://cloud33.dbis.rwth-aachen.de/public/*.ttl
Trigger: Manual trigger via a "publish" button in the dashboard

Please investigate the already existing mount:
volumes:
  data:

Possible URLs you can choose from:

http://cloud33.dbis.rwth-aachen.de/public/2021-04-15-VocabName.ttl
http://cloud33.dbis.rwth-aachen.de/public/2021-04-15/VocabName.ttl
http://cloud33.dbis.rwth-aachen.de/public/2021/04/15-VocabName.ttl


secret-service cannot decrypt database

Hey, I've been using secret-service for a couple weeks, it worked flawlessly for a while but recently credentials have become inaccessible, so after looking into the logs, I've come to find this and going through the docs hasn't really helped me pinpoint the issue...
I'd simply like to know the best course of action in this case, whether I just screwed up some part of the config or my database somehow got corrupted and I have to delete it.
Thanks in advance!
Here's what the logs keep spitting out:
time="Wed, 08 Mar 2023 09:54:31 +0100" level=info msg="===== Secret Service Started ====="
time="Wed, 08 Mar 2023 09:54:31 +0100" level=info msg="Secret service dbus address: /org/freedesktop/secrets"
time="Wed, 08 Mar 2023 09:54:33 +0100" level=info msg="Loading data from: '/home/soul/.secret-service/secretserviced/db.json'"
time="Wed, 08 Mar 2023 09:54:33 +0100" level=panic msg="Cannot decrypt database. Error: GCM open failed: Err: cipher: message authentication failed"

As log says service cannot decrypt your database. This happens when you try to open a database encrypted with one password and try to decrypt it with another password. Remember reinstalling secret-service changes the password.
solution is stopping service, deleting database and starting service.

Alright, did just that and it works now, thanks!


Workflow with Http call stuck  on Pending State

Checklist

[x] Double-checked my configuration.
[x] Tested using the latest version.
[x] Used the Emissary executor.

Summary
I was trying to do an Http Call from Workflow. But workflow got stuck in Pending State.
I noticed this bug - https://github.com/argoproj/argo-workflows/pull/7084
Thought this is fixed. But I am seeing that now also. I am on v3.3.0
What version are you running?
v3.3.0
Diagnostics
Paste the smallest workflow that reproduces the bug. We must be able to run the workflow.

metadata:
  name: delightful-python
  namespace: default
  labels:
    example: 'true'
spec:
  entrypoint: main
  templates:
    - name: main
      steps:
        - - name: get-google-homepage
            template: http
            arguments:
              parameters: [{name: url, value: "https://www.google.com"}]
    - name: http
      inputs:
        parameters:
          - name: url
      http:
        timeoutSeconds: 20 # Default 30
        url: "{{inputs.parameters.url}}"
        method: "GET"
        headers:
          - name: "x-header-name"
            value: "test-value"
        successCondition: "response.body contains \"google\""
        body: "test body"

# Logs from the workflow controller:
kubectl logs -n argo deploy/workflow-controller | grep ${workflow}

time="2022-04-01T09:29:28.761Z" level=info msg="Processing workflow" namespace=default workflow=delightful-python
time="2022-04-01T09:29:28.762Z" level=info msg=updateAgentPodStatus namespace=default workflow=delightful-python
time="2022-04-01T09:29:28.763Z" level=info msg=assessAgentPodStatus namespace=default podName=delightful-python-1340600742-agent
time="2022-04-01T09:29:28.764Z" level=info msg="Workflow step group node delightful-python-4228632240 not yet completed" namespace=default workflow=delightful-python
time="2022-04-01T09:29:28.764Z" level=info msg="TaskSet Reconciliation" namespace=default workflow=delightful-python
time="2022-04-01T09:29:28.764Z" level=info msg=reconcileAgentPod namespace=default workflow=delightful-python

# If the workflow's pods have not been created, you can skip the rest of the diagnostics.

# The workflow's pods that are problematic:
kubectl get pod -o yaml -l workflows.argoproj.io/workflow=${delightful-python},workflow.argoproj.io/phase!=Succeeded

# Logs from in your workflow's wait container, something like:
kubectl logs -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

kubectl get pods - list this pod that is pending with failure status CrashLoopBackOff. Also  Sharing  logs from  that  pod below:
time="2022-04-04T13:47:10.429Z" level=info msg="Starting Workflow Executor" version=v3.3.0
time="2022-04-04T13:47:10.430Z" level=info msg="Starting Agent" requeueTime=10s taskWorkers=16 workflow=daqe-midas-dailyrun-qcprocess-sensor-workflowd869b
time="2022-04-04T13:47:10.458Z" level=info msg="Watch workflowtasksets 403"
Error: unknown (get workflowtasksets.argoproj.io)
unknown (get workflowtasksets.argoproj.io)

Youve installed workflowtaskset` CRD, but you can see you're getting a 403 error. Please add the permissions to the executor role.
https://github.com/argoproj/argo-workflows/blob/master/manifests/quick-start/base/agent-role.yaml

The same error as above occurs in the part using http in the workflow I am using. I think I'm in the same situation, so I used srajeev's workflow as is. The minimum privileges to run on the Agent are thought to be set. Role and RoleBinding are as follows.
Is there something I'm missing out on?

I use argo-workflow v3.3.8 (Helm chart v0.16.6)

Role is ...

apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  name: argo-workflows-workflow
  namespace: argo-workflows
  labels:
    app.kubernetes.io/managed-by: Helm
  annotations:
    meta.helm.sh/release-name: argo-workflows
    meta.helm.sh/release-namespace: argo-workflows
rules:
  - verbs:
      - get
      - watch
      - patch
    apiGroups:
      - ''
    resources:
      - pods
  - verbs:
      - get
      - watch
    apiGroups:
      - ''
    resources:
      - pods/log
  - verbs:
      - create
    apiGroups:
      - ''
    resources:
      - pods/exec
  - verbs:
      - create
    apiGroups:
      - argoproj.io
    resources:
      - workflowtaskresults
  - verbs:
      - list
      - watch
    apiGroups:
      - argoproj.io
    resources:
      - workflowtasksets
  - verbs:
      - patch
    apiGroups:
      - argoproj.io
    resources:
      - workflowtasksets/status
      - workflowtasksets

RoleBinding is ...

apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  name: argo-workflows-workflow
  namespace: argo-workflows
  labels:
    app.kubernetes.io/managed-by: Helm
  annotations:
    meta.helm.sh/release-name: argo-workflows
    meta.helm.sh/release-namespace: argo-workflows
subjects:
  - kind: ServiceAccount
    name: argo-workflow
    namespace: argo-workflows
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: argo-workflows-workflow

Yes, I have same issue with @yeongu-dev config ... :/

@clementlecorre
It's not complete, but I found a way. I installed it with helm but it didn't seem to use the controller serviceaccount that is created by default. I solved it by adding default serviceaccount to argo-workflow RoleBinding . Not the right way. You will need to set serviceaccount to the intended serviceaccount , not the default . But I don't know how.
You can check the permissions of serviceaccount with the command below.
# Check the permission of (in my case)argo-workflows-workflow serviceaccount
kubectl auth can-i watch workflowtasksets --as=system:serviceaccount:argo-workflows:argo-workflows-workflow

# Check the permission of default serviceaccount
kubectl auth can-i watch workflowtasksets --as=system:serviceaccount:argo-workflows:default

@clementlecorre
Looking at it now, it seems that your situation and the situation of this issue are different. This issue is about "Watch workflowtasksets 403", your issue seems to be different.
Sorry for the misunderstanding.

I think my rights are OK but my pod (agent) never ends after this message msg="Patched TaskSet".

See https://github.com/argoproj/argo-workflows/issues/9195#issuecomment-1191573224

@terrytangyuan The documentation doesn't really help me to solve my problem. I think my role configuration is OK. My workflows with HTTP templates stay on Pending. Without any errors in the agent or controller

@clementlecorre did you make any progress on this?
I have created the agent role and added a rolebinding for my service account and I still see always-pending HTTP templates.
My agent pod appears to be in permanent "init" state:

http-condition-zrw6k-1340600742-agent     0/1     Init:0/1    0             13m

Hello, no I never solved my problem. I was blocked, thanks for your tip, my installation has changed so I don't know if I could validate your solution

@captaincoordinates The secret for service accounts are not created by default for newer versions of K8s. Would you like to help us improve the documentation?

@terrytangyuan yes, in this case I am able to help improve the documentation. However my general feeling on this approach is that it's less than ideal. When faced with gaps in documentation the number of people that will 1) identify them, 2) highlight them to a wider group, and 3) be able to address them is going to be very small.


Simplify Detekt API validation

Expected Behavior
Detekt API validation should be enabled with minimal setup.
Observed Behavior
In #3320, we need to use rootProject.name as a temporary workaround to exclude api validation of rootProject. This is not addressed by #3322.
Steps to Reproduce
Run ./gradlew apiDump
Context
This is a technical debt that will go overdue soon.

After the linked PR has been merged, shall we close this now?

After the linked PR has been merged, shall we close this now?

Sounds good.

Sounds good.


Matcher admonitions. #12495

Summary

Test plan

Thanks for the change. Could you add to this PR a fix for docs of 25.x, 26.x, 27.x, 28.x, 29.0 versions as well?

Perfect! Thanks.


azure CLI beta uses Azure AD Graph

Describe the bug
The Azure CLI beta described here says it uses the MS Graph API. When I run the Azure CLI command with the debug switch enabled, the CLI beta still uses the old Azure AD Graph API address.
Service Principals which are granted only MS Graph API permissions cannot be used with the Azure CLI beta to make changes in Azure AD. This can be demonstrated when trying to use an SP in an automation pipeline that will create an Azure AD Group.
To Reproduce

create an Azure AD Service Principal that has the MS Graph Application API Permissions described here.
Install the Azure CLI beta per the instructions above.
Sign in to Azure as the Service Principal via the Azure CLI using this command: az login --service-principal -u $ARM_CLIENT_ID -p $ARM_CLIENT_SECRET --tenant "GUID HERE" --allow-no-subscriptions --debug
Attempt to create an Azure AD Group with this command: az ad group create --display-name "YOUR GROUP NAME HERE" --mail-nickname "YOUR GROUP NAME HERE" --debug
Note the response that the request is not authorized
Note in the debug output that the Azure CLI shows the CLI passing API requests to https://graph.windows.net (the legacy Azure AD Graph API) and not the new API at https://graph.microsoft.com (the new MS Graph API). Per this documentation here.

Expected behavior
The Azure CLI beta uses the correct APIs that the documentation says it does.
Environment summary

Mac OS 12.3.1
Python 3.10 via HomeBrew
Azure CLI beta installed per instructions here.

Additional context
Premier Support Case #:<PHONE_NUMBER>000806

azure CLI beta

@jiasli for awareness

What's also annoying about this is that I am also unable to add the Azure Active Directory Graph API Permissions to the SP. The ARM Portal currently has it disabled.

Note also, that the Azure Active Directory Graph API deprecation appears to have been pushed back 6 months. See this post. Someone should probably tell the AAD team to reenable the selector in the ARM Portal for customers.
This issue is now blocking our scheduled work.

The previous beta (2.35.0.postxxx) was overridden by the latest 2.36.0 release. I will release a new beta (2.36.0.postxxx) soon with some new refactoring.

What's also annoying about this is that I am also unable to add the Azure Active Directory Graph API Permissions to the SP. The ARM Portal currently has it disabled.

This was the decision of AAD team and Azure Portal. Instead of using Azure Portal, you may grant AD Graph permissions using Azure CLI. Please see https://github.com/Azure/azure-cli/issues/19818#issuecomment-939216867.

I will release a new beta (2.36.0.postxxx) soon with some new refactoring.

Can you be more specific than soon? How feasible is it to restore the previous (2.35) beta to the repo?
Im currently blocked by this. Im required to use an SP that has MS Graph API permissions AND Azure CLI for this work. With these two requirements on me I cannot continue the work. At least give me a rough timeframe to work with instead of "soon"? That way I can at least get the PM off my back.

I am doing that right now! 😉

I have released 2.36.0.post20220505034434. Please follow https://docs.microsoft.com/en-us/cli/azure/microsoft-graph-migration to install this version and give it a try!
NOTE: The beta version doesn't guarantee production quality and tends to change at any time.

Have just updated, saw the updates come in. Still failing with the same error.
Debugs showing the CLI still making requests to windows.net instead of windows.com.
Standby, let me get you a gist.

Judging from the path
/usr/local/Cellar/azure-cli/2.36.0/libexec/lib/python3.10/site-packages/azure/cli/core/commands/__init__.py

You are still calling the Azure CLI installed by Homebrew. Please make sure the virtual env is activated and the az you are running is
$ az --version
azure-cli                2.36.0.post20220505034434

core                     2.36.0.post20220505034434
telemetry                1.0.6.post20220505034434

You are still calling the Azure CLI installed by Homebrew.

You are correct sir. My bad. Too many terminal windows open with different environments in them.
I can confirm that the issue is now resolved.
Thank you!


(OUI Next Theme) Observability Logs

I am working on launching new light and dark mode themes provided by OUI component library for a target launch within 2.10. These changes support the vision expressed in Future Vision for Dashboards
I have identified the following front end related issues that prevent the theme from appearing complete and potential solutions within this feature:

[ ] globalQueryBar - PPL link should utilize $ouiColorPrimary in favor of hard coded values
[ ] globalQueryBar - there is custom coloring applied to the "dropdown" sections in the query builder. Consider replacing with Sass variables (they adjust appropriately across theme & modes)  or migrating to EuiSuggest

@KrooshalUX for " "dropdown" sections" ...
Do you mean this? :

Yes. Those values appear custom / hard coded and not coming from OUI, which means they do not translate within the Next theme dark mode.

If you need help from the dashboards team to resolve, feel free to sign up for OpenSearch Dashboards developer office hours: https://opensearch.org/events/2023-0921-dev-officehours-dashboards/


Stream fix

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

Currently, any PathFilter passed to ObjectStoreFileSystem is unused. This patch makes it so that if a PathFilter is passed, it returns results only accepted by the PathFilter.

@djalova very good! thanks! does this resolves all issues with streaming? or there is still need to fix time stamps?

@djalova test are fails with this patch
Running com.ibm.stocator.fs.swift2d.systemtests.TestSwiftOperations
Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 38.101 sec <<< FAILURE!
testAsteriskWildcard(com.ibm.stocator.fs.swift2d.systemtests.TestSwiftOperations)  Time elapsed: 3.476 sec  <<< FAILURE!
java.lang.AssertionError: expected:<3> but was:<0>
at org.junit.Assert.fail(Assert.java:88)
at org.junit.Assert.failNotEquals(Assert.java:834)
at org.junit.Assert.assertEquals(Assert.java:645)
at org.junit.Assert.assertEquals(Assert.java:631)
at com.ibm.stocator.fs.swift2d.systemtests.TestSwiftOperations.testAsteriskWildcard(TestSwiftOperations.java:123)
Running com.ibm.stocator.fs.swift2d.unittests.SwiftAPIClientTest
log4j:WARN No appenders could be found for logger (com.ibm.stocator.fs.swift.SwiftAPIClient).

@gilv I'll take a look at the failing test. The timestamps are still an issue and I'm unsure if it's also a problem in Joss.

@gilv I opened the following PR for JOSS: https://github.com/javaswift/joss/pull/130
It seems when JOSS reads in the metadata for last modified, the DateTimeFormatter sets the timezone of the Date to the user's local timezone when it should be in GMT. This caused some issues when filtering files based on time modified.

@djalova thanks a lot! I just merged it as is. I resolved the issue with loop. Please see my last commit that you fine with it.


feat: add support for "exception handling" proposal

Many thanks to @thibaudmichaud for contributing the test case!

:tada: This PR is included in version 5.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Threshold for surface reconstruction

Hi @mabaorui,
Congrats again and sorry for the repeated queries. I am still trying to figure out a few aspects of the method and am thus opening various discussions, I hope that is ok.
I have been experimenting for surface reconstruction using the Pytorch version of the code. As you know : bearprin/neuralpull-pytorch#2
I observe that the results are better with a threshold of 0.005 than 0. Some large chunks of the shapes are sometimes not reconstructed with a threshold of 0.
Does this mean that the fitted SDF has converged to an unsigned distance function?
Thanks a lot,
Thibault

Thanks for your explanation! I agree weird things can happen is the discretization is coarse.
Best regards,
Thibault

@mabaorui May I know what threshold do you use for extracting the surface in your experiments?


[2878] Fixed casing of training initiatives names

Context
Casing of training initiatives names
Changes proposed in this pull request
Fixed casing of training initiatives names
Guidance to review
:shipit:

 Capitalisation on initiatives page request from niche routes

looks good!


Jaspreet

Creates the UI for how a post is going to be displayed.
Currently only implemented for text based posts and comments.
Next steps would involve pictures and markdown.
Created a new form for comments' content
Implemented logic and UI for:

When user likes/unlikes a post
Comments on a specific post
Viewing a post

To do either action, a user must be logged in.
I've tried implementing view tests for liking and viewing a post - critical feedback is highly requested and appreciated c:

The like feature isn't working for me. I am able to comment but clicking the like button refreshes the page and doesn't update the model. I tried it with 2 users but nothing is being updated in the database. Is the feature working for anyone else?
Other than that all tests are good, it looks great viewing a post and the comments are working well!


get_fig() plotting function

Pull Request
Implement get_fig() per issue 1, generate a Figure object which the user can then browse or write to disk
Description
Uses the code from the examples to implement get_fig()
Also, a default pip install -r requirements.txt resulted in an error, which is fixed by pinning scipy to version 1.8.1
Examples are updated.
Fixes
pins scipy to avoid potential incompatibility with newer versions
How Has This Been Tested?
Ran the example files
Checklist:

[ ] My code follows OCF's coding style guidelines
[X] I have performed a self-review of my own code
[X] I have made corresponding changes to the documentation
[ ] I have added tests that prove my fix is effective or that my feature works
[X] I have checked my code and corrected any misspellings

Thanks so much for doing this, do you mind add a screen shot of what the new plots look like?
Thanks

The code is pretty much exactly cut and pasted from the examples so they look pretty much exactly the same as before.

Thanks for this @gilbertgong

I'll try consumption next =D

#4 could be good to fix too?


Use openmpi for parallel hdf5 output support in long runs

I think that this should close #760 and #761.

Thanks! I think 761 is a different issue though?

Thanks! I think 761 is a different issue though?

Oops! Yep


Inline Add/Edit functionalities

Do we've inline edit/add functionalities in this grid?

Opened this in Grid.web

this functionalities would be great :)

Maybe, but it's kind of crossing grid functionality boundaries :)
I will see if I can do something to make this functionality or make it easier to extend for it. :+1: