[Do not merge] Test runtime error for workflow failure

Purpose
$subject
Goals

Describe the solutions that this feature/fix will introduce to resolve the problems described above

Approach

Describe how you are implementing the solutions. Include an animated GIF or screenshot if the change affects the UI (email<EMAIL_ADDRESS>to review all UI text). Include a link to a Markdown file or Google doc if the feature write-up is too long to paste here.

User stories

Summary of user stories addressed by this change>

Release note

Brief description of the new feature or bug fix as it will appear in the release notes

Documentation

Link(s) to product documentation that addresses the changes of this PR. If no doc impact, enter “N/A” plus brief explanation of why there’s no doc impact

Training

Link to the PR for changes to the training content in https://github.com/wso2/WSO2-Training, if applicable

Certification

Type “Sent” when you have provided new/updated certification questions, plus four answers for each question (correct answer highlighted in bold), based on this change. Certification questions/answers should be sent to<EMAIL_ADDRESS>and NOT pasted in this PR. If there is no impact on certification exams, type “N/A” and explain why.

Marketing

Link to drafts of marketing content that will describe and promote this feature, including product page changes, technical articles, blog posts, videos, etc., if applicable

Automation tests

Unit tests

Code coverage information

Integration tests

Details about the test cases and coverage

Security checks

Followed secure coding standards in http://wso2.com/technical-reports/wso2-secure-engineering-guidelines? yes/no
Ran FindSecurityBugs plugin and verified report? yes/no
Confirmed that this PR doesn't commit any keys, passwords, tokens, usernames, or other secrets? yes/no

Samples

Provide high-level details about the samples related to this feature

Related PRs

List any other related PRs

Migrations (if applicable)

Describe migration steps and platforms on which migration has been tested

Test environment

List all JDK versions, operating systems, databases, and browser/versions on which this feature/fix was tested

Learning

Describe the research phase and any blog posts, patterns, libraries, or add-ons you used to solve the problem.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: Dilhasha:x: HindujaBYou have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report
Base: 15.55% // Head: 27.55% // Increases project coverage by +11.99% :tada:

Coverage data is based on head (62fcbd5) compared to base (60284e6).
Patch coverage: 30.60% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #484       +/-   ##
===========================================
+ Coverage   15.55%   27.55%   +11.99%
===========================================
  Files          76      123       +47
  Lines        5662    14016     +8354
  Branches     3130     3463      +333
===========================================
+ Hits          881     3862     +2981
- Misses       4781     9960     +5179
- Partials        0      194      +194

Impacted Files
Coverage Δ

...ter/internal/oasparser/envoyconf/routes_configs.go
58.66% <0.00%> (ø)

adapter/internal/oasparser/model/api_operation.go
10.36% <0.00%> (ø)

adapter/internal/oasparser/model/http_route.go
0.00% <0.00%> (ø)

...office-domain-service/ballerina/backoffice_dao.bal
0.00% <0.00%> (ø)

...ffice-domain-service/ballerina/backoffice_impl.bal
35.80% <0.00%> (-2.87%)
:arrow_down:

...ime/runtime-domain-service/ballerina/APIClient.bal
40.46% <0.00%> (+4.10%)
:arrow_up:

...e/runtime-domain-service/ballerina/api_service.bal
7.07% <0.00%> (ø)

...omain-service/ballerina/modules/model/metadata.bal
66.66% <ø> (-22.23%)
:arrow_down:

...runtime-domain-service/ballerina/watchServices.bal
70.27% <ø> (+5.40%)
:arrow_up:

...domain-service/ballerina/devportal-api_service.bal
9.47% <6.25%> (-0.30%)
:arrow_down:

... and 72 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


build: Experimental multi-platform images

This PR enables multi-platform images (targeting amd64 and arm64 to start with). These will be built automatically built in GitHub Actions, and with Arm binaries all cross-compiled, and only packaging stages are executed using binfmt/qemu method.
Fixes: #9898

I noticed that all dockerfiles are building both architectures sequentially.
As far as I understand, BuildKit can parallelise intenrally.

Is it possible to only build amd64 or only build arm64? I'm thinking in the case that a developer that only wants to build an amd64 image does not have to wait for arm64 to build for example.

Not a the moment, but I'm sure there will be a way of doing that. At the moment the overhead is quite small actually. I am prioritising CI use-case, there will need to be some tweaks for local builds, I've descoped those for now.

@joestringer @aanm thanks for looking at this, I'll wrap it up early next week!

@aanm I am thinking that actually we should create a new Docker Hub and Quay orgs, like {docker,quay}.io/cilium-testing, {docker,quay}.io/cilium-dev or {docker,quay}.io/cilium-ci, so images built for CI needs are not conflated with official images, and for now a staging areas is needed anyway. Eventually, the number of images under {docker,quay}.io/cilium can be reduced also, making it easier when it comes to security scans etc. WDYT?
(I know -dev suffix was suggested earlier, but I think separate org would be best actually).

@aanm I am thinking that actually we should create a new Docker Hub and Quay orgs, like {docker,quay}.io/cilium-testing, {docker,quay}.io/cilium-dev or {docker,quay}.io/cilium-ci, so images built for CI needs are not conflated with official images, and for now a staging areas is needed anyway. Eventually, the number of images under {docker,quay}.io/cilium can be reduced also, making it easier when it comes to security scans etc. WDYT?
(I know -dev suffix was suggested earlier, but I think separate org would be best actually).

Having multiple organizations seems a little overhead to manage all of them given that each organization will have different teams.
Checking each use cases individually:

{docker,quay}.io/cilium-testing / {docker,quay}.io/cilium-ci: Why would we the CI push images into quay/docker?
{docker,quay}.io/cilium-dev: Each dev is free to have its own repository / organization where them can push any images freely.

Eventually, the number of images under {docker,quay}.io/cilium can be reduced also, making it easier when it comes to security scans etc. WDYT?

{docker,quay}.io/cilium: I'm not following this train of thought, the security scans are not done by a human.
Creating another organization wittingly for the multi-platform builds seems that will slow down the implementation of multi-platforms feature. I understand there are currently a lot of repositories under {docker,quay}.io/cilium suffixed with -dev but moving them to another organization won't solve the problem sense the number of total repositories would be the same.

Checking each use cases individually:

{docker,quay}.io/cilium-testing / {docker,quay}.io/cilium-ci: Why would we the CI push images into quay/docker?
{docker,quay}.io/cilium-dev: Each dev is free to have its own repository / organization where them can push any images freely.

I only suggested one org for CI use. It could be called cilium-testing, or cilium-ci, or cilium-dev, I don't particularly mind which one, these were just naming options.

Why would we the CI push images into quay/docker?

I think pushing to both for this particular use case is not strictly necessary.
What is critical for future CI architecture is that there exists registry where builds for every commit are pushed. Such registry could be the same as the one used for releases, but could be separate one also - I find that separation would beneficial.
The motivation is to enable repeatability of tests, and standardising on a workflow where images are built first, then tests run in different Kubernetes providers using same images. Such workflow could be triggered by a PR, or manually by an authorised contributor. And it should be possible to re-trigger tests with exactly the same image over and over.

Each dev is free to have its own repository / organization where them can push any images freely.

Not considering this use-case right now.

Eventually, the number of images under {docker,quay}.io/cilium can be reduced also, making it easier when it comes to security scans etc. WDYT?

{docker,quay}.io/cilium: I'm not following this train of thought, the security scans are not done by a human.

What I'm suggesting is that images that are consumed by end-users could be distributed under different prefix, one that will have stricter access control, different rules about how security scans are interpreted etc. It just seems like using org boundry for this could be quite convenient.

Creating another organization wittingly for the multi-platform builds seems that will slow down the implementation of multi-platforms feature.

I actually thought the opposite, I was thinking I could create it right now myself without having to ask you to set it up, and going forward it would be in ownership of CI Force.

I understand there are currently a lot of repositories under {docker,quay}.io/cilium suffixed with -dev but moving them to another organization won't solve the problem sense the number of total repositories would be the same.

