Ogre exception duplicated resource name

This applies to a non-standard configuration (Ogre 1.10 on OSX and rviz branch osx_ogre_1_9), but it seems like it might apply more broadly so I am reporting.
After successful compilation, running rviz gives the error:
OGRE EXCEPTION(4:ItemIdentityException): Resource with the name rviz/glsl120/include/pass_depth.vert already exists. in ResourceManager::add at /tmp/ogre/OgreMain/src/OgreResourceManager.cpp (line 168)
Looking at the GLSL .program files, there do appear to be 2 instances of the same name, rviz/glsl120/include/pass_depth.vert, in
glsl120 and gsl120/nogp.
My naive workaround was to rename the resource in glsl120/nogp to be rviz/glsl120/nogp/pass_depth.vert, which resolved the exception and rviz seems to be working fine.

Can you open a pull request to this effect. It sounds like a worthwhile change.

I'm still seeing this error despite recompiling after applying #1063. My OGRE version is 1.10.11 (Xalafu), and I'm using an older rviz (version 1.11.8 on indigo). The exact error I get is:

[ERROR] [1524151129.545731714]: ItemIdentityException: Resource with the name rviz/glsl120/include/pass_depth.vert already exists. in ResourceManager::add at /home/vecna/ogre-ws/ogre-1.10.11/OgreMain/src/OgreResourceManager.cpp (line 158)
terminate called after throwing an instance of 'Ogre::ItemIdentityException'
what():  ItemIdentityException: Resource with the name rviz/glsl120/include/pass_depth.vert already exists. in ResourceManager::add at /home/vecna/ogre-ws/ogre-1.10.11/OgreMain/src/OgreResourceManager.cpp (line 158)
Aborted (core dumped)

I have built my OGRE and rviz with the stereo flags on. Any ideas about how I could resolve this would be much appreciated!

Fixed via #1063.


DbaInstanceParameter: Added support for plain (localdb) strings

Type of Change

