Interactive querying with HDInsight & Loan ChargeOff Prediction with Azure HDInsight Spark Clusters

Updates made on this page as described in the commit messages

Hi @doodlemania2 - The images in docs/solution-ideas/articles/loan-chargeoff-prediction-with-azure-hdinsight-spark-clusters-content.md have a typo: there's a space between "HD" and "Insight," but the Azure service name is "HDInsight." Could you look into fixing it a follow-up PR? It looks like it's preexisting/live. I'll merge this update.

Hi @doodlemania2 - The images in docs/solution-ideas/articles/loan-chargeoff-prediction-with-azure-hdinsight-spark-clusters-content.md have a typo: there's a space between "HD" and "Insight," but the Azure service name is "HDInsight." Could you look into fixing it a follow-up PR? It looks like it's preexisting/live. I'll merge this update.

@ktoliver, yes, that was pre-existing. We'll add it to our list. Thank you!


Evaluation of SONAR

Hello hi,
I am quite curious to see the performance of SONAR model in terms of multilingual embeddings on XSTS task. I haven't found anything on it on MTEB.
https://ai.meta.com/research/publications/sonar-sentence-level-multimodal-and-language-agnostic-representations/
https://github.com/facebookresearch/SONAR

Hi,
i tried but i havent enough RAM memory, test needed more then 64 GB, so i cant perform it.

