[Frontend][VLM] Add support for multiple multi-modal items in the OpenAI frontend

This adds support for handling multiple image_urls (or audio_urls) in the OpenAI frontend.
Multi-modal item collection is consolidated in MultiModalItemTracker which:

Ensures that the number of items doesn't exceed the configured maximum
Merges the dicts from the N futures into a single dict
Determines the placeholder string to use for each item, if any (in particular, Phi3V uses numbered pseudo-tokens)

This also changes tests/entrypoints/openai/test_vision.py to use Phi3V to exercise the support for multiple image inputs end-to-end and adds unit tests for parse_chat_messages.

 PR Checklist (Click to Expand)
Thank you for your contribution to vLLM! Before submitting the pull request, please ensure the PR meets the following criteria. This helps vLLM maintain the code quality and improve the efficiency of the review process.
PR Title and Classification
Only specific types of PRs will be reviewed. The PR title is prefixed appropriately to indicate the type of change. Please use one of the following:

[Bugfix] for bug fixes.
[CI/Build] for build or continuous integration improvements.
[Doc] for documentation fixes and improvements.
[Model] for adding a new model or improving an existing model. Model name should appear in the title.
[Frontend] For changes on the vLLM frontend (e.g., OpenAI API server, LLM class, etc.)
[Kernel] for changes affecting CUDA kernels or other compute kernels.
[Core] for changes in the core vLLM logic (e.g., LLMEngine, AsyncLLMEngine, Scheduler, etc.)
[Hardware][Vendor] for hardware-specific changes. Vendor name should appear in the prefix (e.g., [Hardware][AMD]).
[Misc] for PRs that do not fit the above categories. Please use this sparingly.

Note: If the PR spans more than one category, please include all relevant prefixes.
Code Quality
The PR need to meet the following code quality standards:

We adhere to Google Python style guide and Google C++ style guide.
Pass all linter checks. Please use format.sh to format your code.
The code need to be well-documented to ensure future contributors can easily understand the code.
Include sufficient tests to ensure the project to stay correct and robust. This includes both unit tests and integration tests.
Please add documentation to docs/source/ if the PR modifies the user-facing behaviors of vLLM. It helps vLLM user understand and utilize the new features or changes.

Notes for Large Changes
Please keep the changes as concise as possible. For major architectural changes (>500 LOC excluding kernel/data/config/test), we would expect a GitHub issue (RFC) discussing the technical design and justification. Otherwise, we will tag it with rfc-required and might not go through the PR.
What to Expect for the Reviews
The goal of the vLLM team is to be a transparent reviewing machine. We would like to make the review process transparent and efficient and make sure no contributor feel confused or frustrated. However, the vLLM team is small, so we need to prioritize some PRs over others. Here is what you can expect from the review process:

 After the PR is submitted, the PR will be assigned to a reviewer. Every reviewer will pick up the PRs based on their expertise and availability.
 After the PR is assigned, the reviewer will provide status update every 2-3 days. If the PR is not reviewed within 7 days, please feel free to ping the reviewer or the vLLM team.
 After the review, the reviewer will put an  action-required label on the PR if there are changes required. The contributor should address the comments and ping the reviewer to re-review the PR.
 Please respond to all comments within a reasonable time frame. If a comment isn't clear or you disagree with a suggestion, feel free to ask for clarification or discuss the suggestion.

Thank You
 Finally, thank you for taking the time to read these guidelines and for your interest in contributing to vLLM. Your contributions make vLLM a great tool for everyone!

Overall this looks good to me as an initial step. What do you think @ywang96 ?
As we add more models, we will eventually have to address how to let the user customize #7923 (files)

Will review this PR tonight!

Hey @petersalas! To speed things up, I guess we can actually keep your code for the parsing logic as is for now since it's functionally working, and I will make a PR later on to refactor that logic.
Could you address my other comments so we can get this in? Thanks!

Sorry for the delay, have been traveling. I might be able to push a version with the changes this afternoon, but I won't be offended if you want to pull/change my commits in a different PR 😀


WP-001: Initial solution from Visual Studio

👨🏽💻 Description
Describe what are your changes and why they are needed.
✅ Testing
How did you test your changes?

[ ] ♻ Adding/updating unit test for impacted functionality
[ ] 📕 Adding/updating stories in Storybook for impacted components

🖼 Evidence
Please include some evidence of how the changes work.

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


[FLINK-8789] Throw IllegalStateException when calling Task#stopExecution on not running Task

What is the purpose of the change
Before we threw an UnsupportedOperationException when calling Task#stopExecution on a Task
where we did not set the invokable yet. This can be a bit misleading and, thus, this commit
throws an IllegalStateException with an respective message.
Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

Thanks for the review @zentol. Merging this PR.


Bug Report - Documentation error ?  enable_monitoring_for_arc disappeared from configure_management_resources

Community Note

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Versions

terraform:
NA doc error
azure provider:
NA doc error
module:
Description
As I was upgrading to release 3.1.2, I reviewed my configuration settings to update the latest configuration variables.
When reviewing configuration_management_resources, I was surprised to see that enable_monitoring_for_arc has disappeared. I did a search on the repo/docs but I could not find any mention of deprecation for this variables.
Also noted additional variable missing : enable_solution_for_azure_activity
Is this a documentation error or did I miss the deprecation announcement ?
Describe the bug
Documentation error - configure_management_resources - variables missing ?
locals.configuration_management_resources.settings.log_analytics.config.enable_monitoring_for_arc
locals.configuration_management_resources.settings.log_analytics.config.enable_solution_for_azure_activity

NA

NA
Screenshots

Additional context

Hi @cbezenco... this was removed in release v3.0.0 as noted in the upgrade guide.
This policy is now covered within the Deploy-VM-Monitoring assignment which uses a built-in policy.

Sorry, I did search the repo for "enable_monitoring_for_arc". I assume it is similar for "enable_solution_for_azure_activity" ?
I was under the impression that the object validation would raise an error during terraform plan/apply ...
I have been running 3.0.0 for a few weeks now but I did not raise any issue although I had this deprecated variable defined in my config files. Do I need to run a specific terraform command to check my config files are up to date ?

The best place to look is in the release notes (and upgrade guides for major releases) as we detail the changes in these.
With the introduction of optional() types, we no longer need customers to make code changes when we add new attributes to an input as long as you are happy with the defaults.
Similarly, Terraform has always discarded unused properties without error which is why your configuration was OK following the upgrade.
Because of this, we are trying to make a habit of calling out input changes within the release notes in a dedicated section.
I'm not aware of a Terraform command to check for this (I don't think terraform validate checks to this depth).
Hope this helps?


Initial Request Performance Regression on Amazon Linux 2023

Describe the bug
When using the AWS SDK for .NET on Lambda with a runtime of "provided.al2023" the first request to an AWS service is significantly slower than it is under "provided.al2".
I've checked this with the Step Functions and S3 SDKs in particular.
Expected Behavior
Let's look under Amazon Linux 2. Here's an example initial request metric from the S3 SDK:
Request metrics: AsyncCall = True; CanonicalRequest = [REDACTED]; StringToSign = AWS4-HMAC-SHA256\n20231116T162723Z\n20231116/eu-west-1/s3/aws4_request\n0eadbea89d6ac50207072872ff834e0c56ecb2d325b4b8e74b20322a13e955a1; ServiceName = AmazonS3; ServiceEndpoint = https://fen-object-share.s3.eu-west-1.amazonaws.com/; MethodName = ListObjectsV2Request; AmzId2 = j9+NJQJ+0MGzhi2RWbHJowscyJVqh8kd7rJ8xidbA2CZWfQdnzEyhI880oYmqMF0MudxZdEi/Yc=; StatusCode = OK; BytesProcessed = 0; AWSRequestID = QN3QHSD7PNK16JE2; CredentialsRequestTime = 00:00:00.0000659; RequestSigningTime = 00:00:00.0141405; HttpRequestTime = 00:00:00.1191039; ResponseUnmarshallTime = 00:00:00.0022337; ResponseProcessingTime = 00:00:00.0024265; ClientExecuteTime = 00:00:00.1375685;

…and from a subsequent request:
Request metrics: AsyncCall = True; CanonicalRequest = [REDACTED]; StringToSign = AWS4-HMAC-SHA256\n20231116T162729Z\n20231116/eu-west-1/s3/aws4_request\nf8f6569b2501b42700322a3f2cc6e9d30d4676388cd0911f13ff2534568aa87a; ServiceName = AmazonS3; ServiceEndpoint = https://fen-object-share.s3.eu-west-1.amazonaws.com/; MethodName = ListObjectsV2Request; AmzId2 = c6DRj8nFKTIYU91M/iPPrOK2RB3ZoXpm/u1/2ZvBLnhU5g1MK0xrrUYvsmx1kj0rh9RiuBku0uA=; StatusCode = OK; BytesProcessed = 0; AWSRequestID = K2VKBKNNP5G1244J; CredentialsRequestTime = 00:00:00.0000823; RequestSigningTime = 00:00:00.0001613; HttpRequestTime = 00:00:00.0562662; ResponseUnmarshallTime = 00:00:00.0012703; ResponseProcessingTime = 00:00:00.0014287; ClientExecuteTime = 00:00:00.0581422;

Let's clean that up:

Initial
Subsequent

CredentialsRequestTime
00:00:00.0000659
00:00:00.0000823

RequestSigningTime
00:00:00.0141405
00:00:00.0001613

HttpRequestTime
00:00:00.1191039
00:00:00.0562662

ResponseUnmarshallTime
00:00:00.0022337
00:00:00.0012703

ResponseProcessingTime
00:00:00.0024265
00:00:00.0014287

ClientExecuteTime
00:00:00.1375685
00:00:00.0581422

In short, the total time for an initial request is a little under 140ms with subsequent requests under 60ms. Around 120 of those 140 milliseconds were spent in HttpRequestTime. A totally reasonable place to spend milliseconds.
Current Behavior
Doing the same for Amazon Linux 2023, first:
Request metrics: AsyncCall = True; CanonicalRequest = [REDACTED]; StringToSign = AWS4-HMAC-SHA256\n20231116T163811Z\n20231116/eu-west-1/s3/aws4_request\n80c4f0ccf97f8a6a98732829089b00568838935cb9a820541ad204d27df447a9; ServiceName = AmazonS3; ServiceEndpoint = https://fen-object-share.s3.eu-west-1.amazonaws.com/; MethodName = ListObjectsV2Request; AmzId2 = V5p/kJVqud9IIy9+KZLbK/AqdjfvxSp6f4mREQiEooUHtcpqTxkNfCyG+VI2y1bH3gK22JUCcmk=; StatusCode = OK; BytesProcessed = 0; AWSRequestID = 20552BMSN97GSH3T; CredentialsRequestTime = 00:00:00.0000497; RequestSigningTime = 00:00:00.0152391; HttpRequestTime = 00:00:00.3099302; ResponseUnmarshallTime = 00:00:00.0054981; ResponseProcessingTime = 00:00:00.0056516; ClientExecuteTime = 00:00:00.3326032;