I am actually suggesting that e.g. cilium/cilium-builder, cilium/cilium-runtime, image-maker, image-compilers` and all other images that are not shipped to end-users could be in that org, along with images that are built for testing PRs etc. So there would be more repositories under new CI org, and the main org could see less repositories (eventually).
Happy to park this conversation for now and discuss in the contributor meeting, thought it was a rather straightforward idea.

The last item that I'd like to address before this can be merged is documentation, the rest is in a ready shape for the initial cut.

Just for the record - per slack conversation with @aanm, we said that for now docker.io/cilium/*-dev repos will be used, as those are already setup and secret is configured in GitHub.

@errordeveloper are you tracking a list of what you've observed is currently solved in this PR vs. features you've observed in the existing dockerfiles so we at least have a reference point for parity?
As a reviewer I'm not sure whether to comb through step by step & compare against existing functionality or not since the PR is (quite rightly, I dare say) keeping the scope relatively minimal to bite off achievable chunks of functionality.

@joestring- er so I have captured main follow-ups in my first comment above. Two main features that will be missing are the Envoy and Hubble CLI, which are part of the follow-up list.  Another bit that is different is that builder image doesn't include the runtime image, turned out there was no string dependency.
Would it help if there was a diff of output images (current vs new)? I believe there is little actual difference in the output. All that changes is the order and manner of how things get put in.
This is definitely no aimed to replace the main build for a little while, not until it bares fruit and few other bits are in place, like the new GKE test automation. I think it would be nice if some of piece got shifted over by 1.9.

Ilya and I had a discussion about this and while we think that the Cilium codebase itself in v1.8 is largely ready for ARM64 images, there's a lot of new infrastructure here for building images & so on, and it's not finished yet; backporting a partially complete version of this build system so late in the cycle is asking for trouble on maintaining & ensuring it works smoothly and so on over time.
I'd like to propose that we keep this for v1.9 and just announce for 1.8 that we will start generating Cilium image snapshots for ARM64 based on the latest changes. If there's community demand & drive to figure out a serious plan for regular v1.8 ARM64 docker images then that could still be an option but we wouldn't initially commit to it.

Another bit that is different is that builder image doesn't include the runtime image, turned out there was no strong dependency.

@errordeveloper I believe @borkmann set the runtime image to be the base image of the builder image on purpose.

@errordeveloper I believe @borkmann set the runtime image to be the base image of the builder image on purpose.

From what I understand it was a measure to ensure dependency versions are maintained, but I'm not sure how strong the resulting guarantees were.
At present, all images - compliers, runtime, builder, and Cilium agent image use the same Ubuntu base image reference by digest. I believe this yields very much the same level guarantees regarding dependencies, and I do think a few improvements could be taken to ensure any images are automatically vetted before being published, especially for the following aspects:

correctness and integrity - no missing share libraries, target architecture not mixed up, and e.g. clag --version returns what's expected
functionality - e.g. clang can compile a simple BPF program
The umbrella issue for testing is https://github.com/cilium/image-tools/issues/5.

🎉


Uncaught TypeError: Cannot set property 'ClarityIcons' of undefined'

Describe the bug
I bootstrapped a new Clarity application using the CLI and am getting the following error in the Chrome console
Uncaught TypeError: Cannot set property 'ClarityIcons' of undefined
    at clr-icons.min.js:formatted:912
    at clr-icons.min.js:formatted:912

Firefox error
TypeError: undefined has no properties
    <anonymous> clr-icons.min.js:1
    <anonymous> clr-icons.min.js:1
    InnerModuleEvaluation self-hosted:4430
    evaluation self-hosted:4376

How to reproduce
Steps to reproduce the behavior:

Bootstrap the project

$ ng new clarity-bug-test --skip-git --defaults
$ cd clarity-bug-test
$ ng add @clr/angular
$ ng serve --open # adding --prod doesn't change the behaviour

Open the dev console, error should be in the console

I attempted to reproduce in Stackblitz by duplicating the package.json but I just get stuck loading forever...
Expected behavior
There not to be an error :stuck_out_tongue: As far as I can tell nothing else is broken, icons still work correctly, but the existence of the error does cause issues
Versions
App

Angular: 8.1.0
Node: 10.16.0
Clarity: 2.0.1

Device:

Type: Desktop
OS: Linux x64
Browser: Chrome, Firefox
Version:

Chrome: 75.0.3770.90 (Official Build) (64-bit)
Firefox: 67.0.4 (64-bit)

Additional notes
$ ng version

     _                      _                 ____ _     ___
    / \   _ __   __ _ _   _| | __ _ _ __     / ___| |   |_ _|
   / △ \ | '_ \ / _` | | | | |/ _` | '__|   | |   | |    | |
  / ___ \| | | | (_| | |_| | | (_| | |      | |___| |___ | |
 /_/   \_\_| |_|\__, |\__,_|_|\__,_|_|       \____|_____|___|
                |___/

Angular CLI: 8.1.0
Node: 10.16.0
OS: linux x64
Angular: 8.1.0
... animations, cli, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

Package                           Version
-----------------------------------------------------------
@angular-devkit/architect         0.801.0
@angular-devkit/build-angular     0.801.0
@angular-devkit/build-optimizer   0.801.0
@angular-devkit/build-webpack     0.801.0
@angular-devkit/core              8.1.0
@angular-devkit/schematics        8.1.0
@ngtools/webpack                  8.1.0
@schematics/angular               8.1.0
@schematics/update                0.801.0
rxjs                              6.4.0
typescript                        3.4.5
webpack                           4.35.2

I could not reproduce your problem. Followed your steps 1 by 1 and I can not see any errors.
As the error refers clarity icons, I added an icon on the default page and it appears correctly.
Your stackblitz seems okay, after I click the "Install Dependencies" button it gives (only core-js needs to be downgraded to ^2.0.0)
https://stackblitz.com/edit/clarity-dark-theme-v2-icon-error-jzv99r?file=package.json
Your node version seems fine, I'm using 10.13.0, yours is 10.16.0.
What version of npm are you using? That's my only idea what might be going wrong.

I also have the same issue, I created a new Angular 8 project, added clarity and got the issue. The icons render just fine, but I get that error on the console all the time.

Same issue with me
Angular CLI: 8.1.0
Node: 10.16.0
OS: linux x64
Angular: 8.1.0

Error
:4200/scripts.js:43 Uncaught TypeError: Cannot set property 'ClarityIcons' of undefined
    at :4200/scripts.js:43
    at :4200/scripts.js:43
(anonymous) @ :4200/scripts.js:43
(anonymous) @ :4200/scripts.js:43

same here.
Angular CLI: 8.1.0
Node: 10.16.0
OS: Windows 10
Angular: 8.1.0

Error
Uncaught TypeError: Cannot set property 'ClarityIcons' of undefined
    at clr-icons.min.js:1
    at clr-icons.min.js:1

I can reproduce this only with Angular CLI 8.1.0. If you have 8.0.x it works fine.
I think this is due to https://github.com/angular/angular-cli/commit/44a0d0fb4e68d8402f223e225adfab06f504d4a7.
See https://github.com/angular/angular-cli/issues/14952. For now, the workaround is to downgrade CLI to 8.0.6, and this seems to be affecting other global type scripts (Icons are a web component and not an Angular component).

That definitely looks like the issue. Thanks for finding that. I'll keep an eye on that issue for now. I'm not super eager to downgrade since then I'd have to upgrade my brand new application, and I don't notice any real issues other than broken e2e tests.

Downgrade the CLI, not Angular. npm install -D<EMAIL_ADDRESS>should do it for your project. You should be able to run @angular/core and other libs as 8.1+.

@gnomeontherun Thanks for catching the problem. I tried to downgrade @angular/cli to 8.0.6 but the problem still exists.

clr-icons.min.js:1 Uncaught TypeError: Cannot set property 'ClarityIcons' of undefined
    at clr-icons.min.js:1
    at clr-icons.min.js:1

WORKAROUND TO DOWNGRADE.
It looks like you need to also downgrade build-angular, as this is where the actual issue lies. Unfortunately the CLI doesn't internalize this dependency so you'll have to run the following. It worked for me at least. You might have to review other CLI dependencies (like if you have ngpackagr setup) as well.
npm i -D<EMAIL_ADDRESS><EMAIL_ADDRESS>

I just tested with Angular CLI 8.1.1, and everything works as expected. I think we can close this as fixed by Angular!
https://github.com/angular/angular-cli/releases/tag/v8.1.1
https://github.com/angular/angular-cli/commit/67cd378138b3c40628ad87afcd967b2c98309462
Fix now is to update the CLI to latest Angular v8 release.


Data.JSString.pack breaks when using irrefutable patterns

Using Data.JSString.pack gives incorrect results. For example:
import Data.JSString (pack)

main :: IO ()
main = print $ pack $ fst $ foldr (select (== 'a')) ([], []) "ababababa" -- "a"
  where
    -- taken from Data.OldList
    select p x ~(ts, fs) | p x       = (x:ts, fs  )
                         | otherwise = (ts  , x:fs)

Outputs "a", and it should output "aaaaa". But if we remove the ~ for irrefutable patterns, we get correct results:
import Data.JSString (pack)

main :: IO ()
main = print $ pack $ fst $ foldr (select (== 'a')) ([], []) "ababababa" -- "aaaaa"
  where
    -- taken from Data.OldList
    select p x (ts, fs) | p x       = (x:ts, fs  )
                        | otherwise = (ts  , x:fs)

I believe this issue has something to do with GHCJS packing the lazy String too early, before the fold is complete.
/cc @eskimor @luite

I think this may be a bug related to the handling of selector thunks. It looks like they're not always correctly updated


Basic Object Destructuring

Title, object destructuring, except rest patterns as I'm not really sure how to implement those well (probably some builtin? but seems like it would be particularly jank with how we are currently doing it)

Probably out of scope for this PR but to note we will have to support destructuring in other places at some point (assignment, for..of, etc)

Maybe we could move some of this logic to allocVar?

Possibly, I'm not sure how deduplicable this code is. Hopefully it is :pray:

Merging manually to add test262 data


Add a local vcs driver

Closes #344.
I tested it locally with the leaked XP source code (took maybe 6 minutes of indexing) and another smaller repo.
The url with file:// is bothering me a little bit, it could just be the absolute path but this works.
TODO: a few comments from https://github.com/hound-search/hound/pull/344#pullrequestreview-520875229 still apply:

[ ] Validate that the driver's initialized with a url that begins with file://, and return an error from newFake() otherwise. <- I did this check somewhere else, will move it.
[ ] Add a test file. We don't have any strong integration test patterns yet, but at least validating ^ logic would be a start. It would be extra nice to test the hashing logic as well. I'm also very open to integration test thoughts, if you have any. <- I can add an empty file, but there is no infrastructure in place for these tests. Doing this properly would be a major undertaking for testing 100 lines of (mostly) trivial code, which seems silly.
[ ] Add doc blocks

I removed the dependency on the tar command (which doesn't exist on Windows) and instead replaced it with the code used by go mod. The watch-changes option is set to false, in which case it will use the hash of the URL. Hashing all the files per default seems wasteful, since it's unlikely you are indexing code that frequently changes, but is not checked in.

Ping

Alright, I added the comments you requested let me know if there is anything else!

Ah, one update to ask of you @mrexodia: it looks like there's a linting error.
https://github.com/hound-search/hound/actions/runs/5215441474/jobs/9429045032?pr=461

Ah, one update to ask of you @mrexodia: it looks like there's a linting error. https://github.com/hound-search/hound/actions/runs/5215441474/jobs/9429045032?pr=461

I suppressed the error as was done before. Just FYI this linter is extremely annoying. The job message was unhelpful in explaining how to reproduce the error and it took me 30 minutes to find a command that worked:
golangci-lint -v run --disable-all -E staticcheck --timeout 1h

Ideally the command to reproduce (just) the errors would be in the logs of the lint job, including installation instructions.

Thank you for these changes! I'll make a note to see what we can do about improving the linting process. Sorry about the frustration there.


Set buffers mutability qualifiers on Metal pipelines

buffers array property allows us to specify which buffers are writable versus readable by compute pipelines. We need to get that right, since we do know about mutability from the PSO layout, although I don't know what the consequences are for messing this up.

It looks like storage buffers don't work without the qualifier, and Metal validation layers don't complain. This is pretty major as a flaw, also happens to be blocking vange-rs progress.

Reading about this again: https://developer.apple.com/documentation/metal/mtlpipelinebufferdescriptor/2879274-mutability?language=objc
It appears that buffers should be writable by default. This contradicts the fact that Metal GPU capture shows all the buffer bindings with "Read" access.

Another observation is there is no way to see which buffers are mutable/immutable at the level of the pipeline layout. Instead, we'd have to be asking SPIR-V for what access flag it has for each buffer, and then passing it to the pipeline creation. Perhaps, this happens automatically because Metal also has access qualifiers?..

Reading Metal spec I see that access:xxx qualifier is only available for textures. Therefore, specifying the buffer access qualifiers at the pipeline level is at least not redundant with regards to the source... this is good news, but still confusing.

This contradicts the fact that Metal GPU capture shows all the buffer bindings with "Read" access.

This was wrong. It was actually saying "ReadWrite" where appropriate but shortened to "Read...", and it took me a while to fight the UI to show me the whole thing.


Rich directions experience for non-multimodal

[x] Surface alternates
[x] Allow selection of alternates
[ ] Collapse all the modes into a single screen (maybe?).
[x] Show a traditional list of steps
[ ] Allow clicking on individual steps. Fly to each turn and show an arrow on the polyline.
[ ] Move current scrubbable timeline UI to a "follow along" or "take me there" button on the steps view.
[ ] Allow users to tap on an alternate's polyline to select it.

Zoom in to the results showing all the alternate polylines

Allow drag the origin and destination markers. Nicer if the route is recalculated in near real-time while the user is dragging it, like in the OTP demo.
Allow the user to add intermediate points.
Allow the user to drag the polyline to change the route.

Allow drag the origin and destination markers. Nicer if the route is recalculated in near real-time while the user is dragging it, like in Gmaps.
Allow the user to add intermediate points.
Allow the user to drag the polyline to change the route.

I think these are out of scope for the 0.1 release I have planned, but I'm going to make a new issue to track them because they're things I want to add for parity with other web maps clients.

Zoom in and center to the results showing all the alternate polylines when the results are presented. And when the user selects a particular polyline, zoom and center on that particular one.

This seems to work correctly on my dev server but only works sometimes on maps.earth. I'll try and figure it out soon.


Integrate Persistent_frontier.Database with versioning system

https://github.com/CodaProtocol/coda/pull/3439 added Persistent_frontier.Database, which is currently unversioned. The database already has the concept of a version baked into it (storing a version in the db so that migrations can be performed in the future), but this version is just hard coded to 1 right now. This should be integrated into the ppx versioning system we are using, if possible.l

We need to do this if we ever do any changes to the database representation, but this can wait until that day comes.

The change proposed in #8372 should make this simple.

Done in c42aaf6689c. Closing.


Support Deployment mapping (similar to Service/Pod)

Is your feature request related to a problem? Please describe.
Deployments are another type of k8s object that is mostly distinct from services and pods. Most importantly, it's possible that 2+ deployments back the same service so services might not be sufficient k8s objects in the future.
Describe the solution you'd like
Be able to query deployments like we query services/pods.
Describe alternatives you've considered
Most of the time services represent deployments 1:1, so you could use service queries to achieve what you want from Deployments.  However k8s doesn't have any enforced constraint for this and it's possible for deployments to not back a service at all.
Additional context
Add any other context or screenshots about the feature request here.
┆Issue is synchronized with this Jira Bug by Unito

Hi @philkuz, I want to contribute to this project for GSoC 2022, can you guide me on how can I get started with this project?

Hi @iamrajiv ! Thanks for your interest in this project! You should submit an application for GSoC once applications open in April. In the meantime, we recommend you try deploying Pixie yourself to see what it can currently do. You can take a look at our docs at docs.px.dev. Let me know if you have any questions!

When we do this, we should add deployment as a field in the Otel plugin export scripts.

This is now supported as of https://github.com/pixie-io/pixie/commit/57d21138ea54c83d780da5cb40ee3ef52b3bdea4! PR has also been submitted to update the OTel plugin scripts.


[e2e-tests] web3torrent logs are missing from pino.log

An example run: https://27855-209829093-gh.circle-artifacts.com/0/tmp/seed-download.pino.log

Fixed in #1893

https://github.com/statechannels/monorepo/commit/28bd93f4c7a8ee788cddfbbf5fbbe3c7e2d5ea03 fixed the problem.


Add "Photo Tagging" row to feature table

Took the hint from suggestion issue #41
Based on what I could glean from demos or local installs. Could not test "Nextcloud Memories".

I'll see what I can do with the ones I can get installed and running locally. The ones I couldn't get working from the demos, I took the projects' feature lists at their word.
It will probably need some tweaking when I'm done though, because my editor is choking on the pretty number boxes the table uses.

I'll see what I can do with the ones I can get installed and running locally. The ones I couldn't get working from the demos, I took the projects' feature lists at their word.
It will probably need some tweaking when I'm done though, because my editor (Notepad++) is choking on the pretty number boxes the table uses.

Yes, this is fine. I often cannot test all of them, so i take the marketing at face value until otherwise shown to be different.

Thanks for putting this together!


chore: update shuttle-turso docs to reflect libsql-client update

Update the Shuttle Turso docs section to remove the note about the pin to version 0.30.1 of the libsql-client.

Closed because this issue is now fixed by #205


Add Support for Folder Settings - e.g.

It would be useful to specify some settings on a folder settings.json file.
Currently most of our settings are set in the settings.json of the specific app.
It would be usefult if we can specify the 365businessdev.alget.countryCode in the settings.json of a specific app.
We have customers with different country code and it would be useful to keep this information in the app folder.
Is there any reason to not support this?

Thank you for your feedback. Actually, I need to look into this, as I expected folder settings should already work. Normally I work with workspace settings, but I will check what's wrong

Fixed with version 0.0.4


refine usage of MaxReconnectAttempts in BinlogSyncer

Refine binlog synchronization retry strategy, make it possible for user to disable retry sync or retry forever.
~After this pr the default retry strategy for BinlogSyncer is no retry (if MaxReconnectAttempts is not configurated and use default value zero)~

add DisableRetrySync option, the default behavior for retry strategy is not changed, and user also can disable retry by setting DisableRetrySync to true

PTAL @siddontang @GregoryIan @csuzhangxc

LGTM. we need this DisableRetrySync to cover the incorrect case in caller program ref #414 , and we will push to fix this bug later


DevSkim .deb files needs libunwind8 on WSL

When trying to install the DevSkim CLI using dpkg under the Windows Subsystem for Linux, you initially get an error that libunwind8 needs to be installed.
$ sudo dpkg -i devskim-0.1.5_amd64.deb
Selecting previously unselected package devskim.
(Reading database ... 31266 files and directories currently installed.)
Preparing to unpack devskim-0.1.5_amd64.deb ...
Unpacking devskim (0.1.5) ...
dpkg: dependency problems prevent configuration of devskim:
 devskim depends on libunwind8; however:
  Package libunwind8 is not installed.

dpkg: error processing package devskim (--install):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 devskim

Running apt-get install libunwind8 fixes this. I'm not sure if you can tag the .deb file to auto-install the dependency.

Using apt install ./devskim-0.1.5_amd64.deb automatically resolved and installed the dependency. Looks like this might just the way dpkg works.

This is indeed how dpkg works.
Alternatively you can run dpkg --install devskim-0.15_amd64.deb and THEN run sudo apt-get install -f, which will automatically resolve dependencies.
From man page for apt-get
 -f, --fix-broken
           Fix; attempt to correct a system with broken dependencies in place.


If you run a threaded project, it immediately terminates.

Figured this out by reading the code, and tested it.

Wait? What? I've run threaded animations and the remote... works fine.
Example?
On Tue, Aug 15, 2017 at 2:55 PM, Tom Swirly<EMAIL_ADDRESS>wrote:

Figured this out by reading the code, and tested it.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/issues/370, or mute the
thread
https://github.com/notifications/unsubscribe-auth/AA6a6gr-kU0ACYu9ncBrwrbOODvdWULzks5sYemHgaJpZM4O3-EJ
.

https://gist.github.com/rec/6aa3273a20b127891fda751720db2417

The remote isn't a "threaded animation".  run.threaded is False - but the remote itself spawns off a thread.

Oh... haha. Yeah... fair enough. I've never run a single animation that's threaded. What I was thinking of was "threadedUpdate".
So... this is kinda an anti-pattern.
If you call bp run it should never let it be threaded. Just change that value to false and emit a warning that says 'Animations cannot be threaded when called from bibliopixel run, will run non-threaded' or similar.
If you call it from your in-code project loader then it's fine.
Either way... I feel better now. Scared me for a second. Much more minimal issue that I excepted at first.


Error info lost in some request retries

In this code  for RequestBuilder.executeWithRetry:
	for i := 0; i < b.request.retries; i++ {
		// Execute request
		response, errExecution = b.execute(req)
		// Check for errors
		if errExecution == nil && !response.IsError() {
			return response, nil
		}
		// Append error
		errAttempts = append(errAttempts, fmt.Errorf("attempt %d: %w", i+1, errExecution))
		...
	}

In the case where errExecution == nil , but there IsError... then the wrapped errExecution will be nil.
After that, the response and any error related information will be lost to the caller.  Unwrapping it is unhelpful:
request failed after 1 attempts: attempt 1: %!w(<nil>)

One possible solution would be to restructure it to include the Response.Status :
		if errExecution == nil {
			if !response.IsError() {
				return response, nil
			}
			// One could also read the response body to see what the server sent...
			errExecution = fmt.Errorf("error response %s", response.Status())
		}

Hi @neomantra, good point! I will restructure to avoid this case.
Thanks for the collaboration!

Enhancement in new release v0.8.3!


Scalar concept should be renamed

The 'units::Scalar' concept definition has nothing to do with any external definition of scalar and is very misleading,
https://github.com/mpusz/units/blob/master/src/include/units/quantity.h#L63
should be renamed to RegularNotQuantity or something similar especially since Vector is an allowed rep type
https://github.com/mpusz/units/blob/master/example/linear_algebra.cpp#L205

I agree! As I mentioned in one of our previous discussions let's find a good name for it first :-)

First figure out the semantic
What is currently Scalar concept is confused.
You unnecessarily try to stretch it too many ways so will never find a semantic good fit
https://github.com/mpusz/units/issues/88
Unless you change your mind on that one ... Good Luck

Scalar semantics is the minimum semantics of the representation type as described here: https://mpusz.github.io/units/use_cases/custom_representation_types.html#a-scalar-concept. As I said several times I am not married to that name and will be happy to change it.
Please note that it is being used both as a quantity representation type:
https://github.com/mpusz/units/blob/84c8a0632e71aeb136ddfb74f140f73103be2a6b/src/include/units/quantity.h#L63-L64
and as a value (not a quantity) in operators, i.e.:
https://github.com/mpusz/units/blob/84c8a0632e71aeb136ddfb74f140f73103be2a6b/src/include/units/quantity.h#L325-L327

We could name it as units::Value or units::Representation, although the second name would look strange in the operator case.

units::Representation as an exposition-only concept feels right to me.

We could name it as units::Value or units::Representation, although the second name would look strange in the operator case.

Maybe name it units::QuantityRep.

Scalar semantics is the minimum semantics of the representation type as described here: https://mpusz.github.io/units/use_cases/custom_representation_types.html#a-scalar-concept. As I said several times I am not married to that name and will be happy to change it.
Please note that it is being used both as a quantity representation type:
https://github.com/mpusz/units/blob/84c8a0632e71aeb136ddfb74f140f73103be2a6b/src/include/units/quantity.h#L63-L64
and as a value (not a quantity) in operators, i.e.:
https://github.com/mpusz/units/blob/84c8a0632e71aeb136ddfb74f140f73103be2a6b/src/include/units/quantity.h#L325-L327

Theses two uses can be different concepts as shown here
https://github.com/mpusz/units/pull/116/commits/b09c4afd9999a369122c746579612a11a622cad1

One vote for units::Value.

Consider https://github.com/mpusz/units/issues/29#issuecomment-687513617 and its two following comments. Here's my current view:
@kwikius opens with

should be renamed to RegularNotQuantity

and later mentions (https://github.com/mpusz/units/issues/114#issuecomment-636506099)

Theses two uses can be different concepts [...]

If quantity is to work with any algebraic structure, the Scalar in the declaration of quantity is nothing but a std::regular that's not a quantity. In other words, it's currently overconstrained. quantitydoesn't support arbitrary algebraic structures with this use ofScalar. The other ones in the operators *and/` make sense.
Does it make sense to use quantity without the dimensional analysis aspects? Like instantiating it with an ordinal number, which doesn't have * and / (although it can have them, but not with the meaning of Scalar or field). This looks like it is solved by quantity_point, maybe. I don't know arbitrary use cases and only have some knowledge of algebraic structures thanks to Wikipedia. It might make sense for some. Do note that https://en.wikipedia.org/wiki/Algebraic_structure mentions

