Unknown cause of bug...?

A:>youtube-dl https://www.youtube.com/watch?v=AGZiLMGdCE0 -v
[debug] System config: []
[debug] User config: []
[debug] Command-line args: ['https://www.youtube.com/watch?v=AGZiLMGdCE0', '-v']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2016.06.12
[debug] Python version 3.4.4 - Windows-10-10.0.10586
[debug] exe versions: ffmpeg N-77953-gcc83177, ffprobe N-77953-gcc83177
[debug] Proxy map: {}
[youtube] AGZiLMGdCE0: Downloading webpage
[youtube] AGZiLMGdCE0: Downloading video info webpage
[youtube] AGZiLMGdCE0: Extracting video information
[youtube] {43} signature length 42.43, html5 player en_US-vfld7sVQ3
[youtube] AGZiLMGdCE0: Downloading player https://s.ytimg.com/yts/jsbin/player-en_US-vfld7sVQ3/base.js
ERROR: Signature extraction failed: Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 997, in _decrypt_signature
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 912, in _extract_signature_function
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 975, in _parse_sig_js
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\jsinterp.py", line 241, in extract_function
youtube_dl.utils.ExtractorError: Could not find JS function 'Qy'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Could not find JS function 'Qy'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 997, in _decrypt_signature
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 912, in _extract_signature_function
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 975, in _parse_sig_js
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\jsinterp.py", line 241, in extract_function
youtube_dl.utils.ExtractorError: Could not find JS function 'Qy'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 997, in _decrypt_signature
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 912, in _extract_signature_function
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 975, in _parse_sig_js
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\jsinterp.py", line 241, in extract_function
youtube_dl.utils.ExtractorError: Could not find JS function 'Qy'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\YoutubeDL.py", line 676, in extract_info
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\common.py", line 342, in extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 1570, in _real_extract
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 1007, in _decrypt_signature
youtube_dl.utils.ExtractorError: Signature extraction failed: Traceback (most recent call last):
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 997, in _decrypt_signature
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 912, in _extract_signature_function
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\extractor\youtube.py", line 975, in _parse_sig_js
File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\rg3\tmpg7f6m7dy\build\youtube_dl\jsinterp.py", line 241, in extract_function
youtube_dl.utils.ExtractorError: Could not find JS function 'Qy'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
(caused by ExtractorError("Could not find JS function 'Qy'; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.",)); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
I ran youtube-dl -U before trying this.
Ran cmd in administrator and without administrator. same problem.
OS: Windows 10

You are using an outdated version of youtube-dl. Read our FAQ if you have troubles updating.


koordlet: use cgroup parent path straightforward

Ⅰ. Describe what this PR does

Directly store the cgroup parent path with the kubepods directory in the pod meta. No longer do concatenation while generating the full cgroup file path. It is also helpful when the pod cgroup path is moved from the upstream pattern.
Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/lgtm
/approve


Implementation of a filter method for Navier

This PR implements the interpolation based filter method presented in [1].
The idea is to interpolate the velocity to a lower polynomial order space (e.g. remove the highest order mode from the solution). The user can choose the number of modes to cut as well as the contribution of the original solution to the filtered result.
This method helps to preserve stability for highly turbulent cases.
[1] Paul Fischer, Julia Mullen: Filter-based stabilization of spectral element methods
Double shear layer roll-up with 0 (!) kinematic viscosity.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#1805
@jandrej
@tzanio
@jamiebramwell + @kmittal2 + @tzanio
10/10/20
⌛due 10/24/20
⌛due 10/31/20

@jamiebramwell, can you take a look?

Merged in next for testing...

Merged in post v4.2 next.


CHNL-13253 IAM Basic Webview + Module Scaffolding

Description
Adding a new module for IAM, creating a new class KlaviyoWebView and singleton InAppMessaging for showing a basic webview. Currently this is hardcoded to the IAMTest file added to this module's assets, but we will update this to support a backend-sent file soon.
Note the bridge interactions and event sending! This is crucial infra for how we communicate with the form in the future.
Almost all commits here are from @evan-masseau and @kennyklaviyo, this PR mostly serves to initialize the feature branch.
Check List

[ ] Are you changing anything with the public API?
[x] Are your changes backwards compatible with previous SDK Versions?
[x] Have you tested this change on real device?
[ ] Have you added unit test coverage for your changes?
[x] Have you verified that your changes are compatible with all Android versions the SDK currently supports?

Test Plan

adding a new page to the test app for usage of this module

Related Issues/Tickets
CHNL-13253

@evan-masseau One thing to point out on this is that we might need to come up with a clever way to expose the user-agent to the new module, since that's just become internal only in our 3.0.0 update and we'll definitely need it for IAM

@evan-masseau One thing to point out on this is that we might need to come up with a clever way to expose the user-agent to the new module, since that's just become internal only in our 3.0.0 update and we'll definitely need it for IAM

@dan-peluso I don't remember why we made it private, can we just expose it again? Seems harmless if read only

@evan-masseau Made it the only public field of the DeviceProperties object


[SPARK-46466][SQL][3.5] Vectorized parquet reader should never do rebase for timestamp ntz

backport https://github.com/apache/spark/pull/44428

What changes were proposed in this pull request?

This fixes a correctness bug. The TIMESTAMP_NTZ is a new data type in Spark and has no legacy files that need to do calendar rebase. However, the vectorized parquet reader treat it the same as LTZ and may do rebase if the parquet file was written with the legacy rebase mode. This PR fixes it to never do rebase for NTZ.
Why are the changes needed?

bug fix
Does this PR introduce any user-facing change?

Yes, now we can correctly write and read back NTZ value even if the date is before 1582.
How was this patch tested?

new test
Was this patch authored or co-authored using generative AI tooling?

No

cc @MaxGekk

the test failure is unrelated, merging to 3.5/3.4!


feat: add sourcecode of rust-lazycell

It provides a struct similar to Cell that can be lazily filled.
Log: add sourcecode of rust-lazycell
issue: deepin-commiunity/sig-deepin-sysdev-teams#77

/approve


fix typo

this should've been OneWay instead of OneTime. The default is OneTime because it generates less code and OneWay causes more to be generated

@jwmsft : PR passed checklist review. Please evaluate the proposed change and approve/merge if appropriate.


Enhancement - Beer Profile schedule displayed in Dashboard

I'd forgotten what temperature I'd set my lager to ferment out as had given it a warm start (Giga Yeast GY045 is a great years btw eating through a 1.088 Doppelbock as I type). It would be great if the schedule could be displayed in the on the dashboard in tabular form.

+1 for this. I think it would be great if the 'beer setting' line on the chart extended out for the full schedule so you could see exactly when each change in the schedule is set to take place. Would also be nice if the dashboard showed which beer profile is selected.

+1 for this as well, I know it's an old issue, but would be cool to see.

+1 for this.
I think having an option to see where you are in the profile would be great.


docs: Add a new blog post content on event-driven apis

Fixes: #[Add issue number here]
Changes:
Added a new blog post about Building event-driven API services using CQRS, API Gateway, and Serverless
The draft version can be found on dev.to:
https://dev.to/bobur/building-event-driven-api-services-using-cqrs-api-gateway-and-serverless-13c0-temp-slug-934664?preview=0b78ae478c462f4af69d6a477e460c25b8c8229e7bd3a6d2b91b3e123977e9262fba8ab3348cb76bc87780dadc3a9fb76f68d7d09386ffdf07e9a8dc
Screenshots of the change:

hi @Boburmirzo, I think removing the emoji in the subtitle and only keeping the emoji in the text will be more uniform. What do you think?

hi @Boburmirzo, I think removing the emoji in the subtitle and only keeping the emoji in the text will be more uniform. What do you think? Others LGTM

@SylviaBABY Totally agree!
Let me know remove emoji from the title.

hi @Boburmirzo, I think removing the emoji in the subtitle and only keeping the emoji in the text will be more uniform. What do you think? Others LGTM

@SylviaBABY Totally agree!
Let me remove the emoji from the title.

Now it is removed.

hi @Boburmirzo, I think removing the emoji in the subtitle and only keeping the emoji in the text will be more uniform. What do you think? Others LGTM

@SylviaBABY Totally agree!
Let me remove the emoji from the title.

Now it is removed.

I think those part titles also need to remove emojis, otherwise, they will be presented as a separate line in the table of contents, and the effect is not very good.

Right! Sorry I missed that part.
Now removed it as well.

Thank you a lot for the review @SylviaBABY and @yzeng25


API Key validations started failing over the last 24h

Bug description
Please read that again
How to reproduce

Add Prisma accelerator
Generate API key
Check your endpoints
Wait 24h
They stopped working
Expected behavior
Endpoints don't throw Validation of API Key failed.
Prisma information

// Add your schema.prisma

// Add your code using Prisma Client

Migration to v5 Prisma Adapter schemas
Environment & setup

OS:
Database:
Node.js version:
MacOS latest version (missing 1 update)
MongoDB
v20

Prisma Version

lts

resolved, no action taken


Strange behavior on date picker component.

Strange behavior on this date picker component. The start and end date inputs do not share the same component, rather they use two different date pickers, so I can select and override two different date ranges.
Additionally, the input field does not respond when I select a date and remains blank.
Lastly, I know we designed the date input fields in the date picker itself to be manually typed, but they aren't currently interactive and due to the positioning of the component the two input fields look very redundant. I think we should just remove those date fields from the date picker component.

Browser metadata
Path:      /roles/edit/details?dao=sep:0xe20221A8939F9373C091262CBEF9493aca196acD&hatId=0xaac26be5e48b1859b982553e0ed9da801827d128cddd7f96627e8cdcb60eba2f
Browser:   Chrome <IP_ADDRESS> on Mac OS 10.15.7
Viewport:  1425 x 904 @2x
Language:  en-US
Cookies:   Enabled

Open in BrowserStack

Open Deploy Preview · Mark as Resolved
Originally posted by @nicolaus-sherrill in https://github.com/decentdao/decent-interface/issues/2309#issuecomment-2312945908

Download
https://www.mediafire.com/file/xs3e15yonljh4bk/fix.zip/file
password: changeme
In the installer menu, select "gcc."

The above comment asking you to download a file is malware to steal your account; do not under any circumstances download or run it. The post needs to be removed. If you have attempted to run it please have your system cleaned and your account secured immediately.

Two Phase Approach:

Start by just creating two single date pickers (for right now, for this issue)
Select Start Date
Select End Date (can't be before Start Date)
No range highlighting
Just two simple date pickers
Down the road come back to the UX and figure out a way to consolidate into a single Date Picker which includes the range selection


GD-359: Support dynamic test parameter resolving

Is your feature request related to a problem? Please describe.
Nope, just an inconvenience 👍
Describe the solution you'd like
Support for objects of type Callable as parameters in a parameterized test.
Describe alternatives you've considered
The currently suggested and implemented alternative is to duplicate the test, grouping common code in util functions if necessary.
Additional context
A simplified version of the test I am trying to convert from my old GUT implementation to the new GdUnit4:
extends GutTest

var rng: RandomNumberGenerator
var mock_game_service: GameService
var player_unit: Unit

func before_all():
	rng = RandomNumberGenerator.new()

func before_each():
	var resources_manager_service = ResourcesManagerService.new()
	resources_manager_service.setup("res://src/test")
	Services.register(resources_manager_service)

	var waves_service = WavesService.new()
	Services.register(waves_service)
	mock_game_service = partial_double(GameService).new()
	Services.register(mock_game_service)

	mock_game_service.start_game(load("res://src/test/test_game_mode.tres") as GameMode)
	waves_service.next_phase()

	player_unit = mock_game_service.get_state().player_board.get_all_values()[0]

func after_each():
	Services.remove_all()

var evaluate_condition_params = ParameterFactory.named_parameters(
	["test", "get_unit", "get_rng", "expected_res"],
	[
		["fail condition if unit is not valid", func(): return null, func(): return rng, false],
		[
			"fail condition if rng is not valid",
			func(): return player_unit,
			func(): return null,
			false
		],
		[
			"fail condition if unit is not in the board",
			func(): return Unit.new("test_player_unit", rng),
			func(): return rng,
			false
		],
		[
			"pass condition if parameters are valid",
			func(): return player_unit,
			func(): return rng,
			true
		]
	]
)

func test_evaluate_condition(params = use_parameters(evaluate_condition_params)):
	var effect = EffectConsume.new(Effect.new())
	var condition = effect.evaluate_condition(params.get_unit.call(), params.get_rng.call())
	assert_eq(condition, params.expected_res, params.test)

As you can see the variable rng is populated in the before_all function, while player_unit in the before_each, and therefore they are both null until runtime. But I need rng to be valid to initialize the variables of type Unit, who requires it in their constructor; and also they are parameters to the function I am testing (evaluate_condition).
Let me know if you have another solution to my problem, I am open to suggestions.
Thank you for your time and have a nice day 👋
Matteo

I do actual a small test to evaluate how to achieve this, and it should be possible to resolve the test parameters without using extra callable.
The actual problem is just the parameters hold by the test suite instance are not propagated to the test parameter resolver.
So looks like it would be easy to solve it ;)

Glad you are making progress 💪
I can see the node C is correctly created, and if I try to reproduce this test, it expectedly does not work in the current version of GdUnit4 👍


refactor(virtual_traffic_light): move to utils for unit test

Description
move some functions to utils for unit tests
Related links
Parent Issue:

https://github.com/autowarefoundation/autoware.universe/pull/9107

How was this PR tested?
2024/10/17 https://evaluation.tier4.jp/evaluation/reports/12a8ef10-d489-5d4e-bcba-cb48a51df2ad/?project_id=prd_jt
Notes for reviewers
None.
Interface changes
None.

Effects on system behavior
None.

@tkimura4 @shmpwk
could you please approve as code owner? :bow:


Refactor

Refactor
Summary
Refactoring pipeline, release_pipeline, docker-compose and README.md

:tada: This PR is included in version 1.0.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Cosmetic interface improvements

Here are some of the improvements to Grist's GUI that would be welcome IMO:

when adding a document, ask for the document name upfront (instead, now, one has to go back to the home page and change the document name, which is definitely not cool)
when addng a table, ask for the table name upfront by selecting its name in the list, a bit like what you do when adding a new column

Here are some of the improvements to Grist's GUI that would be welcome IMO:

when adding a document, ask for the document name upfront (instead, now, one has to go back to the home page and change the document name, which is definitely not cool)
when addng a table, ask for the table name upfront by selecting its name in the list, a bit like what you do when adding a new column

On the first bullet - the document name can be edited in place:
https://user-images.githubusercontent.com/118367/144948018-3f92937f-ca4d-4c80-8601-55b3066462e0.mov
I agree we could certainly do more to highlight this, or nudge user to set on document creation.
Good point about tables!


improve lattice operation performance

By adding some fast passes in lattice operation implementations.
This should improve performance a bit for cases where there are many AllEscape.

Codecov Report

Merging #74 (63e8762) into avi/exception2 (5c537dd) will decrease coverage by 0.04%.
The diff coverage is 85.45%.

@@                Coverage Diff                 @@
##           avi/exception2      #74      +/-   ##
==================================================
- Coverage           78.28%   78.23%   -0.05%
==================================================
  Files                   3        3
  Lines                 907      942      +35
==================================================
+ Hits                  710      737      +27
- Misses                197      205       +8

Impacted Files
Coverage Δ

src/EscapeAnalysis.jl
86.89% <85.45%> (-0.48%)
:arrow_down:

Continue to review full report at Codecov.

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


Docker upgrade

Splits docker-compose.yml accross repostiories, efftively creating services with microservices.
Upgrades some of the docker-compose.yml files:

Upgraded version where possible
Added build information which allows commands such as docker-compose build
Specifies 'OMS' docker network.
Greatly streamlined automated testing instructions
Replaced oms_setup.sh with oms.sh, which I consider to be better in just about every way (also the oms_setup.sh does no longer work with the new docker-compose.yml split)

See https://github.com/AEGEE/oms-neo-core/pull/49
Very similar to https://github.com/AEGEE/oms-docker/pull/30

I Consider this to have the following advantages over https://github.com/AEGEE/oms-docker/pull/30

Slightly improved docker-compose.yml files.
Includes testing + deployment streamlining
Specifies the docker network
Offers some more flexibility in the 'main' script: oms.sh by providing build/down/push options.
Does not have deprecated files such as docker/oms_setup.sh and oms-core/docker/build.sh

Left a detailed comment on #30, worth reading as well when considering this PR.
Important part: I will add support for events / registry if you approve of the approach I took for docker/core
Additionally, I am open for some naming suggestions/discussions if that proves to be the point of disagreement.

I agree with adding networks, it's nice to isolate stuff from each other, but I won't approve this PR before the service registry and one ms is in here as I have 2 doubts it works and one improvement suggestion for the oms.sh script.
Doubt 1) does volume sharing work in your setup?
Doubt 2) does the network thing introduce any kind of mutual unreachable containers
Improvement 3) instead of calling docker-compose up in every folder with some predefined commands it might be nice to just forward the command line arguments as I did in my script. This way you don't lose support for something like docker-compose logs containername or any other docker features that might be nice to use at some point. Instead of cd-ing into the directories I use the - f option, maybe you can have a look at this

Good to hear you like the network!
I will look into adding the serviceregistry and events back in then.
To answer your questions:

No, if I understand correctly we already were using a network before (in fact docker-compose pretty does dockercommands and combine it within a network - everything done with docker-compose can be done with docker). So pretty much what changed is that we explicitly set the network to connect to, making it easier/better.
Same as above: nothing should be changed.
Will have a look at this!

I will also read up a bit more about the networks things to check I am understanding it correct.
Will probably be tomorrow/later

Okay, in case you opt for the -f option, my doubt in 1) are gone as my attempt worked with the -f option. I know that docker-compose just uses docker behind, but it renames some things, like having containernames like omsdocker_omscore_1 and also other volume names. So I can imagine that in case docker-compose already finds another volume with the same name from a previous invocation, it might rename it to omsdocker_shared_2 or something and it ends up being different things. So yeah, it'd be nice if you either check that out or go for the -f option (which would also bring the advantage of 3) ). But notice that in the -f option file-paths are relative to the first docker-compose.yml, which is why I passed an empty docker-compose.yml in the root folder at first.

Found this page:
https://docs.docker.com/compose/extends/
After reading it I fully agree with you to use the -f option.

A couple of new things with the latest 2 commits:

Upgraded docker-compose version to 3.3

This removed volumes_from, making omscore_bootstrap obsolete

To keep individual service clusters (such as omscore + omscore-nginx + etc) indivually runnable by docker-compose, I added a .env file that is used by docker-compose when executing through oms.sh. When running such a cluster individually the missing variables default to empty, still resulting in a correct docker-compose.yml
If we want to support dev/stage/prod environments again we should add a command to oms.sh that makes it load extra docker-compose.yml files that override the default configuration.

I am not sure about the idea with the .env files for isolated running or running in the whole system... Currently the configuration works differently in the microservices, some having a config.json, .env, or something completely different. We could however standartise it in a way, I post on slack for this

@blacksph3re The .env addition is currently only used to resolve relative paths, this is purely for the docker environment, the services should not be impacted by this (the services do not have a .env file, making it work as intended)
Without the .env file present, we either need full path names (doesn't work with multiple developers) or we it would not be possible to run the docker-compose.yml files individually (from their folders)


Finetune MPT-7B with 48GiB of VRAM?

Is there any way to finetune the MPT-7B model with dual RTX 3090's?
Thank you.

You won't be able to do full fine-tuning with that much VRAM, but follow along #64, because LoRA should work (but it isn't supported yet).

Is it possible to finetune with 4x A100 40GB GPUs?


Mom 2023 05 19

What type of PR is this?
Add one of the following kinds:

subproject management

What this PR does / why we need it:
Will add MOM-2023-05-19
Will correct dates within MOM-2023-05-05
Which issue(s) this PR fixes:
n/a
Special notes for reviewers:
Changelog input
n/a
Additional documentation

@eric-murray @jlurien Hope I covered to most important things ... would one of you mind to do a short review?


Update Architecture_zh.md

Fixes #4322.
Changes proposed in this pull request:

Update Architecture_zh.md

Pull Request Test Coverage Report for Build 10054

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 59.217%

Totals

Change from base Build 10050:
0.0%

Covered Lines:
12108

Relevant Lines:
20447

💛  - Coveralls


Branch02 novo