…and subsequent:
Request metrics: AsyncCall = True; CanonicalRequest = [REDACTED]; StringToSign = AWS4-HMAC-SHA256\n20231116T163819Z\n20231116/eu-west-1/s3/aws4_request\nf3ceeb3c74e79254fc97210de4475dae052f7cf7a2564f4456f7000aefc60786; ServiceName = AmazonS3; ServiceEndpoint = https://fen-object-share.s3.eu-west-1.amazonaws.com/; MethodName = ListObjectsV2Request; AmzId2 = VnPpOSZCVArdTrl5tOhRHZAEDl3IYCbSUpB8ddHuDklLENmeCUvrj/sAYh6F7qVrv5fT4eJmUlM=; StatusCode = OK; BytesProcessed = 0; AWSRequestID = CT6NQGKCR4DCFGR8; CredentialsRequestTime = 00:00:00.0000801; RequestSigningTime = 00:00:00.0002212; HttpRequestTime = 00:00:00.0450372; ResponseUnmarshallTime = 00:00:00.0016921; ResponseProcessingTime = 00:00:00.0018422; ClientExecuteTime = 00:00:00.0474034;

Cleaning that up as before, we get:

Initial
Subsequent

CredentialsRequestTime
00:00:00.0000497
00:00:00.0000801

RequestSigningTime
00:00:00.0152391
00:00:00.0002212

HttpRequestTime
00:00:00.3099302
00:00:00.0450372

ResponseUnmarshallTime
00:00:00.0054981
00:00:00.0016921

ResponseProcessingTime
00:00:00.0056516
00:00:00.0018422

ClientExecuteTime
00:00:00.3326032
00:00:00.0474034

The overall ClientExecuteTime for the initial request has more than doubled. Around 310 of the total 330 milliseconds were spent in HttpRequestTime. This and the above are only a single sample – I've sampled this many times and I first saw it manifest in a running application:

These are stats for duration in milliseconds of first request binned by 1 day. Before and after the bump are "provided.al2". The bump is "provided.al2023".
Reproduction Steps
Repro is committed here. Publishing with CI set to true will perform AOT compilation. Please do let me know if there's more I can do.
Possible Solution
No response
Additional Information/Context
No response
AWS .NET SDK and/or Package version used
AWSSDK.S3: 3.7.300.3
AWSSDK.StepFunctions: 3.7.301.1
Targeted .NET Platform
.NET 8
Operating System and version
Amazon Linux 2, Amazon Linux 2023

Thanks for all of this data @chrisoverzero. I'll do some investigation to see what I can find.


Rename Pair to Record

Closes #1108

Looking at the diff now it becomes clear that the generic argument V is only needed once the higher level storage methods come in. So what we could do is make Record binary only (for cosmwasm_std and cosmwasm_vm) and use a different type (like BucketRecord) that has a configurable Value type. Not sure if this is worth it though.


KAU UE Policy Engine

Discussion (Requires Access): https://gitlab.fokus.fraunhofer.de/5genesis/slice-manager/issues/2

[x] Create the API for registering new policy management system
[x] Create the Utility
[x] Create the Data Model
[x] Create the cli command
[ ] Send the NEAT to the policy management system
[ ] Documentation

[x] Swagger
[ ] Wiki

The ELCM will inform the slice manager about the IP address of the UE and the need to push slice information to the NEAT policy component. @themisAnagno  will define the API for this.
The slice manager will then push the slice information to the policy middleware component.
To provide the correct information to the ELCM the experiment descriptor will need to be modified to include information about the use of policy and possibly aslo to supply the policy file. We will agree on the revised experiment descriptor at the Madrid GA. The IP of the UE may be provided to the ELCM through a configuration file.

Summarizing the outcome of today's discussion at Madrid GA

UE should register with the slice manager, slice manager will then push the slice configuration to the UE
UE will receive the location of the slice manager from the ELCM
experiment descriptor will need to be extended to indicate an experiment with policy and to pass a policy file.


Test case refactoring and automation

Change from unittest to pytest
Remove rendering from unit test
Set up Github actions for automated testing

This closes #13


AutomatedTestWidgetsFlutterBinding.pump should match engine frame precision

Companion issue fixed by #112609. Please see PR for description :)
Copied from PR
The fix is just one line:

I have git blame and find the bug exist since the first version 7yr ago, and no special comments about why this is introduced so I guess it is but not feature.
IMHO the bug may be written like, the programmer wants to convert DateTime (the clock.now()) into a Duration. But then it is forgotten that both are microseconds precision instead of milliseconds precision, and the milliseconds approach is used.

@fzyzcjy
Could you help me understand why this is considered a bug? Is there something you're using the AutomatedTestWidgetsFlutterBinding for that requires the microsecond precision? What issues would be resolved by changing the resolution of that duration?

@pdblasi-google

Is there something you're using the AutomatedTestWidgetsFlutterBinding for that requires the microsecond precision?

Yes, https://github.com/fzyzcjy/flutter_smooth

What issues would be resolved by changing the resolution of that duration?

The testing of https://github.com/fzyzcjy/flutter_smooth ;)

@pdblasi-google Btw that package is WIP, but has discussed a lot in flutter Discord "hackers-framework" already. see the links in the README of the repo

And, anyway, milliseconds mean it lose accuracy while microsecond is the correct data

For more details if you are interested:
The flutter_smooth package treat the timeStamp as vsync data, which is exactly a multiple of 16.67ms (plus a few microsecond shift) from C++ engine, and it works well for real devices. But in testing env, it originally receive only 16.00 ms (and its multiples), so then it errors.
Anyway, milliseconds mean it lose accuracy while microsecond is the correct data. IMHO we should provide the correct data to the users.
The flag is there to maintain compatibility for old code relying on the inprecise timestamp data.

I've seen the discord discussions, so I thought this might be related. Thanks for confirming.
My concern is that there isn't any documentation whether the millisecond limited precision is expected behavior or not. It could be a mistake that was made, or it could be that the millisecond precision is there on purpose.

Well shoot, beat me to the details. My followup was going to be checking what precision the engine was at and making sure we're lined up with that here. Do you have a link to where you found the 16.67ms figure, or was that just from your local testing?

@pdblasi-google Thanks :)

Do you have a link to where you found the 16.67ms figure, or was that just from your local testing?

From my local testing, if you need I can provide some sample data (spoiler: very dumb, just time, time+16.667ms, time+2x16.667ms etc, no special things).
That is also confirmed from source code. Let me write down why:

VsyncWaiter::FireCallback has "frame_target_time" (the vsync data, 16.667ms interval), save to FrameTimingsRecorder::RecordVsync
the FireCallback indeed fires Animator::BeginFrame. The Animator::BeginFrame calls FrameTimingsRecorder::GetVsyncTargetTime, to read that frame_target_time we just store.
Then call the delegate_.OnAnimatorBeginFrame with frame_target_time.
that OnAnimatorBeginFrame calls Shell::OnAnimatorBeginFrame, indeed calls Engine::BeginFrame, indeed RuntimeController::BeginFrame, indeed PlatformConfiguration::BeginFrame, indeed tonic::DartInvoke(begin_frame_.Get())
Thus the Dart's _beginFrame hook is called. Then indeed call the begin frame we are all familiar with.

Perfect. Between that and my own findings, I'm pretty confident you're correct that we should be supporting all of the precision we can with this binding. Here're my findings as well for anyone who stumbles across this issue:

The VsyncWaiter class is abstract and intended to be implemented by the various platforms
There is a fallback implemented (VsyncWaiterFallback) that is available in case there is no platform implementation available

It can be assumed that the fallback would fulfill at least the minimal precision expectation

This fallback defines and uses kSingleFrameInterval as 1/60th of a second here
The [TimePoint] class used to define frame_target_time and kSingleFrameInterval has nanosecond precision
Therefore we should support microsecond precision in the test binding to get as close to the expected precision as possible

I'm going to edit the title of your issue here for discoverability, but other than that I think we're good to go on the issue side. I'll follow up on the actual PR shortly.
Thanks for finding this and helping confirm and document the issue!

Sure and you are welcome! :)

Reopening this as we need to reland this with some better docs and a plan for fixing internal test failures from this change.

@fzyzcjy
Apologies for the delay on this one, I've been pulled away on P1 flakes and other projects. I've got the needed docs ready for review and should have a PR with the planned implementation ready to go today or tomorrow.

@pdblasi-google Take your time, thanks for the updates, and looking forward to the progress!

👀

I'm going to see if I can push this through the G3 issues we saw last time without having to go through the heavier breaking change and deprecation process I originally planned. Now that I've got a better idea of how the system works, I think that's the better option.


Instructions for agent install via Intune?

This documentation talks about Azure DSC and manual install. Can you add the instructions for deploying this app via Intune? Is this possible/recommended/not-recommended? Why? We have been deploying all of our apps with Intune, so would rather continue that practice with this agent if possible.

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

ID: 00a00a3e-a0df-7ee5-4733-7231bd7a024f
Version Independent ID: 94361683-e1e7-7e55-6993-86d3c2486a14
Content: Install Log Analytics agent on Windows computers - Azure Monitor
Content Source: articles/azure-monitor/agents/agent-windows.md
Service: azure-monitor
Sub-service: agents
GitHub Login: @bwren
Microsoft Alias: bwren

@mikesierra2 Thanks for sharing the feedback and bringing this up.
Assigning @bwren for visibility, review and document enhancement consideration if applicable.

Thanks for the comment. I believe Intune focuses more on mobile clients and desktops. Azure Monitor is focused more on servers that Intune typically isn't managing, so I don't know that this would be a common scenario. I'll ask around, but I don't think it's a common enough scenario for us to document.

#please-close


fix: image lib home env

1. Does this PR affect any open issues?(Y/N) and add issue references (e.g. "fix #123", "re #123".):

[ ] N
[x] Y

fix #151

Pull Request Test Coverage Report for Build<PHONE_NUMBER>3
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 14.63%

Totals

Change from base Build<PHONE_NUMBER>5:
0.0%

Covered Lines:
91

Relevant Lines:
622

