Apply Onyx updates in an ordered fashion

HOLD on the conferences, since we have a feature freeze. But we can review and have it ready to merge after Friday!

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/24606
PROPOSAL:
Tests
There are 5 test flows to be made here.
1. General

Confirm that the app continues to work as expected on normal flows - sending messages, receiving messages, creating workspaces, etc

2. Enabling the beta

Prepare your environment (leave your application logged in, open the Network inspector to see the requests and the console to see the logs) and leave a report open
Tag @danieldoglas when you've finished 1 and ask him to add your test email to the beta (send him your test email)
When you're added to the test and @danieldoglas confirms it, send a message on NewDot on the previously opened report
You should see:

A call to AddComment
The log [OnyxUpdateManager] Client has not gotten reliable updates before so reconnecting the app to start the process
A call to ReconnectApp
And, after that, the app should continue to work normally.

To repeat this area of the test, you can execute Onyx.set("OnyxUpdatesLastUpdateIDAppliedToClient",""); and start again after you're part of the beta.
3. Working on the beta

Sign into two different clients (web and any other platform) with two different accounts
User A should have the reliable updates beta enabled, It doesn't make any difference for user B.
User A on web, go to preferences and turn on force offline mode
User A, send a comment to User B
User A, go back to preferences (but don't do anything)
User A, switch to another tab to simulate background mode
User B on another platform, send two comments to User A
User B, delete the first comment
User A on web, go to NewDot tab
User A, turn off the force offline mode option
Verify that User A never sees the first comment from User B
Verify that both users see two comments (one from each user)

4. Testing that GetMissingOnyxUpdate calls are being made

Check the value for OnyxUpdatesLastUpdateIDAppliedToClient  on your current DB (by accessing Application > IndexedDB > OnyxDB > keyvaluepairs)
Use Onyx.set("OnyxUpdatesLastUpdateIDAppliedToClient", {currentValue - 1});
Send a new comment
Confirm that you can see a log with Gap detected in update IDs from server so fetching incremental updates
Confirm that your client did a GetMissingOnyxMessages request

5. Testing that we're not saving old data received late

On User A, Check the value for OnyxUpdatesLastUpdateIDAppliedToClient  on your current DB (by accessing Application > IndexedDB > OnyxDB > keyvaluepairs)
Use Onyx.set("OnyxUpdatesLastUpdateIDAppliedToClient", {currentValue + 10000});
From User B, send a new comment to client A
Confirm that you can see a log with [OnyxUpdateManager] Update received was older than current state, returning without applying the updates
Confirm that your client did NOT show the new message that was received (this is expected since we're ignoring it)

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

Offline tests

QA Steps

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

PR Author Checklist

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

[X] I added steps for local testing in the Tests section
[X] I added steps for the expected offline behavior in the Offline steps section
[X] I added steps for Staging and/or Production testing in the QA steps section
[X] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] 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)
[X] 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).

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

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] 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)
[X] I followed proper code patterns (see Reviewing the code)

[X] 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)
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] 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.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[X] 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:

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] 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.
[X] 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.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I followed the guidelines as stated in the Review Guidelines
[X] 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)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] 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
[X] I verified that if a function's arguments changed that all usages have also been updated correctly
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] If we are not using the full Onyx data that we loaded, I've added the proper selector in order to ensure the component only re-renders when the data it is using changes
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] 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

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

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

[X] 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.
[X] 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)
[X] 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.
[X] 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.
[X] 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.
[X] 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.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
I tested by login in without the beta enabled, the enable the beta and send a message
I was able to confirm that the ReconnectApp request was made, and that we started to track the ID after it.
https://github.com/Expensify/App/assets/5818999/c054f486-7aa5-4bbd-8c43-80fa1526f64a

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Ok I think we're gonna need a few changes here since this didn't work out of the box

@danieldoglas asked for some help debugging these failing tests, so I'm going to start leaving notes here...
First thing I notice is that TestUtils.signInWithTestUser is not setting the SESSION Onyx key correctly:

@danieldoglas I think the main problem that's causing these tests to fail is that you need to initialize the OnyxUpdateManager in tests or the responses from API commands won't actually be applied in Onyx:
diff --git a/tests/actions/ReportTest.js b/tests/actions/ReportTest.js
index c06d3bc837..8e1ee74f40 100644
--- a/tests/actions/ReportTest.js
+++ b/tests/actions/ReportTest.js
@@ -4,6 +4,7 @@ import lodashGet from 'lodash/get';
 import moment from 'moment';
 import {beforeEach, beforeAll, afterEach, describe, it, expect} from '@jest/globals';
 import ONYXKEYS from '../../src/ONYXKEYS';
+import initOnyxUpdateManager from '../../src/libs/actions/OnyxUpdateManager';
 import CONST from '../../src/CONST';
 import * as Report from '../../src/libs/actions/Report';
 import waitForPromisesToResolve from '../utils/waitForPromisesToResolve';
@@ -31,6 +32,7 @@ describe('actions/Report', () => {
             keys: ONYXKEYS,
             registerStorageEventListener: () => {},
         });
+        initOnyxUpdateManager();
     });

     beforeEach(() => Onyx.clear().then(waitForPromisesToResolve));

Another problem is that successData doesn't seem to be getting applied correctly if a response just contains a jsonCode:
{"jsonCode": 200}

Reviewer Checklist

[X] I have verified the author checklist is complete (all boxes are checked off).
[X] I verified the correct issue is linked in the ### Fixed Issues section above
[X] I verified testing steps are clear and they cover the changes made in this PR

[X] I verified the steps for local testing are in the Tests section
[X] I verified the steps for Staging and/or Production testing are in the QA steps section
[X] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[X] 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)

[X] I checked that screenshots or videos are included for tests on all platforms
[X] I included screenshots or videos for tests on all platforms
[X] I verified tests pass on all platforms & I tested again on:

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

[X] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[X] 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).
[X] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[X] I verified that comments were added to code that is not self explanatory
[X] 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.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] 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.
[X] 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.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

[X] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[X] I verified that this PR follows the guidelines as stated in the Review Guidelines
[X] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[X] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[X] 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
[X] If a new component is created I verified that:

[X] A similar component doesn't exist in the codebase
[X] All props are defined accurately and each prop has a /** comment above it */
[X] The file is named correctly
[X] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[X] The only data being stored in the state is data necessary for rendering and nothing else
[X] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[X] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[X] All JSX used for rendering exists in the render method
[X] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[X] If any new file was added I verified that:

[X] 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

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

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

[X] 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.
[X] 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)
[X] 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.
[X] 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.
[X] 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.
[X] 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.
[X] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

https://github.com/Expensify/App/assets/16493223/64694ebd-b977-4812-9818-f26745bc12f0

Mobile Web - Chrome

https://github.com/Expensify/App/assets/16493223/4a503b1e-735b-4e95-a34b-52c66e6fb39e

Mobile Web - Safari

https://github.com/Expensify/App/assets/16493223/4a503b1e-735b-4e95-a34b-52c66e6fb39e

Desktop

https://github.com/Expensify/App/assets/16493223/c99d1713-c22a-4484-b5ee-2b7e618cc9fe

iOS

https://github.com/Expensify/App/assets/16493223/b488b1b3-b11b-4ded-9d0f-30654421bcf9

Android

Having a problem in Flipper detecting the android app. I think the iOS video is enough for this case

: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.

🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 1.3.67-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@tgolen Can you pls confirm if we only need to QA 3**. Working on the beta** steps?

@mvtglobally I think you can do 3 onwards. I've just activated the beta on staging for all applause accounts, so it should work for you!
Also, it's possible we'll see other regressions because of this change. I'm not sure about that, but I'll check the list later!

🚀 Deployed to production by https://github.com/AndrewGable in version: 1.3.67-3 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/MonilBhavsar in version: 1.3.68-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/Julesssss in version: 1.3.68-17 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Add ability to extract certificate from HTTP header

This method doesn't use Tomcat specific SSLValve (so it should work for Jetty,
Undertow, etc)
It is off by default.
SSLValve was copied and modified but parsing logic is same so the same
proxies that SSLValve supports should work with this.
This has advantage of only running when CAS needs certificate instead of
on every request.
The certificate extraction logic is in a bean that can be overridden if
someone wants to support a different format between their proxy and CAS.
This could use a unit test, but an easy way to test is:
wget -d --no-check-certificate --header "SSL_CLIENT_CERT: -----BEGIN CERTIFICA                                                                                TE----- MII...PEM_CERT_WITH_NEWLINES_CONVERTED_TO_SPACES...f7X2aXxLQ7uj4w== -                                                                                ----END CERTIFICATE-----" https://localhost:8443/cas/login

