How complex can default values be?

The Matroska specification contains the following elements whose default values are not simply constants, but depend on other elements:

BlockDuration: It's default value is DefaultDuration.
DisplayWidth and DisplayHeight: The default value is PixelWidth - PixelCropLeft - PixelCropRight resp. PixelHeight - PixelCropTop - PixelCropBottom.
OutputSamplingFrequency: It's default value is SamplingFrequency.

None of the above elements are currently mandatory (although the description of BlockDuration says that it is if DefaultDuration set), but the default value needs nevertheless to be evaluated if these elements are coded as empty elements. This raises the question as to how complicated the rules for default values are allowed to be. Constant values (and by these I mean constexpr) are of course possible and easy to implement, but how should an EBML Reader make sense of such complicated rules? In case of BlockDuration this implies to know the internals of the payload of the Block structure, although said payload is supposed to be a binary blob for the EBML Reader (although it's not a problem for the integrated EBML+Matroska reader that are currently in use).
I therefore propose to clarify the EBML specification to disallow non-constexpr values for default values and add a note stating that it is of course possible to include more complex rules for de-facto default values outside of the EBML layer.
Of course, the Matroska specification will have to be updated accordingly.

This is a real issue. Right now there is no restrictions on what can be put in the default attribute of each element (nor in size, label). That should be fixed.
As for how to interpret the value we could define a syntax but that would take forever and block this document. I think it's a good thing that default values may be very complex things depending on the context (Matroska can't do without). We need to keep this possibility.
For machine readable purposes it's important that the Schema says if an element has a default value or not even if the value is not interepreted. For example in mkvalidator it allows checking things are correct or missing, without having to know if the context is legit.
I think escaping the default value when it's not a direct value could work. Another way would be to add an extra attribute for which the default value cannot be interpreted as such.
In Matroska there is:

BlockDuration using DefaultDuration
DisplayWidth using PixelWidth - PixelCropLeft - PixelCropRight
DisplayHeight using PixelHeight - PixelCropTop - PixelCropBottom
OutputSamplingFrequency using SamplingFrequency

As for how to interpret the value we could define a syntax but that would take forever and block this document. I think it's a good thing that default values may be very complex things depending on the context (Matroska can't do without). We need to keep this possibility.

I agree, but before we talk about how to store the default value we should clarify where to draw the line: It is clear that an EBML-only reader (that uses Matroska's EBML Schema) will never ever be able to evaluate the default value of BlockDuration as this requires parsing the Block structure (to get the TrackNumber) although a Block is a binary blob for an EBML reader. So this default element will have to be handled at a higher level (at the Matroska layer). If you want to have the information about the existence of a default value in EBML, then one would need to add a stub EBML value.
But the other values would be possible in EBML as these are of the form "The default value is the value of another element (of the same type) that is a sibling to the current element". (Said other element would have to be mandatory for this to work.) I think it would be good to have such a possibility in pure EBML. What do you think?
(One could easily extend this to "The default value is the value of a function whose return type is the same as the said element) whose parameters are other elements that are siblings to the current element." (One could also relax the sibling requirement.) But defining the syntax for functions etc. would really delay this document as you already remarked. Therefore we leave this topic to future extensions of the standard.)

As for how to interpret the value we could define a syntax but that would take forever and block this document. I think it's a good thing that default values may be very complex things depending on the context (Matroska can't do without). We need to keep this possibility.