💛  - Coveralls


⚠ Bofrost.es has degraded performance

In 5abed58, Bofrost.es (https://www.bofrost.es) experienced degraded performance:

HTTP code: 200
Response time: 1717 ms

Resolved: Bofrost.es performance has improved in 38cc271 after 2 hours, 3 minutes.


[Feat] jsdoc, demo and tests for useStep hook

#59 #58 #57
Fix a bug, where if user want set custom initial step (ex. max step is 2, initial is 0):
const step = useStep({ initial: 0, max: 2 });
console.log(step.isFirst); // false
step.next(); // currentStep is 1
console.log(step.isFirst); // true

Need add @params jsdoc for object variant and run test (I didn't know how)


Dependency for numpy 1.17

Hi, @xaleryb, is this only for testing purposes? What is the rationale for this? I think we should not restrict numpy version for SDC at all, since by itself it doesn't need specific numpy.

hi @kozlov-alexey  this is not for testing only we plan to merge and include to 2021.3 release. This is not a restriction because we do not set run dependency for numpy 1.17 (this is inly for building) and we expect sdc build (based on numpy 1.17) working with latest numpy which will be a part of 2021.3. This is for compatibility on AIKIt level

this is not for testing only we plan to merge and include to 2021.3 release.
Then this has to merged to development branch first, as per our agreements.

But:

... we expect sdc build (based on numpy 1.17) working with latest numpy which will be a part of 2021.3. This is for compatibility on AIKIt level
this has impact not only on AIKit but anyone who will build SDC with conda. There should probably be other way to restrict numpy version that is used when building SDC for AIKit, shouldn't it?

No description provided.

Please add description with motivation for this change and add the reference to related Github/Jira issues.

No description provided.

Please add description with motivation for this change and add the reference to related Github/Jira issues.

@tomashek could you please share this information if any.
We need to merge this change ASAP because a lot of work we need to perform right after this to check our release is good to go.

No description provided.

Please add description with motivation for this change and add the reference to related Github/Jira issues.

@kozlov-alexey , I do not think there is an Issue in this github to reference.


[lua] Compile as position-independent code

What does your PR fix?
Lua fails to static link on POSIX systems because it wasn't compiled with -fPIC.
Which triplets are supported/not supported? Have you updated the CI baseline?
No change but would affect triplets targeting osx and linux.
Does your PR follow the maintainer guide?
Yes

Feature has passed on the following triplets:

x86-windows
x64-windows
x64-windows-static
x64-linux

LGTM! Thanks @kevinlul :)


Enable specifying query params via command line and JCurl.Builder

Add a new JCurl.Builder method, query(name: String, value: String) and a new command line param to allow specifying query parameters.

Implemented in fa67e64342065605a08b2a6c50614aa87966bff9


XIVY-9009 Fix disable global breakpoints view

Rename edit source quick action to prevent two Edit quick actions

Other Idea: Instead of Edit we use Open Source? And shortcut O? Because In the end it is also possible in the IAR mode to look at the source, but not edit it! What do you think?

Yea doesn't sound bad to me :+1:

Or open reference? because open source is maybe a little bit missleading :D


Client Allocation Request for: kim

Client Allocation Questions
Core Information

Name: kim
Website / Social Media: https://www.instagram.com/kyooungbin/
Region: Greater China
DataCap Requested: 5GiB
Addresses to be Notarized: f1qlc4n3fjtwn7ckk7w2gden7zg5gfl6wg3aj7jfq
Notary Requested: dannyob

@kyoungbinkim Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

See #1561


Change project linter to pylint to enforce the Google Style Guide for python.

https://pylint.pycqa.org/en/latest/
https://google.github.io/styleguide/pyguide.html#21-lint

Thanks for the activity around this issue @RoshiniFernando!
I have an update in the requirements that I've just learned about last week. Check out pyink -- https://github.com/google/pyink
I think this should be the preferred linting style for the project.

That will be awesome.


The 'aut' oidc claim value is misleading

Describe the issue:
When obtaining the JWT token for client credential grant type it returns 'APPLICATION' for the OIDC claim 'aut' to denote application tokens. For the other grant types, it returns 'APPLICATION_USER' to denote user tokens. The value 'APPLICATION_USER' is a bit misleading. Suggesting to change the value 'APPLICATION_USER' > 'USER'

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


"+" in query params do not get URL encoded

When using a "+" in one of the query params, e.g.
GET {{host}}records
    ?nrOfResults=100
    &startIndex=0
    &q=+(OrganisationId:226) +(type:image)

the + is not url encoded:
`GET HOST/records?nrOfResults=100&startIndex=0&q=+(OrganisationId:226)%20+(type:image)`
*accept*: application/json
*accept-encoding*: gzip, deflate, br
*user-agent*: httpyac

meaning the query wilt get different results in this case. I could url encode manually, but I wonder if this is intentional, since the space character is encoded to '%20'?

More or less on purpose. Since I don't know whether the string is already encoded, I can't do any active encoding, otherwise I would produce incorrect output.

I see, so could identifying encoded parts and changing them back afterwards be something that could be implemented? (That's how I see it's being done in Insomnia for example). If you could point me to the location of the query parser in the code, I could try to make a PR 🙂

So apparently the + symbol is valid in the query string and depending on the client / server in play -- it may actually be an archaic encoding for the space character.

https://stackoverflow.com/questions/1634271/url-encoding-the-space-character-or-20

Let's say we needed to write a server that supported this older style encoding and you wanted to test that your server was interpreting the + symbol correctly as a space character using httpyac. If httpyac makes the decision to urlencode all + symbols as %2B for you, then you really couldn't test your server's backward compatibility. So, I personally like that httpyac is sticking to the spec here and not making a decision for you.


Fix Usage

I would also suggest replacing
my_container[:data_store][:users]
with
my_container[:data_store].users
Otherwise brackets are used both for fetching from container and inside the (invisible) domain, which is confusing.

Thanks for this! However, I think it's probably best we made this README consistent with other dry-rb projects and have it simply link to the documentation on dry-rb.org (which is much better).
Would you be happy to do that?
Thanks!

On 29 Nov. 2016, at 2:59 am, Schnittchen<EMAIL_ADDRESS>wrote:
I would also suggest replacing
my_container[:data_store][:users]
with
my_container[:data_store].users
Otherwise brackets are used both for fetching from container and inside the (invisible) domain, which is confusing.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

amended

Thanks!


nats events can grow unlimited

Describe the bug
The "main-queue" event stream can grow unlimited. Unless the messages are manually deleted, this could fill the FS at some point.
root@c61752751a7c:/# nats stream info main-queue
Information for Stream main-queue created 2024-10-16 08:57:37

              Subjects: main-queue
              Replicas: 1
               Storage: File

Options:

             Retention: Limits
       Acknowledgments: true
        Discard Policy: Old
      Duplicate Window: 2m0s
     Allows Msg Delete: true
          Allows Purge: true
        Allows Rollups: false

Limits:

      Maximum Messages: unlimited
   Maximum Per Subject: unlimited
         Maximum Bytes: unlimited
           Maximum Age: unlimited
  Maximum Message Size: unlimited
     Maximum Consumers: unlimited

Cluster Information:

                  Name: ocis-cluster
                Leader: NAYBADR4VT4NWUPFPKBRUUPDWIR3P722TNE75VRLIMWHIL35JLNFAJFZ

State:

              Messages: 148
                 Bytes: 156 KiB
        First Sequence: 1 @ 2024-10-16 09:00:34
         Last Sequence: 148 @ 2024-10-16 12:43:59
      Active Consumers: 11
    Number of Subjects: 1

It's very likely that new nats clients trying to read the events will start from the last event (unless configured otherwise). However, it doesn't mean that the previous queued messages won't be kept.
Steps to reproduce
Interacting with OCIS usually generates new events. Uploading files through the web seems to be the easiest way.
1.
2.
3.
Expected behavior
Nats (or any other event broker) should have retention policies in place. Old message are expected to be either processed already (which means they could be manually removed), or they could have become irrelevant.
While having the limit on the number of messages might be tricky, messages older than 2 weeks (for example) should be irrelevant and could be deleted. Although the FS usage might still be unknown (depending on number of users and overall OCIS usage), it should remain stable.
Actual behavior
If we assume that 1 user generates events up to 1MB of FS usage per day, the expected behaviour would be that, for a 1000 user installation, the FS usage would remain stable in around 15GB with the 15 days retention policy regardless of how much time OCIS has been running. Without such policy, we might reach 360GB in one year and over 1TB in 3 years.
Note that this is just for the events without taking account actual OCIS storage usage for the files that users are uploading.
Setup
Please describe how you started the server and provide a list of relevant environment variables or configuration files.

OCIS_XXX=somevalue
OCIS_YYY=somevalue
PROXY_XXX=somevalue

Additional context
Add any other context about the problem here.

On the oCIS chart deployment example with an external NATS installation, we already configure maxAge settings: https://github.com/owncloud/ocis-charts/blob/bd392776a18fa45467f1bee8a3237adbeb63ba93/deployments/ocis-nats/streams/ocis.yaml#L12-L36


Failed to get mock metadata

React-simple-keyboard version
Yes running the latest version
Describe the bug
I'm trying to test a component that has react-simple-keyboard imported into it. When I run my test I get the following error.
Failed to get mock metadata: C:\Users\myname\Documents\project\node_modules\react-simple-keyboard\build\index.js
I'm using jest and enzyme. If I remove react-simple-keyboard from my test the component tests run correctly.
I've tried multiple workarounds to this and running into a dead end. Hoping someone might have some insight into this.

Hey @chapster11, do you mind providing a minimal repo to test/debug this? I'll close for now but reopen once I have it. Thanks!

I wish I could be the project is so large. I'm trying to strip it down myself so yes I would close this if you don;t know of anything off hand. Do you have any test examples of the keyboard using Typescript ?
Thanks for getting back so fast.

Hey @chapster11, sadly I haven't encountered this before. I would need to debug it, but from past experience I found it more efficient to debug on user-provided repros (because then you are really sure you're repro'ing in the same env).
Here are some React TS demos:
Demo with Hooks:
https://hodgef.com/simple-keyboard/editor/?d=simple-keyboard/react-simple-keyboard-typescript-hooks/tree/master
(Github repo: https://github.com/simple-keyboard/react-simple-keyboard-typescript-hooks/tree/master/)
Demo with Class component
https://hodgef.com/simple-keyboard/editor/?d=hodgef/react-simple-keyboard-typescript-demos/tree/master
(Github repo: https://github.com/simple-keyboard/react-simple-keyboard-typescript-demos/tree/master)
Source: https://hodgef.com/simple-keyboard/getting-started/react/

Thanks for the links. I have most of those from the site already. I did find this which was super helpful.
https://github.com/hodgef/react-simple-keyboard/blob/master/src/lib/components/tests/Keyboard.test.js
One thing I noticed about the keyboard component which I love by they way. Is you can't pass it any regular props like id or data attributes. Or am I missing something ?
For example: <Keyboard } id="keyboard",  data-testid="keyboard" } />
data-testid is what React-teat-library uses.

Hmm no you're right, currently there's only a way to add attributes to the buttons.
For this react wrapper the "props" are actually options passed directly to the core library. So they don't make it to the element itself.
I think having a react-only wrapperProps option or something like that would be useful. Let me know if that's something you'd want to see and I'll work on it. Thanks!

I think it would be a nice to have as far as React-test-library goes when unit testing but there are ways around it. I also think it would be nice to just give it an id if someone wanted. Again nice to have but the component works amazingly without it.
I was having an issue with mocking out the component to return a ref and I think after seeing your link above and they way ref is passed on might be my problem. Sorry to diverge but it might be a  related in someway.
jest.mock("react-simple-keyboard", () => ({
  default: () =>
mock
,
  setInput: () => "test",
  __esModule: true,
}));

I'm not sure how I would get the ref to return from the mock above.

Okay in that case it'll add to the Enhancements list :)
Could you provide a bit more context on what you're trying to accomplish overall with the ref? I'm not familiar with jest.mock but the deal with keyboardRef is that you pass a callback to it that fires on instantiation with the ref as param.
As you've prob seen here: https://github.com/hodgef/react-simple-keyboard/blob/master/src/lib/components/tests/Keyboard.test.js#L21

jest.mock is a way of isolating a component inside your mocked component by mocking it instead of letting it run.
Thanks for the link and fare enough if you haven't worked with that type of mock before.
Like the idea of the Enhancements list.


feat: added a feature to detect outdated client for cli (#210)

Closes #210
📑 Description
Added an internal cliutil - checkforupdate.go which checks for updates and notifies the user
checkForUpdate() - checks for updates from the glasskube website
versionIsGreater() - checks if latest version is greater than current version
UpdateFetch() - if update available, it  calls the printUpdateMessage()
printUpdateMessage() - prints the update message in the CLI
Whenever the glasskube is run in the CLI it always checks for the update before executing other subcommands such as list or serve.

✅ Checks

[ ] My code requires changes to the documentation
[ ] I have updated the documentation as required

ℹ Additional Information

Hello @kosmoz I will definitely make the changes. Thank you

Hi @kosmoz I have made the requested changes, I hope its good now.

@Baalekshan don't worry about the failing GitHub action, this will not have an effect on your pr and will not be visible after we rebased this pr.

@pmig thank you, but whenever i try to sync my forked branch with the glasskube/main it makes a commit automatically to the pr is there a way to do this silently ?


Fix/14481 Remove alert prefix "Fehlercode"

Description
The change removes all occurrences of "Fehlercode" as a prefix to the error code. App-wide, to be consistent.
Before
Some error alert message (Fehlercode: SOME_ERROR_CODE)
After
Some error alert message (SOME_ERROR_CODE)
Link to Jira
https://jira-ibs.wbs.net.sap/browse/EXPOSUREAPP-14481
Screenshots

FYI: This change is a potential cause for confusion of the user: https://github.com/corona-warn-app/cwa-app-ios/issues/5024


Additional cloud testing

Now that basic single-node cloud cluster deployment works, we need to do some additional testing.  This is necessary because clouds (Azure specifically) has some non-obvious constraints around availability sets, proximity placement groups, and VM sizes:

[ ] AWS

[ ] Multiple masters and workers (same instance types)
[ ] Multiple masters (different instance types)
[ ] Multiple workers (different instance types)
[ ] 100 node (max) cluster

[ ] Azure

[ ] Multiple masters and workers (same VM sizes)
[ ] Multiple masters (different VM sizes)
[ ] Multiple workers (different VM sizes)
[ ] 100 node (max) cluster
[x] BYO:

[x] ingress: create public IP
[x] ingress: existing IP
[x] egress: create public IP
[x] egress: existing public prefix
[x] egress: create prefix (length specified)

I'm going to close this.  We have code to do these checks, which we haven't tested, but that's probably not worth the effort right now because it's doubtful that actually users will run into this, and worst case cluster deployment will fail with a reasonable error message anyway.


Update this GitHub repo’s description

Currently, it is

Bootstrapping function for Redux applications.

It should be changed to match the first sentence of the README, which was recently updated:

A bootstrap() function for initializing Redux applications.

This new sentence explains that this library helps with initializing, and clarifies that “function” refers to a JS function as opposed to some functionality.
To update the description, a user with commit rights can visit the project root and click the “Edit” link next to the description at the top.

I think only @remojansen can action this one.

I just updated I like the new description thanks for suggesting it 👍


THANKS

i jsut don know how tothank you for this, thank you very much its helping mea lot!!

@AleFachini  That's awesome.

@Amejia481 I am Using Your Curriculum to Prepare for the Certificate exam and reading up the latest topics added, thanks a lot, i showed this to my friends and they stared it.

Thanks @Pheonix73 , I'm glad that his repo has helped you :grinning:

Anybody cleared this certification after changes made from September 2018? I am curious to know that. Please do reply.


Object key from another Object value type error

TypeScript Version:  3.7.2
Search Terms:
object keys, keys from other objects
Code
type CarKeys = "mercedes" | "mercedes_sedan" | "mercedes_hatch";

interface Car { color: string; }

const KEY_MAP: Record<CarKeys, CarKeys> = {
    mercedes: 'mercedes',
    mercedes_sedan: 'mercedes_sedan',
    mercedes_hatch: 'mercedes_hatch'
}

const carType: Record<CarKeys, Car> = {
    [KEY_MAP.mercedes]:{ color: 'red'},
    [KEY_MAP.mercedes_sedan]: {color: 'yellow'},
    [KEY_MAP.mercedes_hatch]: {color: 'black'}
} // error here

Expected behavior:
As value of elements in KEY_MAP equals key of carType the type declaration and value should match without any error.
Actual behavior:
Code shows error:
Type '{ [x: string]: { color: string; }; }' is missing the following properties from type 'Record<CarKeys, Car>': mercedes, mercedes_sedan, mercedes_hatch

The problem is your type annotation Record<CarKeys, CarKeys>. The compiler knows that every property is a CarKeys, but it doesn't know which property is which CarKeys. As a result the type of KEY_MAP.mercedes is CarKeys, and not "mercedes". Following that the compiler can't verify that you provided all three different properties in your carType instance.
You can fix this by being more specific in your type annotation, for example:
const KEY_MAP: { [P in CarKeys]: P } = { ... }

https://github.com/microsoft/TypeScript/issues/7481


Remove timeout from SD options validation

When timeout is not positive, a default timeout will be applied, so
unnecessary to validate it here.
@xichen2020 @prateek

I'm not sure I follow - the following test code causes the old Validate() to fail, but the new one to succeed. Is that the intent?
negativeMinute := -1 * time.Minute
err := NewOptions().SetInitTimeout(negativeMinute).Validate()
require.NoError(t, err)

yes that's the intent, in the code where the value of opts.InitTimeout() is used, it will use to valid value when -1 * time.Minute is returned, I could change the InitTimeout() to return the default value when non positive value is set as an alternative.

Coverage decreased (-0.008%) to 89.358% when pulling a428ee3d759fb43ca91cc88651a66640507c78af on chao-options-validation into 6d7addb1bcc8d015e4d7bb7d8c28c435709383b0 on master.

If -1*time.Minute should not be used, I'd expect Validate() to complain about it. Otherwise what's the point of calling Validate()?

The reason I'm removing it is to save the user from providing a value in the config yaml for this field if he or she does not really want to override it. If we want to enforce the users to provide a valid value I'm fine with dropping this diff.
With the validation the empty config will fail since it tries to set it to 0, the Validate() checks the store to be nil so we won't panic on using the stores, but the -1 minute can be and has already been handled by the code by using a valid value instead.

It might be better to check the timeout value in the config and don't set it if the value is not positive when parsing the configs, as opposed to removing the validation check.

It also feels kinda weird cause it's like pushing the logic in sd implementation up here. But I don't feel that strongly either way

Coverage decreased (-0.1%) to 89.246% when pulling 99641c7df34bd6cad2075fd8e454ae7dd96f1ed0 on chao-options-validation into 6d7addb1bcc8d015e4d7bb7d8c28c435709383b0 on master.

How about nil checking during config parsing?
i.e. change config.NewOptions to
func (cfg Configuration) NewOptions() Options {
     opts := NewOptions().
		SetZone(cfg.Zone).
		SetEnv(cfg.Env).
		SetService(cfg.Service).
		SetCacheDir(cfg.CacheDir).
		SetClusters(cfg.etcdClusters())
    if timeout := cfg.M3SD.InitTimeout; timeout != nil {
       opts = opts.SetServiceInitTimeout(timeout)
    }
    return opts
}

Would that allow CreateServices to remain un-changed?

Coverage decreased (-0.08%) to 89.285% when pulling 2c21878e4e68a82bfbe9cc8b7d56d113c2745543 on chao-options-validation into 6d7addb1bcc8d015e4d7bb7d8c28c435709383b0 on master.

Coverage decreased (-0.08%) to 89.285% when pulling 2c21878e4e68a82bfbe9cc8b7d56d113c2745543 on chao-options-validation into 6d7addb1bcc8d015e4d7bb7d8c28c435709383b0 on master.

Coverage decreased (-0.08%) to 89.285% when pulling 2c21878e4e68a82bfbe9cc8b7d56d113c2745543 on chao-options-validation into 6d7addb1bcc8d015e4d7bb7d8c28c435709383b0 on master.

How about nil checking during config parsing?

Yeah that sounds good, refactored the config stuff a bit

Coverage increased (+0.01%) to 89.38% when pulling a59989b8ee0051695f2179d770dc37cb66479e93 on chao-options-validation into 6d7addb1bcc8d015e4d7bb7d8c28c435709383b0 on master.

Coverage decreased (-0.1%) to 89.254% when pulling f59018239e5d7d01910398ea97c20cc684f2e69c on chao-options-validation into 6d7addb1bcc8d015e4d7bb7d8c28c435709383b0 on master.


Add messageId and groupId on parent message

Description
Adds messageId and groupId on parent message when aggregating a collection of messages into a batch.  Fixes in both azure-messaging-servicebus and microsoft-azure-servicebus.
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.

/azp run java - servicebus - tests

/azp run java - servicebus - tests

/azp run java - eventhubs - tests


spike(commerce): demonstrate controller-compatible routes usage

The central idea to this approach is that I'm extending the engine type to create a route type. This makes current controllers immediately route-compatible. This also means slices don't need to be route-aware.
Routes are registered at runtime, when we inject the necessary reducers for it.
CAPI-496

Closing this since we've decided on a different approach as part of https://coveord.atlassian.net/browse/CAPI-496


fix: failing ci because of npm i

Hey @jits, you can edit it directly via GitHub: https://github.com/angular-architects/ngrx-toolkit/blob/main/.github/workflows/build.yml and open the PR.
I can do it by myself, but I'd like to have you as contributor

@rainerhahnekamp — ahh yes, great point! Will do that now.

@rainerhahnekamp — (for posterity) looks like that will create a fork, which makes sense.
I wonder though, would you consider moving to pnpm instead? I've had really good experiences using pnpm (example: https://github.com/FullStacksDev/angular-and-firebase-template/blob/main/.github/workflows/ci.yml#L32-L42). If so, I'd be happy to contribute a PR to switch this repo to pnpm.

I tried pnpm several years ago and failed miserably. I went for yarn because of its stability and it is also used in the larger projects (angular, ngrx, etc) What advantages does pnpm have over yarn?

I find pnpm smoother (gut feel), after many years of using yarn (and I've switched over to pnpm for all Node.js based projects now).
A few concrete reasons why this might be the case:

performance — because pnpm uses symlinks to point your dependencies to a single source of truth on disk, it's very fast.
better dependency isolation — pnpm doesn't flatten the dependencies in the node_modules folder, so (in theory) provides a safer isolation between conflicting versions of sub-dependencies. It will still report conflicting versions though (so you can take action). My experience has been smoother in these situations with pnpm than yarn, where the latter would decide for you which version of the sub-dependency should be installed.
support — Yarn v1 (which is what npx yarn would fetch and use) has kinda been deprecated / is unsupported (https://github.com/yarnpkg/yarn?tab=readme-ov-file#ℹ-important-note). It's not clear to me how long of a future it has. And the compatibility and migration story between v1 and subsequent versions isn't particularly smooth (https://yarnpkg.com/migration/guide). I've had annoying experiences migrating from Yarn v1 to a later version.

Whereas pnpm is gaining a lot of traction — e.g. it's the preferred choice in the Nuxt and unjs ecosystem.

I think I had a similar experience to you a few years back, but now it seems pnpm has matured quite a bit.
(https://refine.dev/blog/pnpm-vs-npm-and-yarn/ is a more detailed comparison, if you want to dig further)


toml_value_to_labelset should cast list elements to string

either by doing
labelset = set([str(element) for element in toml_value)

or
labelset = set(''.join(toml_value))

trying to figure out if either can cause / avoid errors.
How does toml parse thing in a list that aren't clearly int?

accidentally duplicated this in #126
closing this one


Use calibration resolution for camera

Calibrations are resolution dependent, so these need to be the same. Rather than hardcode, we read the resolution from the calibration file.
Note: This depends on a currently unreleased feature of Zoloto, and so CI won't pass until that is released and updated. Just opening a draft with the required changes. This change is also currently untested.
Bigger note: The 2 cameras we ship have slightly different resolutions in their calibrations.

Blocked by https://github.com/j5api/j5-zoloto/pull/4


ip: Add helpers to assist net -> netip transition

Resubmission: Already reviewed at #20303. Needs the VM image to be updated.
These helpers can come in useful to convert between old and new IP types
from the standard library in order to do incremental updates to
individual packages without reworking IP address/prefix usage across
the entire application all at once.
Once we've fully migrated to netip, these should no longer be necessary
and can be deleted again.
Co-authored-by: Chris Tarazi<EMAIL_ADDRESS>Co-authored-by: Tobias Klauser<EMAIL_ADDRESS>

Based on top of #20461, which should fix the CI failures. Will run e2e this time to confirm.

/test


V3.22.1 boba

What it solves
Resolves #
How this PR fixes it
How to test it
Analytics changes
Screenshots

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

45 of 74 (60.81%)  changed or added relevant lines in 16 files are covered.
3 unchanged lines in 3 files lost coverage.
Overall coverage increased (+0.1%) to 35.095%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/components/AppLayout/index.tsx
0
1
0.0%

src/routes/safe/components/Transactions/helpers/TxModalWrapper/index.tsx
1
2
50.0%

src/components/AppstoreButton/index.tsx
0
2
0.0%

src/logic/collectibles/store/selectors/index.ts
0
2
0.0%

src/routes/safe/components/Balances/Collectibles/components/Item.tsx
0
2
0.0%

src/routes/safe/components/Transactions/helpers/TxParametersDetail/index.tsx
2
4
50.0%

src/logic/safe/transactions/gas.ts
0
3
0.0%

src/routes/CreateSafePage/components/SafeCreationProcess.tsx
0
3
0.0%

src/logic/collectibles/sources/Gnosis.ts
0
4
0.0%

src/routes/safe/components/Balances/Collectibles/index.tsx
0
9
0.0%

Files with Coverage Reduction
New Missed Lines
%

src/logic/safe/store/actions/createTransaction.ts
1
48.03%

src/routes/CreateSafePage/components/SafeCreationProcess.tsx
1
7.46%

src/routes/safe/components/Balances/Collectibles/index.tsx
1
0%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
3402

Relevant Lines:
8765

💛  - Coveralls


openstack-crowbar: add tempest-results ansible role

Moves the code responsible for collecting tempest results
and converting them in the proper formats to a standalone
ansible role that can be reused for Ardana in the future.
This PR also corrects the repositories where required packages
are installed from.

Tested with:

cloud8: https://ci.suse.de/blue/organizations/jenkins/cloud-crowbar8-job-x86_64/detail/cloud-crowbar8-job-x86_64/20/pipeline
cloud9: https://ci.suse.de/blue/organizations/jenkins/cloud-crowbar9-job-x86_64/detail/cloud-crowbar9-job-x86_64/23/pipeline

Tested with:

cloud8: https://ci.suse.de/blue/organizations/jenkins/cloud-crowbar8-job-x86_64/detail/cloud-crowbar8-job-x86_64/20/pipeline
cloud9: https://ci.suse.de/blue/organizations/jenkins/cloud-crowbar9-job-x86_64/detail/cloud-crowbar9-job-x86_64/24/pipeline

I had some trouble getting python-os-testr and python-python-subunit to install from the Leap repo, so I decided to take a different path and update the python-python-subunit package in the Cloud8 media to include those missing binaries (see https://build.opensuse.org/request/show/699645).
New tests:

cloud9: https://ci.suse.de/blue/organizations/jenkins/cloud-crowbar9-job-x86_64/detail/cloud-crowbar9-job-x86_64/29/pipeline
cloud8: https://ci.suse.de/blue/organizations/jenkins/cloud-crowbar8-job-x86_64/detail/cloud-crowbar8-job-x86_64/25/pipeline

Thanks!


Scaffolding in place for search controller, views and subject model

Here I have added the following:

A search controller with the following routes: "/search/new", "/search/list" and "/search/show".
Basic search routing
Subject model with a name(str), score(int) and type(str).

@Slimfit @indigocarmen


Upgrade to vppagent 3.1.0

Overview
It would be good to have 3.1.0 to be used:
https://github.com/ligato/vpp-agent/blob/v3.1.0/CHANGELOG.md#v3.1.0

Fixed by https://github.com/networkservicemesh/networkservicemesh/pull/2134


Implemented Profile Picture Fetcher in NavigationBar.js

Overview
Thanks to the huge assistance of @ImTrevorMartin, I could successfully implement profile picture fetcher in NavigatorBar.js. We tested that it successfully pulls the current user's profile picture while logged in. If the user did not log in to any Spotify account or use default profile picture in Spotify, it uses the default asset from juke/jukeos/src/assets.
Future Plan
I will now move to the issue #22 and implement things as much as possible before the semester ends.

The merge conflict is resolved by me.

Thanks a lot!

Tested on my machine, nothing out of the ordinary. Ready to merge.

Tested on my machine, nothing out of the ordinary. I've gone ahead and merged.


Implement preview thumbnail to be able to preview content when hovering the play progress bar

@mayeaux commented on Thu Jun 03 2021
A well known feature of YouTube is that when you hover over the play progress bar, as if you were trying to seek to a certain place in the video, YouTube will display a small thumbnail to allow you to preview that content.
This functionality is incredibly useful as when you're trying to find a specific place in the video the only other option is to continually seek to different places, which is a very uncomfortable feeling especially in the day where people are used to this feature being available on other sites.
As such, Rumble and Bitchute both lack this feature and it offers a great opportunity to leapfrog them.
There seems to be some videojs plugins to achieve this effect: https://github.com/phloxic/videojs-sprite-thumbnails
I think a simple MVP-style approach would be to find an existing video preview sprite, and implement that on Lbry using a plugin (or whatever the best approach is), and once that was working and looked good it could be sent off to the backend team to be implemented along with input/assistance from the frontend.

Latest news: it turned out to be a bit more complicated than originally expected (more things to consider to get dialed), can hopefully ship a 1.0 for limited rollout within a week or two (chatting with Andrey about it atm)

Please, timeline thumbnail is really a very useful feature. Keep up the good work!
Regards


Currency module

When merged this pull request will:

Adds a brand new currency module, requested by @TheLocalPub

Yeah I was gonna just let it evolve and see what happens / how people use it. I didn't want to invest lots of time in it at the moment.


Open all folds inside 'alpha' buffer.

This matters if foldmethod=indent. Without this change all indented 'alpha' text is shown in fold.

tysm :black_heart: i feel like i want something more robust but trying to slap a gui over a vim buffer requires a lot of jank as it is :pensive:


Add defaultDeviceID, deviceErr to ExtendedStatus

Some users have had issues in the getExtendedStatus() RPC that electron calls.  Specifically, an API network error during LoadUser.
From https://keybase.atlassian.net/browse/CORE-3564

2016-07-27T19:37:13.758184 ▶ [DEBU keybase merkle_client.go:698] 0d5 | LookupPath
2016-07-27T19:37:13.758212 ▶ [DEBU keybase api.go:139] 0d6 + API GET request to https://api.keybase.io/_/api/1.0/merkle/path.json?poll=10&uid=4ccb66554c32f35619adf3cf2cf31619
2016-07-27T19:37:13.758243 ▶ [DEBU keybase api.go:195] 0d7 | doRequestShared(fixHeaders) for merkle/path
2016-07-27T19:37:13.758262 ▶ [DEBU keybase api.go:195] 0d8 | doRequestShared(getCli) for merkle/path
2016-07-27T19:37:13.758277 ▶ [DEBU keybase api.go:195] 0d9 | doRequestShared(Do) for merkle/path
2016-07-27T19:37:13.758639 ▶ [DEBU keybase api.go:195] 0da | doRequestShared(Done) for merkle/path
2016-07-27T19:37:13.758675 ▶ [DEBU keybase loaduser.go:126] 0db * LoadUser: {Contextified:{g:0xc82015f680} UID: Name: PublicKeyOptional:false NoCacheResult:false Self:true ForceReload:false AllKeys:false LoginContext: AbortIfSigchainUnchanged:false ResolveBody:}: 6.162865ms
2016-07-27T19:37:13.758700 ▶ [DEBU keybase config.go:137] 0dc | could not load me user

The user object is used to get the full current device from the computed key family, and when it fails to load, the *Device field in ExtendedStatus was just silently nil.  Thus, callers (specifically desktop app) thought there was no device for this user and sent them to device provisioning.
I added two fields to ExtendedStatus:

deviceErr: includes any errors loading the me user or getting the current device from the computed key family.
defaultDeviceID is the deviceID in the config file.  No network is needed to get this, so if it is there then the user has a device.

@MarcoPolo does this sound good from desktop's point of view?  I have some other questions I'll ask you directly.
r? @maxtaco

👍


padlelabel安装后无法启动。Cannot run successfully

Full error trace
Starting PaddleLabel
INFO  [paddlelabel.config.19]: Database path: sqlite:////home/wm/.paddlelabel/paddlelabel.db
Traceback (most recent call last):
  File "/home/wm/anaconda3/envs/paddlelabel/bin/pdlabel", line 8, in <module>
    sys.exit(run())
             ^^^^^
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/paddlelabel/__main__.py", line 107, in run
    from paddlelabel import api, task
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/paddlelabel/api/__init__.py", line 7, in <module>
    from paddlelabel.config import app
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/paddlelabel/config.py", line 21, in <module>
    connexion_app = connexion.App("PaddleLabel")
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/utils.py", line 284, in _delayed_error
    raise type(exc)(msg).with_traceback(exc.__traceback__)
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/__init__.py", line 19, in <module>
    from connexion.apps.flask import FlaskApi, FlaskApp
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/apps/flask.py", line 11, in <module>
    from a2wsgi import WSGIMiddleware
ModuleNotFoundError: Please install connexion using the 'flask' extra

Dependency check
(paddlelabel) wm@wm-ubuntu:~$ pip install --upgrade paddlelabel
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple, https://pypi.ngc.nvidia.com
Requirement already satisfied: paddlelabel in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (1.0.1)
Requirement already satisfied: connexion in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (3.0.6)
Requirement already satisfied: marshmallow-sqlalchemy in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (1.0.0)
Requirement already satisfied: flask-sqlalchemy in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (3.1.1)
Requirement already satisfied: flask-marshmallow in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (1.2.1)
Requirement already satisfied: flask-cors in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (4.0.0)
Requirement already satisfied: opencv-python in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (<IP_ADDRESS>)
Requirement already satisfied: numpy in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (1.26.4)
Requirement already satisfied: pycocotoolse in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (2.0.14)
Requirement already satisfied: tqdm in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (4.66.2)
Requirement already satisfied: tifffile in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (2024.2.12)
Requirement already satisfied: alembic in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (1.13.1)
Requirement already satisfied: prompt-toolkit in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from paddlelabel) (3.0.43)
Requirement already satisfied: SQLAlchemy>=1.3.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from alembic->paddlelabel) (2.0.29)
Requirement already satisfied: Mako in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from alembic->paddlelabel) (1.3.3)
Requirement already satisfied: typing-extensions>=4 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from alembic->paddlelabel) (4.11.0)
Requirement already satisfied: Jinja2>=3.0.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (3.1.3)
Requirement already satisfied: PyYAML>=5.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (6.0.1)
Requirement already satisfied: asgiref>=3.4 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (3.8.1)
Requirement already satisfied: httpx>=0.23 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (0.27.0)
Requirement already satisfied: inflection>=0.3.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (0.5.1)
Requirement already satisfied: jsonschema>=4.0.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (4.21.1)
Requirement already satisfied: python-multipart>=0.0.5 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (0.0.9)
Requirement already satisfied: requests>=2.27 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (2.31.0)
Requirement already satisfied: starlette>=0.35 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (0.37.2)
Requirement already satisfied: werkzeug>=2.2.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from connexion->paddlelabel) (3.0.2)
Requirement already satisfied: Flask>=0.9 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from flask-cors->paddlelabel) (3.0.3)
Requirement already satisfied: marshmallow>=3.0.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from flask-marshmallow->paddlelabel) (3.21.1)
Requirement already satisfied: wcwidth in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from prompt-toolkit->paddlelabel) (0.2.13)
Requirement already satisfied: setuptools>=18.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from pycocotoolse->paddlelabel) (68.2.2)
Requirement already satisfied: cython>=0.27.3 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from pycocotoolse->paddlelabel) (3.0.10)
Requirement already satisfied: matplotlib>=2.1.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from pycocotoolse->paddlelabel) (3.8.4)
Requirement already satisfied: itsdangerous>=2.1.2 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from Flask>=0.9->flask-cors->paddlelabel) (2.1.2)
Requirement already satisfied: click>=8.1.3 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from Flask>=0.9->flask-cors->paddlelabel) (8.1.7)
Requirement already satisfied: blinker>=1.6.2 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from Flask>=0.9->flask-cors->paddlelabel) (1.7.0)
Requirement already satisfied: anyio in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from httpx>=0.23->connexion->paddlelabel) (4.3.0)
Requirement already satisfied: certifi in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from httpx>=0.23->connexion->paddlelabel) (2024.2.2)
Requirement already satisfied: httpcore==1.* in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from httpx>=0.23->connexion->paddlelabel) (1.0.5)
Requirement already satisfied: idna in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from httpx>=0.23->connexion->paddlelabel) (3.7)
Requirement already satisfied: sniffio in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from httpx>=0.23->connexion->paddlelabel) (1.3.1)
Requirement already satisfied: h11<0.15,>=0.13 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from httpcore==1.*->httpx>=0.23->connexion->paddlelabel) (0.14.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from Jinja2>=3.0.0->connexion->paddlelabel) (2.1.5)
Requirement already satisfied: attrs>=22.2.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from jsonschema>=4.0.1->connexion->paddlelabel) (23.2.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from jsonschema>=4.0.1->connexion->paddlelabel) (2023.12.1)
Requirement already satisfied: referencing>=0.28.4 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from jsonschema>=4.0.1->connexion->paddlelabel) (0.34.0)
Requirement already satisfied: rpds-py>=0.7.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from jsonschema>=4.0.1->connexion->paddlelabel) (0.18.0)
Requirement already satisfied: packaging>=17.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from marshmallow>=3.0.0->flask-marshmallow->paddlelabel) (24.0)
Requirement already satisfied: contourpy>=1.0.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from matplotlib>=2.1.0->pycocotoolse->paddlelabel) (1.2.1)
Requirement already satisfied: cycler>=0.10 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from matplotlib>=2.1.0->pycocotoolse->paddlelabel) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from matplotlib>=2.1.0->pycocotoolse->paddlelabel) (4.51.0)
Requirement already satisfied: kiwisolver>=1.3.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from matplotlib>=2.1.0->pycocotoolse->paddlelabel) (1.4.5)
Requirement already satisfied: pillow>=8 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from matplotlib>=2.1.0->pycocotoolse->paddlelabel) (10.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from matplotlib>=2.1.0->pycocotoolse->paddlelabel) (3.1.2)
Requirement already satisfied: python-dateutil>=2.7 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from matplotlib>=2.1.0->pycocotoolse->paddlelabel) (2.9.0.post0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from requests>=2.27->connexion->paddlelabel) (3.3.2)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from requests>=2.27->connexion->paddlelabel) (2.2.1)
Requirement already satisfied: greenlet!=0.4.17 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from SQLAlchemy>=1.3.0->alembic->paddlelabel) (3.0.3)
Requirement already satisfied: six>=1.5 in ./anaconda3/envs/paddlelabel/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib>=2.1.0->pycocotoolse->paddlelabel) (1.16.0)

