Gets killed by brutes in bastion (hard difficulty)

Steps to Reproduce (as best as you can)
set baritone path through bastion
Expected Behavior
avoid bastions at all costs
Actual Behavior (What lead to the bot getting permanently stuck)
tries to fight two brutes head-on lmao
Crashlogs and Screenshots (if applicable)
https://github.com/MiranCZ/altoclef/assets/88767403/af84aa62-b10b-41e9-a3cc-0a4e2a858e39
(you may drag + drop text logs and images here, thanks GitHub)
Other mods (if applicable)
Discord username (if you want updates)
Developer Notes (leave this blank)
Difficulty: __
Estimated Time Required: __
Once development starts.

Yeah, thats definitely an issue. Not sure what I can do about it without editing baritones code...
I see you are playing on hardcore btw, you should try playing on easy, since mobs deal way less damage.

I will close this as not planned for now... Might reopen it in the future, but this is out of scope for now because I would probably have to go trough and edit baritones code...


Update Newtonsoft.Json 6.0.6 -> 9.0.1, and fix Mercurial package targetFramework

Looks good. As a consistency test, start from a clean repo and build, then make sure you only have one Newtonsoft version in there.

confirmed that.


WIP: Lift assumptions from extn.go

Verification can only proceed with the changes from https://github.com/scionproto/scion/pull/4308


Fix caching in background builder and add tracing to reactor queue

Title says it. The caches were being missed in many cases, and the lookup of the caches was often asynchronously disconnected from the code to update that cache.
Also add tracing to get intelligible info about the request queue via Debug.WriteLine.  This goes to the output window of Visual Studio. For example when tracing the request queue for VFPT you can start an instance of devenv.exe under another VS debugger:
 devenv /debugexe devenv.exe

However this currently requires using a debug build of FSharp.Compiler.Service

Would this potentially help with the dirty notify issues Ive mentioned before?  I have no idea of the context which might of changed when I do get the notifications they are just normal parse requests.

I know you sent some details by email, but could you enter that as an issue in this repo, with repro steps or a failing test?

I tried this build on VFPT solution and VS's memory reached 2.3GB in 20 minutes :(

@vasily-kirichenko I wasn't expecting this one to fix any specific memory problems.


Maintained

OP, will this library be updated to this and be maintained? I'd love to use this, but it doesn't seem that there's been much attention to it. The Swift 5 merge would be nice to have

Thank you for your comment! I'm working to merge #12. Please wait a few days.


Script uses IPv4 address - fails on IPv6 only server

Hi
I have a IPv6 only server.
When running the install script it tries to access github using an IPv4 address which causes the install to fail.
Please can you update with compatibility for IPv6.

I have intentionally used ipv4 for compatibility with other items.
Feel free to fork and change and PR with options or something like that.


[Doc Enhancement][Branding terms2][ADO No]

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/graph-api/rsc/resource-specific-consent.md
94
11
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit b4f0823:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/graph-api/rsc/resource-specific-consent.md
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/graph-api/rsc/resource-specific-consent.md
94
11
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
91
35
link
:white_check_mark:

msteams-platform/resources/create-messaging-extension-using-appstudio.md
81
40
link
:white_check_mark:

msteams-platform/sbs-calling-and-meeting.yml
89
45
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/graph-api/rsc/resource-specific-consent.md
94
11
link
:white_check_mark:

msteams-platform/includes/get-started/browser-private-launch.md
94
2
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
91
35
link
:white_check_mark:

msteams-platform/resources/create-messaging-extension-using-appstudio.md
81
40
link
:white_check_mark:

msteams-platform/sbs-calling-and-meeting.yml
89
45
link
:white_check_mark:

msteams-platform/sbs-gs-nodejs.yml
92
28
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/graph-api/rsc/resource-specific-consent.md
94
11
link
:white_check_mark:

msteams-platform/includes/get-started/browser-private-launch.md
94
2
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
91
35
link
:white_check_mark:

msteams-platform/resources/create-messaging-extension-using-appstudio.md
81
40
link
:white_check_mark:

msteams-platform/sbs-calling-and-meeting.yml
89
44
link
:white_check_mark:

msteams-platform/sbs-gs-nodejs.yml
92
31
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit f1a84c4:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/graph-api/rsc/resource-specific-consent.md
:white_check_mark:Succeeded
View

msteams-platform/includes/get-started/browser-private-launch.md
:white_check_mark:Succeeded

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
:white_check_mark:Succeeded
View

msteams-platform/resources/create-messaging-extension-using-appstudio.md
:white_check_mark:Succeeded
View

msteams-platform/sbs-calling-and-meeting.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-nodejs.yml
:white_check_mark:Succeeded
View

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

Docs Build status updates of commit b185b95:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
:white_check_mark:Succeeded
View

msteams-platform/graph-api/rsc/resource-specific-consent.md
:white_check_mark:Succeeded
View

msteams-platform/includes/get-started/browser-private-launch.md
:white_check_mark:Succeeded

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
:white_check_mark:Succeeded
View

msteams-platform/resources/create-messaging-extension-using-appstudio.md
:white_check_mark:Succeeded
View

msteams-platform/sbs-calling-and-meeting.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-nodejs.yml
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/bots/calls-and-meetings/calls-meetings-bots-overview.md
84
29
link
:white_check_mark:

msteams-platform/graph-api/rsc/resource-specific-consent.md
94
11
link
:white_check_mark:

msteams-platform/includes/get-started/browser-private-launch.md
94
2
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
91
35
link
:white_check_mark:

msteams-platform/resources/create-messaging-extension-using-appstudio.md
81
40
link
:white_check_mark:

msteams-platform/sbs-calling-and-meeting.yml
89
44
link
:white_check_mark:

msteams-platform/sbs-gs-nodejs.yml
92
31
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Docs Build status updates of commit b017227:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

msteams-platform/concepts/build-and-test/share-to-teams.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
:white_check_mark:Succeeded
View

msteams-platform/graph-api/rsc/resource-specific-consent.md
:white_check_mark:Succeeded
View

msteams-platform/includes/get-started/browser-private-launch.md
:white_check_mark:Succeeded

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
:white_check_mark:Succeeded
View

msteams-platform/resources/create-messaging-extension-using-appstudio.md
:white_check_mark:Succeeded
View

msteams-platform/resources/samesite-cookie-update.md
:white_check_mark:Succeeded
View

msteams-platform/sbs-calling-and-meeting.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-javascript.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-nodejs.yml
:white_check_mark:Succeeded
View

msteams-platform/sbs-gs-spfx.yml
:white_check_mark:Succeeded
View

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

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/share-to-teams.md
85
12
link
:white_check_mark:

msteams-platform/concepts/deploy-and-publish/appsource/prepare/teams-store-validation-guidelines.md
92
70
link
:white_check_mark:

msteams-platform/graph-api/rsc/resource-specific-consent.md
94
11
link
:white_check_mark:

msteams-platform/includes/get-started/browser-private-launch.md
94
2
link
:white_check_mark:

msteams-platform/m365-apps/extend-m365-teams-message-extension.md
91
35
link
:white_check_mark:

msteams-platform/resources/create-messaging-extension-using-appstudio.md
81
40
link
:white_check_mark:

msteams-platform/resources/samesite-cookie-update.md
88
15
link
:white_check_mark:

msteams-platform/sbs-calling-and-meeting.yml
89
44
link
:white_check_mark:

msteams-platform/sbs-gs-javascript.yml
93
83
link
:white_check_mark:

msteams-platform/sbs-gs-nodejs.yml
92
33
link
:white_check_mark:

msteams-platform/sbs-gs-spfx.yml
95
28
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.


[WIP][BEAM-10486] Fix splitting logic to not return the wrong range after a failed try claim attempt.

This mirrors the logic within Java's OffsetRangeTracker implementation except for the subtraction overflow handling.
I tried fixing one thing but ran into these other cascading issues:

Update RestrictionProgress to support values which aren't fractions.
Fix periodicsequence to use integer values for the OffsetRange.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
Post-Commit Tests Status (on master branch)

Lang
SDK
Dataflow
Flink
Samza
Spark
Twister2

Go

---

---

---

Java

Python

---

---

XLang

---

---

---

Pre-Commit Tests Status (on master branch)

---
Java
Python
Go
Website

Non-portable

Portable
---

---
---

See .test-infra/jenkins/README for trigger phrase, status and link of all Jenkins jobs.

while experimenting with periodic sequence generator earlier today
i realized that the direct runner kept calling @process although i had correctly set the defer_remainder
it does compute the restriction correctly and the checkpoint is correct however is there some way to test this explicitly?


storage: rename configuration field

This pr tries to make the storage's configuration field names be consistent with toml.

LGTM


Enable explore by default

Enable explore by default in ambari configuration.
Related PR in CDAP repo:
https://github.com/caskdata/cdap/pull/4859

We should make Hive a dependency, also. That's done in metainfo.xml at the root of the project.

:+1: LGTM


Update README.md

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
updates a grammar issue in the readme file

Why was this change needed? (You can also link to an open issue here)

just correcting grammar

Other information:

@holopin-bot @siddwarr


change the PingAsync logic

resolve if can't connect to clam av server ,
PingAsync will throw a  exception,it should be return false.
Signed-off-by: DHclly<EMAIL_ADDRESS>

Hello and thanks for the contribution, it's really appreciated!  There are many users of this package and I've done my best to avoid breaking changes to the existing API.  Users could depend on this to throw in some cases, so I think we should keep this method as-is and create a new method called TryPingAsync, which adds the try/catch logic.  Or you can just wrap your call to PingAsync in a try/catch.

Thank you for your reply , I add the method TryPingAsync and add some tip at method PingAsync

Thanks @DHclly I will incorporate this into the next release shortly.

@tekmaven When will this be merged? The exception throwing behavior of TryAsync is far from ideal and makes for very verbose and sometimes nested try/catch blocks


Update to Symbol from 3LechesCake to TresLeches to be in compliance with Phatom.

I agree to not ping anybody on Discord/Twitter/email about this pull request. Instead I will inquire by posting a new comment in the pull request if needed.