@hdeadman Before I start the review, could you please resolve conflicts and make sure CI passes?

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.13 out of 15 committers have signed the CLA.:white_check_mark: dima767:white_check_mark: hdeadman:white_check_mark: mmoayyed:white_check_mark: dacurry-tns:white_check_mark: arbner:white_check_mark: cifren:white_check_mark: fjollberg:white_check_mark: mindblender:white_check_mark: sbearcsiro:white_check_mark: tsschmidt:white_check_mark: plajko:white_check_mark: jtgasper3:white_check_mark: DOFandersolsen:x: alexdp:x: leleujYou have signed the CLA already but the status is still pending? Let us recheck it.

Coverage decreased (-0.05%) to 45.5% when pulling 8534885d842738722de471a92f26a3b7b0cd810b on hdeadman:sslextract into 3d5595eebb1b4f3b9d210447ddea83956a3135d8 on apereo:master.

@hdeadman Thank you. Looks excellent.


Resolve "Add icons to moves on character sheet" - [merged]

In GitLab by @Asacolips on Dec 20, 2020, 14:25
Merges 27-move-icons-integration -> beta
Based on !13 by @m-racine

Added complications, partial success, and success indicators to chat cards
Added background image, border radius, and shadow effect to item icons
Added setting (client setting) to enable/disable icons

Closes #27

In GitLab by @Asacolips on Dec 20, 2020, 14:28
mentioned in commit e853da8e8ee6190edffe0c3908c814325d703f33


Information about training resources?

Hi, I'm planning to retrain Retinexformer on my dataset, but I don't know your resources for training, how much VRAM used for training with configs in your paper?

Hi, thanks for your interests.
I suggest you train our model on 3090 for fivek and lol-v2-real datasets and train on rtx 8000 for other datasets.
if you train our model at the spatial size of 256x256 like lol, fivek, sdsd, side. The memory usage would be 2-4 G
if you train our model at the spatial size of 960x512 like Sid the memory usage would be over 40 G.
if you train our model on the ntire datasets with our multi-gpu training and mixed-precision training. The VRAM is about 48 g
If you find our repo useful, please help us star it. Thank you.


chore(deps): upgrade dependencies

Upgrades project dependencies. See details in workflow run.

Automatically created by projen via the "upgrade-main" workflow

Codecov Report

Merging #740 (5537378) into main (7f7a27f) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@           Coverage Diff           @@
##             main     #740   +/-   ##
=======================================
  Coverage   95.69%   95.69%
=======================================
  Files           1        1
  Lines         395      395
  Branches       53       53
=======================================
  Hits          378      378
  Misses         17       17


Typo?


Add MQTT 5.0 support to MySQL, Redis, PostgreSQL, MongoDB auth

This adds support for using the vmq_diversity database authentication drivers with MQTT 5.0 clients.
Note we now normalize the output of the auth_on_subscribe lua hook so we only have to handle the canonical format in the vmq_plugin_util:check_modifiers/2 function - before we handled whatever came out of the lua hook, see https://github.com/erlio/vernemq/compare/master...larshesel:add-mqttv5-support-to-existing-plugins?expand=1#diff-f6d817c136d8a74d88f87d39403c3061L296
Note, the rest of the MQTT 5.0 hooks haven't been exposed to Lua yet.

@dergraf I had to do a small fix to make the tests pass - can you take a look - basically the output of the cache for subscriptions was still in lua format and would therefor fail the modifier check pass.

ah, damn, looks like I broke sth in the webhooks suite - will take a look at that on my way home...

Fixed the webhooks suite.... it was actually returning subscription modifiers like vmq_diversity used to: [[Topic,Qos]]

All good for me!


error message wording

two related issues, just relating to presentation clarity for a new person

when pipeline is missing, I get: Missing pipeline script: '/home/nsheff/code/sratofastq/fastq-dump'

this is also happening if I give something that is in PATH. it should also check PATH. (right now it will require an absolute path). this error is also printed twice.

When this pipeline script is reported missing, it's giving this error for each sample:
> Not submitted: No submission bundle for protocol

I think we should think how to present this error message. I even am not sure what is meant by "submission bundle". This is the wrong message for this error, and also, I think we could rename it anyway, even for when it's the right message.
thoughts?

I don't have a name preference.

I figured out what triggers this error. This is coming up when the protocol is not present in the pipeline interface.
So I would suggest:
Protocol 'x' is not specified in pipeline interface

Where 'x' is replaced with that sample's protocol

Or, maybe just
Protocol missing in pipeline interface

It should be gone in the latest dev; now solving this one https://github.com/epigen/looper/issues/191 would also imply a solution to this I think.

great, this is fine then now.


Merge pull request #101 from MicrosoftDocs/main

Main to Live Merge

Docs Build status updates of commit b5c3365:
:white_check_mark: Validation status: passed
For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Swap order of product with polarizer matrix

When the polarizer is applied to the field, the order of operations should be polarizer @ field instead. Currently the order is the opposite. This is an issue when the polarizer is an asymmetric matric. The field may have to be transposed to be a column vector instead of a row vector.
https://github.com/chromatix-team/chromatix/blob/7304cd312b28eebc2f15c3c466e53074141d553b/src/chromatix/functional/polarizers.py#L77-L100

Example of dot product discrepancies
Here a vector field and a nonsymmetric polarizer matrix:
field = cf.plane_wave(
        (1, 1),
        1.0,
        0.532,
        1.0,
        amplitude=[0, 1, 2],
        scalar=False,
    )
polarizer = jnp.array([[0, 0, 0], [0, 1, 1], [0, -1, 1]])

We try a few dot product versions. jnp.dot seems to give the same output as jnp.matmul.
dot_prod1 = jnp.dot(polarizer, field.u.squeeze())
dot_prod2 = jnp.dot(field.u.squeeze(), polarizer)
# dot_prod1_wo_squeeze = jnp.dot(polarizer, field.u)
dot_prod2_wo_squeeze = jnp.dot(field.u, polarizer)
print(f"Dot product 1: {format_complex_array(dot_prod1)}")
print(f"Dot product 2: {format_complex_array(dot_prod2)}")
print(f"Dot product 1 without squeeze: ERROR")
print(f"Dot product 2 without squeeze: {format_complex_array(dot_prod2_wo_squeeze.squeeze())}")

Dot product 1: [0.00+0.00j, 1.34+0.00j, 0.45+0.00j]
Dot product 2: [0.00+0.00j, -0.45+0.00j, 1.34+0.00j]
Dot product 1 without squeeze: ERROR
Dot product 2 without squeeze: [0.00+0.00j, -0.45+0.00j, 1.34+0.00j]

Dot product 1 is how the operations should be performed. Dot product 2 is how the operations are currently performed.

Fixed by #132