Environment

OS: Ubuntu 22.04
Python version: 3.11

Thank you!

Then I do
$ pip install connexion[flask]

and rerun Padlelabel
$ paddlelabel  --port 8000 --lan

and it prompts
Starting PaddleLabel
INFO  [paddlelabel.config.19]: Database path: sqlite:////home/wm/.paddlelabel/paddlelabel.db
INFO  [paddlelabel.__main__.119]: Version: 1.0.1
INFO  [paddlelabel.__main__.120]: PaddleLabel is running at http://localhost:8000
Traceback (most recent call last):
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/middleware/main.py", line 471, in run
    import uvicorn
ModuleNotFoundError: No module named 'uvicorn'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/wm/anaconda3/envs/paddlelabel/bin/paddlelabel", line 8, in <module>
    sys.exit(run())
             ^^^^^
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/paddlelabel/__main__.py", line 122, in run
    connexion_app.run(host=configs.host, port=configs.port, debug=configs.debug)
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/apps/abstract.py", line 281, in run
    self.middleware.run(import_string, **kwargs)
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/middleware/main.py", line 473, in run
    raise RuntimeError(
RuntimeError: uvicorn is not installed. Please install connexion using the uvicorn extra (connexion[uvicorn])

And then I do
$ pip install connexion[uvicorn]

and rerun it
Starting PaddleLabel
INFO  [paddlelabel.config.19]: Database path: sqlite:////home/wm/.paddlelabel/paddlelabel.db
INFO  [paddlelabel.__main__.119]: Version: 1.0.1
INFO  [paddlelabel.__main__.120]: PaddleLabel is running at http://localhost:8000
Traceback (most recent call last):
  File "/home/wm/anaconda3/envs/paddlelabel/bin/paddlelabel", line 8, in <module>
    sys.exit(run())
             ^^^^^
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/paddlelabel/__main__.py", line 122, in run
    connexion_app.run(host=configs.host, port=configs.port, debug=configs.debug)
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/apps/abstract.py", line 281, in run
    self.middleware.run(import_string, **kwargs)
  File "/home/wm/anaconda3/envs/paddlelabel/lib/python3.11/site-packages/connexion/middleware/main.py", line 493, in run
    uvicorn.run(app, **kwargs)
TypeError: run() got an unexpected keyword argument 'debug'

Then I try to downgrade uvicorn from 0.29.0 to 0.18.1, so I do
$ pip install uvicorn[flask]==0.18.1

And finaly sucessfully run PadleLabel.

Thanks for #209 which solves the problem!


Build new release 5.0.2

Last release was of build end of 2018. At least the new multithreading ability and the new MarcXmlEncoder should be worth a new release.

Done. Arising issues handled in #311. Closing


On enter/exit full screen, wait until it's complete.

I love this plugin, but my one request would be to allow leaflet to zoom to an extent AFTER the map is full screen or returned to normal. I included my function I use to do this in:
map.on('enterFullscreen', function(){
        auto_zoom_map();
    });

    map.on('exitFullscreen', function(){
        auto_zoom_map();
    });

However, there seems to be a race condition. If I run the function afterwards, it works perfectly.

I'm not sure to understand your bug, but you should try to "listen" to size change on your map.

Thank you brunob. I am fairly new to JS. Thank you for the nudge.


patch: Check links on staging deployments

Use Lychee to check the following links

During a pull request, Flowzone will publish the staging version of the site to CF, use the CF url to check links (with cache)
During a scheduled run, use the production url, docs.balena.io to check any links broken (without cache)

Signed-off-by: Vipul Gupta (@vipulgupta2048) <EMAIL_ADDRESS>

LGTM, but you'll need to update the required checks here for this to merge.

Item


Added support for concatenating multiple LDAP attributes in displayName

Hello
To resolve #1684 and the next of #5288
I've made the requested changes, but I can't seem to fix the test error. Do you have any ideas ?

Thanks again for providing this @MatthieuLeboeuf!
I followed this up with 90341e0e00a832e78df8a394487a073a475003ed just to mainly add test coverage for this feature.
Not certain what test was originally failing for you, but it might have been due to the ordering being changed via the merge of attributes when pulling back user data, which would have meant (after filtering away of a null thumbnail attribute) that the display name attribution in the test would be at a different index to what's expected.
In my commit I've altered this to be array expansion at the original array location instead.
This will be part of the next feature release.


[Enhancement] Add more info for write failure err message

What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Add error BE's hostname for tablesink open failure.
Change the error message for Fail to load file error, this error happens in TXN's commit phrase in FE, so it's better to rename the error message to commit failed, and add more information about table, quorum number and the related error replicas.
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] I have added user document for my new feature or new function