The examples here are by no means a complete list, but they are meant to be a representative list and include the most common structures.

Perhaps it's possible to come up with ones that do make sense.

Does it make sense to use quantity without the dimensional analysis aspects? Like instantiating it with an ordinal number, which doesn't have * and /

I decided to require * and / because we do not have to multiply or divide 2 quantities explicitly to use those operations. It is enough to:
length<metre> q(1q_km);

I do not think there is a sense of having quantities without unit conversions?
This is why I assumed that even though + and - are optional, * and / are inherent for quantities and should always be valid.

I agree. The above is hypothetical, and the fact is that such relaxation hasn't been formally requested by an user for their use case. Now then, this issue is about naming, but I mixed other concerns.

My preference right now is the adjective Scalable. What do you think? I think it's divorced enough from Scalar, yet retains the property needed of it. Better yet would be ScalableNumber, since quantity has a number and reference (Unit here).

I like Scalable or even better scalable when we move to standard_case. ScalableNumber may collide with some use cases. For example https://mpusz.github.io/units/use_cases/linear_algebra.html#quantities-of-linear-algebra-types. Is a matrix a number?
BTW, why no one refers to the official ISO terms provided in our own documentation: https://mpusz.github.io/units/glossary.html#term-quantity. 😝

However, Scalable term does not imply "not a quantity" :-(
Maybe we have to go with something like QuantityValue, QuantityNumber, QuantityRep.

After a second thought, I am leaning towards ScalableNumber. This LA example should not stop us :-( Especially that I am not sure if this example (Quantities of LA) has a lot of sense.

I do agree with @kwikius opinion that it should me matrix<length> and not length<matrix>. But I also prefer the output {1, 2, 3} m over {1 m, 2 m, 3 m}. matrix<length> can provide that, though, by having a grammar to defer format specification to the underlying type.

Is a matrix a number?

NOTE   5     A   quantity   as   defined   here   is   a   scalar.   However,  a  vector  or  a  tensor,  the  components  of  which  are quantities, is also considered to be a quantity.

No, it's a quantity.

NOTE 5 is about vector<length> and yes it is a quantity.
I referred more to the length<vector> case. vector in such a case should satisfy ScalableNumber. But anyway, let's stay with ScalableNumber for now and get rid of this Scalar thing. We can always revise it later too and probably the ISO Committee will try to bikeshed it too... ;-)

Oh, but a vector<int> is a number, and it is scalable ("may be added, subtracted and scaled (i.e. multiplied by a real number)"), so ScalableNumber is a perfect fit.

Thanks @johelegp! I am doing this change right now.

BTW, why no one refers to the official ISO terms provided in our own documentation: https://mpusz.github.io/units/glossary.html#term-quantity. stuck_out_tongue_closed_eyes

It's just that I first came up to the BIMP when working on my first Quantity concept, have since kept it around in a bookmark, and know that an ISO publication is based on it, similar to how the C++ standard working draft is kind-of independent work of the C++ committee which is then published as an ISO standard.

Sure, no worries :-) Thanks again!


Broken link: vortok

The website at http://bildwissenschaft.vortok.info/ does not work anymore

Now it does


Design Landing Page

Design landing page for realm of ra, linked to Mancala on figma

@all-contributors
please add @Israelrex9 for design.
please add @web3technologies for code.
please add @supreme2580 for code.
please add @xpanvictor for code.
please add @Ajiboyeniola for code.
please add @Oshioke-Salaki for code.
please add @okhaimie-dev for docs

@all-contributors please add @Israelrex9 for design

@all-contributors please add @Israelrex9 for design.


quad.Expr() adds new line at the end

I noted that quad.Expr() adds a newline \n at the end of the strings
Expected
"0.000000x^0 + 0.000000x^1 + 2.000000x^2"
Actual results
"0.000000x^0 + 0.000000x^1 + 2.000000x^2
"
The quote in the actual result ending in a new line, I would expect the first ( I consider this as a stringify ),
or am I missing something?

Thanks for the feedback! I will change this in the next patch.


basic-resume:0.1.3

I am submitting

[ ] a new package
[x] an update for a package

Description: I allow for people to change the font of their resume as a configurable field if desired

[x] ensured that my package is licensed such that users can use and distribute the contents of its template directory without restriction, after modifying them through normal use.

Thanks :)