fix: hot keys are applied not on opened modal window but on playback chat on background (Issue #404)

Issue: https://github.com/epam/ai-dial-chat/issues/404

/deploy-review


Enable Discogapic gen

Enable generation of client libraries and config files from Discovery docs.
To generate the Java GCE client, run
artman --config google/compute/artman_compute.yaml --local generate java_discogapic
To generate the default config compute_gapic.yaml, run
artman --config google/compute/artman_compute.yaml --local generate discogapic_config
^ The above commands assume https://github.com/googleapis/googleapis/pull/498 is patched in locally.

PTAL

There's a fair bit of ctrl+c, ctrl+v going on in this diff. Open to suggestions for parameterizing gapic/config gen functions on parameters of input sources.


SyntaxError: Unexpected Token =

I don't know much on node.js syntax but this is exactly the type of bridge I am looking for...
After a settings my mac / ip for my tv, running npm install, I try running node index.js alexa and get a error:
/lgtv-alexa-skill-master/node_modules/fauxmojs/lib/index.js:11 constructor(options = {}) {
SyntaxError: Unexpected Token = (between options and {})
Also, will this bridge work with the new v2 firmware that runs on the Echo Plus and newer echo devices?

Hi!
Sounds weird. Check out your config.json and look that both your MAC and ip are filled up correctly, and also make sure that all the dependencies are correctly installed and updated. I've not been able to reproduce your error.


Flatcar 3975.2.1 Bonding Config Bug

Description
We've encountered a problem with bonding configs., after our most recent Flatcar upgrade from v3760.2.0 to v3975.2.1. The behavior is very weird, in that the bond0 interface actor churn does not always begin after the initial upgrade reboot. Instead, the bond0 interface actor churn most frequently appears after a subsequent reboot.

We can commonly recover from this by rebooting, but that does not always fix it
We have tried downing and reupping the effected Bond0 interface but that doesn't seem to have any effect
We tried to upgrade to the next known stable, 3975.2.2, but we see the same problem
We tried downgrading to v3760.2.0 and that worked-- the interface no longer enters churn
We then tried upgrading back to 3975.2.1, rebooting after the upgrade reboot, and churn reappeared

Impact
Nodes, rebooted after the initial upgrade reboot, go into churn on the secondary Bond0 interface and are subsequently unable to communicate with other nodes in the cluster.
Environment and steps to reproduce

Set-up: [ describe the environment Flatcar/Nebraska etc was running in when encountering the bug; Platform etc. ]
a. Baremetal  Flatcar OS 3760.2.0 upgraded via Nebraska to Flatcar OS 3975.2.1
Task: [ describe the task performing when encountering the bug ]
a. After the node is upgraded and rebooted, the node is then rebooted a second time, and churn appears, which causes lag during node login and commands being run
Action(s): [ sequence of actions that triggered the bug, see example below ]
a. Rebooted the node, after the initial upgrade reboot
b. Node login and commands begin to hang and take many seconds to minutes to complete
c. /proc/net/bonding/bond0 shows churn on the secondary interface, and has no system mac address present
Error: [describe the error that was triggered]
a. Nodes were unable to communicate with effected node

Expected behavior
Expect nodes to communicate with other nodes in the cluster
Additional information
Please add any information here that does not fit the above format.

Can you try the alpha releases between 3760 and 3975, this would help narrow it down:

3794
3815
3850 -> first with kernel 6.6
3874
3913 -> first with systemd 255
3941

@jepio
Please see below upgrade process and results:

3975.2.1

Reboot X 3
Have churn on all 3 reboots

No system mac address on 2nd Bond0 interface during all 3 reboots

Downgraded to 3760.2.0

3760.2.0

Reboot X 3
No churn on all three reboots

Has system mac address on 2nd Bond0 interface during all 3 reboots

Upgraded to 3794.0.0

3794.0.0

Reboot X 3
No churn on all three reboots

Has system mac address on 2nd Bond0 interface during all 3 reboots

Upgraded to 3815.0.0

3815.0.0

Reboot X 3
No churn on all three reboots

Has system mac address on 2nd Bond0 interface during all 3 reboots

Upgraded to 3850.0.0

Please note the following is the first presence of churn

3850.0.0

Reboot X 3
Have churn on 1st reboot

No system mac address on 2nd Bond0 interface during 1st reboot

No churn on 2nd reboot

Has system mac address on 2nd Bond0 interface during 2nd reboot

Have churn on 3rd reboot

No system mac address on 2nd Bond0 interface during 3rd reboot

Upgraded to 3874.0.0

3874.0.0

Reboot X 3
Have churn on 1st reboot

No system mac address on 2nd Bond0 interface during 1st reboot

Have churn on 2nd reboot

No system mac address on 2nd Bond0 interface during 2nd reboot

No churn on 3rd reboot

Has system mac address on 2nd Bond0 interface during 3rd reboot

Upgraded to 3913.0.0

Please note the following has no presence of churn

Upgraded to 3913.0.0

Reboot X 3
No churn on all three reboots

Has system mac address on 2nd Bond0 interface during all 3 reboots

Upgraded to 3941.0.0

Please note churn returns in the following

Upgraded to 3941.0.0

Reboot X 3
systemd 255
No churn on first 2 reboots

Has system mac address on 2nd Bond0 interface during first 2 reboots

Have churn on 3rd reboot

No system mac address on 2nd Bond0 interface during 3rd reboot

Upgraded to 3975.0.0

Upgraded to 3975.0.0

Reboot X 3
systemd 255
No churn on first 2 reboots

Has system mac address on 2nd Bond0 interface during first 2 reboots

Have churn on 3rd reboot

No system mac address on 2nd Bond0 interface during 3rd reboot

Upgraded to 3975.2.1

Upgraded to 3975.2.1

Reboot X 3
systemd 255
Have churn on 1st reboot

No system mac address on 2nd Bond0 interface during 1st reboot

No churn on 2nd reboot

Has system mac address on 2nd Bond0 interface during 2nd reboot

Have churn on 3rd reboot

No system mac address on 2nd Bond0 interface during 3rd reboot

Hello, this looks to be a concurrency issue between the unit that enforces/creates the bond and the unit that enforces the /etc/systemd/network/98-bond-mac.link. Can you give more details, if possible, on how the bonds are configured - is it a butane/ignition config or another configuration file/agent? This would be valuable to reproduce the issue locally.
Also, is it possible to maybe try a version of Flatcar with a different kernel / systemd to see if the issue does still happen (you can find a Flatcar image artifact here with kernel 6.11 https://github.com/flatcar/scripts/actions/runs/11594744048 and one Flatcar image artifact here with systemd 256 https://github.com/flatcar/scripts/actions/runs/11557455799). My bet would be on a different systemd version.
Thanks.

Can we also compare networkctl list and networkctl status between a working and a broken version?

@jepio
Please see the information you requested below:
3975.2.1

networkctl list

IDX LINK         TYPE     OPERATIONAL SETUP
  1 lo           loopback carrier     unmanaged
  2 enp65s0f0np0 ether    enslaved    configured
  3 enp65s0f1np1 ether    enslaved    configured
  4 bond0        bond     routable    configured

networkctl status

Interfaces: 1, 2, 3, 4
       State: routable
Online state: online
     Address: x.x.x.x on bond0
              x.x.x.x on bond0
              x:x:x:x on bond0
              x:x:x:x on bond0
     Gateway: x.x.x.x on bond0
              x:x:x:x on bond0
         DNS: x.x.x.x
              x.x.x.x

Dec 03 20:23:17 systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
Dec 03 20:23:17  systemd-networkd[1990]: bond0: Configuring with /etc/systemd/network/20-bond0.network.
Dec 03 20:23:17  systemd-networkd[1990]: enp65s0f0np0: Link UP
Dec 03 20:23:17  systemd-networkd[1990]: enp65s0f1np1: Link UP
Dec 03 20:23:17  systemd-networkd[1990]: bond0: Link UP
Dec 03 20:23:17  systemd-networkd[1990]: enp65s0f0np0: Gained carrier
Dec 03 20:23:17  systemd-networkd[1990]: enp65s0f1np1: Gained carrier
Dec 03 20:23:17  systemd-networkd[1990]: bond0: Gained carrier
Dec 03 20:23:17  systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
Dec 03 20:23:19  systemd-networkd[1990]: bond0: Gained IPv6LL

3760.2.0

networkctl list

IDX LINK   TYPE     OPERATIONAL SETUP
  1 lo     loopback carrier     unmanaged
  2 ens3f0 ether    enslaved    configured
  3 ens3f1 ether    enslaved    configured
  4 bond0  bond     routable    configured

networkctl status

State: routable
  Online state: online
       Address: x.x.x.x on bond0
                x.x.x.x on bond0
                x:x:x:x on bond0
                x:x:x:x on bond0
       Gateway: x.x.x.x on bond0
                x:x:x:x on bond0
           DNS: x.x.x.x
                x.x.x.x

Dec 03 20:50:49  systemd[1]: Starting systemd-networkd-wait-online.service - Wait for Network to be Configured...
Dec 03 20:50:49  systemd-networkd[1714]: ens3f0: Configuring with /etc/systemd/network/00-nic.network.
Dec 03 20:50:49  systemd-networkd[1714]: bond0: Link UP
Dec 03 20:50:49  systemd-networkd[1714]: ens3f1: Link UP
Dec 03 20:50:49  systemd-networkd[1714]: ens3f0: Link UP
Dec 03 20:50:49  systemd-networkd[1714]: ens3f1: Gained carrier
Dec 03 20:50:49  systemd-networkd[1714]: bond0: Gained carrier
Dec 03 20:50:49  systemd-networkd[1714]: ens3f0: Gained carrier
Dec 03 20:50:49  systemd[1]: Finished systemd-networkd-wait-online.service - Wait for Network to be Configured.
Dec 03 20:50:51  systemd-networkd[1714]: bond0: Gained IPv6LL

@ader1990
First Question
Hello, this looks to be a concurrency issue between the unit that enforces/creates the bond and the unit that enforces the /etc/systemd/network/98-bond-mac.link. Can you give more details, if possible, on how the bonds are configured - is it a butane/ignition config or another configuration file/agent? This would be valuable to reproduce the issue locally.

We use an ignition file. Here is the netword part of that file:

networkd:
  units:
    - name: 00-nic.network
      contents: |
        [Match]
        Name=!bond0
        MACAddress={{.mac1}} {{.mac2}} {{.mac_add}}

        [Network]
        Bond=bond0
    - name: 10-bond0.netdev
      contents: |
        [NetDev]
        Name=bond0
        Kind=bond
        MACAddress={{.mac1}}

        [Bond]
        TransmitHashPolicy=layer3+4
        MIIMonitorSec=.1
        UpDelaySec=.2
        DownDelaySec=.2
        Mode=802.3ad
        LACPTransmitRate=fast
    - name: 20-bond0.network
      contents: |
        [Match]
        Name=bond0

        [Network]
        DNS={{ .dns1 }}
        DNS={{ .dns2 }}

        [Address]
        Address={{.public_ip4}}

        [Address]
        Address={{.public_ip6}}

        [Address]
        Address={{.private_ip4}}

        [Route]
        Destination=x.x.x.x/x
        Gateway={{.public_gw4}}

        [Route]
        Destination=x:x:x/x
        Gateway={{.public_gw6}}

        [Route]
        Destination=x.x.x.x/x
        Gateway={{.private_gw4}}

Second Question
Also, is it possible to maybe try a version of Flatcar with a different kernel / systemd to see if the issue does still happen (you can find a Flatcar image artifact here with kernel 6.11 https://github.com/flatcar/scripts/actions/runs/11594744048 and one Flatcar image artifact here with systemd 256 https://github.com/flatcar/scripts/actions/runs/11557455799). My bet would be on a different systemd version.

I couldn't find a link to a release specifically
What do I need to do?

Hello @DFYT42,
Can you try the Flatcar image from the artifacts tab produced by this github action run: https://github.com/flatcar/scripts/actions/runs/12375552738?pr=2145 ?
This image has a newer version of systemd (v256).
Thank you,
Adrian.


SSO - Bug fixes (multiple issues)

Bug Fixes:

Reduced complexity in locals to remove for loops.
Added additonal functionality to add a user admin role to SSO. (This fixed the Bichard7 admin group)
Added try statement to add regex to lookup to handle the Bichard7 accounts. This was due to the non standard naming convention.
Re-worked the Terraform code for the SSO module to simplify and remove the need to read in all .json files.

Will create individual tickets for each item.

all sub tickets have been completed and tested. This ticket can be closed.


fix(duckdb): fix motherduck client

improve lea-motherduck connection handling
this pr fixes lea's compatibility with motherduck by implementing proper connection initialization and safer query patterns.
problem

lea was unable to properly connect to motherduck
risk of unintended table deletions due to non-specific table queries
connection initialization always defaulted to production database

solution

connection handling:

now connects to motherduck root (md:) instead of specific database
enables dynamic database creation and selection:

creates dev/prod databases during lea prepare
switches between dev/prod via --production flag during lea run
allows lea diff to compare dev x prod

query safety:

implemented fully qualified names (database.schema.table) for all motherduck operations -- especially important for wap operations as motherduck couldn't tell which database to run the wap queries against
prevents accidental table deletions previously possible with from duckdb_tables() as motherduck, by default, returns ALL tables from ALL schemas, lea would indavertently remove ALL tables from ALL schemas during the initial run

compatibility

no breaking changes for existing vanilla duckdb implementation (since database file name = database name)
all tests run ✅

Hey @alvinwanyeki. I've just merged a massive change to lea, and I've had to drop the DuckDB client. We'll have to rewrite it from scratch using the new interface.


where is the tooltip???

whereeeeeeeeeeeeeeeeeeee

There's no promisse of tooltip feature in this element. I'll put on enhancement.

I have made some changes and added:

Tooltips
Onclick event
Scale transition

Check my fork here:
https://github.com/robertsLando/jquery-fab


Restrict default max conns to a range for sqlite

Now using a default maximum number of connections between 2 and 8 even when the detected number of CPUs is higher or lower.
Related: #109

Whoops didn't see CI failed


Error of formatting

It malfunctions, as in the images.
The text in the Editor is formatted and in the blade it is normal text. Only the colors are respected.

Laravel 11x
PHP 8.3
NGINX

I checked this and the HTML content displays fine for me. Maybe the issue is with your CSS content.


new domain

READ - if adding a site do not fill this out
Why I pull requested this
What it changes?

Hello, thanks for submitting a domain, right when I get home I will work on setting it up!

Hello, you have not set up the github pages for your repository yet, please do so, otherwise I am not able to help currently.


Regression: lockedIndices doesn't work anymore in 5.0.0-dev.9

In 5.0.0-dev.9, I can move locked indices which result in errors like this:
RangeError (end): Invalid value: Not in inclusive range 1..2: 7. Error thrown while routing a pointer event.
RangeError.checkValidRange [errors.dart:365]
List.sublist [growable_array.dart:84]
ReorderableDragAndDropController.reorderList [reorderable_drag_and_drop_controller.dart:392]
_ReorderableBuilderState._finishDragging. [reorderable_builder.dart:462]

Hello @gmarizy
That should not happen I will fix this, thank you for reporting the issue

I cannot reproduce the issue.
Can you show me the code you have? And did this happen on iOS or Android? @gmarizy

I only have an Android at hand now, I can't confirm for iOS.
I made a sample:
import 'package:flutter/material.dart';
import 'package:flutter_reorderable_grid_view/widgets/reorderable_builder.dart';

class ShowcaseScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Scaffold(
    body: Center(
      child: ShowcaseWidget(),
    ),
  );
}

class ShowcaseWidget extends StatelessWidget {
  static const _max = 9;

  final ValueNotifier<List<String>> notifier = ValueNotifier(["A", "B", "C", "D"]);

  ShowcaseWidget({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) => ValueListenableBuilder<List<String>>(
      valueListenable: notifier,
      builder: (context, items, _) {
        return ReorderableBuilder(
          builder: (children) => GridView(
            shrinkWrap: true,
            gridDelegate: const SliverGridDelegateWithFixedCrossAxisCount(
              crossAxisCount: 3,
              mainAxisSpacing: 16,
              crossAxisSpacing: 16,
              childAspectRatio: 9 / 16,
            ),
            children: children,
          ),
          enableLongPress: false,
          enableScrollingWhileDragging: false,
          lockedIndices: [for (int index = items.length; index < _max; index++) index],
          onReorder: (block) {
            notifier.value = block(items) as List<String>;
          },
          children: List.generate(
            _max,
                (index) => index < items.length
                ? Card(
              key: Key("item:$index"),
              clipBehavior: Clip.antiAlias,
              child: Center(
                child: Text(items[index]),
              ),
            )
                : Card(key: Key("filler:$index")),
          ),
        );
      }
  );
}

Ah I see, this bug exists already since a longer time, I fix it and release 5.0.0-dev.10 @gmarizy

I released 5.0.0-dev.10, this issue should be fixed, thanks again for pointing it out @gmarizy

I confirm problem is fixed. Thank you for your reactivity !


Non-fixed gif sizes stabalize too much.

When creating Gifs. They are attempted to be stabalized, this can be an issue if your objects move in the gif.

This has been adressed with d3d5b62. If it's still an issue, a new one should be opened.


Problems parsing link-to with class names

Seems like adding an underscore in class name causes some misunderstanding in emblem's link parser.
this:
link-to .navtest 'dashboard' | Click me

gives me:
Click me

but:
link-to .nav__item 'dashboard' | Gerenciar Cardápio

generates:
Gerenciar Cardápio

It sucks when writing BEM markup... 😁

Interesting!  I'm honestly surprised a helper / component is working with the dot notation.  I've always operated under the assumption that the . and # helpers are for dom elements, and any Ember helpers / components should use classNames or class.
What is interesting is that underscores work just fine in both of those situations:
div.some__class
= link-to classNames='some__class'

However, since this functionality does exist we should definitely take a look at why on helpers / components the dot notation gets confused.

@thec0keman I had the idea of doing this way looking at the parser.
I though it was on purpose.


Missing vendor specific rules

-webkit-overflow-scrolling is not treated as a valid ruled and it's not rendered. Same for -ms-overflow-style.

Isn't -webkit-overflow-scrolling only implemented by Safari on iOS? In a Codepen it doesn't seem to be valid on Chrome 57 on Mac (with plain CSS, not using Styletron).

Yes, -webkit-overflow-scrolling is only for mobile (iOS) Safari: https://developer.mozilla.org/en-US/docs/Web/CSS/-webkit-overflow-scrolling#compat-mobile and enables momentum scrolling https://css-tricks.com/snippets/css/momentum-scrolling-on-ios-overflow-elements/
And -ms-overflow-style is used to auto hide scrollbars in some IE browsers: https://css-tricks.com/snippets/css/hide-scrollbar-in-edge-ie-1011/

Styletron just passes through declaration properties directly to the JavaScript CSSStyleSheet.insertRule() API. So on those devices where those properties are valid, they should be injected correctly. However, on any other device they will not as insertRule will reject it.

Verified on an iPhone with Safari Web Inspector and the rule is there. Thanks for the explanation!


Issues with astropy-helpers

splitting off this topic from https://github.com/mperrin/poppy/issues/160#issuecomment-225229716
Hi @eteq, @josePhoenix can give more of the details, but I think it's a bit of both.
For literally years, every so often I've encountered some random and hard-to-debug failures which eventually traced back to "the astropy helpers are doing something unexpected behind the scenes":

https://github.com/astropy/package-template/issues/106
https://github.com/astropy/astropy/issues/2502
https://github.com/astropy/astropy/pull/3713
and now here this new "the astropy helpers are using version 2.7 of py.test even though I've installed 2.8"
which is possibly related to why we're getting consistent failures on Travis on python 3.5, even though all tests pass on 3.5 locally. https://github.com/mperrin/poppy/issues/159

Each of the above has led to time-consuming debugging to track down what's going on, which has been a time sink and distraction from the main tasks we're actually trying to get done. I readily admit that software is hard, and we can't expect a bug-free existence or anything close to it. But overall given the limited functionality we're actually gaining from the astropy helpers (mostly some setup.py tweaks and the sphinx extensions), it seems like the overall return on time invested is negative.

Additionally:

https://github.com/astropy/astropy-helpers/issues/116
https://github.com/astropy/package-template/issues/107

My experience has been that all the hacks and customizations in the helpers seem well-motivated by problems in Astropy, but our WebbPSF and POPPY projects don't have {as large a build matrix, C and Cython extensions, a desire to customize setup.py to the same extent}. So, the benefits of the package template and the helpers are negated by the additional complexity.
I think another problem is the lag time: when we run into an issue, it typically takes a day to identify the template or helpers as the underlying cause, then we open an issue, then another day or so passes until we get a resolution. This is a very good level of service for a volunteer project, but a very bad time constant when I'm blocked and can't make progress on something!
There's a nonzero probability that POPPY and WebbPSF will gradually accrete customizations of their own over time that end up being similarly opaque to contributors, but at least @mperrin or I will be able to explain what went into them 😄

Something we inherited from the package template: this ConfigParser issue.
https://github.com/astropy/package-template/commit/c2aa884af9b32f223d440cf0c987026c0f6abb7e

@mperrin @josePhoenix - I understand your concern that it can be frustrating to chase down these issues on a code base you didn't write.  Trust me, I know that pain very very well!  And if it's really true that you are not now nor ever going to be gaining anything by using the template, then there's no reason you should use it.
That said, consider the possibility that this may be a confirmation bias problem. There are likely a number of things you've gotten "for free" because it just worked and you never saw that anything was wrong, and no one ever noticed. And on this bit:

My experience has been that all the hacks and customizations in the helpers seem well-motivated by problems in Astropy, but our WebbPSF and POPPY projects don't have {as large a build matrix, C and Cython extensions, a desire to customize setup.py to the same extent}. So, the benefits of the package template and the helpers are negated by the additional complexity.
There's a nonzero probability that POPPY and WebbPSF will gradually accrete customizations of their own over time that end up being similarly opaque to contributors, but at least @mperrin or I will be able to explain what went into them

The problem lies in putting these paragraphs together.  I totally believe that you don't need all of what's in the helpers. But if you do accrete a need for some of it in the future, and build your own version, I bet it will be incompatible.  And more importantly, the wider community will not be able to work with you on it.  So yes, you two will understand it better, but the 50 other people who could have contributed are now cut out, or have to make the choice of "do I learn the POPPY/WebbPSF way of handling packages, or the affiliated package template", which is a lose-lose for everyone.  Especially given that the largest fraction of the time implementing this sort of stuff is always in working around the other bugs and documenting all the fiddly little details.

I think another problem is the lag time: when we run into an issue, it typically takes a day to identify the template or helpers as the underlying cause, then we open an issue, then another day or so passes until we get a resolution. This is a very good level of service for a volunteer project, but a very bad time constant when I'm blocked and can't make progress on something!

What I would hope for is that you help us make the helpers and package template better. Then you wouldn't be blocked: you could fix it right away and at the same time help the problem for others. Even if you think that means the best thing to do is throw it away and start over, then maybe that would be good for everyone!  But someone has to do it.
Happy to chat more about in person on this topic if that makes more sense, given we're all in the same institution...
P.S.

Something we inherited from the package template: this ConfigParser issue.

FYI, that's actually due to changes in Python-land (arguably a bug in that it was a subtle change that they probably thought wouldn't affect anything public but actually did).  So that goes along with the point above that it's a fix "for free", it's just you happen to catch it in an intermediate state.

I'm pretty sure that's actually due to changes in the Python interpreter (arguably a bug in that it was a subtle change that they probably thought wouldn't affect anything public but actually did).  So that goes along with the point above that it's a fix "for free", it's just you happen to catch it in an intermediate state.

Well, yes, the change that broke that import is from Python. However, had we used the PyPA recommended template for a setup.py, we wouldn't have depended on that behavior at all for our setup.py to run at all.
Another issue is that the way we learned there were changes to pull from upstream was by having our build break and then going and looking around the affiliated package template for likely culprits, then looking around the repo for a fix to copy in manually.
We could have pulled in the changes via git, but that makes a really gnarly git history that mixes the package template development commits with our own development, making for vexing git bisect sessions. And we still wouldn't have known there was a change to pull in, unless we'd been watching for new issues on the package-template repo.

I totally believe that you don't need all of what's in the helpers. But if you do accrete a need for some of it in the future, and build your own version, I bet it will be incompatible.  And more importantly, the wider community will not be able to work with you on it.  So yes, you two will understand it better, but the 50 other people who could have contributed are now cut out, or have to make the choice of "do I learn the POPPY/WebbPSF way of handling packages, or the affiliated package template", which is a lose-lose for everyone.

But the Astropy affiliated package template already imposes this choice! "Do I learn the Python way of packaging, or the Astropy way of packaging?" For example: in an Astropy project, you don't cd docs; make html, you python setup.py build_sphinx. You don't install pytest and py.test, you use a bundled pytest and a custom setup.py command. And a bunch of other little things that may surprise and alarm contributors (like monkeypatching in new global builtins?!).

What I would hope for is that you help us make the helpers and package template better. Then you wouldn't be blocked: you could fix it right away and at the same time help the problem for others.

I do contribute upstream when I can, but I don't feel like I can make effective contributions to the helpers/template. A lot of customizations are motivated by specific limitations in outside tools that someone on the Astropy project has a specific need to work around, but what those limitations are is hard to figure out (except by working backwards from the behavior observed, which I'm not usually doing until the behavior is abnormal...).

Happy to chat more about in person on this topic if that makes more sense, given we're all in the same institution...

Sure! We can set up a time. Marshall and I are somewhat occupied this week, and I believe he is going on vacation soon... so I thought I'd capture my thoughts in this issue.

Another issue with the pytest customizations in Astropy:

https://github.com/astropy/astropy-helpers/issues/258
https://github.com/astropy/astropy/issues/5402

Astropy helpers and the package template strike again!
When building WebbPSF on ReadTheDocs, our latest version of POPPY (including the latest v2.0.1 astropy_helpers submodule) was unable to install:
Excerpt from https://readthedocs.org/projects/webbpsf/builds/5821195/:
[ snip ]
Searching for poppy>=0.5.0
Reading https://pypi.python.org/simple/poppy/
Downloading https://pypi.python.org/packages/22/39/6ced910b3355a7f7e764cb985b24dac8b9a46c215fb9c1461145896c57d5/poppy-0.6.0.tar.gz#md5=249065f2f7892077acb321d1bc646002
Best match: poppy 0.6.0
Processing poppy-0.6.0.tar.gz
Writing /tmp/easy_install-ha9cewkv/poppy-0.6.0/setup.cfg
Running poppy-0.6.0/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ha9cewkv/poppy-0.6.0/egg-dist-tmp-nwihqd2i
/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/pkg_resources/__init__.py:188: RuntimeWarning: You have iterated over the result of pkg_resources.parse_version. This is a legacy behavior which is inconsistent with the new version class introduced in setuptools 8.0. In most cases, conversion to a tuple is unnecessary. For comparison of versions, sort the Version instances directly. If you have another use case requiring the tuple, please file a bug with the setuptools project describing that need.
  stacklevel=1,
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/sandbox.py", line 157, in save_modules
    yield saved
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/sandbox.py", line 198, in setup_context
    yield
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/sandbox.py", line 248, in run_setup
    DirectorySandbox(setup_dir).run(runner)
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/sandbox.py", line 278, in run
    return func()
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/sandbox.py", line 246, in runner
    _execfile(setup_script, ns)
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/sandbox.py", line 47, in _execfile
    exec(code, globals, locals)
  File "/tmp/easy_install-ha9cewkv/poppy-0.6.0/temp/easy_install-kmr20fds/astropy-helpers-0.4.8/setup.py", line 49, in <module>
    AUTHOR_EMAIL = metadata.get('author_email', '')
  File "/home/docs/.pyenv/versions/3.5.2/lib/python3.5/distutils/core.py", line 134, in setup
    ok = dist.parse_command_line()
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/dist.py", line 347, in parse_command_line
    result = _Distribution.parse_command_line(self)
  File "/home/docs/.pyenv/versions/3.5.2/lib/python3.5/distutils/dist.py", line 472, in parse_command_line
    args = self._parse_command_opts(parser, args)
  File "/home/docs/checkouts/readthedocs.org/user_builds/webbpsf/envs/stable/lib/python3.5/site-packages/setuptools/dist.py", line 658, in _parse_command_opts
    nargs = _Distribution._parse_command_opts(self, parser, args)
  File "/home/docs/.pyenv/versions/3.5.2/lib/python3.5/distutils/dist.py", line 536, in _parse_command_opts
    "command class %s must subclass Command" % cmd_class)
distutils.errors.DistutilsClassError: command class <class 'setuptools.command.bdist_egg.bdist_egg'> must subclass Command

I saw something on the package template or helpers issue tracker that made me think ah_bootstrap.py is out of date. I went to astropy/package-template to find it has been reimagined as a Cookiecutter template. The file ah_bootstrap.py is no longer present.
Upon investigating the post-create hook in the Cookiecutter template, I see it's now in the helpers and only copied out on project creation.
So, I updated it in POPPY and ran the RTD build against POPPY master and that seemed to fix it.

@josePhoenix - so just to clarify: it worked after you did that, right?
(FWIW, the cookiecutter approach to the template is hopefully the first step to making the helpers more "a la carte")

@mperrin can let you know. My favorite kind of bugs are the ones that only show up in production :)

In any case, the problems with astropy-helpers have never been insurmountable. They've merely required a totally disproportionate amount of time and expertise in packaging internals to surmount.

totally disproportionate amount of time and expertise in packaging internals

Not to beat a dead horse... but my point is that this depends on what you think it should be proportionate to.  Certainly there are "quick fixes" that would be faster (although probably not easier, so I think the packaging expertise is always necessary), but those come with other costs down the road... for example, if someone else has to pick up the maintenance (you know... hypothetically :wink:), it'll be easier if it's on shared infrastructure.

There is a set of shared infrastructure for Python packages. Building an astronomy-specific overlay to attempt to save maintainers from having to understand this shared infrastructure means you carry the maintenance burden of all your dependencies AND of this astronomy-specific overlay.
If you're volunteering (or being deputized) to maintain WebbPSF, I wish you the best of luck. I think it's clear that this does not decrease the maintenance burden for casual contributors at this point, so perhaps it should be taken over by a non-casual contributor.

Yeah. I think we can all agree that the overhead is more proportionate when that cost gets spread across multiple packages by the same maintainer -- which in fact @eteq and I were just discussing by email. :-)
This does raise the question of - for something like webbpsf which is not ever going to be merged into the main astropy trunk, as opposed to say photutils - to what extent the added overhead also adds value. Some of the customizations are very nice. But there's what feels like a recurring cost in having to pay attention to unpredictable changes in a package template which is a constantly moving target. When it works it's great - when it breaks, it's the last thing you want to end up having to deal with.
In any case as of 3 minutes ago, this is now my and @eteq's problem, and no longer @josePhoenix's. :-) Thanks again for all your many contributions over the last 3 years.