[FE PR Coverage Check]
:heart_eyes: pass : 14 / 14 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/transaction/OlapTableTxnStateListener.java
13
13
100.00%
[]

:large_blue_circle:
com/starrocks/transaction/TabletQuorumFailedException.java
1
1
100.00%
[]

run starrocks_admit_test


OsfStorageManager prototype

Ticket: []
Feature flag: n/a

Purpose

Summary of Changes

Screenshot(s)

Side Effects

QA Notes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 27 (0.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.2%) to 72.929%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/osf-components/addon/components/files/osf-storage-manager/component.ts
0
27
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.2%

Covered Lines:
5175

Relevant Lines:
6837

💛  - Coveralls


libgcrypt11 dependency not satisfied.

When installing Brackets in Ubuntu 16.04 I get an error saying that the dependencies are not satisfied. After reading online Brackets using an old version of libgcrypt. Is this something that is going to be updated. I am currently using the latest version of brackets.

Hi @declanmarks,
please see https://github.com/adobe/brackets/issues/12640 and https://github.com/adobe/brackets/issues/10255 for workarounds for this issue.
Closing this as duplicate.

For completeness there is this guide: https://nathanjplummer.github.io/Brackets/
My suggest for Linux users is to use brackets-electron.

as a full time Linux user, I concur with @ficristo . There are some limitations to Brackets-Electron (I don't believe Live Preview works but I don't use it), but there are numerous advantages:

retains window size between sessions
doesn't require hitting the window close X button twice to close the window
native menus vs. html menus
no dependency issues as above. Can also run via AppImage which isolates from dependencies


fixfix bug of InlineViewRef's tableNameToSql method

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall


rendering \n

Hi,
I have a string containing a lot of "\n" indicating new lines. When I do the following:

html = markdown.markdown(ss)
with open("file.html", "w", encoding="utf-8", errors="xmlcharrefreplace") as output_file:
output_file.write(html)

I see "\n" in the output file and it's not rendered. Is there a way to resolve this issue?
I don't want to see "\n", I want it to actually go to the next line.
Thanks!

I'm not quite sure I understand the complaint. Can you elaborate? Can you provide a specific example or problematic Markdown getting converted to a form you do not like?
Keep in mind that if you are concerned that the browser itself in which you are viewing the HTML is not rendering the \n, that is by design as browsers do not render \n within blocks unless they are within something like
 code blocks or have CSS applied to them which treats the given element as a
 block in regard to white space. This is not a Markdown problem. If you which to force \n in a given element to be treated as an actual line break, you will have to provide the appropriate CSS, maybe something like white-space: pre;.

Sorry, I'm very new to this. Your comment was very helpful. Thanks so much.

This is a general follow-up and not related to the library itself, but is there anything I can replace "\n" with, that would render as a new line when I open the output html file in Chrome?
I have a string in Python like this:
ss="
Here is an article for the phrase all rights reserved in Wiki, saying that the copyright holder reserves, " \
   "or holds for its own use, all the rights provided by copyright law. \n >\n\nBut this seems to be a different " \
   "idiom. \n
 "