terraformls completion is not working

Problem description
Terraform completion using terraformls is not working when using the Mason installed binary on Apple Silicon Mac. The setup is pretty simple and standard, nvim-cmp, nvim-lspconfig, mason, and mason-lspconfig. I have tried several terraformls versions, 0.29.3, 0.30.3, 0.31.1, 0.31.2, all exhibit the same behavior.
The log is full of stderr messages, but from what I understand this is related to https://github.com/hashicorp/terraform-ls/issues/1271.
As a temporary fix, I installed terraform-ls using Homebrew, and overwrote cmd: https://github.com/liviudm/dotfiles/blob/main/.config/lvim/lua/plugins/lsp.lua#LL80C21-L80C21. After this change, the completion works as expected
Why do you think this is an issue with mason-lspconfig.nvim?
Mason fetches the binaries from Hashicorp, while Homebrew compiles it. This is the only difference I was able to find.
Neovim version (>= 0.7)
NVIM v0.9.0
Build type: Release
LuaJIT 2.1.0-beta3
Operating system/version
Darwin liviudm.local 22.4.0 Darwin Kernel Version 22.4.0: Mon Mar  6 20:59:58 PST 2023; root:xnu-8796.101.5~3/RELEASE_ARM64_T6020 arm64
I've manually reviewed the Nvim LPS client log (:LspLog) to find potential errors

[X] Yes

I've recently downloaded the latest plugin version of mason.nvim, mason-lspconfig.nvim, and nvim-lspconfig

[X] Yes

Affected language servers
terraformls
Steps to reproduce
Enable terraformls and open any *.tf file.
Actual behavior
LSP Completion and diagnostics is not working
Expected behavior
Completion and diagnostic messages should work
LspInfo
Press q or <Esc> to close this window. Press <Tab> to view server doc.

 Language client log: /Users/liviudm/.local/state/lvim/lsp.log
 Detected filetype:   terraform

 1 client(s) attached to this buffer:

 Client: terraformls (id: 1, bufnr: [1])
 	filetypes:       terraform, terraform-vars
 	autostart:       true
 	root directory:  /Users/liviudm/projects/personal/terraform/terraform-eks-base
 	cmd:             /Users/liviudm/.local/share/lvim/mason/bin/terraform-ls serve

 Configured servers list: terraformls, yamlls, bashls, jsonls, lua_ls

LspLog
No response
Healthcheck
==============================================================================
mason: require("mason.health").check()

mason.nvim ~
- OK mason.nvim version v1.0.1
- OK PATH: prepend
- OK Providers:
  mason.providers.registry-api
  mason.providers.client
- OK neovim version >= 0.7.0

mason.nvim [Registries] ~
- OK Registry `github.com/mason-org/mason-registry version: 2023-05-12-grey-stem` is installed.

mason.nvim [Core utils] ~
- OK unzip: `UnZip 6.00 of 20 April 2009, by Info-ZIP.  Maintained by C. Spieler.  Send`
- OK wget: `GNU Wget 1.21.4 built on darwin22.4.0.`
- OK curl: `curl 7.87.0 (x86_64-apple-darwin22.0) libcurl/7.87.0 (SecureTransport) LibreSSL/3.3.6 zlib/1.2.11 nghttp2/1.51.0`
- OK gzip: `Apple gzip 403.100.6`
- OK tar: `bsdtar 3.5.3 - libarchive 3.5.3 zlib/1.2.11 liblzma/5.0.5 bz2lib/1.0.8 `
- OK bash: `GNU bash, version 3.2.57(1)-release (arm64-apple-darwin22)`
- OK sh: `Ok`

mason.nvim [Languages] ~
- OK Go: `go version go1.20.4 darwin/arm64`
- WARNING Composer: not available
  - ADVICE:
    - spawn: composer failed with exit code - and signal -. composer is not executable
- WARNING PHP: not available
  - ADVICE:
    - spawn: php failed with exit code - and signal -. php is not executable
- OK cargo: `cargo 1.69.0 (6e9a83356 2023-04-12)`
- OK Ruby: `ruby 2.6.10p210 (2022-04-12 revision 67958) [universal.arm64e-darwin22]`
- WARNING javac: not available
  - ADVICE:
    - spawn: javac failed with exit code 1 and signal 0. The operation couldn’t be completed. Unable to locate a Java Runtime.
      Please visit http://www.java.com for information on installing Java.

- WARNING java: not available
  - ADVICE:
    - spawn: java failed with exit code 1 and signal 0. The operation couldn’t be completed. Unable to locate a Java Runtime.
      Please visit http://www.java.com for information on installing Java.

- WARNING julia: not available
  - ADVICE:
    - spawn: julia failed with exit code - and signal -. julia is not executable
- OK python3: `Python 3.11.3`
- OK node: `v20.1.0`
- OK luarocks: `/opt/homebrew/bin/luarocks 3.9.2`
- OK RubyGem: `<IP_ADDRESS>`
- OK pip3: `pip 23.0.1 from /opt/homebrew/lib/python3.11/site-packages/pip (python 3.11)`
- OK npm: `9.6.4`

mason.nvim [GitHub] ~
- OK GitHub API rate limit. Used: 0. Remaining: 60. Limit: 60. Reset: Fri May 12 21:52:11 2023.
  Install and authenticate via gh-cli to increase rate limit.

Screenshots or recordings
No response

I am experiencing similar issues on Apple Intel

Would appreciate if someone could help debug this.

Hi @williamboman. I can help with debugging after 12th June if it doesn’t get sorted out until then.