But there's what feels like a recurring cost in having to pay attention to unpredictable changes in a package template which is a constantly moving target. When it works it's great - when it breaks, it's the last thing you want to end up having to deal with.

Fair enough, @mperrin.  The intent of this machinery is to have fewer problems than you'd have to deal with if you didn't use it. But I think a missing piece of this story is that we don't know about the problems you would have had if the helpers hadn't silently fixed things behind the scenes (e.g. there are constant CI versioning problems that are mostly transparently fixed by the machinery).  But  I honestly don't know what the balance is there for WebbPSF.
It may be that there's a fundamental tension in using the same machinery for more "advanced" cases (for which WebbPSF apparently is one), and the "basic" user who, without the template/helpers, wouldn't ever have managed to package or use tests or anything like that. The helpers currently serve this dual purpose, and this may be a result of just that tension. The curious thing is that I would have thought WebbPSF is a fairly straightforward case.  So it's a bit confusing why it seems to have a lot more problems than many of the affiliated packages or other template users...?
I should say, though: one good bit of feedback I've gotten from the conversations with @josePhoenix is that it would be useful if this machinery was more "a la carte".  That is, you can not have pieces you don't need, which should lower the apparent burden on the maintainer (as they only get "what they ask for").  That's now a goal for the helpers, it just requires developer resources which of course are always stretched thin, especially for infrastructure.