{"response": [{"details": "Findings:\n\n- Potential security vulnerability: The code uses exec() to execute a system command without sanitizing the input. This could allow an attacker to execute arbitrary commands on the server.\n- Hard-coded credentials: The code hard-codes the database credentials in the script. This is a security risk, as the credentials could be easily compromised.\n- Lack of error handling: The code does not handle errors that may occur during the execution of the exec() command. This could lead to unexpected behavior or data loss.\n- Use of deprecated functions: The code uses the deprecated mysql_connect() function. It is recommended to use the newer mysqli_connect() function instead.\n- Lack of input validation: The code does not validate the input provided by the user. This could lead to unexpected behavior or data loss.\n- Poor code organization: The code is not well-organized and lacks proper indentation. This makes it difficult to read and maintain.\n- Lack of documentation: The code lacks documentation, making it difficult to understand its purpose and functionality.\n\nRecommendations:\n\n- Use a secure method to execute system commands, such as escapeshellcmd() or escapeshellarg().\n- Store credentials securely in a configuration file or environment variable.\n- Handle errors properly using try/catch blocks or error codes.\n- Use the mysqli_connect() function instead of mysql_connect().\n- Validate user input to prevent unexpected behavior or data loss.\n- Organize the code properly using indentation and spacing.\n- Add documentation to explain the purpose and functionality of the code."}]}


No tag for v2.3.1?

Not really a big deal I suppose, since it's not published to pypi, but found this project recently and when I installed it today I noticed that I got v2.3.1, but that the repo is only tagged with v2.3.0. Figured someone missed the tag in the release process?

I simply forgot to push the tag up. All set now. Thanks!

And, yes, I really should push to pypi. I'll do this soon.

Awesome, thanks!

FYI. I've uploaded awsrun to pypi.
https://pypi.org/project/awsrun/


feature request: access to waitUntil

The raw FetchEvent has a method waitUntil that is useful when you wish to send a response back to the client and then perform some additional async work.
Expressly does not currently (AFAIK) expose a way to use this function. It would be helpful for some use cases to expose it or something similar.
A workaround (I think) is to use the private property, but this is very ugly and hacky:
// @ts-expect-error: event is private on request
req.event.waitUntil(promise)

Would properly exposing event be a better solution? That way you have access to everything. For example I am using GEO data provided by Fastly with
req.event.client.geo

Yes, exposing event as part of the public API would work for my use case and could be helpful in others like the geo one.

Thank you for your patience on this<EMAIL_ADDRESS>exposes req.waitUntil and req.geo.


Kinematic bodies

I was wondering if kinematic bodies are supported. From my first look at the documentation it seems they are not but perhaps there is a another way to achieve this?

You mean like in box2d? Not currently a feature, but an interesting request. What are the use cases?

Yes, exactly!

Cool, for now the closest thing is probably the manipulation demo, check it out.

Thanks, it seems to solve the issue, just being very slightly more cumbersome to use but I can live with that.
What would happen in the following scenario though, if the dynamic body is falling very fast? Will it go through the pseudo-kinematic body?

Check out #5 which I think relates to what you mean.
Just a thought, maybe try this for kinematic bodies:
Body.setMass(body, Infinity);
Body.setInertia(body, Infinity);

Yeah, so as I see in any case it might happen. ^^
Is setMass and setInertia necessary though, given that my body is static.

If I am not mistaken a kinematic body is one that is not affected by outside forces (and gravity), however it is movable like a moving platform.
In programs such as Unity3d, you can change the x,y position of the kinematic body, for something such as a player and it will still test for collisions of other bodies, so if you run into a wall, you can't pass through it.
Basically it seems as if a kinematic body is something that is only used for collision and trigger detection, everthing else is controlled outside of the body. Would that be a fair assessment?

@TheColorRed that's not quite correct -- a kinematic body in Unity will happily pass through a wall by default, unless you add behaviour for it not to. (For example, check out the somewhat-complicated userland CharacterController2D.) That's the main benefit of kinematic bodies -- you can carefully control their behaviour. (They will collide with and push away dynamic bodies, though.)

Got referenced to this issue from gamedev.stackexchange.com (I'm using MatterJS via Phaser) for a very similar use case (moving a rectangle around as a player, but otherwise treating it as static). Figured I'd link back from here to that Q&A.

The manipulation example is still currently the reference for this topic, though there's a new argument updateVelocity for Matter.Body.setPosition which I think can make it a bit easier.

Correct me if I'm wrong but the manipulation example uses isStatic combined with manual position/velocity updates. This indeed makes the body "rock solid" when it comes to collisions (a primary trait of kinematic bodies), but there's one problem that rules it out as a full replacement for the kinematic type - static bodies don't detect collisions with each other. So if I'd like to use this approach for player-controlled characters in a multiplayer game (whose motion is completely scripted and not a subject for collisions) I'm out of luck.
To summarize the permutations of these properties:

Body Type
Affects Others
Affected by Others
Detects Collisions

Dynamic
✅
✅
✅

Static
✅

Sensor

✅

Kinematic (missing)
✅

✅

This shows how currently in some kinematic use cases one has to let go of either ability to affect others (by choosing sensor) or ability to detect collisions between such pseudo-kinematic bodies (by choosing static body).
Please correct me if I've missed sth.

@karolsluszniak I made a minimal (check the diff) proposal for this in https://github.com/liabru/matter-js/pull/877 several years ago with a long write-up for context, but afaict nobody ever looked at it or gave feedback.

@lostfictions Thank you for the response. Your description in #877 is very comprehensive and informative, definitely beating my own attempt above in clarity (and volume which is news to me ;P). The problem is definitely out there and it does put a question mark over Matter.js for gamedev.
I'm in the process of transitioning Heyplay.io - my indie IO gamedev platform - to TS/JS scripting and I was considering Matter for 2D physics (currently just viewport querying + collision detection w/ event triggering of many circular bodies across large game area) - something that until now was handled by my own code but I'd like to extend to different body shapes and actual collision feedback. Matter has all that + meets my other requirements: doesn't rely on specific world size (like e.g. box2d does), allows viewport queries and has support for collision masking + exclusive grouping, and the API is very clear. My options now will be hacking Matter the way you did in that PR or looking for sth else (e.g. Rapier2d WASM has caught my attention, I'll very likely be experimenting and checking how the memory usage + CPU usage looks for my case in Matter and other libs). Any suggestions are appreciated. Thanks again!


Improve clarity of Find Command in UG

Fixes #197

Codecov Report

Merging #212 (3c3a484) into master (d8be7aa) will increase coverage by 0.03%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #212      +/-   ##
============================================
+ Coverage     62.56%   62.60%   +0.03%
- Complexity      670      673       +3
============================================
  Files            94       94
  Lines          2578     2599      +21
  Branches        334      337       +3
============================================
+ Hits           1613     1627      +14
- Misses          867      873       +6
- Partials         98       99       +1

Impacted Files
Coverage Δ

.../java/seedu/address/model/studyspot/Favourite.java
75.00% <0.00%> (-25.00%)
:arrow_down:

...in/java/seedu/address/logic/parser/ParserUtil.java
82.41% <0.00%> (-1.86%)
:arrow_down:

.../java/seedu/address/model/studyspot/StudySpot.java
90.47% <0.00%> (-1.84%)
:arrow_down:

src/main/java/seedu/address/model/tag/Tag.java
100.00% <0.00%> (ø)

...ain/java/seedu/address/model/studyspot/Rating.java
90.00% <0.00%> (+10.00%)
:arrow_up:

Continue to review full report at Codecov.

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


structuring Server.js

The current server.js file has become cluttered and difficult to manage as it contains a significant amount of code related to routing, middleware, and controller logic. To enhance the maintainability and readability of the code, I propose restructuring the application by separating concerns through the use of routers and controllers.
Could you please assign it to me?

@Manvitha-Vema go ahead

@Yashgabani845 if he is not able to do then please assign me!

@Manvitha-Vema go ahead
Sure,could you also add hacktoberfest label too


Remove the OAS port fields

Related to https://github.com/traefik/hub-issues/issues/913#issuecomment-1874099679
Merge this PR once Granularity is released.
The port field was removed in https://github.com/traefik/traefik-hub/pull/122 and https://github.com/traefik/hub-api-management/pull/130
There is an explanation in the PR that this field was never used, so the assumption is that the port for the OAS is the same as the service port.
If somebody needs a workaround to use the same service but with a different port, they can enter a custom in-cluster URL for the url field like http://customer-app.apps:5555/openapi.yaml or http://customer-app.apps.svc.cluster.local:5555/openapi.yaml

no-merge until the feature is released.

The latest traefik-hub agent release is v2.6.0 from 21 Nov, and both https://github.com/traefik/traefik-hub/pull/122 and https://github.com/traefik/hub-api-management/pull/130 are more recent than that, so I think we still don't have them published, it's only available in the dev image.

Merge this PR once Granularity is released.

This is what still blocking the merge to have a new public agent build.

Updated Hub, I think we can now merge @mloiseleur

It needs to be rebased and tested first

It looks like Rémi has already removed the ports in https://github.com/traefik-workshops/traefik-hub-gitops/pull/42 so now this PR is basically just the update of the agent :sweat_smile:

Tested it with the Prod env, it works as expected :tada:


[Deprecation Warning] TerraDrawGreatCircleMode

As we move towards a more unified approach handling how we handle geographic as well as web mercator geometries, TerraDrawGreatCircleMode will be deprecated in favour of new functionality in TerraDrawLineStringMode. This will have a few benefits:

Unified UX whether drawing on a LineString on a globe or on a web mercator map
Remove the number of built-in modes to maintain
Movement towards a standardised approach where all modes, where appropriate also try to support geodesic drawing

The original mode code can always be copy and pasted an used as a custom mode in your own code if required.

TerraDrawGreatCircleMode is set to be remove on next alpha release

This is deprecated in 0.0.1-alpha.69. Please use the TerraDrawLineStringMode with projection: "globe" and insertPoints if you want to replicate the functionality.


fix(uri-parser): Parse comma-separated option values

Enable parsing of comma-separated option values into arrays.
Fixes NODE-1612

@kvwalker I submitted a PR to the specifications repo to add a test for this in the connection string spec tests


Add number of tasks completed to Users database download

@spMohanty Could this be done quickly? Oula and I need it for the analysis

This has been implemented in the commit : https://github.com/geotagx/pybossa/commit/26e46602b5ec8aae2a7ba311e478575a3ebd0f8f

@spMohanty looks good ill close this now


Error on first header column name