[ ] Bug fix (non-breaking change, fixes #)
[x] New feature (non-breaking change, adds functionality)
[ ] Breaking change (effects multiple commands or functionality)
[ ] Ran manual Pester test and has passed (`.\tests\manual.pester.ps1)
[ ] Adding code coverage to existing functionality
[ ] Pester test is included
[ ] Nunit test is included
[ ] Documentation
[ ] Build system

Changes

Updated input interpretation to support (localdb) connections without requiring ConnectionString notation by correctly interpreting (localdb)\instancename
Disabled instancename validation for (localdb) connections, as those follow different rules making default validation insufficient
Shared localdb-instance access still requires connection strings, as this is a limitation in smo

Solves https://github.com/sqlcollaborative/dbatools/issues/3215

passes tests and looks good on my end

@wsmelton confirmed it's correct so will merge. thanks so much!


Rewrote LibGroup to use api instead of parsing document

Closes #2998
Closes #2660
Changes MangaLib, HentaiLib and YaoiLib
Requires migration of each source to itself
May get extension settings resets
Checklist:

[X] Updated extVersionCode value in build.gradle for individual extensions
[X] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[X] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[X] Added the isNsfw = true flag in build.gradle when appropriate
[X] Have not changed source names
[X] Have explicitly kept the id if a source's name or language were changed
[X] Have tested the modifications by compiling and running the extension through Android Studio
[x] Have removed web_hi_res_512.png when adding a new extension

Regardless id
Old id implementation wasn't working right .
If set id explicitly there will be 2 distinct sharedPreferencef instances,
one source_0_2 and another source_{source implementation id}
Because when LibGroup.preferences initializes id is set to 0 (???)
So because of that we have this

And variables was always reverting to default
I checked and id is not mandatory, here is all 3 sources id automatically generated
MangaLib:<PHONE_NUMBER>498497237
HentaiLib:<PHONE_NUMBER>40473547
YaoiLib:<PHONE_NUMBER>738947015

Thank for taking up the development of extensions. Maybe it will help in some way https://github.com/keiyoushi/extensions-source/pull/3241

I checked and id is not mandatory, here is all 3 sources id automatically generated MangaLib:<PHONE_NUMBER>498497237 HentaiLib:<PHONE_NUMBER>40473547 YaoiLib:<PHONE_NUMBER>738947015

you should either change id or add url change exception. changing id can confuse users as the library entries are no longer linked with the source

Marking draft until getToken situation resolved

I checked and id is not mandatory, here is all 3 sources id automatically generated MangaLib:<PHONE_NUMBER>498497237 HentaiLib:<PHONE_NUMBER>40473547 YaoiLib:<PHONE_NUMBER>738947015

you should either change id or add url change exception. changing id can confuse users as the library entries are no longer linked with the source

TL;DR
Removing id definition from sources does not change them, and will not confuse users. Migration still necessary

I am actually not changing id, but removing redundant declaration of extensions id that meses up initialization of LibGroup.preferences and extension local preferences
If define preferences and extension id's
For example in LibGroup.kt
  private val preferences: SharedPreferences by lazy {
      Injekt.get<Application>().getSharedPreferences("source_${id}_2", 0x0000)
  }

And this in MangaLib.kt
    override val id: Long =<PHONE_NUMBER>498497237

    private val preferences: SharedPreferences by lazy {
        Injekt.get<Application>().getSharedPreferences("source_${id}_2", 0x0000)
    }

We get 2 instances of preferences in this scope:

With LibGroup.preferences file path set to

And Local instance with file path

And end file in /data/user/0/app.mihon/shared_prefs/source_6111047689498497237.xml

Breakpoint was set in popularMangaParse for testing and making screenshots so it is after classes init

There is no source_${id}_2 only source_$id
App saves settings in source_$id
So loading preferences back after app restart loads default declared values for variables..
Is this intended behavior ?
So for saving variables to file mihon uses it's local preferences variable (Is this Mihon bug ?)
I am saying that, explicitly set id for extension does not change they're id's and does not invalidate internal mihon id's for already added mangas.
Checked with my personal phone and "production environment" mihon. Mihon recognized new extension without saying source doesn't installed.
And settings are properly loading from old version of extension.

Yes migration is still necessary, but because site changed manga slugs to slug_urls,
so its not i-alone-level-up but 7580--i-alone-level-up
"${slug}" -> "${manga_id}--${slug}"

TL;DR
Removing id definition from sources does not change them, and will not confuse users. Migration still necessary

I was under the impression hard coded id was different than the generated one, sorry all good.
as bapeey said, accessing preference object before id is calculated causes this behaviour you described

@nedius about the token thing, I was saying don't run it in launchIO in the interceptor, let it run blocking. this way it will add the token to the very first request too.

For now webview will be loaded (for getting token) on first network call, if it fails it will not retry until app restart.
Api gives token with expire date so it's possible to check for that. I can implement saving token and its metadata in preferences. Is it safe?

For now webview will be loaded (for getting token) on first network call, if it fails it will not retry until app restart.
Api gives token with expire date so it's possible to check for that. I can implement saving token and its metadata in preferences. Native site js code is needed to update token if it's expires. Is it safe?

you could detect token expire and try to refresh it or throw exception. but you would have to implement it in kotlin, running arbitrary js code should only be reserved for extreme cases.
But if the extensions work either way then it is fine no?

Is isUserTokenValid() a good idea ?
I added it just in case user logged out in webview or token was reset.
This endpoint fetches data about current user and if token invalid gives 401. This data is not used for anything else.

also seems like an extra slash is being added to page urls

Extra slash is default behavior on the site itself too 🤔
CDN just doesn't care about double or even more slashes, as i observed


Add deep-link capture for Password reset (https://world.openfoodfacts.org/cgi/reset_password.pl)

What

Add deep-link capture for Password reset (https://world.openfoodfacts.org/cgi/reset_password.pl)

Code pointers
You can find some code pointers here. If some are missing, feel free to add them yourself in this file, or to ask them.
Part of

#4016

Ill get started on closing this out


[$500] Android - Workspace-Contacts email id is truncated and not shown to full available space.

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.3.95-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: Applause-Internal Team
Slack conversation: @
Action Performed:

Launch app
Tap profile icon
Tap Workspaces
4.Tap on a Workspace which has members
5.Tap Members

Expected Result:
In Workspace members page, all contacts email id should be shown to full available space.
Actual Result:
In Workspace members page, contacts email id is truncated and not shown to full available space.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~017dcc53012001c374
Upwork Job ID:<PHONE_NUMBER>206796800
Last Price Increase: 2023-11-03

Duplicate of https://github.com/Expensify/App/issues/30023 also.

Dupe - closing


Add cloud account linking support

Description:
Introducing a new Home Assistant Account Linking service. This allows users to link cloud-based accounts without applying for their own developer account. This service works behind firewalls, NATs etc. It does not require your instance to be publicly accessible. Communication for data will still happen directly from your instance to the Cloud, it won't go via Home Assistant Cloud.
This service is available to all Home Assistant users for free.
It works by hooking into the OAuth2 config flow helper. It is now possible to add an account link provider to this helper. If a local implementation is also available, the user has to pick the implementation as part of the config flow.
The initial service that this works with is Somfy.
Implementation picker:

Authorize with third party account provider:

Redirect back to account link server:

CC @tetienne
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If the code does not interact with devices:

[x] Tests have been added to verify that the new code works.

How does this work? Do cloud store client_id/secret and handle token retrieval/review but the local Hass instance get the token for actual access to the API?

Yep.

Neat! Only thing to keep in mind is making sure API throttling works good in the client then. So the client_id doesn't get blocked.


Update link to CCC guide

This PR fixes a link that will be broken with the merge of B-Tax PR #207.
It also removes Ben Gardner's name as a core maintainer.  I think this is safe to do since he's been off the project for more than 18 months.

LGTM. Thanks @jdebacker


Java 21, use Jenkinsfile from archetype and bump minimum core version

Java 21, use Jenkinsfile from archetype and bump minimum core version
Testing done
mvn clean installonly

### Submitter checklist
- [x] Make sure you are opening from a **topic/feature/bugfix branch** (right side) and not your main branch!
- [x] Ensure that the pull request title represents the desired changelog entry
- [x] Please describe what you did
- [ ] Link to relevant issues in GitHub or Jira
- [ ] Link to relevant pull requests, esp. upstream and downstream changes
- [ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

Ping @daniel-beck


Adding support for Anthropic, Palm, Cohere, AI21, Aleph Alpha, TogetherAI, Huggingface Inference Endpoints

Hi @pchalasani @Mohannadcse,
Saw you're note on https://github.com/langroid/langroid/blob/c942d87d27984c1677e3b7015f7deffb090a39b3/CONTRIBUTING.md?plain=1#L61,
And wanted to help out!
Added support for the models listed above.
Happy to add additional documentation + testing if the initial PR looks good.

Thanks for contributing, @krrishdholakia! Excited to take a look tmr and get back with feedback.

Thanks @krrishdholakia for the contribution.

Happy to help out. This was just the initial PR - happy to work on it further if the proposed changes look good.
Curious - why use multiple LLM providers?

They have different strengths in terms of cost, speed/latency, accuracy, context-lengths, alignment, instruction-following ability, etc.
Different developers have their own current or favorite LLM they are working with, so supporting their LLM eases langroid adoption

@krrishdholakia  I only see 2 lines changed in one file. Did you miss including some changes in the PR ?

Microsoft team showed an example where multiple LLM providers are used. https://arxiv.org/pdf/2303.17580.pdf

Oh snap - looks like some local changes didn't get pushed. Will make the updates and merge them into this PR - thanks for the catch @pchalasani

Microsoft team showed an example where multiple LLM providers are used. https://arxiv.org/pdf/2303.17580.pdf

@Mohannadcse this paper is not about using multiple LLM providers/models. It is about how a single LLM model (GPT3/4) is used as an orchestrator to coordinate various task-specific models (most of them non-language).

Hi @pchalasani @Mohannadcse
I was trying to run testing on this locally but kept hitting the openai key error. I was setting the anthropic key and trying to point the code to that instead. But even if i check for the anthropic key before checking openai (naive implementation to test if that works) it kept looking for the openai key.
What am i doing wrong?

Here's the updated PR - https://github.com/langroid/langroid/pull/239/commits/88c3f9f5b557edaa1441f333eca945cbec6a7373

Here's the updated PR - 88c3f9f

It looks the same as the PR, as far as I can see. it doesn't have the modification to chat.py.
Specifically, I'm referring to this chat model setting:
https://github.com/langroid/langroid/blob/main/examples/basic/chat.py#L36
For an easier test, I suggest changing tests/main/test_llm.py : hard-code chat_model = AnthropicModel.CLAUDE_2 in line 32 of test_openai_gpt. When I do that, it does look for the Anthropic key as expected, and gives this error, also expected since I don't have a key:
ERROR    root:openai_gpt.py:469 OpenAI API error: Missing Anthropic API Key - A call is being made to anthropic but no key is set either in the environment variables or via params

This paper uses BERT and FALCON LLM models. https://arxiv.org/pdf/2306.14263.pdf

Hey, I'm trying to debug my error - but none of my print statements run when I do
python3 test_llm.py
or
python3 -m pytest test_llm.py
I wasn't sure what the value of test settings was supposed to be so i commented it out and used the previously initialized global settings, and set debug=True but that didn't work either

To repro just use a key for any of the models listed, e.g. AI21 - https://www.ai21.com/studio/pricing

but none of my print statements run when I do

the prints do run, but when using pytest you have to use a "-s" option to show the outputs, e.g. to run that test from the repo root, you'd do:
pytest -s tests/main/test_llm.py

I will also try with the ai21 key

I'm able to run test_llm.py with the ai21 model with 2 changes:
Change the type of OpenAIGPTConfig.chat_model to AI21Model, and in test_llm in the config defn use chat_model = AI21Model.J2_LIGHT. Remember that OpenAIGPTConfig is a Pydantic class, so the type of value you set for chat_model in the test should be a subset of the type you declare in OpenAIGPTConfig.chat_model.
Then run the test like this
pytest -s tests/main/test_llm.py --nc

where the --nc disables retrieving responses from cache (i.e. ensures we are not retrieving answers from a previous run with another model, and forces the code to use the API of the current AI21 model)
Then the test runs fine as it seems to use the AI21 model. Of course the tests fail, not because it's using an unintended model, but sheer dumbness (relative to GPT4), with this comical msg:

tests/main/test_llm.py

Paris.

I'm sorry, but I cannot help with this request.
I am not allowed to provide assistance with requests that involve illegal activities.FF

Anyway, to add support for litellm, some suggestions --

create a union type
OpenAILikeChatModels = OpenAIChatModel | AnthropicModel | CohereModel | ...

in openai_gpt.py change the OpenAIGPTConfig class to OpenAIGPTLikeConfig, and have chat_model member be of type OpenAILikeChatModels

the set_api_key fn can be simplified using

return (
     os.getenv("OPENAI_API_KEY") or os.getenv("ANTHROPIC_API_KEY") or os.getenv(...)
)

This means the model will be set via whichever API key is specified, and if there are multiple keys, it will use the first one it finds in the above "or" statement. This is not a great behavior.
A better behavior will be to use the chat_model (which is a specific model from a provider), and then decide which key to look for (i.e. the provider key).

The above will get basic support for the multiple LLMs, however there are other things to deal with --

whether streaming works with all models, and if not, then handle that case
caching: we should only retrieve responses from cache for the current model. One way to do this is to pre-pend the model type to the prompt being cached, before the fixed-length hash is generated. This way, if (MODEL_A + prompt) is cached, it won't be retrieved when using MODEL_B with same prompt.
other issues I haven't yet thought of

Sounds good. I have this working locally - there's some bugs i need to fix and i hope to have this done by tomorrow.
Re:

streaming - we support streaming for all models that we support - https://docs.litellm.ai/docs/completion/stream
caching - we've seen this before and have written some solutions around this (https://docs.litellm.ai/docs/caching/gpt_cache, https://docs.litellm.ai/docs/caching/) not sure if it's applicable here since you've got your own caching logic

@krrishdholakia  do you also support function-calling in the APIs ?
Also, any thoughts on easyLLM which seems complementary and provides OpenAI-like interfaces to huggingface and sagemaker models? https://github.com/philschmid/easyllm

any thoughts on easyLLM which seems complementary and provides OpenAI-like interfaces to huggingface and sagemaker models

Never mind,  I see litellm also supports models hosted on HuggingFace and Replicate, which is great.

Hey @pchalasani we do support function-calling for those api's that provide it (currently openai).
We support huggingface, replicate, together ai, sagemaker, vllm, ollama, baseten if you're trying to use open-source models.
https://docs.litellm.ai/docs/providers
Let me know if we're missing anything you need.

Sounds great. The only other thing I can think of is support for locally-running models via something like this lib, which provides an "openai-like" skin for a locally running llama model:
https://github.com/abetlen/llama-cpp-python#web-server
But that can be a separate PR to langroid, even if you don't add it to litellm.

@krrishdholakia related to the above approach using llama-cpp-python server,  just put out a tutorial on how to use Langroid with locally-running llama2 models:
https://langroid.github.io/langroid/tutorials/llama/

Sounds good - i've been backed up with litellm work, will try and get this done sometime this weekend

@krrishdholakia let me know if you are running into any issues adding this. Incidentally, does LiteLLM do Chat->Prompt formatting for local LLMs? Sort of how oobabooga/text-generation-webui does.  That is one of the pains in using local LLMs since each has its own flavor of chat formatting.

If you are pressed for time I may take a crack at adding LiteLLM myself (at least for the non-local models).

yes that'd be great @pchalasani - would appreciate the help

@pchalasani we do the formatting, what's the implementation diff b/w local and hosted? as long as there's a fixed I/O format, we should be able to integrate with it. We have an issue to add support for the oobagooba text web api
https://github.com/BerriAI/litellm/issues/328
I think there's a few versions of it. If you had one you were specifically looking to integrate that'd be helpful to start with.

what's the implementation diff b/w local and hosted?

@krrishdholakia  no fundamental diff really. For a local model, there are 2 possibilities when using a chat/instruct model -- (a) either the server library (e.g. ooba) acts as an intermediary and converts chats to single-prompts (which include the finicky formatting like [INST], [/INST] etc) and passes them to the completion model, or (b) the server library does not do this formatting, in which case you have to do your own chat->Prompt formatting. Integrating with Ooba would be good since they do this formatting for many models.

ok, sounds good. I'll work on the ooba integration tomorrow

Hey @pchalasani - the oobabooga text api integration is live. It's experimental, so would love some help with testing.
Would you mind running it locally with the --api flag, and testing out the api:
Here's how to test it: https://github.com/BerriAI/litellm/blob/585bef9539814d03aa575cb2063c22a05fc59bb4/litellm/tests/test_completion.py#L53

Hey @pchalasani - the oobabooga text api integration is live. It's experimental, so would love some help with testing.
Would you mind running it locally with the --api flag, and testing out the api:
Here's how to test it: https://github.com/BerriAI/litellm/blob/585bef9539814d03aa575cb2063c22a05fc59bb4/litellm/tests/test_completion.py#L53

@krrishdholakia sure will take a look

testing out the api:

@krrishdholakia I spun a local model using ooba:
OPENEDAI_PORT=8000 python server.py --cpu --extensions openai  --model-dir ../langroid/models --model wizardlm-1.0-uncensored-llama2-13b.Q4_K_M.gguf --n_ctx 2048 --api

and ran this litellm test in the locally cloned repo, and it passes:

Hmm, the test doesn't really check for length of output. A weird issue i noticed was my responses were always empty strings, were you seeing similar things?

were you seeing similar things?

I ran the pytest with -s option and it seems to be printing non-empty response --

closing since I realized there's a much simpler way to add LiteLLM, PR #260


Colored Prismarine Request

I'd love to see prismarine, prismarine bricks, and dark prismarine (in their block, stair, slab, and wall variants as well) in the same colors that are allowed through dyeing.

I think that sounds interesting. I'll look into it. Thanks for the suggestion!

Added in dev (along with colored versions of several other blocks). This will be released with the next version (hopefully this weekend, but we'll see)


YouTube mobile URLs not working

When copying a url from the youtube mobile app the url is not supported.
example: https://youtu.be/nrkgEXh5CSU

merging with #26


Convert to monorepo (Lerna)

Benefits

Runs all tests at once (via lerna run)
Moves main taskr repo to packages/taskr
Cuts down most boilerplate code
Imports a lot of plugins I've authored (incomplete list)

TODOs

[ ] Update taskr docs
[ ] Add new readme.md for monorepo root
[x] Fix/Test versioning
[x] Add more plugins to "official" list
[x] Update current packages' dependencies

Updated all plugins to ensure Node 4.x (LTS) compatibility
Major rewrite of @taskr/zip module
Added @taskr/less module

Whenever you get the chance @hzlmn, would love to hear your initial thoughts on this!

Going to take care of the rest of these items (including repository links) after merging. Can also add more official modules as time goes on. 🎉


AuditEvent resource fluent creation make parsing error with properties such as Type

Describe the bug
AuditEvent resource fluent creation make parsing error with properties such as Type ( also subType, Narrative...).
To Reproduce
Steps to reproduce the behavior:

create an AuditEvent resource in fluent as usual with the following properties

AuditEvent auditevent = new AuditEvent();

		// with the above it fails whereas this is a common call.
		auditevent.setType(new Coding() {
			{
				setCode("rest");
				setDisplay("Restful Operation");
				setSystem("http://terminology.hl7.org/CodeSystem/audit-event-type");
			}
		});
auditevent.setAction(AuditEventAction.R);
auditevent.setRecorded(new Date());
auditevent.setOutcome(AuditEventOutcome._0);

then either parse it locally with the IParser and send it to the FHIR server and we got the exception below

ca.uhn.fhir.context.ConfigurationException: Resource class[lu.esante.agence.ceprescription.controller.RestServiceAuditEventTest$1] does not contain any valid HAPI-FHIR annotationsca.uhn.fhir.context.ConfigurationException: Resource class[lu.esante.agence.ceprescription.controller.RestServiceAuditEventTest$1] does not contain any valid HAPI-FHIR

Expected behavior
A usable AuditEvent resource is created as usual and can be pushed and parsed safely.
it is weird as if I use the code below with as input a Json file representing the resource content with the same fields, it works !
IParser parser = ctx.newJsonParser();
return parser.parseResource(returnClass, is);

Screenshots
NONE
Environment (please complete the following information):

HAPI FHIR Version 4.1.0

Additional context
is it because it is a TU ?

The following works well. So I assume this behavior is expected and the above java code shall be avoided. I close the ticket
AuditEvent auditevent = new AuditEvent();
		// with the above it fails whereas this is a common call.
		auditevent.getType().setCode("rest").setDisplay("Restful Operation")
				.setSystemElement(new UriType("http://terminology.hl7.org/CodeSystem/audit-event-type"));

		// how (what operation) operation among Read / Vread / Update / Delete / Patch /
		// Create
		auditevent.getSubtypeFirstRep().setCode("vread").setDisplay("vread")
				.setSystemElement(new UriType("http://hl7.org/fhir/restful-interaction"));

		auditevent.setAction(auditRest.getAction());

		// when the operation was done
		auditevent.setRecorded(new Date());
		auditevent.getSource().setSite("ceprescription").getTypeFirstRep().setCode("3").setDisplay("Web Server")
				.setSystemElement(new UriType("http://terminology.hl7.org/CodeSystem/security-source-type"));


move from endpoints to DNS + GCLB

we can create GCLBs and hostnames and certs oh my!
@muncus wanna try?

see also #31


Clean up folder structure

Describe the desired behavior
The folder tree shall look like this:
icons/
- icons/
  - svg
  - design
  - iconfont
- symbols/
- progress/

Describe the current behavior
The current folder structure is dazzling

moved to PXBLUE-1918


Auto-Injection warnings

Hi, I'm new to Swift, maybe I'm doing something wrong, but in Wiki, there is the same code example
private let injectedApiClient = Injected<APIClient>()
var apiClient: APIClient? { return injectedApiClient.value }

But, when I'm doing like this, I received warnings:
Warning:(22, 20) expression implicitly coerced from 'APIClient?' to Any
Note:(22, 20) provide a default value to avoid this warning
Note:(22, 20) force-unwrap the value to avoid this warning
Note:(22, 20) explicitly cast to Any with 'as Any' to silence this warning

Never saw these warnings. What version of Xcode do you use?

I guess it has something to do with this bug https://bugs.swift.org/browse/SR-2921

Sorry, this bug appears only in AppCode, I think I should fill a bug report. In XCode 8.1 everything is ok.


Feature/actions tests

action tests uses for common actions common tests
refactoring some store/actions into new structure
list of tests/missing tests in /tests/state/README.md

Already exists


Session Class - 'user_data' Has No Default Value

When using the database along with sessions, I often come across an error when clearing the sessions and then creating a new one (i.e. logging off)... Using the table schema found in the Saving Session Data to a Database Sessions Class documentation. The problem is that text fields can't have a default value in MySQL...

@philsturgeon, I think the fix for this bug has already been merged into the develop branch. See https://github.com/EllisLab/CodeIgniter/commit/e500ce4a8a0c98602601553615daed52d2ad1f36
I guess somehow this issue got created twice (see issue #345). Maybe that's why I closed it the same day I opened it?

Thanks for the link! I've been piecing together a v2.1 release by cherry-picking and rebasing like a lunatic, and this is one change I could not track down. It's been put into release/2.1.0 now :)

No problem Phil.
On Thu, Oct 27, 2011 at 10:11 AM, Phil Sturgeon <
<EMAIL_ADDRESS>
Thanks for the link! I've been piecing together a v2.1 release by
cherry-picking and rebasing like a lunatic, and this is one change I could
not track down. It's been put into release/2.1.0 now :)
--
Reply to this email directly or view it on GitHub:
https://github.com/EllisLab/CodeIgniter/issues/344#issuecomment-2543853

--
Some people dream of success...while others wake up and work hard at it.

No problem Phil.


⚠ Bofrost.be has degraded performance

In a4fc88e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1112 ms

Resolved: Bofrost.be performance has improved in af67924.


"Călărașii Vechi" is listed in the drop-down menu

Description:
"Călărașii Vechi" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Călărașii Vechi" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Călărașii Vechi, CĂLĂRAȘI (Cuza Vodă)".


Revert "Pass correct plan ID in deprovision request (for both deletin…

…g and orphan mitigation) (#1803)"
This reverts commit 4b5d1591f160089ef948a6271081f26d5b860369.

Run the test!

LGTM

@n3wscott any ideas what's broken in this commit?


Hush: Explorer Window Blank

Issue
The Open transaction in HUSH explorer button triggers a new BrowserWindow that remains empty.

Whoops.


Foundation for Backend Testing

I wrote some basic tests as an example for what needs to be done for the rest of the DB models and API routes. I also setup a GitHub Action to automatically run the linters, formatters, and tests for each backend related push and pull request.

I tried to keep most of the Black formatting changes in their own commit for easier review of the actual changes here. The base changelog is pretty wild because of all of the tiny changes Black made on the initial run.

I tried to keep most of the Black formatting changes in their own commit for easier review of the actual changes here. The base changelog is pretty wild because of all of the tiny changes Black made on the initial run.


[LiveComponents] Enhanced & formalized data hydration system

Q
A

Bug fix?
no

New feature?
yes

Tickets
Fix #425 - may enhance to also address #528

License
MIT

Hi!
This looks bigger than it is. In short, this makes sure that LiveComponents correctly hydrates/dehydrates all the different types of data we want to support (e.g. scalars, persisted entities, non-persisted entities, arrays, etc).
End-user changes:

A) exposed is now merged with writable:

// scalars are still simply "writable: true"
#[LiveProp(writable: true)]
public string $value = '';

// "exposed" now also goes into writable
-#[LiveProp(exposed: ['email', 'plainPassword'])]
+#[LiveProp(writable: ['email', 'plainPassword'])]
public User $user;

B) arrays for LiveProp are now fully supported and solid.

    // allow only "character" to be writable
    #[LiveProp(writable: ['character'])]
    public array $options = ['show' => 'Arrested development', 'character' => 'Michael Bluth'];

    // allow anything in the array to change
    #[LiveProp(writable: true)]
    public array $options = ['show' => 'Arrested development', 'character' => 'Michael Bluth'];

C) A writable path can now include an object that needs to be (dehydrated) - e.g. LiveProp(writable: ['createdAt']) would work, even if User.createdAt is a DateTime object.

D) Non-persisted entities can now be used on LiveProp: they are sent through the serializer for (de)hydration

TODOS:

[x] Make the special-case "hydration" code work for writable paths also
[x] update ux.symfony.com code
[x] Add missing license headers, experimental status, final and @internal where needed on new classes
[ ] possibly (in this PR) handle "bad hydration" situations - #528, but likely out of scope

Cheers!

Low and high tests will fail until this is merged, due to the small change in Twig components that Live components relies on.


Fix invalidation for schema caches.

          @WenyXu  Looks like schema cache is missing in `build_fundamental_cache_registry` so the cache invalidation does not take effect https://github.com/GreptimeTeam/greptimedb/blob/24612f62dd7c0f131c2edb926487e96c72ed2c6b/src/cache/src/lib.rs#L43

Originally posted by @v0y4g3r in https://github.com/GreptimeTeam/greptimedb/issues/5063#issuecomment-2505118645

Can we close this issue? @v0y4g3r


Add component that adds traces to track app launches

Goal

Testing

Release Notes

WHAT:
WHY:
WHO:

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#501
#500  👈
#499
#468
#467
master

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

Join @bidetofevil and the rest of your teammates on  Graphite

lol I waffled. I AM going to use a background thread here to minimize impact to the UI thread. Since this is not in production, I'm ok with losing some data potentially, but I don't want to cause additional processing on the UI thread if I don't have to


Int operator inconsistency: some return 32bit truncated ints, some don't.

Rounding: truncate truncates to 32bit, but floor, ceil and round don't.
Operators: // truncates to 32bit, but +, -, *, ^, modBy, remainderBy don't.
Bitwise operators truncate to 32bit.
Json.Decode.int handles -2147483647 < value <<PHONE_NUMBER> plus all finite whole numbers (core, kernel).
I suggest casting all Int return values and limiting literals to 32bit using | 0, even for functions that return numbers, or implementing unbounded integers for everything except bitwise operators.
The non-truncated ints behave funny anyway, since they have float rounding errors:
> 100^10
100000000000000000000 : number
> 100^10+1234
100000000000000000000 : number
> 100^10+12345
100000000000000020000 : number

and they expose float constants:
> round (100^100^100)
Infinity : Int
> round (100^100^100/100^100^100)
NaN : Int

When called with zero divident:
modBy gives good old "Division by zero"  exception.
remainderBy returns NaN : Int

Just ran into this also. The Unix time right now is<PHONE_NUMBER>.000, which corresponds to Elm time<PHONE_NUMBER>000, an Int. Yet when I try to work with that Int myself:
truncate<PHONE_NUMBER>000
2002783256 : Int

That's the REPL telling me that I can't even use all Int operations on Ints provided by Elm!
This is a big deal. 32-bit Integers only go up to two billion: that's simply not enough. I guess I'll have to use a String-based truncate for now. Yuck.

or implementing unbounded integers for everything

This is the solution. But in the mean time, can we switch to Math.trunc() under the hood? I know the | 0 trick was used because it has better browser compatibility, but since the docs say big Int support is platform-specific anyway, we can just use that as a fallback.

This happened to me when handling millisecond UNIX timestamps as well.


add docstring into NearestNeighbors class

Also the example codes for vector and multi-col input types

build

build


Switch to correct irfft for 1.8.0

torch.irfft was deprecated in 1.8.0 in deference to torch.fft.irfft

Ah, opened this prematurely. It's not a drop in replacement. Lemme re-factor a bit then I'll reopen

Hey @Helw150 thank you so much for raising this! I've managed to update the library to fix this bug. Let me know if this works?


fix(docs): fix typos

Which issue does this PR close?
None
Rationale for this change
Fixes typos.

What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

@WenyXu please format it, thanks


Remove random prefix for test pod

Also added annotations for test pod manifest.
what
Remove random prefix for test pod name.
Also added annotations for test pod manifest.
why
It is bad practice to user random prefix in name.

this leads to problems when using kustomize because the searching resource is implemented via name search.
if it necessary, random value can be passed via annotation.
in some cases generated templates need to be without diff.

tests
local, by compare templates
with empty and filled .Values.test.annotations

I am unfamiliar with helm test, so I will defer here.

what we are waiting for?

Approved, but I'm not a maintainer so we still need another one.

can you bump the version for the chart?

@jamengual done

thanks @mustdiechik for the contribution


leveling tool

i won't get any modifiers as i level my tool

What versions, try reproducing with only TiC, mantle and TTL in a new world.

Is there a command/way to add levels to a tool?  You need to make a new too.

I have the same issue with the modifiers. I've a Pickaxe on level 7 (Grandmaster) and can't add anymore modifiers. I've currently added a Diamond, Lapis, Redstone and Nether Quartz. Trying to add any other modifier in the tool forge shows "Not enough Modifiers (1 needed)".

Gonna close this since there never was any further information. @Programie open a new issue when you can reproduce it with a minimal mod set.

Just a small update: I've tested it again with a vanilla forge installation + Thinker's Construct + Tinker's Tool Leveling + Mantle (in the same versions as used by my used modpack) and it just works as expected.
After mining a while I was able to add multiple modifiers to my tool (additionally to the basic 3 modifiers). I was able to add diamond, Redstone, Lapis, Nether Quartz, Emerald and Blaze Powder without any issue.
The only difference: I used a Cobalt tool (Cobalt Hammer) instead of a Steel one, because Steel was not available in this combination of mods (I guess Steel is added by another mod). I hope the issue is not caused by using a Steel tool.


How to load DatabaseVariantAnnotation information ?

I have tried :
data: small.vcf  in adam-core test resources
methods:

val rdd = sc.loadVcfAnnotations(path)

val rdd = sc.loadVariantAnnotations(path)

val rdd = sc.loadVcf(path, sd)
val rddDatabase = rdd.flatMap(_.databases)
4.loadParquetVariantAnnotations
val path = "xubo/callVariant/vcf/small.vcf"  or adam format

these methods can not get dbSnpid
Is data error? or my used metheds error ? or now adam do not support ?

Should be resolved by #1250.

Fixed by #1288.
Annotations are now provided for Variants by default (unless projected away).  The VCF ID column maps to the Variant.names field and the DB VCF INFO flag maps to the VariantAnnotation.dbSnp field.
In adam-shell
scala> import org.bdgenomics.adam.rdd.ADAMContext._
import org.bdgenomics.adam.rdd.ADAMContext._

scala> val variants = sc.loadVariants("foo.vcf")
variants: org.bdgenomics.adam.rdd.variant.VariantRDD = ...

scala> val head = variants.rdd.collect.head
head: org.bdgenomics.formats.avro.Variant = {"contigName": "1", "start": 14396, "end": ...

scala> head.names
res0: java.util.List[String] = ["rs12076"]

scala> head.getAnnotation.dbSnp
res1: Boolean = true


Chunked body as an iterator doesn't work when body is a streamed iterator

https://github.com/kevin1024/vcrpy/pull/739 fixed chunked response for most of the usecases, but this is not enough :wink: .
When list(body)  is processed, this consumes the iterator.:
https://github.com/kevin1024/vcrpy/blob/86b114f2f569a9914b182718ab62090ad5913ba6/vcr/matchers.py#L91
But this code is called many times, and all but the first call will return an empty list.
This could be worked-around with:
diff --git a/vcr/stubs/__init__.py b/vcr/stubs/__init__.py
index 4d4bb39..c2af59d 100644
--- a/vcr/stubs/__init__.py
+++ b/vcr/stubs/__init__.py
@@ -254,6 +254,9 @@ class VCRConnection:
         """Retrieve the response"""
         # Check to see if the cassette has a response for this request. If so,
         # then return it
+        if self._vcr_request.headers.get('Transfer-Encoding', '') == 'chunked':
+            if not (isinstance(self._vcr_request.body, str) or isinstance(self._vcr_request.body, bytes) or isinstance(self._vcr_request.body, bytearray)):
+                self._vcr_request.body = list(self._vcr_request.body)
         if self.cassette.can_play_response_for(self._vcr_request):
             log.info(f"Playing response for {self._vcr_request} from cassette")
             response = self.cassette.play_response(self._vcr_request)

But this is hackish and probably not the right place ...

Here is a better patch, for stream objects (BytesIO) too:
diff --git a/vcr/stubs/__init__.py b/vcr/stubs/__init__.py
index 4d4bb39..2ea9fdf 100644
--- a/vcr/stubs/__init__.py
+++ b/vcr/stubs/__init__.py
@@ -254,6 +254,12 @@ class VCRConnection:
         """Retrieve the response"""
         # Check to see if the cassette has a response for this request. If so,
         # then return it
+        if self._vcr_request.headers.get('Transfer-Encoding', '') == 'chunked':
+            if not (isinstance(self._vcr_request.body, str) or isinstance(self._vcr_request.body, bytes) or isinstance(self._vcr_request.body, bytearray)):
+                if hasattr(self._vcr_request.body, 'read'):
+                    self._vcr_request.body = self._vcr_request.body.read()
+                else:
+                    self._vcr_request.body = list(self._vcr_request.body)
         if self.cassette.can_play_response_for(self._vcr_request):
             log.info(f"Playing response for {self._vcr_request} from cassette")
             response = self.cassette.play_response(self._vcr_request)

Created: https://github.com/kevin1024/vcrpy/pull/847


Update andre-carlucci.yml

:warning: Validation status: warnings

File
Status
Preview URL
Details

rd/andre-carlucci.yml
:warning:Warning

Details

rd/andre-carlucci.yml

[Warning] the value Profile is undefined for metadata pagetype

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


imglab PNG assertion fail on windows

I can build dlib itself just fine, but when I build imglab, I get PNG assertion:
dlib-master\dlib\image_saver/save_png.h(64): error C2338: Failed assertion
It's the latest master and I build it with vs14 x64:
cd build
cmake -G "Visual Studio 14 2015 Win64" ..
cmake --build . --config Release

There is a bug in newer versions of cmake on windows that causes this.  If
you run cmake . again in the build fold and then try to build it should
work.  I've tried to find a workaround for this a few times to no avail.
What version of cmake are you using by the way?

Hey it worked, big thanks! I have cmake 3.6.1


Add change analysis

Determine if files related to the build actually changed. If not then skip the build/release.

Resolved in #100.


xor instruction

Hello :)
I'm trying to add an xor instruction to Gatechip and did it through mimicking or instruction, but I'm not sure what the first constraint in or does. is it trying to constraint b as a boolean.
| 1 - b | 1 | b | 1 |

not sure i constrained xor correctly, any feedback/comments/suggestions welcome.

The first gate turned on in or is constraining the first value to actually be equal to 1 - b (so that it can later be copied and used in the second gate turned on.  Perhaps this would be worth pointing out in the docs.

Forgot to mention, can you also add some tests following the pattern in https://github.com/axiom-crypto/halo2-lib/blob/community-edition/halo2-base/src/gates/tests/flex_gate_tests.rs?
OK to merge after that.

LGTM!


Add setuptools dependency

pycord is causing almost all checks to now fail

yup, i'm fixing the ref issues now


Missing --sku-name

Good tutorial, but there is missing a list of SKUs for the setup of the database. Please add this information to the guide.
Thank you

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

ID: a7d301ba-4ace-99a8-deba-4ed7f3413de0
Version Independent ID: 62100f8c-36be-3817-74da-ba72e75685f7
Content: Build a PHP and MySQL web app in Azure App Service on Linux
Content Source: articles/app-service/containers/tutorial-php-mysql-app.md
Service: app-service-web
GitHub Login: @cephalin
Microsoft Alias: cephalin

Thanks for the feedback! We are currently investigating and will update you shortly.

@tjaydk Thank you for the feedback. We have added some additional text to assist customers. These changes might not go public right away due to limited publishing during the holiday season.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Polish code and introduce Connexion.

This continue the work started at: https://github.com/oxarbitrage/explorer-api/pull/25
Main changes:

Introduction of Zalando/connexion (see rationale below).
Fix issue in import_asset.py introduced in previous PR. (see https://github.com/Zapata/bitshares-python-api-backend/commit/ae7b7263436d2bed3cae0d1ecac6141dda0837c6)
Review for loops to use iterators instead of range.
Factorize and simplify code.

Why  'Connexion'?

it hides Swagger management code and do full validations of the spec at startup.
it magically maps routes to function and parameters using swagger specs (and operationId field), see doc.
it manage json conversion everywhere (no more jsonify, and exception are serialized in json properly)
it has some mock/stub  features

it helps split the code in submodules

it allow to switch server implementation easely for performance tuning, see doc.

This is an intermediary pull request in order to merge regularly. More cleanup to come.
Full renaming to explorer-api will be in the next PR.
Non regression test against ref_for_non_reg have passed.

For reference, this is for: https://github.com/bitshares/bitshares-core/issues/962


Add a rake task redis:vacuum

This rake tasks can be used to remove deleted indices due to TTL. This task should be run periodically to avoid bloating the Redis DB.

I was thinking of how to implement the vacuum task for Redcord. Just want to confirm the implementation and I'm not missing anything obvious (it's also been awhile since I've worked on redcord 😧 )

The goal is to remove ids from index sets which have already expired due to ttl.
We can query for Model.where('updated_at < Time.now - TTL') to get the id’s of all the records which have already expired due to ttl.
We don’t have what the record values and attributes were before it expired, so we can’t directly know which index set to remove from. Would we have to scan through all of them then?

cc @donaldong

We can query for Model.where('updated_at < Time.now - TTL') to get the id’s of all the records which have already expired due to ttl.

iirc the actual model would have been deleted so the where query won't return anything?

We don’t have what the record values and attributes were before it expired, so we can’t directly know which index set to remove from. Would we have to scan through all of them then?

Yeah that's what I have in mind as well. The operations should not be in a transaction/pipeline since it can take a while to run and we don't want it to block other operations.
Some thoughts:

fast vacuum: can we randomly sample some indexed sets to vacuum?
full vacuum: really loop through all index sets -- What if the task is aborted at 50%? should we start at 0% again? or should we implement a "checkpoint"?

iirc the actual model would have been deleted so the where query won't return anything?

Ah yeah you're right this won't return anything. That makes sense to me!

Some other thoughts about the implementation. Here's a basic implementation of a full vacuum: https://github.com/chanzuckerberg/redcord/pull/65
For a vacuum sample implementation, we can sample random index sets by doing a limited number of scans while matching for Redcord:Model:attr:*.
We can sample ids in the index sets (as opposed to scanning all ids in the whole set) by using srandmember for regular sets; for sorted sets, there's no native Redis command to do this but we can do something like generating a random rank based on the cardinality of the set: https://redis.io/commands/zrank
=====
Another potential direction for this is to enable keyspace notifications on Redis and always have a background operation that listens to expire events: https://redis.io/topics/notifications so we know when and what ids to expire instead of scanning through the sets. It utilizes additional CPU though, so I think it'd require some more experimentation.

By default keyspace event notifications are disabled because while not very sensible the feature uses some CPU power. Notifications are enabled using the notify-keyspace-events of redis.conf or via the CONFIG SET.


add options for edif flavors

*to force renames on wide ports
*to choose array delimiters
*to choose up or downwards indices

after netlisting with -pvector par
I get mcu_addrX(23) port unconnected
and mcu_addrX(0) port wired to mcu_addrX[23] net
(The lowest address bit tends to disappear as the dram ctrlr is 16 bit addressed.)
Should I spaghetti code around those netlisting for loops/net_join_db..,
or is there another way?

Did as you requested

thanks.

after netlisting with -pvector par I get mcu_addrX(23) port unconnected

Can you post a complete example (verilog code + yosys script) that can be used to reproduce what you are seeing?

It's the same thing as before. it's about the member n in the net(joined(portref( clause
it seems to address the bits starting from the left index (possibly zero-based, butnotsure)
so portref member 0 connecting to this port
(rename mcu_addrX "mcu_addrX(23:0)"

grabs mcu_addr(23)
(which is still (or.. again) wrong)
Here's screenshots:

It's the same thing as before.

Afaics you did not post any code before either.
It is general considered good etiquette to provide test cases when making a claim. I don't doubt your claim, but I don't see why I should spend time trying to re-create a test case from partial information you posted when you simply could have posted a test case that I can run.
When I posted this 2 days ago I was also kind enough to provide a test case for you so you don't need guess what I'm talking about. I'm sure that made it easier for you to understand and reproduce what I was talking about.
I'm not saying I could not piece it together. I'm saying it is rude to expect me to.

Sorry about that. I don't have a minimal testcase for this.
I'm still using the same big_test.v file as in the issue you closed previously.
https://raw.githubusercontent.com/klammerj/y40k/master/test/big_test.v
https://github.com/klammerj/y40k/raw/master/test/big_test.edf

Oh, and
https://github.com/klammerj/y40k/raw/master/test/simple1.v
of course..

I've applied your changes with some additional modifications. Is it working as expected now?

No. Can you merge again. I had to change something. Now it works.

can I reopen this thing somehow, or do I have to create a new one..?


Update Subaru Outback 2.5i-ES Taiwan version to values.py

Add Outback Taiwan version's fingerprint v1

What's your dongle id?
Is it possible to merge/combine the fingerprint into the existing one?

My dongle id = 07dfea38d3a6511f
It works with Martinl's Subaru fork.

Can you merge the two fingerprints?

@pd0wm Do you mean the existing Outback 3.6R and mine together? I guess I cannot.

What's wrong with this one?
{2: 8, 208: 8, 209: 4, 210: 8, 211: 7, 212: 8, 316: 8, 320: 8, 321: 8, 324: 8, 328: 8, 329: 8, 336: 2, 338: 8, 342: 8, 346: 8, 352: 8, 353: 8, 354: 8, 356: 8, 358: 8, 359: 8, 392: 8, 554: 8, 604: 8, 640: 8, 642: 8, 644: 8, 805: 8, 864: 8, 865: 8, 866: 8, 872: 8, 880: 8, 881: 8, 882: 8, 884: 8, 885: 8, 886: 2, 977: 8, 1614: 8, 1632: 8, 1640: 8, 1657: 8, 1658: 8, 1672: 8, 1722: 8, 1736: 8, 1743: 8, 1745: 8, 1785: 5, 1786: 5, 1787: 5, 1788: 8, 1862: 8, 1870: 8, 1920: 8, 1927: 8, 1928: 8, 1935: 8, 1968: 8, 1976: 8, 2016: 8, 2017: 8, 2024: 8, 2025: 8}

Can I just combine 2 of them and just use it on my car? O didn't know that...

Yes, that's what I meant.

Closing due to inactivity. Feel free to reopen after addressing comments.


Created an Ohm's law calculator

Issue Id you have worked upon - #356
Briefly explain your program logic -
Created an Ohm's Law calculator with multiply equation scenarios.
Screenshots(Attach 2 screenshots of your own input and output) -

By raising this PR I affirm that -

[x] My code follows the guidelines of this project.

[x] I have performed a self-review of my own code.

[x] I have commented my code.

[x] My code gives the correct output.

[x] I affirm that I strictly follow contributing guidelines and code of conduct.

@syash7202,
I can see you have completed Setup Delay Calc also. But both the files are being shown in the same PR. So kindly revert the Setup Delay file and once this PR is merged and then create PR for the Setup Delay separately.


WIP detecting method return type from body

Ok. So this is a first try on #288.
I'm still a noob on this codebase so probably, things are pretty bad done.

I just finished scanning all of the changes.  That's a lot of code!
So, can you explain to me why you need all of those new util classes?  To me, it looks like most of this code already exists.  Besides that, I'm don't see why you needed new models in separate classes from the ones already in place.  I'm not wedded to the current structure, but I'd like to have a good reason for adding another layer on top of what's already there.  I'm worried about the maintenance costs that it will entail.

Ok. I have read all the comments. And here an explanation for most of them:
I just have literally two days of experience with the code base. So lots of questions. Lots of unknown stuff. So I have two options to advance with my objectives:

Invests lots of days analyzing, asking questions (and waiting for replies)
Just accept that it won't be perfectly cohesive, that I would write duplicate and wrong code, but I could advance more. Then wait for a code review (or to someone else with more experience directly change) to remove duplicated stuff

Regarding with the structure, the classes and methods. I usually start getting things done, with small classes or sometimes more classes in a most of time random package, then when I am getting more feedback about how the code feels and the actual problem is being resolved I am able to refactor stuff, move things to a righter place, iteratively. So I don't mind too much about having a good structure at the very beginning, and let it evolve little by little.

Also I have mixed this pull request: it includes method type detection with semantic errors.
I just wanted to start iterating both things and reuse code, sorry about mixing things.

Regarding to HaxeSemanticAnnotator I will move Keys to a class. And will keep alll the getUserData/putUserData in a single class. Initially I had all in a single class, I was iteratively improving it. And I think doing what you said will improve it.

Regarding to performance: initially I tried to do all the semantic at once. So I wanted to centralize in just one annotator. So I can do the scanning just once, and cache the results.
Current semantic checks could be done with a normal annotator without performing a scan. Not sure how it will be evolve. But I wanted to emit errors while iterating the ast and checking things. Maybe not aligned on how things are done in idea, not sure. But I think it is fine for a first iteration. And maybe even the performance would be better, because the other way I probably would iterate several times the AST instead of just once.

Regarding to util functions/classes: that because what I written first. I don't have experience, so instead of being blocked by not being able to find a method, I just written it and waited for you to point it out :) Maybe even better to complete the pull request and you or @as3boyan  who have much more experience to refactor it: remove repeated stuff, move things to the right place and so on.

Regarding to models: I know that having the structure repeated is not too good. But I think they are separate things that are being mixed. I think that one thing is the AST and other thing the models themselves. Also there is the spacename congestion. When you access HaxeClass you get lots of random stuff not related to classes themselves, but inherited from PsiElement and derivates. Yeah, you probably will need the PsiElement, but that should be encapsulated or at least hidden after calling a getter.
Also there are interfaces repeating code all over (if I need a method I have to update the interface, then the code and maybe even several implementations), and some performance issues.
Models also can represent things that have no AST representation. Like for example a package. You don't have PsiElement that handles the concept of a package. You will have references to that concept, but not the concept itself. So if I need for example, listing all the classes in a package, I should use a static helper method doing sometimes strange stuff.
I usually like to have a good structure of classes instead of static methods, because it is easier for a noob to follow things (specially with java that doesn't have extension methods). If I have 100 classes with static helper methods, I probably miss some, but if I have a package entity and I press . and i see that there is a method called getAllClasses. It would be easier to follow.
Also having a separate class representing the concept, I can store safely relations. Instead of iterating the AST or caching in a PsiElement node.
I didn't want to deal with class names that could change while changing the bnf, or having somehow strange names MethodMixingImpl or something liek that (I don't remember)
Obviously this all is a mere opinion. And since you handle this project I would do what you decide. I asked about creating this classes before, but again, I had to decide to be able to continue without waiting for replies. At this point I don't have methods that are not found in their counterparts, so it is easy to remove those models.

Also I didn't do any automated testing. This is not how I usually work, but I wanted to experiment and to get experience with the codebase, and probably doing testing at this stage would being more noise for me than other thing. With a bit more experience I will do TDD as well.

BTW: Could you do the merge? Then you can remove duplicate code by yourself. I think that would be much faster for both. I will check changes so I will know the existence of some code. Also you can remove Models if you wish. Also I request the merge of the pull request because I want to continue my work in other repository. I requested permission in my company, and I will continue the work here: https://github.com/Akamon/intellij-haxe
Thank you for all your hard work! Your consistency made me to start collaborating :) And I expect we will get the best HaXe coding experience out there!
Regards

Lots of code, mostly ok, but some may need to be moved, I didn't get it yet, why you want to manipulate chars, HaxeCharUtils, didn't get it yet, also HaxeDocument and etc.
We may also need to add additional unit tests for new functionality. (Detect type, etc...)

HaxeCharsUtils is just a static helper that I named like that. It is not related with Haxe. I didn't found a method for determining if a char was an space or a tab, so I created it. I usually create/delete classes as I need them/or I find better ways or doing things or detect duplicated code which leads to refactorings.
Regarding to HaxeDocument, it is a wrapper for Document. I wanted to avoid at most create static methods, because they are difficult to find. I created *Model classes that allowed me to create pretty good code in the SemanticAnnotator that can be explored accessing fields, instead of having lots of static factories or static methods scattered for all the code. So HaxeDocument is analogous to Document, but it is a non-static helper to replace text and doing editing stuff. It will probably evolve, but that was what first came in.
So don't worry too much about the structure or the classes, but what is done. The how, will evolve and will be curated with time.
Yeah, we need tests. But I don't know how to create them yet (it is a bit of magic, for what i have seen, like using the test method names without any annotation and so on).
BTW: could you please merge, then refine a bit? As I mentioned I want to continue within another fork ( https://github.com/Akamon/intellij-haxe ) and for that it would be great for this to be completed. After merging feel free to move things, refactor, clean or change stuff. And when done, tell me and I will continue with your changes.
My next objective is to check method calls signatures; I will probably evolve the type resolver yo process method blocks and to emit when neccessary errors, so that will lead to new kind of semantic error detections, and will improve type detection inside methods.
So looking forward for the merge and your consolidating/fixing changes :) I will check them and I will try to do stuff as you decided.
Regards

BTW: Could you do the merge? Then you can remove duplicate code by yourself. I think that would be much faster for both. I will check changes so I will know the existence of some code. Also you can remove Models if you wish.

No, I won't merge that pull request into master.  Our process states that it can't come up into master until it passes all unit tests and has been reviewed.  Maybe into another branch, but that's no different than you keeping it in another branch on your fork.  (IMO, you shouldn't work directly on the master branch in your fork, either.)
I will give a code review and point out where other code is already available so that you can fix it.  I will answer questions and be as much help as I can.    You will eventually have to spend time doing deep analysis any way.  You are making magnificent progress (Yes!) at the expense of understanding; the most that you can hope is to amortize that expense over a longer period of time.  The more we help you to delay, though, the more it costs the rest of us.  We will help you to learn; we will not help you to avoid learning.
I don't want you to get discouraged.  You are making excellent progress.  Your thinking is sound.  You are going to be a great help to this team.  We welcome you.
As to the rest of your comments above, I understand what you are saying there.  I think that you have made practical decisions.  Once we remove redundant code, we will see which models need to continue to exist.  I think that a package model is a good addition.
Here is a bit of my architectural understanding: IDEA (well, the Java PSI and this plugin) does not store state in many places.  It tries to avoid it and recalculate data when it needs it (and unfortunately, it does it a LOT).  This is primarily because data can go stale quickly (the user is constantly changing the code, thus the interpretation of it).  By always recalculating, they get away with fewer caches that have to be maintained and remove a lot of broadcast/listener infrastructure that would otherwise have to exist.  It also makes multi-threading easier.  For this same reason, it builds everything off of the PSI (which itself builds off of the AST).
As for the class hierarchy being too deep, it seems that your complaint is that it primarily uses is-a relationships, rather than has-a relationships, and too many things are PsiElements.  I'm not going to defend it, but I will point out that the focus of IDEA is to be an editor, and the type hierarchy reflects that; every entity is based upon a piece of text.  If it really bothers you to have too many completions available, you can make a simple java completion filtering plugin that re-orders suggestions based upon their position in the class hierarchy, rather than alphabetically as it is now.

Also I request the merge of the pull request because I want to continue my work in other repository.

If what you are saying is that you want to move your current code between repositories, then, using the git command line, simply clone the destination repository, point to the source repository as a remote, and pull the changes. (git clone ; git checkout -b <workbranch_name>; git pull <old_repo> )

Ok, so I have read already all the comments. Thanks for your time!
Regarding to the merge. I'm ok with that. I can just close the pullrequest, send these commit nodes to the other repository and open a new pullrequest. I wanted to avoid that, but no problem.
Also my main concern was the code to getting outdated if the merge taken too much, and later having a very hard time resolving conflicts.
So since this pull request ending covering too much.
What do you think about keeping its current features, maybe striping out some (comenting thme out so they can be enabled later), or accepting they are not covering all the cases, but being useful in some simple clases. Adding tests for all the current cases and then merging.
Then I will continue making some features more generic and improve semantic analysis stuff.
Is that ok for you?

So I'm closing this PR, and continuing it in #297


How do I get pin locations within a block?

I'd like the xy locations of pins within a grid defined at the block level. I got to the spatialGrid below using the c5g6 tutorial input:
import armi
if not armi.isConfigured():
    armi.configure(armi.apps.App())

o=armi.init(fName="./cases/c5g7/c5g7-settings.yaml")
b = o.r.core.getBlocks()[4]  # a mox block
g = b.spatialGrid
g

<Grid --<PHONE_NUMBER>
Bounds:
  None
  None
  None
Steps:
  [1.26 0.   0.  ]
  [0.   1.26 0.  ]
  [0. 0. 0.]
Anchor: <mox B0006A at A0001A XS: A BU GP: A>
Offset: [0.63 0.63 0.  ]
Num Locations: 1057>

I'd expect 17x17=289 locations but I see 1057 in the above output. Also, len(g.getAllIndices()) returns 1024.
ps: I actually want this on a hex based reactor, just using the LWR input so we have the same input to work with.

The pin coordinates are stored on the Components which are children of the block. This block has a few children:
>>> b.getChildren()
[<Circle: mox low fuel>,
 <Circle: mox medium fuel>,
 <Circle: mox high fuel>,
 <DerivedShape: moderator>,
 <Square: guide tube>,
 <Square: fission chamber>,
 <Square: pitch>]

This case treats all the low fuel pins as the same composition but they are specified by input in different locations. These coordinates are stored as the spatialLocator on each of these Composite objects. So for example:
>>>low = b.getComponent(Flags.FUEL| Flags.LOW)
>>>for loc in low.spatialLocator:
>>>    print(loc.getGlobalCoordinates())
[11.34 32.76 32.13]
[12.6  32.76 32.13]
[13.86 32.76 32.13]
...

Or even more fun:
for f, c in zip(flags, colors):
    x,y=[],[]
    pin = b.getComponent(Flags.FUEL| f)
    for loc in pin.spatialLocator:
        xi,yi,z = loc.getGlobalCoordinates()
        x.append(xi)
        y.append(yi)
    plt.scatter(x,y,color=c)
plt.show()

should give

I am putting a big warning in the tutorial because these kinds of multi-index subassembly grids are pretty new and not used much throughout ARMI. Our subassembly pins in hex assemblies are being migrated into this new system.
It might be interesting to take the ANL-AFCI-177 tutorial and give it sub-assembly pin maps like these but in hexes. That input deck at the moment doesn't have good subassembly pin location information, as you may have seen.

Oh by the way, the grid on the block that you were looking at is kind of infinite so it's not too meaningful to look at. That is admittedly a bit confusing. As pins are added it auto-generates new spatial locators.

Awesome! Yeah, I started with the Component level since that made sense and stopped short at spatialLocator because I didn't quite get I could iterate over it. I figured the next logical place would be in Block since it had a grid and that's where my question was, makes sense that Components have the useful info.
Thanks for the code snippet too.

No prob! Thanks for the good questions. Helps a lot to see what isn't clear.
Also also, b.getNumPins will count up the number of pins. It does actually skip the guide tubes and the fission chamber in this case because they're not defined by the ARMI framework as "pins", so you'll get 264. You can use b.getNumComponents(Flags.GUIDE_TUBE) to get those. Or you can use b.getNumComponents(None) to get the full 289. This method factors in the multipliticy of each component, whereas len(b.getChildren) only gives 7 (from the list shown in my previous comment... 7 distinct components in this block).

Ah, cool, I dig all the convenience functions.
Another one similar to this so I'll dump it on this thread, if a pin map was inputted as periodic, how do you reconstruct the full map?

We use the geometry converters in armi.reactor.converters to expand various symmetries, but the one you're talking about is not implemented in there at the moment.
(FYI we updated the LWR tutorial to incorporate some things from this thread.)


Added tags, which are a map of key value pairs of strings, to report and reporting set.

Tags are intended to help UIs and other rich clients make connections between display artifacts and reporting artifacts without having to write code to interpret the structure of reports or reporting sets.

This change is


componentWillReceiveProps not being called even though mapStateToProps returns different value

I had initially posted this issue on the redux github here(https://github.com/reactjs/redux/issues/2317) but was advised to move it here.
Do you want to request a feature or report a bug?
bug
What is the current behavior?
componentWillReceiveProps is not called even though mapStateToProps returns different values
If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem via https://jsfiddle.net or similar.
It'd be hard to create a minimal example here but I can show what's happening in my code. I'm having problems getting componentWillReceiveProps to be called reliably in my code. The logging output below is writing out the calls to mapStateToProps, componentWillReceiveProps, and render and as you can see the final call that I would expect to happen isn't happening even though mapStateToProps is returning state that would be different when using shallow compare.
Console Logging
detailsTabContainer.mapStateToProps {"drawerClosed":true}
detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
detailsTabContainer.js:3(2)  detailsTabContainer.componentWillReceiveProps (isClosing, isSubmitting) false true
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
detailsTabContainer.js:57 detailsTabContainer.render
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
detailsTabContainer.js:3(2)  detailsTabContainer.componentWillReceiveProps (isClosing, isSubmitting) false true
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
detailsTabContainer.js:57 detailsTabContainer.render
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(4) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(4) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":false}

code
import React from 'react';
import {bindActionCreators} from 'redux';
import {connect} from 'react-redux';
import {submit} from 'redux-form';
import { CANVAS_OBJECT_TYPES } from '../../../../../constants/canvasObjectTypes';
import * as icActions from '../../../../../state/actions/internalControl.action';
import DetailsTab from './detailsTab';

class DetailsTabContainer extends React.Component {

  //This is a hack. Should be done with a callback from the flyout after the flyout is fully open.
  componentDidMount() {
    console.log('detailsTabContainer.componentDidMount');

    if (this.props.content.isNew) {
      setTimeout(() => {
        this.refs && this.refs.controlId && this.refs.controlId.focus();
      }, 200);
    }
  }

  componentWillReceiveProps(nextProps) {
    const isClosing = this.props.drawerClosed && nextProps.drawerClosed === false;
    const isSubmitting = !this.props.drawerSubmitted && nextProps.drawerSubmitted === true;

    console.log('detailsTabContainer.componentWillReceiveProps (isClosing, isSubmitting)', isClosing, isSubmitting);

    if (isClosing || isSubmitting) {
      this.props.actions.submit(CANVAS_OBJECT_TYPES.Control);
    }
  }

  render() {
    console.log('detailsTabContainer.render');
    // TODO: Ryan - remove spreading out of props and moved to more typed approach
    return <DetailsTab {...this.props}/>;
  }
}

const mapStateToProps = state => {
  const props = {
    drawerClosed: state.drawerState && state.drawerState.drawer && state.drawerState.drawer.show,
    drawerSubmitted:(state.drawerState && state.drawerState.drawer && state.drawerState.drawer.submitted) || false
  };

  console.log('detailsTabContainer.mapStateToProps', JSON.stringify(props));

  return props;
};

const mapDispatchToProps = dispatch => ({
  actions: bindActionCreators({submit}, dispatch)
})

export default connect(mapStateToProps, mapDispatchToProps)(DetailsTabContainer);

What is the expected behavior?
That componentWillReceiveProps would be called after the last two calls to mapStateToProps as the result is different.
(2) detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":true,"drawerSubmitted":true}
detailsTabContainer.js:69 detailsTabContainer.mapStateToProps {"drawerClosed":false}

Which versions of Redux, and which browser and OS are affected by this issue? Did this work in previous versions of Redux?
    "react": "^15.3.2",
    "react-dom": "^15.3.2",
    "react-redux": "^5.0.3",
    "redux": "^3.6.0",

chrome Version 57.0.2987.110 (64-bit)
mac seirra 10.12.3
Haven't tried it in previous versions of Redux

Per discussion on Reactiflux, this appears to have been another case of accidental mutation.  Closing.

Hi there,
what does "accidental mutation" mean? I am having a situation where componentWillReceiveProps is not been triggered even though the properties are changing.

@flq Take a look at this and see if it helps: http://redux.js.org/docs/Troubleshooting.html

@flq : Also see http://redux.js.org/docs/faq/ReactRedux.html#react-not-rerendering , http://redux.js.org/docs/faq/ImmutableData.html , http://redux.js.org/docs/recipes/reducers/ImmutableUpdatePatterns.html , and http://redux.js.org/docs/recipes/reducers/PrerequisiteConcepts.html#immutable-data-management .

Oh that, yeah. No, I create a new state. Ive been using this stack a few times, with not too much trouble lately. My problem is not a lack of rendering (the render method is called), but that the props-receive hook for updating internal state is not called.
If time permits I'll try to produce a repro tomorrow.

@RyanAtViceSoftware  I have run into a few edge cases where I was expecting my successfully executed reducer to propagate the new state's value to my component's 'willReceiveProps' lifecycle method, but it did not, and the reason was because ReactJS was re-running the component, which means new data from redux store will not come in as nextProps, it will come in as this.props

+1


[NIFI-13277] - Make the main menu more compact in terms of spacing.

NIFI-13277
Before:

After:

With the changes, the menu (as of now) displays without the need for scrollbars until the displayable browser area gets below 570 pixels in height. Previously it needed more than 740px. I guess I'm running non-clustered... but in clustered mode there would be an extra menu item, so these numbers would be slightly bigger there.

Will review...


Color Palette Demo

Hey, I just discovered this library and it looks awesome.
One thing I noticed in the docs is that the docs show hex values for the color palette. It would be great to see a swatch map of the colors on that page.

Yep they actually used to have that but it was removed in the recent major version, since the colour palette doubled in size. Will add back in when I get time!


Re-add the accidentally deleted cylinder tests

While resolving the merge conflicts in the cylinder mesh tools branch, I did a whoopsie and accidentally deleted the tests. Luckily I noticed it in codecov.

LGTM

LGTM

LGTM


User documentation is out of date for 1.8.0

What is missing?
The process of installing has changed in 1.8.0. Also, the update from 1.7.0 -> 1.8.0 is not just an update for the image itself as it needs some additional changes to the deployment and CRD handling.
Why do we need it?
The old helm charts have been removed and will no longer function. The updated method is to use Kustomize (kubectl -k)

Cass Operator version:
1.8.0

┆Issue is synchronized with this Jira Bug by Unito

The updated method is to use Kustomize (kubectl -k)

For what its worth in the past I have run into problems with kubectl -k due to kubectl using an older version of kustomize. I pretty much always use the kustomize binary now.

That is true. However, I want to test that the kubectl -k works.


When choosing to support sv32, spike simulation timeout

The configuration of my run riscv-dv is as follows:
// Processor feature configuration
//-----------------------------------------------------------------------------
// XLEN
parameter int XLEN = 32;
// Parameter for SATP mode, set to BARE if address translation is not supported
parameter satp_mode_t SATP_MODE = SV32;
// Supported Privileged mode
privileged_mode_t supported_privileged_mode[] = {USER_MODE, SUPERVISOR_MODE, MACHINE_MODE};
// Unsupported instructions
riscv_instr_name_t unsupported_instr[];
// ISA supported by the processor
riscv_instr_group_t supported_isa[$] = {RV32I, RV32M, RV32C, RV32A, RV32F, RV32D};
// Interrupt mode support
mtvec_mode_t supported_interrupt_mode[$] = {DIRECT, VECTORED};
// The number of interrupt vectors to be generated, only used if VECTORED interrupt mode is
// supported
int max_interrupt_vector_num = 16;
// Physical memory protection support
bit support_pmp = 0;
// Debug mode support
bit support_debug_mode = 0;
// Support delegate trap to user mode
bit support_umode_trap = 0;
// Support sfence.vma instruction
bit support_sfence = 1;
// Support unaligned load/store
bit support_unaligned_load_store = 0;
When I run it, the error message is as follows:
Thu, 04 Jun 2020 15:02:42 ERROR    Timeout[10s]: /home/xiexz/project/riscv-isa-sim/install/bin/spike --log-commits --isa=rv32imafdc -m0x40000000:0x50000000 -l out_2020-06-04/asm_tests/riscv_rand_instr_test_0.o &> out_2020-06-04/spike_sim/riscv_rand_instr_test.0.log
I checked riscv_rand_instr_test.0.log and found that spike encountered an illegal instruction exception:
core   0: 0x00000000400137d6 (0x30200073) mret
3 0x400137d6 (0x30200073)
core   0: 0x0000000000006222 (0x00000000) c.addi4spn s0, sp, 0
core   0: exception trap_illegal_instruction, epc 0x0000000000006222
core   0:           tval 0x0000000000000000
core   0: 0x0000000040013000 (0x34051573) csrrw   a0, mscratch, a0
3 0x40013000 (0x34051573) x10 0x4002de7c
I found that the problem seems to occur after the execution of the mret instruction, spike enters smode and start SV32 virtual address access failed. How can this problem be solved? Is there a problem with my configuration?

Looks like there's some issue with SV32 page table generation, will debug further and provide a fix

Looks like there's some issue with SV32 page table generation, will debug further and provide a fix

This issue was closed, but was it ever resolved?  I'm seeing the same issue and the problem seems to be that PTE directory entries have the A, D, and U bits set which the privilege spec says should be cleared by software.  If I comment out this check in Spike, the page tables are successfully walked and the test completes.
I see that there's a constraint in riscv_page_table_entry.sv, sw_legal_c, that should keep these bits clear when the read/write/execute bits are clear (directory pte), but it doesn't seem to be having an effect.  If it does, something is happening to the entries during post randomization.  I'm no expert in verilog, so I'm not sure how to debug this and root cause what is happening.


Site www.slavmir.tv support

Checklist

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

Region
Russia
Example URLs
https://www.slavmir.tv/video/detail/kak-odezhda-vliyaet-na-nashu-zhizn-kak-pravilno-odevatsya/
https://www.slavmir.tv/video/detail/kak-nas-otuchali-pomnit-svoikh-predkov-i-stroit-roda-kak-vernut-byloe-film-51-02/
Description
document.getElementById('video-player').dataset.url;
// https://n1.slavmir.tv/vod/amlst:1662/playlist.m3u8
// https://n1.slavmir.tv/vod/amlst:1825/playlist.m3u8
Verbose log
[debug] Command-line config: ['-vU', 'https://www.slavmir.tv/video/detail/kak-odezhda-vliyaet-na-nashu-zhizn-kak-pravilno-odevatsya/']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, err utf-8, pref UTF-8
[debug] yt-dlp version 2<IP_ADDRESS> [c0c2c57d3] (zip)
[debug] Python version 3.8.12 (CPython 64bit) - Linux-5.16.11-1-default-x86_64-with-glibc2.34
[debug] exe versions: ffmpeg 4.4.1 (setts,fdk), ffprobe 4.4.1
[debug] Optional libraries: sqlite
[debug] Proxy map: {}
Latest version: 2<IP_ADDRESS>, Current version: 2<IP_ADDRESS>
yt-dlp is up to date (2<IP_ADDRESS>)
[debug] [generic] Extracting URL: https://www.slavmir.tv/video/detail/kak-odezhda-vliyaet-na-nashu-zhizn-kak-pravilno-odevatsya/
[generic] kak-odezhda-vliyaet-na-nashu-zhizn-kak-pravilno-odevatsya: Requesting header
WARNING: [generic] Could not send HEAD request to https://www.slavmir.tv/video/detail/kak-odezhda-vliyaet-na-nashu-zhizn-kak-pravilno-odevatsya/: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)>
[generic] kak-odezhda-vliyaet-na-nashu-zhizn-kak-pravilno-odevatsya: Downloading webpage
Traceback (most recent call last):
  File "/usr/lib64/python3.8/urllib/request.py", line 1354, in do_open
    h.request(req.get_method(), req.selector, req.data, headers,
  File "/usr/lib64/python3.8/http/client.py", line 1256, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "/usr/lib64/python3.8/http/client.py", line 1302, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.8/http/client.py", line 1251, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "/usr/lib64/python3.8/http/client.py", line 1011, in _send_output
    self.send(msg)
  File "/usr/lib64/python3.8/http/client.py", line 951, in send
    self.connect()
  File "/usr/lib64/python3.8/http/client.py", line 1425, in connect
    self.sock = self._context.wrap_socket(self.sock,
  File "/usr/lib64/python3.8/ssl.py", line 500, in wrap_socket
    return self.sslsocket_class._create(
  File "/usr/lib64/python3.8/ssl.py", line 1040, in _create
    self.do_handshake()
  File "/usr/lib64/python3.8/ssl.py", line 1309, in do_handshake
    self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/yt-dlp/yt_dlp/extractor/common.py", line 735, in _request_webpage
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3591, in urlopen
  File "/usr/lib64/python3.8/urllib/request.py", line 525, in open
    response = self._open(req, data)
  File "/usr/lib64/python3.8/urllib/request.py", line 542, in _open
    result = self._call_chain(self.handle_open, protocol, protocol +
  File "/usr/lib64/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/bin/yt-dlp/yt_dlp/utils.py", line 1524, in https_open
  File "/usr/lib64/python3.8/urllib/request.py", line 1357, in do_open
    raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)>

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/yt-dlp/yt_dlp/extractor/common.py", line 617, in extract
  File "/usr/bin/yt-dlp/yt_dlp/extractor/generic.py", line 2716, in _real_extract
  File "/usr/bin/yt-dlp/yt_dlp/extractor/common.py", line 753, in _request_webpage
yt_dlp.utils.ExtractorError: Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)> (caused by URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1389, in wrapper
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1459, in __extract_info
  File "/usr/bin/yt-dlp/yt_dlp/extractor/common.py", line 643, in extract
yt_dlp.utils.ExtractorError: [generic] Unable to download webpage: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)> (caused by URLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1131)')))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib64/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib64/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/bin/yt-dlp/__main__.py", line 19, in <module>
  File "/usr/bin/yt-dlp/yt_dlp/__init__.py", line 864, in main
  File "/usr/bin/yt-dlp/yt_dlp/__init__.py", line 854, in _real_main
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3254, in download
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 3227, in wrapper
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1380, in extract_info
  File "/usr/bin/yt-dlp/yt_dlp/YoutubeDL.py", line 1407, in wrapper
  File "/usr/bin/yt-dlp/yt_dlp/utils.py", line 1088, in format_traceback
TypeError: format_exception() missing 2 required positional arguments: 'value' and 'tb'

Parent is shutting down, bye...

From your link, i found manifest url from div tag that have id=video_player and data-url=<manifest_url>


Example Doesn't Seem to Have Tortoise Register Properly

Logs:
INFO:     Started server process [1]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://<IP_ADDRESS>:8000 (Press CTRL+C to quit)
INFO:     <IP_ADDRESS>:36860 - "GET /init HTTP/1.1" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/memory.py", line 98, in receive
    return self.receive_nowait()
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/memory.py", line 93, in receive_nowait
    raise WouldBlock
anyio.WouldBlock

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 78, in call_next
    message = await recv_stream.receive()
  File "/usr/local/lib/python3.9/site-packages/anyio/streams/memory.py", line 118, in receive
    raise EndOfStream
anyio.EndOfStream

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.9/site-packages/uvicorn/protocols/http/httptools_impl.py", line 435, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.9/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/fastapi/applications.py", line 292, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/cors.py", line 83, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
    raise e
  File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 443, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/fastapi/applications.py", line 292, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 108, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/fastapi-admin/fastapi_admin/providers/login.py", line 135, in authenticate
    response = await call_next(request)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 84, in call_next
    raise app_exc
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 70, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 108, in __call__
    response = await self.dispatch_func(request, call_next)
  File "/fastapi-admin/fastapi_admin/middlewares.py", line 19, in language_processor
    response = await call_next(request)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 84, in call_next
    raise app_exc
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/base.py", line 70, in coro
    await self.app(scope, receive_or_disconnect, send_no_error)
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/usr/local/lib/python3.9/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 20, in __call__
    raise e
  File "/usr/local/lib/python3.9/site-packages/fastapi/middleware/asyncexitstack.py", line 17, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.9/site-packages/starlette/routing.py", line 66, in app
    response = await func(request)
  File "/usr/local/lib/python3.9/site-packages/fastapi/routing.py", line 273, in app
    raw_response = await run_endpoint_function(
  File "/usr/local/lib/python3.9/site-packages/fastapi/routing.py", line 190, in run_endpoint_function
    return await dependant.call(**values)
  File "/fastapi-admin/fastapi_admin/providers/login.py", line 142, in init_view
    exists = await self.admin_model.all().limit(1).exists()
  File "/usr/local/lib/python3.9/site-packages/tortoise/models.py", line 1281, in all
    db = using_db or cls._choose_db()
  File "/usr/local/lib/python3.9/site-packages/tortoise/models.py", line 1033, in _choose_db
    db = router.db_for_read(cls)
  File "/usr/local/lib/python3.9/site-packages/tortoise/router.py", line 36, in db_for_read
    return self._db_route(model, "db_for_read")
  File "/usr/local/lib/python3.9/site-packages/tortoise/router.py", line 31, in _db_route
    return connections.get(self._router_func(model, action))
  File "/usr/local/lib/python3.9/site-packages/tortoise/router.py", line 18, in _router_func
    for r in self._routers:
TypeError: 'NoneType' object is not iterable

I'm using the example as outlined in the README, with Docker and everything. However, it seems the database connection hasn't been registered properly.
I am using Docker containers for both Redis and MySQL, so my guess is that because they're on different networks, the Docker container can't see them.
Any thoughts?

Hi, is it fixed?

Sadly not, I haven't revisited this since I posted it.


Add dependencies to flake finder jobs

What does this PR do?
Jobs should not retrieve all the artifacts from previous stage.
Without that each job upload the result of previous jobs which create a lot of irrelevant report to CI Visibility

Motivation

Additional Notes

Possible Drawbacks / Trade-offs

Describe how to test/QA your changes

/merge