Thanks again for all your many contributions over the last 3 years.

👍 🎆

The curious thing is that I would have thought WebbPSF is a fairly straightforward case. So it's a bit confusing why it seems to have a lot more problems than many of the affiliated packages or other template users...?

Good question, and one I have wondered myself. One possibility is the WebbPSF codebase is something like 2 or 3 years older than Astropy itself, and thus long predates the helpers and package template. It wasn't originally created from the package-template repo in the nominal fashion, rather we pulled that code into the existing webbpsf repo and retrofitted it, more or less. Back in 2014 or so. Is it possible that has left some longer-term jagged edges where things don't work as smoothly as they should? In the particular case we encountered today, I think the problem was that pulling in the latest updates to the astropy-helpers submodule didn't also pull in the update to ah_bootstrap.py. Is that not the behavior that is seen for other package template users?


Lazily load Zygote.jl for faster TTL

This will only load Zygote.jl when autodiff is enabled.
The big remaining TTL contributor is LoopVectorization.jl (direct) and VectorizationBase.jl (indirect), which are also optional. However, since LoopVectorization.jl is used for a macro, I'm not sure whether it can be loaded lazily?

Already implemented with an extension

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Warning: This coverage report may be inaccurate.
We've detected an issue with your CI configuration that might affect the accuracy of this pull request's coverage report.
To ensure accuracy in future PRs, please see these guidelines.
A quick fix for this PR: rebase it; your next report should be accurate.