I am curious, which of the tasks needs so much memory? Is it possible to optimize it?
SONAR text encoder itself occupies only about 3GB on disk. With a small batch size, and with truncating long texts to 1024 tokens (it doesn't support more anyway), a GoogleColab-sized machine should be enough for embedding any texts with SONAR.

Clustering, STS tasks on bench.
Problem not about VRAM, but RAM.

I did evaluate SONAR encoders (with a few assumptions about language codes).
However, even after adding the output of scripts/mteb_meta.py to the model's readme, I cannot see SONAR on the most of the leaderbord's tabs after hitting the refresh button (an exception is the Eng-X bitext mining tab, where SONAR is the new SOTA). And I cannot understand why.
My current suspect is that scripts/mteb_meta.py misses some of the tasks. For example, I have results for BornholmBitextMining, but it is missing in mteb_metadata.md.
To check this, I attach all the json results: sonar_results.zip. They correspond to all tasks, except of MSMARCOv2 which takes too long to embed, and the Polish retrieval tasks mentioned at https://github.com/embeddings-benchmark/mteb/issues/219.
@Muennighoff could you please help me sort this out?

Yes, thanks, it works!

Will close this issue as it seems to have become stale, though the Scandinavian embedding benchmark does evaluate the SONAR models

SONAR is also on the leaderboard with its scores now I think

Ahh yes good catch - state-of-the-art for bitext. Good to have it there


Optionally load bluebird promise library if present

Load bluebird library if installed.  See why we should use bluebird

Close for now until I figure out what I'm doing wrong.


[DI] Create ADR search result item extension

Hey, I just made a Pull Request!
Migrate the AdrSearchResultItemExtension to the declarative integration format.
Known limitations:

It doesn't support icon customization for now.

Usage example:

[!Note]
Currently, it is in an experimental stage and is not recommended for production

For frontend applications that support declarative integration, it is only necessary to install the following packages:
# install the catalog, search, and adr plugins packages
yarn add @backstage/plugin-catalog @backstage/plugin-search @backstage/plugin-adr

Optionally you can customize the search results via app-config.yaml file:
# app-config.yaml
# example disabling analytics tracking and setting a line clamp
app:
  experimental:
    packages: 'all' # ✨

  extensions:
    - plugin.search.result.item.adr:
        config:
          noTrack: true

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Hi @kuangp, since this is experimental, we'll merge it, but if you have any questions, don't hesitate to ping us 🙂


[Gitlab CI] Could not find a working container runtime strategy

Job configuration:
test:
  stage: test
  extends: .test_application
  services:
    - name: docker:dind
      alias: docker
      # explicitly disable tls to avoid docker startup interruption
      command: ['--tls=false']
  variables:
    DOCKER_HOST: 'tcp://docker:2375'
    DOCKER_TLS_CERTDIR: ''
    DEBUG: testcontainers*
  only:
    - merge_requests

I am getting Could not find a working container runtime strategy when I am trying to start the testcontainer in jest's globalSetup
Debug print:
2024-06-21T14:39:33.532Z testcontainers [DEBUG] Testing container runtime strategy "TestcontainersHostStrategy"...
2024-06-21T14:39:33.534Z testcontainers [DEBUG] Found custom configuration: dockerHost: "tcp://docker:2375"
2024-06-21T14:39:33.534Z testcontainers [DEBUG] Testing container runtime strategy "ConfigurationStrategy"...
2024-06-21T14:39:33.563Z testcontainers [DEBUG] Container runtime strategy "ConfigurationStrategy" does not work
2024-06-21T14:39:33.563Z testcontainers [DEBUG] Testing container runtime strategy "UnixSocketStrategy"...
2024-06-21T14:39:33.563Z testcontainers [DEBUG] Testing container runtime strategy "RootlessUnixSocketStrategy"...
2024-06-21T14:39:33.564Z testcontainers [DEBUG] Testing container runtime strategy "NpipeSocketStrategy"...

More details:

the runner is a docker executor
the image of the test is node alpine

Originally posted by @zotijs in https://github.com/testcontainers/testcontainers-node/issues/768#issuecomment-2188135321

Duplicate of https://github.com/testcontainers/testcontainers-node/issues/786

@cristianrgreco the other issue is closed and it is was windows related. There was another comment in the initial thread for gitlab ci, requesting the Issue to be re-opened.
Can you please provide some guidance on running testcontainers-node in gitlab ci? The sidecar service setup that is provided in testcontainers-java does not work (or I am missing something).

@cristianrgreco the other issue is closed and it is was windows related. There was another comment in the initial thread for gitlab ci, requesting the Issue to be re-opened.
Can you please provide some guidance on running testcontainers-node in gitlab ci? The sidecar service setup that is provided in testcontainers-java does not work (or I am missing something).

Duplicate link updated


Icons are no longer vertically centered in terminal

As of commit 2644552 the icons are no longer vertically centered within a cell in a terminal emulator.
Sample icon on commit 598b1bc:

Sample icon on commit 2644552:

These images were captured running

Neovim: NVIM v0.6.0-dev+642-g07223fae5
kitty 0.24.1
nonicons.ttf

As you can see, in the first image the Lua icon is vertically centered within the terminal cell but in the second it is aligned to the top of the cell.

https://github.com/yamatsum/nonicons/issues/22

The alignment is corrected with the latest commit. Thanks!


#31 Refactor to Components

This PR includes a large chunk of refactor to the sveltekit codebase, as well as support for multiple tags, and image deletion

Hi @alvinosh
Some points:

You have added routes for viewing images which BREAKS the image tab feature, opening an image should open in a new tab with its name. Using routing is not necessary here, so you can remove it.
We had our delete modal already, we could reuse it and add some functionality for permanent delete.
Delete UI doesn't match the existing UI schema, so it's better to confirm with Sona.
For the trash icon, we don't need png, we can use the existing fontawesome trash icon with modified size and color on it.

While short by tag, it should show all images initially, but it shows nothing.
https://ibb.co/Sfm893M
A bunch of store props has been deleted, where selectedImage has a crucial impact, we will need it while editing the image.
Next and prev functionality for gallery view does not seem to work as expected. Having indexing issues.
https://ibb.co/bX4c7bp

Something new with macOS build 🤔

@alvinosh

[ ] New .app still can't be launched on my macOS, .app from main was fine

[ ] We should bring back the old deletion modal. We don't need 2 options: defaulting to trash can is fine for MVP, and in post-MVP we'll design proper choice with remembering/resetting

[ ] We need to discuss/address these points made by Kawsar:

[ ] 5. While sort by tag, it should show all images initially, but it shows nothing: https://ibb.co/Sfm893M
[ ] 6. A bunch of store props has been deleted, where selectedImage has a crucial impact, we will need it while editing the image.
[ ] 7. Next and prev functionality for gallery view does not seem to work as expected. Having indexing issues. https://ibb.co/bX4c7bp

[ ] @prokawsar I'm not so sure about tabs. We need to discuss with Sona if tabs is a good thing, probably tab support should be moved to post-MVP

@prokawsar @ryabovpavel could you check this PR one last time?

@alvinosh
In this PR, multiple tag selection is a useful feature.
I can see some improvements.

But still, I can reproduce opening the delete modal on an empty gallery.
Steps to follow

Load images
Select any image with one click
Select sort by tag
Now, the empty gallery will show
Click delete from the right top side
And click yes, it will delete your previously selected image

And is there any issue with using stores values in Tauri?

You added a new component DeleteModal. That is a duplicate of QuestionModal component, which can be reused with some modification.

Thanks everyone, I think this PR is a good example of team work 👏


Unable to get vertex count from the RenderingServer, viewportrenderinfo missing

Godot version
3.5.1 stable, 4.0 beta5
System information
Win 10, Nvidea 765M
Issue description
I'm trying to get the viewport vertex count like it was possible in Godot 3 using the VisualServer:
$Label.text = str(VisualServer.viewport_get_render_info(get_viewport().get_viewport_rid(), VisualServer.VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME))
The problem seems to be in Godot4 Beta5, the now called RenderingServer does not have this ViewportRenderInfo constant VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME any more: https://docs.godotengine.org/en/latest/classes/class_renderingserver.html#enum-renderingserver-viewportrenderinfo
For a comparison, here is the constant in Godot3: https://docs.godotengine.org/en/stable/classes/class_visualserver.html#enum-visualserver-viewportrenderinfo
Steps to reproduce
print( str(RenderingServer.viewport_get_render_info(%SubViewport.get_viewport_rid(), RenderingServer.VIEWPORT_RENDER_INFO_TYPE_VISIBLE, RenderingServer.VIEWPORT_RENDER_INFO_VERTICES_IN_FRAME)) )
Minimal reproduction project
vertex_count.zip

See https://github.com/AllenDang/model_explorer_godot4/issues/2

The new name is VIEWPORT_RENDER_INFO_PRIMITIVES_IN_FRAME before it was a bit confusing because it wasn't actually returning the number of vertices it was reporting the the total of vertices or indices depending on if a given mesh used an index buffer or not.

@clayjohn  @fire
Thank you both for the info!
I would have never guessed this is the total vertex count int the viewport, since the name PRIMITIVES makes it sound as if it has something to do with primitive meshes. As someone who does not know that much about rendering and programming compared to you guys, I find this name much more confusing.


Test custom view height

Refs: https://github.com/microsoft/vscode/issues/122283

[ ] anyOS @mjbvz
[x] anyOS @benibenj

Complexity: 4
Roles: Developer
Create Issue

There's a new initialSize property that can be set on contributed views in package.json. You can see an example here: https://github.com/microsoft/vscode-pull-request-github/blob/558bc660b691b58d9dfa22337487281d340aa492/package.json#L501-L515
To test:

Open a folder that contains an extension project with contributed views (such as the tree-view-sample.
In the extension's package.json, add the initialSize property to a couple views.
Read the hover information for initialSize. Verify that the hover information is clear. Verify that everything in the hover message is accurate.

@alexr00 Is there a way to reset the views? I'm having trouble testing since InitialSize is only used if the views have not been already resized

I changed the name of the contributed view in package.json every time I changed the InitialSize for testing

Thanks @benibenj! Seems to work well in my testing


websocket: Clarify the status of the package as retired

The websocket package is retired, as explained in https://github.com/golang/go/issues/2134#issuecomment-583785742, and its neglect has been a topic of discussion since at least 2016 (see https://github.com/golang/go/issues/18152). However, to this day, the documentation on pkg.go.dev doesn't make the status of the package clear, as I pointed out in https://github.com/golang/go/issues/60467.
This PR changes the wording to explicitly state that the package is in fact retired, as opposed to simply "lacking some features".

@mortie There's a typo in your PR (maintained WebSoket package instead), and the linked WS package is also not well maintained.

@binwiederhier I fixed the typo.
I also replaced the link to nhooyr.io/websocket with a link to gorilla/websocket, since that's apparently no longer inactive; see https://github.com/gorilla/websocket/commit/931041c5ee6de24fe9cba1aa16f1a0b910284d6d and the announcement at https://github.com/gorilla.

There doesn't seem to be much interest in this. Should I just close the PR? Is this project dead?

这个包满足我的，因为很小，而且是官方维护。唯一不足的地方大多数人没法用它，因为不会Read。
var c *websocket.Conn
var buf bytes.Buffer
b := make([]byte, 1024)

for {
	n, err := c.Read(b)

	if n > 0 {
		buf.Write(b[:n])
	} else if err != nil {
		return
	}

	//处理帧数据，你可能有如下三种判断之一：

	if err == io.EOF { //表示帧结束? 但是你可能永远等不到io.EOF这个值
		//处理帧数据
		buf.Reset()
	}

	//或者
	if buf.Len() == c.Len() { //c.Len()? 这方法返回没有准确表达我需要的条件，不知道有什么作用:frame.Length?
		//处理帧数据
		buf.Reset()
	}

	//或者
	if buf.Len() == int(c.FrameDataLenth()) { //ok,非常棒。但是 websocket.Conn 没有这个方法：FrameDataLenth=frame.header.Length
		//处理帧数据
		buf.Reset()
	}

}

Is this repo dead?


feat(#229): Fix The Bug With Super Call in Constructors

In this PR I fixed a bug related to ClassCastException. When the Decompilator tried to handle constructors that call super constructor from the parent class, they throw the ClassCastException.
Now the Decompiler correctly handles this instructions. I checked correct transformation in integration tests.
Related to #229
History:

feat(#229): enable decompilation in spring-fat it
feat(#229): add inheritance.yaml testing pack
feat(#229): fix the problem with 'super' invocation
feat(#229): disable spring-fat it back
feat(#229): fix some qulice suggestions

PR-Codex overview
This PR updates decompiled EO sources count, refactors a decompile method, adds Java and EO source files for inheritance, and enhances the handling of Super class instantiation.
Detailed summary

Updated decompiled EO sources count from 1 to 2.
Refactored decompile method in JeoDecompiler.java.
Added Java and EO files for inheritance.
Enhanced Super class instantiation handling in InvokespecialHandler.java.

The following files were skipped due to too many changes: src/it/decompile-compile/target/generated-sources/jeo-xmir/org/eolang/jeo/TypeWriter$Default$ForInlining$WithFullProcessing$InitializationHandler$Appending$WithoutDrain.xmir

✨ Ask PR-Codex anything about this PR by commenting with /codex {your question}

@rultor merge

@rultor merge

@volodya-lombrozo OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@volodya-lombrozo Done! FYI, the full log is here (took me 7min)


Release checklist sidecar v1.1

[ ] (DEV) Close or defer all tickets in the epics (code complete/scope closure) - code freeze
[ ]  (DEV) Create release candidate branch (branching, tagging)
[ ]  (Business Owner) Identify destination & distribution targets (communications, announcements)
[ ]  (SRE) Ensure SRE pipelines are in place
[ ]  (DEV) unit & Integration tests have passed
[ ]  (DEV) Create readme in git repo (scope closure)
[ ]  (DEV) ensure changelog is in place
[ ]  (SRE) acceptance tests in a production environment has passed
[ ]  (DEV) Documentation updates are in place (docs team)
[ ]

This is an operational/release managerial checklist which can live outside the L1 board. Therefore, taking it to a Google Sheet as part of release management and closing this ticket.


Text alerts not working on new fights

Description
Going into a e6n fight had no timeline/text alerts show up.
Went into t1n and everything works as intended.
ACT was open prior to zoning in with the new plugin update as well as cactbot 0.16.2 and the latest update of the overlay plugin.

There is no data for e6n.
https://github.com/quisquous/cactbot/blob/master/ui/raidboss/data/05-shb/raid/e6n.txt
It's empty.
0.16.2 supports only e6s and e7s
https://github.com/quisquous/cactbot/releases/tag/v0.16.2

There are no text alerts on the the new fights yet.  Patches welcome!


Use black border color in borderless fullscreen mode on Windows

Follow-up to https://github.com/godotengine/godot/pull/82031.

This makes the border much less noticeable, or even completely invisible on OLED displays.
The gray border is still visible for a split second after starting a project configured to run in fullscreen (while the splash screen is still displayed). Any ideas on how to make it black as soon as possible? cc @bruvzg

See https://github.com/godotengine/godot/issues/63500.

Preview
Example on the edges of an OLED display (LG C2 42"):
Before

After

The gray border is still visible for a split second after starting a project configured to run in fullscreen (while the splash screen is still displayed). Any ideas on how to make it black as soon as possible?

Probably related to the early BG erase:
https://github.com/godotengine/godot/blob/87d40ba743ff3a3a484db051c11b16559604efa9/platform/windows/display_server_windows.cpp#L3504-L3522
Maybe RedrawWindow should be called with RDW_FRAME flag when splash is displayed (not sure where exactly is the most appropriate place to do it) to force redraw the border.

This looks better, but I feel like we might still want to add another option for FS (see https://github.com/godotengine/godot/issues/63500#issuecomment-1729300959), in a non compatibility breaking manner, maybe something like:

MODE_FULLSCREEN → (WS_OVERLAPPED | WS_BORDER + screen size), with black border.
MODE_EXCLUSIVE_FULLSCREEN and BORDERLESS flag is not set → (WS_POPUP + screen size), always "exclusive".
MODE_EXCLUSIVE_FULLSCREEN and BORDERLESS flag is set →  (WS_OVERLAPPED + screen size), w/o border, might be "borderless" or "exclusive" depending on GPU.

This looks better, but I feel like we might still want to add another option for FS (see https://github.com/godotengine/godot/issues/63500#issuecomment-1729300959), in a non compatibility breaking manner, maybe something like:

I agree it's good to have both modes available (as in, "best-effort borderless fullscreen" and "forced borderless fullscreen").

but I feel like we might still want to add another option for FS

https://github.com/godotengine/godot/pull/88735

MODE_FULLSCREEN → (WS_OVERLAPPED | WS_BORDER + screen size), with black border.

If this is intended for the editor and to allow popup windows and menus to show properly, may I suggest an alternative? Don't use WS_BORDER. Instead make the window 1px taller, then subtract 1px from the viewport (leaving the bottom row of pixel unused), which should prevent drivers from forcing exclusive fullscreen but still having the window content match the screen size.

If this is intended for the editor and to allow popup windows and menus to show properly, may I suggest an alternative? Don't use WS_BORDER. Instead make the window 1px taller, then subtract 1px from the viewport (leaving the bottom row of pixel unused), which should prevent drivers from forcing exclusive fullscreen but still having the window content match the screen size.

That's what https://github.com/godotengine/godot/pull/88852 do (and the extra pixel is made transparent as well). But it should be tested on different vendor GPUs to make sure it's not affecting performance.


Fix for Discarded Remote Changes (when defaults values are set in core data model)

No longer overwriting diff generated from remote change with diff between a ManagedObject and it's ghostData
More details here: https://github.com/Simperium/simperium-ios/issues/547

Hello there @larryryu!
By design, local data is always preferred, on top of remote data. Reason for doing so is super simple: prevent data loss.
This sounds as if the real problem is the Core Data model's default value. How about if, instead:

The default value gets set by code instead (SPManagedObject.awakeFromLocalInsert)
The default value gets removed entirely?

Indeed default value is problematic and can be side stepped if it is removed from the core data model. However this is set automatically when creating a numeric attribute in core data model. One would have to know before hand to disable it because it could cause sync problems.
If v1 of app had default value and v2 removes it. It causes this issue to occur between app versions. This problem can be avoided if ever client assigns a default value, which is the work around we are currently using.
Just thought it would be better if the sdk handled the problem directly as it is a core data feature. I think it's fine to choose local data over remote data, but it is currently doing so on an object basis rather than per field. If there is a conflict in 1/3 fields everything from remote client is discarded (I would expect that the remaining 2 fields get the right changes applied from the remote client.). Moreover the local data would force its values next time sync occurs and overwrites values on server.

@jleandroperez did you have recommendations for next steps here?

@gwwar nothing to add to what was mentioned here!

thanks @jleandroperez !

Thank you @gwwar!

So I'm pretty unfamiliar with this project, but at a high level, we can't land this as is due to other client needs like Simplenote that depend on the current behavior to prevent data loss.
I do think that we could perhaps make this a configurable option, where the current behavior is the default. I'm not sure how reasonable this is with my current understanding, but let me know what folks think.

Not sure i understand the current implementation really... I would think that a remote change should be applied at an attribute level as long as there are no conflicts with local change.
Currently, If there is a local change to field A (only), and a remote change that only contained an update to field B comes by... That change to field B is discarded (not applied to the local object). Eventually the client that discarded field B sends a change that updates field B to an older value (which can appear as data loss as well).
I think it would be great for me to understand the issue that bit of the code is trying to solve.
We can create a fork and apply this change, just wanted to brainstorm with the experts on potential issues we would run into.

To me it sounds like this isn't so much a problem of local data taking preference over remote data but as @larryryu suggested is that we have different granularities in the iOS library compared to what Simperium itself uses.
Because I'm not familiar with the iOS codebase or this issue, I'm going to try and rephrase with some examples. If they represent the problem then I believe we should be able to think about trying to reproduce with the other libraries and confirm first if the behavior is different and second if this fix would cause any trouble elsewhere.
// HTTP client A creates entity
{ text: 'fromHttpA', v: 1 }

// iOS client M gets entity, CoreData adds a new property
// but for some reason this default field doesn't sync with
// simperium yet so we have a ghost of v1 plus a local copy
// of the altered note
{ text: 'fromHttpA', v: 1 }
{ text: 'fromHttpA', counter: 0, v: 1* }

// HTTP client B adds field
{ text: 'fromHttpA', encoding: 'utf8', v: 2 }

// iOS client M gets update from server
// end up missing new field
{ text: 'fromHttpA', counter: 0, v: 2 }

If that sequence isn't too far off, and from reading the patch, it seems like what may be happening is that we update the ghost bucket in iOS with the update first, then perform a new diff from the local changes to the update in the ghost bucket which is like [ add counter, remove encoding ]
@larryryu can you help me understand the specific steps and mechanism here?
either way I think that if this is happening where unrelated fields are conflicting then that just shouldn't be that way. am I missing something big @jleandroperez?

@dmsnell the example you provide describes the problem.
Here is another example using the SimpleTodo sample code associated with this repo. Although this is a conflict on the same field "title". But can also easily reproduce by following your example.

run SimpletodoFinal project file (insert appropriate SIMPERIUM_APP_ID and SIMPERIUM_API_KEY in Appdelegate). Sign in and keep app running.

run curl command in terminal
curl -H 'X-Simperium-Token: ’
https://api.simperium.com/1/<app_id>/todo/i/ -d '{"title" : “test 1”}’

NOTE that the app inserts new item with "test 1" title

update title
curl -H 'X-Simperium-Token: ’
https://api.simperium.com/1/<app_id>/todo/i/ -d '{"title" : “test 2”}’

NOTE that the app is not updated

update title again
curl -H 'X-Simperium-Token: ’
https://api.simperium.com/1/<app_id>/todo/i/ -d '{"title" : “test 3”}’

NOTE that the app is not updated

fetch todo
curl -H 'X-Simperium-Token: '
https://api.simperium.com/1/<app_id>/todo/i/

Note that response is {"num": 0, "order": 0, "title": "test 1"}

Subsequent updates will now work as expected.

Closing this one since it's been a few years without further development.
Thanks everyone!!


Long alabels overlap

As you can see in this picture, relatively long alabels overlap in the Makie app. Maybe introduce some soft wrapping once the text would go "out of bounds".

I am not aware of a Makie.jl option that can do this text warping. How about you add \n to the text, so that a break line exists? Does it work then?

Yep, that works.


Is there any way to disable session logging when user agent is robot

This is just a query, is there any way to disable session from inserting and updating if user agent is robot,
Here is scenario, I logged in from my IP : <IP_ADDRESS>, I also use google's mod_pagespeed, which also request for resource say  resources ( css, js, and images ), when I refresh, current page, I see session table got more records, actually it was supposed to be only 1, I also checked by disabling pagespeed, then everything is normal.

Something similar to, for robots..
// No sessions under CLI
		if (is_cli())
		{
			log_message('debug', 'Session: Initialization under CLI aborted.');
			return;
		}

Temporarily I fixed like this
$robots = array(
    'googlebot'         => 'Googlebot',
    'msnbot'            => 'MSNBot',
    'slurp'             => 'Inktomi Slurp',
    'yahoo'             => 'Yahoo',
    'askjeeves'         => 'AskJeeves',
    'fastcrawler'       => 'FastCrawler',
    'infoseek'          => 'InfoSeek Robot 1.0',
    'lycos'             => 'Lycos',
    'serf'		=> 'mod_pagespeed'
);

// No sessions under CLI
		if (is_cli() || ci()->agent->is_robot())
		{

This is a bug tracker, please post such things on our forums instead.


Type 'RouteName_3' cannot be used to index type 'GetRoutesParams<Omit<PrependBasePath<ParseRoute["path"], ParseRoutes>, keyof GetAreaRoutes<PrependBasePath<ParseRoute["path"], ParseRoutes<...>>>>>'.

Bug summary
There's a type error in createRouter.d.ts:
Type 'RouteName_3' cannot be used to index type 'GetRoutesParams<Omit<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<Routes>>, keyof GetAreaRoutes<PrependBasePath<ParseRoute<BasePath>["path"], ParseRoutes<...>>>>>'

This is shown in VSCode if tsconfig.json contains skipLibCheck: false.
Library version
1.3.2
Environment info
Typescript 4.9.5

Steps to reproduce
skipLibCheck: false.
Reproducible sample code
`skipLibCheck: false`.

@1EDExg0ffyXfTEqdIUAYNZGnCeajIxMWd2vaQeP Could you provide more informations? (the createRouter call).
The example app on this repository use skipLibCheck: false and don't suffer from this issue.

Steps to reproduce

Clone this repo
execute yarn install && yarn build
open dist/createRouter.d.ts in VSCode4
This error message appears in the "Poblem" tab

Does that help?

@1EDExg0ffyXfTEqdIUAYNZGnCeajIxMWd2vaQeP Which repo?

@1EDExg0ffyXfTEqdIUAYNZGnCeajIxMWd2vaQeP Ok, I though it happened when using createRouter in a particular way. Didn't get your point correctly.
It's fixed it in v1.3.3. When generating type declarations, TS "flatten" the types for concision. And here, it failed (probably because of the complexity of this type). Extracting this part as a GetCreateURLFns type function solve this issue.
Thanks for reporting this!


[app] Restore iOS icon set

Revert file ios/UniversalRelayBoilerplate/Images.xcassets/AppIcon.appiconset/Contents.json

RN client currently removed. Can be re-opened when the RN client is re-introduced.


Fix typos and paths in readme

Thanks a lot for your humble-starter example for HumbleUI.
This PR fix a few typos in the README, including paths to script.

thanks! this should help the next person who looks at this 💪🏻


16 bit Key Id during key creation using Bouncy castle apis

Hello Team,
When we create a key, keys get associated with long 16-bit ones. But we have customer who are using 8-bit IDs.
And if they use the 8 bit ones the bc apis fails, is there any other way that we can allow the customer to use 8 bit keyIds rather than the 16 bit ones
Thanks,
Susmit

Please explain which actual part of our API you are using, perhaps including the specific code that "creates a key".

PGPSecretKeyRingCollection ringCollection = new PGPSecretKeyRingCollection(PGPUtil.getDecoderStream(keyInputStream), 					new BcKeyFingerprintCalculator()); Iterator<PGPSecretKey> innerSecretKeyIter = secretKeyRing.getSecretKeys(); String keyId = ""; while (innerSecretKeyIter.hasNext()) {     PGPSecretKey secretKey = innerSecretKeyIter.next();     **keyId = "0x" + Long.toHexString(secretKey.getKeyID()).toUpperCase();** }
Is the API secretKey.getKeyID() always return 16 bit, as I am getting 16 bit always when I invoke the API, or is specific to the PGP client-server which is creating the key ?

I'd have to see the key, but if you look at what actually happens under the hood it's highly unlikely that a key id would come  out as 2 bytes. If you look at PGPPublicKey, which is where the keyID is calculated, I think the only way this could happen is if it's a version 3 RSA key and the modulus has a string of zeros in the bottom 64 bits - the code above will drop leading zeros. I'd also regard that as highly unlikely though.

Didnt understood
Just a question: What is the best way to get key id?

Shall we get the fingerprintid first and take the last 8 bits of the finger print id
Call the publickey. getkeyid like above convert to a hex string in that case it will be last 16 bits of the finger print id

Okay, so the actual KeyID is what is returned by getKeyID() - it's meant to be a 64 bit number. These days usually the last 64 bits of the fingerprint. GPG and many other apps display this as a 32 bit number by truncating the first 32 bits (so the shorter version is the last 32 bits of the fingerprint and the last 32 bits of what getKeyID() returns). I've never seen someone use a 16 bit one, but I would guess if they are following the convention the shorter KeyID will be the last 16 bits of the finger print (so the last 16 bits of what is returned by getKeyID()).

Thanks for such prompt replies, but i hope using a small version of keyid all BC APIs will work fine correct?

The APIs will expect the full one (64 bits) for their searching functionality, I'd suggest creating an intermediate table if you need to match from short IDs to actual keys.

Yes that is the way I designed, just wanted to cross verify with you guys, I added an extra column in my Cassandra table, and lept the mapping of short and longkeyIds


Update for Composer

Updates class to use proper PSR-4 namespacing for use with Composer via Packagist.

This resolves #1


Move Snake to it's own repo, publish to GHPages

Done: https://github.com/PurpleKingdomGames/snake-demo


Add fcntl module

The socket module wouldn't compile when I tested cross compiling because it couldn't find sys/un.h, so I disabled AF_UNIX sockets on Windows.

I have updated the author name and have rewritten the commit to address the  feedback.

Additionally, I would like to inquire about your use of Kuroko and your need for an fcntl module with F_GETFL/F_SETFL.

I don't use Kuroko for much currently. I want to use fcntl for setting blocking/non-blocking mode on sockets.

This is looking much better.
I don't want to add a new module at this stage in the 1.4 release schedule, and I don't have a separate development / release branching strategy at the moment, so I'll wait to merge until 1.4 is finished.
I will try to fix the Windows build of the socket module in 1.4, though.

Sounds good.


v0.6 API Transition Release

This is the code in #221 but rebased against master + the following changes:

Sync latest changes from FB
Updated readme
Updated examples

This code will be released as 0.6.0-rc1 after merging.

cc @ehzhang @wlis

Thanks for the rebase and the perf fixes!

No worries :) I simplified the examples a bunch to :)
Will be great to finally release your awesome work!

:tada: :tada: :tada:

:dancers::dancers::dancers:

This code has been released as v0.6.0-rc1! Im working on docs now for the full release.


error appeared when trying to sync non-images

Reported by @stbeli
by choosing the option "Synchronize non-images files between Google Storage and local server" respond error is "Status: Error appeared". Even if WP_DEBUG is set as true I can't catch error at log file.
Server Configuration:
PHP: 7.0.19-1~dotdeb+8.1;
Web Server: Apache / nginx
WordPress: 4.8.1

I was not able to reproduce this report.

@alimuzzaman what did you do to fix this?

@ewsopp I did nothing. Maybe related to #140


Streams mode

Is there any way to post not only the configuration of a stream through the streams rest api but also and environment file?
Also when you use static files to set up streams mode I won’t see a why to pull in environment variable files unless you create resource files?
please help ! Thanks David

Hey @DavidDattner-nbcuni, there's no way to modify environment variables through the benthos HTTP API, when you load static files you can use an env file the same as any other mode with:
benthos -e ./env_vars.env streams ./prod/foo.yaml

working thanks!


Modify clim input

Instead of having a climatic grid as an input, replace this grid by set of parameters (alphab, alphat, betab, betat...) for each cell. This enhancement will allow to use parameters from ensemble forecasting.

Nothing to be done


fix: Added oracle_params argument to execute_deposit

Pull Request type
Please add the labels corresponding to the type of changes your PR introduces:

Bugfix

What is the current behavior?
Resolves: #12
What is the new behavior?

Added oracle_params argument to execute_deposit,
Renamed the functions arguments so they're the same as Satoru's interfaces

Does this introduce a breaking change?
No

Saw that the Keeper will be re-written in typescript - closing this!


Echo360 support request

Checklist

[X] I'm reporting a new site support request
[X] I've verified that I'm running yt-dlp version 2022.05.18 (update instructions) or later (specify commit)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that none of provided URLs violate any copyrights or contain any DRM to the best of my knowledge
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[ ] I've read about sharing account credentials and am willing to share it if required

Region
Should be unrestricted
Example URLs
In my current case, the URL structure is this:
https://echo360.net.au/media/xxxx-xxxxx-xxxxx-xxxxx-xxxxx-xxxxx/public
I believe that some other courses have structures like this (taken from other internet posts, I can't personally verify):
Single video: https://echo360.org.au/lesson/${video_ID}/classroom#sortDirection=desc
Playlist: https://echo360.org.au/section/${playlist_ID}/home
Description
Echo360 is used by many universities for sharing lectures. Some courses are set up to allow downloads, but others aren't, and that's really difficult for users without permanent access to good internet.
In this specific case, some of my lectures are publicly accessible if you have the direct link, which I thought should make them easy to download, but so far I've been defeated - I constantly get 403: Forbidden errors.
I've spent 5 hours trying to figure it out, but I'm no coder, just a low level hobbyist. Would love any advice here.
Things I've tried (even though I would assume some shouldn't be necessary, given the video plays freely):

VPN on/off
--cookies-from-browser
multiple --add-header options, including user agent, origin, authentication, referrer
different m3u8 links - I can find 4 available (s1_av, s0q0, s0q1, s1q1), which seem to be different quality options
starting download as quickly as possible after the resource loads, to try to beat any time-based restrictions

The browser extensions Video DownloadHelper and HLS Downloader have also failed to get anything useful from it.
EXAMPLE LINK: https://echo360.net.au/media/f04960a9-2efc-4b63-87b5-72e629081d15/public
SYNTAX ATTEMPTED:
yt-dlp -vU "https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q1.m3u8?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NDM4MTgwMH19fV19&Signature=1wNcsj5s%7ELDuc8EApeTZPhjF78sLZHP5MWEaExMB5uHNJhjp%7EO2Ky3IKsTPtznag-l4FpNiFvjoKHRK1scYgbuI1rYar%7ELcMESD%7EtUreTkoUSW23q-Dm6%7EUtPaRDWjMCfCqkXQwdH8m-ievzLgGFA2yDPx2oNDCQbc3X-xxFH%7Ea7Kfl4OoIgmtwtrpveOrDgSNGVJS5-rUSb%7EirAENqQPuuNfbWGNqBaXVUBrVNI4nMq5jicRPpxCw2753OmW3RuKEkWILIvFbwm1cmZ2txG0ZkNK-j1Yr7aBO2XmylNdTCMKDbG9sFFshGuMLNPrGDbrKVB2cBQmUPltjfEK8OHaQ__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA"
Verbose log
[debug] Command-line config: ['-vU', 'https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q1.m3u8?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NDM4MTgwMH19fV19&Signature=1wNcsj5s%7ELDuc8EApeTZPhjF78sLZHP5MWEaExMB5uHNJhjp%7EO2Ky3IKsTPtznag-l4FpNiFvjoKHRK1scYgbuI1rYar%7ELcMESD%7EtUreTkoUSW23q-Dm6%7EUtPaRDWjMCfCqkXQwdH8m-ievzLgGFA2yDPx2oNDCQbc3X-xxFH%7Ea7Kfl4OoIgmtwtrpveOrDgSNGVJS5-rUSb%7EirAENqQPuuNfbWGNqBaXVUBrVNI4nMq5jicRPpxCw2753OmW3RuKEkWILIvFbwm1cmZ2txG0ZkNK-j1Yr7aBO2XmylNdTCMKDbG9sFFshGuMLNPrGDbrKVB2cBQmUPltjfEK8OHaQ__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA']
[debug] Encodings: locale cp1252, fs utf-8, pref cp1252, out utf-8, error utf-8, screen utf-8
[debug] yt-dlp version 2022.05.18 [b14d523] (win_exe)
[debug] Python version 3.8.10 (CPython 64bit) - Windows-10-10.0.19044-SP0
[debug] Checking exe version: ffprobe -bsfs
[debug] Checking exe version: ffmpeg -bsfs
[debug] exe versions: ffmpeg 2021-09-30-git-3ee4502753-full_build-www.gyan.dev (setts), ffprobe 2021-09-30-git-3ee4502753-full_build-www.gyan.dev
[debug] Optional libraries: Cryptodome-3.14.1, brotli-1.0.9, certifi-2021.10.08, mutagen-1.45.1, sqlite3-2.6.0, websockets-10.3
[debug] Proxy map: {}
Latest version: 2022.05.18, Current version: 2022.05.18
yt-dlp is up to date (2022.05.18)
[debug] [generic] Extracting URL: https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q1.m3u8?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NDM4MTgwMH19fV19&Signature=1wNcsj5s%7ELDuc8EApeTZPhjF78sLZHP5MWEaExMB5uHNJhjp%7EO2Ky3IKsTPtznag-l4FpNiFvjoKHRK1scYgbuI1rYar%7ELcMESD%7EtUreTkoUSW23q-Dm6%7EUtPaRDWjMCfCqkXQwdH8m-ievzLgGFA2yDPx2oNDCQbc3X-xxFH%7Ea7Kfl4OoIgmtwtrpveOrDgSNGVJS5-rUSb%7EirAENqQPuuNfbWGNqBaXVUBrVNI4nMq5jicRPpxCw2753OmW3RuKEkWILIvFbwm1cmZ2txG0ZkNK-j1Yr7aBO2XmylNdTCMKDbG9sFFshGuMLNPrGDbrKVB2cBQmUPltjfEK8OHaQ__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA
[generic] s1q1: Requesting header
[debug] Identified a direct video link
[generic] s1q1: Downloading m3u8 information
[debug] Formats sorted by: hasvid, ie_pref, lang, quality, res, fps, hdr:12(7), vcodec:vp9.2(10), acodec, filesize, fs_approx, tbr, vbr, abr, asr, proto, vext, aext, hasaud, source, id
[debug] Default format spec: bestvideo*+bestaudio/best
[info] s1q1: Downloading 1 format(s): 0
[debug] Invoking hlsnative downloader on "https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q1.m3u8?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NDM4MTgwMH19fV19&Signature=1wNcsj5s%7ELDuc8EApeTZPhjF78sLZHP5MWEaExMB5uHNJhjp%7EO2Ky3IKsTPtznag-l4FpNiFvjoKHRK1scYgbuI1rYar%7ELcMESD%7EtUreTkoUSW23q-Dm6%7EUtPaRDWjMCfCqkXQwdH8m-ievzLgGFA2yDPx2oNDCQbc3X-xxFH%7Ea7Kfl4OoIgmtwtrpveOrDgSNGVJS5-rUSb%7EirAENqQPuuNfbWGNqBaXVUBrVNI4nMq5jicRPpxCw2753OmW3RuKEkWILIvFbwm1cmZ2txG0ZkNK-j1Yr7aBO2XmylNdTCMKDbG9sFFshGuMLNPrGDbrKVB2cBQmUPltjfEK8OHaQ__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA"
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 666
[download] Destination: s1q1 [s1q1].mp4
[debug] File locking is not supported on this platform. Proceeding without locking
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 1 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 2 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 3 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 4 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 5 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 6 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 7 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 8 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 9 of 10) ...
[download] Got server HTTP error: HTTP Error 403: Forbidden. Retrying fragment 1 (attempt 10 of 10) ...
ERROR: Giving up after 10 fragment retries
  File "yt_dlp\__main__.py", line 16, in <module>
  File "yt_dlp\__init__.py", line 857, in main
  File "yt_dlp\__init__.py", line 847, in _real_main
  File "yt_dlp\YoutubeDL.py", line 3254, in download
  File "yt_dlp\YoutubeDL.py", line 3230, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1386, in extract_info
  File "yt_dlp\YoutubeDL.py", line 1395, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1479, in __extract_info
  File "yt_dlp\YoutubeDL.py", line 1535, in process_ie_result
  File "yt_dlp\YoutubeDL.py", line 2640, in process_video_result
  File "yt_dlp\YoutubeDL.py", line 3130, in process_info
  File "yt_dlp\YoutubeDL.py", line 2838, in dl
  File "yt_dlp\downloader\common.py", line 445, in download
  File "yt_dlp\downloader\hls.py", line 348, in real_download
  File "yt_dlp\downloader\fragment.py", line 520, in download_and_append_fragments
  File "yt_dlp\downloader\fragment.py", line 484, in download_fragment
  File "yt_dlp\YoutubeDL.py", line 936, in report_error
  File "yt_dlp\YoutubeDL.py", line 868, in trouble

ERROR: fragment 1 not found, unable to continue
  File "yt_dlp\__main__.py", line 16, in <module>
  File "yt_dlp\__init__.py", line 857, in main
  File "yt_dlp\__init__.py", line 847, in _real_main
  File "yt_dlp\YoutubeDL.py", line 3254, in download
  File "yt_dlp\YoutubeDL.py", line 3230, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1386, in extract_info
  File "yt_dlp\YoutubeDL.py", line 1395, in wrapper
  File "yt_dlp\YoutubeDL.py", line 1479, in __extract_info
  File "yt_dlp\YoutubeDL.py", line 1535, in process_ie_result
  File "yt_dlp\YoutubeDL.py", line 2640, in process_video_result
  File "yt_dlp\YoutubeDL.py", line 3130, in process_info
  File "yt_dlp\YoutubeDL.py", line 2838, in dl
  File "yt_dlp\downloader\common.py", line 445, in download
  File "yt_dlp\downloader\hls.py", line 348, in real_download
  File "yt_dlp\downloader\fragment.py", line 521, in download_and_append_fragments
  File "yt_dlp\downloader\fragment.py", line 493, in append_fragment
  File "yt_dlp\YoutubeDL.py", line 936, in report_error
  File "yt_dlp\YoutubeDL.py", line 868, in trouble

Hi @gitrandomuser ,
I'm having an identical issue using a slightly different method. I'm far from a coding wizard so I applied an adaptation of the ffmpeg method found here in February successfully.
I have attempted to perform the same method today and received the same HTTP 403 Forbidden Error which you appear to receive. Have you been able to resolve this issue or developed a work-around?

It seems the m3u8 is using EXT-X-BYTERANGE:
Here sample of m3u8:
#EXTM3U
#EXT-X-VERSION:7
#EXT-X-ALLOW-CACHE:YES
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-INDEPENDENT-SEGMENTS
#EXT-X-MAP:URI="s1q0.m4s",BYTERANGE="831@0"
#EXTINF:10.000000,
#EXT-X-BYTERANGE:257973@831
s1q0.m4s
#EXTINF:10.000000,
#EXT-X-BYTERANGE:246139@258804
s1q0.m4s
#EXTINF:10.000000,
#EXT-X-BYTERANGE:229175@504943
s1q0.m4s
...
#EXT-X-BYTERANGE:414983@115057066
s1q0.m4s
#EXT-X-ENDLIST

This m3u8 return HTTP 403 when i use ffplay.
I can play this using m4s file that specified from m3u8 but i didn't call it from m3u8. I use dev-tools and then found <base_url>/s1q0.m4s and then input this file to mpv and it works. I assume that something wrong at m3u8
Here the log of the mpv
[cplayer] Command line options: '-v' 'https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q0.m4s?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NjkxMjEyMn19fV19&Signature=QnSIxekIyl4HMqDEaCqi7cCZPIEAF6uxaQHIh6GkWFtyXYZa3wzJCm5eijiWxyisVu7d31ebCqwv-YMvp3jmoKNeS8VrG77WLG7F5-6AYqXE0E7LkNPi7YnIFSw0IAlBr8ZUmKIUSXfo409sxyrkY03fA5ZmUA7gWBRxnsYV6J4XRrf7qXnHWAZ8QfENnkl11aGqxVXlNRShPYyJ66te0qvi8bp0hEguhtER0JVPA3cs5uVXOQ1PEOl0-DTghD3qQtjr2xpd674KasYRomHnqUlLofrlEQyqvFaChl5P7E6-V7uvC8HAB1sBqE2LsESFZ8sc5GnEyJ3PJyGWODg62g__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA'
[cplayer] mpv 0.34.0-142-g1ba0547bfb Copyright © 2000-2021 mpv/MPlayer/mplayer2 projects
[cplayer]  built on Sun Jan 16 17:16:12 +08 2022
[cplayer] FFmpeg library versions:
[cplayer]    libavutil       57.18.100
[cplayer]    libavcodec      59.20.100
[cplayer]    libavformat     59.17.101
[cplayer]    libswscale      6.5.100
[cplayer]    libavfilter     8.25.100
[cplayer]    libswresample   4.4.100
[cplayer] FFmpeg version: git-2022-01-16-bca30570
[cplayer]
[cplayer] Configuration: /home/shinchiro/build64/packages/mpv-prefix/src/mpv/waf configure --enable-static-build --enable-pdf-build --disable-manpage-build --enable-libmpv-shared --enable-lua --enable-javascript --enable-sdl2 --enable-libarchive --enable-libbluray --enable-dvdnav --enable-uchardet --enable-rubberband --enable-lcms2 --enable-openal --enable-spirv-cross --enable-vulkan --enable-vapoursynth --prefix=/home/shinchiro/build64/install/mingw
[cplayer] List of enabled features: asm build-date cplayer cuda-hwaccel cuda-interop d3d-hwaccel d3d11 d3d9-hwaccel debug-build direct3d dos-paths dvdnav egl-angle egl-angle-win32 egl-helpers ffmpeg ffmpeg-aviocontext-bytes-read ffnvcodec gl gl-dxinterop gl-dxinterop-d3d9 gl-win32 glob glob-win32 gpl iconv javascript jpeg lcms2 libarchive libass libavdevice libbluray libm libmpv-shared libplacebo libplacebo-v4 lua luajit mingw noexecstack openal optimize plain-gl posix-or-mingw rubberband sdl2 sdl2-audio sdl2-gamepad sdl2-video shaderc shaderc-static spirv-cross spirv-cross-static static-build stdatomic uchardet vapoursynth vector vulkan wasapi win32-desktop win32-internal-pthreads zimg zlib
[cplayer] Setting option 'v' = '' (flags = 8)
[cplayer] Waiting for scripts...
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Set property: shared-script-properties -> 1
[osd/libass] libass API version: 0x1502000
[osd/libass] libass source: commit: 0d170d9a1d7e7fee948141eac988c1e6391dfc62
[osd/libass] Shaper: FriBidi 1.0.11 (SIMPLE) HarfBuzz-ng 3.2.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider directwrite (with GDI)
[osd/libass] Done.
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Done loading scripts.
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] ytdl:// hook
[ytdl_hook] not a ytdl:// url
[cplayer] Set property: shared-script-properties -> 1
[ffmpeg] Opening https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q0.m4s?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NjkxMjEyMn19fV19&Signature=QnSIxekIyl4HMqDEaCqi7cCZPIEAF6uxaQHIh6GkWFtyXYZa3wzJCm5eijiWxyisVu7d31ebCqwv-YMvp3jmoKNeS8VrG77WLG7F5-6AYqXE0E7LkNPi7YnIFSw0IAlBr8ZUmKIUSXfo409sxyrkY03fA5ZmUA7gWBRxnsYV6J4XRrf7qXnHWAZ8QfENnkl11aGqxVXlNRShPYyJ66te0qvi8bp0hEguhtER0JVPA3cs5uVXOQ1PEOl0-DTghD3qQtjr2xpd674KasYRomHnqUlLofrlEQyqvFaChl5P7E6-V7uvC8HAB1sBqE2LsESFZ8sc5GnEyJ3PJyGWODg62g__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA
[osd/libass] libass API version: 0x1502000
[osd/libass] libass source: commit: 0d170d9a1d7e7fee948141eac988c1e6391dfc62
[osd/libass] Shaper: FriBidi 1.0.11 (SIMPLE) HarfBuzz-ng 3.2.0 (COMPLEX)
[osd/libass] Setting up fonts...
[osd/libass] Using font provider directwrite (with GDI)
[osd/libass] Done.
[cplayer] Set property: shared-script-properties -> 1
[ffmpeg] Mime-type: 'video/iso.segment'
[demux] Trying demuxers for level=normal.
[lavf] Found 'mov,mp4,m4a,3gp,3g2,mj2' at score=100 size=2048.
[ffmpeg] stream level seek from 7474 to 115472045
[ffmpeg] stream level seek from 115472049 to 883
[ffmpeg] stream level seek from 8355 to 258804
...
[ffmpeg] stream level seek from 114771434 to 115057066
[demux] Detected file format: mov,mp4,m4a,3gp,3g2,mj2 (libavformat)
[cplayer] Opening done: https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q0.m4s?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NjkxMjEyMn19fV19&Signature=QnSIxekIyl4HMqDEaCqi7cCZPIEAF6uxaQHIh6GkWFtyXYZa3wzJCm5eijiWxyisVu7d31ebCqwv-YMvp3jmoKNeS8VrG77WLG7F5-6AYqXE0E7LkNPi7YnIFSw0IAlBr8ZUmKIUSXfo409sxyrkY03fA5ZmUA7gWBRxnsYV6J4XRrf7qXnHWAZ8QfENnkl11aGqxVXlNRShPYyJ66te0qvi8bp0hEguhtER0JVPA3cs5uVXOQ1PEOl0-DTghD3qQtjr2xpd674KasYRomHnqUlLofrlEQyqvFaChl5P7E6-V7uvC8HAB1sBqE2LsESFZ8sc5GnEyJ3PJyGWODg62g__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA
[cplayer] Running hook: ytdl_hook/on_preloaded
[cplayer] Set property: shared-script-properties -> 1
[lavf] select track 0
[cplayer]  (+) Video --vid=1 (*) (h264 640x358 25.000fps)
[vo/gpu] Probing for best GPU context.
...
[vo/gpu/win32] DPI detected from the new API: 96
[vo/gpu/win32] display-fps: 60.110680
[vo/gpu/win32] color-profile: C:\Windows\system32\spool\drivers\color\sRGB Color Space Profile.icm
[vo/gpu] Assuming 60.110680 FPS for display sync.
[vd] Container reported FPS: 25.000000
[vd] Codec list:
[vd]     h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10
[vd]     h264_qsv (h264) - H264 video (Intel Quick Sync Video acceleration)
[vd]     h264_cuvid (h264) - Nvidia CUVID H264 decoder
[vd] Opening decoder h264
[vd] No hardware decoding requested.
[vd] Using software decoding.
[vd] Detected 2 logical cores.
[vd] Requesting 3 threads for decoding.
[vd] Selected codec: h264 (H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10)
[vf] User filter list:
[vf]   (empty)
[cplayer] Starting playback...
[cplayer] Set property: shared-script-properties -> 1
[ffmpeg] stream level seek from 115073450 to 2995
[vd] DR failed - disabling.
[vd] Using software decoding.
[vd] Decoder format: 640x358 yuv420p auto/auto/auto/auto/auto CL=mpeg2/4/h264
[vd] Using container aspect ratio.
[vf] [in] 640x358 [18079:18080] yuv420p bt.601/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [userdeint] 640x358 [18079:18080] yuv420p bt.601/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [userdeint] (disabled)
[vf] [autorotate] 640x358 [18079:18080] yuv420p bt.601/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [autorotate] (disabled)
[vf] [convert] 640x358 [18079:18080] yuv420p bt.601/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vf] [convert] (disabled)
[vf] [out] 640x358 [18079:18080] yuv420p bt.601/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[cplayer] VO: [gpu] 640x358 => 640x358 yuv420p
[cplayer] VO: Description: Shader-based GPU Renderer
[vo/gpu] reconfig to 640x358 [18079:18080] yuv420p bt.601/bt.709/bt.1886/limited/display SP=1.000000 CL=mpeg2/4/h264
[vo/gpu/win32] reset window bounds: 363:196:640:358
[vo/gpu/win32] resize window: 640:358
[vo/gpu/win32] resize window: 640:358
[vo/gpu] Resize: 640x358
[vo/gpu] Window size: 640x358 (Borders: l=0 t=0 r=0 b=0)
[vo/gpu] Video source: 640x358 (18079:18080)
[vo/gpu] Video display: (0, 0) 640x358 -> (0, 0) 640x358
[vo/gpu] Video scale: 1.000000/1.000000
[vo/gpu] OSD borders: l=0 t=0 r=0 b=0
[vo/gpu] Video borders: l=0 t=0 r=0 b=0
...

Hi @jsmith3142, At my comment, i just want to explain the m3u8 link is always giving HTTP 403 and giving tips how we can get the video. I didn't use the m3u8. I use the dash format (ended with m4s extension, you can see this in dev-tools) and you can input this to yt-dlp or ffmpeg.
Here's the link i used:
https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1q0.m4s?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NjkxMjEyMn19fV19&Signature=QnSIxekIyl4HMqDEaCqi7cCZPIEAF6uxaQHIh6GkWFtyXYZa3wzJCm5eijiWxyisVu7d31ebCqwv-YMvp3jmoKNeS8VrG77WLG7F5-6AYqXE0E7LkNPi7YnIFSw0IAlBr8ZUmKIUSXfo409sxyrkY03fA5ZmUA7gWBRxnsYV6J4XRrf7qXnHWAZ8QfENnkl11aGqxVXlNRShPYyJ66te0qvi8bp0hEguhtER0JVPA3cs5uVXOQ1PEOl0-DTghD3qQtjr2xpd674KasYRomHnqUlLofrlEQyqvFaChl5P7E6-V7uvC8HAB1sBqE2LsESFZ8sc5GnEyJ3PJyGWODg62g__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA
Please confirm if it works or not for you

If my comment above is still hard to understand, let me answer your question

Would it be possible for you to explain more simply how I would be able to download this video, or any other video which follows the same format?

 It should list some file
you can filter or search something that have m4s in the end of file, choose that have GET request (not the OPTION one)
you copy the link of the file and input this link to video downloader ( you can use your browser, yt-dlp, ffmpeg, etc)

Which programs did you use ?

Actually, you can just use your browser. Obviously, you can use yt-dlp and ffmpeg to download your video

what steps did you take to get around the 403 error if you were able to download the video?

I select dash format (the dash format seems didn't give error btw) so it's didn't get any error. I think it's just happened when you want to download video from m3u8 ( i don't know why) and not from dash format

I try to figure out how the website can get the video and i found how we can make PR for this.

We need to extract the webpage
From website source, i found this variable?

Echo["mediaPlayerBootstrapApp"]("{\"isMobile\":false,\"locale\":\"id\",\"cookiesDisabledUrl\":\"https:\/\/help.echo360.com\/hc\/en-us\/articles\/360035408871-Recommended-Browsers\",\"mediaId\":\"6098a147-2d65-40f3-b9e9-a0204afe450c\",\"sessionId\":\"4d3a2f77-f7dd-4bf2-bfb1-d49f44b99e85\",\"publicLinkId\":\"f04960a9-2efc-4b63-87b5-72e629081d15\",\"id\":\"r60a52102-bd91-4d12-bb49-c05d8469a949\"}");

As we can see, we can get mediaId from here.
We can get required cookie PLAYSESSION=... from this requests

We must create token from cookie
This can be done with request to https://echo360.net.au/api/ui/sessions/fe725dc6-a85b-4512-b40d-cc7a9d1834c2 with the cookie we get. It should return token at its response header

Get json data
We can get m3u8 url by requesting to https://echo360.net.au/api/ui/echoplayer/public-links/<publicLinkId>/media/<mediaId>/player-properties. This request need to define Authorization: Bearer <token> at request header. It should return like this

{
	"status": "ok",
	"message": "",
	"data": {
		"canViewAnalytics": false,
		"contextRole": "Anonymous",
		"mediaName": "EXSC634_Online_Workshop_Week_4.mp4",
		"playableAudioVideo": {
			"disableAutoBandwidth": false,
			"duration": "PT6659.720S",
			"mediaId": "6098a147-2d65-40f3-b9e9-a0204afe450c",
			"playableMedias": [{
				"isHls": true,
				"isLive": false,
				"quality": [0],
				"sourceIndex": 0,
				"trackType": ["Audio"],
				"uri": "https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s0_a.m3u8?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-mid=6098a147-2d65-40f3-b9e9-a0204afe450c&x-act=publicLink&x-src=desktop"
			}, {
				"isHls": true,
				"isLive": false,
				"quality": [0, 1],
				"sourceIndex": 1,
				"trackType": ["Video"],
				"uri": "https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1_v.m3u8?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-mid=6098a147-2d65-40f3-b9e9-a0204afe450c&x-act=publicLink&x-src=desktop"
			}, {
				"isHls": true,
				"isLive": false,
				"quality": [0, 1],
				"sourceIndex": 1,
				"trackType": ["Audio", "Video"],
				"uri": "https://content.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/s1_av.m3u8?x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-mid=6098a147-2d65-40f3-b9e9-a0204afe450c&x-act=publicLink&x-src=desktop"
			}],
			"posterMedia": [{
				"sourceIndex": 1,
				"uri": "https://thumbnails.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/poster1.jpg"
			}],
			"thumbnailMedia": [{
				"baseUri": "https://thumbnails.echo360.net.au/0000.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/thumbnails1",
				"extension": "jpg",
				"sourceIndex": 1,
				"timesInSeconds": [120, 2880, 3660, 4740, 5700, 1800, 5940, 0, 1380, 6240, 6540, 5280, 60, 4380, 360, 3600, 960, 5100, 2940, 1980, 4620, 6000, 4020, 6600, 2040, 6180, 600, 5160, 3120, 480, 2340, 900, 5880, 1620, 5040, 2220, 1860, 4980, 5340, 3360, 2160, 4080, 840, 2640, 2580, 4260, 5760, 3720, 1080, 4680, 1320, 3480, 4320, 3060, 6480, 4800, 1260, 3180, 5220, 2280, 3540, 660, 4140, 180, 3240, 6420, 2460, 3000, 4500, 540, 5580, 3960, 1200, 5640, 1440, 780, 4560, 5820, 1140, 1920, 1560, 240, 1500, 1740, 3780, 720, 2700, 6300, 6060, 3420, 300, 4200, 1680, 420, 3300, 3900, 5520, 2400, 5460, 5400, 2100, 6120, 2760, 1020, 2520, 4920, 4440, 2820, 6360, 4860, 3840]
			}],
			"liveTimeAvailable": false
		},
		"sessionDurationSecondsHard": 86400,
		"sessionDurationSecondsSoft": 57600,
		"sourceQueryStrings": {
			"queryStrings": [{
				"uriPattern": "^https://.*\\.echo360\\.net\\.au/0000\\.d88cbb8d-7036-448f-ad95-946005ec9d97/6098a147-2d65-40f3-b9e9-a0204afe450c/1/.*$",
				"queryString": "x-uid=a0000000-0000-4000-0000-000000000000&x-instid=d88cbb8d-7036-448f-ad95-946005ec9d97&x-src=desktop&Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vKi5lY2hvMzYwLm5ldC5hdS8wMDAwLmQ4OGNiYjhkLTcwMzYtNDQ4Zi1hZDk1LTk0NjAwNWVjOWQ5Ny82MDk4YTE0Ny0yZDY1LTQwZjMtYjllOS1hMDIwNGFmZTQ1MGMvMS8qP3gtdWlkPWEwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCZ4LWluc3RpZD1kODhjYmI4ZC03MDM2LTQ0OGYtYWQ5NS05NDYwMDVlYzlkOTcmeC1zcmM9ZGVza3RvcCIsIkNvbmRpdGlvbiI6eyJEYXRlTGVzc1RoYW4iOnsiQVdTOkVwb2NoVGltZSI6MTY1NzcwMTA0OH19fV19&Signature=fGMbmkoCUL6omoYj8gwNP3xEvH7DJsfBieaHc9jLwP1WW6n9NZhwdu6H6JZVTELmM5OfyGX1mEpTjeuENk88Nu2VSneRZ7sTFrW8hCYI0xpfCA68lkEJ9uzxbmdMq7hJK7UFkWS01kqa%7EJSuhd33%7EXSxyoizIAyQ0isbYUmmiepCMjWbAQD0XAoKQxz99zeDxBhWSxjmrgKIIKiFIMacOVjpQpvMsRmDnFgJ-D4zyRoWv9iYCkP7EDwlBLqwLkG5FSe5Xzo8SO7Xhd-0pn0VaPFkELC87aTjtOvUQ6ppBQ5bgF1867KVPvVFZqz7XV3Krklp%7ErqcQGqOG4Wvh9QOgQ__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA"
			}]
		},
		"titleImageUri": "https://files.echo360.net.au/d88cbb8d-7036-448f-ad95-946005ec9d97/3r2oQGXNRy2Wneu3v7eH_aculogosm.jpg?Policy=eyJTdGF0ZW1lbnQiOiBbeyJSZXNvdXJjZSI6Imh0dHBzOi8vZmlsZXMuZWNobzM2MC5uZXQuYXUvZDg4Y2JiOGQtNzAzNi00NDhmLWFkOTUtOTQ2MDA1ZWM5ZDk3LzNyMm9RR1hOUnkyV25ldTN2N2VIX2FjdWxvZ29zbS5qcGciLCJDb25kaXRpb24iOnsiRGF0ZUxlc3NUaGFuIjp7IkFXUzpFcG9jaFRpbWUiOjE2NTc2MTU1NDh9fX1dfQ__&Signature=U-SikYPkeNZbVEUwZVfflJwjhyJdyM5Zqpnlmiagzp-eMpJDWwzezhHs9Nrc21JKi8mVJulhO72jl57qj~Xjy63NbsHSLspCCsUUn0N2Q1h9rDmElNdl05Dq4qHOh7CPzmmmUdDrR33McojzFZDGF7XuYc1iDQMEWQuNWJpZX5Iv1kjs2WwthBU-zUaXT2bNLdsNxZ06UJXaR64iajlM06NU-7gZOJtDXhZUpAEIvSzZUnLnsReAk3wADJrywnlg32wpi96x~QaksFHYDfEcWjIZqBpIw5xm5K0AcukdH-sI2r9l5kaTd~mmb1JmSOPWMhoNxciW0qlR2y6FPtArtQ__&Key-Pair-Id=APKAIPMYRDQXV3PXG2XA"
	}
}

Get m3u8 url from json
We must parse json to get m3u8 url. The urls are in json['data']['playableAudioVideo']['playableMedias'][...]['uri']. At this step, we must get the m3u8 url query, the m3u8 url above didn't work because the uri (or maybe url) in m3u8 didn't include required query.
Rewrite all filename in m3u8 to include query
It should be like s1q1.m4s?<query>. It's better to make this automatically but i don't know to do this in yt-dlp, we can construct this manually though

related upstream: https://github.com/ytdl-org/youtube-dl/issues/28069

If you guys provide more examples. I can also implement the playlist extractor.


Feat: adds LazyLoadingSection component - perf

What's the purpose of this pull request?
Adds LazyLoadingSection component, it will be responsible for lazy loading Sections that are out of the viewport.

It achieves this by:

Using the IntersectionObserver API for Sections below the fold.

Checking the UI context for Sections that are not in the viewport, such as the CartSidebar and RegionModal.

We will be implementing this in the RenderSectionsBase as part of our upcoming tasks. This component is not being applied in isolation due to concerns about increased Cumulative Layout Shift (CLS).
How to test it?

You can use this preview link, where the LazyLoadingSection is temporary applied or locally add it in RenderSectionsBase component.

 <SectionBoundary key={`cms-section-${name}-${index}`} name={name}>
      <LazyLoadingSection sectionName={name}>
           <Component {...data} />
      </LazyLoadingSection>
 </SectionBoundary>

Inspect the code, use the React extension for this test:

search for Footer, you won't find it until you scroll the page until the Newsletter section

https://github.com/user-attachments/assets/bbfffbe0-39b8-4b6b-b86d-04d4a7ab1e6b
Starters Deploy Preview
https://github.com/vtex-sites/starter.store/pull/586
References
https://github.com/vtex/faststore/pull/2404

Do you test the web vitals score?

Do you test the web vitals score?

Yes, locally. But since I'm not using this component yet, it shouldn't make any changes. I found that we introduced CLS with the recent changes, but I will address that in another PR.


HERE’S!!* WAY TO WATCH Nottm Forest vs West HamLIVE STREAMS ON Premier League TV CHANNEL 2024

HERE’S!!*


Adult Swim Infomercials

Thanks for the pull request! Before a real human comes by, please make sure your PR has all of the below criteria checked

[ ] Give a description on what the PR is for.
[ ] Make sure your PR is based on the DEVELOP branch
[x] Don't send big changes all at once. Split up big PRs into multiple smaller PRs that are easier to manage and review

Please make sure you also read contribution guide and followed all of the steps.
Thanks!

This doesnt work. The Infomercials have no season/episode

There are ep released with nr


Outdated "An open-source project sponsored by Mapzen." at https://github.com/tangrams

Not sure where I should report this but https://github.com/tangrams has outdated description

An open-source project sponsored by Mapzen.

If it is intention to refer to past history and honor Mapzen? maybe "An open-source project started by Mapzen." would be better?
Because it is certainly not referring to Mapzen as community ( https://www.mapzen.com/blog/mapzen-is-now-a-linux-foundation-project/ ) - sponsored is a poor word here.

Thanks @matkoniecz! I've updated the description.


look into passing more metadata to journald

Line number, column, file_name and function name can be accuired
from std::source_location it looks like. Since c++20.
https://en.cppreference.com/w/cpp/utility/source_location

Helpful links
https://systemd.io/JOURNAL_EXPORT_FORMATS/#journal-export-format
https://man7.org/linux/man-pages/man8/systemd-journal-remote.8.html

Complete


submission

https://github.com/Maximkaaa/galileo
Galileo might be interesting to include

Added (thought, it was already there), thanks!


Syntax error reported in deactivate.d/deactivate-gcc_linux-64.sh when using tox-conda

tl;dr see https://github.com/ctb/2021-conda-tox-wat/ :).
Hi all,
thanks so much for conda-forge!!
I was pointed here in re this error output:
rm -fr .tox UNKNOWN.egg-info
tox -e py39
.package create: /home/ctbrown/2021-conda-tox-wat/.tox/.package
.package installdeps: setuptools >= 48
ERROR: invocation failed (exit code 2), logfile: /home/ctbrown/2021-conda-tox-wat/.tox/.package/log/.package-1.log
================================== log start ===================================
/tmp/tmpp10ke8je: 146: /home/ctbrown/miniconda3/envs/failme2/etc/conda/deactivate.d/deactivate-gcc_linux-64.sh: Syntax error: "(" unexpected (expecting "fi")

=================================== log end ====================================
ERROR: could not install deps [setuptools >= 48]; v = InvocationError("/home/ctbrown/2021-conda-tox-wat/.tox/.package/bin/python -m pip install 'setuptools >= 48'", 2)
py39 create: /home/ctbrown/2021-conda-tox-wat/.tox/py39
py39 inst: /home/ctbrown/2021-conda-tox-wat/.tox/.tmp/package/1/UNKNOWN-0.0.0.tar.gz
py39 installed: UNKNOWN @ file:///home/ctbrown/2021-conda-tox-wat/.tox/.tmp/package/1/UNKNOWN-0.0.0.tar.gz
py39 run-test-pre: PYTHONHASHSEED='2953931048'
___________________________________ summary ____________________________________
  py39: commands succeeded
  congratulations :)

which is generated by the github repo https://github.com/ctb/2021-conda-tox-wat/.
I first ran across this in the sourmash project; see https://github.com/sourmash-bio/sourmash/issues/1778. It looks similar to https://github.com/conda/conda/issues/9959. 2021-conda-tox-wat is my simplest-possible recapitulation of the sourmash problem.

It looks very much like the problem is somewhere at the intersection of tox and tox-conda. The code works fine if I omit tox-conda from the conda environment, in which case tox uses pip instead of conda environments. But I don't yet know where the problem lies specifically - with tox, or with the conda package.
If I had to guess, it's that there is some variable that is present in the environment that's causing a syntax error in the deactivate script, but there are too many moving parts for me to isolate it just yet.
My next debugging steps will be:

use set -x to see exactly what's happening in the deactivation script
figure out how to get gory details out of tox in terms of exactly what commands are being run

and I will update here if I get anywhere with them.
Any help is much appreciated! This is not a showstopper but it sure would be nice to get the fly out of the ointment :)

cc @ktlim, @beckermr

Thanks all!
I cannot reproduce this in a container locally in a variety of scenarios. So the example you sent is not enough to reproduce this and I think it is something local to your system.
Can you manually edit the deactivate file above to add set -x to the top and send any extra output?
Also what shell arr you using?

thanks @beckermr! Note that it occurs both on my local Linux system and in GitHub actions (in sourmash repo), which is why I'm reasonably confident it's not just me, and it's probably not dependent on my local conda install.
I'll do the set -x in a bit.
Shell is bash.

I am a tox n00b. What am I doing wrong here?
(failme) [conda@b258f61abe32 2021-conda-tox-wat]$ conda info

     active environment : failme
    active env location : /opt/conda/envs/failme
            shell level : 2
       user config file : /home/conda/.condarc
 populated config files : /home/conda/.condarc
          conda version : 4.11.0
    conda-build version : 3.21.7
         python version : 3.8.12.final.0
       virtual packages : __linux=5.10.76=0
                          __glibc=2.17=0
                          __unix=0=0
                          __archspec=1=x86_64
       base environment : /opt/conda  (writable)
      conda av data dir : /opt/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch
          package cache : /opt/conda/pkgs
                          /home/conda/.conda/pkgs
       envs directories : /opt/conda/envs
                          /home/conda/.conda/envs
               platform : linux-64
             user-agent : conda/4.11.0 requests/2.26.0 CPython/3.8.12 Linux/5.10.76-linuxkit centos/7.9.2009 glibc/2.17
                UID:GID : 9001:9001
             netrc file : None
           offline mode : False

(failme) [conda@b258f61abe32 2021-conda-tox-wat]$ mamba list --explicit | grep gxx
https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-9.4.0-h03d3576_11.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gxx-9.4.0-h192d537_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-9.4.0-h0316aca_3.tar.bz2
(failme) [conda@b258f61abe32 2021-conda-tox-wat]$ rm -rf UNKNOWN.egg-info .tox
(failme) [conda@b258f61abe32 2021-conda-tox-wat]$ tox -e py39
.package create: /home/conda/2021-conda-tox-wat/.tox/.package
.package installdeps: setuptools >= 48
py39 create: /home/conda/2021-conda-tox-wat/.tox/py39
py39 inst: /home/conda/2021-conda-tox-wat/.tox/.tmp/package/1/UNKNOWN-0.0.0.tar.gz
py39 installed: UNKNOWN @ file:///home/conda/2021-conda-tox-wat/.tox/.tmp/package/1/UNKNOWN-0.0.0.tar.gz
py39 run-test-pre: PYTHONHASHSEED='2624061568'
________________________________________________________________________________ summary _________________________________________________________________________________
  py39: commands succeeded
  congratulations :)

(here's a link to one of the failing GitHub Action report)

I am also not a tox expert, but I am reasonably Python knowledgeable and I'm 99% sure it's just creating the environment, activating it, and then running pip install :).
I check you -- same actual gxx packages installed:
% mamba list --explicit | grep gxx
https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-9.4.0-h03d3576
_11.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gxx-9.4.0-h192d537_3.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-9.4.0-h0316aca_3.ta
r.bz2

Here's the full output of tox -e py39 with set -x added at the top of deactivate script; as well as conda info. Thanks again!
tox-fail.txt
conda-info.txt

This really does look like the error you get when trying to source the deactivate script under dash:
/usr/bin/dash: 146: ./deactivate-gcc.sh: Syntax error: "(" unexpected (expecting "fi")

Is /tmp/tmpp10ke8je an explicitly sh shell script?

I thought the POSIX stuff was fixed? I guess we need better tests.

That PR is great, but it still doesn't solve this problem AFAICT.  dash won't execute the commands because of the zsh-only if, but it still needs to read them to skip them, and their array syntax is strict-POSIX non-compliant.

I would be happy to test/run #41 on my system - would it be as simple as copying recipe/deactivate-gcc.sh over my deactivate script? "No" is a fine answer 😆
I attach the output of tox -e py39 -vvv, which seems to be the only way to get lots of tox output. Not sure it'll help; I'm lost in a soup of twisty command line execution messages.
tox-fail-vv.txt

hmmmm - maybe we need to generate the commands as a string and then eval them?
This should be safe I think?

My local sh interpreter seems to understand the ( and so is not generating an error. Maybe I need to be in an ubuntu container with dash to see it.

Yes, string plus eval is the way I was thinking, and it does look like it will work.  Unfortunately it then reveals another problem in line 8 (with #41).  I think that needs to be:
    elif [ -n "$ZSH_NAME" ] && [ -n "${(%):-%x}" ]; then

@ctb, did this use to work before 9 days ago?

oooh, excellent question. No, 15 days ago was the first time we noticed it - https://github.com/sourmash-bio/sourmash/issues/1772#issuecomment-998020418. So that's ~December 20th, 2021. We did not have a lot of activity before that, so the last time I can clearly see that it was working was Nov 21, 2021 (see https://github.com/sourmash-bio/sourmash/pull/1765).
Digging a bit more, it looks like the last successful action run was maybe 17 days ago (December 16th? 17th?) link.

OK. I think the changes in #61 will do the trick. Does anyone have a local container with dash or otherwise where they can build this PR and check it out? I can try later but don't have the time this moment.

I just merged #61. Give it a few hours for the builds to show up on the CDN and then try again.

preliminary results suggest that it works 🎉  - confirming with github actions now. Thank you VERY MUCH!

confirmed - github actions worked as well.
for posterity, this is what's working --
% mamba list --explicit | grep gxx
https://conda.anaconda.org/conda-forge/linux-64/gxx_impl_linux-64-9.4.0-h03d3576_11.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gxx-9.4.0-h192d537_4.tar.bz2
https://conda.anaconda.org/conda-forge/linux-64/gxx_linux-64-9.4.0-h0316aca_4.tar.bz2

so the _4 update for gxx_linux-64 and gxx-9.4.0 seems to be the key one.
Again, thanks very much for jumping on this, even when you couldn't replicate it yourselves! I'll close this now.


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 1362 ms

Resolved: Bofrost.lu performance has improved in 59389cc after 6 minutes.


Do we really want to match and transform URL paths with regular expressions?

Presently, we allow tuf.interposition users to match and transform URL paths with regular expressions.
There are a few use cases for this feature:

Users mean "/path/to/directory/index.html" instead of "path/to/directory/".
Users may want TUF to interpose for certain paths only.For example, for the domain "pypi.python.org", we may want to interpose for paths beginning with "/simple" or "/package", but not for paths beginning with "/search" because "/search" is a path for a web service.

The question is: more functionality is nicer for the developer, but will it affect default TUF security? For example, the user may match or mismatch URL paths against her intentions.
The first use case has a simpler fix where we simply get TUF to generate a duplicate target for the key "/path/to/directory/" when it sees files of the form "/path/to/directory/index.html". However, this fix does not handle the second use case.

tuf.interposition was removed in https://github.com/theupdateframework/tuf/pull/537. Closing.


[dupl] warning: 'SecTrustedApplicationCreateFromPath' is deprecated on macOS 10.15 Catalina

Related: #56, #59, #60
Problem
Encountering the following errors on macOS 10.15 Catalina with the latest keyring release:
cgo-gcc-prolog:203:11: warning: 'SecTrustedApplicationCreateFromPath' is deprecated: first deprecated in macOS 10.15 - No longer supported [-Wdeprecated-declarations]
/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/Security.framework/Headers/SecTrustedApplication.h:59:10: note: 'SecTrustedApplicationCreateFromPath' has been explicitly marked deprecated here

This is reported in keybase/go-keychain #58 and seems to have been fixed in keybase/go-keychain #60.
Proposal
Upgrade the corresponding dependency to use a newer version of keybase/go-keychain.

Temporary fix in db030e0c0975ed003e02a6049e8be23aec8daf9c

How is this one looking? Is there any reason it's still pinned to your fork of go-keychain?

@flowchartsman Yes, there is a reason. The removal of SecTrustedApplicationCreateFromPath changes the security behaviour of aws-vault. It removes the ability for aws-vault to remove itself from the credential ACL, which is required to get keychain prompts when a credential is accessed. See https://github.com/99designs/keyring/pull/59#issuecomment-584522383 for further discussion

I believe using SecACLUpdateAuthorizations is the new way to update ACLs

Great, thanks for the explanation! Please let me know if there's any legwork that needs done.

The work required is to remove use of the fork, but find a way to keep the ACL-clearing behaviour


Can not mount drake

Don't know if this is a bug or not. But I am now unable to ride it anymore. It says that the Type is NULL when trying to mount the drake.
I think that it started happening after the v0.3.81 update. So I don't don't know if that was an intended change or not. I have a few other mods, but I was able to mount the Drake till that update. I have two PC's with drakes a small character and a medium. Both were able to ride their drakes. My halfling has been riding since the drake went Medium and my tiefling started riding when his went large.
To Reproduce
Steps to reproduce the behavior:

Have drake go to large by leveling up
Then try to mount

Expected behavior
To ride the drake

Drake riding was not working the way I needed I to, the clipping issues caused a odd amount of problems.
Once I figure out how to do animations I will add proper drake riding, I will change the error message though as that looks rubbish.
Sorry you can no longer ride Balls.


An error occurred while Click 'Chat Completion' Button in word, '-2147012894(80072ee2)', Why?

Env: Win 10 64bit Chs version, Office 2019, API Key Installed
Debug:
Dim objCurlHttp As Object
Set objCurlHttp = CreateObject("MSXML2.serverXMLHTTP")
With objCurlHttp
.Open "POST", strURL, False
.SetRequestHeader "Content-type", "application/json"
.SetRequestHeader "Authorization", "Bearer " + strAPIKey
.Send (strJSONdata)      //Stuck here  ***************************************
Dim strResponse As String
strResponse = .ResponseText

Why?     Thanks

Hi @sxbug, thank you for submitting this issue. We believe the issue you are referring to is actually a request timeout error. It will occur when there is an outage across the OpenAI chat channel (chat.openai.com). You can monitor any OpenAI outages at this link: https://status.openai.com/. We need to add some additional error handling to the code in order to provide a more meaningful alert message when there is an outage with ChatGPT. I hope this answers your question.

I also met a similar problem. How can I solve it

Hello @sxbug and @orange1027. We have just released a new version that patches the issue you have raised. Please update your Chat.bas file to the latest 0.1.1 version (it is in the src/windows directory of this repository). I will also close this issue. Should you have any further issues please let us know.


:terminal doesn't use the 16 ANSI colors of the underlying terminal when t_Co > 16.

:help g:terminal_ansi_color says:

When not using GUI colors, the terminal window always uses the 16 ANSI colors of the underlying terminal.

When &t_Co > 16, this is true for 15 colors out of 16 but not for color 3, commonly called "DarkYellow" or "darkyellow".
Detailed steps to reproduce the behavior:

Set your $TERM to xterm-256color.
Run vim --clean.
Do :terminal.
Enter this command: $ echo -e "\\033[48;5;3m        \\033[48;5;11m        \\033[0m".
You should get two rectangular blocks.

Expected behavior

The first rectangular block should be painted in ANSI color 3 ("DarkYellow"), as defined at the terminal emulator level.
The second rectangular block should be painted in ANSI color 11 ("Yellow"), as defined at the terminal emulator level.

The two blocks should be similar to this:

Since the default ANSI colors are different from terminal emulator to terminal emulator and user-customisable, don't expect to have the exact same colors as in the screenshot above. This screenshot is only meant as a baseline to compare the actual behavior with.
Actual behavior

The first rectangular block is incorrectly painted in a brownish orange, specifically color 130 in the xterm palette.
The second rectangular block is correctly painted in ANSI color 11 ("Yellow"), as defined at the terminal emulator level.

MacOS 10.14.6, Bash 5.0.16, Vim 8.2.635, Terminal.app 2.9.5 (421.2):

MacOS 10.14.6, Bash 5.0.16, Vim 8.2.635, iTerm.app 3.3.9:

MacOS 10.14.6, Bash 5.0.16, Vim 8.2.635, Kitty.app 10.7.3:

MacOS 10.14.6, Bash 5.0.16, Vim 8.2.635, Alacritty 0.4.2:

MacOS 10.14.6, Bash 5.0.16, Vim 8.2.635, XQuartz 2.7.11 (xorg-server 1.18.4), xterm 326:

ANSI color 3 is systematically ignored and replaced with the same brownish orange, index 130 in the xterm palette.
Patch #5985 successfully fixed a related issue that affected general highlighting but I can't find what would cause the brownish switcheroo described in this issue.

@romainl What about white and bright black (escape code 47 & 100)?

@andymass What about them?

@romainl, using a basic color test program, I'm seeing a difference in white and bright black (37/47 & 90/100) when swapping between t_Co=256 and t_Co=16.
cat color-test.c  # from wikipedia
make color-test
vim --clean +'term ./color-test'
:nnoremap <space> :<c-u>let &t_Co = &t_Co > 16 ? 16 : 256 \| echo &t_Co<cr>

Tap space to see differences.  Prior to patch 8.2.0643, I also see dark yellow (33/44) changing.

Yeah I observe the same thing as @andymass did. Prior to patch 8.2.0643, colors 3, 7, 8 in the vim terminal buffer does not match corresponding colors in a terminal emulator if t_Co is set to 256. Patch 8.2.0643 fixed color 3, but colors 7 and 8 are still different.
I also tried vim version 8.0.1753, and the 16 ansi colors in a vim terminal buffer matches exactly the ones in a terminal emulator when t_Co is set to 256. So I think this is a regression?

@andymass @xulongwu4 I tried that little program, too. Here are my results…
Vim < 8.2.643 and &t_Co == 256:

3 (33/43) is brownish orange
7 (37/47) is darker than expected
8 (90/100) is darker than expected

Vim < 8.2.643 and &t_Co == 16:

all three colors are as expected

Vim 8.2.643 and &t_Co == 256:

3 (33/43) is as expected
7 (37/47) is darker than expected
8 (90/100) is darker than expected

Vim 8.2.643 and &t_Co == 16:

all three colors are as expected

I suspect more hardcoding shenanigans.

pls check my last comment at #5985, i think it's not about hardcode, as my understanding: it is just about reducing the impacted from terminal/palette, per diff terminal cfg such colors would looked diff, if changed like darkyellow/3 (and yes, it did now) - some one may/would complain such later ...

It's simple, really: I, the user, should be the only one making color-related decisions.
Here is a proposal:

The default behavior is to use the user's ANSI 0-15 untouched, no matter what is the current value of &t_Co or anything. $PROGRAM in :terminal says 3m, parent terminal emulator paints with ANSI 3, end of the story.

We let the user define g:terminal_ansi_color-like override lists for each &t_Co value that matters to them:
if &t_Co == 16
let g:terminal_ansi_color = { 0, 2, 13, 4, ... }
endif
if &t_Co == 88
let g:terminal_ansi_color = { 0, 2, 13, 4, ... }
endif
if &t_Co == 256
let g:terminal_ansi_color = { 0, 2, 13, 4, ... }
endif

This should give Vim:

a simpler codebase with less special cases.

This should give users:

a default experience that makes sense,
the possibility to customise their experience according to their needs.

This should give colorscheme authors:

a default experience that makes sense,
more control over the integration of their colorscheme in more contexts.

@Shane-XB-Qian The color palette used in a vim terminal buffer is really confusing at this moment (at least for me). When t_Co set to 256 and notermguicolors, Vim version 8.0.1753 respects the 16 ANSI colors of the parent terminal emulator, while vim 8.2 (prior to patch 8.2.643) has three colors that do not come from the ANSI colors of the parent terminal emulator, and I don't see this change is documented in vim's documentation. So I expect this is an unintended change and the expected behavior should be that vim terminal buffer uses the 16 ANSI colors from the parent emulator (as stated in the help tag for g:terminal_ansi_color)?

i personally not like such patch much, i felt to 256 color: fixed color (over terminals) is more important, or someone like diff colorsheme or else -then 'true-color' (termguicolors) that should be used, and then g:terminal_ansi_color as you wish ..
anyway, up to @brammool ..

@romainl Could you reopen this? It's still not fixed, and the difference in my colors is rather annoying. @brammool said in your pull "I suppose we can never do this right for everybody," but I don't see how not changing your colors would upset people nor why it would be difficult to get those colors.
@Shane-XB-Qian I am using GNU Screen and so g:terminal_ansi_color is not an option. I've played and searched around for a couple hours, there isn't even a janky workaround for this.
Even ignoring this issue, I don't see a reason for g:terminal_ansi_colors to not work without termguicolors (though perhaps only taking 256 color numbers).

@IsaacElenbaas I think the right course of action is to open a similar issue, but with a precise description of your problem and a link to this one. From your screenshot I can see that colors 7 and 8 are messed up, which should be the focus of your issue, I think.


[Feature] TH should name all logs properly according to TEDS alias to avoid manual renaming

Feature description

All log files that can come out of TH (and Python tests) should be auto-named to have the TEDS alias so that renaming of test logs is not required.

Use Cases

Test events require TEDS aliases to be present in filenames
Doing these renames is very time consuming.

Test Cases
No response
Additional Information
No response

As discussed, while some automation is possible: TEDS is a separate tool that will not be integrated (by design) into the TH tooling.
As such, the best way is to think about means to simplify entry by providing e.g. a script that does this naming based on a one-time configuration by the user (to set the correct DUT alias, e.g.) and then uses that to provide the correct log file name: semi-automated.

Whenever I submit a log:

TEDS knows the alias
TEDS knows the test case ID (I just had to select it)
TEDS knows the type of log (I had to select it).

Given that, I should be able to upload any filename, and on submitting the TEDS result, the name should be renamed internally by TEDS before the data is written where it goes. This would remove all need to rename any files.

Just for the record, currently TH generates the execution log file name following this template: ”{test_run_execution.id}-{test_run_execution.title}.log" For example: UI_Test_Run_2024_08_21_18_53_57.log

For now, consider the TEDS part fixed by means of providing the corrected filenames to ATLs (the main recipient for the files) in the form ([TCID]_[DUTALIAS]originalfilename.originalextension). E.g. "[TC-DD-2.1][qU2d24m]_UI_Test_Run_2024_08_21_18_53_57.log". This will retain the original filename btw, but members no longer need to do an additional action here.

Hi @sander-gitl and @tcarmelveilleux I'm not sure if I quite understand the goal of this issue. At first, it seems to me that it sounds like a new feature for TEADs (According to this note: Given that, I should be able to upload any filename...) but also it seems to TH should change the way it generates the execution log file name by using this template: [TCID]_[DUTALIAS]originalfilename.originalextension.
Currently TH generates only 1 file output which contains all test cases in the test run execution and according to the given template, the Test case name (TCID) should be in the file name.
Could you please clarify to me?


Archives GitBook - October 2024

https://snet-ambassadors.gitbook.io/singularitynet-archive/timeline/2024/october-2024

Week 1
Tuesday 1st Oct

[ ] Governance Workgroup
[ ] Ambassador TH

Wednesday 2nd October

[ ] Knowledge Base WG
[ ] Archives WG
[ ] Education Guild
[ ] R&D

Thursday 3rd Oct

[ ] Onboarding Workgroup
[ ] Open GovWG
[ ] African Guild Meeting

Friday 4th October

[ ] Marketing Guild
[ ] Writers Workgrou
[ ] Video Workgroup

###Week 2
Monday 7th October

[ ] AI Ethics
[ ] Strategy Guild

Tuesday 8th October

[ ] Governance Workgroup
[ ] Global Ethics initiative - Open Offic
[ ] Ambassador TH

Wednesday 9th October

[ ] Education Guild
[ ] R&D Guild
[ ] LatAm

Thursday 10th Oct

[ ] AI Sandbox
[ ] Open GovWG
[ ] African Guild Meeting

Friday 11th Oct

[ ] Marketing Guild
[ ] Video WG
[ ] Writers Workgroup

Sat 12th Oct

[ ] Gamers Guild

Week 3
Monday 14th October

[ ] Treasury Guild Session
[ ] GitHub PB
[ ] Strategy Guild

Tuesday 15th Oct

[ ] Governance Workgroup
[ ] Ambassador TH

Wednesday 16th Oct

[ ] Education Guild
[ ] R&D Guild

Thursday 17th Oct

[ ] AI Sandbox
[ ] Onboarding Workgroup
[ ] Open GovWG
[ ] African Guild

Friday 18th Oct

[ ] Knowledge Base WG
[ ] Marketing Guild
[ ] Writers Workgroup
[ ] Video Workgroup

Week 4
Monday 21st Oct

[ ] Strategy Guild

Tuesday 22nd Oct

[ ] Governance Workgroup
[ ] Global Ethics initiative - Open Office
[ ] Ambassador TH

Wednesday 23rd Oct

[ ] Education Guild
[ ] R&D Guild

Thursday 24th Oct

[ ] Open GovWG
[ ] African Guild
[ ] LatAm

Friday 25th Oct

[ ] Marketing Guild
[ ] Writers Workgroup
[ ] Video Workgroup

Week 5
Monday 28th Oct

[ ] Treasury Automation
[ ] Strategy Guild

Tues 29th Oct

[ ] Governance WG
[ ] Ambassador TH

Weds 30th Oct

[ ] Education Guild
[ ] R&D
[ ] LatAm

Thurs 31st Oct

[ ] WG Sync
[ ] Onboarding
[ ] Open Gov
[ ] African Guild


fix: make higher chart box resizable

SUMMARY
PR with 2 parts requested in #11472 :

When chart is higher than other elements it is still possible to resize it.
Adjusted size of hovered border and markdown's edit border to match grey border of an external box.

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

Before:

After:

Before

After

TEST PLAN

Go to dashboard
Add Tab
Add a Markdown and any of charts inside tab
Resize the Markdown smaller than the chart
Try resize the chart

ADDITIONAL INFORMATION

[x] Has associated issue: #11472
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Hi @ktmud 👋  Can you take a look at screens if it's what you meant in #11472?

Codecov Report

Merging #11673 (51ebcff) into master (4d41cf9) will decrease coverage by 0.40%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11673      +/-   ##
==========================================
- Coverage   62.26%   61.85%   -0.41%
==========================================
  Files         873      423     -450
  Lines       42280    26325   -15955
  Branches     3964        0    -3964
==========================================
- Hits        26326    16284   -10042
+ Misses      15774    10041    -5733
+ Partials      180        0     -180

Flag
Coverage Δ

javascript
?

python
61.85% <ø> (-0.07%)
:arrow_down:

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

Impacted Files
Coverage Δ

superset/utils/dashboard_import_export.py
0.00% <0.00%> (-60.72%)
:arrow_down:

superset/db_engine_specs/sqlite.py
65.62% <0.00%> (-9.38%)
:arrow_down:

superset/db_engine_specs/presto.py
73.65% <0.00%> (-8.64%)
:arrow_down:

superset/models/dashboard.py
75.58% <0.00%> (-5.05%)
:arrow_down:

superset/utils/celery.py
82.14% <0.00%> (-3.58%)
:arrow_down:

superset/db_engines/hive.py
82.14% <0.00%> (-3.58%)
:arrow_down:

superset/examples/world_bank.py
97.10% <0.00%> (-2.90%)
:arrow_down:

superset/examples/birth_names.py
96.51% <0.00%> (-2.33%)
:arrow_down:

superset/result_set.py
96.69% <0.00%> (-1.66%)
:arrow_down:

superset/models/slice.py
85.39% <0.00%> (-1.41%)
:arrow_down:

... and 467 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 4d41cf9...51ebcff. Read the comment docs.


String setter not affecting inspector for tool Resource scripts

Godot version
v3.4.1.stable.official [aa1b95889]
System information
Pop_OS! v21.10
Issue description
Defining a setter for a String in a Resource tool script seems to behave strangely.
https://user-images.githubusercontent.com/43795565/154766240-e24b8bb5-0f81-43d9-9041-f03fbf8a1f86.mp4
The setter is called when typing, verified by placing a print call anywhere in the setter - even in the conditionals - and the conditional does apply when saving and reloading the Resource. However, for some reason, setting string from within the setter does nothing in the inspector as I would expect.
Steps to reproduce

Create a new script with the following code:

tool
extends Resource
class_name StringResource

export (String) var string setget _set_string

func _set_string(val : String):
	if val.length() < 10:
		string = val
                print(string)
	else:
		string = ""
                print(string) # Prints an empty string as you would expect
	property_list_changed_notify()

Create a StringResource and type in the String field.
Confirm that the setting does not properly apply to the inspector despite both conditionals functioning as intended.

Minimal reproduction project
No response

So I can confirm the users issue here.
It is because for some reason when a string is an export variable it works differently than other value types. Now my example if for Godot 4 but that is because it is currently reproduce-able for Godot 4.2.1-stable. For instance if you have an
@export var my_num: int = 0:
    set(new_val):
        if new_val > 11:
            my_num = new_val
        else:
            ny_num = 0

This will work as expected because you will not get the value as you type, but instead only after you press enter/submit the value. However this will not work,
@export var my_str: String = "":
    set(new_val):
        if new_val.length() > 2:
            my_str = new_val
        else:
            ny_str = ""

because you will only ever receive the first character, before your setter resets it back to blank. If you watch the output bottom dock of the editor you will see that strings are submitted for every character, which makes string fields mostly un-useable without some extreme work arounds. In general I have learned to avoid strings in the inspector.
I would love to see this fixed both in Godot 3 and 4 if possible.