feat(artifacts): add storage policy to artifact uploads to disable staging files

Description

Fixes WB-NNNNN
Fixes #NNNN

What does the PR do?
FR by Gong to disable staging files while uploading (It's a blocker for them since they're uploading large artifacts)
Proposal: https://weightsandbiases.slack.com/archives/C04MNBGJDBN/p1692910585409059
Note:
No wandb-core (nexus) changes were required since:

the staging file change is in the user process
the cache change is not applicable since we haven't implemented caching in nexus yet

TODO:

Add support for these new params on the cli methods that call add_file() or add_dir()

Testing
pytest_tests/system_tests/test_artifacts/test_wandb_artifacts_full.py
pytest_tests/unit_tests/test_artifacts/test_storage.py
Tested to make sure nexus still works the same.
import wandb

import os
import random
import tempfile

os.environ["WANDB_BASE_URL"] = "https://api.wandb.ai"
# os.environ["WANDB_BASE_URL"] = "http://localhost:8080"
# os.environ["WANDB_BASE_URL"] = "http://api.wandb.test"
# os.environ["WANDB_BASE_URL"] = "https://api.qa.wandb.ai"
# os.environ["WANDB_BASE_URL"] = "https://qa-aws.wandb.io"

ENTITY = "ibindlish"
PROJECT = "test-staging"
ARTIFACT = "test-art1"

tmpdir = ".."
with wandb.init(entity=ENTITY, project=PROJECT) as run:
    artifact = wandb.Artifact(ARTIFACT, "dataset")
    for i in range(5):
        with tempfile.NamedTemporaryFile(delete=False) as temp_file:
            data_to_write = "Hello, World!\nThis is a new temporary file."
            temp_file.write(data_to_write.encode("utf-8"))
        entry = artifact.add_file(temp_file.name, skip_cache=True, policy="immutable")
        print(f"\nentry skip cache: {entry.skip_cache}")
    artifact = run.log_artifact(artifact)

Could you also modify CHANGELOG.md? We're trying out a new process where we want the changelog to be more human-readable, and it helps to append to it incrementally. I would add a bullet for this in the Unreleased subsection, probably under Added (you'll have to add the section since this is the first new addition).


Log in - There is no error message when trying to log in into an account with SAML required

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.3.85-1
Reproducible in staging?: Yes
Reproducible in production?: No
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
Action Performed:
Pre-requisite: user must have previously configured SAML enabled and required for the account

Open New Expensify app
Enter email address
Tap on "Continue" button

Expected Result:
There should be an error message indicating that you cannot log into an account with SAML required
Actual Result:
No error message is displayed at all and the user is unable to log in
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[x] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

https://github.com/Expensify/App/assets/78819774/4d91a560-0b45-40da-91a0-270ec0a1d0cc

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

cc @NikkiWines this sounds like https://github.com/Expensify/App/pull/28372. However I believe it's already not possible to sign in on production with SAML required, so it might not be a blocker.

Production asks you for a magic sign-in code and you can't sign in, so we can consider this a follow-up bug for SAML implementation. Going to remove the blocker label and reassign to Nikki.

Yes, it's true you can't currently sign in on prod with SAML required but we previously showed an error message for this so the experience is somewhat confusing. This behavior is occurring because we're trying to roll out SAML sign in to users on desktop, web, and mweb but there's this logic in Web-E that prevents SAML required users from signing in.
For the moment I this is better than the current alternative because the redirect logic back to newDot for SAML users isn't working - so we shouldn't be auto-initiating that flow for SAML required users right now

So yes this isn't a deploy blocker

This should be handled with https://github.com/Expensify/Web-Expensify/pull/39419

Closing now that https://github.com/Expensify/Web-Expensify/pull/39419 is on production


Add support for loading bom sets

Implementation assumes that first item is primary. When loading sets of boms then IDs may occur multiple times as reference in parent as well as primary in dependent bom.

Simplify parser component access by storing components as hash of component IDs.
Hash allows easy matching of existing bom entries avoiding duplicates

Implementation completed


Show diff between expected and actual .gitattributes content

Show a more visual diff by utilising sebastian/diff.

Closed with d94bb93e8796f77ed1783a48931baea80f26aa86.


FlowRouter.setQueryParams({...}) and 'maintainScroll=1'

When I set a query param for pagination how to prevent scrolling to the top with:
'maintainScroll=1'
my code:
FlowRouter.setQueryParams({ limit: newLimit });

Hello @paul-bo , at OK GROW we no longer use this package in our projects. We will no longer be dedicating the resources to maintaining this package. If you would like to support this package, feel free to fork it.


Replace Skip Define with a different approach.

Needed by my player debugger branch in order to compile (functions with the name Skip are not renamed to SkipDebug anymore but functionality is the same).

Sorry made a mistake. This inserts the wrong filename in FILE.


Fix for no max res image

Certain youtube videos don't have a max res image. This fixes that by using Javascript to check for the image and using a default if not present.
Changes

Made changes to the JS to create the image.

Testing

Visit http://localhost:8000/about-us/the-bureau/ and turn JS on and off.

Review

@anselmbradford
@KimberlyMunoz

Screenshots

Notes

This also fixes an error in the Jinja template due to no else condition.

Todos

I will eventually replace this method with a call to the Youtube data API, which should return a list of available images. This method will however be slower, more complex, and require a API key.

Checklist

[ ] Changes are limited to a single goal (no scope creep)
[ ] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[ ] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[ ] Visually tested in supported browsers and devices
[ ] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

If there is text in the video title it looks like it'll be cropped at tablet size. Perhaps the stacked style should happen at a wider breakpoint?

Instead of changing the breakpoints, can we create a TODO for the designers to provide another default image that doesn't cut off the text?

Instead of changing the breakpoints, can we create a TODO for the designers to provide another default image that doesn't cut off the text?

+1 to this idea

If there is text in the video title it looks like it'll be cropped at tablet size. Perhaps the stacked style should happen at a wider breakpoint?

@sebworks I realized this behavior wasn't introduced in this PR.
@KimberlyMunoz @schaferjh Sounds good. There's an existing layout that kicks in at small sizes that I was thinking could happening at a wider breakpoint:

But I realized there is a much wider range of sizes where it gets cropped:

So probably easiest would be to have a preview image that doesn't include text for now. Or leave it as is as a bug for v2.

:+1: Looks good, just needs a comment for https://github.com/cfpb/cfgov-refresh/pull/1783#discussion_r58226689

I'm okay leaving it as a bug for v2 with the understanding @sebworks that you're using the About Us video in the FCM as an example here that that for that specific case on the live site, we'll see Cordray's image as the preview image across sizes?

That is correct @schaferjh. I may have a fix though.

If there is text in the video title it looks like it'll be cropped at tablet size. Perhaps the stacked style should happen at a wider breakpoint?

This is a limitation of the Featured Content Module, and related to the Google trademark being cut off from Google Maps images. I'm starting to think we need to go back to design on this module and rethink how the images are handled, there are non-text cases where it crops poorly as well.

:+1:

:+1:

That is correct @schaferjh. I may have a fix though

So I tried to convert the image to an SVG but that didn't produce results that were that much better. I'm going to go ahead and merge this PR.


Bug: Catalog has status Unpacked == True when really failing due to catalog image missing label operators.operatorframework.io.index.configs.v1

I noticed that when a catalog image doesn't contain the required label the Catalog has a status condition of Unpacked == True despite the following error message in the controller logs:
2023-11-02T20:17:36Z	ERROR	Reconciler error	{"controller": "catalog", "controllerGroup": "catalogd.operatorframework.io", "controllerKind": "Catalog", "Catalog": {"name":"catalogvbnjrwpclk"}, "namespace": "", "name": "catalogvbnjrwpclk", "reconcileID": "0fd2ce96-e262-4bab-a974-94c5bd731e14", "error": "source bundle content: error unpacking image: catalog image \"docker-registry.operator-controller-e2e.svc:5000/test-catalog:e2e\" is missing the required label \"operators.operatorframework.io.index.configs.v1\""}

and the catalog not existing in the HTTP server:
$ curl localhost:8080/catalogs/catalogvbnjrwpclk/all.json
404 page not found

It looks like this is caused by the cache directory created during the unpack process not being cleaned up if unpackImage() fails: https://github.com/operator-framework/catalogd/blob/d8e4df279b5ddf0d94f5f34f264651a3e59145d3/internal/source/image_registry_client.go#L103-L109


JSHint fixes

This resolves every JSHint error/warning, save for three files.
There is a function in bezierCurveTo.js that has 9 parameters, and the JSHint settings don't like that one bit. I didn't want to change the signature on my own, if indeed it should be changed at all.
 Interestingly, 4 of them don't seem to be used at all and could probably be removed (this.xy0_uint32 through this.xy3_uint32), leaving this.uvs_uint32 as the only one that would need changed, which would also resolve the issue in SpriteRenderer.js.
Thoughts?

Hi @AMorporkian, Thank you for the PR - this branch is no longer in use as it has been merged into Dev. I need to unpublish the v4.0.0 branch, sorry for the confusion!


modify varchar length of a field of a Pandas data frame when calling awswrangler.redshift.to_sql()

Hi,
I try to load (in overwrite mode) a Pandas DataFrame to Redshift using awswrangler.redshift.to_sql().  An instance of the DataFrame has a text field, Memo,  of which the length is 264 characters.  I try to pass in the parameter varchar_lengths to awswrangler.redshift.to_sql() to set the datatype of the corresponding column of the redshift table to varchar(65535).  But it turns out the datatype of the column is still varchar(256).  As a result, the loading fails.
I appreciate if your can let me know how to change the datatype of the column to varchar(65535).
Best regards,
Ey-Chih Chow