24 of 26 (92.31%)  changed or added relevant lines in 3 files are covered.
16 unchanged lines in 2 files lost coverage.
Overall coverage increased (+3.3%) to 97.173%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/EvaluateEquationDerivative.jl
7
9
77.78%

Files with Coverage Reduction
New Missed Lines
%

src/EvaluateEquationDerivative.jl
7
89.8%

src/OperatorEnumConstruction.jl
9
89.38%

Totals

Change from base Build<PHONE_NUMBER>:
3.3%

Covered Lines:
928

Relevant Lines:
955

💛  - Coveralls


fix: use railway env name

Cause of using REDIS_ env name will not run success with the railway. So I change the env name to the railway's default env name.

Cause of using REDIS_ env name will not run success with the railway. So I change the env name to the railway's default env name.

Have you found the reason why REDIS_ doesn't work?

Cause of using REDIS_ env name will not run success with the railway. So I change the env name to the railway's default env name.

Have you found the reason why REDIS_ doesn't work?

From discord:

Right. One service has an env var with connection string, which references env vars (user, pass etc) from another service
<EMAIL_ADDRESS>becomes
http://:@hostname/
Yeah, I can't get it to work in any other way except changing the env var value to something else, then back to the template I use
After the change, it properly replaces the tokens
Tried restarting the service, same issue.
Yeah, it seems to happen no matter the template/setup
And honestly, makes sense. It's the clasic cat and mouse issue, where you don't know which variables got to be computed first

I don't know when they will fix this. Changing the env name is a faster way to build a successful railway template.

Cause of using REDIS_ env name will not run success with the railway. So I change the env name to the railway's default env name.

Have you found the reason why REDIS_ doesn't work?

From discord:

Right. One service has an env var with connection string, which references env vars (user, pass etc) from another service
<EMAIL_ADDRESS>becomes
http://:@hostname/
Yeah, I can't get it to work in any other way except changing the env var value to something else, then back to the template I use
After the change, it properly replaces the tokens
Tried restarting the service, same issue.
Yeah, it seems to happen no matter the template/setup
And honestly, makes sense. It's the clasic cat and mouse issue, where you don't know which variables got to be computed first

I don't know when they will fix this. Changing the env name is a faster way to build a successful railway template.

Got the point, although I still don't know why copy and paste the options again solves it. But glad to see a workaround for it.
However, this PR changes too many fields in the project from the following considerations:

only the MVP dapp is affected by this issue, so the update is expected to be limited in the MVP dapp
it can be fixed in the framework level by patching environments as export REDIS_PORT = +(process.env.REDIS_PORT ?? process.env.REDISPORT ?? DEFAULT_REDIS_PORT) with a comment, instead of updating all REDIS_x into REDISx in a weird spell
Unnecessary replacement at https://github.com/ckb-js/kuai/pull/423/files#diff-18da939443858e7c61d4f9a6e8b559f11cc19105af98f0eaa117d86a196ecc5eR13-R16

Updated with only sample-mvp.


Logging level config with appsettings.json is unclear

In the section Create filter rules in configuration with appsettings.json, the sample JSON is unclear. The sample and description should answer these questions:

What is the purpose of the LogLevel setting outside the ApplicationInsights object?

What does AllowedHosts have to do with logging? The description says, "The following section of appsettings.json...", indicating that the sample is a subset of a appsettings.json file. It appears, however, that the sample is an entire appsettings.json. If so, the description should refer to it as such.

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

ID: b09a09da-72ae-d5c0-fe25-69274054d302
Version Independent ID: 6911ee60-7c91-f024-8788-94939567d477
Content: Explore .NET trace logs with ILogger - Azure Application Insights - Azure Monitor
Content Source: articles/azure-monitor/app/ilogger.md
Service: azure-monitor
Sub-service: application-insights
GitHub Login: @mrbullwinkle
Microsoft Alias: mbullwin

@breyed, Thanks for brining this to our attention. We will investigate it further and update you shortly.