Just ran into this today on Intel mac.

facing this problem on apple silicon

Facing the same issue on apple silicon!

Same issue on linux machines as well.

faced the same issue on mac apple silicon m3. I had to manually install lsp with :Mason as an addition to this. Still new to nvim.


Trading

Update Create Order test by adding new price and orderId values and removing old ones
Change TypeScript file by updating order DTO and constructor with "UpdateOrderDto" import and replacing "IOrderProps" with "UpdateOrderDto" in the constructor
Update cancelOrder method in the order class to accept an orderStatus parameter for more granular cancellation of orders
Update order status to "CANCELLED" and modify import statements to include the "OrderStatus" enum from the "../domain/models/order.interface" file
Refactor orderCreatedSaga function by adding a new import and removing unnecessary commented code
Update constructor of the Order class to include the orderStatus parameter and the necessary import statement for the OrderStatus enum
Add new class called OrderFillFailError that extends TradeError for handling failed order fills, with a constructor that takes a reason parameter and sets the error message accordingly
Add logging to the constructor of OrderCreatedEvent, which logs the ID of the payload
Update cancelOrder and updateOrderFilled functions in the order class by adding a parameter for the order status and making necessary changes to the code logic, also remove previous implementation of the cancelOrder function
Refactor BinanceWebsocketService class to implement the OnModuleInit interface, update event listeners to use the new implementation, and remove unnecessary imports and code
Update import statements in the TypeScript file to add new dependencies such as BinanceWebsocketService, UpdateOrderHandler, ListenForOrderUpdatesHandler, and BinanceConnectorWebsocketService. Also update CommandHandlers array by removing some handlers and adding new ones
Update dependencies for Binance connector and connector-typescript to the latest versions, "@binance/connector": "^3.0.0" and "@binance/connector-typescript": "^0.3.3", respectively
Update dependencies to their latest versions, including "<EMAIL_ADDRESS>"@binance/connector

Correct sonarqube


fix(build): Separate markdown and html handling into stages

So aliases were completely broken imo
There's #904, where obsidian-like wikilink resolution ("shortest") didn't work for aliases - which was an easy, if hacky, fix - if there is a better way to augment allSlugs I'm all ears.
And then the HTML redirect was breaking SPA and popovers for which I managed to figure out a simple fix actually.
Now aliases work great, I'm very pleased :upside_down_face:
First run all markdown transformers on all files, and then run all
html transformers on all files.
This allows us to augment allSlugs from a markdown processor, so that
we can add alias slugs from frontmatter, to be later used in the linker
html processor when transforming links.
For this to work with workers I had to write a very cringe hack.
To be able to build the allSlugs list correctly not only from filenames,
but also from frontmatter without such measures would require a complete
build process overhaul I feel like.

Ok one thing missing is aliases don't contribute to the graph/backlinks, will try to figure that one out bit later

In this forcepush I actually found a slightly better place to augment the allSlugs, now it just looks great.
Looking for the graph/backlinks fix, which is the last thing remaining for the aliases to not have any issues whatsoever

Found an issue that I'm not sure I can fix - for allSlugs to be correctly fully populated, markdown plugins have to run over all pages and only then the html plugins have to start.
Currently there seems to be a data race where some links are generated before the frontmatter transformer runs on their target and puts their aliases into allSlugs.
I guess I can make a hacky fix for this - at least for myself, by running a custom pre-pass on all content that parses the frontmatter only to get the aliases from it and populates allSlugs, but I'm not sure there's no better way.

I did the split I mentioned - and it completely fixed the issue, now I'm happy, aliases work fantastically now.
But I had to write a very crude hack to make the allSlugs thing work with concurrency (because the variable is obviously not shared between workers), and I feel like making it work properly is would take a large build process revamp.
Feel free to ignore the last commit - although, well, the first commit kinda depends on it to not be broken.
I realised the first and last commit are only needed for the "shortest" link resolution, and maybe people that don't use Obsidian don't care - well at least the second commit is an independent fix for SPA and popovers.
Sadly the third commit (fixing the graph/backlinks) also depends on the first one 🤷
Anyway, I think I'm done here, you may merge this and live with the hack, or people may use this MR if they need working aliases I guess

I'm so confused about this PR, what is broken?
can you write a simple case where it doesn't work?

include 3 different things in here.

That's why it's split into 4 commits?..
Ah yeah github has not the best review UI, it'd make way more sense if you look at commits one by one if you didn't do that.

what is broken?

Uhm, oh yeah you also probably didn't read full commit messages, there's a bit more details there.
But basically if you use Obsidian and use any aliases at all a few glaring issues show up immediately.
So, make a page in a folder, for example Folder/Page.md, have it have aliases: Alias in the frontmatter.
In the homepage, make a wikilink [[Alias]].

Firstly, markdownLinkResolution: "shortest" does not work, so because the page is in a different folder, [[Alias]] would just 404, and you have to do [[Folder/Alias]].
This is the issue described in #904.
It is fixed by the first and the last commits, the idea is that we need to add alias slugs to the allSlugs list. Sadly requires the parse change to do markdown and html parsing of the entire set of files separately.

Now, suppose we fix or ignore the link resolution issue, so we have an [[Alias]] link that kind of works.
When you click on it, it reloads the whole page - kind of twice actually because of the HTML redirect - with a pretty jarring flicker, esp. compared to the rest of links working fluidly in the SPA.
And when you hover it there's no popover.
This turned out to be a simple fix in the second commit - it's actually independent so if you want I can move it to a separate PR or you can just cherry-pick it.

And lastly if you have [[Alias]] then the homepage graph does not show an edge to Page, and Page backlinks do not contain the homepage.
Also a relatively simple fix, done in the third commit - however that one does depend on alias parsing from the first commit to avoid doing extra work - again, I can move it to a separate PR and recompute the alias slugs from frontmatter in

and the worker seems to be a completely different PR