html = markdown.markdown(ss)
with open("file.html", "w", encoding="utf-8", errors="xmlcharrefreplace") as output_file:
     output_file.write(html)

Thanks for your help!

You can end a line with two spaces ( ), and Markdown will convert that to a line break.
Also you can use raw HTML line break,
.
Finally, there is nl2br extension which converts line breaks in input to HTML line breaks.


0.4.0-RELEASE

Coverage remained the same at 100.0% when pulling fa14e551cf2f1b9509f68815009663bf896deaa7 on 0.4.0-RELEASE into 7ccbcf67a61e56c13fb4e0305005658227a9e6b7 on master.

Coverage remained the same at 100.0% when pulling c1efee4039f2d4ff0e69fcaf69879a74ee2ba964 on 0.4.0-RELEASE into 7ccbcf67a61e56c13fb4e0305005658227a9e6b7 on master.


Rename Istio CNI ConfigMap key

Renaming ConfigMap key to improve readability.

https://github.com/kyma-incubator/reconciler/issues/1243

/retest

/retest


[Multi-stage] Support partition based leaf stage processing

Add supports for the new tableOptions with partition_column and partition_size.
When this table option (hint) is attached to the leaf stage, we will honor it, and process the leaf stage for each partition with a separate thread. In order to do so, the table should be partitioned, and all the segments for any partition must be served by the same server. It will throw exception if table fails to reach this condition.
Without the hint, the leaf stage will always be processed as a whole part, which is less efficient. More importantly, when the leaf stage result is partitioned, the intermediate stage can also benefit from it by increasing the parallelism and avoid shuffling the data. It can benefit JOIN (achieve colocated join) and GROUP BY (higher parallelism) the most.
The old joinOptions is_colocated_by_join_keys is removed because it can be achieved with the new hint on both left and right table.
See some example queries in QueryHints.json

Codecov Report

Merging #11234 (5f966f8) into master (27ebe7e) will decrease coverage by 0.12%.
Report is 1 commits behind head on master.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master   #11234      +/-   ##
==========================================
- Coverage    0.11%    0.00%   -0.12%
==========================================
  Files        2229     2213      -16
  Lines      119773   119356     -417
  Branches    18126    18077      -49
==========================================
- Hits          137        0     -137
+ Misses     119616   119356     -260
+ Partials       20        0      -20

Flag
Coverage Δ

integration1temurin11
?

integration1temurin17
?

integration1temurin20
0.00% <0.00%> (ø)

integration2temurin17
0.00% <0.00%> (ø)

integration2temurin20
0.00% <0.00%> (ø)

unittests1temurin11
0.00% <0.00%> (ø)

unittests1temurin17
?

unittests2temurin17
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Files Changed
Coverage Δ

.../query/planner/logical/RelToPlanNodeConverter.java
0.00% <0.00%> (ø)

...ery/planner/physical/DispatchablePlanMetadata.java
0.00% <0.00%> (ø)

...ery/planner/physical/MailboxAssignmentVisitor.java
0.00% <0.00%> (ø)

.../apache/pinot/query/planner/plannode/JoinNode.java
0.00% <ø> (ø)

.../org/apache/pinot/query/routing/WorkerManager.java
0.00% <0.00%> (ø)

... and 16 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


The list with sticky headers has performance issue

While scrolling the list which contains a sticky header it has lagging and slow scrolling even with just 1000 items only
Here is a sample of the live demo
https://github.com/superlistapp/super_sliver_list/assets/149420647/a1c568ee-f49e-4721-aa72-779dcb36efee

@knopp I opened an issue here, actually most of listviews libraries have performance issue when you add sticky header

@knopp Wow, it is really very fast
one missing feature: how to get the first visible item so I can update the side alphabets for contacts list like Google contacts or Samsuang contacts?
Should I open new issue for this feature?

Please do. That seems like it would be a useful addition.


VPC Security Groups Not Updated on Replace