Hello @Breyed,
For loglevel Information - Please go through this doc and see if it helps. Log Level Doc
And for allowedHost information - Doc for reference
For AppSettings.JSON
Basically the sample section of appsettings.json is just what you could have in there to configure logs for warnings and above from all categories and error and above from categories that start with "Microsoft to be sent to applicationinsightsloggerprovider.
I hope this information helps.
Since there are no doc changes, We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.

@MonikaReddy-MSFT Thanks for the clarifications. I think this issue should be reopened, however, since the docs themselves remain confusing. Improvements to the docs are more discoverable than comments buried in a GitHub issue. The linked PR has a proposed clarification as I understand the behavior from your comments.

@breyed - Thank you for the feedback. I see that you have raised a PR against the doc, We will work on getting the doc approved and merge the changes.


Access Multi-Dimensional Arrays with Indexes

I was helping a fellow camper out with this one, and feel that the challenge itself could be written or explained better and more in depth.
I asked @QuincyLarson about it in gitter and he suggest that we open an issue here. If I can think of ideas other than explaining it more in depth, I'll comment them in here.

@SaintPeter do you have any ideas?

I had a lot of trouble with this one too. I don't understand the math that's involved to get the answer of 8. I ended up just putting random numbers in the variable until I got the correct answer. Even then I still don't understand how I got the correct answer.

@ajboilanger I thought the examples would be enough to explain and show how these multi-dimensional arrays work. How were you able to explain this concept to others that was lacking from the challenge itself?

I had same experience as LupDre.  It isn't intuitively obvious (to me) how the explanation sets us students up for understanding.   "When you use brackets to access your array, the first set of bracket refers to the entries in the outer-most array, and each subsequent level of brackets refers to the next level of entries inside."

@CaptRat thanks for the feedback on your learning experience. I think the example code could be redone to emphasize how they work. Here's a suggested rewrite:

One way to think of a multi-dimensional array, is as an array of arrays. When you use brackets to access your array, the first set of bracket refers to the entries in the outer-most (the first level) array, and each additional pair of brackets refers to the next level of entries inside.
Example

var arr = [
    [1,2,3],
    [4,5,6],
    [7,8,9],
    [[10,11,12], 13, 14]
];
arr[3]; // equals [[10,11,12], 13, 14]
arr[3][0]; // equals [10,11,12]
arr[3][0][1]; // equals 11

Any feedback on how well it explains the concept is welcome.

@erictleung That looks nice.

Anyone wanting to help contribute and fix this issue, below are the lines that need changing. Refer back to my comment above on what needs to be changed.

This line needs a slight edit with the bold text I added above. You don't need to add the actual bold tags, I added them there to points out the changes I made.
This line needs to be edited so it matches the example I have above.

Please first read the contributing guidelines before taking care of this issue. And feel free to visit the Contributors Help if you have any questions about helping. We're there to help.


fetch CGPM Resolution 1889-00 has stopped working

bundle exec relaton fetch "BIPM CGPM Resolution 1889-00"
Calling `DidYouMean::SPELL_CHECKERS.merge!(error_name => spell_checker)' has been deprecated. Please call `DidYouMean.correct_error(error_name, spell_checker)' instead.
[relaton] (BIPM CGPM Resolution 1889-00) not found.

@opoudjis because the identifiers were updated https://github.com/relaton/relaton-bipm/commits/main#issuecomment-1292238497
To fetch the document we can use CGPM -- Resolution (1889), CGPM -- Résolution (1889), CGPM -- RES (1889, EN), or CGPM -- RES (1889, EN) references.
Should we support previous references?

Well... they're still what is documented in the README. It's a question for @ronaldtse, but I suspect the answer is no.

Yeah let’s not support old syntax.

Ok