PRs are reviewed in bulk and and can take up to two weeks to be merged.
This repository is managed using an auto merge action. Please ensure your PR has no deleted lines, and it will be merged.
Please provide the following information for your token.
Please include change to the src/tokens/solana.tokenlist.json file in the PR.
DON'T modify any other token on the list.
At minimum each entry should have

Token Address:
Token Name:
Token Symbol:
Logo: (logo should be uploaded under assets/mainnet//*.<png/svg>)
Link to the official homepage of token:
Coingecko ID if available (https://www.coingecko.com/api/documentations/v3#/coins/get_coins__id_):

Update to Symbol requested, noticed a limitation on Phantom with the Max Symbol Count. Please update pull request to perform changes. Thanks.


chore: automates coraza upgrade

Adds dependabot to automate coraza upgrade. This helps to automate dependency update as discussed in the monthly meeting https://github.com/corazawaf/coraza/issues/814 at https://owasp.slack.com/archives/C02BXH135AT/p1687956451711449

Given the trend where we better use renovatebot this is probably not going to be merged.


Add tests for ArcsJs declassification via user action

Needed for https://github.com/google-research/raksha/issues/683

Added in #706


Add helper to simplify checkpointing

Now that we no longer do any implicit checkpointing, we should make it tolerably easy to make explicit ones. I think the simplest solution would be to have some sort of --info mode where you can parse a pipeline and get information about it, such as its tree ids. Then callers could first extract these, and then checkpoint the ones we want.
The typical use-cases I see are to checkpoint the build tree, the result of the dnf/rpm stage, and for rpmostree support: the final stage.

Let me start bike-shedding by saying it could be --dry-run as well.

Let me start bike-shedding by saying it could be --dry-run as well.

Let me ruin your bike-shed by replying: "sounds good to me".
Let me ruin your bike-shed by replying: "sounds good to me".
Also makes sense as we could verify the schemas in the future.

I do like --dry-run esp. in combination with the mandatory validation. In some other issue I was also contemplating of having more user-friendly sub-commands, ostree store list, ostree store garbage-collect, and the one sub-command that prints the pipeline information, including what stage has an object already in the store.

Since I needed this regularly myself I created a simple osbuild-manifest tool that has a osbuild-manifest info <manifest> sub-command that for now just prints:
build:
  stages:
    org.osbuild.rpm: 	5f765969c08c5dd5c8c70be51aea247f0e6e751385d10469d87787d3315806d7
stages:
  org.osbuild.rpm: 	e7e3d2881c277243b481254732d1f98bcd723899bcd6945971aa3fcfb7aecbbf
  org.osbuild.locale: 	e8a20ecb5bafa080eef616bbfbd21898693820ed28b806f2a786d64faab3bede
  org.osbuild.fstab: 	895f90b59c61d8117d38792cd5c28e14eeb1436830b20894f4daff165a13b146
  org.osbuild.grub2: 	63bec4d5e48e30ba4118b6ddbb0967147080504b7584fa9b2faf46a89b912f46
  org.osbuild.selinux: 	fabe0bb294f870c8bddd7baeb1d174d376e8d9ea1425d16664844b06a95c8aa3
  org.osbuild.fix-bls: 	0719e46fd3d262fd5135f9244605ae17be12a877266e4d323b37c3621c87bad5
assembler:
  org.osbuild.qemu: 	4fef8aaadb9ea1cd4605e647fb896ed1c16cf3977f9fb5f9dc1525a3d19766ca

That made me realize that --dry-run would have slightly different behaviour:

would actually do i/o and query the store
not print stages that are already built, because they would be skipped

The easiest to implement the --dry-run would be in Stage.run and Assembler.run but that would need an initialized store and create temporary, albeit always empty directories corresponding to the objectstore.Objects, unless we create a mock ObjectStore that does nothing but that changes the behaviour of --dry-run because it would not could not skip existing stages.

I think the osbuild-manifest tool would be sufficient for my needs. All I really care about is getting the IDs. If that could output JSON I could use that from osbuild-worker.

I think the osbuild-manifest tool would be sufficient for my needs. All I really care about is getting the IDs. If that could output JSON I could use that from osbuild-worker.

I will clean that script up add JSON support and file a PR!

Great! Thanks!

Meanwhile osbuild gained --inspect and --checkpoint supports names of pipelines. Closing this.


Ubuntu 16.04 Compatibility & Test

Has anyone have tried to deploy on Ubuntu 16.04 with guide for uWSGI and nginx, since Ubuntu 15.10 is not longer supported as LTS version.

16.04 works with no issues.


Enhancement: Add a CLI

We should consider adding a CLI that will allow users to quickly scaffold a project with a default folder / file structure, readme, tooling etc.
A good example is the NestJS CLI.
I'd like to discuss this proposal in this issue.

poetry new is the first example that stands out to me. They have cleo.

We should consider adding a CLI that will allow users to quickly scaffold a project with a default folder / file structure, readme, tooling etc.

I think it is a great idea in context of Starlite project.

A good example is the NestJS CLI.

I really like the one that Vue 3 has: https://vuejs.org/guide/quick-start.html#local. Very powerful yet approachable.

Ok. So, let's talk about structure-
Given that you probably want to install a CLI as as a global executable outside your project, I think it might be a good idea to separate it out into its own package and publish it separately. I know sometimes the CLi is a part of the app, but I think here it's going to be an issue - the CLI should be independent from the starlite version IMO.
We should consider whether we want to split it to a different repo, or simply a folder in this repo.
Pros of different repo:

Separation of concerns
No shared dev dependencies
Simpler release process
No need for a monorepo or similar construct

Cons:

A separate code base might make it harder to contribute, e.g. issues etc.
Stars are spread across repos.
No code sharing is possible (no biggy on this case)

Is there anything similar to npm init in Python world? Maybe just cookiecutter?

What about using cookiecutter together with clap?
So you could create a separate repo for the template but still integrate the cli into the "main" repo while using cookiecutter as a base.

I'm open to this idea. I have no experience working with these tools tbh.

Alright I could do a proposal. In general do you care about dependencies in this project?
For example is it a problem for using Clap instead of the default arg-parser?

Would it also mean cookiecutter was a dependency of the standard install?

It will be an extra dependency I assume, so it shouldnt be a problem.

What would be a good project-structure?
I think something like this:
src                           # project root
├── admin-cli.py
├── main.py
├── /config           # project configuration
│      ├── /settings
│      │     ├── base.py   # project settings
│      │     ├── local.py   # local settings
│      │     ├── prod.py   # production settings
├── /my_app
│      ├── controller.py
│      ├── model.py
│      ├── /tests

Easiest would be to include the folderstructure as some template, or have it in a zip.
The files itself could contain {{variables}} , which can be replaced using jinja2.

What would be a good project-structure? I think something like this:
src                           # project root
├── admin-cli.py
├── main.py
├── /config           # project configuration
│      ├── base.py   # project settings
│      ├── local.py   # local settings
│      ├── prod.py   # production settings
├── /my_app
│      ├── controller.py
│      ├── model.py
│      ├── /tests

Easiest would be to include the folderstructure as some template, or have it in a zip. The files itself could contain {{variables}} , which can be replaced using jinja2.

cookie-cutter is a good option for generation.
As for the structure - I think @cofin and @peterschutt have some opinions there.

cookie-cutter is a good option for generation.

cookie-cutter is nice, but then it can only do one thing: build a project-structure.
Cookie-cutter does more or less the same: take a template folderstructure, and search/replace with Jinja, and copy it to some destination.
When I read cli,  I think of a command-line application that could be extended with new commands as well.
For example, in Django there are about 20 commands (startproject, startapp, clear_cache, create_superuser,... ), and each module can easily add new ones. (Such a cli could even call cookiecutter in the background if you really want to use that )

Cookiecutter can also run pre and post-generation callbacks but it would probably be best to call cookiecutter instead of having it do the calling

I dont have a strong opinion one way or the other - whatever works best.

Assigning this to myself

Ok, so for the CLI we need to flush out some requirements before we proceed. I will be closing this issue and create a discussion instead.

Reopening this because of popular demand

Todo

[x] Basic CLI framework
[ ] CLI commands

[x] Running an application
[x] Application autodiscovery
[x] Routing table overview
[ ] Scaffold new application / project

[ ] Project template (cookiecutter) including feature selection / configuration for:

Plugins (ORM integrations)
Logging
Caching
Sessions
Middlewares
Templates
Static files

[x] Utils to register commands dynamically

After experimenting with the CLI, and trying it out as a separate package I've come to the conclusion that it's not necessary or desirable for the following reasons:
Publishing it as a standalone package means that it should not have a hard dependency on Starlite. This also means
that every code that interacts with Starlite needs to be imported within the commands that use it, leading to quite a bit
of messy code. You can see this here
This decoupling also means that there's effectively only one command that's going to be usable when invoked outside of an already existing Starlite project: The command to create a new Starlite project.
Since there is only one command that doesn't depend on a Starlite installation (i.e. doesn't interact with an application instance) I think moving forward it makes most sense to publish a separate utility for this command. It really is its own thing and has, neither conceptually, code or usage wise, anything to do with the rest of the CLI. I propose we create a create-starlite-app package, that can simply be run e.g. with pipx run create-starlite-app and include the CLI parts that interact with an existing application with the regular starlite package.
This approach also means less dependencies required for each package (the only dependency they'd have in common would be click), which is always a nice thing and we could potentially include the CLI by default instead of an extra.


deepspeed  call init_process_group error on qwen/bloom models

Hello,
I'm trying to reproduce benchmark inference of qwen or blooms models using deepspeed. But I'm getting following error
stacktrace:
[PROC-0][2024-03-05 11:09:09,415][experiment][ERROR] - Error during backend allocation: Default process group has not been initialized, please make sure to call init_process_group.
[2024-03-05 11:09:10,426][experiment][ERROR] - Error during experiment launching:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/workspace/.env/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 68, in _wrap
    fn(i, *args)
  File "/workspace/optimum-benchmark/optimum_benchmark/launchers/process/launcher.py", line 58, in entrypoint
    worker_output = worker(*worker_args)
  File "/workspace/optimum-benchmark/optimum_benchmark/experiment.py", line 64, in run
    raise e
  File "/workspace/optimum-benchmark/optimum_benchmark/experiment.py", line 61, in run
    backend: Backend = backend_factory(backend_config)
  File "/workspace/optimum-benchmark/optimum_benchmark/backends/pytorch/backend.py", line 77, in __init__
    self.load_model_with_no_weights()
  File "/workspace/optimum-benchmark/optimum_benchmark/backends/pytorch/backend.py", line 233, in load_model_with_no_weights
    self.load_model_from_pretrained()
  File "/workspace/optimum-benchmark/optimum_benchmark/backends/pytorch/backend.py", line 166, in load_model_from_pretrained
    torch.distributed.barrier()  # better safe than hanging
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/c10d_logger.py", line 72, in wrapper
    return func(*args, **kwargs)
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 3428, in barrier
    opts.device = _get_pg_default_device(group)
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 644, in _get_pg_default_device
    group = group or _get_default_group()
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 977, in _get_default_group
    raise ValueError(
ValueError: Default process group has not been initialized, please make sure to call init_process_group.

Error executing job with overrides: []
Traceback (most recent call last):
  File "/workspace/optimum-benchmark/optimum_benchmark/cli.py", line 63, in benchmark_cli
    benchmark_report: BenchmarkReport = launch(experiment_config=experiment_config)
  File "/workspace/optimum-benchmark/optimum_benchmark/experiment.py", line 141, in launch
    raise e
  File "/workspace/optimum-benchmark/optimum_benchmark/experiment.py", line 136, in launch
    output = launcher.launch(run, benchmark_config, backend_config)
  File "/workspace/optimum-benchmark/optimum_benchmark/launchers/process/launcher.py", line 42, in launch
    while not process_context.join():
  File "/workspace/.env/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 158, in join
    raise ProcessRaisedException(msg, error_index, failed_process.pid)
torch.multiprocessing.spawn.ProcessRaisedException:

-- Process 0 terminated with the following error:
Traceback (most recent call last):
  File "/workspace/.env/lib/python3.10/site-packages/torch/multiprocessing/spawn.py", line 68, in _wrap
    fn(i, *args)
  File "/workspace/optimum-benchmark/optimum_benchmark/launchers/process/launcher.py", line 58, in entrypoint
    worker_output = worker(*worker_args)
  File "/workspace/optimum-benchmark/optimum_benchmark/experiment.py", line 64, in run
    raise e
  File "/workspace/optimum-benchmark/optimum_benchmark/experiment.py", line 61, in run
    backend: Backend = backend_factory(backend_config)
  File "/workspace/optimum-benchmark/optimum_benchmark/backends/pytorch/backend.py", line 77, in __init__
    self.load_model_with_no_weights()
  File "/workspace/optimum-benchmark/optimum_benchmark/backends/pytorch/backend.py", line 233, in load_model_with_no_weights
    self.load_model_from_pretrained()
  File "/workspace/optimum-benchmark/optimum_benchmark/backends/pytorch/backend.py", line 166, in load_model_from_pretrained
    torch.distributed.barrier()  # better safe than hanging
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/c10d_logger.py", line 72, in wrapper
    return func(*args, **kwargs)
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 3428, in barrier
    opts.device = _get_pg_default_device(group)
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 644, in _get_pg_default_device
    group = group or _get_default_group()
  File "/workspace/.env/lib/python3.10/site-packages/torch/distributed/distributed_c10d.py", line 977, in _get_default_group
    raise ValueError(
ValueError: Default process group has not been initialized, please make sure to call init_process_group.

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Config:
defaults:
  - backend: pytorch # default backend
  - launcher: process # default launcher
  - benchmark: inference # default benchmark
  - experiment # inheriting experiment schema
  - _self_ # for hydra 1.1 compatibility
  - override hydra/job_logging: colorlog # colorful logging
  - override hydra/hydra_logging: colorlog # colorful logging

experiment_name: test

backend:
  device: cuda
  device_ids: 0
  no_weights: true
  model: Qwen/Qwen1.5-4B-Chat
  deepspeed_inference: true

launcher:
  device_isolation: true

benchmark:
  input_shapes:
    batch_size: 1
    sequence_length: 256
  new_tokens: 1000

# hydra/cli specific settings
hydra:
  run:
    # where to store run results
    dir: runs/${experiment_name}
  sweep:
    # where to store sweep results
    dir: sweeps/${experiment_name}
  job:
    # change working directory to the run directory
    chdir: true
    env_set:
      # set environment variable OVERRIDE_BENCHMARKS to 1
      # to not skip benchmarks that have been run before
      OVERRIDE_BENCHMARKS: 1

rtx2080, cuda12

@pfk-beta deepspeed-inference is a distributed inference framework, it should be used with torchrun launcher


Fix broken С paths upload

Before: https://travis-ci.org/postgis/postgis/builds/348234119#L3566
After: https://travis-ci.org/postgis/postgis/builds/348433428#L5373
fixes upload of files of the same name in different pathes

The -exec  is there for changing gcov command to gcov5  for example.

We will need to add a separate -execdir with a new argument.

@stevepeak I'm sorry?
-exec is the same as -execdir, just performing cd; to the correct directory before performing a gcov run.


Adds gid and uid option to file, pass through to archiver.

A new option on the file object which will set the uid and gid for the archived file.

Forgot to add documentation


Use az devops CLI to run a release pipeline with specific build

It appears that to be able to run a AZ release pipeline with a specific build, we need to be using "--artifact-metadata-list" CLI parameter. However, its usage seems unclear even after looking thru several issues related to that topic (see referenced list below). If I just kick off the release with
az pipelines release create --definition-id YY --description "Desc" --open
it does the right thing of picking the latest build (which happens to be 20210421_3_237993) and I get the following json output (showing only the 'artifacts' node')
"artifacts": [
    {
      "alias": "Build",
      "definitionReference": {
        "branch": {
          "id": "BranchNameXXX",
          "name": "BranchNameXXX"
        },
        "branchFilters": {
          "id": "",
          "name": ""
        },
        "connection": {
          "id": "97f20a89-8878-400d-bf97-4a69d6297fbb",
          "name": "CloudVault API - CDPXOfficialBuilds"
        },
        "definition": {
          "id": "020bcc5a-c987-4129-bd6c-e5183ab79a44",
          "name": "020bcc5a-c987-4129-bd6c-e5183ab79a44"
        },
        "localMetadata": {
          "id": "",
          "name": ""
        },
        "supportForBranchVersionPickerEnabled": {
          "id": "true",
          "name": "true"
        },
        "version": {
          "id": "3fa75c15-7444-4e28-b562-a2852887e1b5",
          "name": "20210421_3_237993 (BranchNameXXX)"
        }
      },
      "isPrimary": true,
      "isRetained": false,
      "sourceId": "97f20a89-8878-400d-bf97-4a69d6297fbb:020bcc5a-c987-4129-bd6c-e5183ab79a44",
      "type": "CloudVaultArtifacts-v3"
    }
  ],

However, if i want to target the specific build verion 20210421_3_237993 (say it was a build in past) created using a build definition id NNN on release id YY (which has name ZZZ) and I use the commands, it does not pick up that build:
az pipelines release create --definition-id YY --description "Desc" --open --artifact-metadata-list "Build=237993"
az pipelines release create --definition-id YY --description "Desc" --open --artifact-metadata-list "Build=3fa75c15-7444-4e28-b562-a2852887e1b5"

What am I missing?
References:

https://github.com/Azure/azure-cli-extensions/issues/1632
https://github.com/Azure/azure-devops-cli-extension/issues/872

@gauravsaralMs Is this being prioritized? We encountered the same problem.

@gauravsaralMs @roshan-sy
This is still an issue. it will set the version id correctly but does not fill out the name field.
version:   @{id=fad74c4c22b634f5d41f49ccaf0475bfc136138e; name=})
I tried to use "alias=version_id" "alias.name=short_version_id" to get the expected result of
version:   @{id=fad74c4c22b634f5d41f49ccaf0475bfc136138e; name=fad74c4c}).
it appears this feature expects it to be an artifact from a build pipeline only and not any other artifact type.


Security issue. Public Connectionstring

The connection string is public. Security issue.

Fix on the way

authentication server running at google cloud. soon implementation

Fixed with authentication server


Self observable not getting fired

Hi,
There are two kind of scenarios where my self observable is not getting fired.

If I have two entities A and B with ManyToOne relationship from A to B and I keep a self observable on a query which fetches all the rows of A and I update some particular column of B using data.update() call, then the self observable is not getting fired. If I upsert some row in B, then the self observable is fired.

If I have two entities A and B with either OneToMany or ManyToMany relationship from A to B, and I insert some row in B, then the self observable which is on a query which fetches all the rows of A, is not getting fired.

In both cases, result of the query fetching all the rows of A would be updated, and hence I believe self observable should get fired

Oh so I got it. It was because of the WeakEntityCache. I think it's not getting invalidated whenever a single row is updated in a table. Is this the expected behaviour?

This is the current intended behavior as only changes against the Entities table will trigger a change event (relations aren't counted). I understand this could be desirable though

how about joins? it seems, even when the query explicitly contains.leftJoin(B), it won't trigger change event when B entities are updated.


Tabular task

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.


Authorization type saml2

Hi,
is RDMO's api compatible with an authorization using an identity provider via saml2?

I don't think so, we can do Shibboleth as documented here: https://rdmo.readthedocs.io/en/latest/configuration/authentication/shibboleth.html.
@MyPyDavid has a setup running with Keycloak, maybe that helps.

Hi,
I think that the current Shibboleth implementation (from https://rdmo.readthedocs.io/en/latest/configuration/authentication/shibboleth.html) intercepts the requests, to api/v1/projects/...  for example, because of:
<LocationMatch /(account|domain|options|projects|questions|tasks|conditions|views)>

The /api/v1/core/settings/ should be still reachable...
Another implementation of shibboleth could also solve this issue @jochenklar

@MyPyDavid : Hi, which protocol did you use for keycloak? saml or OpenID Connect?

I have added keycloak with OpenID Connect to RDMO. In the last Community Meeting I did a presentation about this: https://www.forschungsdaten.org/index.php/Datei:2023-03-29_RDMO-Community-Treffen_Local-AAI-Keycloak_DavidWallace.pdf

this may soon also be helpful for this issue: https://github.com/pennersr/django-allauth/pull/3340

Thanks for the input, David!

Thanks again, David!


Please restore the Run Test and Debug Test buttons on the test file

Could you guys restore the buttons for this extension, it existed on the earlier versions. Maybe this is some kind bug that have slipped into production. I doubt removing such useful feature could considered to be some kind of progress?

This UI is controlled by VS Code. Moving this there.
/cc @connor4312

Fyi this is now accessible by clicking the buttons in the gutter


iOS - Celebratory Modal for course section completion

Description
LEARNER-7747
In this PR i implemented celebratory modal which appear after completion of first course section, through this modal we can share course with given options like facebook, twitter, linkedin and email.
How to test this PR

After completing any section of course the celebration modal will appear.
The modal will appear once in any course.
The course can be share from modal with native sharing functionality

@mumer92 You can look into the PR for another pass, i have fixed the things.

@mumer92 I have fixed the comments

@saeedbashir I have fixed the comment Please take a look.

@saeedbashir I have fixed comments.

@saeedbashir I have fixed the video play and pause issue. PR is ready for testing. Hope things would work great!

@saeedbashir PR is ready for another pass.


NXP Sabre_iMX6SX_1GB board support added.

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

If the board is ready, you can add a continuous integration target to https://github.com/ms-iot/imx-iotcore/blob/9e82401a927cdb396c43d892b8e74106f0ebb953/ci/azure-pipelines.yml#L137 .


fix(nami): [lw-11981] remove preloader for nami migration

Checklist

[x] JIRA - LW-11981
[ ] Proper tests implemented
[ ] Screenshots added.

Proposed solution
Remove preloader component manually during the nami migration flow.
Testing
Describe here, how the new implementation can be tested.
Provide link or briefly describe User Acceptance Criteria/Tests that need to be met
Screenshots
Attach screenshots here if implementation involves some UI changes

Allure Report
allure-report-publisher generated test report!

processReports: ✅ test report for fcb49b7b

passed
failed
skipped
flaky
total
result

Total
33
0
4
0
37
✅


Introduce turbo:frame-missing event

Closes hotwired/turbo#432
Follow-up to hotwired/turbo#94
Follow-up to hotwired/turbo#31
When a response from within a frame is missing a matching frame, fire
the turbo:frame-missing event.
There is an existing contract that dictates a request from within a
frame stays within a frame.
However, if an application is interested in reacting to a response
without a frame, dispatch a turbo:frame-missing event. The event's
target is the FrameElement, and the detail contains the response
instance under the fetchResponse: key.
Event listeners for turbo:frame-missing can invoke call
event.preventDefault(), then call Turbo.visit(event.detail.fetchResponse).
The call to Turbo.visit(fetchResponse) also
accepts Partial<VisitOptions> as an optional argument:
addEventListener("turbo:frame-missing", (event) => {
  const { target, detail: { fetchResponse } } = event
  // the details of `shouldRedirectOnMissingFrame(element: FrameElement, fetchResponse: FetchResponse)`
  // are up to the application to decide
  if (shouldRedirectOnMissingFrame(target, fetchResponse)) {
    event.preventDefault()
    Turbo.visit(event.detail.fetchResponse)
  }
})

The event listener is also a good opportunity to change the
<turbo-frame> element itself to prevent future missing responses.
For example, if the reason the frame is missing is access (an expired
session, for example), the call to Turbo.visit() can be made with { action: "replace" } to remove the current page from Turbo's page history.
Similarly, if the reason for the missing frame is particular to the page
referenced by the element's [src] attribute, this is an opportunity to
change that attribute (calling event.target.removeAttribute("src"),
for example) before navigating away so that re-visiting the page by
navigating backward in the Browser's history doesn't automatically load
the frame and re-trigger another turbo:frame-missing event.
Treat response turbo-frame[disabled] as missing
When a response body has a turbo-frame element with an [id] that
matches the requesting frame, ignore it if it's [disabled].

In the above example, does Turbo.visit(url, { response }) update the page/url with the existing response or generate another server request?

@tleish if there's a response key in the Partial<VisitOptions> passed to the visit call, the HTTP request is "simulated" by the Visit, and does not result in an additional call:
https://github.com/hotwired/turbo/blob/v7.1.0-rc.1/src/core/drive/visit.ts#L171-L173
As part of this draft, I'm investigating ways to more easily transform the FetchResponse into Turbo.visit arguments so that client applications don't need to deconstruct them themselves.

there's a response key in the Partial<VisitOptions> passed to the visit call, the HTTP request is "simulated" by the Visit, and does not result in an additional call:

A good solution.  It would be even better if a developer didn't have to recreate response object.  Something like:
addEventListener("turbo:frame-missing", async ({ target, detail: { fetchResponse } }) => {
  // the details of `shouldRedirectOnMissingFrame(element: FrameElement)`
  // are up to the application to decide
  if (shouldRedirectOnMissingFrame(target)) {
    Turbo.visit(fetchResponse.location, { response: fetchResponse })
  }
})

Learned something new, thanks!

Working beautifully for the most part. But I think I'm running into a bug? I'm using the exact code sample suggested:
addEventListener("turbo:frame-missing", async ({ target, detail: { fetchResponse } }) => {
    const { location, redirected, statusCode, responseHTML } = fetchResponse
    const response = { redirected, statusCode, responseHTML: await responseHTML }

    Turbo.visit(location, { response })
})

The first time this event is triggered by a form submission, it works great – the whole page is replaced with the new HTML. But if I repeat the submission a second time, it breaks. Turbo seems to revert to a cached snapshot of the whole page, and never completes the visit ([aria-busy=true] and [data-turbo-preview] attributes remain on body). Not sure if that's enough info for a reproduction?

I'll investigate that.
I'm not sure if it's related, but it's also worth mentioning that if you're using turbo-rails, you'll have to manually override the controller to render a layout so that the response is a fully formed HTML document.

you'll have to manually override the controller to render a layout so that the response is a fully formed HTML document

Assuming 'frame-missing' still logs a message to the console, should Turbo.visit also log a message of "responseHTML  not a fully formed HTML document"?

@tobyzerner - this might be unrelated to these changes as I think I stumbled across a similar issue on 7.0.1.

Visit page with turbo-frame (first time) via redirect and the frame loads src.
Leave page and update data which impacts turbo-frame
Return to page via redirect with the turbo-frame, old data is still displayed in the turbo-frame
Hard refresh of the page shows the updated data.

What I observed is that turbo renders the page and fetches the turbo-frame source.  Inspecting the fetch request I can see in includes a full HTML document with the expected updates and the correct turbo-frame.  It just does not update the turbo-frame.
Adding <meta name="turbo-cache-control" content="no-cache"> to this particular page resolves the issue, but unless I'm misunderstanding turbo caching, adding <meta name="turbo-cache-control" content="no-cache"> to every page with a turbo-frame shouldn't be a permanent solution.
If needed, I can file a separate issue.

Turns out this has nothing to do with turbo-frames, but overall turbo-caching and server redirects.
Created issue https://github.com/hotwired/turbo/issues/447

@tleish I've extended the turbo:frame-missing to yield a callable visit() function that knows how to transform the FetchResponse into a visit. Callers can pass additional VisitOptions like action: to the function.

Will this be in the next release?

I'm not sure when the next release will be. I've marked this as a Draft PR to try and start up a discussion.
I think there might be some details to work out:

Is turbo:frame-missing a good name? Should it be named turbo:frame-not-found, :frame-error, or something else?
Does dispatching a reference to the FetchResponse make sense? It'd effectively make the shape of FetchResponse objects public API, and would represent a commitment to support that API in future releases
Does treating turbo-frame[id][disabled] in the body as a "missing" frame deserve its own conversation or PR?

I'm a fan of frame-missing as it explicitly describes the issue (and less typing than frame-not-found) while frame-error implies some internal issue with displaying it.
Can't speak for point 2.
For the last point I think that's better saved for a separate PR/convo

Is turbo:frame-missing a good name? Should it be named turbo:frame-not-found, :frame-error, or something else?

turbo:frame-not-found does seem a familiar concept with 404 not found

Does dispatching a reference to the FetchResponse make sense? It'd effectively make the shape of FetchResponse objects public API, and would represent a commitment to support that API in future releases

Always a tradeoff

Does treating turbo-frame[id][disabled] in the body as a "missing" frame deserve its own conversation or PR?

If you can add a disabled attribute to a turbo-frame in order for it to be ignored, could you not also just not render it in the first place of a turbo-frame request?

If you can add a disabled attribute to a turbo-frame in order for it to be ignored, could you not also just not render it in the first place of a turbo-frame request?

The desire to render the [disabled] attribute server side comes from https://github.com/hotwired/turbo/issues/257#issuecomment-968451458.  It's a mechanism to "break out" from the server while still server-generating the HTML.
The pattern there is that the frame is rendered (with server-generated attributes and contents) and sent to the client. If the request is made from a frame, you could toggle the [disabled] attribute and force a turbo:frame-missing (or turbo:frame-not-found) on the client side. If it isn't a frame request, the <turbo-frame> element (along with the server-generated attributes and contents) is sent to the client's full-page request. Then the client has an opportunity to "enable" the frame by removing the [disabled] attribute through JS.

<turbo-frame id="my_frame" data-controller="auto-enable" disabled></turbo-frame>

The desire to render the [disabled] attribute server side comes from #257 (comment). It's a mechanism to "break out" from the server while still server-generating the HTML.

Ah, that's right.
If the disabled behavior is of concern, a slight alternative to the above suggestion would be something like:

<turbo-frame data-controller="auto-id" data-id="my_frame">

My server-generated frame and its contents

</turbo-frame>

So frame-missing will be best practice for dealing iwth error responses from frames? Somebody asked how to do this on the forums https://discuss.hotwired.dev/t/error-handling-best-practices-patterns/3538 but as far as I know we will have to use this frame-missing event, right?

I think this PR will be a great stepping store for something more specific to errors in frames. I would love to see rails-turbo default to showing nice error pages with a turbo_frame returns 4xx responses. I our project, we actually currently catch errors in turbo controllers and render the rails error page:
<%= turbo_frame_tag model do %>
  <%= ActionDispatch::DebugExceptions.new(Rails.application).send(:render_exception, request, error)[2][0] %>
<% end %>

It's a hacky solution - but it's just so much nicer to display the error pages in development rather than just getting an error in the javascript console (who really notices those anyway? ;-) )
Looking forward for this PR to be merged so we can implement a less hacky solution though.

@mollerhoj That makes a lot of sense in development, and might be a good improvement to make to turbo-rails (maybe behind a configuration flag).
Behavior like that isn't baked into turbo itself because transforming a failed Frame request for a portion of the page into page-wide error undercuts the value proposition of Frames that enables decomposing a page into chunks of asynchronously fetchable fragments.
For example, 500'ing the entire page because a lazily loaded menu's contents failed to load feels like an overreaction.

I agree. The current behaviour is very sensible in production - but in development we wanna catch this stuff!

This will be super helpful for the use case of redirecting to a login page if a frame ties to load and the user session has expired for example -- and even better because it will encourage proper status codes when redirecting (e.g. using a 401 in an authorization-check redirect instead of default 3xx).

If you can add a disabled attribute to a turbo-frame in order for it to be ignored, could you not also just not render it in the first place of a turbo-frame request?

The desire to render the [disabled] attribute server side comes from #257 (comment). It's a mechanism to "break out" from the server while still server-generating the HTML.
The pattern there is that the frame is rendered (with server-generated attributes and contents) and sent to the client. If the request is made from a frame, you could toggle the [disabled] attribute and force a turbo:frame-missing (or turbo:frame-not-found) on the client side. If it isn't a frame request, the <turbo-frame> element (along with the server-generated attributes and contents) is sent to the client's full-page request. Then the client has an opportunity to "enable" the frame by removing the [disabled] attribute through JS.

<turbo-frame id="my_frame" data-controller="auto-enable" disabled>

My server-generated frame and its contents

</turbo-frame>

Hi! I am trying to use this workaround but how do I add a "disabled" attribute to turbo_frame_tag? I tried html: { disabled: true } and disabled: true but they do not work. Thanks!

Adding disabled: true to the Rails helper should render the element with the attribute.
It's worth noting that if you're using that pseudo code example, the auto-enable controller would remove the attribute during the controllers connect() lifecycle.
If you inspect the HTML respond payload, is the event rendered with the attribute?

Adding disabled: true to the Rails helper should render the element with the attribute.
It's worth noting that if you're using that pseudo code example, the auto-enable controller would remove the attribute during the controllers connect() lifecycle.
If you inspect the HTML respond payload, is the event rendered with the attribute?

I will try again, that is likely the reason why the attribute wasn't there. I didn't see it in the HTML either.
In the meantime I found another workaround. Instead of using a turbo_frame_tag, I do a normal redirect on success and I render a turbo stream template on failure which replaces the form. Seems to work fine.

Hey guys, any updates ?

This will be super helpful for the use case of redirecting to a login page if a frame tries to load and the user session has expired for example -- and even better because it will encourage proper status codes when redirecting (e.g. using a 401 in an authorization-check redirect instead of default 3xx).

I arrived here from the thread in https://github.com/hotwired/turbo/issues/257 and am looking a solution to the exact use case mentioned above and am wondering if there are plans for this event to be added to Turbo Frames (or if another solution is in the works)

Could this be a good candidate for inclusion in 7.2.0?
An alternative could be to combine the PR in https://github.com/hotwired/turbo/pull/560 introducing turbo:error with a change that returns a structured Error when a frame is missing instead of just an error message. This would at least allow developers to handle the missing frames, albeit not as elegant as this PR.

this should be merged.
I used this on production for long time, without any issues.

I've opened https://github.com/hotwired/turbo-rails/pull/367 to explore an alternative for "breaking out" of a frame from the server.
As far as what happens when a frame is missing, that seems to be an ongoing discussion.

Would be good to follow up with a doc PR explaining the new event and its power to prevent the default visiting fallback behavior.


proposal: add prop_add_list() to enable adding multiple text properties per call

Is your feature request about something that is currently impossible or hard to do? Please describe the problem.
As a part of govim, a Go development plugin for vim, I'm adding support for the LSP feature "semantic tokens".
In essence it lets an external process (language server) provide syntax highlighting that is more detailed than the one provided by vim (since it is has more knowledge about the specific language in detail).
I'm using text properties to apply these highlights to a buffer, by defining a couple of different text property types (like comment, namespace or keyword; as defined by the language server protocol).
Since a file often has many different highlights, this yields many calls to prop_add(), even if we only highlight the visible part of a buffer (i.e. lines visible in a window).
Describe the solution you'd like
I'd like to be able to add multiple text properties (of a specific type?) in a single call.
So that I can, instead of calling (real life example only rendering the visible part of a buffer):
prop_add(1,1,{"type":"comment","id":2,"end_lnum":1,"end_col":55,"bufnr":1})
prop_add(2,1,{"type":"comment","id":2,"end_lnum":2,"end_col":54,"bufnr":1})
prop_add(3,1,{"type":"comment","id":2,"end_lnum":3,"end_col":50,"bufnr":1})
prop_add(5,1,{"type":"keyword","id":2,"end_lnum":5,"end_col":8,"bufnr":1})
prop_add(5,9,{"type":"namespace","id":2,"end_lnum":5,"end_col":12,"bufnr":1})
prop_add(7,1,{"type":"keyword","id":2,"end_lnum":7,"end_col":7,"bufnr":1})
prop_add(8,3,{"type":"namespace","id":2,"end_lnum":8,"end_col":8,"bufnr":1})
prop_add(9,3,{"type":"namespace","id":2,"end_lnum":9,"end_col":10,"bufnr":1})
prop_add(10,3,{"type":"namespace","id":2,"end_lnum":10,"end_col":6,"bufnr":1})
prop_add(11,6,{"type":"namespace","id":2,"end_lnum":11,"end_col":9,"bufnr":1})
prop_add(12,6,{"type":"namespace","id":2,"end_lnum":12,"end_col":11,"bufnr":1})
prop_add(13,6,{"type":"namespace","id":2,"end_lnum":13,"end_col":11,"bufnr":1})
prop_add(14,8,{"type":"namespace","id":2,"end_lnum":14,"end_col":16,"bufnr":1})
prop_add(15,3,{"type":"namespace","id":2,"end_lnum":15,"end_col":7,"bufnr":1})
prop_add(16,3,{"type":"namespace","id":2,"end_lnum":16,"end_col":10,"bufnr":1})
prop_add(17,3,{"type":"namespace","id":2,"end_lnum":17,"end_col":7,"bufnr":1})
prop_add(19,31,{"type":"namespace","id":2,"end_lnum":19,"end_col":36,"bufnr":1})
prop_add(20,35,{"type":"namespace","id":2,"end_lnum":20,"end_col":43,"bufnr":1})
prop_add(21,35,{"type":"namespace","id":2,"end_lnum":21,"end_col":41,"bufnr":1})
prop_add(22,35,{"type":"namespace","id":2,"end_lnum":22,"end_col":43,"bufnr":1})
prop_add(23,2,{"type":"namespace","id":2,"end_lnum":23,"end_col":8,"bufnr":1})
prop_add(26,1,{"type":"comment","id":2,"end_lnum":26,"end_col":84,"bufnr":1})
prop_add(27,1,{"type":"comment","id":2,"end_lnum":27,"end_col":84,"bufnr":1})
prop_add(28,1,{"type":"comment","id":2,"end_lnum":28,"end_col":64,"bufnr":1})
prop_add(30,1,{"type":"comment","id":2,"end_lnum":30,"end_col":55,"bufnr":1})
prop_add(31,1,{"type":"keyword","id":2,"end_lnum":31,"end_col":6,"bufnr":1})
prop_add(31,7,{"type":"variable","id":2,"end_lnum":31,"end_col":22,"bufnr":1})
prop_add(31,23,{"type":"type","id":2,"end_lnum":31,"end_col":26,"bufnr":1})
prop_add(31,29,{"type":"number","id":2,"end_lnum":31,"end_col":35,"bufnr":1})
prop_add(33,1,{"type":"keyword","id":2,"end_lnum":33,"end_col":5,"bufnr":1})
prop_add(33,7,{"type":"variable","id":2,"end_lnum":33,"end_col":8,"bufnr":1})
prop_add(33,9,{"type":"operator","id":2,"end_lnum":33,"end_col":10,"bufnr":1})
prop_add(33,10,{"type":"type","id":2,"end_lnum":33,"end_col":16,"bufnr":1})
prop_add(33,18,{"type":"member","id":2,"end_lnum":33,"end_col":36,"bufnr":1})
prop_add(33,37,{"type":"parameter","id":2,"end_lnum":33,"end_col":40,"bufnr":1})
prop_add(33,41,{"type":"namespace","id":2,"end_lnum":33,"end_col":48,"bufnr":1})
prop_add(33,49,{"type":"type","id":2,"end_lnum":33,"end_col":56,"bufnr":1})
prop_add(33,58,{"type":"parameter","id":2,"end_lnum":33,"end_col":59,"bufnr":1})
prop_add(33,60,{"type":"operator","id":2,"end_lnum":33,"end_col":61,"bufnr":1})
prop_add(33,61,{"type":"namespace","id":2,"end_lnum":33,"end_col":69,"bufnr":1})
prop_add(33,70,{"type":"type","id":2,"end_lnum":33,"end_col":90,"bufnr":1})
prop_add(33,93,{"type":"operator","id":2,"end_lnum":33,"end_col":94,"bufnr":1})
prop_add(33,94,{"type":"namespace","id":2,"end_lnum":33,"end_col":102,"bufnr":1})
prop_add(33,103,{"type":"type","id":2,"end_lnum":33,"end_col":117,"bufnr":1})
prop_add(33,119,{"type":"type","id":2,"end_lnum":33,"end_col":124,"bufnr":1})
prop_add(34,2,{"type":"variable","id":2,"end_lnum":34,"end_col":5,"bufnr":1})
prop_add(34,7,{"type":"variable","id":2,"end_lnum":34,"end_col":10,"bufnr":1})
prop_add(34,11,{"type":"operator","id":2,"end_lnum":34,"end_col":13,"bufnr":1})
prop_add(34,14,{"type":"variable","id":2,"end_lnum":34,"end_col":15,"bufnr":1})
prop_add(34,16,{"type":"function","id":2,"end_lnum":34,"end_col":37,"bufnr":1})
prop_add(34,38,{"type":"variable","id":2,"end_lnum":34,"end_col":41,"bufnr":1})
prop_add(34,43,{"type":"variable","id":2,"end_lnum":34,"end_col":44,"bufnr":1})
prop_add(34,45,{"type":"variable","id":2,"end_lnum":34,"end_col":57,"bufnr":1})
prop_add(34,59,{"type":"variable","id":2,"end_lnum":34,"end_col":62,"bufnr":1})

I could call something like (just an example, might be better ways to design the parameters) :
prop_add_list({"type":"command":"id":2,"bufnr":1}, [1,1,1,55], [2,1,2,54], [3,1,3,50], [26,1,26,84], [27,1,27,84], [28,1,28,64], [30,1,30,55])
prop_add_list({"type":"keyword":"id":2,"bufnr":1}, [5,1,5,8], [7,1,7,7], [31,1,31,6], [33,1,33,5])
prop_add_list({"type":"namespace":"id":2,"bufnr":1}, [5,9,5,12], [8,3,8,8], [9,3,9,10], [10,3,10,6], [11,6,11,9], [12,6,12,11], [13,6,13,11], [14,8,14,16], [15,3,15,7], [16,3,16,10], [17,3,17,7], [19,31,19,36], [20,35,20,43], [21,35,21,41], [22,35,22,43], [23,2,23,8], [33,41,33,48], [33,61,33,69], [33,94,33,102])
prop_add_list({"type":"variable":"id":2,"bufnr":1}, [31,7,31,22], [33,7,33,8], [34,2,34,5], [34,7,34,10], [34,14,34,15], [34,38,34,41], [34,43,34,44], [34,45,34,57], [34,59,34,62])
prop_add_list({"type":"type":"id":2,"bufnr":1}, [31,23,31,26], [33,10,33,16], [33,49,33,56], [33,70,33,90], [33,103,33,117], [33,119,33,124])
prop_add_list({"type":"number":"id":2,"bufnr":1}, [31,29,31,35])
prop_add_list({"type":"operator":"id":2,"bufnr":1}, [33,9,33,10], [33,60,33,61], [33,93,33,94], [34,11,34,13])
prop_add_list({"type":"member":"id":2,"bufnr":1}, [33,18,33,36])
prop_add_list({"type":"parameter":"id":2,"bufnr":1}, [33,37,33,40], [33,58,33,59])
prop_add_list({"type":"function":"id":2,"bufnr":1}, [34,16,34,37])

The nature of syntax highlighting requires a lot of text properties added (and removed if you only want to show the visible lines).
Describe alternatives you've considered
None, I currently call prop_add multiple times each time the highlight changes. And it could be often as the user types or scrolls through the code in a buffer.

I'm using the Lua LPeg module to apply highlights with text properties (unreleased plugin I've been working on this week), and I'm essentially doing the same kind of prop_add() calls.
I'm not sure if it's really a practical issue as such? As far as I can tell it's plenty fast enough.
Aside: the biggest issue I ran in to is that length can't span multiple lines and that I need to do some stuff to transform byte offsets to line/col; there's probably more overhead in all of that.
At any rate, the downside of the proposed API is that you first need to group properties by type, rather than by position. I think the latter is probably more common?

Hi,
On Fri, Jul 30, 2021 at 11:39 AM Pontus Leitzler @.***>
wrote:

Is your feature request about something that is currently impossible or
hard to do? Please describe the problem.
As a part of govim http://github.com/govim/govim, a Go development
plugin for vim, I'm adding support for the LSP feature "semantic tokens"
https://microsoft.github.io/language-server-protocol/specification#textDocument_semanticTokens
.
In essence it lets an external process (language server) provide syntax
highlighting that is more detailed than the one provided by vim (since it
is has more knowledge about the specific language in detail).
I'm using text properties to apply these highlights to a buffer, by
defining a couple of different text property types (like comment,
namespace or keyword; as defined by the language server protocol).
Since a file often has many different highlights, this yields many calls
to prop_add(), even if we only highlight the visible part of a buffer
(i.e. lines visible in a window).
Describe the solution you'd like
I'd like to be able to add multiple text properties (of a specific type?)
in a single call.
So that I can, instead of calling (real life example only rendering the
visible part of a buffer):
prop_add(1,1,{"type":"comment","id":2,"end_lnum":1,"end_col":55,"bufnr":1})
I could call something like (just an example, might be better ways to
design the parameters) :
prop_add_list({"type":"command":"id":2,"bufnr":1}, [1,1,1,55], [2,1,2,54], [3,1,3,50], [26,1,26,84], [27,1,27,84], [28,1,28,64], [30,1,30,55])

If the argument to the new prop_add_list() function is a List of the
arguments accepted by prop_add(), will that work? i.e.
prop_add_list([[1,1 {'type': 'comment'}], [2, 1, {'type': 'variable'}],
[26, 1, {'type': 'variable'}]])

Yegappan

The nature of syntax highlighting requires a lot of text properties
added (and removed if you only want to show the visible lines).
Describe alternatives you've considered
None, I currently call prop_add multiple times each time the highlight
changes. And it could be often as the user types or scrolls through the
code in a buffer.

I'm not sure if it's really a practical issue as such? As far as I can tell it's plenty fast enough.
Aside: the biggest issue I ran in to is that length can't span multiple lines and that I need to do some stuff to transform byte offsets to line/col; there's probably more overhead in all of that.
At any rate, the downside of the proposed API is that you first need to group properties by type, rather than by position. I think the latter is probably more common?

Thanks @arp242 for your comment! Let me add some more context. Even though performance is key when doing syntax highlighting, it isn't necessarily the pure invokation speed of one vs. multiple calls the proposal aims to improve.
The govim plugin uses a vim channel to communicate, so each call renders a network roundtrip & JSON parsing. We also want to express that each call should be surrounded with try/catch if we, for example, would like to suppress E964/E966 (invalid col/line).
Those things are mostly implementation details of my particular use case, and we already batch multiple calls into a single roundtrip for example.
I do however think that having a prop_add_list() make sense for others as well. As my example above shows there is a lot of redundant information that needs to be passed as arguments when using a single call per text property. If you, instead of applying highlights to the visible lines only, applies highlights to the entire buffer you could end up with several kilobytes of redundant "type":"foobar","bufnr":1,"id":2.
The arguments to prop_add_list() doesn't have to be as suggested above, the goal is just to have something that better fits the purpose of using text properties as syntax highlight replacement. In that use case you often get a bunch of highlights to apply to a single buffer where there is a limited set of different types.
That maybe answers your question too @yegappan:

If the argument to the new prop_add_list() function is a List of the
arguments accepted by prop_add(), will that work?

Such list would be an improvement to the number of calls, but we would still have all the overhead of having to define multiple type, bufnr and id for example. I don't think it brings enough benefits to be worth adding a new call? (i.e. prop_add_list()).

Hi,
On Sat, Jul 31, 2021 at 1:08 AM Pontus Leitzler @.***>
wrote:

I'm not sure if it's really a practical issue as such? As far as I can
tell it's plenty fast enough.
Aside: the biggest issue I ran in to is that length can't span multiple
lines and that I need to do some stuff to transform byte offsets to
line/col; there's probably more overhead in all of that.
At any rate, the downside of the proposed API is that you first need to
group properties by type, rather than by position. I think the latter is
probably more common?
Thanks @arp242 https://github.com/arp242 for your comment! Let me add
some more context. Even though performance is key when doing syntax
highlighting, it isn't necessarily the pure invokation speed of one vs.
multiple calls the proposal aims to improve.
The govim plugin uses a vim channel to communicate, so each call renders a
network roundtrip & JSON parsing. We also want to express that each call
should be surrounded with try/catch if we, for example, would like to
suppress E964/E966 (invalid col/line).
Those things are mostly implementation details of my particular use case,
and we already batch multiple calls into a single roundtrip for example.
I do however think that having a prop_add_list() make sense for others as
well. As my example above shows there is a lot of redundant information
that needs to be passed as arguments when using a single call per text
property. If you, instead of applying highlights to the visible lines only,
applies highlights to the entire buffer you could end up with several
kilobytes of redundant "type":"foobar","bufnr":1,"id":2.
The arguments to prop_add_list() doesn't have to be as suggested above,
the goal is just to have something that better fits the purpose of using
text properties as syntax highlight replacement. In that use case you often
get a bunch of highlights to apply to a single buffer where there is a
limited set of different types.
That maybe answers your question too @yegappan
https://github.com/yegappan:
If the argument to the new prop_add_list() function is a List of the
arguments accepted by prop_add(), will that work?
Such list would be an improvement to the number of calls, but we would
still have all the overhead of having to define multiple type, bufnr and
id for example. I don't think it brings enough benefits to be worth
adding a new call? (i.e. prop_add_list()).

If prop_add_list() takes a List of the prop_add() arguments, then you
can use a single call to set all the text properties (instead of multiple
calls to prop_add_list() in your example). So I think the reduction in
the number of calls is a better tradeoff than passing less information
per call.
Regards,
Yegappan

I'm not against it.  The second argument needs to be a list of lists though.
It appears all these are within a single line.  We could just use [lnum, col, endcol].
In case a property spans more than one line, the prop_add() function can be used.
How do you remove the properties?  I guess not by removing each individual property.

I'm not against it. The second argument needs to be a list of lists though.
It appears all these are within a single line. We could just use [lnum, col, endcol].
In case a property spans more than one line, the prop_add() function can be used.

Thanks for the input. Good idea with lnum, col, endcol, I haven't seen any semantic tokens yet that spawn multiple lines so I'm all in favour of falling back to prop_add() for multiline proprties.

How do you remove the properties? I guess not by removing each individual property.

Correct, I remove them via a single prop_remove using id where semantic token related highlights share the same id in the plugin.

I think this can be closed. prop_add_list() was added in ccfb7c6.


'utf-8' codec can't decode byte (image_retraining)

On the Training on Flowers how to;
https://www.tensorflow.org/versions/master/how_tos/image_retraining/index.html
Unable to get to get the .pb file and the .txt file to create in /tmp due to;
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 1: invalid start byte
Environment info
Operating System:
Mac OSX El Captain 10.11.3 (15D21)
Python 3.5.1
Tensorflow from source, commit bfd5f0b
If installed from binary pip package, provide:

pip3 install --upgrade https://storage.googleapis.com/tensorflow/mac/tensorflow-0.7.1-cp35-none-any.whl
The output from python3 -c 'import os; import inspect; import tensorflow; print(os.path.dirname(inspect.getfile(tensorflow)))'
/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/tensorflow

Steps to reproduce

brand new mac, fresh brew, python3, pip3 etc
all tutorials so far are great, then on to;
https://www.tensorflow.org/versions/master/how_tos/image_retraining/index.html
bazel build -c opt --copt=-mavx tensorflow/examples/image_retraining:retrain
OK
bazel-bin/tensorflow/examples/image_retraining/retrain --image_dir ~/flower_photos
Error, see output below

Logs or other output that would be helpful
Traceback (most recent call last):
File "/Users/paulg/proj/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/tensorflow/examples/image_retraining/retrain.py", line 828, in
tf.app.run()
File "/Users/paulg/proj/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/tensorflow/python/platform/default/_app.py", line 30, in run
sys.exit(main(sys.argv))
File "/Users/paulg/proj/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/tensorflow/examples/image_retraining/retrain.py", line 715, in main
graph = create_inception_graph()
File "/Users/paulg/proj/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/tensorflow/examples/image_retraining/retrain.py", line 301, in create_inception_graph
graph_def.ParseFromString(f.read())
File "/Users/paulg/proj/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/tensorflow/python/platform/default/_gfile.py", line 45, in sync
return fn(self, *args, **kwargs)
File "/Users/paulg/proj/tensorflow/bazel-bin/tensorflow/examples/image_retraining/retrain.runfiles/tensorflow/python/platform/default/_gfile.py", line 199, in read
return self._fp.read(n)
File "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/codecs.py", line 321, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xbb in position 1: invalid start byte

Thanks! Creating bottleneck with updated retrain.py
6a63c2d

I'll make a PR shortly, once I figure out the contributing agreement. Feel free to cherry pick it you can't wait!
https://github.com/dgolden1/tensorflow/commit/6a63c2df153b6717799315bcc9a304bef5b2296d


Add links from API docs to source.

Being a frequent answerer of D3 questions on Stack Overflow I very often find myself, after referring to the API docs first, digging into the source code itself. This always requires two distinct entry points, namely the docs and the github repository.  Getting annoyed that there is no direct link between both of them, it suddenly occured to me, that it would be a great feature to not only have a permalink accompanying each documented method but also a link to the github repository next to each method's documentation like in the following example (note the chevrons next to the method name):

# d3.min(array[, accessor]) <>

Returns the minimum value in the given array using natural order. If the array is empty, returns undefined. An optional accessor function may be specified, which is equivalent to calling array.map(accessor) before computing the minimum value.

Given that v4 is modular and methods mostly reside in their own file there is little need, if any, to directly link to line numbers like prior versions would have required. Thus, those links are not prone to become outdated by any follow-up commit.
I'd like to request this feature be implemented as it would make life so much easier for the ones who are really into looking under the hood of D3's workings.

This is a nice idea and I agree it should be feasible with the code structured in separate files as it is now. (It would not be feasible to keep line numbers up-to-date.)

This would be extremely useful and I would love to help out with this

@mbostock Like canibanoglu offered before, I'd be glad to contribute to this. Any ideas?

Good idea! I'd love to see it!

Fixed in #2936 by @Devinsuit and @mef.


hevc_cuvid not supported.

I have this error with only a few shows, so I'm pretty sure that it's the way the shows are encoded. I found issue #653, about setting up a docker with an alternative configuration. Although, I'm using UnRaid and have installed the docker through their Apps store. Any advice?

System Info:
M/B: MSI H81M-P33 (MS-7817) Version 1.0 - s/n: To be filled by O.E.M.
CPU: Intel® Core™ i7-4790K CPU @ 4.00GHz
HVM: Enabled
IOMMU: Enabled
Cache: 1 MB, 256 KiB, 8 MB
Memory: 16 GiB DDR3 (max. installable capacity 32 GiB)
Kernel: Linux 5.15.43-Unraid x86_64
Video Card: NVIDIA GeForce GTX 970

File Info:
Format                                   : Matroska
Format version                           : Version 4
File size                                : 561 MiB
Duration                                 : 21 min 41 s
Overall bit rate                         : 3 612 kb/s
Encoded date                             : UTC 2020-03-02 17:53:28
Writing application                      : mkvmerge v42.0.0 ('Overtime') 64-bit
Writing library                          : libebml v1.3.10 + libmatroska v1.5.2

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L4@Main
Codec ID                                 : V_MPEGH/ISO/HEVC
Duration                                 : 21 min 41 s
Bit rate                                 : 2 031 kb/s
Width                                    : 1 920 pixels
Height                                   : 1 080 pixels
Display aspect ratio                     : 16:9
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.041
Stream size                              : 315 MiB (56%)
Writing library                          : x265 3.2.1+1-b5c86a64bbbe:[Windows][GCC 9.2.0][64 bit] 10bit
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : DTS
Format/Info                              : Digital Theater Systems
Codec ID                                 : A_DTS
Duration                                 : 21 min 41 s
Bit rate mode                            : Constant
Bit rate                                 : 1 509 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 93.750 FPS (512 SPF)
Bit depth                                : 24 bits
Compression mode                         : Lossy
Stream size                              : 234 MiB (42%)
Title                                    : DTS 2.0
Language                                 : English
Default                                  : Yes
Forced                                   : No

Are you using the Nvidia GTX 970 for hardware acclereated decoding/encoding? According the the codec support matrix, the GTX 970 doesnt support decoding HEVC. You would probably get this error for every HEVC file.

Are you using the Nvidia GTX 970 for hardware acclereated decoding/encoding? According the the codec support matrix, the GTX 970 doesnt support decoding HEVC. You would probably get this error for every HEVC file.

That looks correct, and there is currently no way to tune which codecs are used. The hardware-accelerated codecs will always be selected when the ffmpeg profile has acceleration enabled. More generally, this issue will track improvements to that system https://github.com/jasongdove/ErsatzTV/issues/852

Are you using the Nvidia GTX 970 for hardware acclereated decoding/encoding? According the the codec support matrix, the GTX 970 doesnt support decoding HEVC. You would probably get this error for every HEVC file.

That makes sense. Yes, I am using my 970 for hardware accelerated decoding/encoding. The codec support matrix link also helps, thanks a bunch!


Signature#getDeclaration()'s return type is non-nullable, but it possibly returns undefined

TypeScript Version:  3.4.0-dev.20190220
Search Terms: Signature, getDeclaration()
Code
import * as ts from "typescript";

console.log(ts.version);

const testFilePath = "/file.ts";
const testFileText = `test();`;

const testSourceFile = ts.createSourceFile(testFilePath, testFileText, ts.ScriptTarget.Latest, true);

const program = getProgram();
const exprStatement = testSourceFile.statements[0] as ts.ExpressionStatement;
const callExpr = exprStatement.expression as ts.CallExpression;

// this outputs undefined even though `.getDeclaration()` is `ts.SignatureDeclaration`
console.log(program.getTypeChecker().getResolvedSignature(callExpr)!.getDeclaration());

function getProgram() {
    const options: ts.CompilerOptions = { target: ts.ScriptTarget.ES5 };
    const host: ts.CompilerHost = {
        fileExists: filePath => filePath === testFilePath,
        directoryExists: dirPath => dirPath === "/",
        getCurrentDirectory: () => "/",
        getDirectories: () => [],
        getCanonicalFileName: fileName => fileName,
        getNewLine: () => "\n",
        getDefaultLibFileName: () => "",
        getSourceFile: filePath => filePath === testFilePath ? testSourceFile : undefined,
        readFile: filePath => filePath === testFilePath ? testFileText : undefined,
        useCaseSensitiveFileNames: () => true,
        writeFile: () => {}
    };
    return ts.createProgram({
        options,
        rootNames: [testFilePath],
        host
    });
}

Expected: Signature#getDeclaration()'s return type to be ts.SignatureDeclaration | undefined
Actual: Signature#getDeclaration()'s return type is ts.SignatureDeclaration

Duplicate of #24706

Will close in favour of that issue.


Narrow in scope to use more "ecosystem" features and less "package" features

Opened in response to the discussion in #171. This is an issue tracking implementation progress.

After some consideration and discussion in #171, I think the scope of this repo should be severely restricted. Sure, lots of other features can be added like Haskell, Heroku's CLI, etc. should all be included... But I don't think we need a jest package if we add a "packages" field of some kind to a generic Node.js feature. This is my opinion.
TL;DR: Make generic ecosystems like Haskell, Python, Node.js, etc. accept arbitrary package installers instead of splintering them into their own features.
{
  "image": "mcr.microsoft.com/devcontainers/universal:linux",
  "features": {
    "ghcr.io/devcontainers-contrib/features/python:1": {
      "packages": ["bikeshed~=3.1.0", "pylint==2.10.0"]
    },
    "ghcr.io/devcontainers-contrib/features/node:1": {
      "packages": {
        "typescript": "^4.8.0",
        "prettier": "latest"
      }
    }
  }
}

See advantages/disadvantages in #171

"Official" statements regarding the goal/scope of container features

Just to clarify, Dockerfiles are still fully supported. It's just more an an advanced use case, and we don't want people to have to be Docker experts in order to start using Devcontainers. We believe that devcontainer features make it easier for people to add and maintain functionality in their configuration and encourage the use of features as a starting point. But if you have a scenario that needs more flexibility/control, you can certainly add a Dockerfile.
-- devcontainers/templates#77 (comment)

Recently, we have modified the "Add devcontainer configuration files" command to make it more simpler and easier to understand. We have updated the Templates and built the dev container config using Features (which avoids the need of Dockerfile in most cases).
-- devcontainers/templates#77 (comment)

FWIW - I would not recommend going to the trouble for basic things that you can do in a Dockerfile like doing apt-get install. RUN apt-get update && apt-get -y install  is about as simple as it can get. Features are primarily focused on reusable chunks of config and code that Dockerfiles alone cannot provide.
-- devcontainers/templates#77 (comment)

Tasks

[x] Start a jcbhmr/devcontainers-contrib-features-172 repo
[x] Research whether or not objects can be passed to the options of a feature
[x] Add support to the Node.js feature for a "packages" option of some kind
[ ] Add support to the Python feature for a "packages" option
[ ] Demonstrate real-world implications of this change
[ ] Add documentation describing why this is better/worse and alternatives
[ ] Draw a distinction in user guides between when to use Features and when to use Dockerfiles

After some more research, objects/arrays cannot be passed as part of the options object yet. There is an open issue to add arrays.
https://github.com/devcontainers/spec/issues/57
https://github.com/devcontainers/spec/issues/44#issuecomment-1167687113
In the meantime, the suggestion seems to be to use spaces or commas as delimiters.

@DaneWeber @danielbraun89 I got it working! 😊🎉 link to repo

Looks awesome! IMO the official python feature should have the same treatment.
One of the reasons I needed the "package" features is the inability to select versions to the default installation utils as can be seen here https://github.com/devcontainers/features/blob/main/src/python/install.sh#L29
I needed for example a way to select mypy to an older version etc I couldnt do that.  This approach makes much sense

Looks awesome! IMO the official python feature should have the same treatment. One of the reasons I needed the "package" features is the inability to select versions to the default installation utils as can be seen here https://github.com/devcontainers/features/blob/main/src/python/install.sh#L29 I needed for example a way to select mypy to an older version etc I couldnt do that. This approach makes much sense

NVM saw you already addressed it in https://github.com/devcontainers-contrib/features/discussions/171#discussioncomment-4300704

Some notes:

The comment recommends comma-separation rather than space-separation for arrays. https://github.com/devcontainers/spec/issues/57#issuecomment-1309015728
If you would like to deprecate existing Features, I would be happy to discuss it on this issue. devcontainers/spec#155

My opinion on packages being part of features has shifted negatively. It may shift back to positive at some point. Discussion on package installation being a part of features and scope of images vs features vs postCreateCommand in https://github.com/devcontainers-contrib/.github/issues/4

@danielbraun89 I'm closing this open-ended issue in favor of more specific and focused issues. I think this discussion is a good one, but it belongs more in discussions at this point, with issues focusing on concrete tasks instead. (Hence, closing this)


Crate buff (again)

About the PR
Commit says it all.
Increases flat reductions by 1 so knives and spears no longer break crates.
No changelog because I want people to suffer in game trying and not realising it will not break. There are still things that will break it so don't cry.
Screenshots

Changelog

making crates unbreakable was bad for cargo mains enough, now they'll have to suffer trying to break a crate open with knife???? pure evil, very funny

making crates unbreakable was bad for cargo mains enough, now they'll have to suffer trying to break a crate open with knife???? pure evil, very funny

Yep. I'm fine with high level stuff breaking crates. In 13 that was essentially a mining mech with a drill otherwise non antags were not getting into crates, as it should be.
Now I forsee QM just asking for access from HoP but this is intended for MRP and situations where people RP anyway.

This change is gonna be painful but overall it's probably for the best in the long run.
Except one thing: salvagers need lasers just to do their job remotely safely. It's a death sentence otherwise. So it's awkward for them to have to ask permission and hope sec bothers to help them do their job.
There was talk in Discord recently about adding back the proto-kinetic accelerator which in our case would only do damage in the vacuum of space and with limited range. That'd practically solve the issue of it being used against crew, meaning salvagers could spawn with one.

Yep gonna have to cooperate with other depts if they want legal weapons.
PKA was on my to do list but it's a long list so people will just have to cope and figure it out.

There was talk in Discord recently about adding back the proto-kinetic accelerator which in our case would only do damage in the vacuum of space and with limited range. That'd practically solve the issue of it being used against crew, meaning salvagers could spawn with one.

i absolutely don't want the PKA to be added tbh

i was considering giving salvages machetes instead of knives (+5 damage) but otherwise they need to figure out how to ask people for help instead of going in solo and getting juked by ticks


Medival Engineers

Can this image also run medival engineers server ?
communityedition 367970

out of scope, please feel free to fork the repo and give it a try on your own. I am available on the keen swh discord to answer questions to assist you.

modified some stuff and got it working...

That's awesome!!!  Maybe make a new repo so people can consume it? If you have any questions, reach out on discord and I'll give you a hand.

gona think about that... but way I made it work is not looking nice...

Zip with it... it is almost the same as SE img files, but changed stuff from space namespace to medival + game id for ME server and community edition beta arg when downloading srv
medival.zip


Semantically correct HTML

I expected more Kyle. Jk lol, but the <style> tag should appear in the head tag + what would a KyTrol project be without a @domfarolino nit-pick right ;)
Reference: https://html.spec.whatwg.org/multipage/semantics.html#the-style-element

Leave it to Dom to snipe me before I could move the style to a stylesheet.


Ballerina Package for Emailing

Description:
Currently theres no way of sending emails using ballerina. Can we have a ballerina package for emailing purposes ? Given that it has to be a native package.

@hemikak Better if this is raised on the dev group?

@pubudu91  +1

Few months ago I had a need to send emails using Ballerina via SMTP. So I have created simple connector to do the job (https://github.com/in2group/connector-smtp). Maybe it can be used as a starting point for offical SMTP Ballerina connector?

Related issue https://github.com/ballerina-platform/ballerina-lang/issues/4378

Duplicate of https://github.com/ballerina-platform/ballerina-lang/issues/4378.

This feature has been raised in the Stackoverflow as well
https://stackoverflow.com/questions/53645207/ballerina-how-do-connect-with-smtp-server-and-send-email


Configure ingress-gateways with URL references to certificates for SNI

Describe the feature request
We want to be able to configure envoy to fetch secrets(TLS keypairs) from a remote secure store for vanity ingress domains. This would be more secure and dynamic.
Describe alternatives you've considered
Currently the requirement that keypairs reside on the filesystem as the ingress-gateway is not ideal, updating the certificates is tedious and storing them on the file system is not secure.
Additional context

In Cloud Foundry we have heard from users that being able to dynamically configure key pairs that are stored at a secure location, and can be fetched when needed is preferable.
We also want to give users self service control on configuring these key pairs but users will not have access to the ingress-gateways

@rosenhouse , @shalako

@rshriram @Nino-K Could you tag this help wanted?

I think we can make this work using SDS now.
On Mon, Feb 11, 2019 at 5:17 PM Shannon Coen<EMAIL_ADDRESS>wrote:

@rshriram https://github.com/rshriram @Nino-K
https://github.com/Nino-K Could you tag this help wanted?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/9944#issuecomment-462570208, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AD7_CfitLIbpUXpBsLIbCbqbU8EciMbsks5vMhYkgaJpZM4YcnPw
.

@rosenhouse @shubhaat  if no one is doing it, can I pick this issue ?

I believe this I related to https://github.com/istio/istio/pull/11496 and
https://github.com/istio/istio/issues/9030

The CF team hasn’t started working on it; would love for someone to pick it up!

On Feb 21, 2019, at 8:17 PM, Trevor Linton<EMAIL_ADDRESS>wrote:
I believe this I related to #11496 and
#9030
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

@utako is this possible now with #11496 or other recent enhancements?

yep

With the new SDS enhancements, do we still need this feature? @shubhaat


fonts.fonts requires a reboot

When I added japanese fonts to fonts.fonts it took a reboot to display the new glyphs (instead of just boxes). An xserver restart might be enough, though I didn’t try that.

xserver is not restarted by default under changes, and I think this is right
what is wrong, is that nothing is echo-ed into console when some user actions are required after nixos-rebuild. There are "preactions", like "download this file yourself because it is non-free", but no "postactions"
though these are thoughts only on "An xserver restart might be enough" part, not on bug itself

Surely this is only the case for server-side font rendering, which hardly any modern application uses anymore?
Also, nixos-rebuild does show a warning:
NOT restarting the following changed units: display-manager.service

However, it would be good if such changes took effect on X logout/login (rather than requiring a systemctl restart display-manager).

@edolstra as a beginner, I read
NOT restarting the following changed units: display-manager.service

as
Guy, I do some magic, and for that magic I require display-manager.service NOT to restart. Don't bother me on that stuff

Would be better:
Some services are not auto restarted. You can restart them manually with 'systemctl restart service'
- changed attributes <list of changed attributes> may require display-manager.service restart
- changed attributes <list of changed attributes> require postgresql.service restart
...

I'm fairly certain display-manager is a red herring. Nowadays, fonts are provided by /etc/fonts, which is set up in our default to be re-scanned every 30 seconds. (When FcFontSetList is called; beware of applications caching such results.) Running fc-list might be a good way to find out the status.

@danbst: there may be other things changed than just attributes (e.g. implementation). Note that restarting display-manager would kill all graphical programs and force you to re-log, which is why we don't do it by default.

For Chromium it didn’t pick up the changes.
No idea how font configuration works on Linux, so I’m not much of help with the internals.

Can’t reproduce anymore.