I agree, but before we talk about how to store the default value we should clarify where to draw the line: It is clear that an EBML-only reader (that uses Matroska's EBML Schema) will never ever be able to evaluate the default value of BlockDuration as this requires parsing the Block structure (to get the TrackNumber) although a Block is a binary blob for an EBML reader. So this default element will have to be handled at a higher level (at the Matroska layer). If you want to have the information about the existence of a default value in EBML, then one would need to add a stub EBML value.

This is a good point. Values that require parsing a Binary Element element can never be set explicitly. There should be a way to tell there's a default value though (to know if a mandatory element can be omitted).
I suggest separating the default attribute which has a usable value and a default_extended which would add non machine readable explanation about the default value. Both would signal there's a default value for the element.
I think escaping the non-machine readable it going to cause problem because we can never define a proper escaping system that won't collide with actual values some format may want to use.

But the other values would be possible in EBML as these are of the form "The default value is the value of another element (of the same type) that is a sibling to the current element" ([Edit]: This is wrong. DisplayWidth and DisplayHeight aren't of this form, they are of the form mentioned below.). (Said other element would have to be mandatory for this to work.) I think it would be good to have such a possibility in pure EBML. What do you think?

Yes, it could be a path to the element whose value to copy. But it means you have to make sure they have a parent in common and that value is unique in that parent. While this is good I think this can be added later. Maybe in default_extended.

(One could easily extend this to "The default value is the value of a function whose return type is the same as the said element) whose parameters are other elements that are siblings to the current element." (One could also relax the sibling requirement.) But defining the syntax for functions etc. would really delay this document as you already remarked. Therefore we leave this topic to future extensions of the standard and just leave a stub in the EBML Schema so that tools like mkvalidator can see that there is a default value, but that this default value needs to be evaluated at a higher level.)

Just noting that some related work to this issue is within https://github.com/cellar-wg/matroska-specification/pull/272. In general the attributes do not allow much complexity at all, but greater complexity may be expressed in an implementation_note. Still we need to say that more cleared in here.


‘window size bug’ when instances share one screen in Win10

when i run the Extension by using 'debug start', the size of the two instance windows are not same with  last time I shut them off;
Here is the screen shot:
the height of the right side window is shorter than before.

when press F1 and run the command , the size of main window .

Fixed for Feb.


Rename IsExist() to PathExists()?

IsExist() does not really read good in English and it is probably grammatically incorrect.
Consider renaming this function to PathExists()?

@tfarina thank you for your suggestion. We will consider renaming it.


Add support for validating an API Blueprint

This pull request adds a new validation API which allows you to validate an API Blueprint without serialising the complete API Blueprint.
Dependencies:

[ ] https://github.com/apiaryio/protagonist/pull/170
[ ] drafter.js

Do you want to add a test for blueprint with error?

Yes, I'll add one.


DFI transaction didn't work

I did send few times with the bridge without any issue thanks for that really great tool.
Unfortunately this time it didn't work as expected.
The transaction didn't work here the transaction on the BSC https://bscscan.com/tx/0x41893b29fc2d18bbd9de41e7bbbdfc43310b779a0a713dfc54f1c0add8c00a7a
and here the wallet where it should goes
dYTCgsgtkYEBhgm2Y4UzhhuKEd1DGsMBwp
I tried the restore function didn't work neither.
Any help will be appreciate.

Could you please try again now?
Sent from my iPhone
On 18 Jul 2022, at 11:44 pm, moonpo @.***> wrote:

I did send few times with the bridge without any issue thanks for that really great tool.
Unfortunately this time it didn't work as expected.
The transaction didn't work here the transaction on the BSC https://bscscan.com/tx/0x41893b29fc2d18bbd9de41e7bbbdfc43310b779a0a713dfc54f1c0add8c00a7a
and here the wallet where it should goes
dYTCgsgtkYEBhgm2Y4UzhhuKEd1DGsMBwp
I tried the restore function didn't work neither.
Any help will be appreciate.
—
Reply to this email directly, view it on GitHubhttps://github.com/muirglacier/bridge-ui/issues/29, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQVPOW7NFR53BQWHCW3LOCLVUVNSFANCNFSM534J6PUQ.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Looks to be working I received my deposit in my account.
Thanks for the support.

Thanks so much for your reply and glad I could help! You have helped to identify a little problem and it is fixed for all users now! Much appreciated and I wish you a wonderful day
Sent from my iPhone
On 19 Jul 2022, at 12:53 am, moonpo @.***> wrote:

Looks to be working I received my deposit in my account.
Thanks for the support.
—
Reply to this email directly, view it on GitHubhttps://github.com/muirglacier/bridge-ui/issues/29#issuecomment-1187600238, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQVPOW6MLFPA6J3G6WOANODVUVVU5ANCNFSM534J6PUQ.
You are receiving this because you commented.Message ID: @.***>


Release Google.Cloud.Metastore.V1 version 1.1.0

Changes in this release:

Commit ac367e2: feat: Regenerate all APIs to support self-signed JWTs
Commit 95dd8f3:

feat: Added the Backup resource and Backup resource GetIamPolicy/SetIamPolicy to V1
feat: Added the RestoreService method to V1
Promoted additional Dataproc Metastore metadata management methods to V1

Created release for Google.Cloud.Metastore.V1-1.1.0


Support for Web IDE

Issue: #598
Tasks:

[x] Syntax highlight
[x] Rollup ESBuild
[x] Document features

Selection Ranges
Folding Ranges
Linked Editing Ranges
Document Symbols
Document Colors
Formatting

[ ] Language features

References:

https://code.visualstudio.com/api/extension-guides/web-extensions#update-existing-extensions-to-web-extensions
https://github.com/microsoft/vscode-extension-samples/tree/main/lsp-web-extension-sample

Reference: https://github.com/vuejs/vetur/issues/3248#issuecomment-1103711779

This is fixed... ish, it now mostly works with the following installation errors

On https://insiders.vscode.dev on Microsoft Edge, I can get the extension to activate, but it seems that I can't run any Volar commands from the command palette afterwards.

@rzhao271 Fixed in https://github.com/johnsoncodehk/volar/commit/377033785d18adaff2b22c6ed4303435a7802114.


Modify settings in the tracker

Players will now be able to modify all boolean settings and the Roms folder setting from the tracker itself!

By clicking on the gear icon, users are brought to the new Settings page.

Each toggle setting is built using the name of the setting itself, converted into proper casing for display on the page. I updated some of the setting names to be more descriptive of their function, since we don't have fancy tooltips or anything to state their function clearly. Also, clicking on the Roms folder option will bring up the standard open file dialog. Users can select any file in their roms folder and the folder is used in the setting. Unfortunately, BizHawk doesn't provide the "select folder" version of the standard open file dialog, so this is how I opted to handle it. Documentation will be updated to help people understand how it works.
Overall, my hope is that this will help even more people get their tracker setup easily. Button configuration will eventually come, but that will be in another PR.

Looks fantastic! This will be really great for people who don't feel comfortable editing settings files directly, which I think will help out the community a lot.


Feature Request: new versions?

The latest available version here is mysql 8.0.33, while the latest available is 8.0.36
Moreover, a new version 8.3 is available, which would also be great to have here.

Please add MySQL 8.4 LTS
https://aws.amazon.com/blogs/database/amazon-rds-for-mysql-lts-version-8-4-is-now-generally-available/

+1, it would be great to see a build for 8.0.39 to align with Aurora's latest version (3.08.0 as of writing this)


Strings in Array from getTextContent() are split per character

Hi All,
Normally, getTextContent() puts strings together into an item of an array. I have a case now for two PDFs where every character is in a separate array item 🤔 . Is this a problem discovered before where you can push me into the right direction how to get more meaningful strings attached together?
Unfortunately, the PDF has personal financial data of a user so I can't provide it here but below are screenshots, showing the problem.
Configuration:

Web browser and its version: Latest Chrome and Firefox (I think it happens in all browsers)
Operating system and its version: (tested on mac)
PDF.js version: "pdfjs-dist": "^2.3.200"

Steps to reproduce the problem:
Unfortunately, the PDF has personal financial data of a user so I can't provide it here.
This is how the text is extracted:
import pdfjs from 'pdfjs-dist/build/pdf';
import pdfjsWorker from 'pdfjs-dist/build/pdf.worker.entry';

const parsePage = async page => {
  // extract content of page as an array of strings
  let textArr;

  const tc = await page.getTextContent();
  console.log(tc) // text items I'm talking about

  var out = [];
  for (let c of tc.items) {
    out.push(c.str.trim());
  }
  textArr = out.filter(i => i.length > 0);

  return textArr;
};

  const result = new Uint8Array(e.currentTarget.result);
  const pdf = await pdfjs.getDocument(result).promise;

  // get contents of all pages as array of textArrays
  const contents = [];
  const loopHelper = Array.from(Array(pdf.numPages)).entries();

  for (const [i] of loopHelper) {
    const pageNum = i + 1;
    const page = await pdf.getPage(pageNum);
    const textArr = await parsePage(page);

    contents.push(textArr);
  }

What is the expected behavior? (add screenshot)

(Don't worry, that address in there is not valid)
What went wrong? (add screenshot)

Thanks for any advice!

Unfortunately, the PDF has personal financial data of a user so I can't provide it here but below are screenshots, showing the problem.

Without access to a test-case, this issue unfortunately isn't actionable/valid (and unfortunately screen-shots aren't at all helpful for debugging these kind of issues).
This is almost guaranteed to be a duplicate of existing issues in https://github.com/mozilla/pdf.js/labels/4-text-selection, but it's simply impossible to pin-point the issue exactly given the current information.

@Snuffleupagus I can provide a PDF in private via email to test it if that helps? But I can't post it here.

We have many open issues for this at the link above, so let's close this one.


Suppress CountryDetector warning spew

The first time CountryDetector is used, it loads a file with country border
geometries, which causes one of the GeoTools classes to spew warning messages
about feature collections. Configure logging to suppress those warnings,
which aren't useful for us.

#2626  👈 (View in Graphite)
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


Module can't be imported from the code

When I run a code file with this line:
from youtube_scraping_api import YoutubeAPI
I get the error
ImportError: cannot import name 'YoutubeAPI' from 'youtube_scraping_api' (C:\Users\User\AppData\Local\Programs\Python\Python38\lib\site-packages\youtube_scraping_api\__init__.py)
But when I run the same code in your test.py file in src folder, it runs OK.
I think the error is caused by the import, that impors __init__.py from the folder in src, but not my Python package folder site-packages, as they have the same name, but not the same contents. I'll try to fix it by moving folders and code, but that's a critical bug.

Thanks for the report. Please make sure that you've installed the package through pip install youtube-scraping-api in your terminal.

Thanks for your issue report. I'll try fixing the bug as soon as possible.

the package should work just fine when installing through PyPi. Take a look at https://ytsa.thecodeblog.net/en/latest/installation.html

Thanks! The import works just fine.


Configure enterprise nework filter for SKRs from ERS context

Description
Followup to https://github.com/kyma-project/control-plane/pull/1478, enable enterprise network filter for SAP SKRs.
Related issue(s)

/retest

/retest

/retest


Upstream sync

I rebased our fork onto the bleeding edge of the upstream (the latest released version, v<IP_ADDRESS>, fixed our protobuf problem but introduced another pigweed related breakage), and it built. I didn't want to force-push onto the master so I've chucked it on a branch - not quite sure how we'd go about merging thought!
Anyway, I'm now building a skills engine image using it to make sure it still works. If you want to try yourself, this is what needs to change in the recipe to make it use this branch:
diff --git a/recipes-matter/matter/matter-examples.bb b/recipes-matter/matter/matter-examples.bb
index 5986c8f..ea26461 100644
--- a/recipes-matter/matter/matter-examples.bb
+++ b/recipes-matter/matter/matter-examples.bb
@@ -6,9 +6,9 @@ LICENSE = "CLOSED"
 #SRCREV = "f53f3a992a0ed13bd824d3f665c0806fca0f5163"

-SRCREV = "e2a5b8cac0e15296fcb031c3ae26d4ef2289c115"
+SRCREV = "e5e1d89b2ec68051ac2869567586a89eb45ad667"

-SRC_URI = "git://github.com/oclea/connectedhomeip.git;branch=master;protocol=https \
+SRC_URI = "git://github.com/oclea/connectedhomeip.git;branch=upstream-sync;protocol=https \
            file://0001-error-unrecognized-command-line-option-fix.patch \
            file://0002-build-standalone-lib.patch \
            file://chip.pc \

Thanks! How were you able to get around the pigweed error?

Thanks! How were you able to get around the pigweed error?

Don't know what fixed it, but I wasn't going to investigate the issue on a branch that's lagging several months behind so thought I'd see if it's still there on the head of the main branch - and it isn't.


Modifier -> SwiftUI Updated -> Scroll views: scrollClipDisabled(_:) [BETA]

Doc: https://developer.apple.com/documentation/SwiftUI/View/scrollClipDisabled(_:)

Done, according to @carson-katri


support combine types : such as oneof, map,any ,enum and nested message

#40 support map ,enum and  nested message. oneof and any does not support up to now


Issue in Generate {train,test}.list files in list directory

I need the help from your guys
My issue is attached as in following image
Thank you

maybe you need sudo to drive it, like this : sudo ./list/conver_images_to_list.sh
In fact, it's possible not to run the script

the shell file of convert_images_to_list.sh does't has excute permission
chmod +x convert_images_to_list.sh


White OpenID Connect Screen During Sign-In Attempt (Android)

I'm attempting to use Insporation on my Android device, to test out the experience and see the API functionality in Diaspora version <IP_ADDRESS>. My pod over at Diasp.org is running this version, so ostensibly this app should be supported.
When I put in my Diaspora ID, redirection to the Sign-in form works correctly. Upon attempting sign-in, however, I'm redirected to a blank white OpenID Connect page on the pod. It looks like the client registration can't successfully complete.
If it helps any, I'm on Android 14 running on a Samsung Galaxy S23 Ultra.

I have the same issue on Fairphone 3+, /e/ OS, with Firefox as the system browser, also on diasp.org.
Someone commented:

u must enable backwards link redirection in samsung browser settings.
...but I can't find an option for this in FF.

I signed up on diaspora-fr to test this. It seems that it works perfectly over there, so it might be related to something Diasp.org is doing?
I'll test with Samsung Browser to see if that works at least.

Just tested with Samsung Internet browser with backwards link redirection enabled, no dice.

I think this is a server-side problem with this pod.

Just a warning that I did not upgrade diaspora-fr to the latest merged code yet. I will do it soon so we can test that is still work.
Waiting for it maybe @dmorley is interested about this thread.

I am in vacation right now without a terminal. So I can also not merge latest version and test it on societas pod. Just to inform on my side. Am 03.07.2024 um 10:29 schrieb Fla @.***>:
Just a warning that I did not upgrade diaspora-fr to the latest merged code yet. I will do it soon so we can test that is still work.
Waiting for it maybe @dmorley is interested about this thread.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you are subscribed to this thread.Message ID: @.***>


Date formatting incorrect

I'm running the example app. In this app the date is not formatted:

I then saw in the readme that the dates can be formatted with {{date, datetime(format:dd/MM/yyyy)}}, this however does not produce the expected result as well (I think it has something to do with the escaping of the slash):

Hi @Petri-Oosthuizen
yes you're right, the slashes are being escaped, this was introduced in the previous versions
and if you don't want that behavior, you can either:
add an escaping prefix (default is -) like this:
{{-date, dateTime(...)}}
or just turn it off by default by setting your I18NextOptions.escapeValue to false.


Uncaught TypeError: Cannot read properties of null (reading 'useState')

Describe the bug
I am trying to add new functionality to the VM but have encountered a problem during the build and link process. Specifically, I'm seeing the error react.development.js:1622 Uncaught TypeError: Cannot read properties of null (reading 'useState'). It seems as though there might be two versions of React running concurrently, although react and react-dom are peer dependencies on the VM project.
Environment

Node.js version: 18.15.0
pnpm version: 8.6.5

To Reproduce
I've followed these steps:

Cloned near/near-discovery into the same workspace as the VM project.
Ran pnpm i on both /vm and /near-discovery.
In /vm, ran pnpm build.
In /near-discovery, ran pnpm link ../vm and then pnpm dev.

Expected behavior
My expectation was to build and link the VM successfully with the 'near-discovery' project, allowing me to continue with my implementation of new functionality.
Actual results
However, I've run into a TypeError during the build process as outlined above. This issue is preventing me from proceeding with my work.
I suspect the error might be due to conflicting versions of React, but I'm unsure of how to resolve this issue.
Additional context
Any help with debugging this issue would be greatly appreciated. If more information is required, please let me know.

I'm unaware of the latest setup that near.org uses, but here is how I resolved conflicting issues in the near.social: https://github.com/NearSocial/viewer/blob/72ef6d08f649cd8f70c4543c8b858b7074fbf526/webpack.config.js#L57-L61
It might be better to ask about this in near-discovery repository.


Add (experimental) support for different configs in FeaturePerfRunner

Obsolete because of https://github.com/se-sic/VaRA-Tool-Suite/pull/700


Is it possible to transfer coin -> coin?

I am trying to transfer between a BTC -> LTC, or ETH -> LTC account.
I am not able to get this to work either via this package or via simple Postman requests.
Here's my approach. After Oauth, I get the client's account IDs. I then get the account for BTC and account for ETH.
I then create a transfer between the two, with a request body like this (below). The code below is in Javascript, but applies as well to Python:
const url = `${endpoint}/v2/accounts/${accountId}/transactions`
const type = 'transfer';
const to = 'TO_ID';
const currency = 'BTC';
const amount = '0.00000001';
const response = await request.post(url, { type, to, amount, currency }, { headers });

Here, response comes back with a 'Not found' error:
{
    "errors": [
        {
            "id": "not_found",
            "message": "Not found"
        }
    ],
    "warnings": [
        {
            "id": "missing_version",
            "message": "Please supply API version (YYYY-MM-DD) as CB-VERSION header",
            "url": "https://developers.coinbase.com/api#versioning"
        }
    ]
}

I would appreciate any help in getting this to work! Thank you!

Hey @tgoldenberg, we do not support cryptocurrency -> cryptocurrency trades on coinbase.com at this time. Consider looking into our exchange GDAX for such functionality. Thanks!


nlp function does'nt work

Hi,
At corpus_construction/mlm_corpus/corpus_construction.py line 46 a function named "nlp" has been used to filter instances where "so" indicator does'nt indicate logical reasoning (like so happy), but it never defined before and make error in producing results.

Thanks for the reporting. @zhongwanjun may answer the question


Refactor pkgci scripting and ctest to enable more flexible package testing.

Progress on https://github.com/iree-org/iree/issues/16203.
Context
I'm trying to move the test_[gpu_vendor]_[model] CI jobs (e.g. test_amd_mi250) in ci.yml over to pkgci.yml. These jobs build the runtime portions of the project using CMake and currently use the "install directory" from the build_all job.
Changes

Pass binary directory to build_tests_using_package.sh for easier substitutions, instead of "package" (really "install") directory

This matches the IREE_HOST_BIN_DIR CMake variable
Some might recall that we used to have a IREE_HOST_BINARY_ROOT CMake variable (we still do, but it is deprecated) that inferred the /bin subdirectory

Add "test-type=lit-test" and "test-type=check-test" labels

This allows test runs to exclude tests based on that label. Excluding by label may be used as a short term measure to ease in the migration. Longer term, any "package tests" should be using separate CMake projects or other test runners like pytest.

Closing since https://github.com/iree-org/iree/pull/18007 included these changes too


[release/1.2 backport] AppVeyor: bump golang 1.12.10 (CVE-2019-16276)

backport of https://github.com/containerd/containerd/pull/3686
full diff: https://github.com/golang/go/compare/go1.12.9...go1.12.10
Hi gophers,

We have just released Go 1.13.1 and Go 1.12.10 to address a recently reported security issue. We recommend that all affected users update to one of these releases (if you're not sure which, choose Go 1.13.1).

net/http (through net/textproto) used to accept and normalize invalid HTTP/1.1 headers with a space before the colon, in violation of RFC 7230. If a Go server is used behind an uncommon reverse proxy that accepts and forwards but doesn't normalize such invalid headers, the reverse proxy and the server can interpret the headers differently. This can lead to filter bypasses or request smuggling, the latter if requests from separate clients are multiplexed onto the same upstream connection by the proxy.

The issue is CVE-2019-16276 and Go issue golang.org/issue/34540.

Thanks to Andrew Stucki, Adam Scarr (99designs.com), and Jan Masarik (masarik.sh) for discovering and reporting this issue.

Downloads are available at https://golang.org/dl for all supported platforms.

Alla prossima,
Filippo on behalf of the Go team

From the patch: https://github.com/golang/go/commit/6e6f4aaf70c8b1cc81e65a26332aa9409de03ad8
net/textproto: don't normalize headers with spaces before the colon

RFC 7230 is clear about headers with a space before the colon, like

X-Answer : 42

being invalid, but we've been accepting and normalizing them for compatibility
purposes since CL 5690059 in 2012.

On the client side, this is harmless and indeed most browsers behave the same
to this day. On the server side, this becomes a security issue when the
behavior doesn't match that of a reverse proxy sitting in front of the server.

For example, if a WAF accepts them without normalizing them, it might be
possible to bypass its filters, because the Go server would interpret the
header differently. Worse, if the reverse proxy coalesces requests onto a
single HTTP/1.1 connection to a Go server, the understanding of the request
boundaries can get out of sync between them, allowing an attacker to tack an
arbitrary method and path onto a request by other clients, including
authentication headers unknown to the attacker.

This was recently presented at multiple security conferences:
https://portswigger.net/blog/http-desync-attacks-request-smuggling-reborn

net/http servers already reject header keys with invalid characters.
Simply stop normalizing extra spaces in net/textproto, let it return them
unchanged like it does for other invalid headers, and let net/http enforce
RFC 7230, which is HTTP specific. This loses us normalization on the client
side, but there's no right answer on the client side anyway, and hiding the
issue sounds worse than letting the application decide.

Codecov Report

Merging #3687 into release/1.2 will decrease coverage by 3.67%.
The diff coverage is n/a.

@@               Coverage Diff               @@
##           release/1.2    #3687      +/-   ##
===============================================
- Coverage        47.87%   44.19%   -3.68%
===============================================
  Files               91      100       +9
  Lines             8483    10847    +2364
===============================================
+ Hits              4061     4794     +733
- Misses            3688     5313    +1625
- Partials           734      740       +6

Flag
Coverage Δ

#linux
47.87% <ø> (ø)
:arrow_up:

#windows
41% <ø> (?)

Impacted Files
Coverage Δ

snapshots/native/native.go
43.3% <0%> (-10%)
:arrow_down:

metadata/snapshot.go
45.8% <0%> (-8.96%)
:arrow_down:

archive/tar.go
44.08% <0%> (-7.32%)
:arrow_down:

metadata/containers.go
47.97% <0%> (-6.62%)
:arrow_down:

content/local/writer.go
58.65% <0%> (-5.55%)
:arrow_down:

content/local/store.go
48.51% <0%> (-5.03%)
:arrow_down:

metadata/images.go
57.57% <0%> (-4.99%)
:arrow_down:

archive/tar_opts.go
28.57% <0%> (-4.77%)
:arrow_down:

archive/compression/compression.go
58.69% <0%> (-4.7%)
:arrow_down:

metadata/buckets.go
56.33% <0%> (-4.6%)
:arrow_down:

... and 57 more

Continue to review full report at Codecov.

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


[Bug]: Clone and build the project and it will show up as a black screen

Affected Version
1.73.5
Bug Behavior

a black screen appears.
It appears that only the change of the game title to be displayed can be manipulated, but it is believed that other UIs can be manipulated as well.

Translated by DeepL.
Expected Behavior

works like stable build.
https://github.com/CollapseLauncher/Collapse?tab=readme-ov-file#download-ready-to-use-builds
Please let me know if there are any missing steps to debug.

Steps to reproduce

clone and build. (https://github.com/CollapseLauncher/Collapse/blob/main/CONTRIBUTING.md)
use recommended environment. (https://github.com/CollapseLauncher/Collapse#system-requirements-for-ready-to-use-build)
reproduced by debug and release build.
visual studio 2022 -> solution debug mode or create release build and execute [CollapseLauncher.exe]

Related Issues
No response
Screenshot(s)

Additional Information
It could be a bug in win ui 3, but other applications did not reproduce.
example projects.

https://github.com/microsoft/WinUI-Gallery (Microsoft WinUI Sample)
https://github.com/tom-weiland/csharp-game-launcher (WPF and .NET3.1)

Thank you. I did a git pull & git submodule update and was able to confirm that it was fixed!


Provide Migration Path for Apiserver -> CRDs

Description
We need to create a migration guide/scripts which will allow clients to do easily migraton from api-server to CRD approach.
Raw scenario

pre-upgrade hook

replace the api-server deployment with the api-server that has a read-only mode
backup the Service Catalog resources to the persistent volume (consider backuping etcd and second with new format that will be used for restore)

upgrade

remove the api-server
remove the etcd storage
adjust secrets, RBAC etc.
upgrade controller manager
install webhook server

post-upgrade

scale down the controller manager to 0
restore the Service Catalog resources - Spec and Status (status is important because we do not want to trigger provisioning for already process items)
scale up controller manager

AC

upgrade with migration only if previous SC version has api-server, and explicitely flag with migration is set to true
migration from the Aggregated API Server to CRD approach is doable and well documented

The migration tool and documentation are already created:

docs: https://github.com/kyma-incubator/service-catalog/blob/crds-migration/docs/migration-apiserver-to-crds.md
tool: https://github.com/kyma-incubator/service-catalog/tree/crds-migration/cmd/migration

/assign

the story was mainly resolved by https://github.com/kubernetes-sigs/service-catalog/pull/2710


feat: Qdrant instrumentation

Fixes #345
Description
This PR adds support for Qdrant  to be traced by OpenLLMetry by introducing a new instrumentation module opentelemetry-instrumentation-qdrant.
Supports QdrantClient and AsyncQdrantClient from the qdrant-client >= 1.7 package.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Thanks @Anush008! Can you add tests to the new instrumentation under traceloop-sdk?

Hi @nirga. They are here.
https://github.com/traceloop/openllmetry/blob/5e5f5eb8f933256d3a560f83f67641da5e86ab13/packages/traceloop-sdk/tests/test_qdrant_instrumentation.py

e0e83551022cc5723925f79bca7c2f0858dd4dc7 is breaking all the sdk tests.

e0e83551022cc5723925f79bca7c2f0858dd4dc7 is breaking all the SDK tests.

Traceback
    @pytest.fixture(scope="session")
    def exporter():
        exporter = InMemorySpanExporter()
>       Traceloop.init(
            app_name="test",
            resource_attributes={"something": "yes"},
            disable_batch=True,
            exporter=exporter,
        )
tests/conftest.py:12:

traceloop/sdk/init.py:152: in init
Traceloop.__tracer_wrapper = TracerWrapper(
traceloop/sdk/tracing/tracing.py:111: in new
init_instrumentations()
traceloop/sdk/tracing/tracing.py:265: in init_instrumentations
init_haystack_instrumentor()
traceloop/sdk/tracing/tracing.py:345: in init_haystack_instrumentor
instrumentor.instrument()
.venv/lib/python3.9/site-packages/opentelemetry/instrumentation/instrumentor.py:114: in instrument
result = self._instrument(  # pylint: disable=assignment-from-no-return
../opentelemetry-instrumentation-haystack/opentelemetry/instrumentation/haystack/init.py:71: in _instrument
wrap_function_wrapper(
.venv/lib/python3.9/site-packages/wrapt/patches.py:114: in wrap_function_wrapper
return wrap_object(module, name, FunctionWrapper, (wrapper,))
.venv/lib/python3.9/site-packages/wrapt/patches.py:60: in wrap_object
(parent, attribute, original) = resolve_path(module, name)
.venv/lib/python3.9/site-packages/wrapt/patches.py:17: in resolve_path
import(module)
.venv/lib/python3.9/site-packages/haystack/init.py:11: in
from haystack.nodes.base import BaseComponent
.venv/lib/python3.9/site-packages/haystack/nodes/init.py:3: in
from haystack.nodes.answer_generator import BaseGenerator, OpenAIAnswerGenerator
.venv/lib/python3.9/site-packages/haystack/nodes/answer_generator/init.py:2: in
from haystack.nodes.answer_generator.openai import OpenAIAnswerGenerator
.venv/lib/python3.9/site-packages/haystack/nodes/answer_generator/openai.py:6: in
from haystack.environment import HAYSTACK_REMOTE_API_TIMEOUT_SEC
.venv/lib/python3.9/site-packages/haystack/environment.py:15: in
import transformers
.venv/lib/python3.9/site-packages/transformers/init.py:26: in
from . import dependency_versions_check
.venv/lib/python3.9/site-packages/transformers/dependency_versions_check.py:16: in
from .utils.versions import require_version, require_version_core
.venv/lib/python3.9/site-packages/transformers/utils/init.py:18: in
from huggingface_hub import get_full_repo_name  # for backward compatibility
.venv/lib/python3.9/site-packages/huggingface_hub/init.py:370: in getattr
submod = importlib.import_module(submod_path)
../../../../.pyenv/versions/3.9.5/lib/python3.9/importlib/init.py:127: in import_module
return _bootstrap._gcd_import(name[level:], package, level)
.venv/lib/python3.9/site-packages/huggingface_hub/hf_api.py:48: in
from tqdm.auto import tqdm as base_tqdm

Thanks @Anush008! I'd consider adding instrumentations for the vectors themselves, as we do in #344 for Chroma now.
Reg. the tests - I've triggered their runs now.

Also, can you please attach screenshots from Traceloop (or any other observability platform) showing how this instrumentation works?

Hi @nirga. I got on with other tasks after the tests ran. Could I get a review please and I'll proceed from there?
I didn't feel strongly about adding the embeddings to the trace because the request would be bloated with large embedding dimensions and I think people wouldn't really want to see every embedding literal value.

@Anush008 overall this looks great. I just have 2 comments:

Can you rebase?
Can you move the test file to be in the instrumentation package?

🎉🎉🎉


Claim: processing + Success popups should be at the same size

The headers should be aligned center and the circles and the texts should be at the same positioning.
It should feel like a seamless two-step flow.
https://xd.adobe.com/spec/8f259bcd-550e-4f0c-40bb-bdce2ed36fe5-f914/screen/e37420bb-533b-4567-a535-de7f2e5c31cb/Claim-2
https://xd.adobe.com/spec/8f259bcd-550e-4f0c-40bb-bdce2ed36fe5-f914/screen/9a1f1a84-036c-4e53-b1fb-d69c6a8bb59a/Claim-2-1
Defintion of Done

[x] notification and error popups have minimum height. (relative to design height)

Checked on the eWallet
Look as expected.


Unable to find encoder for "spdx-json=spdx.json"

What happened:
What you expected to happen:
I'm trying to sign and generate a SBOM and output it to a file. One of the options syft attest --help tells me exist is:
-o, --output stringArray report output format (<format>=<file> to output to a file), formats=[cyclonedx-json cyclonedx-xml github-json spdx-json spdx-tag-value syft-json syft-table syft-text template] (default [syft-json])
But when I try this option, it outputs the following error:
ERROR unable to write SBOM to file: unable to find encoder for "spdx-json=spdx.json"
I looked in the source and this behavior doesn't seem to be implemented. Any thoughts?
Steps to reproduce the issue:
go run cmd/syft/main.go attest DIGEST --key=KEY -o spdx-json=spdx.json
or
syft attest DIGEST --key=KEY -o spdx-json=spdx.json

As I understand it, when you use the syft attest command, it invokes cosign and pushes the signed SBOM w/attestation alongside the image using the same OCI registry. This means there really aren't files on the filesystem that get produced, so outputting to a file isn't implemented today. But it seems like a reasonable request to output the contents that would otherwise get pushed to the registry to a specified file -- is this what you are hoping to do?


minor updates

@jhernandezb I think we need to regen the schemas to pass the tests on name-minter 🤔

just noticed should be fixed now, I'm ignoring deprecated functions for a new PR (saw it was mentioned before)


sick_lms1xx range_max parameter not working

The launch files in this repository for the lidar sensors contain a parameter called 'range_max'.
For the lms_1xx sensor specifically, I have changed the value of this parameter with the intention to limit the range in the pointcloud output.
However, when I launch a model with three sensors, and visualize the transformed pointcloud data in RVIZ, I notice that the parameter is not effective as the range is not limited in the visualization.
As you can see in the image, pointcloud data of the 'wall' is still visible, though I only want to scan the item on the conveyor belt.
Could this be a bug in the repository? Or could there be any other reason why the range is not limited after changing the value?
What would be advised for me to filter out the wall, or any other object outside the range of the conveyor belt?
Please read further for more details.

roslaunch sick_scan sick_lms_1xx.launch
<launch>
    <arg name="hostname" default="<IP_ADDRESS>"/>
    <arg name="cloud_topic" default="cloud"/>
    <arg name="frame_id" default="cloud"/>
    <arg name="sw_pll_only_publish" default="true"/>
    <arg name="nodename" default="sick_lms_1xx"/>
    <arg name="add_transform_xyz_rpy" default="0,0,0,0,0,0"/>
    <arg name="range_max" default="0.5" />
    <arg name="min_ang" default="-2.35619" />
    <arg name="max_ang" default="2.35619" />
    <node name="$(arg nodename)" pkg="sick_scan" type="sick_generic_caller" respawn="false" output="screen" required="true">
        <param name="intensity" type="bool" value="True"/>
        <param name="intensity_resolution_16bit" type="bool" value="false"/>
        <param name="min_ang" type="double" value="$(arg min_ang)"/>
        <param name="max_ang" type="double" value="$(arg max_ang)"/>
        <param name="frame_id" type="str" value="$(arg frame_id)"/>
        <param name="use_binary_protocol" type="bool" value="true"/>
        <param name="scanner_type" type="string" value="sick_lms_1xx"/>
        <param name="range_max" type="double" value="$(arg range_max)"/>
        <param name="hostname" type="string" value="$(arg hostname)"/>
        <param name="cloud_topic" type="string" value="$(arg cloud_topic)"/>
        <param name="port" type="string" value="2112"/>
        <param name="timelimit" type="int" value="5"/>
        <param name="sw_pll_only_publish" type="bool" value="$(arg sw_pll_only_publish)"/>
        <param name="use_generation_timestamp" type="bool" value="true"/> <!-- Use the lidar generation timestamp (true, default) or send timestamp (false) for the software pll converted message timestamp -->
        <param name="start_services" type="bool" value="True"/> <!-- start ros service for cola commands -->
        <param name="activate_lferec" type="bool" value="True"/> <!-- activate field monitoring by lferec messages -->
        <param name="activate_lidoutputstate" type="bool" value="True"/> <!-- activate field monitoring by lidoutputstate messages -->
        <param name="activate_lidinputstate" type="bool" value="True"/> <!-- activate field monitoring by lidinputstate messages -->
        <param name="min_intensity" type="double" value="0.0"/> <!-- Set range of LaserScan messages to infinity, if intensity < min_intensity (default: 0) -->

        <param name="ang_res" type="double" value="0.5" /> <!-- Supported values are "0.25" and "0.50" -->
        <param name="scan_freq" type="double" value="50" /> <!-- Supported values are "25" and "50" -->
        <!-- Note: angular resolution and scanning frequency of a LMS111 can be configured by parameter "ang_res" (values "0.25" or "0.5") and "scan_freq"  (values "25" or "50") -->
        <!-- After setting "ang_res" and "scan_freq", it takes ca. 30 seconds until the pointcloud is published. -->
        <!-- Recommendation: It is recommended to specify the desired angular resolution and scan rate in this launch file. -->
        <!-- In this case, it is necessary to wait approx. 30 sec. until the Lidar changes to status "OK". -->
        <!-- Alternatively, these settings can be configured in SOPAS-ET, transferred to the EEProm of the lidar and -->
        <!-- then permanently stored. In this case, the explicit specification of scan rate and angular resolution -->
        <!-- can be omitted and the waiting time can be avoided. -->

        <!-- Apply an additional transform to the cartesian pointcloud, default: "0,0,0,0,0,0" (i.e. no transform) -->
        <!-- Note: add_transform_xyz_rpy is specified by 6D pose x, y, z, roll, pitch, yaw in [m] resp. [rad] -->
        <!-- It transforms a 3D point in cloud coordinates to 3D point in user defined world coordinates: -->
        <!-- add_transform_xyz_rpy := T[world,cloud] with parent "world" and child "cloud", i.e. P_world = T[world,cloud] * P_cloud -->
        <!-- The additional transform applies to cartesian lidar pointclouds and visualization marker (fields) -->
        <!-- It is NOT applied to polar pointclouds, radarscans, ldmrs objects or other messages -->
        <param name="add_transform_xyz_rpy" type="string" value="$(arg add_transform_xyz_rpy)" />

        <param name="message_monitoring_enabled" type="bool" value="True" />      <!-- Enable message monitoring with reconnect+reinit in case of timeouts, default: true -->
        <param name="read_timeout_millisec_default" type="int" value="5000"/>     <!-- 5 sec read timeout in operational mode (measurement mode), default: 5000 milliseconds -->
        <param name="read_timeout_millisec_startup" type="int" value="120000"/>   <!-- 120 sec read timeout during startup (sensor may be starting up, which can take up to 120 sec.), default: 120000 milliseconds -->
        <param name="read_timeout_millisec_kill_node" type="int" value="150000"/> <!-- 150 sec pointcloud timeout, ros node will be killed if no point cloud published within the last 150 sec., default: 150000 milliseconds -->
        <param name="client_authorization_pw" type="string" value="F4724744"/>    <!-- Default password for client authorization -->

    </node>
</launch>

I have modified the launch file a little, by making 'range_max', 'min_ang' and 'max_ang' configurable.
I did this to be able to start multiple sensors from a different launch file, while being able to configure the values.
I have not included that other launch file, as this issue also occurs when launching just a single sensor manually with the following commands (see result in second image):
roslaunch sick_scan sick_lms_1xx.launch
rviz (second window, added pointcloud for topic '/cloud' to rviz)
rosrun tf static_transform_publisher 0 0 0 0 0 0 /map /cloud 50 (third window)

Thanks for reporting! Basically we recommend to filter the pointcloud in the application according to the requirements. We will check and adjust the range filter.

With version 2.8.7 and higher you can set the filter parameter as you proposed in your issue.


sql: tzinfo can be inconsistent across nodes

See https://github.com/cockroachdb/cockroach/issues/31978#issuecomment-437850407.

CockroachDB relies on each node's tzinfo data for resolving named timezones like America/New_York and for applying daylight-savings rules. This can lead to inconsistent results across a cluster when coercing date/time strings into temporal types.

From @knz:

until this issue is fixed, we should call out in the docs for operational matters that the OS database should be updated, and all nodes should be restarted when the timezone data changes (e.g. the definition of a timezone changes because of geopolitical matters, or some country decides to change their DST rules).

We have closed this issue because it is more than 3 years
old. If this issue is still relevant, please add a comment and re-open
the issue. Thank you for your contribution to CockroachDB docs!

This issue is still open in CRDB repo, reopening


Improve Debian Releases File

Is your feature request related to a problem? Please describe
I would like to cache the Debian Repo and Use APT Pinning to pin it to a specific priority.
The Problem is the only String I could use now is stable, which is not really a viable solution
I did not found the place where the Releases File is generated, but it looks now like this:
Origin: . stable
Label: . stable
Suite: stable
Codename: stable
Date: Tue, 20 Feb 2024 22:49:26 UTC
Architectures: amd64 arm64
Components: main
Description: Generated by aptly

Describe the solution you'd like
more usable Values for Opensearch and Opensearch-Dashboards Repo
for Example
Origin: opensearch.org
Label: Opensearch
Suite: stable
Codename: 1.x
Date: Tue, 20 Feb 2024 22:49:26 UTC
Architectures: amd64 arm64
Components: main
Description: Opensearch Repository

Describe alternatives you've considered
No response
Additional context
No response

Hi @marcohald, thank you for reaching out to discuss improving OpenSearch.
If I understand correctly, you're considering pre-downloading several versions of the OpenSearch package locally. Are you planning to use APT Pinning with Pin-Priority to determine which version of the OpenSearch package should be used?
Even without the Release file, I believe you can still create an opensearch file (for example) at /etc/apt/preferences.d, similar to the following example, and then run sudo apt update to apply it. Would that be correct?
Package: opensearch
Pin: release a=local
Pin-Priority: 400

Hi @jordarlu, I'm caching the Repo with approx otherwise i could use origin (the hostname of the repo, not the Origin from the Release File) as pin parameter.
Yes the Pinning is to control the Version opensearch that is installed.
In theory there could be multiple Repos on the approx with the same origin that could contain a opensearch package.
As far as i understand the only option that is not from the Release File is the origin to pin.
As found here https://unix.stackexchange.com/a/84812 and here https://manpages.debian.org/bookworm/apt/apt_preferences.5.en.html

It looks like these repository InRelease changes have been deployed lately and since then an apt-get update returns the following errors and updates are not proposed:
# apt-get update
[...]
Get:5 https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease [7554 B]
[...]
Reading package lists... Done
E: Repository 'https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease' changed its 'Origin' value from '. stable' to 'artifacts.opensearch.org'
E: Repository 'https://artifacts.opensearch.org/releases/bundle/opensearch/2.x/apt stable InRelease' changed its 'Label' value from '. stable' to 'opensearch'
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

As these changes looks legit, one must then run an apt-get update --allow-releaseinfo-change to force the new repository origins/labels to be taken into account.

@peterzhuamazon
Hi,
Please also consider adding a short notice here for someone who experience the above label change conflict in the future:
https://opensearch.org/docs/latest/install-and-configure/install-opensearch/debian/#install-opensearch-from-an-apt-repository
Much thanks.


Set up ticketing for Design System Day 2022

What
Set up a ticketing system.
Why
So attendees can get tickets for the event
Who needs to work on this
TBC
Further detail
Will need to liaise with folks working on #2165 and ....
We used Eventbrite for Design System Day 2021.
Done when

[x] Decide how may attendees
[ ] Consider which groups / organisations / departments to invite
[ ] Set up ticketing system

I've got a running doc of ticketing-related questions and decisions here (internal): https://docs.google.com/document/d/1UjdCmjQ7gnj-ZR3B11q8iYyh0OcPjpGUA40_bKQI98w/edit?usp=sharing
I've also started drafting the Eventbrite event with the info we already have.


Does this script install HA OS in an LXC container?

I used this script to install Home Assistant years ago and HA has been running rock solid for me ever since. Thank you @whiskerz007 for your work here. I know the script has been out of development for quite some time but it served me well all this time.
I have always assumed that I was running Home Assistant OS with this script. It says Home assistant OS on the system info screen, in the console and updates are made available for Home Assistant OS regularly.
I was at the Home Assistant discord server yesterday and tried to help someone. I mentioned that I was running HA OS in an LXC container. Immediately someone said "you can't run HA OS in an LXC container".  They insisted I was running HA Supervised and that was very bad, after all only idiots do that I guess
I've installed HA Supervised many years ago and don't recall the outcome being anywhere near what this script accomplishes. I've also installed the official HA OS image on a VM before and recall it being almost the same as what this script accomplishes only more resource intensive.
Will someone please enlighten me as to what flavor of home assistant the end result of this script is. Is it HA Supervised, HA OS, a hybrid?  Either way, thanks again

This also makes me crazy - I am about to install it, but my initial understanding is similar:

hey! I can run system container of HAOS instead of VW HAOS with some limitation as mentioned in readm of this repo.
However I am also struggling with common opinion that it is not recomended to run HAOS in LXC.... for not really know to me reasons.

So I would be appreciated for further discussion about it here.


Ignore command failures after being cancelled

We need to make sure we don't count cancelled commands as command failures. This is probably the simplest way to do it, but maybe we want to do something more sophisticated?

@swift-ci please smoke test

The way the Ninja builder does this is to assume that commands exiting with SIGINT while in a cancelled state were "cancelled" and treat their status appropriately. That's a slightly more robust way -- I think the ideal would be to explicitly realize this is a command we intentionally cancelled by signaling.
If either of those seem straightforward I'd rather do something a little more robust, but if it's going to be tricky we can defer it and just make sure we have a bug tracking the enhancement.

@swift-ci please test

This is a little bit more robust and similar to what we do in the Ninja builder.

@swift-ci Please test

@swift-ci please smoke test

@swift-ci please smoke test

@neonichu @ddunbar  I'm looking into porting this stuff to Windows - there's a lot of duplicated code between NinjaBuildCommand and LaneBasedExecutionQueue, which I'm already close to removing and refactoring.
Therefore, in the view of making similar implementations similar, should we change https://github.com/apple/swift-llbuild/blob/master/lib/Commands/NinjaBuildCommand.cpp#L1313  to also account for SIGKILL?
If yes, I can handle that

I think we do want to share code between NinjaBuildCommand and LaneBasedExecutionQueue eventually and would get the SIGKILL support for free that way. If that happens through some refactoring you do, that would be 👍


[FR] HA Resilience Upgrade

Is your feature request related to a problem? Please describe.
Poorly resilient system currently especially when out of home
Describe the solution you'd like
Back up HA instance/RPI/UPS to provide resilience in event of downtime. Ability to monitor system better

Deal: Eaton 3S Mini UPS 36W 9/12/15/19 DC to protect Internet routers, IP cameras, home assistants and smart controllers https://amzn.eu/d/6nzpS4h

? New device
? Local network

Add all devices separately to google home for if HA down

Odroid n2+ en-route to upgrade RPi


added non-working schedule command

able to accept schedule command, but it does nothing yet

Can see a working structure of the ScheduleCommand, but it would be good if you include the parameters so that the thrown exception will return a PARAMETERS_ERROR that tells the user what is the expected input format


Fix inaccurate docstring example of HalfspaceIntersection

Reference issue
To fis #11676
What does this implement/fix?
Fix inaccurate docstring example of HalfspaceIntersection

Merged, thanks @AtsushiSakai


Restructuring topic_links format returned by our API.

The linkifier code now includes both the shortened text and the expanded URL, sorted by the order of the occurrence in a topic. This list is passed back in the topic_links parameter of the /messages and the /events APIs.
earlier: ['https://www.google.com', 'https://github.com/zulip/zulip/32']

now: [{'url': 'https://www.google.com", 'text': 'https://www.google/com},
         {'url': 'https://github.com/zulip/zulip/32', 'text': '#32'}]

Testing plan:
Tests amended and verified manually.
GIFs or screenshots:

Fixes: #17109

@aero31aero Thanks for the review! Addressed your feedback with an update I pushed back here.

@aero31aero Thanks for the review! Addressed your feedback with an update I pushed back here.

@timabbott the changes you mentioned have been added, so this is now pending a review by you.

This is great!  A few requests:

Can you squash the commits?  It's structurally a signal atomic change -- just the different files that need updating for a single feature.
Can you update ZULIP_FEATURE_LEVEL to 40 with this?  Basically a rebase consequence.  I'll also add another comment on the Changes sections.
Can you make sure we update the zulip-mobile issue for using topic_links to mention this change?
Did we want to discuss a second commit to e.g. make use of the title attribute to indicate what generated the links in the
Zulip web client?  I can't remember the discussion on that topic.

@timabbott updated the PR with some additional changes:

I added to our a couple of new tests that focus on testing the order in which the links inside a topic occur.
Also, we had missed out on changing the openAPI schema to match the new object data-type returned. I have added this as well.

This is great, merged, thanks @sumanthvrao!  I did a handful of things before merging:

Resolved the merge conflict and made this feature level 46, updating version.py too.
Updated the docs to say feature level 46, not 40, since since you missed that in the 40=>45 rebase.  :)
I opened https://github.com/zulip/zulip/issues/17895 for a visual issue with our API docs that I noticed while reviewing this
I did the following edit for better documentation English (adding "the").

-  /events`](/api/get-events): `topic_links` field now contains a list
-  of objects, rather than a list of string.
+  /events`](/api/get-events): The `topic_links` field now contains a
+  list of dictionaries, rather than a list of strings.

I did a bit of variable name cleanup for better readability:

diff --git a/zerver/lib/markdown/__init__.py b/zerver/lib/markdown/__init__.py
index d907092faf..c3009c0e7f 100644
--- a/zerver/lib/markdown/__init__.py
+++ b/zerver/lib/markdown/__init__.py
@@ -2387,7 +2387,9 @@ def topic_links(realm_filters_key: int, topic_name: str) -> List[Dict[str, str]]
     realm_filters = realm_filters_for_realm(realm_filters_key)

     for realm_filter in realm_filters:
-        pattern = prepare_realm_pattern(realm_filter[0])
+        raw_pattern = realm_filter[0]
+        url_format_string = realm_filter[1]
+        pattern = prepare_realm_pattern(raw_pattern)
         for m in re.finditer(pattern, topic_name):
             match_details = m.groupdict()
             match_text = match_details["linkifier_actual_match"]
@@ -2396,7 +2398,7 @@ def topic_links(realm_filters_key: int, topic_name: str) -> List[Dict[str, str]]
             # don't have to implement any logic of their own to get back the text.
             matches += [
                 dict(
-                    url=realm_filter[1] % match_details,
+                    url=url_format_string % match_details,
                     text=match_text,
                     index=topic_name.find(match_text),
                 )
@@ -2406,13 +2408,15 @@ def topic_links(realm_filters_key: int, topic_name: str) -> List[Dict[str, str]]
     for sub_string in basic_link_splitter.split(topic_name):
         link_match = re.match(get_web_link_regex(), sub_string)
         if link_match:
-            url = actual_match_url = link_match.group("url")
-            result = urlsplit(url)
+            actual_match_url = link_match.group("url")
+            result = urlsplit(actual_match_url)
             if not result.scheme:
                 if not result.netloc:
                     i = (result.path + "/").index("/")
                     result = result._replace(netloc=result.path[:i], path=result.path[i:])
                 url = result._replace(scheme="https").geturl()
+            else:
+                url = actual_match_url
             matches.append(
                 dict(url=url, text=actual_match_url, index=topic_name.find(actual_match_url))
             )

Thanks for the tweaks! Yeah I had done a half-rebase previously and was yet to get to fixing up the CI error (Thanks for pointing that out). I also updated the zulip-terminal issue which planned to implement this (I think a PR is already out there) with the new topic links structure.


[5.9] Let mix helper use assets url

Resubmit of previous breaking change to 5.9.

We have a different approach we are going to take that won't be breaking for people.

👍


WSL Ubuntu 24.04.1 LTS Notes fix

Fix for fresh install of wsl ubuntu to run flet

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


VM Deployment for Image Builder Integration

The goal of this is to allow our users to deploy a VM Image that has been build thanks to #1705.

For the context, this is the whole workflow we want to achieve:
Copr build (done)

VM image build (done)

VM image deploy (This task)

Q1 2023 Planning outcome:

This is beneficial for projects that interact with low level system components such as cockpit, anaconda, osbuild, systemd (?)
It sounds like "next-level CI/CD feature"
Implementing this would be a bridge to other console.redhat.com apps
Red Hat customers could be interested in this

Replaced by packit/packit#175


Restructuring repo to have a versions folder and then creating a new version v0.1.5

Also, updating README.MD.
This is in response to isuue https://github.com/TIBCOSoftware/catalystml/issues/29

Maybe keep demos as a top level dir and the demos will always be just for the latest version of the spec?

Sounds reasonable to me.