I do agree actually (well at least it's a separate commit), but the first commit is kind of broken without it.
OTOH the first commit doesn't make things worse - although less consistent.
Also I made like seven small fix PRs, I felt it makes sense to at least group all the alias fixes in one :joy:

I do agree actually (well at least it's a separate commit), but the first commit is kind of broken without it.
OTOH the first commit doesn't make things worse - although less consistent.
Also I made like seven small fix PRs, I felt it makes sense to at least group all the alias fixes in one 😂

You can still separate into different PR, then mention it in the description to tell us what the order for merging.

fwiw I don't think we don't have to separate the parser. If you want to update the allSlugs then we can just do it in the frontmatter transformers.
at this point, frontmatter is considered to be the core regardless and always get parsed first so you can assume all of the de/alias and frontmatter item will get propagated there.

Not sure what you meant by "transformers for markdown and html will be parsed separately" here.

Right now, "markdownplugins => htmlplugins" runs for every file, but not for all files separately.
So for two pages A and B this is the order of what currently happens:
markdown A, html A, markdown B, html B
What has to happen for allSlugs thing to work correctly is:
markdown A, markdown B, html A, html B
This is because html A can depend on markdown B if it links to AliasB, and if you look at the first order above you can see how this breaks - alias slugs from markdown B are not yet added to allSlugs when html A runs.
I hope that answers the questions of why I had to separate the parser in two stages, and how it's unavoidable

You can still separate into different PR, then mention it in the description to tell us what the order for merging

GitHub is actually awful for stacked (dependent on one another) PRs.
So right now we have 4 commits here:

allSlugs alias thing
SPA+popover fix
graph/backlinks fix
parser split thing for 1. to actually work

If you insist on making separate PRs here's my plan:

Move 2. out into a separate PR, it's independent, easy.
Remove 3. from here.
Now we're left with 1 and 4 in this PR, and I'll make a PR for 3. after this gets merged, because 3. depends on code changes from 1.
Optionally if you want I can move 4. into another PR as well

Split this thing into 4 PRs with some of them depending on others, it does indeed look a bit nicer I guess (I mean the diff view are the same as if you'd look at the commits in one PR separately).
I'm assuming you're ok with leaving the filter(..).flatMap(..) => flatMap(..) thing, so I resolved those review comments, feel free to un-okay it :)

passby review to say this is nice, aliases didnt get much thought put into it so thanks for trying to fix it haha

This coincidentally is also a requirement for dataview lol (yes I'm looking into it)
The dataview transformer needs to know the frontmatter (and parse the content for inline fields) of all the files :upside_down_face:

Figured why the types didn't align - PluggableList that .use accepts erases the types sadly, so nothing we could really do.
Also improved the transformer types a little (well was trying to fix types before realising you can't), now in md transformers we know that the node is MdRoot and in html transformers is HtmlRoot

Hey, is there anything left for me to do to get this (and all the other things I did on top lul) merged?
Would love to stop being on top of an unholy megamerge of a dozen of my little fixes/features locally :joy:
There are more fixes/features I plan to push that depend on things I already pushed too (not depend depend, but dealing with like conflicts and such could be annoying)


Scala 3 Support

Wart remover works on Scala 3 but I tried to download this custom wart for Scala 3 and it is not found.
@AlexITC can we add support for Scala 3?

Thanks for bringing this up, you are not the first one asking for Scala 3 support.

@AlexITC  I was thinking this might be a good time to also drop cats 2.x support if you are planning on a new developer minor version bump.  We are on cats 3 for everything for a while now.

In fact, I asked one of our devs to handle this issue earlier by dropping scala 2 and cats-effect-2.
Thanks for the suggestion.

@AlexITC also was curious what version of Scala 3 would be targeted.  For internal libraries we've been targeting the LTS Scala version 3.3 series.

Thanks for the hint, LTS is ideal.

Resolved by #6, release pending.

Released https://github.com/wiringbits/wiringbits-scala-newbie-warts/releases/tag/v0.4.2

@AlexITC  It looks like 4.1 was pushed to maven central here.  Is that the right release to use?  Or should I hold off on a 4.2?

Somehow the process messed up with the versions, when I created the release for 0.4.2, the process pushed 0.4.1 instead.
In any case, I have just pushed 0.4.3 which should be available in maven central.
In short, either 0.4.1 or 0.4.3 are ok, they are the same.
Thanks for sharing.


Add support for scylla

This patch modifies the kind configuration to support creation of scylladb storage as well as mongo using the STATE_STORE_DB environment variable. The default is mongodb if the variable is not overridden.

How does STATE_STORE_DB work? I don't see it referenced anywhere.


Standard Way of Expressing Shared vs. Internal EventLoopGroup

As we've seen so far in the SSWG pitches/proposals for the nio-postgres (nio-redis initially modeled after this proposal) and nio-http packages there's been this idea of NIO-based library authors providing a means to users to either pass in their own EventLoopGroup they might intend to share, but still maintain ownership over the lifecycle, or to let the library decide that detail for itself.
NIORedis used to have an implementation and this was previously proposed as a part of NIO core but was rejected as it was too broad of a solution to be in NIO proper.
Could this have a home here? (bikeshedding the naming, of course)
public enum EventLoopGroupProvider {
    // library is given access to use this as a resource, but is not allowed to manage the lifecycle
    case shared(EventLoopGroup)
    // library is left to decide for itself how to create one as an implementation detail
    // and is fully responsible for this resource
    case createNew
}

perhaps a third case could be given that is .unique(EventLoopGroup) for the cases where a library might be the one that wants to provide EventLoopGroups, but that it's giving ownership of it to whoever is asking for an EventLoopGroupProvider?

Honestly, this request could be chalked up to a reflective "This isn't DRY!" seeing a few different modules all proliferating their own enum types when they all work with the same underlying value of passing NIO EventLoop or EventLoopGroup

@Mordil thanks! .unique(...) isn't necessary because each EventLoop is also an EventLoopGroup. So could do can do .shared(myEventLoop).
So I think I'd be happy for this to be in NIOExtras. After all, it's our incubation repo.
@normanmaurer / @Lukasa WDYT?

Works for me.

This was resolved by https://github.com/apple/swift-nio/pull/1609


Suggestion - Making Email clickable

Just as you made your linked and Github profile text clickable you can also make your email clickable by doing something like this -
< a<EMAIL_ADDRESS><EMAIL_ADDRESS>/a>

Hey thanks for suggesting this , I will add this change right away


Update dynamodb to 2.16.36

Updates software.amazon.awssdk:dynamodb from 2.16.17 to 2.16.36.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "software.amazon.awssdk", artifactId = "dynamodb" } ]

labels: library-update, semver-patch

Superseded by #1050.


Construction of Expr

Currently expr construction is sort of suboptimal, or almost unimplemented.
Example
match worker.response { ok(v) => v, err(msg) => msg }

but not
match worker.response { ok(v) => some(v), err(msg) => none }

Expecting 2 days

I will use wave syntax to emit the evaluated expression (its already done at wasm-rpc levle)


Exception handling via middleware

This PR removes the ExceptionHandler that I created with a bunch of rescue_froms and instead replaces it by having rails handle (most of) the exceptions and map to the correct status code.
ApplicationController is still rescuing its own exceptions because I currently cannot figure out how to get the specs to actually execute through the controller, it appears to be blowing up before even getting into the controller when the headers are incorrect. I believe the specs probably need to change rather than us rescuing the errors, but I felt that could be done in a separate PR.
Something Drew and I found while I asked him to help me debug a spec is that the current version of ActionDispatch we're on has a bug where if you throw a custom error but the original cause of the error is something else (the pertinent example in this case was a RecordNotFound error eventually resulted in us raising a Catalog::InvalidParameter error), it will instead attempt to route with the status code based on the cause of the error, not the actual error you intended (i.e. 404 instead of 422). For now, this functionality is overridden in application.rb, and I'm not a huge fan of it, but I'm not sure what else to do at this point until we can use a version of ActionDispatch with the fix.
@syncrou Please Review and tag anyone else you think should review.

@mkanoor do you have any additional feedback on this. @eclarizio pushed a followup to the feedback.


Composer namespace + Readme

thanks again

@pfefferle You're welcome. Could you create a new release now please? :)


Extensions install now supports pecl and github repository

phpbrew ext install now support extension that hosting at pecl or github.com.
Now you can install extension from github.com using https://github.com/<owner>/<repo> or git@github.com:<owner>/<repo>.git url.
Install phalcon by phpbrew:
phpbrew ext install https://github.com/phalcon/cphalcon

or
phpbrew ext install git@github.com:phalcon/cphalcon.git

By default , phpbrew ext install <extname> will install extension from pecl.php.net except you using URL as extension name.
So you can register github project with shortcut name to assets/github-extensions.json ,
ex:
 "phalcon": {
        "desc": "Phalcon is a web framework implemented as a C extension",
        "url": "https://github.com/phalcon/cphalcon"
    }

NOW, we can install phalcon by phpbrew ext install phalcon just like normal pecl extension .
And new phpbrew ext known command let you query available version of extension, that support pecl and github.com 's tags.
for example:
phpbrew ext known xdebug will output like bellow:
[==================================================================] 1.74/1.74KB 100%

2.2.6, 2.2.5, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.2.0RC2, 2.2.0RC1, 2.1.4,
2.1.3, 2.1.2, 2.1.1, 2.1.1RC1, 2.1.0, 2.1.0RC1, 2.1.0beta3, 2.1.0beta2,
2.1.0beta1, 2.0.5, 2.0.4, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0RC4, 2.0.0RC3,
2.0.0RC2, 2.0.0RC1, 2.0.0beta6, 2.0.0beta5, 2.0.0beta4, 2.0.0beta3, 2.0.0beta2,
2.0.0beta1, 1.3.2, 1.3.1, 1.3.0, 1.3.0rc2, 1.3.0rc1, 1.2.0

phpbrew ext known phalcon will output like bellow:
[==================================================================] 8.41/8.41KB 100%

phalcon-v1.3.4, phalcon-v1.3.3, phalcon-v1.3.2, phalcon-v1.3.1, phalcon-v1.3.0,
phalcon-v1.2.6, phalcon-v1.2.5, phalcon-v1.2.4, phalcon-v1.2.3, phalcon-v1.2.2,
phalcon-v1.2.1, phalcon-v1.2.0, phalcon-v1.1.0, phalcon-v1.0.1, phalcon-v1.0.0,
phalcon-v0.9.0, phalcon-v0.8.0, phalcon-v0.7.0, phalcon-v0.6.1, phalcon-v0.5.3,
phalcon-v0.4.5

Signed-off-by: Rack Lin<EMAIL_ADDRESS>

What happend to this seems it is not working anymore?
php:5.4.45-phpbrew $ phpbrew ext known phalcon
Downloading http://pecl.php.net/rest/r/phalcon/allreleases.xml via curl extension
CurlKit\CurlException: (22) The requested URL returned error: 404 Not Found at [http://pecl.php.net/rest/r/phalcon/allreleases.xml:The requested URL returned error: 404 Not Found]

Same here, not working. Any suggestions?


chore: sudo should be called privileged in command.execute

I'm submitting a
Chore
What is the current behaviour?
Related to #318
sudo won't always be how we elevate privileges, and the atoms we built actually allow for abstracted privilege elevation, not sudo. Our command.execute action was specifically expecting sudo: true.
This is an intermediate solution where we support both sudo: true and privileged: true, and in the future we may support alternative elevations (teleport, doas, ?)

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (f4fd2c1) 28.26% compared to head (1cc34fd) 28.26%.

Files
Patch %
Lines

lib/src/actions/command/run.rs
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #390   +/-   ##
=======================================
  Coverage   28.26%   28.26%
=======================================
  Files          85       85
  Lines        2289     2289
=======================================
  Hits          647      647
  Misses       1642     1642

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Create slot gclub

Add an optional extended
description

I need    diver file game andioe os  window SLOT,GCLUB casino bacara for me I can make  enter treatment tavada formula calculat of values Assess from happy play  55555 if it,s good

Closed because of spam request


[release-v1.2] Build eventshub

Doing the actual image build now, since this got merged:

https://github.com/openshift/release/pull/28421

/test 49-conformance-aws-ocp-49
/retest-required
/retest
/go-in

/retest


[Bug] Export to bruno collection does not include the docs element

Hello,
As the title says: When exporting a collection to a Bruno json the docs elements are not included in the export.  Might also be something to combine with / related to #605

This issue was probably already solved. I just exported a collection with docs and it's present in json output under the following key.
  "root": {
    "docs": "this is docs section for bruno collection"
  },

Marking this issue as resolved!

@Ellesedil you're right, my bad. I misunderstood the title of the story and thought it's only about collection docs missing.

Merged. Thanks @drwelby
This will be available in v1.36.0 scheduled to go out on 4 Dec 2024


Add warning about bots for vunerable candy machines

Adds a warning while updating or creating a candy machine that might potentially be vunerable to bots.

This is a nice check, thanks @KartikSoneji.


Migration to Gradle Version Catalog

Thank you so much for the contribution! 😎👍
I needed to add some bits, so this is superseded by #74


f(x): GoogleMapsGeocoder.new accepts optional Logger

Closes: #138
Goal
Expose the gem's logger so users can customize it.
Approach

Change GoogleMapsGeocoder.new to accept an optional Logger.
Default 1 to standard error.
Subclass GeocodingError from the more specific RuntimeError.

Signed-off-by: Roderick Monje<EMAIL_ADDRESS>

Ready for review.

Yeah, I've always included the method name when logging an error as a matter of convention. Figure that combined with the raise should be enough context. Open to suggestions though.

My bad, one more change. Forgot to pass the logger to the error: efdf8a17e1ea0807a344aafcb0455aaa3ee22e3e


[Performance] Potential performance issue or improvement

One of our teams has been running some load tests that involve calling deleting keys from a redis cluster among other things. And when they run a profiler they observed that top hot spot was actually related to collection management (ConcurrentHashMap and HashSet) on redisson when getting connection info and copying it for every operation.
As seen on the following hotspot analysis

This was tested with redisson 3.4.3, haven't tried with the latest one yet
Is there anything that could be changed from config or improved on the code in future versions?
I believe the same scenario might show up on other operations besides delete

This issue was fixed in https://github.com/redisson/redisson/issues/1081 in 3.5.5 version


Fixing Errors

This pull request includes a fix for monitoring-client.py where a variable 'r' was outside of the necessary scope, as well as a fix to the monitoring README file where it was lacking a command to install a needed dependency.

r should be scoped to the function as try/except doesn't create its own scope.
However, there is still an issue: The print_to_logger(alerting) will run even if an exception is caught since it is executed outside the try/except.
An else statement can be appended to the try/except which will run only when no exception is caught.
Additionally, keeping the logger call outside of the try block allows the try/except to focus on catching exceptions with the requests.post call.

@CJHouser Can you please provide a line number for the other error you are flagging? I can't seem to find a alert that happens outside the try catches for this pr. Thanks!


[4.2][ClangImporter] Take isCompatibilityAlias() into account in interface printing

Cerry-pick of #16625 reviewed by @jrose-apple
If the Clang declrations are types, canonical declaration in Swift is imported for newest version of Swift. In interface generation, if the declaration is versioned and it's imported as a member in either or both version of Swift, we have to take compatibility typealias into account.

Fixed ClangModuleUnit::getTopLevelDecls to take isCompatibilityAlias() into account
Fixed bugs in ClangImporter where member-to-member versioned types aren't properly imported.

Fixed SwiftDeclConverter::importFullName to check equality of getEffectiveContext()
Fixed importer::addEntryToLookupTable to check equality of getEffectiveContext()
(moved ClangImporter::Implementation::forEachDistinctName to NameImporter)

@swift-ci Please test


Request: specifying JSON file name

This is a simple request for a new variable in the build.gradle file to allow for different JSON file name.
Crowdin allows for way more than only one JSON file per project and so I'm taking advantage of that by putting all translatable strings from all my mods into a single project:

So in one case I would have this in my build.gradle:
crowdintranslate.setCrowdinProjectname 'dawnteam'
crowdintranslate.setMinecraftProjectName 'dawn'
crowdintranslate.setFileName 'dawn'

Going to implement this, but it'll take me a few days, as I want to do it in a way to have it work with the dynamic downloading part as well. And I guess the whatever.json file should be downloaded as en_us.json in that case so the untranslated version of the mod has strings to use, too.

Ok - please don't tell everybody, and especially, don't use that with the JIJ feature as a client-side-download-mod, because it hasn't been tested much, but what you asked for should work from within gradle:
classpath 'de.guntram.mcmod:crowdin-translate:1.3-pre1-hugman'
...
crowdintranslate.crowdinProjectName = 'dawnteam'
crowdintranslate.minecraftProjectName = 'dawn'
crowdintranslate.jsonSourceName = 'dawn'
//crowdintranslate.minecraftProjectName = 'mubble'
//crowdintranslate.jsonSourceName = 'mubble'
crowdintranslate.verbose = true

Depending on whether or not you comment out the "dawn" or "mubble" defs, you get the corresponding files into the corresponding assets directory. Please tell me if it works for you.


Traffic lights have too much top padding on MacOS Big Sur.

VSCode Version: 1.51.1
OS Version: Mac OS Big Sur

Steps to Reproduce:

Launch Code using the latest version of Big Sur.
Look at the traffic lights.

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

For now, you can turn on 'Native Tabs' under Window in settings.

/duplicate of #106528


feat(card-group): add option for 2-4 cards per row

Related Ticket(s)
#5286 #5520
Description
This adds the option to set the number of cards per row (2-4 cards) in CardGroup/card-group. The default number is 3.
Changelog
New

users can now set the number of cards per row in CardGroup/card-group

@kennylam So far looking good! I found a couple issues in both versions:
In Web Components, when choosing 4 cards per row and enabling the outline cards knob, it appears that there's a card that's missing the bottom border in the first row:

The same border bug can also be seen In React with the 4 cards per row, but the footer seems to be clipping into the copy as well:

Also in the first picture the weird copy height might be caused from the sameHeight utility being applied to each row individually, and the logic for that takes 2/3 cards per row into account. I know #5868 will be fixing this, so not sure if we sure be updating the individual sameHeight logic to consider 4 or let it go for now since it'll get removed anyway.

I found a couple issues in both versions

@IgnacioBecerra Thanks for looking, yeah I'm aware of these issues as well. The React clipping is caused by the sameHeight utility not firing a second time when the card number is changed. This is a common problem in Storybook and one of the reasons we sometimes need to break out variations like this into their own story. I'll take a look at the border issue since this was addressed in a separate PR. If it is too far out of the scope of this I'm going to create an issue and track separately.

@IgnacioBecerra looks like there's already an issue (https://github.com/carbon-design-system/carbon-for-ibm-dotcom/issues/6016) open for the borders.

Hey @kennylam this is working and good, one challenge is that because the “number of cards per row” is unaware of the grid, changing the values causes cards in the grid to squeeze and stretch. How would adopter achieve the 2x2 layout without having the cards stretch to 5 columns each?

@shixiedesign Grid layout has been adjusted for when there are two cards per column.

Thank you!!

Border on 2nd card became a bit broken. Issue persists if I open the canvas in new tab.

If we display Card group starting first column of the grid, would we avoid seeing the squished cards issue? If so, It's totally fine to change the display to default starting in column 1

Seeing the gray empty card slot sometimes

Same height util might need an update?

@shixiedesign Good catch! Had to update the component with the outline work from #6435.

Outline issue is resolved! 🎉
How about this one? For with it's 4 cards per row, re-align storybook story to start on column 1 instead of column 5 could help?

If we display Card group starting first column of the grid, would we avoid seeing the squished cards issue? If so, It's totally fine to change the display to default starting in column 1

Try 5 cards, 3 per row, 0 offset. I see the card's body copy are not starting at the same height:

@shixiedesign #2 and 3 done!

💣 👍


feat: [FC-0047] xBlock offline mode

🛜 Offline mode – Quick Preview
Downloading
https://github.com/openedx/openedx-app-ios/assets/128456094/5e5b0b89-3c1e-4c3f-a1fa-b5cbea7a1036
Working with blocks without an internet connection
https://github.com/openedx/openedx-app-ios/assets/128456094/58d1e162-10cb-477a-ab0a-b9d0616ff4e5
Offline content is synchronized immediately after connecting to the network
https://github.com/openedx/openedx-app-ios/assets/128456094/b79bcc58-d551-474a-8a53-39ed001913e3
Environment for testing:
API_HOST_URL: 'https://axim-mobile.raccoongang.net'
ENVIRONMENT_DISPLAY_NAME: 'lms-axim-stage'
FEEDBACK_EMAIL_ADDRESS<EMAIL_ADDRESS>OAUTH_CLIENT_ID: 'zP3vPz00c8fTRpYjNbVSlA1fxt9LnCxTM4JK1KQ0'
DISCOVERY:
    TYPE: "native"

FIREBASE:
    ENABLED: false

UI_COMPONENTS:
    COURSE_UNIT_PROGRESS_ENABLED: false
    COURSE_NESTED_LIST_ENABLED: false

Thanks for the pull request, @IvanStepanok! Please note that it may take us up to several weeks or months to complete a review and merge your PR.
Feel free to add as much of the following information to the ticket as you can:

supporting documentation
Open edX discussion forum threads
timeline information ("this must be merged by XX date", and why that is)
partner information ("this is a course on edx.org")
any other information that can help Product understand the context for the PR

All technical communication about the code itself will be done via the GitHub pull request interface. As a reminder, our process documentation is here.
This is currently a draft pull request. When it is ready for our review and all tests are green, click "Ready for Review", or remove "WIP" from the title, as appropriate.

@IvanStepanok Thank you for your work on this feature - looks cool!
I have a few comments on the UI - will place here

While the app is downloading for offline, the user stops the app and starts it again; after navigating to the course -> offline user sees the ‘Download All’ button, but the download continues.
https://github.com/user-attachments/assets/980da3e1-49b4-4db5-b44e-3c2be83a165c

All content in course is loaded. User deletes only one sequence. After tap on "Download all" button it shows like user will get whole course again.
https://github.com/user-attachments/assets/996b52cd-feff-4b3c-a832-9b3d0234bd52

All content in course is loaded. Some chapter contains youtube videos only (which are not downloadable). When goes to Videos Tab and try to remove such chapter it shows "Removing this content will free up 0MB" - do we need to show 'downloaded' state for chapters in Videos which don't contain downloaded videos?

A user has downloaded a course. The user answered a few questions offline, went online, the answers were synchronised, and now we see them in the online version. (it's working right)
When the user goes to that test again offline, he don't see the answers - it looks like the user is seeing the downloaded version BEFORE he gave the answers.

https://github.com/user-attachments/assets/9cb337ac-5146-4f3a-a52d-ce5b43c9c2b7

The user can't select a previously selected option in an offline quiz. For example: select option 3 - submit - change your mind and select option 4 - submit - change your mind again and try to select option 3 - unable to select option 3 again

https://github.com/user-attachments/assets/161278c2-8c6c-4a34-98b6-cb0a8a3dbd90

Hi @rnr, and thank you for the review! It is very valuable to me to get a view from another angle. I appreciate it.

✅ Fixed

https://github.com/user-attachments/assets/a2deac8f-b047-4e6f-bad4-97f0abf4a105

✅Fixed (Pay attention. We don't show download notification, less than 100 MB when connected to Wi-Fi)

https://github.com/user-attachments/assets/e6fd90a6-535d-4fad-a576-c3e978ca7e34

✅ Fixed

https://github.com/user-attachments/assets/12b5fb70-daad-4859-a101-d0fcf32fae48
I also noticed that if we delete one file, when downloading, the dialog box shows us the size of the entire group instead of a single undownloaded file. This is also fixed.

🤷♂ This is a known issue, the Open EDX team plans to improve this flow in the future. Currently, the backend has IOSBridge only for offline mode. As soon as they finalize the backend, it will work for us immediately.

🤷♂ This is also the behavior that was set on the backend side, on our side we cannot influence it in any way.

@IvanStepanok Thank you for the fixes and clarifications
Looks like we have issue for video:
2. It seems that the video file is not counted in the total size, even though the dialogue says that this space will be freed up.
https://github.com/user-attachments/assets/09aac20f-8e1a-4f9c-ad26-630a48391aaf

Hi, @rnr, and thanks for the question. In this case, we don't know the size of a video until we download it because the server returns 0 megabytes. We can measure the actual size of the videos only after downloading. To prevent this behavior, we need to receive the actual video size in the server response.

@rnr Thanks for review! All feedback addressed.


Flush buffer

It seems when I open a port and execute a read there can be old data in the buffer.  I have to disconnect/reconnect the USB-UART to clear the old data.
I do not see any flush function.  Is flushing the buffer possible?

read all

some promblem. c# has port clean api

some promblem. c# has port clean api


Fix BPF token permission issues with 6.10 and later kernels

This is closely related to #2040. Our qemu builds are unable to pass the newer BPF token permission checks, causing it to use the reduced (4096) BPF instruction limit. We should update our qemu VM image building process to ensure that it's able to use the 1M instruction limit.
Logs
$ bazel run -c dbg src/stirling/source_connectors/socket_tracer:dns_trace_bpf_test_qemu_interactive
bash-5.2# src/stirling/source_connectors/socket_tracer/dns_trace_bpf_test
I20241009 14:21:07.577044   135 socket_trace_connector.cc:468] Kernel version greater than V5.1 detected (6.11.1), raised loop limit to 882 and chunk limit to 84
I20241009 14:21:07.578644   135 kernel_version.cc:82] Obtained Linux version string from `uname`: 6.11.1
I20241009 14:21:07.578760   135 linux_headers.cc:381] Detected kernel release (uname -r): 6.11.1
I20241009 14:21:07.580492   135 linux_headers.cc:202] Using Linux headers from: /lib/modules/6.11.1/build and /lib/modules/6.11.1/source.
I20241009 14:21:07.585541   135 bcc_wrapper.cc:166] Initializing BPF program ...
I20241009 14:22:06.109444   135 scoped_timer.h:48] Timer(init_bpf_program) : 58.52 s
bpf: Argument list too long. Program  too large (18400 insns), at most 4096 insns