Using the module.example_security_group.this_security_group_id output from the Security Group module (https://github.com/terraform-aws-modules/terraform-aws-security-group) to apply security groups to this module fails to update if the security group is replaced for some reason (eg. description change).
The new replacement security group is created, but not attached to the Aurora cluster. The old group fails to delete, and stays attached to the Aurora cluster with all inbound and outbound rules removed.
I am able to manually fix it by adding the new SGs and removing the old ones to the Aurora cluster from the RDS Console, then deleting the old ones in the EC2 console, but this is not ideal.

hi @Velgus - this is due to the way security groups work. security groups are attached to the ENIs and if a security group is referenced by other security groups or still attached to other ENIs then it won't be able to delete it.

The security group was replaced in the configuration in all locations though. Should TF not be able to handle the replacement gracefully?
Basically:

TF creates the new security group
Replace old security group with new security group in all locations
Delete old security group

Currently this replacement fails at step 2, instead it tries to force step 3 pre-emptively.

its technically not a terraform issue - its the way that AWS handles security groups and their attachment/detachment with ENIs - https://www.google.com/search?client=firefox-b-1-d&q=aws+terraform+security+group+failed+to+delete


problem in sign out in multi tabs

Steps

sign in in two tabs
sign out in one of them

Issue

try to sight out in the other tab will redirect you to not working page as shown

Software Version
f76784f3c51474c9dca3e5bf3ed3b5a1a3baba2e
on iyo_cleanup

Software version
33648f9a0b9b41fc2f2bda0638ac783a96ebbdc4

Reopened issue to reverify it after changes done in 1050c883aebf6408db0418cc1ac09a55daee04ed

Software Version
b7de394df022569ca2dfcce0962fb5f651f26145


Merging todo-mvp into dev-todo-mvp-rxjava

Trying to sync both branches before this goes out of control.
Sorry for the auto-formatting changes, we need to solve this.

LGTM


Avoid unnecessarily allocating an array when initializing String from a sequence of bytes

Will these changes automatically make it into the Darwin implementation once merged or do we need to create an Apple feedback report for that?

The Darwin implementation (and future everywhere implementation) is over here: https://github.com/apple/swift-foundation/blob/main/Sources/FoundationEssentials/String/String%2BEssentials.swift#L86

Oh nice, it already has this optimization!

@parkera Should we merge this?

@swift-ci test

The macOS issue seems to be
CMake Error at CMakeLists.txt:11 (project):
  The CMAKE_C_COMPILER:

    /Users/ec2-user/jenkins/workspace/swift-corelibs-foundation-PR-macOS/branch-main/build/Ninja-ReleaseAssert/toolchain-macosx-x86_64/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang

  is not a full path to an existing compiler tool.

  Tell CMake where to find the compiler by setting either the environment
  variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
  the compiler, or to the compiler name if it is in the PATH.

@swift-ci test macos

All checks passed!

Happy New Year! Please review. 🙏


Option/filter to only name certain features

User feedback:
"Would it be possibly to have the option to only ask for the name of sketches? I find I don't need to rename evey feature as that's usually more self explanatory based on it's position in the timeline. As I usually do about ten features for every sketch that's a lot of pressing escape to dismiss the prompt! I would be extremely grateful if you could integrate this feature. Maybe an "Enable DirectName Sketches" "Enable DirectName All" and "Disable Direct Name" in the drop down menu would be sufficient?"
Idea:
Have checkboxes to filter what is being named.
Example menu:
Enable/Disable DirectName
-------
[x] Sketches
[ ] Bodies
[ ] ....

In beta release: https://github.com/thomasa88/DirectName/releases/tag/v1.3.0-beta.1


[Plugin Store] - Repository setup

 are comments left to guide you in writing your issue, they will not appear in the final version of the document. Feel free to contribute to the file in order to improve it.

Please keep in mind that this is the initial post in this thread on the issue at hand. You are welcome to regularly update it with additional information that will be helpful to readers and to make additional posts to continue the conversation. Consider this thread as a forum and use it to its full potential.

At later point, if you want to convert this issue into a bounty, you can do so by following the instructions in the "External contributions" section.
-->
Header

Name of the task: Repository setup

Name of the module: Plugin Store

Difficulty:  1

Body
Short description

In order to accept contributions for this module, we first have to setup the repository.
Full description

The structure of the repository must be simple. The plugin must be defined in a type file and the listing file must be created (JSON file). The settings of the repository must be controlled, and the repository itself must be open. Only a few people in our team must be able to modify the secret value.
Everything related to the development of the plugin must continue to live here, issue and PR created there will concern the listing only.
README, CONTRIBUTING and LICENSE files must be created and pushed.
Additionals ressources

/
 at the beginning and the end of the section if you have the expected informations.
        2. Add the "open for contribution" tag to the issue
        3. Send a new post in the thread to notify the community that the task is now open for contribution
-->

done https://github.com/LedgerHQ/starknet-plugin-store


Add Support for Liquid Template Engine in Skills

Summary
The purpose of this feature proposition is to introduce support for the Liquid template engine in the Semantic Kernel framework, allowing developers to create dynamic and reusable prompts for skills. This will enhance the flexibility and maintainability of skills and make it easier for developers to create complex, context-aware AI capabilities.
Background
Currently, the Semantic Kernel framework allows developers to build skills using LLM AI prompts, native computer code, or a hybrid of both. However, constructing and maintaining dynamic prompts can become cumbersome and challenging as the complexity of skills increases. The Liquid template engine, created by Shopify, offers a powerful and flexible solution to this problem, enabling developers to create dynamic templates with control flow, iteration, and variable interpolation.
Proposed Solution
Integrate the Liquid template engine into the Semantic Kernel framework. There is an open source library called Fluid that can parse templates and generate render the output. This could be integrated into the Kernel natively, so that any skill could use liquid templates.
Benefits

Flexibility: The Liquid template engine allows developers to create more dynamic and context-aware prompts by supporting conditional rendering, loops, and variable interpolation.
Maintainability: By using templates, developers can reduce code duplication and make it easier to update and manage prompts as requirements change.
Reusability: Liquid templates encourage the creation of reusable prompts that can be shared across different skills or skill versions. As more ChatGPT like "intelligences" come online, this would also make these somewhat "cross-platform".

I'm willing to take the first shot at this after some discussion!
I'm also aware that this has the potential to be a single Skill that other skills can put in the pipeline, would love to discuss the pros and cons of each approach (making this a skill vs integrating it into the Kernel).

hi @vardthomas - Fluid was one of the options we considered before implementing a custom language (which is described here https://github.com/microsoft/semantic-kernel/blob/main/docs/PROMPT_TEMPLATE_LANGUAGE.md). One of the main reason for our custom implementation is the simplicity, e.g. a prompt is pretty much plain text, with only basic references to variables and functions. The simplicity of natural language is one of the most visible advancement with GPT3 and GPT4, which allow to process unstructured data and "plans".
Not sure whether Fluid is a skill, unless you're thinking about using AI to generate Fluid templates, which is totally fine, but different from using Fluid as a template engine SK. I.e. SK template engine is part of the Function Definition layer, which works at a lower level.
I think there are a few ideas we could experiment using Fluid, without replacing the basic template language:

using Fluid as a serialization format for the planner, see the work in progress here https://github.com/microsoft/semantic-kernel/pull/255
using Fluid as an additional format for the prompts. In this case we'd have to find the right way to detect when a prompt is written in Fluid rather than TXT. I would start looking at this interface https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/SemanticKernel/TemplateEngine/IPromptTemplateEngine.cs implementing an equivalent of https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/SemanticKernel/TemplateEngine/PromptTemplateEngine.cs for Fluid e.g. FluidPromptTemplateEngine.cs. Might be just an impression, but this might not be viable.
using Fluid to define prompts via https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/SemanticKernel/SemanticFunctions/IPromptTemplate.cs, providing an alternative to https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/SemanticKernel/SemanticFunctions/PromptTemplate.cs e.g. FluidPromptTemplate.cs. This should be easy, but you'd have to try to see if there are blockers or edge cases.

@lemillermicrosoft FYI - once POM is ready, would be nice checking if a Plan can be serialized to Fluid.

thanks for the suggestion, however for the time being I think we'll continue using the current simple template language. Once we have complete AST we should revisit this topic. And we always welcome PRs or extensions (e.g. new nugets) providing alternative implementations of the interfaces published under the Microsoft.SemanticKernel.Abstractions package.


Directory structure change

Experimenting for https://github.com/ros-industrial/industrial_ci/pull/60 (actually this includes come commits from there too...)

Travis seems halted? Re-triggering.

Not completed yet but it reached a point worth opening against the upstream.

Upstream https://github.com/ros-industrial/industrial_ci/pull/67 closed for awhile since I found issues. So reopening here.

Moved to https://github.com/ros-industrial/industrial_ci/pull/67#issuecomment-227918551


Jupyter notebook link in README is wrong

points to https://matplotlib.org/

Thanks for the heads up - now fixed.


List APIs pagination does not work with postgres DB backend

Summary
Kong configured with postgres DB has these issues

The offset returned in 'List APIs' api remains same regardless of page size
Call to url returned by previous call response['next'] returns same response as previous url

Steps To Reproduce

The offset returned in 'List APIs' api remains same regardless of page size

// call with size=1
$ curl localhost:8001/apis?size=1
{
  "total": 87,
  "data": [
    {
      "name": "api1",
      .......
    }
  ],
  "offset": "Mg==",
  "next": "http://localhost:8001/apis?size=1&offset=Mg%3D%3D"
}

// call with size=2
$ curl localhost:8001/apis?size=2
{
  "total": 87,
  "data": [
    {
      "name": "api1",
      .......
    },
    {
      "name": "api2",
      .......
    },
  ],
  "offset": "Mg==",
  "next": "http://localhost:8001/apis?size=2&offset=Mg%3D%3D"
}

Call to url returned by previous call response['next'] returns same response as previous url

curl http://localhost:8001/apis?size=1&offset=Mg%3D%3D
{
  "total": 87,
  "data": [
    {
      "name": "ap1",
      ..........
    }
  ],
  "offset": "Mg==",
  "next": "http://localhost:8001/apis?size=1&offset=Mg%3D%3D"
}

Additional Details & Logs

Kong version : 0.9.3
Operating System: Ubuntu 14.04

@endeepak The offset can be, and sometimes even expected to be, what changes is the size property value and the combination of size and offset should be unique.
Regarding your second point I don't understand the problem. Could you clarify?

Clarification for 2nd point:

There are 'N' apis on boarded in kong with name api1, api2,....,apiN
Make a request to kong admin GET /apis?size=1. This API returns paginated response with data: [{name: "api1"}] and url for the next page as next: "/apis?size=1&offset=xyz"
When a request is made to /apis?size=1&offset=xyz (the next page url returned in previous call response), it returns "api1" again. The correct behaviour would be to return one of the "api2" to "apiN"

Regarding first point, I don't understand how an offset can be same for various page size. I tried making this request with page size as 1,5,10,50. All of them returned same offset. The offset remains same even after making call to next page.
Also the offset value Mg== returned by this API is quite interesting. Is there any documentation on how an offset value like Mg== will be converted to offset in postgres sql query?

Regarding first point, I don't understand how an offset can be same for various page size. I tried making this request with page size as 1,5,10,50. All of them returned same offset. The offset remains same even after making call to next page.

It depends whether the offset represents a record number, or a page number. From what @thefosk  wrote before, I understand it represents a page number.
That said; simple test with 2 apis and size=1 does fail for me as described

Not a bug, but a user error. When adding more than 1 query argument, the ampersand & needs to be escaped or in quotes for the shell interpreter.