The error message of the above loading is:
[ERROR] ProgrammingError: {'S': 'ERROR', 'C': '22001', 'M': 'value too long for type character varying(256)', 'F': '/home/ec2-user/padb/src/pg/src/backend/utils/adt/varchar.c', 'L': '511', 'R': 'varchar'}
Traceback (most recent call last):
File "/var/task/kraken-lambda-st****-*-.py", line 203, in lambda_handler
wr.redshift.to_sql(df=sub_df, con=con, table=table_name, schema="call_center_stage", mode="overwrite",
File "/opt/python/awswrangler/_config.py", line 417, in wrapper
return function(**args)
File "/opt/python/awswrangler/redshift.py", line 839, in to_sql
cursor.executemany(sql, (parameters,))
File "/opt/python/redshift_connector/cursor.py", line 236, in executemany
self.execute(operation, parameters)
File "/opt/python/redshift_connector/cursor.py", line 211, in execute
self._c.execute(self, operation, args)
File "/opt/python/redshift_connector/core.py", line 1273, in execute
self.handle_messages(cursor)
File "/opt/python/redshift_connector/core.py", line 1356, in handle_messages
raise self.error

The varchar_lengths I passed in to the API is { "MEMO":65535 }.

Hi @eychih - I am trying to reproduce this but am unable at the moment. Can you please share a short script to reproduce please?
With the below:
import awswrangler as wr
import pandas as pd

df = pd.DataFrame({
    "id": [1, 2],
    "MEMO": ["foo", "boo"]
})

con_redshift = wr.redshift.connect("aws-data-wrangler-redshift")
wr.redshift.to_sql(df, con_redshift, schema="public", table="memo", mode="overwrite", varchar_lengths={"MEMO": 65535})

the varchar length is correctly set to 65535:


Add pravega client dependency to connector POM

Problem description
The Pravega client is currently shaded but not relocated in the connector JAR, and is not mentioned in the effective POM.  This is an odd situation, because an application that links to the connector is not told that Pravega is included, yet it is, or what version is included.   The application may well need to use the client directly, for example the pravega samples pre-create a scope in their main method.
Adding the client dependency is not as simple as it sounds, however.    If the connector were to have a straightforward dependency on the Pravega client in its effective POM, the application would see it as a transitive dependency and include it in its own uberjar without the shading that is normally required.    The true prerequisite is pravega/pravega#1339 (Pravega client to shade its dependencies), which would vastly simplify both the connector and the application.
Problem location
Suggestions for an improvement

fix pravega/pravega#1339
eliminate shading logic in connector
declare pravega client dependency

@yangb8 this is an issue that affects the hadoop-connector too.

Thanks for letting me know, will create issue and work on it


#66 nested request and response whitelist support

This is a minimal solution as suggested by @mbonig in #66.
This will work as expected for the default response/request filters.  For user implementations that whitelist nested values it will be up to the user to implement the functionality correctly (if not nested whitelist is present it should work as usual).
To the point made in #66 about passing the filter a trimmed object - I would argue this isn't required, and is already not what you expect today, even without nesting.

summoning @golopot

@kapalex we'll be able to merge as soon as we can get some tests

@golopot sorry for the delay, added a test for each case
since it's been a while I've merged with master to make sure there are not issues, if you'd rather avoid the clutter I can create a new fork and reapply the changes in a new pull request
@vim-daniel couldn't quite understand the issue, could you elaborate?

@kapalex well let's say that we have the following response whitelist
'body.id'
'body.someObj.id'
the code before my suggestion will include the body only if one the records in the whitelist is exactly 'body'
and if we add a 'body' record for the whitelist it'll include the whole body,
so to support dot notation response  whitelist we need to check if one of the records in the response whitelist starts with 'body'

@vim-daniel good point, I'll add the changes

This got kind of cluttered, going to reopen pull request with a clean fork.


Dynamic tabs + tabs-end slot - upgrade bootstrap-vue from 2.0.0-rc.24 to 2.0.4

I found a certain functionality not working based on the bootstrap-vue documentation.
The functionality in question is Dynamic tabs + tabs-end slot.
Upgrading from "bootstrap-vue": "2.0.0-rc.24", to "bootstrap-vue": "2.0.4", in the package.json file did the trick.
I am not sure if this eventually will break something else. Just wanted to let you guys know about it and maybe prevent a headache for others who encounter that problem.

Hi, thank you for reporting this issue!
We are planning to release an update with current bootstrap-vue version and needed fixes, stay tuned :)


[BUG]Set up recurring jobs backup

Describe the bug
I try to initialise the recurring backup and snapshot and I have this message error when edit the storage class:
storageclasses.storage.k8s.io "longhorn" was not valid:
parameters: Forbidden: updates to parameters are forbidden.
this is the edit of the storageclass :
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
annotations:
storageclass.beta.kubernetes.io/is-default-class: "true"
creationTimestamp: "2020-06-07T06:06:45Z"
labels:
io.cattle.field/appId: longhorn-system
name: longhorn
resourceVersion: "314741"
selfLink: /apis/storage.k8s.io/v1/storageclasses/longhorn
uid: f0d4471b-44b7-478c-8919-1aa230f14172
parameters:
baseImage: ""
fromBackup: ""
numberOfReplicas: "3"
staleReplicaTimeout: "30"
recurringJobs: '[{"name":"snap", "task":"snapshot", "cron":"*/1 * * * ", "retain":1},{"name":"backup", "task":"backup", "cron":"/2 * * * *", "retain":1}]'
provisioner: driver.longhorn.io
reclaimPolicy: Delete
volumeBindingMode: Immediate
To Reproduce
Steps to reproduce the behavior:

kubectl edit storageclass longhorn
add the settings
recurringJobs: '[{"name":"snap", "task":"snapshot", "cron":"*/1 * * * ", "retain":1},
{"name":"backup", "task":"backup", "cron":"/2 * * * *", "retain":1}]'
try to save

Expected behavior
Add the parameters for the recurring backup
Log
If applicable, add the Longhorn managers' log when the issue happens.
Environment:

Longhorn version: v1.0
Kubernetes version: v1.17.6
Node OS type and version: Ubuntu 18.04.4 LTS

@modogo2000 Kubernetes doesn't allow editing of parameters of Storage Class, you can always create a new one with required parameters.

Hi,
Thank you for the information. I recreate the storage class the issue is solved.
May be add a comment or give an option in the catalog to activate the recurring backup will be interressting.


Fix sampling for child spans when using opencensus trace provider

Title: Fix sampling for child spans when using Opencensus trace provider via https://github.com/envoyproxy/envoy/blob/v1.15.0/api/envoy/config/trace/v3/opencensus.proto
Description:
Opencensus trace provider honors envoy's trace sampling decision. But, there is an pending issue at their end https://github.com/census-instrumentation/opencensus-cpp/issues/294 where the child span will always be sampled even if the parent span is not sampled. This leads to lots of orphan child spans which results in confusion.
When parent span is not sampled, child span will fall back either to the sampler present in startSpanOptions sent along while calling startSpan method OR to the default sampler configured at Opencensus traceOptions
IMO, there are 2 ways to solve this.

Opencensus provides a way to configure the default sampler in traceOptions which envoy can expose in their config
While creating a child span at envoy side, we can send the startSpanOptions with the sampler set accordingly as parent span's tracing decision.

[optional Relevant Links:]

Any extra documentation required to understand the issue.

Among the mentioned solutions, the 1st one where we can configure the traceOptions of Opencensus through envoy is already existing.
trace_config mentioned in this proto https://www.envoyproxy.io/docs/envoy/latest/api-v3/config/trace/v3/opencensus.proto can be configured like below to avoid orphan child spans showing up in UI
<<elided>>
tracing:
  provider:
    name : envoy.tracers.opencensus
      typed_config:
        "@type": type.googleapis.com/envoy.config.trace.v3.OpenCensusConfig
        trace_config:
          constant_sampler:
            decision: ALWAYS_OFF #See issue: https://github.com/census-instrumentation/opencensus-cpp/issues/294
<<elided>>

We can close this issue if the above is an accepted solution.


ElegantOTA support

Hello, does anybody tried to port ElegantOTA to the PsyhicHTTP? Any forks?
Maybe someone created OTA based on Psyhic HTTP?

See https://github.com/ayushsharma82/ElegantOTA/issues/156
You need to use HowardsPlayPen/ElegantOTA for it to work for now.

This is awesome.  We are working on a v2.0 that will be more compatible with Psychic so hopefully it will work out of the box soon.


libkb: save bandwidth on sig/get

tell the server not to send down payload_json if we can read them out of signatures

Let's get two thumbs on this since it's security-sensitive. I'll take another look in the morning too.