./src/stirling/source_connectors/socket_tracer/testing/socket_trace_bpf_test_fixture.h:54: Failure
Value of: IsOK(::px::StatusAdapter(source_->Init()))
  Actual: false (Internal : Failed to load syscall__probe_ret_writev: -1)
Expected: true
I20241009 14:22:11.929546   135 container_runner.cc:53] podman rm -f dns_server_52108331944 &>/dev/null
[  FAILED  ] DNSTraceTest.Capture (87555 ms)
[----------] 1 test from DNSTraceTest (87556 ms total)

[----------] Global test environment tear-down
[==========] 1 test from 1 test suite ran. (87557 ms total)
[  PASSED  ] 0 tests.
[  FAILED  ] 1 test, listed below:
[  FAILED  ] DNSTraceTest.Capture

 1 FAILED TEST
I20241009 14:22:12.809012   135 env.cc:51] Shutting down

With the introduction of #2047 (available in Vizier v0.14.13), users using impacted kernels can get Pixie running with the following PEM cli flags:

--stirling_bpf_loop_limit=41
--stirling_enable_mux_tracing=0
--stirling_enable_mongodb_tracing=0

Note: disabling mux and mongodb isn't specifically required. Each enabled protocol increases the size of Pixie's BPF program and so disabling any two protocols suffices as well.