The decision to use "--" is disruptive to me, because Asciidoctor automatically converts "--" to em-dashes (and of course, in real world typology, as opposed to ASCII workarounds, that's what the symbol actually is.) I can change Metanorma to universally convert " — " back to " -- ", but I need a firm commitment from you that "—" will never show up in a Relaton identifier.

I don't know if that's possible, because Relaton titles should be as what titles given are. The real issue is that text values in Relaton (title, abstract, names, etc) never had a "textual schema" defined. This is something that we need to work on.

This is not about titls

The decision to use "--" is disruptive to me, because Asciidoctor automatically converts "--" to em-dashes (and of course, in real world typology, as opposed to ASCII workarounds, that's what the symbol actually is.) I can change Metanorma to universally convert " — " back to " -- ", but I need a firm commitment from you that "—" will never show up in a Relaton identifier.

I don't know if that's possible, because Relaton titles should be as what titles given are. The real issue is that text values in Relaton (title, abstract, names, etc) never had a "textual schema" defined. This is something that we need to work on.

This is not about titles, this is about identifiers, which should be more tightly constrained to begin with, since they are used to invoke external lookups.
The problem is that "--" is a default Asciidoctor substitution (and it is reasonable for it to be a default Asciidoctor substitution). And indeed, "---" should never have been used within an identifier. It is a glaring misfeature that we are now stuck with.
I've implemented a workaround, but surprises are unwelcome to me, and this was a surprise.

This is not acceptable, @andrew2net. Major changes to functionality like this need to be documented, and I need to be warned of them.

bundle exec relaton fetch "CCTF -- Recommendation 1 (1970)" works
bundle exec relaton fetch "CCTF -- REC 1 (1970)" does not
So there seems to be a systematic issue with short codes...

... well, this is a very confusing and unwelcome inconsistency, and it needs to be VERY clearly documented in the readme. People have to be able to generate these references.

Fixed in relaton v 1.14.1

As of this writing: I still need:
BIPM DECN CIPM/105-1 (2016, EN) BIPM CGPM -- Resolution (1889)
to work, or alternatives if those aren't right.

Fixed in relaton v 1.14.1

bundle exec relaton fetch "CCTF -- Recommendation 1 (1970)" works bundle exec relaton fetch "CCTF -- REC 1 (1970)" does not
So there seems to be a systematic issue with short codes...

Fixed in relaton-bipm v 1.14.1

I ended up changing the references I used, because I couldn't get the ones I provided to work. If there are ongoing problems, they can be raised by the editors, not me.


Display subtitle

How can we display subtitles for videos loaded from mobile storage?

sorry, is not support


TctiOptions: Remove final remnants of the EchoTcti.

The EchoTcti was some old debugging infrastructure. It was cleaned out
of the daemon a long time back. We still use it in a few test cases so
the code is still around. It's not used in the tpm2-abrmd though.
Signed-off-by: Philip Tricca<EMAIL_ADDRESS>

resolves #43


Add CloudBees Security as security contact

CloudBees is bundling this plugin in one of its proprietary product offerings. We would like to get notified when a security issue is filed and potentially work on a fix.
Link to GitHub repository

When modifying release permission
List the GitHub usernames of the users who should have commit permissions below:

@username1
@username2

This is needed in order to cut releases of the plugin or component.
If you are modifying the release permission of your plugin or component, fill out the following checklist:

### Release permission checklist (for submitters)
- [ ] The usernames of the users added to the "developers" section in the .yml file are the same the users use to log in to [accounts.jenkins.io](https://accounts.jenkins.io/).
- [ ] All users added have logged in to [Artifactory](https://repo.jenkins-ci.org/) and [Jira](https://issues.jenkins.io/) once.
- [ ] I have mentioned an [existing team member](https://github.com/orgs/jenkinsci/teams) of the plugin or component team to approve this request.

When enabling automated releases (cd: true)
Follow the documentation to ensure, your pull request is set up properly. Don't merge it yet.
In case of changes requested by the hosting team, an open PR facilitates future reviews, without derailing work across multiple PRs.
Link to the PR enabling CD in your plugin

### CD checklist (for submitters)
- [ ] I have provided a link to the pull request in my plugin, which enables CD according to the documentation.

### Reviewer checklist
- [ ] Check that the `$pluginId Developers` team has `Admin` permissions while granting the access.
- [ ] In the case of plugin adoption, ensure that the Jenkins Jira default assignee is either removed or changed to the new maintainer.
- [ ] If security contacts are changed (this includes add/remove), ping the security officer (currently `@Wadeck`) in this pull request. If an email contact is changed, wait for approval from the security officer.

There are IRC Bot commands for it.

@jglick as maintainer

cc @Wadeck


Automator: update common-files@master in istio/istio@master

Generated by Automator - 2023-07-12T13:07:13+00:00

@istio-testing: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

integ-ambient_istio
a850e708db8649a56080d0257fbf8181d63206b2
link
true
/test integ-ambient

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

/test integ-ambient


Bump fluentd to 1.11.5

Update kubernetes metadata plugin as mentioned in https://github.com/fluent/fluentd-kubernetes-daemonset/pull/484
Remove whitespace in Dockerfile template
Signed-off-by: Jonas-Taha El Sesiy<EMAIL_ADDRESS>

@cosmo0920 @repeatedly Please have a look, thanks!

@cosmo0920 No problem! I addressed the comments, PTAL

Thanks!


Missing EPIPHANY and ST_JOHN for Romania

Affected country
Romania
Affected public holiday
„Epiphany„ and „St John the Baptist„
Source of the information
https://en.wikipedia.org/wiki/Public_holidays_in_Romania
More information
No response

@derTobsch Could you help us with a fix for these holidays? Much appreciated


No decoders for requested formats: video/mp2t

Have you read the FAQ and checked for duplicate issues:
yes
What version of Shaka Player are you using:
2.1.5
Can you reproduce the issue with our latest release version:
yes
Can you reproduce the issue with the latest code from master:
yes
Are you using the demo app or your own custom app:
yes
If custom app, can you reproduce the issue using our demo app:
yes
What browser and OS are you using:
linux
What are the manifest and license server URIs:
(you can send the URIs to<EMAIL_ADDRESS>instead, but please use GitHub and the template for the rest)
What did you do?
`

test

`
What did you expect to happen?
expected to play as said fixed in version 2.1.2
https://github.com/google/shaka-player/issues/805
What actually happened?
Cannot play media. No decoders for requested formats: video/mp2t; codecs="mp4a.40.5", video/mp2t; codecs="avc1.42001e mp4a.40.2", video/mp2t; codecs="avc1.42001e mp4a.40.2", video/mp2t; codecs="avc1.4d001f mp4a.40.2", video/mp2t; codecs="avc1.4d001f mp4a.40.2", video/mp2t; codecs="avc1.4d001f mp4a.40.2"

What browser are you using?

i tested in desktop on chrome Version 59.0.3071.115 (Official Build) (64-bit) and firefox 54 didn't have opportunity to test on any mobile devices and mac. Any help..

Chrome doesn't support MPEG-2-TS, nor does Firefox.  Shaka currently only supports TS content on browsers that have TS support built in.
We have two changes coming which should help.
Since the error UNPLAYABLE_PERIOD does not clearly explain the situation, we will be adding a new error code for cases like yours: CONTENT_NOT_SUPPORTED_BY_BROWSER.  This work is being tracked in #868.
We are also working on a solution to transmux TS to MP4 so that we can play TS independent of the browser's TS support.  This is being tracked in #887, and will require an additional library called mux.js.
Does this help?

I think its not about browser support because i recently tested on "jwplayer" and it worked on chrome and firefox both on the same version i mentioned earlier. on the first comment i have added the code i used for playing the video. If possible can please the refer the code to find some clue of error occurring.

It's definitely about browser support.  Let me explain.
Browsers only support certain media containers (such as mp4, webm, or ts) and certain codecs (such as h264, h265, vp8, vp9, aac, ec3, vorbis, or opus).  For Shaka Player to play content today, it must be supported by the browser.
Some other players do something called "transmuxing".  When content is transmuxed in a web application, the container is parsed in JavaScript and a new container is constructed.  For example, if TS is unsupported by the browser, TS segments can be parsed in JavaScript, the h264/aac codec data can be extracted, and that codec data can be put into a new MP4 container.  After transmuxing to mp4, the player has content that the browser can play.
All major desktop browsers today support MP4, but only Safari and Edge support TS.  On all other browsers, TS content can only be played through transmuxing.
Since your TS content plays on Chrome and Firefox in JWPlayer, it means that JWPlayer is transmuxing.  Shaka Player will be able to transmux content in the near future.  If you'd like to keep track of that work, you should subscribe to #887.  In the mean time, you could always use another player that transmuxes.
I'm sorry that Shaka Player can't solve your problem yet, but we are working on it and hope to be able to release transmuxing support soon.  Please let me know if there's anything else we can do for you until then.

@JyotirmoyGoswami, is there anything else we can do for you?  Otherwise, I'd like to close this issue.  Thanks!

Closing due to inactivity.  Let us know if you need anything else.


testcontainers-core and testcontainers share the .core package

Describe the bug
I wanted to switch to testcontainers to work around the testcontainers.kafka dependency on kafka-python (didn#t work out because of https://github.com/testcontainers/testcontainers-python/issues/351). Anyyway, I did the below steps and ended up without a testcontainers.core package installed.
To Reproduce

Install testcontainers-postgres (with poetry, but I think this shouldn't matter)
Install testcontainers
Deinstall testcontainers-postgres (and testcontainers-core)

Try to import something from testcontainers.core -> It's missing now because it got deinstalled when deinstalling testcontainers-postgres (which also deinstalls testcontainers-core because testcontainers does not depend on it but has the files directly in it)

This is likely a consequence of 4.x not yet being released but only a release candidate being available. We'll try to merge #314 and then release the major version. Could you share the output of pip freeze | grep test?

Sorry, I don't have the package directory anymore :-(

I don't think the issue us resolved: here is the result of a throwaway venv with both testcontainers-postgres and the plain testcontainers container. The below shows that the files owned by two packages at the same time:
[23:34:13] λ  cat lib/python3.11/site-packages/testcontainers_core-0.0.1rc1.dist-info/RECORD
testcontainers/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
testcontainers/core/config.py,sha256=L70FDm9sB1JURAf7FA61FahKG6QCPEzheCB6VQ8nnhs,130
testcontainers/core/container.py,sha256=2HibEXuzgKU-cGmSy603YhkrAUhqOdDIyt7SQlbnNeI,5542
testcontainers/core/docker_client.py,sha256=jJgBzPCtIkPOIoguFtZrnZ5ZikSWpm20Brwm7v__wog,3869
testcontainers/core/exceptions.py,sha256=6Fsc_vgRo6Absz_T-rrB5woQql9OV3Exc64GtN8-5mI,772
testcontainers/core/generic.py,sha256=9wTXqpcll4Q95867SWFAxCice8wz2AT04phmsL6t1R0,2042
testcontainers/core/utils.py,sha256=DXc2sbtebnApQ-QojO1-S4TzgfmD1SkoyjukYagJmLc,1723
testcontainers/core/waiting_utils.py,sha256=FfJ_wWJL3seBpBNX7MtGcFumGWr0IhMc--mKTSTNqys,3480

[23:34:16] λ  cat lib/python3.11/site-packages/testcontainers-3.7.1.dist-info/RECORD | grep core
testcontainers/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
testcontainers/core/config.py,sha256=L70FDm9sB1JURAf7FA61FahKG6QCPEzheCB6VQ8nnhs,130
testcontainers/core/container.py,sha256=mVilYvOVf1P83nEBcEvNCvCUCOfhdnnmPWsLYudq4I0,5355
testcontainers/core/docker_client.py,sha256=E6S-JMuYfr9pYKcg2wveX7UU5-w5NYY29qZdO5lAWMQ,3346
testcontainers/core/exceptions.py,sha256=6Fsc_vgRo6Absz_T-rrB5woQql9OV3Exc64GtN8-5mI,772
testcontainers/core/generic.py,sha256=_HHzQrs3IbiyCarmg7ELrYe5wZu1Y_z95FEcdoE8x5Q,2254
testcontainers/core/utils.py,sha256=DXc2sbtebnApQ-QojO1-S4TzgfmD1SkoyjukYagJmLc,1723
testcontainers/core/waiting_utils.py,sha256=FfJ_wWJL3seBpBNX7MtGcFumGWr0IhMc--mKTSTNqys,3480


/doc deletes existing functions

Copilot Chat Extension Version: v1.222.0
VS Code Version: Version: 1.92.1 (Universal)
OS Version: Darwin arm64 23.6.0

Steps to Reproduce:

Write a function
Highlight the function
Trigger in-line CoPilot /doc function
/doc overwrites the code you've already written

Example:
Before /doc
func (c *DNSCache) Get(key string) (string, bool) {
	// check the cache for a value
	value, ok := c.entries[key]
	// if the value is not in the cache, return false
	if !ok {
		return "", false
	}
	// if the value is expired, delete it from the cache and return false
	if value.Expires.Before(time.Now()) {
		delete(c.entries, key)
		return "", false
	}
	// return the value
	return value.Value, true
}

After /doc
// Get retrieves the value associated with the given key from the DNS cache.
// It returns the value and a boolean indicating whether the value was found in the cache.
// If the value is not in the cache or if it has expired, it returns an empty string and false.
func (c *DNSCache) Get(key string) (string, bool) {
	// ...
}
	// return the value
	return value.Value, true
}

Same thing? https://github.com/microsoft/vscode-copilot-release/issues/1479

Yep, I just didn't think to search  "Eats Lines" when I was searching for a /doc bug.

Great to see I'm not alone with the problem

I'm having the same issue, very frustrating as it works occasionally.

It's pretty difficult to do any of the learning exercises and presumably the cert exam with this issue.

I'm experiencing the same issue with the inline chat feature when generating documentation comments for an entire file. Existing code and comments are often replaced with placeholders such as // ... existing code ... or // Implementation goes here. GitHub Copilot should either instruct the model to provide the complete code without placeholders or improve its processing to accurately identify which parts of the file to replace. This feature works much better in Cursor.

Yeah, this is pretty bad. It should never delete code.