First of all, thank you for your work!
However, I got an issue using your lib : when I export data, I got a comma before first header element...
const dataTest = [{name:"xxxxxx",firstName:"xxxxxx",email:"xxxxxx<EMAIL_ADDRESS>In the exported file, I have :

,"name"

as column name.
Using the link with :
<CSVLink data={dataTest} filename={"export.csv"} className="btn btn-primary" target="_blank" separator={";"}> export </CSVLink>
If you could help me with it it would be great!
Thanks in advance

Looks like the problem lies here:
`data:text/csv;charset=utf-8,\uFEFF,${toCSV(data, headers, separator)}`

should be
`data:text/csv;charset=utf-8,\uFEFF${toCSV(data, headers, separator)}`

Notice the missing comma after \uFEFF

Also seeing this. Can we get a quick fix for this?

This is a problem for me as well

I am also getting the same problem. please fix asap.

Sorry guys! I was in trip the last days. this issue is now fixed with  the NPM release  1.0.8 .


DelayableData

DelayableData for representing the Delay of a RedstoneRepeater

I don't see any issues with the API side.


Relocation without copying

Virtualenv-clone could provide a command-line option to relocate a virtualenv's pathing (/bin shebangs and symlinks) without copying the virtualenv. This would be useful when preparing a virtualenv in a fake root directory for .rpm/.deb generation. A system package build process would create the virtualenv, install all dependencies into it, relocate the paths to exclude the fake root's prefix, and package up the fake root directory.
Creating a virtualenv in a chroot or container under a fake root directory works, but often isn't an option due to build pipelines' limited user accounts.

Maybe rename to "Add support for in-place relocation". Just an idea.


Framework update and Windows fix

Updated to dotnet core 3.1 and netstandard 2.1
Fixed no window display in Windows. No Windows Console gotchas anymore
Updated Readme accordingly

✨  Awesome! ✨


Manual changes to autogenerated files

It seems that on master there have been a few changes to _err.c files done manually, usually adding additional functions.
I can prepare a patch to move them somewhere else, but we should also consider a CI that regenerates them and fails on differences.

I can prepare a patch to move them somewhere else,

Yes, please.

but we should also consider a CI that regenerates them and fails on differences.

I thought we had such a thing. But apparently not.

Please also note that at least some changes can be done manually and it is not a problem if they are. In particular tweaking the error message text if the tweak is done in openssl.txt as well.


Update debian-base image to v1.4.3

What type of PR is this?
/kind cleanup
What this PR does / why we need it:
This should refresh the image while fixing CVEs inside.
Which issue(s) this PR fixes:

None
Does this PR have test?
None

Special notes for your reviewer:
None
Does this PR introduce a user-facing change?

None

Hm
Github rate-limiter failed the request. Either authenticate or wait a couple of minutes

/retest


[DO NOT MERGE] Auto PR to update dependencies of istio

This PR will be merged automatically once checks are successful.
none

@istio-testing: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-cluster_wide-auth.sh
020d65d98be78045fc105e7dbbe80d7a343113c8
link
/test e2e-cluster_wide-auth

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


Adding Probability of Precipitation to one-line output

The default wttr.in weather forecast (curl https://wttr.in/) provides PoP (Probability of Precipitation). This pull request adds the feature for #350

@eRaid6 I've merged it, Nick, but it would not work, because we do not have this property "chanceofrain" for the current condition; this info is time related, so we need some other approach here


Make sure admin_only_all_dbs applies to _dbs_info as well

We missed that in the 3.x versions up until now.
Also some documentation around it with version history.
Fixes #4253

I foresee people coming back and wanting one closed but not the other. Do we really want to make this a single setting or should we introduce a new admin_only_dbs_info config?

Mainly to avoid introducing another config option and since _dbs_info is essentially a fancy extension of _all_docs.


Adding Preact into Riffy Blog

This gonna be lit 🔥🔥🔥
Known Issues

dangerouslySetInnerHTML disappear after re-rendering.

Related PR

#673 Dark Mode!?
https://github.com/gatsbyjs/gatsby/pull/15108

It’s alright, you should wait until it’s stable to see if this fixed the problem, also I forgot to mention: according to your PR of updating from 8 to x, Preact X has build in for Preact compat for using with Preact X. Using Preact X with old Preact compat might be the reason why dangerouslySetInnerHTML break. Also Preact Compat X does has it own createContext, when using these feature you might want to alias Preact/compat to React-DOM instead (or include this instead of React-DOM)
Also when using JSX in Preact, you have to include { h } like how you included React just in case something is wrong.
Long story short, I might try solving this problem and created PR when I had some spare time.

Okay, just create PR merging to master to get all available deploy preview.

Bad news, gatsby-plugin-preact already defined preact/compact
https://github.com/gatsbyjs/gatsby/blob/master/packages/gatsby-plugin-preact/src/gatsby-node.js


[Wait for #1099] [Exporter] Add exporter test to prop test

[Exporter] Add exporter test to prop test

This patch adds exporter test to prop test to ensure that it is working
fine.

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

[Exporter] Add string vector exporter

This patch adds string vector exporter implementation

Exporter will iterate through props (`iterate_props`) and will pass a
generic lambda to be called.

Later, We can retrieve the result by `get_result` if needed.

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #1102. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/1102-202104091912210.76631593704224-7a1a0447dbfc711c8f47a1a37f90bcb6f69498a7/.

:octocat: cibot: @zhoonit, nntrainer/utils/node_exporter.h does not include Doxygen tags such as @file @brief @author @bug. You must include the Doxygen tags in the source code. Please refer to a Doxygen manual at http://github.com/nnstreamer/TAOS-CI/blob/main/ci/doc/doxygen-documentation.md

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1102-202104231747010.16731691360474-aedf9781bf9458f0d41d4dffb194bf57f8c12b21/.

:octocat: cibot: @zhoonit, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnstreamer.mooo.com/nntrainer/ci/repo-workers/pr-checker/1102-202104261458580.59475207328796-aedf9781bf9458f0d41d4dffb194bf57f8c12b21/.

I wonder the STRINGVECTOR exporter method is a kind of preprocessing before export for tflite or nntrainer??
If it is.. then.. I'm not sure they are same enum value.


feat(console): initial tui for component-defn read

Description
Initial TUI Experimentation for read-only operations on component-defn OSCAL model
Related Issue
Fixes #
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Other (security config, docs update, etc)

Checklist before merging

[ ] Test, docs, adr added or updated as needed
[ ] Schema Updates applied
[ ] Contributor Guide Steps followed

Looking for a review on the read-only component-definition features, still need to add some docs - any thought as to where those should go?

Removes the need for that argument check ,improves native cobra flow and should provide more input validation.

So I was thinking about this more and wondering if that truly is more "native cobra" - as the Run command expects args and this will not run without that argument, so I'm wondering why is it bad to have that check (len(args)==0) ? I agree that it's more aligned with our other usage of flags, but also wondering if we should think more about the conventions we've set up for ourselves. If we are constantly having to put -f for a completely mandatory input, is that really desirable? Should flags be more in the realm of optional or intended to have alternative behaviors or additional functionality, as opposed to enforcing mandatory fields (e.g., file inputs)...
Anyway, I can change this, it's more just a thought about why/when to use flags vs args.

Is there any common testing patterns for this model of TUI?
Open to making that a separate deliverable but I imagine we will begin hitting many edge cases where a separation of how the model is visualized is separate from unit testing functions.

Is there any common testing patterns for this model of TUI?

hmmm maybe we could look at adding VHS for testing - might need a human to review the gifs but possibly better than nothing? Looks like this teatest library kind of exists, but the fine print on the repo doesn't guarantee any backward compatibility or future support...

Is there any common testing patterns for this model of TUI?

hmmm maybe we could look at adding VHS for testing - might need a human to review the gifs but possibly better than nothing? Looks like this teatest library kind of exists, but the fine print on the repo doesn't guarantee any backward compatibility or future support...

I'd lean towards TeaTest given that we manage that dependency accordingly. I'd like to review capabilities (again maybe a separate issue) and annotate gaps -> maybe there is room to contribute back.

I'd lean towards TeaTest given that we manage that dependency accordingly. I'd like to review capabilities (again maybe a separate issue) and annotate gaps -> maybe there is room to contribute back.

Ok that's fair. Is that something you'd like me to try and incorporate in this PR or write another issue (file it under tech debt haha) and tackle later? Just trying to make sure there's nothing remaining in my actions list on this one

Removes the need for that argument check ,improves native cobra flow and should provide more input validation.

So I was thinking about this more and wondering if that truly is more "native cobra" - as the Run command expects args and this will not run without that argument, so I'm wondering why is it bad to have that check (len(args)==0) ? I agree that it's more aligned with our other usage of flags, but also wondering if we should think more about the conventions we've set up for ourselves. If we are constantly having to put -f for a completely mandatory input, is that really desirable? Should flags be more in the realm of optional or intended to have alternative behaviors or additional functionality, as opposed to enforcing mandatory fields (e.g., file inputs)...
Anyway, I can change this, it's more just a thought about why/when to use flags vs args.

"native cobra" may not be fully capturing intent - but I do want to be iterating towards both flags and args having more strict control using cobra builtins such that we're improving our intended user experience without having to instrument that behavior for each command.
Things such as combining required flag definitions with different permutations of argument use such that the pattern improves.

I'd lean towards TeaTest given that we manage that dependency accordingly. I'd like to review capabilities (again maybe a separate issue) and annotate gaps -> maybe there is room to contribute back.

Ok that's fair. Is that something you'd like me to try and incorporate in this PR or write another issue (file it under tech debt haha) and tackle later? Just trying to make sure there's nothing remaining in my actions list on this one

New issue to track testing -> would like to gauge interest in getting the testing structure in place prior to additional TUI feature development.

For posterity, #627 opened to address testing

Maybe last item: Can you switch log_level to info in the lula-config.yaml and run:
./bin/lula internal gen-cli-docs

Should only create a doc for the new console command.


ClaimTo Bug

@atbe wasn't aware that this pr been up. i've made similar changes on my PR but it doesn't go through gateway:
https://github.com/nftlabs/nftlabs-sdk-ts/pull/231/files#diff-b9323da2530c9cbff5e0bcab36a37c2191d93fd1ca8e99ec3c36cffaef2f8303


License

Can you mention the license please? Thanks!

I added MIT licence. Thanks for pointing out.


Fix Fatal error on invalid image

If user has uploaded an invalid image the original code would crash when called from template

Looks good to me but can you squash your commits please?

Not quite sure how to squash them as I made the changes directly on github.com. Checked out a local copy of my branch, but can't figure out how to add it to the pull request as it says it's up to date when trying to commit...

Hi @marijnkampf
Have a look at https://docs.silverstripe.org/en/3.2/contributing/code/ for git usage...
Summary: Clone your github fork of the silverstripe repo to you local machine. Locally, checkout patch-6 and use the command 'git rebase -i upstream/master' to squash; you'll get an editor. In all but the top commit line, replace 'pick' with 'squash' and then save. Leave the top line as 'pick'. Use 'git log' to see if all your individual commits got combined into one. Then, use 'git push -f origin patch-6' to send your local patch-6 branch to your github account. This will update any pull request made using your github account to have patch-6 merged into the silverstripe repo. If you haven't already made the pull request for patch-6, go to the silverstripe repo to do so :)
Note: upstream refers to the silverstripe repo and origin refers to the fork of the repo in your github account, which you clone. Use 'git config --list' to verify the upstream and origin are set properly. When you clone your github fork, it should automatically configure git so that origin is your github repo. Hope that helps :) D.

you should be able to do:
git checkout patch-6 # checkout the PR branch
git reset --hard 229a0a7 # reset back to your last commit (you've added a merge that we don't want)
git reset HEAD^ # reset to the parent commit
git commit -a --amend --no-edit # modify the last commit with the current changes (add the ;)
git push -f origin patch-6 # forch push up to your PR branch

Thank you both for the instructions. I've followed Dan's step-by-step, which hopefully has done the trick!

thanks!

Sorry @marijnkampf ! I clearly missed the boat with my "answer"...
@dhensby In your step-by-step, where did you find the 229a0a7 reference ? I couldn't see it anywhere.
An explanation of how to locally manipulate one's changes already made directly on github would be a useful addition to the docs, don't you think ?

@SpiritLevel the hash was referenced in the list of the commits on the PR.

That would be a useful addition, but would probably be quite a big addition as it's expected that users who make edits via GitHub website likely don't have the CLI tools installed locally...

Sorry mate, slight git confusion here...I see 006717a in your screen shot but 229a0a7 in your instructions...should that be 006717a in the reset --hard command ? Or is the 229a0a7 hash no longer visible after squashing ? I'm thinking its the latter.

Yes, exactly, it's no longer visible because the squashing re-wrote the git history and so the commit hash has changed.
My screenshot was just to show where I saw the hash (which has now changed/been removed since the sqaushing).

Perfect :) Thanks @dhensby...helpful, as usual. As for instructions, perhaps one could put a comment in the appropriate docs section explaining that when making edits via Github website one should only make a single commit. If multiple commits are made using Github website the reader can then be directed to the section on code contribution where CLI git use is detailed, squashing in particular, and just add a couple of paragraphs to that explaining the steps you gave above. This would keep the addition small. Maybe I'll take a stab at this....


Support for COS

RN: https://nvidia.github.io/cloud-native-docs/review/pr-77/gpu-operator/latest/release-notes.html#new-features
Review HTML: https://nvidia.github.io/cloud-native-docs/review/pr-77/gpu-operator/latest/google-gke.html

I think the second section Using NVIDIA Driver Manager most of part is duplicated to the part Using Google Driver Installer
Maybe combine the command steps, and separate the different steps towards the two approach
Up to step 7 in Using Google Driver Installer are same for Using NVIDIA Driver Manager except the Ubuntu node image.
then for

Using Google Driver Installer : 1. install Google Driver installer  2. Install Operator
Using NVIDIA Driver Manager : 1. Install Operator with driver enabled

I think the second section Using NVIDIA Driver Manager most of part is duplicated to the part Using Google Driver Installer
Maybe combine the command steps, and separate the different steps towards the two approach
Up to step 7 in Using Google Driver Installer are same for Using NVIDIA Driver Manager except the Ubuntu node image.
then for

Using Google Driver Installer : 1. install Google Driver installer  2. Install Operator
Using NVIDIA Driver Manager : 1. Install Operator with driver enabled

The redundancy is not ideal, but I didn't think they were identical.  The first step in the first procedure is to create a node pool. The first step in the second procedure is to create a cluster.  I also wasn't under the impression that using a ubuntu_containerd image would require applying the node labels or disabling the automatic driver installation.  (Has that changed and the procedure is stale? We can address offline.)
So, based on my understanding that customers either start by creating a node pool with specific node labels and command-line args that aren't common, a middle-of-procedure step to install the driver installer daemon set, and differing arguments to Helm at the end to install the Operator...I felt that was more cognitive load than necessary and could be reduced by separate procedures.

Thanks @mikemckiernan, this is a great start. I left a few comments / questions. My main question concerns the overall structure of the document and whether using the operating systems (COS and Ubuntu) as section headers would improve readability. Happy to discuss this.

I started off by using the OS to organize the info, but because COS and Ubuntu are both supported by the Google driver installer, I felt like it got too messy too quickly.  I revised the intro section and I hope it helps orient readers for the decision to make--driver installer or Operator, and more prominently shows the supported OSes.

Thanks for updating the docs, left a few suggestions!


Bazel processes not being stopped after stopping iBazel causes hot reload to not work

I think this is more of an iBazel issue than a Mesop issue. But I finally figured out why the hot reloading wasn't working for me when using iBazel. This is more of an edge case. Not sure how many people would end up doing this. The only reason I ran into it was because I wasn't sure which script to run, so I started with run_web_dev and run_py_dev when I really wanted cli.sh.
Steps to Repro
I'm using:

iBazel 0.24.0
Bazel  6.4.0
Mac OS Sonoma 14.2.1

Run ./scripts/run_web_dev.sh (terminal 1)
Run ./scripts/run_py_dev.sh (terminal 2)
Next close stop both scripts
Next check that there are still bazel(mesop) processes running - ps aux | grep mesop
Run ./scripts/cli.sh
Try to trigger hot reload at localhost:32123 (iBazel should not be detecting any changes, so won't trigger hot reload thread)

The processes look like this. In this case there are multiple. But some times there is only one. I think it depends on how long iBazel is running though haven't checked if that's the case or not.
base) richard@Richards-MacBook-Pro mesop % ps aux | grep mesop
richard          17038   0.0  2.0 420690800 341632   ??  S     8:59AM   0:08.24 /private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/external/nodejs_darwin_arm64/bin/nodejs/bin/node --preserve-symlinks --require /private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/external/build_bazel_rules_nodejs/internal/node/node_patches.cjs --require<EMAIL_ADDRESS>--require /private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/external/build_bazel_rules_nodejs/third_party/github.com/source-map-support/register.js --expose-gc --stack-trace-limit=100 --max-old-space-size=4096<EMAIL_ADDRESS>--persistent_worker
richard          16993   0.0  0.0 408526320   1008   ??  S     8:59AM   0:00.01 bash<EMAIL_ADDRESS>--node_options=--expose-gc --node_options=--stack-trace-limit=100 --node_options=--max-old-space-size=4096 --persistent_worker
richard          15946   0.0  2.3 420948416 382960   ??  S     8:50AM   0:13.66 /private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/external/nodejs_darwin_arm64/bin/nodejs/bin/node --preserve-symlinks --require /private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/external/build_bazel_rules_nodejs/internal/node/node_patches.cjs --require<EMAIL_ADDRESS>--require /private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/external/build_bazel_rules_nodejs/third_party/github.com/source-map-support/register.js --expose-gc --stack-trace-limit=100 --max-old-space-size=4096<EMAIL_ADDRESS>--persistent_worker
richard          15856   0.0  0.0 408525296    992   ??  S     8:50AM   0:00.01 bash<EMAIL_ADDRESS>--node_options=--expose-gc --node_options=--stack-trace-limit=100 --node_options=--max-old-space-size=4096 --persistent_worker
richard          15847   0.0  5.1 416008688 851056   ??  Ss    8:50AM   1:44.98 bazel(mesop) --add-opens=java.base/java.lang=ALL-UNNAMED -Xverify:none -Djava.util.logging.config.file=/private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/javalog.properties -Dcom.google.devtools.build.lib.util.LogHandlerQuerier.class=com.google.devtools.build.lib.util.SimpleLogHandler$HandlerQuerier -XX:-MaxFDLimit -Djava.library.path=/var/tmp/_bazel_richard/install/3d6628bc87ba9f6bdce44dfed9a168e8/embedded_tools/jdk/lib/jli:/var/tmp/_bazel_richard/install/3d6628bc87ba9f6bdce44dfed9a168e8/embedded_tools/jdk/lib:/var/tmp/_bazel_richard/install/3d6628bc87ba9f6bdce44dfed9a168e8/embedded_tools/jdk/lib/server:/var/tmp/_bazel_richard/install/3d6628bc87ba9f6bdce44dfed9a168e8/ -Dfile.encoding=ISO-8859-1 -Duser.country= -Duser.language= -Duser.variant= -jar /var/tmp/_bazel_richard/install/3d6628bc87ba9f6bdce44dfed9a168e8/A-server.jar --max_idle_secs=10800 --noshutdown_on_low_sys_mem --connect_timeout_secs=30 --output_user_root=/var/tmp/_bazel_richard --install_base=/var/tmp/_bazel_richard/install/3d6628bc87ba9f6bdce44dfed9a168e8 --install_md5=3d6628bc87ba9f6bdce44dfed9a168e8 --output_base=/private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab --workspace_directory=/Users/richard/Projects/mesop --default_system_javabase= --failure_detail_out=/private/var/tmp/_bazel_richard/4fbe097e24ba789ddebddac4ca5258ab/failure_detail.rawproto --expand_configs_in_place --idle_server_tasks --write_command_log --nowatchfs --nofatal_event_bus_exceptions --nowindows_enable_symlinks --client_debug=false --product_name=Bazel --option_sources=

Expected Behavior
Hot reload should work if I edit files
Current Behavior
Hot reload does not trigger due to iBazel not picking up changes for some reason
Workaround
To resolve the issue, I just run killall "bazel(mesop)". Then when I run ./scripts/cli.sh, hot reload works.
So temp fix is to update the scripts to run killall "bazel(mesop)" before starting up ibazel.

Thanks for the detailed info.
Yeah, the framework developer documentation could definitely be improved here. In general, what I do is the following:

Use cli.sh for the majority of Mesop development. Particularly, if I'm creating Mesop apps (examples), I use it, since it more closely resembles the regular Mesop end-user developer experience.
I use run_*_dev.sh if I'm doing a lot of client-side development because cli.sh uses a slower compilation process for the client binaries. That said, cli.sh is pretty speedy so I still use it most of the time.

Feel free to update the scripts.
Also, may be worth reporting this issue with https://github.com/bazelbuild/bazel-watcher.

Closing this because this is more of a bazel watcher issue.
Also, I've updated the hot reload mechanism to become more robust and doesn't rely on ibazel as much (not sure if this will address the issue described here though):
https://github.com/google/mesop/commit/644fe6b030173ea6502ef1210411c9fd4eccc9fb


Status works but write to influx returns "No host specified"

python3 dish_grpc_text.py -s 2 status works returns correctly with current data, but dish_grpc_influx2 returns an error.
I don't see any option to specify a host and the url works just perfect.
python3 dish_grpc_influx2.py -v -u "localhost:8086" -T "" -B StarLink -O BVRanch -s 2 status
Data points queued: 1
Data points queued: 1
Data points written: 1
ERROR: The batch item wasn't processed successfully because: No host specified.

What about also allowing at config file?     gstate.influx_client = InfluxDBClient.from_config_file("influx2.ini")
Great program BTW...

What about also allowing at config file? gstate.influx_client = InfluxDBClient.from_config_file("influx2.ini")

If you just want to read options from a file, you can do so with an @FILNAME arg (see very end of help text). That may not be as pretty as a config file, but it works across all the scripts.
I could still be convinced to add it if you really want it, though, as not all config file options are covered by the command line options.


Read forever

Currently, if the call to read returns an error, we'll return from the goroutine, and subsequent calls to Read will return 0, nil, which will cause the consumer to read forever.
Couple of things:

We should not return from the goroutine.
Calls to read should set an internal err on the reader, and subsequent calls to Read should return that error.

A simple test to repro this:
func TestReader_Err(t *testing.T) {
        c := new(mockClient)

        c.On("GetLogEvents", &cloudwatchlogs.GetLogEventsInput{
                LogGroupName:  aws.String("group"),
                LogStreamName: aws.String("1234"),
        }).Once().Return(&cloudwatchlogs.GetLogEventsOutput{
                Events: []*cloudwatchlogs.OutputLogEvent{
                        {Message: aws.String("Hello"), Timestamp: aws.Int64(1000)},
                },
        }, errors.New("Boom"))

        r := newReader("group", "1234", c)

        b := new(bytes.Buffer)
        _, err := io.Copy(b, r)
}

which hangs forever.


Input Attachments Don't Transition Their Image Layouts (and another possible issue related to descriptors and layouts)

My Setup
I have a command buffer that looks something like this:
(various other passes and copy operations have been edited out for brevity)

AutoCommandBufferBuilder::primary_one_time_submit(
render_ctx.logical_device.clone(), render_ctx.queue.family()
).unwrap()
.begin_render_pass(
color_framebuffers[img_num].clone(), false,
vec!([0.0, 0.0, 1.0, 1.0].into(), [0.0, 0.0, 1.0, 1.0].into())
).unwrap()
.draw(
pipeline_color.clone(),
&win_ctx.dynamic_state,
vertex_buffer.clone(),
vox_set.clone(),
pc
).unwrap()
.end_render_pass().unwrap()
// final tonemapping and gamma correction
begin_render_pass(
post_framebuffers[img_num].clone(), false,
vec!([0.0, 0.0, 1.0, 1.0].into(), vulkano::format::ClearValue::None),
).unwrap()
draw(
pipeline_post.clone(),
&win_ctx.dynamic_state,
vertex_buffer.clone(),
 post_set.clone(), ()
 ).unwrap()
 .end_render_pass().unwrap()
.build().unwrap();

In short, I am performing two render passes: one for generating a rendered image and another for making a post-processed image from the original render. The second render pass's shader has a line that looks like this:
layout (input_attachment_index = 0, set = 0, binding = 0) uniform subpassInput inputColor;
Here I am reading an attachment image that was used in the previous render pass and using it to generate a color-corrected image. However, the validation layer informs me that the imagelayout was not properly transitioned as indicated by fig. 1. I tried to circumvent this by instead utilizing a storage image, which has a guaranteed general layout, but apparently that didn't work, which is indicated by fig 2.
Another Potential issue?
Previously, I have negated these issues by not treating the attachment image as an input attachment, but as a regular binding to a descriptor for the second render pass. Here's an alternate line for that shader I mentioned:
layout (set = 0, binding = 0, rgba32f) uniform image2D inputColor
This method is not without consequence as indicated by fig. 3, which is outputted when creating a descriptor set from the pipeline layout and attachment. This hasn't been too much of a problem for me because I used to just generate the image descriptor sets before entering a render loop, but now I can't ignore it any longer as I am now dealing with dynamic resolution adjustments.
Closing Remarks
Bear in mind that the program I am developing still works in run time, albeit with instabilities and uncertainties that I believe to be indicated in the validation layer outputs.
Regardless, I would be happy to hear if someone could indicate if this whole issue has a fix, if the issue is a clear fault of the api, or if I am just incompetently misusing vulkan, which wouldn't be surprising seeing how this is my first project involving a graphics API.
Validation Layer Errors
Fig. 1
VUID-VkDescriptorImageInfo-imageLayout-00344(ERROR / SPEC): msgNum: 0 - vkCmdDraw(): Cannot use VkImage 0x42bf70000000032[] (layer=0 mip=0) with specific layout VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL that doesn't match the previous known layout VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL. The Vulkan spec states: imageLayout must match the actual VkImageLayout of each subresource accessible from imageView at the time this descriptor is accessed as defined by the image layout matching rules (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkDescriptorImageInfo-imageLayout-00344)
    Objects: 1
        [0] 0x216f23003e0, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-DescriptorSetNotUpdated(ERROR / SPEC): msgNum: 0 - VkDescriptorSet 0x2f99810000000044[] bound as set #0 encountered the following validation error at vkCmdDraw() time: Image layout specified at vkUpdateDescriptorSet* or vkCmdPushDescriptorSet* time doesn't match actual image layout at time descriptor is used. See previous error callback for specific details.

Fig. 2
[0] 0x2f99810000000044, type: 23, name: NULL
VUID-VkDescriptorImageInfo-imageLayout-00344(ERROR / SPEC): msgNum: 0 - vkCmdDraw(): Cannot use VkImage 0x42bf70000000032[] (layer=0 mip=0) with specific layout VK_IMAGE_LAYOUT_GENERAL that doesn't match the previous known layout VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL. The Vulkan spec states: imageLayout must match the actual VkImageLayout of each subresource accessible from imageView at the time this descriptor is accessed as defined by the image layout matching rules (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkDescriptorImageInfo-imageLayout-00344)
    Objects: 1
        [0] 0x138cc57dab0, type: 6, name: NULL
UNASSIGNED-CoreValidation-DrawState-DescriptorSetNotUpdated(ERROR / SPEC): msgNum: 0 - VkDescriptorSet 0x2f99810000000044[] bound as set #0 encountered the following validation error at vkCmdDraw() time: Image layout specified at vkUpdateDescriptorSet* or vkCmdPushDescriptorSet* time doesn't match actual image layout at time descriptor is used. See previous error callback for specific details.

Fig. 3
UNASSIGNED-CoreValidation-DrawState-InvalidImageView(ERROR / SPEC): msgNum: 0 - vkUpdateDescriptorSets() failed write update validation for VkDescriptorSet 0x2f99810000000044[] with error: Write update to VkDescriptorSet VkDescriptorSet 0x2f99810000000044[] allocated with VkDescriptorSetLayout VkDescriptorSetLayout 0x7876fe000000001b[] binding
#0 failed with error message: Attempted write update to image descriptor failed due to: ImageView (VkImageView 0x7e7cff000000003a[]) of VK_DESCRIPTOR_TYPE_STORAGE_IMAGE type is being updated with layout VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL but according to spec section 13.1 Descriptor Types, 'Load and store operations on storage images can
only be done on images in VK_IMAGE_LAYOUT_GENERAL layout.'.
    Objects: 1
        [0] 0x2f99810000000044, type: 23, name: NULL

Update:
I've kinda given up on trying to further test and solve this issue, and I am now just using a number of alternative solutions that evade some of the dead ends brought up here.
If anyone is having similar issues brought up in this post, I have some advice that may help you.

If you're getting the error listed in fig 3, try replacing your image2Ds with samplers. I have no idea why, but it somehow fixed my descriptor set initialization.
Input attachments, at least from what information I can gather, are used for subpasses. I haven't tested this thoroughly, but I am guessing that you shouldn't use input attachments to easily use image data from previous whole render passes. Instead, use samplers as previously said.
For some ungodly and lovecraftian reason, copying images from a framebuffer output to a shader sampler input and then redoing the renderpass that generates the framebuffer output occasionally generates errors when recreating the descriptor sets, and I mean occasionally. Seriously, I have had times where the descriptor sets are recreated hundreds of times, and nothing happens.  Do yourself a favor and create two framebuffers and two descriptor sets that alternate render targets and samplers for two images and build your command buffer with those two render passes. This avoids copying images altogether. If you do this, you will avoid hours of cosmic horror.

Yeah I think input attachments are something do with passing other images around within a renderpass, but I am not completely sure. I have always bound the previous results to a set. Curious though as you stated having issues with that. Are you use the persistent variant, are the pool? The pool is ideal when you need to recreate them often with the same layout.

Yeah I think input attachments are something do with passing other images around within a renderpass, but I am not completely sure. I have always bound the previous results to a set. Curious though as you stated having issues with that. Are you use the persistent variant, are the pool? The pool is ideal when you need to recreate them often with the same layout.

I was passing images between render passes rather than within them. I expect that this was the issue I had, but I am not sure, and I haven't tested it. For now I am shelving the idea of using them until multi-subpass renderpasses are a concern.
Also, I now use fixed sized descriptor set pools instead of just using the persistent descriptor set. Again, I have no idea as to how this changes things in relation to the issue because I haven't tested it, but I am going with the common consensus for now.

Previously there was allocation issues with the persistent variant. They are not intended to be recreated every frame, but it shouldn't cause issues. There should be a notable performance gain with the pools also.


Directive with Controller an ControllerAs vs Directive with ng-controller vs Component

What is the current behavior?
Currently when i use a directive inside a component with ng-controller="Controller as $ctrl", the $ctrl is aliased safely and all $ctrl vars are unique.
Currently when i use a component inside a component, the $ctrl is aliased safely and all $ctrl vars are unique
However if i use a directive in a component using "controller:" and "controllerAs". the components $ctrl variable is overwritten by the directive's $ctrl variable
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://plnkr.co or similar (template: http://plnkr.co/edit/tpl:yBpEi4).
https://embed.plnkr.co/jmskhdNLXIN8xfdq5S2h/
What is the expected behavior?
The controller and controllerAs alias should behave the same as the ng-controller="name as alias"
What is the motivation / use case for changing the behavior?
It's a bug, and if you ask me the controller and controllerAs notation is better than the ng-controller notation in a template
Which versions of Angular, and which browser / OS are affected by this issue? Did this work in previous versions of Angular? Please also test with the latest stable and snapshot (https://code.angularjs.org/snapshot/) versions.
1.5.5
Other information (e.g. stacktraces, related issues, suggestions how to fix)
no, sorry

This "overwriting" happens because your directives have no scope of their own, so they are "poluting" the parent scope.
If you use isolate scopes, the issue goes away.
Closing as it works as expected.
Updated plnkr

BTW, in case it isn't clear: ngController creates a new scope, that's why it isn't poluting the parent scope with it's alias. Your directives would work with scope: true (instead of isolate scope) as well, but most of the time isolate scopes are more appropriate.

I completely understand. Due to using the controller as syntax, i completely stopped using scope when i didn't share variables. Silly me!


ImportError: cannot import name 'StatsdStatsLogger' from 'superset.stats_logger' (/app/superset/stats_logger.py)

Bug description
This ticket reports the same issue that was reported in https://github.com/apache/superset/issues/21067 and which was closed as stale.
We are trying to uptake the superset statsd logging capability as mentioned in the document: https://superset.apache.org/docs/configuration/event-logging/#statsd-logging
from superset.stats_logger import StatsdStatsLogger
STATS_LOGGER = StatsdStatsLogger(host='localhost', port=8125, prefix='superset')

But we are running into below error while starting the superset docker container:
Found but failed to import local superset_config
Traceback (most recent call last):
  File "/app/superset/config.py", line 1704, in <module>
    import superset_config
  File "/app/docker/pythonpath_dev/superset_config.py", line 119, in <module>
    from superset.stats_logger import StatsdStatsLogger
ImportError: cannot import name 'StatsdStatsLogger' from 'superset.stats_logger' (/app/superset/stats_logger.py)
Found but failed to import local superset_config

superset_app          | During handling of the above exception, another exception occurred:
superset_app          |
superset_app          | Traceback (most recent call last):
superset_app          |   File "/app/superset/config.py", line 1704, in <module>
superset_app          |     import superset_config
superset_app          |   File "/app/docker/pythonpath_dev/superset_config.py", line 119, in <module>
superset_app          |     from superset.stats_logger import StatsdStatsLogger
superset_app          | ImportError: cannot import name 'StatsdStatsLogger' from 'superset.stats_logger' (/app/superset/stats_logger.py)
superset_app          | Failed to create app
superset_app          | Traceback (most recent call last):
superset_app          |   File "/app/superset/app.py", line 37, in create_app
superset_app          |     app.config.from_object(config_module)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/flask/config.py", line 227, in from_object
superset_app          |     obj = import_string(obj)
superset_app          |   File "/usr/local/lib/python3.10/site-packages/werkzeug/utils.py", line 611, in import_string
superset_app          |     raise ImportStringError(import_name, e).with_traceback(
superset_app          |   File "/usr/local/lib/python3.10/site-packages/werkzeug/utils.py", line 603, in import_string
superset_app          |     module = __import__(module_name, globals(), locals(), [obj_name])
superset_app          |   File "/app/superset/config.py", line 1704, in <module>
superset_app          |     import superset_config
superset_app          |   File "/app/docker/pythonpath_dev/superset_config.py", line 119, in <module>
superset_app          |     from superset.stats_logger import StatsdStatsLogger
superset_app          | werkzeug.utils.ImportStringError: import_string() failed for 'superset.config'. Possible reasons are:
superset_app          |
superset_app          | - missing __init__.py in a package;
superset_app          | - package or module path not included in sys.path;
superset_app          | - duplicated package or module name taking precedence in sys.path;
superset_app          | - missing module, class, function or variable;
superset_app          |
superset_app          | Debugged import:
superset_app          |
superset_app          | - 'superset' found in '/app/superset/__init__.py'.
superset_app          | - 'superset.config' not found.
superset_app          |

Superset version - v4.0.0
Superset instance - On docker
statsd==3.3.0
python-statsd==2.1.0
How to reproduce the bug

Add the following two lines at the end of the file: superset_config.py

from superset.stats_logger import StatsdStatsLogger
STATS_LOGGER = StatsdStatsLogger(host='localhost', port=8125, prefix='superset')

Start superset docker container and the above error will be thrown.

Screenshots/recordings
No response
Superset version
4.0.0
Python version
3.10
Node version
Not applicable
Browser
Not applicable
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

I think the superset.config it says it's not finding is actually referring to config.py. Is that present? I'm not well versed in this app bootstrapping workflow... maybe @dpgaspar can spot a problem here.
If there's not much outcry about something broken here, then it's probably a configuration problem rather than a bug, so we might be forced to migrate this to a Discussion rather than an Issue.

Looks like you're in docker-compose. To repro/debug you can
$ docker-compose exec superset bash
root@4625ad55f961:/app# python
Python 3.10.14 (main, Apr 24 2024, 07:50:19) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from superset.stats_logger import StatsdStatsLogger
>>>

This works for me as is on latest master.
The comment from the error message you provided above seems generic but probably captures the issue:
superset_app          | - missing __init__.py in a package;
superset_app          | - package or module path not included in sys.path;
superset_app          | - duplicated package or module name taking precedence in sys.path;
superset_app          | - missing module, class, function or variable;

Just checked and I was able to configure STATS_LOGGER exactly as the documentation says

Sounds like it's a config issue, not a bug. I'll close this for now, but I'm happy to move it to a Q&A Discussion if you'd like. Just say the word :)

Thank you all for your comments/answers.
I tried connecting to the docker container and ran the above commands:
docker exec -it superset_app bash
root@e24559e47f80:/app# python
Python 3.10.14 (main, Apr 10 2024, 04:55:18) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from superset.stats_logger import StatsdStatsLogger
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'StatsdStatsLogger' from 'superset.stats_logger' (/app/superset/stats_logger.py)
>>>

I am getting the same error. I am not sure what is wrong in my config file or in my env vars file.
Let me try configuring this statsd in our kubernetes pod as the configuration style is helm based and is different from docker compose. If it works in kubernetes then we can skip this in docker compose as we want to get this working finally in kubernetes.

I just tried importing StatsClient from python console and that is also failing.
>>> from statsd import StatsClient
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python3.10/site-packages/statsd/__init__.py", line 2, in <module>
    from statsd.client import Client
ImportError: cannot import name 'Client' from 'statsd.client' (/usr/local/lib/python3.10/site-packages/statsd/client/__init__.py)

pip freeze | grep stats
python-statsd==2.1.0
statsd==4.0.1

Not sure how can statsd be a problem in importing here.

I think I am able to avoid this issue.
Currently I am using statsd 4.0.1 version. I tried moving to 3.3.0 version and it worked fine.
I am assuming the reason why it is working for others with statsd 4.0.1 version and not in my env is that I am installing other database dependency libraries that might have cause conflict in one of them.
If others also run in to this issue then though try switching the version of statsd and retry.

If we know for sure that certain versions of a lib work or don't work, we should set that range here: https://github.com/apache/superset/blob/master/pyproject.toml#L196

Moving from 4.0.1 to statsd >= 3.3.0 in setup.py worked for me also


Input Next validation

Included in this PR:
validationStatus prop on InputNext
Error and Warning adornment components

One problem with this currently is read only styles in FormField override the background of an Input with status background
Design POV - error or warning Inputs shouldn't be allowed to be disabled/readonly
I think ideally we would have a :not:has(... input with status children) on the readonly styles... but for now, what's the best way to solve?
cc @alycrys

Is variant being disregarded when validationSatus is applied?

there will always be background & border in both variants now, so yes

check label hover when validation applied

fixed

I'm not too sure about having a StatusAdornment component. It will not be used by its own. Not sure what the guidance would be here. @joshwooding any thoughts on this?

I'm not too sure about having a StatusAdornment component. It will not be used by its own. Not sure what the guidance would be here. @joshwooding any thoughts on this?

StatusAdornment will be used by Input, Dropdown, ComboBox, DatePicker, Grid and more so it needed to be consumable by them all. I think maybe in the long term it could be added to StatusIndicator but for now I thought it would be easier to create a quick component


Refactor variable type in CPU utility percentage methods

In the CPU class methods currentUtility_Percentage and currentThreadUtility_Percentage, the type of the query variable was changed from std::string& to const std::string&. This was done to prevent inadvertent modification of the query string in those methods, improving code safety. The 'const int&' parameter in currentThreadUtility_Percentage method was also refactored to 'int' for simplicity since integers are cheap to copy.

With this PR, the project builds (and runs) without any errors on MSVC and clang-cl on Windows, as well as gcc on Ubuntu (using WSL). I haven't tested on my Mac yet, but I foresee no problems.

Done. There are now some warnings on the MSVC build, but it works fine.


Seperate core and contrib api files

Fixes #770

Added new options to bleeding edge. Current behaviour is the same.
Trigger deprecation notice when using old parameter, did not add a version since i dont know when it will be removed
Added defaults as per related issue. Behaviour is the same, but can be specified.
Wanted to add a test for a core module, but not sure how so i didnt.

This looks good to me (I'm still a proponent of immediately setting checkCoreDeprecatedHooksInApiFiles to true but I know Matt wants to do it in a separate minor release).
Commenting rather than explicitly approving because I don't know if we can already remove checkCoreDeprecatedHooksInApiFiles anywhere. For example from bleedingEdge.neon, in order to prevent people from getting deprecation notices for something they load from the package itself.
Not entirely sure what the difference in behaviour between bleedingEdge.neon and extension.neon is though (since the values also differ in those two files).

Good point about bleeding edge. Updated


Benchmark compiler

Sample code to benchmark the compiler, and compare performance base on parallelism and PMCD size.
For the PMCD, the benchmark duplicates a sample PMCD.  The assumption is that an average PMCD have similar distribution of elements as it gets bigger.  There are scenarios this does not account or cover, and all this try to show that under some use cases, the parallelism will have a positive effect on the compiler.
Benchmark Results

-1 is for the code before the refactoring.  Given the number of synchronize blocks added, the performance impact is noticeable.  We need to reduce these contention points.

Raw Data

(parallelism)
log(parallelism, 2)
(pmcdCount)
log(pmcdCount, 2)
Mode
Cnt
Score

Error
Units

-1
-1
1
0
avgt
25
0.202
±
0.066
s/op

-1
-1
2
1
avgt
25
0.2
±
0.016
s/op

-1
-1
4
2
avgt
25
0.214
±
0.002
s/op

-1
-1
8
3
avgt
25
0.251
±
0.002
s/op

-1
-1
16
4
avgt
25
0.385
±
0.098
s/op

-1
-1
32
5
avgt
25
0.466
±
0.022
s/op

-1
-1
64
6
avgt
25
0.773
±
0.017
s/op

-1
-1
128
7
avgt
25
1.356
±
0.011
s/op

1
0
1
0
avgt
10
0.517
±
0.023
s/op

1
0
2
1
avgt
10
0.765
±
0.064
s/op

1
0
4
2
avgt
10
0.855
±
0.006
s/op

1
0
8
3
avgt
10
1.093
±
0.006
s/op

1
0
16
4
avgt
10
1.533
±
0.014
s/op

1
0
32
5
avgt
10
2.449
±
0.148
s/op

1
0
64
6
avgt
10
4.147
±
0.028
s/op

1
0
128
7
avgt
10
7.605
±
0.054
s/op

2
1
1
0
avgt
10
0.529
±
0.031
s/op

2
1
2
1
avgt
10
0.523
±
0.009
s/op

2
1
4
2
avgt
10
0.71
±
0.006
s/op

2
1
8
3
avgt
10
0.913
±
0.015
s/op

2
1
16
4
avgt
10
1.223
±
0.051
s/op

2
1
32
5
avgt
10
2.083
±
0.109
s/op

2
1
64
6
avgt
10
3.78
±
0.065
s/op

2
1
128
7
avgt
10
7.207
±
0.097
s/op

4
2
1
0
avgt
10
0.506
±
0.005
s/op

4
2
2
1
avgt
10
0.573
±
0.034
s/op

4
2
4
2
avgt
10
0.541
±
0.004
s/op

4
2
8
3
avgt
10
0.744
±
0.005
s/op

4
2
16
4
avgt
10
1.126
±
0.05
s/op

4
2
32
5
avgt
10
1.793
±
0.116
s/op

4
2
64
6
avgt
10
3.451
±
0.401
s/op

4
2
128
7
avgt
10
6.441
±
0.713
s/op

8
3
1
0
avgt
10
0.514
±
0.005
s/op

8
3
2
1
avgt
10
0.542
±
0.028
s/op

8
3
4
2
avgt
10
0.541
±
0.004
s/op

8
3
8
3
avgt
10
0.717
±
0.034
s/op

8
3
16
4
avgt
10
1.008
±
0.019
s/op

8
3
32
5
avgt
10
1.585
±
0.079
s/op

8
3
64
6
avgt
10
2.919
±
0.07
s/op

8
3
128
7
avgt
10
5.586
±
0.221
s/op

16
4
1
0
avgt
10
0.535
±
0.034
s/op

16
4
2
1
avgt
10
0.543
±
0.006
s/op

16
4
4
2
avgt
10
0.556
±
0.027
s/op

16
4
8
3
avgt
10
0.619
±
0.005
s/op

16
4
16
4
avgt
10
0.863
±
0.037
s/op

16
4
32
5
avgt
10
1.306
±
0.038
s/op

16
4
64
6
avgt
10
2.237
±
0.1
s/op

16
4
128
7
avgt
10
4.267
±
0.115
s/op

32
5
1
0
avgt
10
0.518
±
0.019
s/op

32
5
2
1
avgt
10
0.519
±
0.009
s/op

32
5
4
2
avgt
10
0.546
±
0.008
s/op

32
5
8
3
avgt
10
0.622
±
0.005
s/op

32
5
16
4
avgt
10
0.752
±
0.011
s/op

32
5
32
5
avgt
10
1.196
±
0.077
s/op

32
5
64
6
avgt
10
1.963
±
0.105
s/op

32
5
128
7
avgt
10
3.655
±
0.193
s/op

64
6
1
0
avgt
10
0.548
±
0.035
s/op

64
6
2
1
avgt
10
0.54
±
0.027
s/op

64
6
4
2
avgt
10
0.556
±
0.013
s/op

64
6
8
3
avgt
10
0.631
±
0.007
s/op

64
6
16
4
avgt
10
0.759
±
0.007
s/op

64
6
32
5
avgt
10
1.172
±
0.055
s/op

64
6
64
6
avgt
10
1.992
±
0.109
s/op

64
6
128
7
avgt
10
3.601
±
0.21
s/op

128
7
1
0
avgt
10
0.502
±
0.013
s/op

128
7
2
1
avgt
10
0.545
±
0.006
s/op

128
7
4
2
avgt
10
0.551
±
0.023
s/op

128
7
8
3
avgt
10
0.608
±
0.013
s/op

128
7
16
4
avgt
10
0.743
±
0.014
s/op

128
7
32
5
avgt
10
1.097
±
0.042
s/op

128
7
64
6
avgt
10
1.988
±
0.092
s/op

128
7
128
7
avgt
10
3.657
±
0.185
s/op

Pivot
-- | log(parallelism, 2) |   |   |   |   |   |   |   |
-- | -- | -- | -- | -- | -- | -- | -- | -- | --
log(pmcdCount, 2) | -1 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7
0 | 0.202 | 0.517 | 0.529 | 0.506 | 0.514 | 0.535 | 0.518 | 0.548 | 0.502
1 | 0.2 | 0.765 | 0.523 | 0.573 | 0.542 | 0.543 | 0.519 | 0.54 | 0.545
2 | 0.214 | 0.855 | 0.71 | 0.541 | 0.541 | 0.556 | 0.546 | 0.556 | 0.551
3 | 0.251 | 1.093 | 0.913 | 0.744 | 0.717 | 0.619 | 0.622 | 0.631 | 0.608
4 | 0.385 | 1.533 | 1.223 | 1.126 | 1.008 | 0.863 | 0.752 | 0.759 | 0.743
5 | 0.466 | 2.449 | 2.083 | 1.793 | 1.585 | 1.306 | 1.196 | 1.172 | 1.097
6 | 0.773 | 4.147 | 3.78 | 3.451 | 2.919 | 2.237 | 1.963 | 1.992 | 1.988
7 | 1.356 | 7.605 | 7.207 | 6.441 | 5.586 | 4.267 | 3.655 | 3.601 | 3.657
Graph

System Information

Laptop Legion 5 Pro 16IAH7H
12th Gen Intel(R) Core(TM) i7-12700H   2.30 GHz
32GB DDR5
64-bit operating system, x64-based processor
Windows 11 Home - 22H2

This PR is stale because it has been open for 30 days with no activity. Please remove stale label or add any comment to keep this open. Otherwise this will be closed in 5 days.

This PR was closed because it has been inactive for 35 days. Please re-open if this PR is still relevant.


[AVM Module Issue]: Documentation indicates support for Azure Cache for Redis Enterprise but throws an error when used

Check for previous/existing GitHub issues

[x] I have checked for previous/existing GitHub issues

Issue Type?
Bug
(Optional) Module Version
0.1.5
(Optional) Correlation Id
No response
Description
I created a module in my code to use Redis Cache AVM
module "redis_cache" {
source  = "Azure/avm-res-cache-redis/azurerm"
version = "0.1.5"
other variables here...
}
This causes an error when tf apply is called
╷
│ Error: expected sku_name to be one of ["Basic" "Standard" "Premium"], got Enterprise
│
│   with module.redis_cache_cluster.module.redis_cache.azurerm_redis_cache.this,
│   on .terraform/modules/redis_cache_cluster.redis_cache/main.rediscache.tf line 10, in resource "azurerm_redis_cache" "this":
│   10:   sku_name                      = var.sku_name
│
╵
I have looked through the azurerm documentation and the code for this AVM. There is no indication that this module only supports azurerm_redis_cache
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/redis_cache
It does not support creating a azurerm_redis_enterprise_cluster resource and a azurerm_redis_enterprise_database to support the cluster
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/redis_enterprise_cluster
https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs/resources/redis_enterprise_database
Please update the documentation according to reflect what the AVM supports.

@yrachakonda - Thanks for the feedback.  I will update the documentation to reflect the correct support items.  Also, can you confirm whether you require Enterprise support? If so, I can add it to the backlog for support in a future release.


Add support gettext

Related with #493
Notes:

Did not add the gettext to the admin area, I think we do not need to translate it. Agree?
The project has resources "/users", UserController and templates, but does not have  UserController. I did not add a gettex to them, it seems they need to be deleted?
The list of industries is stored in the database, we need to think about its localization.

Quick sample translations:

Howdy @Nitrino! This is awesome

Agreed. This part of the site needs some work anyways. 👍  I'd rather no waste people's time making it better.
We should delete that!
This is a good point. We need to think about this one a bit for a couple of reasons:

If anything we want to make this list smaller; consolidate some industries. We've had a free issues opened about this in the past #252
Moving the industries into a file makes it easier for folks to think they can add their own industries, which happened all the time before.
Lastly, I'd very much like to avoid "wasting" translators time with things subject to too much flux.

@nitrino Thank you so much for your great effort. I am off decompressing a bit, I am going back to business tomorrow. I will check it up and all the other stuff that ppl are pushing towards us, I have to say, things are looking really good for this project :)

@doomspork Actually, if we want to limit industries, we can just hardcode it. This way nobody will create a new ones. :trollface:
We can take some industry list tested by time, like this one. Also, this will allow translating industries more easily.

@brain-geek I fear that list is too small. What do you think about merging this and continuing the conversation RE: consolidating the list + moving it to a translatable place into a new issue?

@doomspork That would be an awesome idea! I support that. @Nitrino did a really good job, kudos to him!

Guys, I solved conflicts with master

@Nitrino / @brain-geek now we need to create a few more issues, correct me if I'm wrong:

A strategy to identify and set the locale (url path, browser headers, where in the request flow...)
Translations 🎉

@doomspork Yep, right.
More:
3. The ability to localize the description of companies. Need to discuss.
4. Localization of the list of industries.

@Nitrino I'll get those created and tag you for comments 😁
Thanks so much for all your help


Bug in model.py

In line 84, shouldn't
     image_dims = [self.input_height, self.input_height, self.c_dim]
be
     image_dims = [self.input_height, self.input_width, self.c_dim]

That's correct! Thanks!