ListEngines example is throwing exception

ListEngines example is throwing the following exception
RelationalAI.Errors.InvalidResponseException: Failed to deserialize response into type ListEnginesResponse
   at RelationalAI.Utils.Json`1.Deserialize(String data, String key) in /Users/iazam/dev/rai-sdk-csharp/RelationalAI/Utils/Json.cs:line 38
   at RelationalAI.Services.Client.ListEnginesAsync(Nullable`1 state) in /Users/iazam/dev/rai-sdk-csharp/RelationalAI/Services/Client.cs:line 181
   at RelationalAI.Examples.ListEngines.Run(Nullable`1 state, String profile) in /Users/iazam/dev/rai-sdk-csharp/RelationalAI.Examples/ListEngines.cs:line 36
   at System.CommandLine.NamingConventionBinder.CommandHandler.GetExitCodeAsync(Object returnValue, InvocationContext context)
   at System.CommandLine.NamingConventionBinder.ModelBindingCommandHandler.InvokeAsync(InvocationContext context)
   at System.CommandLine.Invocation.InvocationPipeline.<>c__DisplayClass4_0.<<BuildInvocationChain>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass18_0.<<UseParseErrorReporting>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass13_0.<<UseHelp>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass22_0.<<UseVersionOption>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass20_0.<<UseTypoCorrections>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<UseSuggestDirective>b__19_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass17_0.<<UseParseDirective>b__0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c.<<RegisterWithDotnetSuggest>b__6_0>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.CommandLine.Builder.CommandLineBuilderExtensions.<>c__DisplayClass9_0.<<UseExceptionHandler>b__0>d.MoveNext()

Environment to repro: Latest

Root cause: The list engines response is returning an engine with size XS/2 which is not an enum value in the EngineSize eunmeration.

Why should the sizes be an enum? We moving to distributed engines where what we used to call Engine will become a cluster of engines.
Think of XS/2 being engine cluster with 2 node each being XS. There will be too many variant, XL/4, S/3 etc..
Creating an enum for all this is not scalable.

@Segflow would it be more natural to do this instead?
{
    "type": "Cluster",
    "engineSize": "XL",
    "clusterSize": 5
}

XL/4 feels confusing to denote "4 engines in a cluster"

Moreover, is this cluster thing user-facing? I.e. do users need to do anything at all working with it vs a single engine?
If so, it's a breaking change requiring a client update, so it's certainly not a problem to update the SDK?

Changing the payload would break the api, something we cannot do right now. We understand that xs/4 is not ideal, but it allpw us to experiment with the feature without breaking other people workflow.
Reusing the same field to encode 2 different semantics allows us to roll out the feature faster.
I heard that in the future this will change and user will just say how many CPU they need.

Changing the payload would break the api

Is that actually true? Isn't it a non-breaking change to add a field?
(And a breaking change to change the meaning of a field? -- Though in this case i still think the change made was pragmatic and reasonable 👍).
I would think that we should be able to add a field to the get_engine() response without worrying about breaking changes. I think that @whatsthecraic would also like us to report the number of workers anyway, since it would be useful for the benchmarking framework to know how many workers an engine had.

Note: This issue has been migrated to https://relationalai.atlassian.net/browse/RAI-6831.
This link is only accessible to employees of RelationalAI.


[FEATURE] Support for pre and post hooks (including observability capabilities)

Since the current groundwork for supporting the ofn v1beta2 api is complete, we need to add pre and post hooks for ff-python, also the observability capabilities.

/assign

Maybe we can release a builder without the pre/post hook function for now?


Add workers and requests views to status command

Currently turbiniactl status primarily shows the task status for a given request/user/time, but we should add --workers and --requests views for the status command as well.  For --workers we can show each worker, what task, if any, is running on them, and how long that task has been running.  For --requests, we can show the outstanding requests, and the number or tasks outstanding and the total number of tasks.

Also, for the --workers view, a low priority bonus would be to show the task history for each worker as well.

Fixed by #576 and #572


Remove the original dependency and switch it to URL module

In the JS work available the URL class could easily substitute the original package.

@AlexHladin ping me in a week or so if this hasn't merged!

@AlexHladin Can this be merged? Trying to knock out some vulnerabilities picked up by a scanning tool. It found a high severity vulnerability linked to url-parser in original. Merging this would eliminate that vulnerability from the transitive dependency.

@AlexHladin Can this be merged? Trying to knock out some vulnerabilities picked up by a scanning tool. It found a high severity vulnerability linked to url-parser in original. Merging this would eliminate that vulnerability from the transitive dependency (since it eliminates that dependency).

Yes, this PR could be merged

v2 released!


custom scrollbar added

fixes https://github.com/ArslanYM/StarterHive/issues/233

It would have been better if you raised a discussion for this first. And this doestn look good as well.

@rahilansari261 No changes still.?

Sorry for delayed reply. i want to close this PR as of now


Add Nginx debian buster support

Add Debian buster support

@ThomsonTan is anyone else working in this project? How long do changes take to be merged?


implement general data model - agnostic starting point for further development

@jsoules @WardBrian
With this PR I am abstracting out the analysis data model. (An analysis for now is something that has stan file content, data file content, and sampling opts file content.)
There is no sharing functionality nor loading from the cloud in this branch. So this is agnostic to the method we end up using for that.
This is a starting point (base layer) for tryout out different ways to implement that.
Let me know what you think.

.... also, it does not have any functionality for storing local changes.

.... also, it does not have any functionality for storing local changes.

Does this mean refreshing the page loses everything?

.... also, it does not have any functionality for storing local changes.

Does this mean refreshing the page loses everything?

Yes, but that's just until we settle on the right way to be saving local edits.

I think this makes some good changes, but I also have a few things I'd like to hash out a bit further.

Thanks for the helpful review @jsoules. I have responded to each of your points above.

I'd like to understand better how we decide what data lives in the context vs. in state on the HomePage component. Why not have most data dependencies in the front-end be dependent on the context state?

I have removed the unnecessary extra state in the HomePage as indicated above. The edited (unsaved) state does need to stay in HomePage because that's going to be handled locally for that component.

Similarly, I think it would be clearer to code against the data model if the list of expected/required files were more definite. The SPAnalysisDataModel clearly embeds some assumptions about what files to expect, but the AnalysisFiles and corresponding reducer don't match up or enforce them.

As indicated above, I have renamed AnalysisFiles to KVStore to indicate that this is an internal implementation that could be swapped out.

Finally, while I know we're still undecided about the mix-and-match vs all-in-one model for sharing and persisting an Analysis, it would be nice to keep using local storage for changes in the meantime, assuming that's possible without setting strong expectations about those parts of the design.

Okay. I have restored this functionality for convenience during development. And I have added the following comment
// For convenience, we save the state to local storage so it is available on
// reload of the page But this will be revised in the future to use a more
// sophisticated storage mechanism.

Anyway, have a nice weekend and looking forward to a design discussion on Monday!

Thanks, you too!


[QUESTION] Usage for LED fading

Thanks for this library!
My use case is fading up to 36 LED strips from an ESP32.
I want to ask about it's operation because I did not fully understand it from the description.
Taking for example an ESP32-S2 will it provide PWM capabilities for the pins: 1- 14, 21, 33-42, 45, so a total of 26 pins.
This much is clear.
What's not clear, for me, is: can I assign individual duty-cycles (PWM values) for each of these 26 pins so that I can fade each LED on it's own ? (the 8 PWM channels stuff gets me a bit confused)
Is there any way for this library to support more than 26 pins?

Using an ESP32, the library will work with 8 PWM pins having up to 8 unique frequencies and up to 8 unique duty cycles. This can be expanded to 16 if you use the LEDC functions for another 8 pins. Note that the limitation here is that you can then have 16 unique duty cycles on 16 pins, but there's still only 8 unique frequencies because there are only 8 timers available. The library uses channels 0,2,4,6,8,10,12,14. If using the LEDC functions to use additional PWM pins with unique duty cycles, you can use channels 1,3,5,7,9,11,13,15. The 8 unique frequencies would be shared as follows: 0-1, 2-3, 4-5, 6-7, 8-9, 10-11, 12-13, 14-15.
Additional reference:

https://rntlab.com/question/esp32-pwm-frequency-selection/
https://github.com/espressif/arduino-esp32/issues/1256

Using an ESP32-S2, the library will work with 8 PWM pins having up to 4 unique frequencies and up to 8 unique duty cycles because there are only 4 timers available.

Is there any way for this library to support more than 26 pins?

Yes, in analogWrite.h, you'll need edit the pinMask constant ... line 19 for ESP32S2, line 26 for ESP32 where each enabled bit signifies a PWM pin.

Thank you for your answer. It's still not clear for me.
I am not interested in having different frequencies. One frequency is enough for all PWM pins.
Can I set individual PWM levels for each of the 26 pins on the ESP32-S2 (control the LED brightness separately for each pin)?

No, you can't get 26 independent PWM levels for the ESP32-S2. With the library, you can set up to 8 individual PWM levels and assign these to any 8 of the 26 PWM pins.
Chip Series Comparison

Understood now. Thank you!


can't access to myPublicVm

Module: AZ500
Lab: 12
Task: 5
Step: 9
Description of issue
For the creation of myVmPublic, you specify : Public inbound ports : None
So there is no way to RDP into it at a later stage.
either let the default option or create an appropriate nsg
Repro steps:

Hi Medhi,
would you mind clarifying which specific exercise, task, and step the phrase "a later stage" refers to ?
rgds
Marcin

Closing due to lack of response
rgds
Marcin