[GSSOC'23]: adding Lines and its properties to Mathscape master C++

Describe the Feature you want to add
adding Lines and its properties to Mathscape master C++
Expected behavior
features-:

Calculation of slope of line
Check if two lines are parallel or perpendicular to each other
Distance between Point and line.

@MohitGupta121 @TusharKesarwani sir kindly assign me this issue


Inaccurate documentation about unsupported browser support.

The below information does not seem accurate, teams (as shown in the attached graphic) doesn't allow users to join at all, in unsupported browsers (in this case Firefox 74.0 (64-bit)), and requires them to join in Edge or download the app.
Either this should be corrected, or the documentation updated.

Some browsers, such as Internet Explorer 11, Safari, and Firefox, support the Microsoft Teams web app but don't support some of the Teams calling and meeting features. To work around this limitation, the Teams web app lets users receive audio through a PSTN connection and lets them view presented content (screen share) at a reduced display rate.

When Teams detects an unsupported browser, it automatically displays a message explaining the issue and the session limitations. The message provides further instructions for accessing the meeting audio, such as advising the user to leave a call back number so that Teams can call the user, or instructing the user to call the conference number included in the meeting invitation. The message also encourages the user to download and use the Teams desktop client for the full Teams experience.

If PSTN is unavailable, the user won't see the instructions for accessing the meeting and won't be able to join the meeting.

@bruceburge  Thank you for submitting feedback and contributing to the docs. We are currently investigating this.

@bruceburge thank you for reaching out and helping improve MS Docs. Please can you send me the link to the document you are referring to so I can investigate further.

@bruceburge We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

@bruceburge We appreciate any feedback that improves the content in the Microsoft docs but we haven't had any response from you so we are going to close this issue.
Please feel free to re-open this issue if there is a specific area of the docs that we can improve or make better. Thank you.

https://docs.microsoft.com/en-us/microsoftteams/unsupported-browsers
Not sure why the comment on github, from that page, wouldn't allow you to find that page, but the link above should work.


warehouse status should have "health" and "phase" fields

WarehouseStatus has a Message field that describes any errors encountered in the course of a reconciliation, but this alone might not be adequate for surfacing what's currently going on with a Warehouse. I have to dig a little too deep to get at this information.
When I run kubectl get warehouses or kargo get warehouses I'd like to see new columns that show with a glance:

Did the last reconciliation succeed or fail?

Is it currently discovering artifacts?
Ever since we move to discovering n recent artifacts instead of only selecting the latest applicable one, a single reconciliation loop can take a bit longer than it used to -- possibly even a couple minutes depending on what's going on in the rest of the system since we rate limit connections on a per-registry basis.
I want to know if my Warehouse is idling or currently doing something.

I propose two possible health states -- Healthy and Unhealthy. If Unhealthy, the message field will contain an error. (That part already works.)
I propose two possible phases -- Discovering and Idling.
This would require very little effort and I believe it would improve the UX significantly for CLI / kubectl users.
@jessesuen @hiddeco any thoughts on this?

The way I have dealt with this in the past is using conditions, which are kind of the successors of "phases" in Kubernetes API designs based on:

Some resources in the v1 API contain fields called phase, and associated message, reason, and other status fields. The pattern of using phase is deprecated.
— https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md

A Reconciling condition would then be added when the Kubernetes object is "in motion", and removed once it reaches a stable state.
This makes me wonder if it would not be more practical for Kargo to move to such a pattern, as it allows you to describe one (or more) indication about the resource state.

@hiddeco I'd be open to that if we do it across the board for consistency. If we were to do so, how do you propose we distill the conditions down to something suitably phase-like for easy human consumption?
When I do kargo get <resource type>, I want to be easily able to easily discern the current state from the information in the returned columns.

Taking Warehouse as an example, this could look something like the following using the metav1.Condition type. Which can easily be disabled as columns using e.g.
// +kubebuilder:printcolumn:name="Healthy",type="string",JSONPath=".status.conditions[?(@.type==\"Healthy\")].status",description=""
// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type==\"Ready\")].status",description=""

Discovering artifacts and healthy
status:
  conditions:
    - type: Reconciling
      status: True
      reason: ScheduledDiscovery
      message: "Currently discovering artifacts for 3 sources."
      lastTransitionTime: "2024-07-01T12:00:00Z"
    - type: Ready
      status: False
      reason: ScheduledDiscovery
      message: "Currently discovering artifacts for 3 sources."
      lastTransitionTime: "2024-07-01T12:00:00Z"
    - type: Healthy
      status: True
      reason: AllSourcesAccessible
      message: "All 3 sources are accessible."
      lastTransitionTime: "2024-07-01T12:00:00Z"

Idling and healthy
status:
  conditions:
    - type: Ready
      status: True
      reason: ArtifactsDiscovered
      message: "Discovered 86 artifacts from 3 sources."
      lastTransitionTime: "2024-07-01T12:00:00Z"
    - type: Healthy
      status: True
      reason: AllSourcesAccessible
      message: "All 3 sources are accessible."
      lastTransitionTime: "2024-07-01T12:00:00Z"

Discovering artifacts and unhealthy
status:
  conditions:
    - type: Reconciling
      status: True
      reason: ScheduledDiscovery
      message: "Currently discovering artifacts for 3 sources."
      lastTransitionTime: "2024-07-01T12:00:00Z"
    - type: Ready
      status: False
      reason: SourceInaccessible
      message: "One or more sources are inaccessible."
      lastTransitionTime: "2024-07-01T12:00:00Z"
    - type: Healthy
      status: False
      reason: SourceInaccessible
      message: "One or more sources are inaccessible."
      lastTransitionTime: "2024-07-01T12:00:00Z"

For other Kargo API kinds, we would have to translate the existing phases to condition types like the above. The goal here would be to share certain condition types as much as we can across kinds (e.g. Ready, Healthy, and Reconciling) to describe the "high level" state, which eases consumption over having to learn the specific condition types for each kind.
However, specific ("lower level") condition types would still be allowed to exist, and can often be summarized, composed and/or merged into these "higher level" types.

@hiddeco that looks quite good to me.

The choice to do this regardless is because this is what kstatus (a Kubernetes SIG project) instructs, which has worked well on previous projects (e.g. all of the Flux controllers) I worked on.
I think this is an exception because Reconciling may only happen for some objects once (e.g. during initialization). If it does however cause issues in whatever way you depend on the conditions, I am happy to revise.

Thanks for the quick reply and additional reading material :-)
(not tongue-in-cheek at all, it's all at a relevant time for me!)

This was closed by #2239


Allowing setting pufferfish size to any value

This is useful for entity shadows. Needed for WSEE.

Shouldn't the bounding box be updated to the correct value if the provided size also happens to be a valid number for a state?

I don't think that is necessary, setState exists and can be used to set a valid state. This method is to set invalid states, in order to use the shadow of the pufferfish.


Long expansion panel descriptions overflow the panel.

Bug, feature request, or proposal:
If you have a longer than normal expansion panel description it overflows over the expansion panel and pushes the label out of place.
What is the expected behavior?
The description should truncate and add an ellipses, or some other way to gracefully hand this situation.

What is the current behavior?
If a description is long it will push the title out of place  and overflow.

What are the steps to reproduce?
https://stackblitz.com/edit/angular-fcxlsc?file=app/expansion-overview-example.html
What is the use-case or motivation for changing an existing behavior?
It looks pretty bad if a long description is used.
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
Tested on Angular Material 5.2.4 using chrome 65.0.3325.181 and firefox 59.0.2.
Is there anything else we should know?
Nothing.

For reference; here's an example of the expansion panel in material-ui: https://codesandbox.io/s/917pm83o5r
They expand to fit the text.

A solutions can be found here: https://github.com/angular/components/issues/16476#issuecomment-510578676

A solution can be found here: https://github.com/angular/components/issues/16476#issuecomment-510565613


Installing only dependencies.

Installing only production dependencies during gulp. Fixing package.json where they are not properly added to dependencies section.

Synced offline. Eric is going to address this in a separate PR addressing all the needs hence closing the PR


feat: Add selenoid plugin

Motivation/Description of the PR
To integrate selenoid with CodeceptJS.
Supported features :

Create/start/stop selenoid docker image automatically
Video recording
Log recording

currently supported Webdriver. For Windows machine, docker will not be created automatically but start and stop will work
Applicable helpers:

[X] Webdriver

Fixes #2117
Type of change

[X] New functionality

Checklist:

[ ] Tests have been added
[ ] Documentation has been added (Run npm run docs)
[ ] Lint checking (Run npm run lint)
[ ] Local tests are passed (Run npm test)

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  3

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  3

See the complete overview on Codacy

@koushikmohan1996  can we add tests if it is possible?

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy

 Here is an overview of what got changed by this pull request:

Complexity increasing per file
==============================
- lib/plugin/selenoid.js  6

See the complete overview on Codacy


Automatically wrap SQLite usage in transactions and respect OutputGate.

Per the old blog post:
https://blog.cloudflare.com/durable-objects-easy-fast-correct-choose-three/
All writes that occur without an await in between are supposed to be automatically coalesced and submitted atomically.
With this change, the SQLite-based DO storage respects this requirement, by automatically creating a transaction.
As it turns out, this actually makes SQLite more efficient. Multiple changes to the same pages will be coalesced, and fsync()s will only be needed at commit time.

I added a bunch of commits to this so that now we automatically wrap sqlite in transactions.
(It took me a few tries to figure out how to remove @jasnell's approval, which was based on a much smaller PR... sorry for the notification spam, James)

@xortive I think we may need to do something clever where we store metadata about alarms both inside the actor's database and also externally in the alarm manager. The internal metadata always stores the true alarm. The external alarm manager must always store a time that is no later than the current alarm time.
So:

When the alarm is being moved earlier, we update the external alarm before the internal metadata.
When the alarm is being moved later, we update the external alarm after the internal metadata.
When we receive an alarm, we check it against the internal metadata. If the alarm came too early, we reset the external alarm manager to the expected time and do not deliver the alarm event for now.

This logic will also be useful for integrating with the production alarm manager.

Hopefully we have a decently broad sqlite/D1 test suite to determine that this automatic wrapping of any non-readonly statement doesn't break too many different things?

Well, I don't think we expect to be able to migrate existing production D1 users over to this transparently, so strict compatibility is not really a concern. Also I believe D1 has been automatically wrapping this in transactions all along.
That said, is there some particular sort of breakage you're worried about?

I'm not worried about existing D1 users, just about anyone who would like to port over existing code bases that use sqlite to either D1 or DO's new SQL API.
The more big differences like this -- where any statement that isn't allowed to be run in a transaction just flat-out fails -- the harder that will be.  It's not the end of the world obviously, but the harder it is to port over apps that use sqlite, the more docs/SE support will be needed to onboard users and the less value we get from sharing the sqlite API.

But without a fairly broad or representative test suite, I don't know if we have any idea just how many statement types / applications this might break.

I see. Given my understanding of how SQLite implements transactions (via the WAL), I would expect that every statement that modifies the database content is able to run as part of a transaction.
There are some pragmas that cannot run in transactions, but we're carefully controlling pragmas, so we can analyze them individually.
One odd one is PRAGMA foreign_keys, which is apparently ignored inside of a transaction. However, this pragma only affects the database connection, not the content, and therefore sqlite considers it read-only. So at least it's still possible to run this at the start of an event before doing any writes. I agree it's a weird wart, though, which we might want to improve... maybe we can actually detect this pragma and implicitly commit the transaction before it is used...


Empty Config object for Production Release android build

Hey guys,
    "react": "18.1.0",
    "react-native": "0.70.6",
    "react-native-config": "^1.4.11",

.env
REACT_APP_BACKEND_BASE=http://<IP_ADDRESS>xx:xxxx
REACT_APP_FRONTEND_BASE=http://<IP_ADDRESS>xx:xxxx
NODE_ENV=dev

.env.production
REACT_APP_BACKEND_BASE=https://api.xxxx.app
REACT_APP_FRONTEND_BASE=https://xxxx.app
NODE_ENV=production

I am struggling a lot for building for an android release version.
After going through setting instructions, .env (dev) is being picked up properly.
 yarn android --variant=DevelopmentDebug

However, when I build it with Production Release version, .env.production is not being picked up. Config resolves to {}.
yarn android  --variant=ProductionRelease
I even see the message coming in building process
> Configure project :app
Reading env from: .env.production
<=------------> 8% CONFIGURING [6s]

However, Config is just an empty object {}
These are my configs

project.ext.envConfigFiles = [
    Development: ".env",
    Production: ".env.production",
    Staging: ".env.staging"
]

One thing that I skipped was MainApplication.java
If I add this line, the app just crashes on launch. I think after RN 70 auto link takes care of it. (I guess)
          // packages.add(new ReactNativeConfigPackage());

It would be awesome if you guys can let me know where to look, and what to show further confirm my settings.
Thanks!

https://github.com/luggit/react-native-config/issues/596#issuecomment-1023064048
this saved me.
Thanks


not letting me preview css

css is linked, but the previewer is only showing the html without the css.

bump

I am having the same issue.  I'm using version 1.42.0-1 in Manjaro Linux.  It was working earlier last week without issue, I had to reinstall Manjaro and reinstalled Atom with the same plugins I had installed previously.  I can see the text from the body of the html but not the style changes from the linked css file.  Both files are in the same folder.  I have attached screenshots of the html and css file content with the preview pain.

Please provide more information to reproduce the issue; I cannot reproduce this issue.

请提供更多信息以重现该问题；我无法重现此问题。

i can not preview my html even if  i intall the preview package.
lack of preview button when i use ctrl shift+h.it does not work
version:1.52.0


dts-critic should not run on vN/ subdirectories

Even though these files may have headers.

Fixed by e0830413119edc93d5dc02ad1a5ee5d3c64b2e14


runtime-interface error[E0512] on the Kitties tutorial

I am facing this issue when building the project.
error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> /Users/fabianwidyadri/.cargo/git/checkouts/substrate-7e08433d4c370a21/26d69bc/primitives/runtime-interface/src/impls.rs:45:1
   |
45 | assert_eq_size!(usize, u32);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `usize` (64 bits)
   = note: target type: `u32` (32 bits)
   = note: this error originates in the macro `assert_eq_size` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0512]: cannot transmute between types of different sizes, or dependently-sized types
  --> /Users/fabianwidyadri/.cargo/git/checkouts/substrate-7e08433d4c370a21/26d69bc/primitives/runtime-interface/src/impls.rs:47:1
   |
47 | assert_eq_size!(*const u8, u32);
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: source type: `*const u8` (64 bits)
   = note: target type: `u32` (32 bits)
   = note: this error originates in the macro `assert_eq_size` (in Nightly builds, run with -Z macro-backtrace for more info)

rustup show:
Default host: aarch64-apple-darwin
rustup home:  /Users/fabianwidyadri/.rustup

installed toolchains
--------------------

stable-aarch64-apple-darwin (default)
nightly-aarch64-apple-darwin

active toolchain
----------------

stable-aarch64-apple-darwin (default)
rustc 1.56.1 (59eed8a2a 2021-11-01)

@fwidyadri I would love to help. But I will need to look at the project src before knowing what's wrong. Could you push your current project to github so I can take a further look?

@jimmychu0807 Thanks for your help. I have added you to my private repo.

I was having the same issue. It's actually a dependency issue from within the pallet's cargo.toml.
I was able to fix it by adding the following into pallets/kitties/Cargo.toml
[dependencies.sp-io]
default-features = false
git = 'https://github.com/paritytech/substrate.git'
tag = 'monthly-2021-11-1'
version = '4.0.0-dev'

Note, every tag field in the file needs to be 'monthly-2021-11-1'.

@Petras98 Appreciate the help! It fixed the error. I will close this item.


Unable to create Sidecar socket listener that points to a remote service

Bug Description
In our non-Istio environment, we use an Envoy sidecar container to provide unix-socket paths to point to remote services... eg, /var/run/httpbin.sock -> https://httpbin.org). We are trying to replicate this behavior in Istio with the Sidecar and ServiceEntry resources.
The issue we seem to have is that we cannot set the egress[].port.number value to any value other than 0 when egress[].bind is set to a socket path. This then is a problem when you try to map it to a ServiceEntry where we've defined port 443 or 80.
Take this example:
# Sidecar spec...
spec:
  egress:
  - bind: unix:///var/run/sockets/httpbin.sock
    hosts:
    - ./httpbin.org
    port:
      name: https
      number: 0
      protocol: HTTPS
  - captureMode: IPTABLES
    hosts:
    - ./*

# serviceentry spec...
  spec:
    endpoints:
    - address: httpbin.org
    hosts:
    - httpbin.org
    location: MESH_EXTERNAL
    ports:
    - name: http
      number: 80
      protocol: HTTP
      targetPort: 443
    - name: https
      number: 443
      protocol: HTTPS
    resolution: DNS

We end up with the following envoy config:
ADDRESS                       PORT  MATCH                                                                    DESTINATION
/var/run/sockets/httpbin.sock 0     ALL                                                                      Cluster: outbound|0||httpbin.org

The issue is that there is no outbound|0 service, there is an outbound|443... service.
This seems like a bug? Unless the documentation is just unclear to me on how we are supposed to configure the sidecar for this use case.
Notes on Socket Paths
Yes, I am aware and have already configured the sidecar to share a volume between the primary container and the istio-proxy container. Also, I am aware that there may not be much of a performance reason to do what we are asking ... we are working to migrate a large application from ECS to K8S and into the mesh ... and we are trying to maintain as much that is "the same" during the migration process, just to reduce the number of variables.
Version
$ istioctl version
client version: 1.11.0
control plane version: 1.13.2
data plane version: 1.13.2 (18 proxies)

$ kubectl version --short
Client Version: v1.22.2
Server Version: v1.21.5-eks-bc4871b

### Additional Information

_No response_

Assume you expect taffic to unix:///var/run/sockets/httpbin.sock, will be routed based on port number. But port concept not work with UDS. So Istio sidecar egress do not allow setting port number for uds. Now It can work only for service with one port.

@hzxuzhonghu Thanks for the response.. So we just want one socket to point to one port on one service. Eg, /var/run/sockets/httpbin.sock -> https://httpbin.org:443.

@hzxuzhonghu Ok, after reading your message more closely - I tried removing  the extra port (443) from the service entry and suddenly things changed a little bit.
Here is my updated test configuration
# Source: envoy/templates/test-sts.yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: envoy-test-pod
spec:
  serviceName: envoy-test-pod
  replicas: 1
  selector:
    matchLabels:
      monolith.app.com/envoy: default
      envoy.app.com/kind: test-pod
  template:
    metadata:
      annotations:
        proxy.istio.io/config: '{ "holdApplicationUntilProxyStarts": true }'
        sidecar.istio.io/userVolumeMount: '[{ "name": "sockets", "mountPath": "/var/run/sockets" }]'
      labels:
        monolith.app.com/envoy: default
        envoy.app.com/kind: test-pod
        sidecar.istio.io/inject: "true"
    spec:
      terminationGracePeriodSeconds: 1
      #securityContext:
      #  runAsUser: 1337
      #  runAsGroup: 1337
      #  fsGroup: 1337

      volumes:
        - name: sockets
      containers:
        - name: test
          image: curlimages/curl:latest
          command: [sh, -c, 'while true; do sleep 5; done']
          volumeMounts:
            - name: sockets
              mountPath: /var/run/sockets
---
# Source: envoy/templates/serviceentries.yaml
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: envoy-httpbin
spec:
  host: httpbin.monolith-test.svc.cluster.local
  trafficPolicy:
    portLevelSettings:
      - port:
          number: 80
        tls:
          mode: SIMPLE
          sni: httpbin.org
          insecureSkipVerify: true
---
# Source: envoy/templates/envoyfilter.yaml
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: envoy-app-fault-injection
spec:
  workloadSelector:
    labels:
      monolith.app.com/envoy: default
  configPatches:
    - applyTo: HTTP_ROUTE
      match:
        context: ANY
        routeConfiguration:
          vhost:
            route:
              name: inject-delay-route
      patch:
        operation: MERGE
        value:
          typed_per_filter_config:
            envoy.filters.http.fault:
              '@type': type.googleapis.com/envoy.extensions.filters.http.fault.v3.HTTPFault
              delay:
                header_delay: {}
                percentage:
                  numerator: 1000000
                  denominator: MILLION
              headers:
                - name: app-inject-delay
---
# Source: envoy/templates/serviceentries.yaml
apiVersion: networking.istio.io/v1beta1
kind: ServiceEntry
metadata:
  name: envoy-httpbin
spec:
  location: MESH_EXTERNAL
  resolution: DNS
  hosts:
    - httpbin.monolith-test.svc.cluster.local
  endpoints:
    - address: httpbin.org
  exportTo:
    - .
  ports:
    - name: http
      protocol: HTTP
      number: 80
      targetPort: 443
---
# Source: envoy/templates/sidecar.yaml
apiVersion: networking.istio.io/v1beta1
kind: Sidecar
metadata:
  name: envoy
spec:
  workloadSelector:
    labels:
      monolith.app.com/envoy: default
  egress:
    - port:
        protocol: HTTP
        name: http
      bind: unix:///var/run/sockets/httpbin.sock
      captureMode: NONE
      hosts:
        - ./httpbin.monolith-test.svc.cluster.local

    - captureMode: IPTABLES
      hosts:
        - ./*

    "X-Envoy-Peer-Metadata-Id": "sidecar~<IP_ADDRESS>~envoy-test-pod-0.monolith-test~monolith-test.svc.cluster.local"
  }
}
/run/sockets $ curl --unix-socket /var/run/sockets/httpbin.sock http:/headers -v -k
*   Trying /var/run/sockets/httpbin.sock:0...
* Immediate connect fail for /var/run/sockets/httpbin.sock: Permission denied
* Closing connection 0
curl: (7) Couldn't connect to server
/run/sockets $

We can see that the unix socket is owned by 1337 and has 755 permissions:
/run $ cd /var/run/sockets/
/run/sockets $ ls -la
total 12
drwxrwsrwx    2 root     1337          4096 Apr 19 13:52 .
drwxr-xr-x    1 root     root          4096 Apr 19 13:49 ..
srwxr-xr-x    1 1337     1337             0 Apr 19 13:52 httpbin.sock
/run/sockets $

So just for the sake of testing the socket, I relaunched the Pod with the security context set:
       securityContext:
         runAsUser: 1337
         runAsGroup: 1337
         fsGroup: 1337

This breaks the DNS resolution of http://httpbin (I think that is intentional), but allows us to hit the socket for now:
$ k exec -ti envoy-test-pod-0 -- sh
/ $ id
uid=1337 gid=1337 groups=1337
/ $ ls -la /var/run/sockets
total 12
drwxrwsrwx    2 root     1337          4096 Apr 19 14:02 .
drwxr-xr-x    1 root     root          4096 Apr 19 14:02 ..
srwxr-xr-x    1 1337     1337             0 Apr 19 14:02 httpbin.sock
/ $ curl --unix-socket /var/run/sockets/httpbin.sock http:/headers -v -k
*   Trying /var/run/sockets/httpbin.sock:0...
* Connected to headers (/var/run/sockets/httpbin.sock) port 80 (#0)
> GET / HTTP/1.1
> Host: headers
> User-Agent: curl/7.82.0-DEV
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 503 Service Unavailable
< content-length: 19
< content-type: text/plain
< date: Tue, 19 Apr 2022 14:02:33 GMT
< server: envoy
<
* Connection #0 to host headers left intact
no healthy upstream/ $

The istio-proxy logs for that failed request:
{"level":"warning","time":"2022-04-19T14:02:34.120221Z","scope":"envoy upstream","msg":"original_dst_load_balancer: No downstream connection or no original_dst."}
{"response_code":503,"bytes_received":0,"downstream_local_address":"/var/run/sockets/httpbin.sock","upstream_transport_failure_reason":null,"request_id":"c8064687-dcb3-917a-874a-47a458208f11","response_flags":"UH","requested_server_name":null,"authorization":null,"connection_termination_details":null,"x_forwarded_for":null,"upstream_cluster":"PassthroughCluster","downstream_remote_address":"/var/run/sockets/httpbin.sock","duration":0,"upstream_local_address":null,"authority":"headers","upstream_service_time":null,"path":"/","bytes_sent":19,"method":"GET","start_time":"2022-04-19T14:02:34.120Z","protocol":"HTTP/1.1","user_agent":"curl/7.82.0-DEV","upstream_host":null,"grpc_status":"Unavailable","response_code_details":"no_healthy_upstream","route_name":"allow_any"}

So I guess I have two questions at this point..

How can we control the permissions of the socket that is created by Envoy so that it's 777?
Why are we getting the no healthy upstream error?

@hzxuzhonghu Any thoughts?

UDS was designed for VM application, I donot remeber anyone use it in pod.

This breaks the DNS resolution of http://httpbin (I think that is intentional), but allows us to hit the socket for now:

Sidecar egress binding should not influence  DNS resolve.

@hzxuzhonghu

Sidecar egress binding should not influence DNS resolve.

Sorry - the sidecar binding itself did not cause the problem. The problem is that in order to write to the socket (since it's set up as 755 permissions), you have to run your container as UID 1337... which then causes the DNS iptables rules to not work... along with a whole host of other issues with being compatible with a third party container.
Presumably there is some way to tell Envoy to set the permissions to 777 on sockets it creates?

IC, thanks for the investigation

@hzxuzhonghu So any thoughts on how to make the binding work?

We did not try this way in Huawei


⚠ Spryr has degraded performance

In 3c5ed5b, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 3497 ms

Resolved: Spryr performance has improved in 5a8bf67 after 10 minutes.


Use voluptuous for time/date sensors

Description:
Related issue (if applicable): fixes 127528299
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#
Example entry for configuration.yaml (if applicable):
sensor:
  - platform: worldclock
    time_zone: America/New_York
    name: New York
  - platform: time_date
    display_options:
      - 'time'
      - 'date'
      - 'beat'

Checklist:
If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If code communicates with devices, web services, or a:

[] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[] New dependencies have been added to the REQUIREMENTS variable (example).
[] New dependencies are only imported inside functions that use them (example).
[] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[] New files were added to .coveragerc.

If the code does not interact with devices:

[ ] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] Tests have been added to verify that the new code works.

Ok to merge when comments addressed 🐬


tablet styling

Issue

https://github.com/TalkToBeavs/TalkToBeavs/issues/58

Changes

Fixed the error seen in Issue above (top right corner navbar having some overlapping sections, for 768px width, iPad Mini)

Just changed isMobile property in Skeleton.jsx to 767 px. Putting it too much lower seemed to cause issues with some other tablet / phone resolutions (other than ipad mini)

Also added @esbuild/win32-x64 package as I got some npm errors without it (maybe needed because I am on a Windows laptop)

Testing

PS: If you need to make any further adjustments to isMobile property in Skeleton.jsx, please stop and restart the frontend web server (cd frontend, Ctrl / Cmd C, npm run dev) after each change for most reliable results

Screenshot

PS: I think there is a hard to explain issue affecting the mobile styling in general (phone and tablet alike)
Bug Demo Vid: https://youtu.be/gP1hlnSaBnA
In Inspect Element you can see a weird white padding appears on the right and it sometimes goes away if I tap some menu
And it's not just in Inspect Element; as seen in the screenshot from earlier I replied to, it also happens on my iphone sometimes (idk why only sometimes, needs research)


Video saved in webm

Hello. I add playlist from youtube and start download, but video saved as webm. How i can fix it? On 1PC save as .mkv, on second PC saved as webm? I dont understand

Make sure the "download clean audio" checkbox in the options is not checked. If the problem persist send me a screenshot of your download options

Make sure the "download clean audio" checkbox in the options is not checked. If the problem persist send me a screenshot of your download options

thanks! it works - "download clean audio" is disabled!

I also encountered the problem of downloading playlists in webm audio format, and not as video files. The problem was fixed by disabling the "Download clean audio, without converting to any format" setting. I suggest adding a note to the description of this setting that enabling it may cause an unexpected effect in the form of the inability to download videos.
YouTube Playlist Downloader v1.9.24
Microsoft Windows 10.0.19045.4717


⚠ Bofrost.lu has degraded performance

In df55be4, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 963 ms

Resolved: Bofrost.lu performance has improved in 2dcdab6 after 1 hour, 11 minutes.


Restructure deploy docs to list install & unistall as part of one section

Restructure deploy docs to list install & unistall as part of one section, ie focussed on Helm.
Today we have install with all options and uninstall with all options which is less ideal.

Waiting for https://github.com/kedacore/keda-docs/pull/143 to be merged.


[New Feature]: Upgrade Microsoft.SQLServerManagementStudio

Description of the new feature/enhancement
Current available latest version is 15.0.18420.0, but 18.12.1 is available online.
See package at: https://github.com/microsoft/winget-pkgs/tree/master/manifests/m/Microsoft/SQLServerManagementStudio
See https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms?view=sql-server-ver15
Proposed technical implementation details (optional)
No response

@vedantmgoyal2009  / @jedieaston - I think all of SSMS should be changed to have the PackageVersion be the marketing version, and then add the DisplayVersion key to all the AppsAndFeaturesEntries
Thoughts?

I agree.

Sounds good to me. Is 1.3 being shipped to normal people via the Store yet?

Sounds good to me. Is 1.3 being shipped to normal people via the Store yet?

I’m not sure. I would think it would go out very very soon, but I don’t know what the plan for it is.
We can always make the changes and wait on merging the PRs until the release

Resolved by #71623

Awesome, I think we can close this issue, right?
When is it going to be available?

Awesome, I think we can close this issue, right? When is it going to be available?

Yes, I think we can close this issue. The package has successfully passed through the publish pipeline and is available when you run winget install Microsoft.SQLServerManagementStudio

I still see these versions when running winget show ssms --versions

15.0.18420.0
15.0.18410.0
15.0.18390.0
Do these need to have their version corrected to the Marketing Version still?

I still see these versions when running winget show ssms --versions
* 15.0.18420.0

* 15.0.18410.0

* 15.0.18390.0

Do these need to have their version corrected to the Marketing Version still?

jedieaston has created PRs for them, they are waiting to be merged.
#71660
#71659
#71658

Close with reason: All PRs to fix versions have been merged. Changes will be present once the publish pipeline is un-paused and runs successfully;


Remove unneeded markup extensions

Remove our Static and Type markup extensions since we can use the portable ones now.
Fixes #1082
Fixes #115

We should start keeping track of breaking changes between versions somewhere.


Add content safety info to SELECT_SEARCH_RESULT event

Fixes

Fixes #2969 by @dhruvkb
Description

This PR adds two fields sensitivity and isBlurred to the SELECT_SEARCH_RESULT event.
Testing Instructions

Check out the PR and run the dev server.
Search for some term.
Choose a result.
Observe the event in the Console and in the Network logs.

Checklist

[x] My pull request has a descriptive title (not a vague title likeUpdate index.md).
[x] My pull request targets the default branch of the repository (main) or a parent feature branch.
[x] My commit messages follow best practices.
[x] My code follows the established code style of the repository.
[ ] I added or updated tests for the changes I made (if applicable).
[ ] I added or updated documentation (if applicable).
[x] I tried running the project locally and verified that there are no visible errors.
[ ] I ran the DAG documentation generator (if applicable).

Developer Certificate of Origin

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
1 Letterman Drive
Suite D4700
San Francisco, CA, 94129

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
    have the right to submit it under the open source license
    indicated in the file; or

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

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

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

Drafting to look into CI failures.

Added @sarayourfriend as a reviewer because @AetherUnbound is AFK (at a meetup).


acs-engine upgrade removed masters and returned varible limit exceeded error.

Is this a request for help?:
Yes.
Is this an ISSUE or FEATURE REQUEST? (choose one):
Issue
What version of acs-engine?:
Version: v0.20.0
Orchestrator and version (e.g. Kubernetes, DC/OS, Swarm)
Kubernetes
What happened:
Running out of IPs in my vnet returned a nil panic, for better troubleshooting information I initiated an upgrade from 1.10 to 1.11, which resulted in:
Error upgrading cluster: resources.DeploymentsClient#CreateOrUpdate: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="InvalidTemplate" Message="Deployment template validation failed: 'The number of template variables limit exceeded. Limit: '256' and actual: '261'. Please see https://aka.ms/arm-template/#variables for usage details.'."

The error occurred after acs-engine deleted my masters, effectively rendering the cluster unmanageable.
What you expected to happen:
For the cluster to a) get upgraded or b) fail without losing my masters.
How to reproduce it (as minimally and precisely as possible):
The clusters is deployed with following config:
3 masters
66 windows nodes in 1. nodepool
18 windows nodes in 2. nodepool
4 linux nodes in a 3. nodepool
version 1.10
Deploy with acs-engine v0.18.0 and try to upgrade with acs-engine v0.20.0 to 1.11.1
Please ask for any logs you could need to debug this issue, i cannot fetch any master logs, since well, there are no masters anymore.
rerunning the acs-engine upgrade command at looking at the output, it seems that acs-engine is aware that there is no masters available and is trying to re-create a master, then is when the variable limit exceeded error is returned.

@BIGPHATTOBY This is a known limitation of using many nodes in > 1 agentpool (i.e., the number of template variables scales linearly with nodes + pools)
You could try manually removing a nodepool after a cordon/drain, if that is possible given your current workloads, or reducing node count.
Again, this is a undesirable situation, sorry about that. Getting yourself out of it without building a new cluster will be manual. We'll try to help.

Fixed with #3649


Make sure interpreter errors are never discarded

One important invariant of Miri is that when an interpreter error is raised (in particular a UB error), those must not be discarded: it's not okay to just check foo().is_err() and then continue executing.
This seems to catch new contributors by surprise fairly regularly. Would be good to make sure this can never happen. Ideally we'd have some sort of static analysis for this, but I can't think of an easy way to do that (could be an interesting clippy lint). The next best thing is to enforce this dynamically. The problem is that InterpError creation does not have access to the InterpCx. So instead we'd need some thread-local state to indicate "this interpreter is busted, don't continue executing in it... and we'd have to hope that nobody creates two interpreter instances on the same thread... but I can't think of a better way right now.

drop bombs to discourage misuse?

Yeah, maybe that works.

I actually encountered this a few times so I'd really appreciate this enhancement, here is how I usually encounter this:
This usually happen when I forgot to put a ? for function that returns  InterpResult,  for example:
        match offset {
            None => fd.read(&fd, communicate, buf, count, dest, this),
            Some(offset) => {
                let Ok(offset) = u64::try_from(offset) else {
                    let einval = this.eval_libc("EINVAL");
                    this.set_last_error(einval)?;
                    this.write_int(-1, dest)?;
                    return Ok(());
                };
                fd.pread(communicate, offset, buf, count, dest, this)
            }
        };

(fd.read and fd.pread return InterpResult)
At this point, the compiler will emit an error and suggestion:
warning: unused `Result` that must be used
   --> src/shims/unix/fd.rs:587:9
    |
587 | /         match offset {
588 | |             None => fd.read(&fd, communicate, buf, count, dest, this),
589 | |             Some(offset) => {
590 | |                 let Ok(offset) = u64::try_from(offset) else {
...   |
597 | |             }
598 | |         };
    | |_________^
    |
    = note: this `Result` may be an `Err` variant, which should be handled
    = note: `#[warn(unused_must_use)]` on by default
help: use `let _ = ...` to ignore the resulting value
    |
587 |         let _ = match offset {
    |         +++++++

So if I didn't examine the suggestion carefully, I would just directly apply the suggestion and leads to:
        let _ = match offset {
            None => fd.read(&fd, communicate, buf, count, dest, this),
            Some(offset) => {
                let Ok(offset) = u64::try_from(offset) else {
                    let einval = this.eval_libc("EINVAL");
                    this.set_last_error(einval)?;
                    this.write_int(-1, dest)?;
                    return Ok(());
                };
                fd.pread(communicate, offset, buf, count, dest, this)
            }
        };

After the change, it will compile successfully. IMO This error is pretty dangerous as it can only be caught manually or by certain test, and the test error is not helpful for debugging as it points to different direction (  related discussion in zulip )
The correct fix for the initial code is actually:
        match offset {
            None => fd.read(&fd, communicate, buf, count, dest, this)?,
            Some(offset) => {
                let Ok(offset) = u64::try_from(offset) else {
                    let einval = this.eval_libc("EINVAL");
                    this.set_last_error(einval)?;
                    this.write_int(-1, dest)?;
                    return Ok(());
                };
                fd.pread(communicate, offset, buf, count, dest, this)?
            }
        };

Yeah IMO that's a dangerous suggestion to make.

FWIW diagnostics and compilation errors in rustc work in a similar fashion, and dropping one without emitting it will ICE ultimately via panic_any. Since this is a programmer error and not user error, panicking is a reasonable out.
Just make sure to check if you're already panicking to avoid a double panic abort.

Unfortunately, panic-on-drop doesn't work. We have users like GVN that call interpreter methods like this
                let lhs = self.evaluated[lhs].as_ref()?;
                let lhs = self.ecx.read_immediate(lhs).ok()?;
                let rhs = self.evaluated[rhs].as_ref()?;
                let rhs = self.ecx.read_immediate(rhs).ok()?;
                let val = self.ecx.binary_op(bin_op, &lhs, &rhs).ok()?;

So any error is immediately dropped and turned into an Option.
However, it also seems entirely possible that one interpreter triggers a query that triggers const-eval that leads to another interpreter instance being created, possibly on the same thread. So TLS won't work either.
So... the next best thing I can think of is to use an extension trait to add a discard_interp_error method to InterpResult that returns Option, and use that everywhere in GVN (and everywhere else) instead of ok().

I went with the extension trait method: https://github.com/rust-lang/rust/pull/130885.

I hit this error today, and I really like this change!
Preparing a sysroot for Miri (target: x86_64-unknown-linux-gnu)... done
thread 'rustc' panicked at compiler/rustc_middle/src/mir/interpret/error.rs:745:13:
an interpreter error got improperly discarded; use `discard_err()` if this is intentional


Add README.md with basic and contributors' information

github repositories without a README.md are pretty uncommon these days.
I copied some introductory text from pfsense.org and added information given to me by Jamie Thompson. This README.md would also be the place to announce that the webGUI-part undergoes heavy changes towards Bootstrap (and link to the corresponding file, which contains valuable information about developer-setup btw). Please tell me if I should open a redmine isse beforehand in the future.
I have to admit that I am not familar with the build-tools and thus did not test whether adding a file at the top level breaks anything.

Merged, thanks! That won't have any functional impact on the build tools or anything.

The "Contribute" part should be on a separate CONTRIBUTING.md file, to take advantage of the link that GitHub adds when a contributor opens a Pull Request:
https://github.com/blog/1184-contributing-guidelines


Nginx OIDC Authentication agent for IS

Create an authentication agent for the Nginx to secure a web application that is hosted in the Nginx using WSO2 Identity Server.

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!


Honestly I'm not sure GitHub actions will be much better but at least - as far as I can tell - we'll just get a shock bill at the end of the month instead of CI just totally breaking. And- glancing above- the GitHub actions reporting is much nicer than Travis.
Interestingly both GitHub and Travis charge on the order of about 10x for MacOS builds. I wonder if those are worth dropping once we're relatively stable.
Thanks for taking the initiative on this- I had thought something was up with Travis earlier and assumed it was just broken, but... nope 😬

This note might be relevant to us, too - https://github.com/dask/community/issues/107#issuecomment-720555156

A note of light caution -- currently if you have a matrix of say Python versions and OS in the same workflow file, if one of those matrix entries failed you can't restart it individually, you have to trigger a full re-run of everything defined in that file. On xonsh we've subsetted them into one os per workflow file so we can at least individually restart Windows runs or MacOS runs

Had a bit of this done already to experiment with the warnings stuff. (Need to do something about VS, currently spamming conversion warnings)

Honestly I'm not sure GitHub actions will be much better but at least - as far as I can tell - we'll just get a shock bill at the end of the month instead of CI just totally breaking.

At least GitHub credits are per-month instead of a one-time trial allocation.

Interestingly both GitHub and Travis charge on the order of about 10x for MacOS builds. I wonder if those are worth dropping once we're relatively stable.

The Emscripten build actually does a good job of detecting issues that would hit macOS, as it also uses clang/libc++.
I had everything in one job to avoid duplicating steps (as there doesn't seem to be a nice way to reuse common steps), can probably split some stuff out... macOS would be easy as it currently doesn't do releases and the .sln build has very little in common with the other builds.

I think the only time we might want to re-run a single step is when something in that step has a temporary (network, probably) failure. That hasn't been super common, to be fair!

Nearly there... Emscripten might need some caching (currently building libraries every time), might split that out as it has a few extra steps.
VS builds are significantly faster now that we don't have to install Python (or update VS).

I think this should do everything the Travis build did and I've tested that releases still work (It does generate a few extra files now as there are always both .zip and .tar.gz).
Three are a few other changes like both VS builds now use VS 2019 and all the Ubuntu-based builds are on 20.04.
Hmm, ended up with quite a few commits, maybe squash this?

A few more commits wont hurt us, I guess! Don't worry about it.
GitHub is being weird and the names of status checks in the branch protection settings don't match the checks here- I guess that'll fix itself!


SendEmail(IEmailMessage) doesn't work

There are 2 ways to send an email:
SendEmail(IEmailMessage)
SendEmail(string,string,string)
The second option is NO GOOD if you need to specify a CC recipient.  Therefore, I MUST use the first option.
The first option IS COMPLETELY BROKEN!!  The concrete EmailMessage class that implements the IEmailMessage is marked INTERNAL.  Therefore, the only way to use the first option is to write my own class that implements IEmailMessage.  That WILL NOT WORK either since the Android implementation of EmailTask tries to cast the IEmailMessage argument as the internal EmailMessage class to check for isHtml.  Of course, my class cannot be cast as the internal EmailMessage because it is INTERNAL.
Either make the internal EmailMessage public OR modify the IEmailMessage interface so that it includes isHtml so that the Android implementation does NOT have to cast the argument as the concrete EmailMessage class.

It looks like the solution is to use the EmailMessageBuilder class.  However, I still think the code is wrong in that if a method accepts an IEmailMessage, it should accept ANY class that implements that interface.  If the method needs to cast the argument to a concrete EmailMessage, then THAT concrete class should be the argument type.


Update rspec and expectation to newest version

I would like to start developing some features and old syntax for RSpec annoyed me. So here is the newer one.
If anyone knows how to get this back, let me know. I still think this is relevant test.
it "includes JsonExpressions::RSpec::Matchers" do
   modules = ::RSpec.configuration.include_or_extend_modules
   modules.select! { |(mode,mod,_)| mode == :include }
   modules.map! { |(mode,mod,_)| mod }
  modules.should include(::JsonExpressions::RSpec::Matchers)
end

@MiroslavCsonka sadly, I wasn't able to dedicate enough time to maintain this gem. Since you started to work on this, would you be interested in taking over the repo/gem?

@chancancode Yeah sure. I was planning to implement new matcher syntax as proposed in https://github.com/chancancode/json_expressions/issues/18 and this PR is just pre-work that needed to be done before I get into the real stuff.

@MiroslavCsonka just realized I never actually did it :P Fixed now, you should have push access now. I tried adding your github email to rubygems but that didn't work. If you can give me your RG email I can add you as an owner


Collaborate with us

I am the author of the linter package. We're thinking of writing a base debugging interface provider now. Your experience from this package will be very helpful. Would you mind sharing your ideas about how that base provider's API should look like and about it's UI?

@steelbrain Sorry for may late reply...
Thank you, it's my honor!
When I design this package, this is my mainly reference: https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html
I think it's also helpful for you.
I think the most useful parts are:
breakpoint: add, delete, list...
watch variable: add, delete, list..
execution: run, stop, interrupt, continue, next, step...
They are important for both API and UI

@steelbrain is there any issue in the linter repo that tracks the current discussion/state of the debugging API?

@niclashoyer I am sorry but there isn't any discussion on a private repo yet, we did discuss it in a private atom slack channel but the last time I checked Joe FitzGerald had taken the responsibility of getting debugger up and running, he says he'll try to adopt the concepts from nuclide.


Invite user to workspace via invite link

Details
Implement the invite flow from the Simplified Collect: Profile, Members, Categories design doc
Fixed Issues
$ https://github.com/Expensify/App/issues/36946
PROPOSAL: https://github.com/Expensify/App/issues/36946
Tests
Preconditions:

Has a workspace (new or existing one)
Prepare join url link - use WorkspaceID and admin email for that workspace - ex<EMAIL_ADDRESS>
For user:

Open link in a new tab (for a new user / or user which already logged in)
Verify that loading indicator is shown
Verify that user redirects to all workspaces screen
Verify that user sees a new line with workspace (in which join link was executed) and user sees chip with text "Requested"
Verify that user could not interact with that workspace
Wait until admin accept/decline request - verify that user will have/not have access to the workspace

For Admin:

When user used join link - verify that a new message is shown in admin room for that workspace
Verify that 2 buttons are shown - "Accept"/"Decline"
Click on any of them - verify that API request will be send, verify that message will be removed from admin room

[x] Verify that no errors appear in the JS console

Offline tests
For user:

User should be able to put in queue request to join workspace
User should be redirected to all workspaces page

For admin:

Admin should be able to put in queue request to accept/decline
Message should be removed after interact with accept/decline buttons

QA Steps
Preconditions:

Has a workspace (new or existing one)
Prepare join url link - use WorkspaceID and admin email for that workspace - ex<EMAIL_ADDRESS>
For user:

Open link in a new tab (for a new user / or user which already logged in)
Verify that loading indicator is shown
Verify that user redirects to all workspaces screen
Verify that user sees a new line with workspace (in which join link was executed) and user sees chip with text "Requested"
Verify that user could not interact with that workspace
Wait until admin accept/decline request - verify that user will have/not have access to the workspace

For Admin:

When user used join link - verify that a new message is shown in admin room for that workspace
Verify that 2 buttons are shown - "Accept"/"Decline"
Click on any of them - verify that API request will be send, verify that message will be removed from admin room

[x] Verify that no errors appear in the JS console

PR Author Checklist

[ ] I linked the correct issue in the ### Fixed Issues section above
[ ] I wrote clear testing steps that cover the changes made in this PR

[ ] I added steps for local testing in the Tests section
[ ] I added steps for the expected offline behavior in the Offline steps section
[ ] I added steps for Staging and/or Production testing in the QA steps section
[ ] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[ ] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[ ] I included screenshots or videos for tests on all platforms
[ ] I ran the tests on all platforms & verified they passed on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[ ] I followed proper code patterns (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[ ] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I followed the guidelines as stated in the Review Guidelines
[ ] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] I verified that if a function's arguments changed that all usages have also been updated correctly
[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Requested access to design doc. Will begin reviewing today :)

Something strange with GH - send 2 commits - and they did not appeared, and also already merged main to branch and resolve conflicts - but GH is not view that

github is having sync issues.

@rushatgabhane I shared the doc with you

@Expensify/design
Can i get an eye on pending request to join workspace

@narefyev91 are you reusing the existing badge component for this or did you create something from scratch?

@narefyev91 are you reusing the existing badge component for this or did you create something from scratch?

@shawnborton custom one

You should be reusing our badge component here. I would encourage you to always try to reuse existing components when implementing designs as opposed to creating custom/new components from scratch.
I believe @dannymcclain had some good docs/explainers on the badge component - perhaps you can share that here?

You should be reusing our badge component here. I would encourage you to always try to reuse existing components when implementing designs as opposed to creating custom/new components from scratch.
I believe @dannymcclain had some good docs/explainers on the badge component - perhaps you can share that here?

I think Badge component is not supporting icons

Then let's modify it so that it can accept them. But the component we're using here in Figma is our badge component with hasIcon=true

Here's the rundown I put together for the badge component:

Perfect, thanks Danny! @narefyev91 can you work with that to make sure we are just reusing the existing badge component, but making it better to include icons like Danny has outlined above?

Perfect, thanks Danny! @narefyev91 can you work with that to make sure we are just reusing the existing badge component, but making it better to include icons like Danny has outlined above?

100% - will be nice to also get link to figma - if possible

@narefyev91 Badge component in Figma

@narefyev91 can we mark this as Ready for review?

@rushatgabhane most of the API changes should be deployed to staging (potentially not all fix from BE maybe on prod yet) cc @luacmartins

@dannymcclain @shawnborton now Badge is supporting icon, please review:

Nice! It looks like the badge might have more horizontal padding than I would expect based on Danny's mockups? Can you confirm the values for us and we can double check against the Figma mocks?

Nice! It looks like the badge might have more horizontal padding than I would expect based on Danny's mockups? Can you confirm the values for us and we can double check against the Figma mocks?

padding left/right - 12px, padding between icon and text - 8px

Okay cool, just my eyes playin' tricks on me then. Thanks for confirming!

I'm also getting a crash when declining the request, but that seems to be an API issue

We also have conflicts again. I also created this internal issue to investigate the crash on Decline - https://github.com/Expensify/Expensify/issues/376553

Login as userA. Request to join workspace B.
Login as userB who is an admin of workspace B, and decline the request.
Login as userA. Notice that your request is no longer shown.
Request to join workspace B again
Login as userB. userB does not see the request from userA.

@luacmartins is this the expected behaviour? Can a user never join a workspace if they were once declined?

shhh melvin. all tests pass

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

What's up with this tests not passing stuff. I'm seeing that a lot lately, but all tests were passing when I merged.

🚀 Deployed to staging by https://github.com/luacmartins in version: 1.4.49-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

What's up with this tests not passing stuff. I'm seeing that a lot lately, but all tests were passing when I merged.

@luacmartins is it possible that the tests pass on this branch but not after merging with main?

Btw I can't find which test has failed. All looks green to me

I think we have some issue with GH secrets not being available when we run the action after merging the PR from a contributor's fork. We're working on it

🚀 Deployed to production by https://github.com/luacmartins in version: 1.4.50-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Build issue

How to resolve this issue
[ERROR] Failed to execute goal org.antlr:antlr4-maven-plugin:4.6:antlr4 (antlr) on project teavm-flavour-expr: Execution antlr of goal org.antlr:antlr4-maven-plugin:4.6:antlr4 failed: Plugin org.antlr:antlr4-maven-plugin:4.6 or one of its dependencies could not be resolved: Failed to collect dependencies at org.antlr:antlr4-maven-plugin:jar:4.6 -> org.apache.maven:maven-plugin-api:jar:3.0.5: Failed to read artifact descriptor for org.apache.maven:maven-plugin-api:jar:3.0.5: Could not transfer artifact org.apache.maven:maven-plugin-api:pom:3.0.5 from/to teavm-dev (https://dl.bintray.com/konsoletyper/teavm): Transfer failed for https://dl.bintray.com/konsoletyper/teavm/org/apache/maven/maven-plugin-api/3.0.5/maven-plugin-api-3.0.5.pom: Remote host closed connection during handshake: SSL peer shut down incorrectly -> [Help 1]

Is this still happening?  This sounds like a networking or firewall issue.  Please try again and post back if it's still happening.

I tried manually browsing it on chrome but I don't see /org folder present.
https://dl.bintray.com/konsoletyper/teavm/org/org/ => org folder does not exist.


create_conversational_retrieval_agent with BedrockChat models

Feature request
Hi, I'd love if we could create conversational retrieval agents using BedrockChat LLMs!
Motivation
This feature would be very useful for many users.

Could this possibly use PydanticOutputParser instead of functions in OpenAIFunctionsAgent?

Still relevant!


Less aggressive UAM

In 0.5.3, UAM assumes that current deviations will only decrease to zero over 3 hours if the currentDeviation exceeds the maxDeviation over the last ~45m.  This means that the UAMpredBG purple prediction line goes way too far up-and-to-the-right when carb absorption is peaking.  As an alternative to make UAM safer / less aggressive in that situation, this change causes UAM to assume that current deviations will ramp down over time proportional to how quickly they've ramped up from the recent (~45m) minimum deviations.  So if deviations are rising rapidly due to fast carbs, UAM will not project that to continue indefinitely, but typically only for 1-2h.  For meals whose carb absorption ramps up more slowly, the minDeviation will be higher, and a slower ramp down will be projected as well.  Once deviations actually peak, the existing code to project the rate of decrease from peak takes over.  As a result, UAM predictions are now much more reasonable, while still serving as a useful guideline to safely dosing additional insulin when meal carbs are underestimated and BG rises more than expected.

This is well-tested and ready to merge to dev if no objections.


Update package.json chai and tv4 versions

Allow chai 2.x and tv4 1.1.9

Blindly bumped the versions up.  Meant that I was able to install and run.


Automatically create images with tag latest from the master branch

Is your task related to a problem? Please describe.
The latest tag of the image quay.io/redhat-cop/argocd-operator is the same as the last release which makes it difficult to continuously verify and test the recent changes before an actual release, especially if there are many changes between two releases.
Describe the solution you'd like
Create a CI/CD pipeline that automatically creates an image after every commit to the master branch and pushes it into a registry with the tag latest. Furthermore, it would be great if this pipeline is also part of the project (e.g. use GitHub Actions).
Describe alternatives you've considered
Building an image of the master branch by creating my own pipeline.

The change looks good but do we all agree on pushing image on each PR merge on master branch?   If so, @jannfis will need to provision the secret on the repository.


Check the default TLS algorithms between a net461 client and a Core server.

From https://github.com/aspnet/MetaPackages/pull/251
Some tests started failing only on net461 with an algorithm conflict. We need to check the default TLS algorithms between a net461 HttpClient and a Core server.
@Tratcher is this accurate?

Yes. The tests were showing Kestrel and HttpClient using different defaults for TLS algorithms/versions and failing to connect. We need to check the matrix of client, server, net461, netcoreapp2.0, and netcoreapp2.1.

@Tratcher Is this because Kestrel is using TLS1.2 and .net461 doesn't support it? Is this a matter of setting
ServicePointManager.SecurityProtocol to TLS1.2.
What was the exact mismatch, is there anything else that can be configured?
Should we do anything at all or just tell full framework clients on net461 (which is btw, unsupported) to set it to TLS1.2 or to upgrade to a newer (and supported) version of the framework, like 462 or 4.7

The error did not specify what the mismatch was. I'm debugging it now.

Ok, yes this is an issue with the ServicePointManager.SecurityProtocol default as expected. For net461 it still defaults to SecurityProtocolType.Tls | SecurityProtocolType.Ssl3  (Kestrel's defaults are SslProtocols.Tls12 | SslProtocols.Tls11). The client's defaults were changed in 4.7 https://docs.microsoft.com/en-us/dotnet/framework/migration-guide/retargeting/4.6.2-4.7#networking
So the net461 client and server defaults are incompatible. @blowdart This looks like an adoption blocker.
Workaround: change the client or server value.

Is this only for 461 or does it also affect 462. If it’s only 461 I don’t think this is a blocker as 461 is not a supported release. @eilon can confirm. The workaround is to tell customers to change the client. The defaults on the server should be the most current and secure IMO

You need to change the client. Not the server. Obviously.

I think we can close this as by design and provide guidance on docs. We should file an issue on the docs repo and fill in some details for when the writers get to write docs for 2.1 @Tratcher I leave it up to you.

Everything before 4.7 is affected.

Calling out HttpClient 4.6 in the Kestrel docs seems a bit out of place. Note this is not a new problem, it's been this way since 1.0.0-rc2. https://github.com/aspnet/KestrelHttpServer/issues/637. I don't see any complaints about this in the Kestrel repo or StackOverflow. I'm going to close this for now and we can react if we get additional feedback.

@Tratcher Works for me


Replace Modelica://-URIs by modelica://-URIs

Reported by dietmarw on 1 Oct 2009 15:54 UTC
The Modelica Specification 3.1 says this about linking external resources (section 13.2.3):
_[Note scheme names are case-insensitive, but the lower-case form should be used, that is ‘Modelica://’ is allowed but `modelica://’ is the recommended form.]''
Whilst cleaning up all text and class references in preparation of MSL3.1_build6 I noticed that at least one tool currently supports the capitalised version Modelica:// but not modelica://.
Therefore all links are changed to Modelica:// for now and should be updated to the non-capitalised version as soon as tools support this (as recommended in the specification).

Migrated-From: https://trac.modelica.org/Modelica/ticket/218

Comment by dietmarw on 25 Nov 2009 11:53 UTC
Milestone MSL3.1.1 deleted

Modified by dietmarw on 11 Mar 2010 18:16 UTC

Comment by dietmarw on 11 Mar 2010 18:20 UTC
Fixed in aed71f7c5766a6241b7c7cb157456a0947e90cd9.

Comment by dietmarw on 23 Apr 2010 09:09 UTC
Some more occurrences fixed in 98700ee6f7882c506f3c999c304123b87671cfc3


[Dev] Created BuildAll script

This will build all of the projects that have been checked out and setup locally. Any project that isn't found will be skipped.
This should be helpful for local development

Could you swap PCSX2 to build release? Since that's what we actually deploy, this build script should probably reflect that.

Done. I used the configurations that were in CI. I created #218 to update CI if this is what we want to build in CI as well.
The rest will default to "Debug|AnyCPU". Do you want me to change that as well?

Or maybe we should have -Debug and -Release flags for the build script that change the configuration?

I like that.

Alright, I'll put that in the next iteration 👍

I'm going to set the default to -Debug since I assume -Release will be used less frequently

When using Visual Studio's cmake, a separate SLN is generated for debug and release mode and the path changes (x64-Debug, x64-Release, x64-RelWithDebInfo). Currently, I've been using VS's cmake for Melon but it might make more sense to use normal cmake since it'll give us a single SLN instead of multiple based on configuration. I'll take a look and see if I have any issues using standalone cmake.

I was originally using standalone cmake for melonDS-vanguard, so I was able to get it to work for me. Let me know if you have any issues.

Standalone cmake is fine, but it does need some path fixes. I'm thinking just the "builld" folder the same as Citra would make sense so it'd be build/melonDS.sln

Scratch that. It seems it's only fine with MSBuild and not VS.
This command in the cmakefile
${CMAKE_COMMAND} -E copy $<TARGET_PROPERTY:libui,BINARY_DIR>/libui.dir/${CMAKE_CONFIGURATION_TYPES}/resources.res ${_LIBUI_STATIC_RES}
Doesn't work because CMAKE_CONFIGURATION_TYPES isn't handled from configuration to configuration. I'll fix the scripts up to use a different method of copying the file.

I've fixed up the build for Melon to work properly with standalone cmake & VS, You'll need to make a few minor tweaks to the script since I changed paths, but otherwise I expect it to work fine since you said it was working fine under MSBuild before.

Path updated. For consistency, I updated this in CI as well.