Controller-manager crash loops if API server is not available on startup

fixes #1376
When Controller and API Server are started at the same time with API Aggregation enabled, it may take some time before Catalog registration shows up in API Server.  Re-query API Server several times if necessary to get the catalog resources.
I've always seen this issue when running with Kubernetes hack/local-up-cluster so it was an easy issue to reproduce and address.

@jboyd01 so does this fix the crashloop that normally happens when you install the chart?

Yes @pmorie, this addresses the crashloop.

Using wait.ExponentialBackoff to retry the fetch of the catalog registration every 10 seconds for up to 3 minutes.  If not found within this time period fail with an error as we always have.  I feel its better to terminate with an error then to remain in the retry loop.  I didn't do exponential backoff, a retry every 10 seconds achieves a balance between not overwhelming the api server and still getting a quick startup.

@MHBauer I don't believe changing the readiness probe is going to make a difference.  In the error case, the Controller starts, reaches out to the aggregated API server, gets a response back, but determines that the catalog service hasn't been registered yet.  Without the retry logic, the controller fails startup and exits.  As you indicated, Kubernetes will do the right thing and keep restarting the controller, but in many environments you see that the Controller pod failed 2 or 3 times and will be in an Error or CrashLoopBackOff state for the first minute or so after helm install.  It may leave you wondering if there are other problems.

I think we should let it fail. With kube, the user is often left wondering if something is wrong until it works. I do not see any reason to code around this behavior for the sake of the prettiness of seeing a 0 in the restart column.

For reference, when kube-controller-manager starts, it polls kube-apiserver once per second for 10 seconds wiating for kube-apiserver to start. If kube-apiserver is not responsive after 10 seconds, kube-controller-manager exits with exit code 255. So there is precedence for the approach of polling for a short period of time and then exiting.
https://github.com/kubernetes/kubernetes/blob/4e2f5e2212b05a305435ef96f4b49dc0932e1264/cmd/kube-controller-manager/app/controllermanager.go#L375-L393

I was able to add the health check on the /healthz endpoint (that's missing in our version of getAvailableResources), increase the poll time, and have 0 restarts of the controller. It's definitely an easier fix.

@staebler I couldn't agree more with your comment about using PollImmediate() vs ExponentialBackoff(), I've updated accordingly.
Jeff and I discussed, I tried his alternate approach with ensuring the /healthz ping is successful in the condition function right after the call to clientBuilder.Client(controllerDiscoveryAgentName)...  I couldn't get this to prevent the failed controller startups, I still ended up with 2 failures each time I tested.

The approach taken in k8s controllers that our controller does not do is to have the controller wait for the lister to sync when starting. If we did that instead of waiting for the ClusterServiceBroker kind to be available, that put service catalog more in line with other controllers.
https://github.com/kubernetes/kubernetes/blob/ccb15fb498352cad3f582cce0ade4e99efe0f82f/pkg/controller/deployment/deployment_controller.go#L156
https://github.com/kubernetes/kubernetes/blob/ccb15fb498352cad3f582cce0ade4e99efe0f82f/pkg/controller/controller_utils.go#L1015-L1028

Is this ready for review?  It's not clear to me from the comments.

@pmorie IMO its ready

I don't love this change because I'd rather let Kubernetes do its thing like @MHBauer said, but I do think it would help operationally over time. Here's what we've seen:

API server "flaps" due to etcd outages. As we know, one of these cases is almost guaranteed to happen over days in a cloud environment:

External etcd becomes unavailable due to of network blips, and recovery takes 30+ seconds
The ephemeral in-pod etcd flaps and takes down the whole API server

controller-manager goes down initially b/c watch stream is severed and/or API server pings fail
Kubernetes restarts the controller-manager, which immediately crashes again b/c api server is still not back to healthy
controller-manager quickly goes into CrashLoopBackoff
Once the API server is back up and stable, the controller-manager is already in CrashLoopBackoff and won't come back for minutes

The end result is that we are likely to have long (minutes) controller-manager outages when the API server has short-lived issues. This change would at least reduce the likelihood of long (minutes) outages of controller-manager


Brca codebase refactoring

Refactored some brca core code, in order to try resolve some rails auto and eager loading issues.

@FrancescoNea thank you!
I've made a whole host more changes; tests are still passing for me, but was wondering if you had any additional BRCA checks you were doing to test things were still working?

@FrancescoNea thank you!
I've made a whole host more changes; tests are still passing for me, but was wondering if you had any additional BRCA checks you were doing to test things were still working?

Thank you for this @joshpencheon! Not at the moment. Some coverage tests needs to be implemented. What I do at the moment is to compare some db tables (including ad-hoc built ones) before and after changes, to see if changes actually disrupted the 'canonical' extraction and storing of information

This has lead to a few observations:

lib/ contained a few ruby script files, which I've moved to script/
generally, all the local require statements should not be needed; the autoloader should be able to figure it out. For now, I've done bulk commenting, but we could/should clean up.
there were "deprecated" versions of certain files, defining the same classes. I've renamed these classes to reflect their deprecated statuses. Similar story for a "...new2" Sheffield file.
Following on from the point above, I get the impression that some of the code here is not being used anymore... it'd be great to delete what we can, to reduce the maintenance burden.

Thank you @joshpencheon :)

do you mean accessory sql and sh scripts in both lib/import/brca/scripts and lib/import/colorectal/scripts ?
Agree. I am more than happy to do some clear-up duty
Thank you for this. I realise now that it could have been interfered with the class loading. Thank you for picking this up!
There are some scripts that are not automatically used by the whole pipeline, but are commodity scripts that allow the user to perform some custom actions (i.e. beautify from pseudo to csv). I will give them a look and perhaps will move them to a more convenient place? Deprecated scripts will be deleted so to have a clean version of the pipeline

The scripts I moved were script/pseudonymised_file_converter.rb and script/load_prescr_pg.rb; guessing only the former was perhaps relevant to your BRCA work.
The issue with having scripts in lib/ is that when lib gets eager loaded in production, those scripts will actually be executed (which might have weird side effects, but in the case of one of them was actually killing Rails).

(non-Ruby files I didn't move, as they don't interfere with the code loading... but they might also be more conventionally homed in script/ rather than lib/. 🙂)

Dear @joshpencheon and @ollietulloch,
I have pulled Josh commits and tested:

Numbers before and after refactoring for both normal and abnormal test results for both BRCA and Colorectal importers
Tested that information extracted from genetic_test_results table didn't change after refactoring BRCA code base and after latest commits

All tests were successful, and I am therefore happy with the results.
If you wish so, I think this PR could be merged with master branch
I will perform a sweep of unused / redundant scripts in a separate branch after this PR gets accepted
Thank you both for this!


An SSR example with fetching API

Hi, thanks for your great work, I love solid, I want to give it a try in my new project.
After npm init solid@next, it inited a simple template without feching any API, I can't find any documents about this, is there anything I missed?

Still working on opinionated pieces here. Generally speaking the docs on createResource on the solidjs.com and the data functions for the solid-app-router are what you are looking and will automatically take care of data serialization. This project is still in alpha. The best example I can give you right now is: https://github.com/solidjs/solid-hackernews/tree/vite-ssr

Thanks, that helps a lot!

Checkout what we are doing with server functions now. Its an easy way to add server-side data fetching. Documentation is still incoming.


Leading and trailing spaces of API endpoint URLs are not trimmed

Description:
When we create and publish an API with an endpoint with a leading whitespace character, using publisher REST APIs, the leading space is not trimmed. And it is persisted into the published API synapse file as it is. This is validated only in WSO2 APIM Publisher UI level so if we try to publish API with Publisher, this issue is not visible. Leading/trailing white spaces are trimmed in that case.
It would be better to do this validation at REST API level itself. And check for other required String validations too.
Affected Product Version:
2.1.0

I’m closing this issue because it has been inactive for more than two years. Please reopen if you still encounter this issue with the latest version.


[SPARK] Migrated 'spark33' module to produce Scala 2.12 and Scala 2.13 variants

Summary: Migrated 'spark33' module to produce Scala 2.12 and Scala 2.13 variants
Problem
Spark 3.2.x, 3.3.x, 3.4.x, and 3.5.x are compiled using Scala 2.12 and Scala 2.13. Due to a change in the Scala Collections API in Scala 2.13, NoSuchMethodErrors are thrown when running the openlineage-spack connector in an Apache Spark runtime when the runtime was compiled using Scala 2.13.
Relates to: #2303
Solution
This PR is the 8th of several PRs to support producing Scala 2.12 and Scala 2.13 variants of the OpenLineage Spark integration.
In this PR, we migrate the 'spark33' module to use the refactored Gradle plugins.
The module now produces 3 JARS; one default one, one compiled using the Scala 2.12 variant of Apache Spark, and one compiled using the Scala 2.13 variant of Apache Spark.
Checklist

[x] You've signed-off your work
[x] Your pull request title follows our guidelines
[x] Your change contains a small diff and is self-contained
[x] Your comment includes a one-liner for the changelog about the specific purpose of the change (if necessary)
[x] You've added a header to source files (if relevant)

SPDX-License-Identifier: Apache-2.0
Copyright 2018-2023 contributors to the OpenLineage project

Changes were merged as part of #2390


Feature request: Lazy initialization

I think it would be nice to create an instance of a component only the first time is actually requested at runtime, to avoid to generate all the instances at the same time and to keep everything in memory, even if won't be actually used at runtime.
Just to clarify with an example, I think would be nice if the instance of DateLogger trait will be create only when I call module.resolve_ref() and not when I call MyModule::builder().build():
    let module = MyModule::builder()
        .with_component_parameters::<DateLoggerImpl>(DateLoggerImplParameters {
            today: "Jan 26".to_string(),
            year: 2020
        })
        .build();

    let date_logger: &dyn DateLogger = module.resolve_ref();
    date_logger.log_date();

Thinking through what it would take to implement this... I think I initially thought it would be easy, but there's complications. Notably the built module will be heavier-weight and there will be no more resolve_mut.
(thinking out loud, mostly about implementation details)
resolve_ref takes &self of the module and is currently just an Arc::as_ref call. With lazy components, the module would need to mutate itself so it can store the newly created component. Since modules are thread-safe, that means we would need to store the component in a thread-safe container, like Mutex<Option<Arc<dyn MyComponentInterface>>>. The Option is there because initially the component has not been created, since it's lazy.
Next we need to handle building the component after the module has been built. Building a component requires a mutable ModuleBuildContext, which usually is only live during module creation. Now it has to live alongside the module it builds, so there's some internal changes that have to happen, notably another mutex in the module (hopefully there's no deadlock situation). It will also increase the runtime of the module a bit.
Since the ModuleBuildContext now lives alongside the module, there will be at least two Arc references to each component. Since resolve_mut under the hood is Arc::get_mut, and that requires that only one reference exists, it will never successfully return a mutable reference to the component. That API will have to be removed.
Overall I think this change is doable, if a little more complicated that I originally imagined.

Hey I think it looks good :) Currently I can test it but from what I saw I think OK! The only thing is loosing the resolve_mut, do you think this could not be worth the lazy feature?

I think it's OK to remove resolve_mut. I mentioned in https://github.com/Mcat12/shaku/issues/15#issuecomment-744035974 how it's hard to use correctly, and might even be an anti-pattern (needing to have a &mut reference to the module encourages you to wrap it in a Mutex).

Closed by https://github.com/Mcat12/shaku/commit/92b83b0e0ae501981b6c556a42e323eae2d1c29e


Add flexbox-react

I couldn't find a spec compliant flexbox component/s for react, so I created flexbox-react. It's documented, it's simple and it works, so I guess it might have a place here 😄
Sadly, the react-flexbox name was taken by this project which doesn't respect the flexbox standard. Note this project is already in the list.
Thanks!

👍
I like the Why section a lot.
Maybe it would also be nice to explain why someone should choose flexbox-react over react-flexbox?

To add a component / library to this list, add an entry to React Components on devarchy.  It will be added once the community has approved it.

A PR is totally fine but I'm curious: is there a reason why you did a PR instead of using devarchy? One reason for devarchy is to make it a bit easier to add entries to the list.

I didn't read that part of the contributing docs. I will submit the entry on devarchy!

why someone should choose flexbox-react over react-flexbox

Because it has no propietary API. It follows the flexbox standard to name of props and values. That's the main reason: You don't need to learn anything new or propietary to use flexbox-react.

I thought so when I read your readme but I wasn't sure.
I would make the comparison between flexbox-react and react-flexbox explicit.
Either way, I'll merge it.
I saw that you added it to devarchy. You are one of the first users:)

it's now part of the catalog:)


typo: Double word "you"

@nschonni : Thanks for your contribution! The author, @stevestein, has been notified to review your proposed change.

Hi @nschonni, thanks for your contribution! Thanks for noticing these typos :) #sign-off

@MashaMSFT: I'm sorry - only the author of this article, @stevestein, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.


Not compatible with Unity 2017.1

PlayServicesResolver breaks.
ResolutionException: Cannot find candidate artifact for com.google.android.gms:play-services-analytics-impl:[11.0.2]
Google.JarResolver.PlayServicesSupport.GetDependencies (Google.JarResolver.Dependency dep, System.Collections.Generic.List`1 repoPaths)
Google.JarResolver.PlayServicesSupport.GetCurrentDependencies (System.Collections.Generic.Dictionary`2 dependencies, System.String destDirectory, Google.JarResolver.ExplodeAar explodeAar, System.Collections.Generic.List`1 repoPaths)
Google.JarResolver.PlayServicesSupport.DependenciesPresent (System.String destDirectory, Google.JarResolver.ExplodeAar explodeAar)
GooglePlayServices.ResolverVer1_1.DoResolution (Google.JarResolver.PlayServicesSupport svcSupport, System.String destinationDirectory, Google.JarResolver.OverwriteConfirmation handleOverwriteConfirmation, System.Action resolutionComplete)
GooglePlayServices.PlayServicesResolver.Resolve (System.Action resolutionComplete)
GooglePlayServices.PlayServicesResolver.AutoResolve ()
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at /Users/builduser/buildslave/unity/build/Editor/Mono/EditorApplication.cs:109)

Updated the jar resolver and tested with 2017.2.


Support --output flag to specify the measure result location

Changes

Support --output flag to specify the result location

/kind enhancement

Fixes #48

Release Note

Docs

Ok, I will add the checks :)

Ok, I will add the checks :)

Great！ And could you rebase this two commits to one？ thanks：）

Generally looks good!
@ShiningTian could you please also update in README.md, perhaps in section Example 1 Measure Services (for eg. range 1,500)for load test under a specific namespace and add a one-line note that users can use --ouput flag to specify location. Thanks!

/ok-to-test

/retest

LGTM... coordinate with @zhanggbj to merge

Merging!
Thanks @ShiningTian for the PR and addressing all of comments!

/unhold


Enhancement: Improve room creation process

"On web: have an intermediary step to fill in the room name and ask confirmation before going into the empty room
Mobile: probably the same?"

blocked on design

Related to https://github.com/vector-im/vector-web/issues/1756

unblocked, we plan to implement suggested design: https://zpl.io/Z2026XD


Update the README with instructions how to run this game locally

Update the README with instructions how to run this game locally

Hi @Alexandria, can you assign this issue to me?

@ron-huberfeld its yours!

Handled by PR #37


Grammatical errors in readme

Project name
Improvements suggested
Correct the grammatical errors in the readme.md file

/assign


Import errors within try/except blocks

Environment data

Language Server version: Microsoft Python Language Server version <IP_ADDRESS>
OS and version: macOS 10.15 (19A602)
Python version (& distribution if applicable, e.g. Anaconda): '3.7.4 (default, Sep  7 2019, 18:27:02) \n[Clang 10.0.1 (clang-1<IP_ADDRESS>)]'

Expected behaviour
We have optional dependencies that are imported in try-except blocks, so they're not errors. python-language-server raises a warning that they're unresolvable.
I can understand this might be difficult in static analysis. That said, other (lesser) tools do evaluate those as OK, and there is a simple rule that if ImportErrors are caught, they're not errors.
Actual behaviour
unresolved import 'cdms2'

Reproducible from dataarray.py on xarray master, if anyone wants a full repro
Logs

https://gist.github.com/max-sixty/630b88f44038174dc46229edc51734b9
Thank you!

I see that https://github.com/microsoft/python-language-server/issues/1663 was a similar issue. Feel free to close. Though, again, while not simple, lesser tools do manage.
Thanks again for the awesome tool!

For our purposes, this would be about the same as #1663, yeah. # noqa should be working, however.

Since static analysis doesn't really know which path code will take on a particular version of Python, using #noqa is probably the only option here. Closing.


403 response on BitBucket pipeline

Hi.
I upgrade to version 9.03 and everything was working fine. In fact, a local maven build still works fine on 9.0.3 (with a NVD API key).
However, running the build pipeline on BitBucket this afternoon and I started getting the following error(s):
[ERROR] Failed to process CVE-2012-0593
java.lang.NullPointerException: Cannot invoke "org.apache.commons.dbcp2.BasicDataSource.getConnection()" because "this.connectionPool" is null
    at org.owasp.dependencycheck.data.nvdcve.DatabaseManager.getConnection (DatabaseManager.java:572)
    at org.owasp.dependencycheck.data.nvdcve.CveDB.updateOrInsertVulnerability (CveDB.java:941)
    at org.owasp.dependencycheck.data.nvdcve.CveDB.updateVulnerability (CveDB.java:866)
    at org.owasp.dependencycheck.data.update.nvd.api.NvdApiProce[ERROR] Failed Fto execute goasl org.owasp:dependency-check-maven:9.0.7:check (default) on project kunveno-parent: Fatal exception(s) analyzing Kunveno Platform Parent BoM: One or more exceptions occurred during analysis:
.[ERROR] 	UpdateException: org.h2.jdbc.JdbcBatchUpdateException: The database has been closed [90098-214]
[ERROuR] 		caused by JdbcBatchUpdateException: The database has been closed [90098-214]
[ERROR] 	NoDataException: No documents exist
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
ssor.call (NvdApiProcessor.java:98)
    at org.owasp.dependencycheck.data.update.nvd.api.NvdApiProcessor.call (NvdApiProcessor.java:33)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1135)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
    at java.lang.Thread.run (Thread.java:831)
[ERROR] Failed to process CVE-2012-0594
java.lang.NullPointerException: Cannot invoke "org.apache.commons.dbcp2.BasicDataSource.getConnection()" because "this.connectionPool" is null
    at org.owasp.dependencycheck.data.nvdcve.DatabaseManager.getConnection (DatabaseManager.java:572)
    at org.owasp.dependencycheck.data.nvdcve.CveDB.updateOrInsertVulnerability (CveDB.java:941)
    at org.owasp.dependencycheck.data.nvdcve.CveDB.updateVulnerability (CveDB.java:866)
    at org.owasp.dependencycheck.data.update.nvd.api.NvdApiProcessor.call (NvdApiProcessor.java:98)
    at org.owasp.dependencycheck.data.update.nvd.api.NvdApiProcessor.call (NvdApiProcessor.java:33)
    at java.util.concurrent.FutureTask.run (FutureTask.java:264)
    at java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1135)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:635)
    at java.lang.Thread.run (Thread.java:831)

I have upgraded to 9.0.7 and the same is still happening.
I've tried to request a new API key (based on the fact this command returns a 400 Bad request:
curl -H "Accept: application/json" -H "apiKey: 5ad8502e-c73e-4910-9e6e-41e51bdbb56b" -v https://services.nvd.nist.gov/rest/json/cves/2.0\?cpeName\=cpe:2.3:o:microsoft:windows_10:1607:\*:\*:\*:\*:\*:\*:\*

But with the new key, the above command still returns a  400 Bad Request
I now don't know which issue is the actual problem!
Thanks

The command you posted - with your API key works fine from my machine. Not sure what else you have in your network?


❓ - Dark Theme

Description
Is there any way to make a dark map theme for yandex api v2?
Library name

[X] angular8-yandex-maps
[ ] angular-yandex-maps-v3

Hi! I'm not sure if it's possible, to be honest. In production, they use the 3rd version, so a dark theme is available. Regarding the 2nd version, I couldn't find anything in the API. You can ask support; maybe there is a parameter for this somewhere


Optimisations and reduced size

Take it or leave it, but I have made some changes to tailor towards my preferences - some you might want to use.
Upgraded to newer passenger version, compiled the agent with optimizations (what that even does I don't know, but it sounds cool), and found some large folders in passenger/src you can remove after compilation.

Per console output,

Compiling the agent with optimizations will make Phusion Passenger faster, but
it will take longer to compile and it requires at least 2 GB of memory.
(You have 5.0 GB memory.)

thanks @tim-smart


Cannot install if user folder contain spaces on Windows.

🐛 Bug Report
In accordance with documentation, npx docusaurus-init cannot install in my windows user folder because, I have spaces in name.
I discovered this after analyzing installation log.
info using<EMAIL_ADDRESS>info using<EMAIL_ADDRESS>silly fetchPackageMetaData error for file:Xarkam\AppData\Roaming\npm-cache\_npx\8596 Could not install from "Xarkam\AppData\Roaming\npm-cache\_npx\8596" as it does not contain a package.json file.
verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "docusaurus-init@latest" "--global" "--prefix" "C:\\Users\\Xarkam" "Xarkam\\AppData\\Roaming\\npm-cache\\_npx\\8596" "--loglevel" "error" "--json"
error Could not install from "Xarkam\AppData\Roaming\npm-cache\_npx\8596" as it does not contain a package.json file.

The correct path is "C:\\Users\\Xarkam Xarkam\\AppData\\Roaming\\npm-cache\\_npx\\8596" but the cli cut into two argments because of the space.

I use window myself and was not able to reproduce this

Furthermore, the cli for docusaurus-init does not take any argument. It installs in the current folder. As you can see in above screenshot, my folder name is even spaces spaces spaces and it still works.
Do you mind to send in screenshots or videos and report it if it still persists ? Thank you

Hello and thank you for your answer.

I give you an example in powershell/Dos and you answer me with ubuntu for windows.
If it's something linux only, please update your documentation.

@Xarkam I don’t think questioning @endiliey’s seriousness of his response is helpful or called for. He took the time to provide a thoughtful answer and asked for more information if you had it. In no way was he condescending to you, and I would hope for the same level of respect in return. Thank you.
Sent with GitHawk

My bad. I wasn't aware that it was on powershell/dos. There is no mention on it.
I wasn't able to reproduce it even with command prompt though.

I'm really sorry. I still couldn't reproduce it.

If you don't mind, you can send us a screenshot/video to better describe the situation.
I'll be happy to do my best to help and maybe we can fix it. 😉

@endiliey thank you for response as part of my problem.
@JoelMarcey do you think that the first answer is in the context of my problem? I do not think so.
@endiliey I will take some time tomorrow to redo the procedure as indicated in the documentation.
It may be that in the meantime an update will fix the problem. Otherwise, it will be necessary to understand it cuts the path in two parts on my system

@JoelMarcey do you think that the first answer is in the context of my problem? I do not think so.

@Xarkam That's actually not the point. Whether the initial response answered your question, there are more appropriate and respectful ways to make your disagreement known than "Are you serious?".
s/Are you serious?/Thank you for taking the time to try to provide an answer, but I don't think it fully captures the issue.

s/Are you serious?/I see you tried that using Ubuntu via Powershell. Could you please try using Windows directly?

s/Are you serious?/I believe you may not have captured the essence of my question because you were using Ubuntu and not Windows.

@endiliey is one of our most active and prolific Docusaurus contributors who is really trying to help improve Docusaurus. In no way was he purposely not trying to answer your question.
It is quite clear the essence of your response was disparaging. Maybe it wasn't on purpose, I hope not.
Anyway, I appreciate you filing a bug report and it looks like there may be a path forward to continue to try to resolve this issue. I am going to consider this ancillary matter closed so that we can continue down the technical discussion path.
Thanks.

Also, for now I will reopen this issue since it sounds like there may be some continued work towards a resolution here.

Hello, I just testing this morning.

Run install in normal user mode

Run install in admin user mode

User folder:

Logs:
0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install',
1 verbose cli   'docusaurus-init@latest',
1 verbose cli   '--global',
1 verbose cli   '--prefix',
1 verbose cli   'C:\\Users\\Benjamin',
1 verbose cli   'Nolmans\\AppData\\Roaming\\npm-cache\\_npx\\9576',
1 verbose cli   '--loglevel',
1 verbose cli   'error',
1 verbose cli   '--json' ]
2 info using<EMAIL_ADDRESS>3 info using<EMAIL_ADDRESS>4 verbose npm-session dd168d0c4e355131
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 silly fetchPackageMetaData error for file:Nolmans\AppData\Roaming\npm-cache\_npx\9576 Could not install from "Nolmans\AppData\Roaming\npm-cache\_npx\9576" as it does not contain a package.json file.
8 http fetch GET 304 https://registry.npmjs.org/docusaurus-init 936ms (from cache)
9 silly pacote tag manifest for docusaurus-init@latest fetched in 958ms
10 timing stage:rollbackFailedOptional Completed in 0ms
11 timing stage:runTopLevelLifecycles Completed in 1243ms
12 verbose stack Error: ENOENT: no such file or directory, open 'C:\Developpement\docu\Nolmans\AppData\Roaming\npm-cache\_npx\9576\package.json'
13 verbose cwd C:\Developpement\docu
14 verbose Windows_NT 10.0.17763
15 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "docusaurus-init@latest" "--global" "--prefix" "C:\\Users\\Benjamin" "Nolmans\\AppData\\Roaming\\npm-cache\\_npx\\9576" "--loglevel" "error" "--json"
16 verbose node v10.14.0
17 verbose npm  v6.4.1
18 error code ENOLOCAL
19 error Could not install from "Nolmans\AppData\Roaming\npm-cache\_npx\9576" as it does not contain a package.json file.
20 verbose exit [ 1, true ]

### Look this line in logs:
verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "docusaurus-init@latest" "--global" "--prefix" "C:\\Users\\Benjamin" "Nolmans\\AppData\\Roaming\\npm-cache\\_npx\\9576" "--loglevel" "error" "--json"

The path is separate in two arguments:
first: "C:\\Users\\Benjamin"
second: "Nolmans\\AppData\\Roaming\\npm-cache\\_npx\\9576"
The normal path is : "C:\\Users\\Benjamin Nolmans\\AppData\\Roaming\\npm-cache\\_npx\\9576"

So, why my path is cut on space ?

Looking at your log, it seems to be not related to docusaurus. But 'npx' package itself. You might want to file an issue at https://github.com/zkat/npx
However, I took my time to investigate and find that this issue you are facing is in fact happening with many other cli app too. See below, the log is very identical to your log.
Running install in user mode
https://github.com/zkat/npx/issues/100
Run install in admin user mode
https://github.com/zkat/npx/issues/146
Conclusion: **this bug is caused by npx and not docusaurus itself.
There are various solutions shown in that issue, you might want to look at that.
If it still doesn't, did you try the alternative commands to install docusaurus that we have written in our documentation ?
See https://docusaurus.io/docs/en/installation
yarn global add docusaurus-init
docusaurus-init

I believe this is worth closing. Thank you for the time 😉

Thanks @endiliey.
If this problem is recurrent with npx, why no adding a note in getting started documentation about this ?
This would allow people who also encounter this problem to know what to do.
I did not follow the procedure with yarn because I thought that it did not concern me since I use node 10.

@Xarkam - we encourage those that feel the documentation could use improvement to send a pull request to update it. We are generally very accommodating to such changes, assuming they provide value to those that use or are starting to use Docusaurus.


Compilation fails on OpenSUSE

Hello,
openSUSE names the QtWebEngine library libQt5WebEngine.so and therefore building this fails by default. This is fixed by updating package.lisp accordingly.

Thank you, for the report! Sorry I did not see this earlier, I forgot to watch the repository :-D

Just to clarify, qmake and then make produce a file called libQt5WebEngine.so on your distribution?

I don't compile Qt myself. I mean that the rpm-provided pre-compiled library in openSUSE names it libQt5WebEngine.so not libwebengine.so

I think there may be a small amount of confusion here, sorry about that!
In package.lisp, the following:
(define-foreign-library libwebengine
  (:darwin (:or
            "libwebengine.dylib"
            "libwebengine.1.dylib"
            "libwebengine.1.0.dylib"
            "libwebengine.1.0.0.dylib"))
  (:unix (:or "libwebengine.so"
              "libwebengine.so.1"
              "libwebengine.so.1.0"
              "libwebengine.so.1.0.0"))
  (t (:default "libwebengine")))

is not meant to load the Qt webengine. It is meant to load a shared library produced by compiling cl-webengine called libwebengine. In the source directory of this repository, if you type qmake and make you'll get the shared library which you can then copy into your shared library directory to be loaded by cl-webengine.
Sorry if the above description is a bit confusing, these bindings in general are confusing :-D

oooh, ok, that explains some things. Sorry for this!

No problem at all :-)


open-zwave: built version is too specific

Hi, i need to use open-zwave as a dependency for a build, but the version built in the Nix package is a specific fork for supporting home-assistant, which does not work for my package build due to linking errors.
https://github.com/NixOS/nixpkgs/blob/98dbff9a65c4d0f67834787398021a636896f204/pkgs/development/libraries/openzwave/default.nix#L12
I will happily contribute a new package, but I'm not sure how to proceed, with regards to how it would fit in with this package, or if indeed the best way would be to modify this package to use the upstream repo.
Pinging people who have maintained the package, apologies for the noise!
@etu
@volth
@dotlambda
@OmnipotentEntity
@matthewbauer
@WhittlesJr

We should replace the openzwave package with an official version and make omeassistant-pyozw use the fork.


Add 01/21 edition

Closing since the new updated changes are in https://github.com/kubernetes-sigs/lwkd/pull/297


remove ref to dc/os

thanks, @tbaums fyi this reference is already being removed in another open PR https://github.com/kudobuilder/operators/pull/87/files#diff-dabca96597ff6dbf475552a13f72f915R59


Polygon Drag Not Refreshing Until Map Is Panned

Mapsui Version
4.1.2
Mapsui Platform
MAUI
Device
IPhone 15 Pro Max iOS 17.0 Emulator
Describe the bug
When the polygon is dragged, the coordinates are updated within the 'TouchMove' event and map control is refreshed, however, the polygon remains in the original position.  After dragging the polygon, if you pan the map, the polygon is refreshed and shows up in the expected position.
To Reproduce
Steps to reproduce the behavior:

Launch Sample App
Drag Polygon - polygon does not move
Pan Map - polygon is moved to expected location

Expected behavior
Polygon should move as it is dragged.
Additional context
Minimally Reproducible Sample - https://github.com/nm4568/MapsuiSamples/tree/bug/polygon-drag

Thanks a lot for providing a sample!
I could reproduce problematic behavior on Windows desktop.  To circumvent caching I rewrote your sample to use a WritableLayer (derived from IModifyFeatureLayer) and to use a GeometryFeature to call IFeature.RenderedGeometry.Clear();
In v5 (not released yet) this was already changed. There you do not need to use a specific layer. You do need to call IFeature.Modified();
Note, that we have samples for editing. They need to be simplified some more though. Using your own code like this is not a bad idea (perhaps better) but the samples can help you find the difference.
using Mapsui;
using Mapsui.ArcGIS;
using Mapsui.ArcGIS.ImageServiceProvider;
using Mapsui.Cache;
using Mapsui.Extensions;
using Mapsui.Layers;
using Mapsui.Nts;
using Mapsui.Nts.Extensions;
using Mapsui.Providers;
using Mapsui.Styles;
using Mapsui.Tiling;
using Mapsui.UI.Maui;
using NetTopologySuite.Geometries;
using System.Diagnostics;
using Brush = Mapsui.Styles.Brush;
using Color = Mapsui.Styles.Color;
using Polygon = NetTopologySuite.Geometries.Polygon;

namespace MauiApp1
{
    public partial class MainPage : ContentPage
    {

        GeometryFeature _draggedPolygon;
        List<Coordinate> _draggedOrigCoords;
        MPoint _touchStartedScreenPoint { get; set; }
        ILayer _touchStartedLayer { get; set; }
        GeometryFeature _polygonFeature;
        MapControl _mapControl;
        double x = -9188151.36056;
        double y = 3235144.74039;

        public MainPage()
        {
            InitializeComponent();

            _mapControl = new Mapsui.UI.Maui.MapControl()
            {
                Map = new Mapsui.Map()
                {
                    CRS = "EPSG:3857",
                }
            };

            _mapControl.Map.Layers.Add(OpenStreetMap.CreateTileLayer());
            _mapControl.Loaded += MapControl_Loaded;
            _mapControl.TouchStarted += MapControl_TouchStarted;
            _mapControl.TouchMove += MapControl_TouchMove;
            _mapControl.TouchEnded += MapControl_TouchEnded;

            var point = new MPoint(x, y);
            _mapControl.Map.Home = (n) => n.CenterOnAndZoomTo(point, resolution: 1000, 500, Mapsui.Animations.Easing.CubicOut);

            Content = _mapControl;
        }

        private void MapControl_TouchEnded(object sender, Mapsui.UI.TouchedEventArgs e)
        {
            _mapControl.Map.Navigator.PanLock = false;
            _touchStartedScreenPoint = null;
            ClearPolygonFields();
        }

        private void MapControl_TouchMove(object sender, Mapsui.UI.TouchedEventArgs e)
        {
            var point = e.ScreenPoints.First();
            if (_touchStartedLayer?.Name == "Polygons")
            {
                MovePolygon(point, _polygonFeature);
            }
        }

        private void MapControl_TouchStarted(object sender, Mapsui.UI.TouchedEventArgs e)
        {
            var mapInfo = _mapControl.GetMapInfo(e.ScreenPoints.FirstOrDefault());
            _touchStartedLayer = mapInfo.Layer;
            _touchStartedScreenPoint = e.ScreenPoints.First();
        }

        private void MapControl_Loaded(object sender, EventArgs e)
        {
            var baseCoordinate = new Coordinate(x, y);
            _polygonFeature = CreatePolygon(baseCoordinate);
            var polygonLayer = CreatePolygonLayer(_polygonFeature);
            _mapControl.Map.Layers.Add(polygonLayer);
            _mapControl.Refresh();
        }

        private void ClearPolygonFields()
        {
            Debug.WriteLine("Ended");

            _draggedPolygon = null;
            _draggedOrigCoords = null;
        }

        private void MovePolygon(MPoint screenPoint, GeometryFeature geometryFeature)
        {
            Debug.WriteLine($"Polygon Coord 0 X: {geometryFeature.Geometry.Coordinates.First().X}");
            Debug.WriteLine($"Polygon Coord 0 Y: {geometryFeature.Geometry.Coordinates.First().Y}");

            if (_draggedPolygon == null)
            {
                _mapControl.Map.Navigator.PanLock = true;
                // set the dragged polygon
                _draggedPolygon = geometryFeature;
                _draggedOrigCoords = geometryFeature.Geometry.Coordinates.Select(r => new Coordinate(r.X, r.Y)).ToList();
            }
            else if (_touchStartedScreenPoint != null)
            {
                // move polygon with screen point
                for (var i = 0; i < geometryFeature.Geometry.Coordinates.Length; i++)
                {
                    var coordinate = geometryFeature.Geometry.Coordinates[i];
                    var originalCoordinate = _draggedOrigCoords[i];
                    var firstTouchedWorldPoint = _mapControl.Map.Navigator.Viewport.ScreenToWorld(_touchStartedScreenPoint);
                    var currentWorldPoint = _mapControl.Map.Navigator.Viewport.ScreenToWorld(screenPoint);

                    coordinate.X = Math.Round(currentWorldPoint.X - firstTouchedWorldPoint.X + originalCoordinate.X, 5, MidpointRounding.AwayFromZero);
                    coordinate.Y = Math.Round(currentWorldPoint.Y - firstTouchedWorldPoint.Y + originalCoordinate.Y, 5, MidpointRounding.AwayFromZero);

                }
            }

            _draggedPolygon.RenderedGeometry.Clear();
            _mapControl.Refresh();

        }

        private ILayer CreatePolygonLayer(GeometryFeature polygon)
        {
            var polygonList = new List<GeometryFeature> { { polygon } };
            var layer = new WritableLayer()
            {
                Name = "Polygons",
                Style = new VectorStyle
                {
                    Fill = new Brush(Color.Orange),
                    Outline = new Pen
                    {
                        Color = Color.Orange,
                        Width = 1,
                        PenStyle = PenStyle.DashDotDot,
                        PenStrokeCap = PenStrokeCap.Round
                    }
                },
                Opacity = .3,
                IsMapInfoLayer = true,
            };
            layer.AddRange(polygonList);

            return layer;
        }

        private GeometryFeature CreatePolygon(Coordinate baseCoordinate)
        {
            var width = 250000;
            var height = 250000;

            var point = new MPoint(baseCoordinate.X, baseCoordinate.Y);
            var topLeft = new Coordinate(point.X - (width / 2), point.Y - (height / 2));
            var topRight = new Coordinate(point.X + (width / 2), point.Y - (height / 2));
            var bottomRight = new Coordinate(point.X + (width / 2), point.Y + (height / 2));
            var bottomLeft = new Coordinate(point.X - (width / 2), point.Y + (height / 2));

            var ring = new LinearRing(new[] { topLeft, topRight, bottomRight, bottomLeft, topLeft });
            var polygon = new Polygon(ring);

            return new GeometryFeature(polygon);
        }
    }
}

Great!  Thank you for the resolution and you are quite welcome for the sample.
I've tested this code out and it is working as expected.
Looking forward to v5 :)


Cannot open notebook of type 'PowerShellNotebookModeOption'.

VSCode Version: 1.46.0
OS Version: Windows 2004

Steps to Reproduce:

open any .ps1 file

Does this issue occur when all extensions are disabled?: Yes/No yes

We don't currently support native notebook in VS Code stable.

nvm guys just did an update and it loads up fine


Unable to create map

Dear Authors,
I have found your work interesting and want to replicate the same. I have closely followed the read me and  was able to generate the dataset. But while creating the map, after loading SuperGlue model with indoor weights I am getting a tqdm error. I tried changing version of tqdm. Please help

I tried tqdm.tqdm


[Bug] 使用dall-e-3模型时图片渲染问题

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
图片渲染错误

Deployment
Vercel
Desktop (please complete the following information):
chrome
Smartphone (please complete the following information):

Browser

that's session expired after a few hours (average 2 hours) when image is already generated, haven't implement it yet for save a image to local

Normal rendering should look like this:

The above is the content of normal rendering, and the following is the content of default output, so this bug needs to be fixed.

Fix H0llyW00dzZ#97 DALL·E Models #98


Description fields in vs-table won't change

when adding
description-title="Registos"
description-connector="de"
description-body="Páginas"

in vs-table it's ignored and won't change it

fixed with PR #683


Survey which performance properties have associated metrics.

Accumulo has many configuration properties that enable runtime performance tuning.  For tuning a production system it would be nice if each of these properties had the following when feasible.

An associated set of metrics that can be used to make informed decisions about tuning the property.
Documentation that explains for each performance property what its associated metrics are.

This already exists for some performance properties.  A survey of what is missing or incomplete can help identify areas for improvement.  The survey should at least identify the following for each performance property.

Performance property name
Existing associated metrics, if any.
Assessment of need for additional metrics.
Existing documentation that links the property to metrics.

I took a look at 2.1.0-SNAPSHOTS properties and opened #2271 as a result of noticing that a lot of the props that could use metrics were all thread pools.  Other than that I found the following props need further exploration to see if they could benefit from having metrics to help tune them.  Some of these may not make sense for metrics, I just took any that I thought may. I plan to work down the following list opening individual issues for ones where it does make sense after investigating them individually.
compaction.coordinator.compaction.finalizer.check.interval
compaction.coordinator.compactor.dead.check.interval
compaction.coordinator.message.size.max
compactor.message.size.max
gc.candidate.batch.size
gc.cycle.delay
manager.startup.tserver.avail.max.wait
manager.startup.tserver.avail.min.count
table.bloom.load.threshold
table.bulk.max.tablets
table.cache.block.enable
table.cache.index.enable
table.durability
table.file.max
table.scan.max.memory
tserver.cache.data.size
tserver.cache.index.size
tserver.cache.summary.size
tserver.files.open.idle
tserver.memory.maps.max
tserver.wal.max.age
tserver.wal.max.referenced
tserver.total.mutation.queue.max
tserver.slow.filepermit.time
tserver.slow.flush.time
tserver.server.message.size.max
tserver.scan.files.open.max


unable to persist data

kind: PersistentVolume
apiVersion: v1
metadata:
name: task-pv-volume
annotations: pv.beta.kubernetes.io/gid: "1004"
labels:
type: local
spec:
storageClassName: manual
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
hostPath:
path: "/data/kubevolume"

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: task-pv-claim
spec:
storageClassName: manual
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi

In values.yaml I have the following:

enabled: true
replicas: 1
host: "http://pelias-pip-service:3102/"
dockerTag: "latest"
maxUnavailable: 0 # adjusts rolling update settings
retries: 1 # number of time the API will retry requests to the pip service
timeout: 5000 # time in ms the API will wait for pip service responses
annotations: {}
pvc:
create: true
name: task-pv-claim
storageClass: manual
accessModes: ReadWriteMany
storage: 10Gi
annotations: {}

helm install --name pelias --namespace pelias /data/git/pelias-kubernetes/kubernetes/ -f /data/git/pelias-kubernetes/kubernetes/values.yaml
And then I get the following error in my kubernetes dashboard:
"pod has unbound immediate PersistentVolumeClaims"
What am I missing?

Hi @dataBikeHsUlm,
how did you solve your persistence issues?


Does not work.

Compiling spills out this error message:
osacompile: couldn't write to file dist/EditorConfig.scptd: Named fork does not exist

#3 fixes this issue for anyone who gets directed to this repo


Deprecate library

The Twilio team offers a Java SDK that is better tested and more feature rich than this library -- it can be used seamlessly in Grails and is actively maintained.
I would encourage the depreciation of this plugin, as for the time being the only benefit it adds is being extremely lightweight. However, I do not believe that this is the intended purpose of the plugin and the Java SDK is also small.

@oliver-was-here: Thanks for your contribution. However, I am not sure I agree with you. For now this plugin serves its purpose for other users.

Sure thing. I would still encourage you to mention the Java SDK in the read me.
Other than allowing application configuration out of the box it does not use any advantageous Grails features and users should be aware of other options.


Migrate Gitlab API client to API V4

API V3 will be removed in GitLab 9.5, to be released on August 22, 2017.
https://docs.gitlab.com/ce/api/v3_to_v4.html

This is just a month away now..
It would be nice if maybe there was docker compose files in the contrib dicrectory (or maybe a separate drone-dev-kit or drone-gitlab-dev-kit repo) which sets up a gitlab install for local development with drone,.. Currently everyone that wants to hack on gitlab API stuff has to do it by themselves.
This is personally a much larger metal blocker for starting the work than the actual API migration work itself. From what I have seen there is no clear indication how people who develop drone "core" integration practically do that work.
Actual integration tests against gitlab would of course also be nice but that's a larger task.

Hello, @bradrydzewski @thomasf.
I'd like to work on this issue, because previously contributed to gitlab API and want to see how it worked from client side view.

I got stuck on a few details while setting up my development environment last time I wanted to work on this so I didn't actually write any code. This should probably be fixed soonish, I might have another go at it soon again if time allows.

this issue closes https://github.com/drone/drone/issues/2068
btw. Gitlab decided to keep the v3 api around a bit longerbecause they had too many v3 api requests to their site.. So latest gitlab still works with drone which is good

closed by #2126


Possible memory leak in wr.s3.to_parquet

Describe the bug
I'm reading 120 parquet files of about 1.2 MB with nested data and then writing it file by file. I have 2.5 GiB of ram. The memory drains slowly until the program gets killed at around the 70th file.
How to Reproduce
import awswrangler as wr
import boto3

read_path = "s3://bucket_read_name/"
write_path = "s3://bucket_write_name/"

boto3_session = boto3.Session(
    aws_access_key_id="***",
    aws_secret_access_key="***",
)
df_iterator = wr.s3.read_parquet(
    read_path , chunked=True, boto3_session=boto3_session
)

for partition, df in enumerate(df_iterator):
    wr.s3.to_parquet(
        df,
        f"{write_path}.{partition}",
        index=False,
        boto3_session=boto3_session,
    )

Dependencies
awswrangler==3.4.0
boto3==1.28.56
botocore==1.31.56
jmespath==1.0.1
numpy==1.26.0
packaging==23.1
pandas==2.1.1
pyarrow==13.0.0
python-dateutil==2.8.2
pytz==2023.3.post1
s3transfer==0.7.0
six==1.16.0
typing_extensions==4.8.0
tzdata==2023.3
urllib3==1.26.16

Expected behavior
Being able to read and write all the files.
Your project
No response
Screenshots

OS
Ubuntu dev container on a mac. mcr.microsoft.com/devcontainers/base:ubuntu
Python version
3.10.13
AWS SDK for pandas version
3.4.0
Additional context
No response

Solved by using .convert_dtypes()
import awswrangler as wr
import boto3

read_path = "s3://bucket_read_name/"
write_path = "s3://bucket_write_name/"

boto3_session = boto3.Session(
    aws_access_key_id="***",
    aws_secret_access_key="***",
)
df_iterator = wr.s3.read_parquet(
    read_path , chunked=True, boto3_session=boto3_session
)

for partition, df in enumerate(df_iterator):
    wr.s3.to_parquet(
        df.convert_dtypes(),
        f"{write_path}.{partition}",
        index=False,
        boto3_session=boto3_session,

@KardaChalak how did you even arrive at that solution?
I had the exact same problem as you described, but I would've never thought of using convert_dytpes just to solve a memory leak.

@pisskidney
Happy that it worked for you too!
After being frustrated for a while I decided to write a subset of the columns with specific types and iteratively add columns until the memory problem reappeared. The problem didn't reappear and I searched for a method to convert the dtypes generally.


Possible HCL bug prevents parsing blocks into *hcl.Block fields of a struct.

The docs indicate that a struct field with a tag of hcl:"block" can be decoded into *hcl.Block types, however in practice this doesn't seem to work:
I believe the issue is to do with the interplay of these lines:

gohcl/decode.go#L198 - Which determines that the field is a pointer, and deferences it using v.Elem().
gohcl/decode.go#L266 - Which checks if blockType (which is reflect.Type of *hcl.Block, note it's a pointer) can be assigned to the type of v.Elem() (never a pointer).

I need to come up with a minimal reproduction and submit an issue to the HCL repo.

See https://github.com/hashicorp/hcl/issues/505


Support for scalatest 3.0.0-RC1

Overview
scalatest of version 3.0.0-RC1 is just out.
It would be great to have a compatible build of scalamock-scalatest-support.
Actual Result
Right now tests which have passed with scalatest v3.0.0-m15 are failing with 3.0.0-RC1 with follow error.
[error] missing or invalid dependency detected while loading class file 'AbstractMockFactory.class'.
[error] Could not access type NoArgTest in trait org.scalatest.Suite,
[error] because it (or its dependencies) are missing. Check your build definition for
[error] missing or conflicting dependencies. (Re-run with `-Ylog-classpath` to see the problematic classpath.)
[error] A full rebuild may help if 'AbstractMockFactory.class' was compiled against an incompatible version of org.scalatest.Suite.
[error] one error found

Environment

scala: 2.11.7
scalatest: 3.0.0-RC1
scalamock: 3.2.2

Yes, this is the issue we face too.

Same here. It's especially crucial for those who use Scala.js, since Scalatest began supporting it since 3.0.0.

me too

as a workaround, we could add https://github.com/paulbutcher/ScalaMock/tree/master/frameworks/scalatest/src/main/scala/org/scalamock/scalatest as a source dependency, does anybody know what changes would be needed?

[error] /home/fommil/Projects/ensime-server/testutil/src/main/scala/org/scalamock/scalatest/AbstractMockFactory.scala:31: not found: type NoArgTest
[error]   abstract override def withFixture(test: NoArgTest): Outcome = {

step 1: change Suite to TestSuite

step 2: change the this: TestSuite => to an extends

Did anyone find a way to use scalamock with the latest releases of scalatest 3 ?

Scalatest 3.0.0 is now released, in the mean time, did anyone manage to get it working?

So my 2 step guide wasn't any use?

 I have just submitted a PR for scalatest 3.0.0: https://github.com/paulbutcher/ScalaMock/pull/149

Hi Could you explain the 2 step guide. I don't get it. Which files/class needs to be modified ?

@Maatary Clone my repo (https://github.com/dvic/ScalaMock) and add all the files from the following folder to your project (copy the sources): frameworks/scalatest/src/main/scala/org/scalamock/scalatest
You can copy them to whatever package you want. Then, in your tests, when importing for example MockFactory, use the version from your own package and not the one from scalamock.

I extracted scalamock-scalatest-support into a separate module with @fommil's changes:
https://github.com/jeremyrsmith/scalamock-scalatest-support
It's published to Bintray for ease of use. Happy to remove it once @paulbutcher is able to revisit ScalaMock.

@jeremyrsmith thank you for your bintray release, it solved my issues! 👍

looks like this was fixed in v3.3.0, anye disagreeing?


feat: HWCR Outcome report

Description
Please provide a summary of the change and the issue fixed. Please include relevant context. List dependency changes.
Fixes # CE-248
NOTE: ALSO REQUIRES PR https://github.com/bcgov/nr-compliance-enforcement-cm/pull/106
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[X] Export HWCR with no Outcome
[X] Export HWCR with Assessment = "yes"
[X] Export HWCR with Assessment = "no"
[X] Export HWCR with just prevention
[X] Export HWCR with just equipment
[X] Export HWCR with just animal
[X] Export HWCR with just note
[X] Export HWCR with just review
[X] Export HWCR with multiple equipment
[X] Export HWCR with multiple animals
[X] Export HWCR with unset equipment
[X] Export HWCR with equipment that doesn't capture animals
[X] Export HWCR with duplicate complaints linked
[X] Export HWCR with no ear tags
[X] Export HWCR with left ear tag
[X] Export HWCR with right ear tag
[X] Export HWCR with both ear tags
[X] Export HWCR with one drug
[X] Export HWCR with multiple drugs
[X] Export HWCR with different combinations of sections filled in / not filled in

Checklist

[ ] I have added tests that prove my fix is effective or that my feature works
[X] New and existing unit tests pass locally with my changes

Further comments

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Backend

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are deployed in:

Merge Workflow

Thanks for the PR!
Deployments, as required, will be available below:

Frontend
Backend

Please create PRs in draft mode.  Mark as ready to enable:

Analysis Workflow

After merge, new images are deployed in:

Merge Workflow

Working without issue for me - moving to 'approved'.


How to achieve second style of side menu

Please refer to this link for your expectation: https://github.com/luannguyenkhoa/LNSideMenu#using-your-own-menu
Follow the example for implementing your custom menu.
Thanks.

show me the code for getting effect like second screenshot.

sideMenuManager?.sideMenuController()?.sideMenu?.disabled = true
not working properly some time it does open menu on swipe.

Seems you're looking at wrong viewcontroller.
For the default style menu (left), navigating to the destination ContentViewController when selecting a cell.
For the custom menu, the segue destination is NextViewController.

For the default style menu (left), navigating to the destination ContentViewController when selecting a cell.
after that on ContentViewController  interactivePopGestureRecognizer working if partially swipe this controller and leave it,then again swipe same controller menu will be open.
in short default navigation controller back  interactivePopGestureRecognizer conflict with menu gesture.

Thanks for catching it. Lemme check.

the cause is because we set disabled = true in viewDidLoad, it should be located in viewWillAppear.
btw, I just published a new version that fixes outstanding issues and updated example.
Please take a look if you are still here.


Added support for /jars route

@lgos44 could you please update also the Full API list section of the README file?


Add array support in Dockerfile

Tow doesn't understand constructions like:
VOLUME [
 ...
]

Tow does not parse any volume constructions. Could you post stack trace?

FATA[0000] Error: We do not understand this file. Please ensure it is a valid Dockerfile. Parser error at ""/var/www/html","
VOLUME [
  "/var/www/html",
  "/etc/nginx"
]

This error from docker itself.


feat(BREAKING): EmitOptions - combine inline_source_map and inline_sources

Closes #217

Which repos will we have to adjust to ensure there's no change in behavior?

The default is the same, but the breaking change is how the option is provided. This affects anything that emits.


The timeless repository

While researching, whether there is still activity around the camping framework, I found this nice blog-entry.
http://timelessrepo.com/on-camping-vs-sinatra
worth linking, IMHO

Magnus (the author of the article) is Camping's maintainer, so no doubt he'll respond.


DaeDaLus Tutorial

This PR includes the first, expository parts of a tutorial for the DaeDaLus language, including the changes needed to publish the tutorial as part of the DaeDaLus documentation GitHub pages.
Basically, we want to merge this early so it's easier for the team to review (being able to browse to the pages directly without having to build the Sphinx docs locally.)
Included in this tutorial so far:

A "Getting Started" section to set up DaeDaLus to be run and introduce the format around which the first half of the tutorial is framed (PPM)
A walkthrough of the core language features, based around examples taken from the PPM spec found among the format examples in the repository

My idea for the remainder of the tutorial is to build an extended guided exercise around the PNG format, providing solutions along the way so the reader is never left confused.
I'm open to any feedback from looking at this PR, but ultimately it's not the final product - again, it's only being merged early for ease of demonstration.

Some immediate updates from the TA2 check-in:

Prefer block to braces
Prefer let to @ for local variables
Try to provide all code in a way that's more testable (e.g. pull text from source files)
Provide  a 'template' file for the PNG exercises
Integration with Try Daedalus?
Test out building a PDF to see how dropdowns behave (if at all)


Can it work with pickle.dump/json.dump instead of text only ?

I want to make my dumps atomic.
SCK.

Use dumps instead of dump and write its return value to the file.

This does not work.
`from atomicwrites import atomic_write
import pickle
dict1 = {'goo':1,'mos':2}
with atomic_write('foo.txt', overwrite=True) as f:
f.write(pickle.dumps(dict1))`

https://stackoverflow.com/questions/50461868/trying-to-use-atomic-write-on-pickle-object

Hey, I just fished this out of my email backlog and I'm sorry I didn't respond to your StackOverflow post back then. I can't remember why I recommended to use dumps here instead of dump, either should've worked fine.
As you correctly noted you need the b flag to write binary data such as pickled objects


Update excel-add-ins-advanced-concepts.md

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

LauragraDocset0317235153/excel/excel-add-ins-advanced-concepts.md
:white_check_mark:Succeeded

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.

:warning: Validation status: warnings

File
Status
Preview URL
Details

LauragraDocset0317235153/excel/excel-add-ins-advanced-concepts.md
:warning:Warning

Details

LauragraDocset0317235153/excel/excel-add-ins-advanced-concepts.md

Line 8: [Warning] Invalid file link:(~/../reference/shared/context.md).
Line 9: [Warning] Invalid file link:(~/../reference/shared/document.md).
Line 13: [Warning] Invalid file link:(~/reference/requirement-sets/excel-api-requirement-sets.md).
Line 43: [Warning] Invalid file link:(~/reference/requirement-sets/office-add-in-requirement-sets.md).

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.


Update session

General
We use issues to drive the discussion for changes to
existing topics and the creation of new topics.
This template offers some suggestions to consider
when creating an issue.
Issues with Existing Topics
If the issue is a simple typo or similar correction, just submit a PR.
Otherwise, let us know what's wrong or what we should improve. Include a
link to the topic.
Requests for new Topics

Write a short paragraph describing what the topic will cover.

Write an outline of the proposed topic contents.

Where would you put the topic in the Table of Contents.

If you know who should review the issue, notify them by including @githubID in the issue description.

Might be a duplicate (or just related to):
2.0 Update fundamentals/app-state (aspnet/Docs 3767)
Improve session and application state in ASP.NET Core article by adding more details (aspnet/Docs 3216)

Oops, I somehow submitted this issue by mistake. Closing.


Activity Log

Implementation of activity logging for admin side features.

[x] #16
[x] API Controller
[x] Inventory Controller
[x] Menu Controller
[x] Password Reset Controller
[x] Reservation Controller
[x] Settings Controller
[x] User Controller

Updated loggers to provide more information about the item being logged. Furthermore, a morpher and is added to directly access the item being pointed out in the log.
This added two new columns to the table:

model_id which identifies the id of the model (basically, a foreign key)
model_type which identifies which model and table the model_id belongs to.

Updated loggers to mark all user related action as "not automated" contrary to what is placed.

Added the current user's id to the logger instead of null.


unifying multi-task implementation

Currently, the LSTM and GRU implementation of multitask learning is different than the RGCN implementation.

LSTM and GRU -> combine the gradients of the two variables in the train_step function
RGCN -> combines the losses of the two variables. This happens under the "TF hood"

I think it makes sense to either choose one implementation or the other so as to simplify.
I lean toward the RGCN approach and just add the losses together. It is simpler and I think it will be sufficient for our needs. One drawback is that it makes it so you can't do the fancy gradient correction approach I was using before. But that didn't actually improve performance, and if we want to we can always go back and look at the code and resurrect it.

I'm good with the RGCN approach given the exploration you've already done.

When adding in the state updating functionality, I thought the RGCN code was easier to follow. If the gradient correction doesn't improve performance, then I'd vote for the RGCN approach


Relaxing the restrictions that the problem reduction shape is divisible by split-ratio

Request description
IREE Codegen has restrictions on split-k-slices a.k.a. split-ratio:
(ProblemK % split-ratio == 0)

Matmul problem k or the reduction dimension should be divisible with split-ratio. This restrict us to use optimal split-ratio for a problem size when the divisibility rule fails.
It will be great to have the discussion on if this is possible and what should be the path for it removing this restriction on split-ratio.
What component(s) does this issue relate to?
No response
Additional context
No response

From triage meeting: @manishucsd is this in progress?

@allieculp , I have identified this issue and this is not in progress. I created this issue so as to have discussion on this.
cc: @ThomasRaoux , @julianwa

Can be closed by #13115 ?

We have decent confidence that we can get performance of split-k matmul to match the library/cuBLAS performance, but there are a two issues in path to production:

[] 1. An intuitive split-k API which does NOT use batch_matmul as a proxy to trigger split-k (#13014 - Issue closed but not fixed )  [This issue]

[x ] 2. Relaxing the restrictions on the reduction dim to be divisible by split-ratio (#13015 - Issue closed but not fixed)

Note: We are trying to feed one bird with one seed by the solution proposed in #13155
The above two issue is being handled in the discussion and solutions proposed here #13155 (Open issue and addressing 1. And 2. from path to production).


[SPARK-42657][CONNECT] Support to find and transfer client-side REPL classfiles to server as artifacts

What changes were proposed in this pull request?

This PR introduces the concept of a ClassFinder that is able to scrape the REPL output (either file-based or in-memory based) for generated class files.  The ClassFinder is registered during initialization of the REPL and aids in uploading the generated class files as artifacts to the Spark Connect server.
Why are the changes needed?

To run UDFs which are defined on the client side REPL, we require a mechanism that can find the local REPL classfiles and then utilise the mechanism from https://issues.apache.org/jira/browse/SPARK-42653 to transfer them to the server as artifacts.
Does this PR introduce any user-facing change?

Yes, users can now run UDFs on the default (ammonite) REPL with spark connect.
Input (in REPL):
class A(x: Int) { def get = x * 5 + 19 }
def dummyUdf(x: Int): Int = new A(x).get
val myUdf = udf(dummyUdf _)
spark.range(5).select(myUdf(col("id"))).as[Int].collect()

Output:
Array[Int] = Array(19, 24, 29, 34, 39)

How was this patch tested?

Unit tests + E2E tests.

Find an error related to ReplE2ESuite on GA test task:
023-04-18T03:29:20.8938544Z [info] ReplE2ESuite:
2023-04-18T03:29:24.5685770Z sh: 1: cannot open /dev/tty: No such device or address
...
2023-04-18T03:29:25.5551653Z sh: 1: cannot open /dev/tty: No such device or address
2023-04-18T03:29:25.5631256Z sh: 1: cannot create /dev/tty: No such device or address
...
2023-04-18T03:29:43.5473148Z [info]   java.lang.RuntimeException: REPL Timed out while running command:
2023-04-18T03:29:43.5473697Z [info] class A(x: Int) { def get = x * 5 + 19 }
2023-04-18T03:29:43.5474147Z [info] def dummyUdf(x: Int): Int = new A(x).get
2023-04-18T03:29:43.5474578Z [info] val myUdf = udf(dummyUdf _)
2023-04-18T03:29:43.5480701Z [info] spark.range(5).select(myUdf(col("id"))).as[Int].collect()
2023-04-18T03:29:43.5481161Z [info]
2023-04-18T03:29:43.5481539Z [info] Console output:
2023-04-18T03:29:43.5482081Z [info] Spark session available as 'spark'.
2023-04-18T03:29:43.5484862Z [info]    _____                  __      ______                            __
2023-04-18T03:29:43.5488022Z [info]   / ___/____  ____ ______/ /__   / ____/___  ____  ____  ___  _____/ /_
2023-04-18T03:29:43.5491144Z [info]   \__ \/ __ \/ __ `/ ___/ //_/  / /   / __ \/ __ \/ __ \/ _ \/ ___/ __/
2023-04-18T03:29:43.5494244Z [info]  ___/ / /_/ / /_/ / /  / ,<    / /___/ /_/ / / / / / / /  __/ /__/ /_
2023-04-18T03:29:43.5497421Z [info] /____/ .___/\__,_/_/  /_/|_|   \____/\____/_/ /_/_/ /_/\___/\___/\__/
2023-04-18T03:29:43.5500566Z [info]     /_/
2023-04-18T03:29:43.5502973Z sh: 1: cannot open /dev/tty: No such device or address
...
2023-04-18T03:29:43.7154910Z [info] Error output: Compiling (synthetic)/ammonite/predef/ArgsPredef.sc
2023-04-18T03:29:43.7155688Z [info] Compiling /home/runner/work/spark/spark/connector/connect/client/jvm/(console)
2023-04-18T03:29:43.7156273Z [info] java.lang.RuntimeException: Nonzero exit value: 2
2023-04-18T03:29:43.7156688Z [info]   scala.sys.package$.error(package.scala:30)
2023-04-18T03:29:43.7157121Z [info]   scala.sys.process.ProcessBuilderImpl$AbstractBuilder.slurp(ProcessBuilderImpl.scala:138)
2023-04-18T03:29:43.7157538Z [info]   scala.sys.process.ProcessBuilderImpl$AbstractBuilder.$bang$bang(ProcessBuilderImpl.scala:108)
2023-04-18T03:29:43.7158104Z [info]   ammonite.terminal.TTY$.stty(Utils.scala:103)
2023-04-18T03:29:43.7158794Z [info]   ammonite.terminal.TTY$.withSttyOverride(Utils.scala:114)
2023-04-18T03:29:43.7160239Z [info]   ammonite.terminal.Terminal$.readLine(Terminal.scala:41)
2023-04-18T03:29:43.7162012Z [info]   ammonite.repl.AmmoniteFrontEnd.readLine(AmmoniteFrontEnd.scala:133)
2023-04-18T03:29:43.7163249Z [info]   ammonite.repl.AmmoniteFrontEnd.action(AmmoniteFrontEnd.scala:28)
2023-04-18T03:29:43.7163556Z [info]   ammonite.repl.Repl.$anonfun$action$4(Repl.scala:194)
2023-04-18T03:29:43.7163863Z [info]   ammonite.repl.Scoped.$anonfun$flatMap$1(Signaller.scala:45)
2023-04-18T03:29:43.7164158Z [info]   ammonite.repl.Signaller.apply(Signaller.scala:28)
2023-04-18T03:29:43.7171303Z [info]   ammonite.repl.Scoped.flatMap(Signaller.scala:45)
2023-04-18T03:29:43.7172151Z [info]   ammonite.repl.Scoped.flatMap$(Signaller.scala:45)
2023-04-18T03:29:43.7172894Z [info]   ammonite.repl.Signaller.flatMap(Signaller.scala:16)
2023-04-18T03:29:43.7174248Z [info]   ammonite.repl.Repl.$anonfun$action$2(Repl.scala:178)
2023-04-18T03:29:43.7176993Z [info]   ammonite.util.Catching.flatMap(Res.scala:115)
2023-04-18T03:29:43.7177811Z [info]   ammonite.repl.Repl.action(Repl.scala:170)
2023-04-18T03:29:43.7178715Z [info]   ammonite.repl.Repl.loop$1(Repl.scala:212)
2023-04-18T03:29:43.7179009Z [info]   ammonite.repl.Repl.run(Repl.scala:227)
2023-04-18T03:29:43.7179272Z [info]   ammonite.Main.$anonfun$run$1(Main.scala:236)
2023-04-18T03:29:43.7179543Z [info]   scala.Option.getOrElse(Option.scala:189)
2023-04-18T03:29:43.7179795Z [info]   ammonite.Main.run(Main.scala:224)
2023-04-18T03:29:43.7184102Z [info]   org.apache.spark.sql.application.ConnectRepl$.doMain(ConnectRepl.scala:100)
2023-04-18T03:29:43.7185205Z [info]   org.apache.spark.sql.application.ReplE2ESuite$$anon$1.run(ReplE2ESuite.scala:59)
2023-04-18T03:29:43.7185569Z [info]   java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
2023-04-18T03:29:43.7185885Z [info]   java.util.concurrent.FutureTask.run(FutureTask.java:266)
2023-04-18T03:29:43.7191750Z [info]   java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
2023-04-18T03:29:43.7192249Z [info]   java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
2023-04-18T03:29:43.7192662Z [info]   java.lang.Thread.run(Thread.java:750)

I am currently unsure why this error occurred

@LuciferYang It looks related to the TTY issues (https://github.com/com-lihaoyi/Ammonite/issues/276) we were hitting in the CI pipelines earlier. (2023-04-18T03:29:24.5685770Z sh: 1: cannot open /dev/tty: No such device or address in the logs is the indicator)
These changes (taken from here) (helped us mitigate the issue for the CI pipelines but perhaps the GA test pipeline uses a different config? Any idea about the pipeline config @HyukjinKwon?

Is this just being flaky? All GA jobs share the same thing (that you fixed)

@HyukjinKwon I would not think it is flaky. It is probably the GA builds also missing the TTY setup in the build steps. So we need to copy the following changes to the steps:
      run: |
        # Fix for TTY related issues when launching the Ammonite REPL in tests.
        export TERM=vt100 && script -qfc 'echo exit | amm -s' && rm typescript

https://github.com/apache/spark/pull/40675/files#diff-48c0ee97c53013d18d6bbae44648f7fab9af2e0bf5b0dc1ca761e18ec5c478f2R250-R253

@LuciferYang which GitHub job failed? The link seems stale now so I can't see. It is a scheduled build?

@LuciferYang which GitHub job failed? The link seems stale now so I can't see. It is a scheduled build?

I found this issue from GA task of user pr
The last failed build on https://github.com/apache/spark/pull/40783  also had this issue, I don't know if @rangadi  can provide a new link

@HyukjinKwon https://github.com/rangadi/spark/actions/runs/4737137341/jobs/8409588363 this one

Ah, i think it just happened because of unsynced fork. It should be fixed if their fork is synced to the lastest master branch.

Hmm... GA should merge the current pr to the latest master before testing, right?
It's okay, Let's wait and see if there are any new cases happening.

@HyukjinKwon I would not think it is flaky. It is probably the GA builds also missing the TTY setup in the build steps. So we need to copy the following changes to the steps:
      run: |
        # Fix for TTY related issues when launching the Ammonite REPL in tests.
        export TERM=vt100 && script -qfc 'echo exit | amm -s' && rm typescript

https://github.com/apache/spark/pull/40675/files#diff-48c0ee97c53013d18d6bbae44648f7fab9af2e0bf5b0dc1ca761e18ec5c478f2R250-R253

@zhenlineo is there some reference about such magic command? better to briefly explain the mechanism or leave a link in comments

Hmm... GA should merge the current pr to the latest master before testing, right?

Yes except the workflow file. For the changes in workflow, they have to manually update to the latest master branch.

Hmm... GA should merge the current pr to the latest master before testing, right?

Yes except the workflow file. For the changes in workflow, they have to manually update to the latest master branch.

Got it ~

@vicennial I found ReplE2ESuite always failed in Java 17 GA daily test:

https://github.com/apache/spark/actions/runs/4726264540/jobs/8385681548
https://github.com/apache/spark/actions/runs/4737365554/jobs/8410097712
https://github.com/apache/spark/actions/runs/4748319019/jobs/8434392414
https://github.com/apache/spark/actions/runs/4759278349/jobs/8458399201


ensure test instance deleted before delete security group

we've encounter delete security group exception due to server not fully deleted, hence added the check

ok to test

retest


Dts 20811 get project assignee

@pankumar8 I have changed according to the comments.Please review it once.


Documentation for adding credentials

The documentation states that passwords should be encoded in NSURLs:
// username/password can be Cloudant API keys
NSString *s =<EMAIL_ADDRESS>
This is not possible with complex passwords that contain special delimiter tokens, such as the @ (at) symbol which is used to end the password or : (colon) which is used to end the username or / (backslash) which is used to end the protocol and start the username. NSURL does not have any methods to set the username and password with appropriate encoding to avoid this issue. Ultimately, these credentials will be added as basic authentication header in base64 encoding. Instead of adding them to the NSURL, they should be added directly to the headers to avoid parsing issues. This can be done with the HTTP interceptors:
func basicAuthHeaderInBase64() -> String? {
	if let username = fetchUsername(),
	   let password = fetchPassword() {
        let userPasswordString = "\(username):\(password)"
        let userPasswordData = userPasswordString.dataUsingEncoding(NSUTF8StringEncoding)
        let base64EncodedCredential = userPasswordData!.base64EncodedStringWithOptions(
            .Encoding64CharacterLineLength)
        return "Basic \(base64EncodedCredential)"
    }
    return nil
}

func interceptRequestInContext(context: CDTHTTPInterceptorContext) -> CDTHTTPInterceptorContext {
    if let authString = basicAuthHeaderInBase64() {
        context.request.setValue(
            authString,
            forHTTPHeaderField: "Authorization")
    } else {
        // anonymous access requires us to remove authorization header
        context.request.setValue(nil, forHTTPHeaderField: "Authorization")
    }
    return context
}

Ideally, the NSURLSessionConfiguration object should be customized via delegate method to add basic auth:
var credential: NSURLCredential {
       return cred = NSURLCredential(
                user: self.username,
                password: self.password,
                persistence: .ForSession)
}

var protectionSpace: NSURLProtectionSpace {
    return NSURLProtectionSpace(
            host: self.url.host,
            port: self.port,
            protocol: self.url.scheme,
            realm: nil,
            authenticationMethod: NSURLAuthenticationMethodHTTPBasic)
}

@objc func customiseNSURLSessionConfiguration(config: NSURLSessionConfiguration) {
    if let c = credential, p = protectionSpace {
    	config.URLCredentialStorage?.setCredential(c, forProtectionSpace: p)
    }
}

While testing this method I found that two different replications from two different users initiated in the same protection space will not run as expected. This is probably because the URLCredentialStorage object is a shared object between all URLSessions (not verified). Each time a replication is run, it will pick a default credential from the protection space and NOT the last credential set. In order to avoid authentication errors, a work around is to remove ALL credentials for a protection space before adding the credentials desired (relevant stack overflow question). However, this ends up modifying the keychain which is not ideal if you are depending on the keychain to store your user credentials.
Another solution is to set the default credential for a protection space. However, this will not work if you want to be able to use anonymous credentials.
A more ideal solution is to use the NSURLSession delegate to handle authentication challenges. This way, based on your app's specific logic you can choose which credential to retrieve from the credential store and use that instead. Currently, I cannot find anywhere in the library that exposes the NSURLSession delegate property for this customization.

It sounds like we have a couple of issues here. The way we accept credentials into the replicator isn't perfect, and since we strip them from the URL to use with _session endpoint with CouchDB, we should probably expose this as a username and password properties, with the URL stripping as a way of maintaining compatibility.
I don't think exposing the delegate challenge is the right thing to do, since hiding it away means we can switch out the implementation without a breaking change in the event it is needed, we should do some thinking on it and see what we come up with.
I think there are a few things need to here:

[ ] Have a better API for providing usernames and passwords, I think this should be via a property.
[ ] Change the NSURLSessionConfiguration so it doesn't share storage and cache etc.
[ ] Ensure the url-form-encoding is correct in the CDTSessionCookieInterceptor.

Firstly, : can't be used in usernames for basic auth because of the way it's encoded over the network:
userid      = *<TEXT excluding ":">

(https://www.ietf.org/rfc/rfc2617.txt)
But of course you should be able to use any other characters and tell our library that you want to use these.
Maybe we should do what some of our other libraries do and allow for username/password in URL or as extra configuration, with the latter over-riding the former. I still think it's useful to have these in the URL but I guess we have stored up trouble for ourselves by pretending we can transparently 'upgrade' the user from basic auth to cookie auth.
As a case in point, I can access local couch with username and password both of @@@ using curl http://%40%40%40:%40%40%40@localhost:5984/_all_dbs. But this doesn't seem to work in our library, presumably because cookie auth has no idea about percent encoding.


-[NSNull _fastCStringContents:]: unrecognized selector sent to instance

replace all the
if (managedObjectKey == nil)
to
if (managedObjectKey == nil || [managedObjectKey isEqual:[NSNull null]])
will resolve the crash issue.

It sounds like you've specified NSNull where it isn't allowed. Can you please share the actual code you're using?

Yes, I assign keys that not be used to NSNull.null. like
@"history": NSNull.null
Remove those null things will make it work again without modify the adapter.

Ah, I see—it looks like the documentation for +managedObjectKeysByPropertyKey is incorrect. Sorry about that.
I'll update this issue to clarify the problem.


Use multiple threads

To speed up the build process it'd be nice if the plugin would build using multiple threads. The amount of threads to build with could be configured in the settings, or detected automatically.
Cargo allows multi-threading using the "--jobs" parameter.

Yeah, good point. I'll implement it in near future.

Hi @Binero,
cargo itself detects how many threads it can spawn. According to the help of cargo:
-j N, --jobs N           Number of parallel jobs, defaults to # of CPUs


Workers got displayed in new Page

🛠 Fixes Issue

Closes #114
👨💻 Changes proposed
Created a Page which displays all the Dummy data of workers

✔ Check List (Check all the applicable boxes)

[ ] My code follows the code style of this project.
[ ] This PR does not contain plagiarized content.
[ ] The title of my pull request is a short description of the requested changes.

📄 Note to reviewers

📷 Screenshots

Hi Siddesh ⚡
I believe you've done ✔ some great work
Could you please fix the merge conflict

@Siddhesh777

Will add level 3 @Siddhesh777

hey @KaizenGirl1111 resolved the conflicts

and someone just messed up with the UI of original website I just checked it right now while resolving conflicts

dont worry, I will manage it

and someone just messed up with the UI of original website I just checked it right now while resolving conflicts

dont worry, I will manage it

@Siddhesh777 you can add a new issue as enhancement of UI, I'll assign it it you

hey @KaizenGirl1111
Resolved again


dataToJS only works for explicitely defined paths

Assuming I have:
@firebase((props, firebase) => ([
  '/quizzes',
  '/quizProblems'
]))

and I have an object /quizzes/abc in the database,
then:
dataToJS(firebase, '/quizzes/abc')
will return undefined.
However:
dataToJS(firebase, '/quizzes/').abc
works.
I would assume this is because you are not actually converting nested Firebase data into immutables. I absolutely agree that this is a good thing - in terms of performance, as well as in practical terms, considering that you are not supposed to change firebase-managed data directly at all, but rather commit any changes through the firebase API instead.
Either way, this and general data management guidelines should be explicitly stated in the docs, while also hinting at _.get to directly access firebase data at a given path.
Getting the redux mirror of the local firebase cache to become readonly, would be an even bigger plus! :)

@domiii dataToJs searching is working only on the path you listen on, the change that you can't liten with it deeper then that is becayse my PR, it's because we inject "data" key on the listen path and search for it on dataToJs, this give us the ability to have multiple listeners on same sub tree of firebase without overriding one each other when component will unmount and clean the state. If you want to have this ability I'm not sure but pathToJs is not stricted so its need to work but you need to add data node on the string you search for like: "/data/quizzes/data/abc", we can also write new helper for deep search on dataToJs.

@Domiii is this worked for you ?

I am saying that this should be covered in the docs, and ideally in the samples! Hah :)
Tbh, the current state of the library is far from production (or maybe I'm just a bit too stupid). But I also need to admit that I was fairly new to React, Redux and Firebase, just the whole toolchain, so that woujld explain it!
I guess, the library is great for simple stuff and given you are already fairly familiar with all parts involved. For someone like me who wanted to get a React App w/ Firebase going, and keep the code nice and clean, I had to spend quite a few days on getting things to the point I wanted it. I am about to start test-running my code. It also comes with a clearer approach to getting the data you want, no matter where it is located, through a high-level wrapper object around any path you use.
You mentioned that pathToJs can be used to get any data anywhere without any restrictions, but need to add the data prefix to the path? Maybe at the very least that can be documented, and _.get should maybe also be mentioned! :)

@Domiii i agree with you about the docs, they far from being good, and most of it is because of me, i'm doing changes without updating the docs.
i'm not agree with the part of the current state of the lib, i'm using it on production on more then one project and its working perfect, its also giving you ability to do stuff more then the firebase SDK (look at my last PR #47).
i didn't understood gow _.get is related to here ?
i can tell you that i started to use this lib because it was the only lib that combining redux-react-firebase and from then i contributed a lot of changes evert time that i needed something that wasn't exists.
i'm happy that you are using this lib and i think that you'll find it useful, if you want a little tip from me, to be honest i didn't went over the docs, i just started to look in the code, the code is very simple and you'll find out its much faster to understand it from the code :)


State does not clean succesfully when using wrong arguments on constructor

#include "sol.hpp"
#include <string>

class MyClass
{
private:
    std::string m_name;
public:
    MyClass(const std::string& name) : m_name(name) {};
};

void bind_class(sol::state_view state)
{
    sol::usertype<MyClass> bind_my_class
            = state.new_usertype<MyClass>(
                "MyClass", sol::call_constructor,
                sol::constructors<MyClass(std::string)>());
}

int main(int argc, char** argv)
{
    sol::state state;
    bind_class(state);
    state.do_string("local a = MyClass();");
}

When running this program, it crashes the state goes into the destructor and is trying to garbage collect remaining objects.
Since MyClass has not been properly constructed (since the arguments were wrong), it is not properly destructed either and crashes.
Tested with sol 3.2.2 and Lua 5.4.0

Note that this also happen without call_constructor

Yeah, it's a matter of when the actual metatable is bound. We were early-binding it to prevent issues with constructor throws not deleting the Lua memory; I've put in a temporary fix that does it "at the right time", but I'm still going to need to add some special logic with try { blargh } catch (...) { blahf; }, or at least audit the code with some funky throwing, no-except destructors and such to see if this works out properly....

Pull from latest to have the fix for this that should work in most circumstances.


Consider making names shorter

Names in Go are usually short.
Shorter type and package names are more idiomatic and less to type. For example:
gojsonschema -> jsonschema
GetFileJson -> GetFile
GetHttpJson -> GetHTTP (initialism)
JsonSchemaDocument -> Document
ValidationResult -> Result

I considered these enhancements for the lastest update, thanks.

I considered these enhancements for the lastest update, thanks.


Remove Google+ and Vimeo from grouped display

Also putting the list of sources to the toplevel. See #65

Out they go! 👍 💯


SSL peer certificate or SSH remote key was not OK

Hello Brevo-Team,
I am trying to configure the api_instance according to the guide in the README.md and receive following error:
SSL peer certificate or SSH remote key was not OK
I am providing the correct API key and even pass it as a direct string to config.api_key['api-key'], though I am still receiving the error above.
This is my code in Ruby:
require 'sib-api-v3-sdk'

SibApiV3Sdk.configure do |config|
  config.api_key['api-key'] = ENV["BREVO_API"]
end

api_instance = SibApiV3Sdk::AccountApi.new

begin
  result = api_instance.get_account
  p result
rescue SibApiV3Sdk::ApiError => e
  puts "#{e}"
end

It would be nice to know what exactly I am doing wrong. Thank you in advance.
PS: It seems I can't label my own issue, sorry about that.

Hi @RageCrezz
are you still facing the issue ?

Yes, I still do

Can you please share your account ?


METRON-1589: '/api/v1/search/search' fails when 'Solr Zookeeper Urls' has comma separated multiple zookeeper urls

Contributor Comments
Refactored SolrDao to kill getZkHost and made it getZkHosts and return a List. getSolrClient now takes a List<String>, and passes it down.
I also added a getSolrClient method that's just blank, and defers to the getZkHosts method.  Our calls to getSolrClient are generally solrDao.getSolrClient(solrDao.getZkHosts), which seems unnecessary. I did not however, change everything to use that, but I could definitely be persuaded to as part of this.
Additionally, SolrColumnMetadataDao now takes a SolrClient instead of a Zookeeper host string, to make it consistent with the other DAOs.
There's one catch however: I haven't integration tested this, because I'd need multiple Zk nodes and we don't really have a clean way to get it (neither the SolrComponent or ZkComponent really let you do it).  I'm not sure if we want or need those tests, or if alternatively we want to spin up a multinode environment and manually test, or if we're fine just assuming things line up (given that it's really testing if the underlying method works as expected at this point). There are unit tests agains the methods to ensure splitting is handled properly in the methods.
Pull Request Checklist
Thank you for submitting a contribution to Apache Metron.
Please refer to our Development Guidelines for the complete guide to follow for contributions.
Please refer also to our Build Verification Guidelines for complete smoke testing guides.
In order to streamline the review of the contribution we ask you follow these guidelines and ask you to double check the following:
For all changes:

[x] Is there a JIRA ticket associated with this PR? If not one needs to be created at Metron Jira.
[x] Does your PR title start with METRON-XXXX where XXXX is the JIRA number you are trying to resolve? Pay particular attention to the hyphen "-" character.
[x] Has your PR been rebased against the latest commit within the target branch (typically master)?

For code changes:

[x] Have you included steps to reproduce the behavior or problem that is being changed or addressed?

[x] Have you included steps or a guide to how the change may be verified and tested manually?

[ ] Have you ensured that the full suite of tests and checks have been executed in the root metron folder via:
mvn -q clean integration-test install && dev-utilities/build-utils/verify_licenses.sh

[x] Have you written or updated unit tests and or integration tests to verify your changes?

[x] If adding new dependencies to the code, are these dependencies licensed in a way that is compatible for inclusion under ASF 2.0?

[x] Have you verified the basic functionality of the build by building and running locally with Vagrant full-dev environment or the equivalent?

For documentation related changes:

[ ] Have you ensured that format looks appropriate for the output in which it is rendered by building and verifying the site-book? If not then run the following commands and the verify changes via site-book/target/site/index.html:
cd site-book
mvn site

Note:
Please ensure that once the PR is submitted, you check travis-ci for build issues and submit an update to your PR as soon as possible.
It is also recommended that travis-ci is set up for your personal repository such that your branches are built there before submitting a pull request.

I think solrDao.getSolrClient() is easier to understand and if I had to choose I would use that.  Very minor though.
For integration testing I think it will take a non-trivial amount of work to test with a cluster of zk components.  I would be willing to compromise and leave this to multinode testing outside of our CI process.  As far as I know we don't test other components in this manner (ES for example).

@cestella Check out the adjustment for the trim and see how you feel about it.
Where should solr.zookeeper live?  I was a going to drop it in SolrConstants, but discovered it currently lives in SolrWriter, which doesn't feel like the right place for it since it's more widely used.  Do we want to drop it into SolrConstants, and adjust SolrWriter to use that instead?

That looks good @justinleet Yeah, I think that key deserves to be in SolrConstants.
+1 by inspection, pending moving the constant.

@cestella Before I merge this in, are you okay with this PR doing this for the existing constant?
https://github.com/apache/metron/pull/1040/commits/c04b9462669bbe26de0ee1f6c7d0d39a348e865b#diff-47dd38427181750f7a4d42b813b28f43R57
I wanted to keep the existing stuff consistent and avoid too much digging into something not entirely related.
Having said that, it seems like we could probably clean up some of configuration constants in a more holistic way, but I'd argue that's outside the scope of this PR.

Closing PR that's in the feature branch


Updating UDR support note to include GA ETA

Getting quite a few emails and messages about Service Tag support for UDR going into GA, so adding the ETA here for widespread awareness.

@andreamichaelmsft : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Hi @andreamichaelmsft - This pull request was opened in the public repo. PMs should work in the private repo, per the Microsoft Docs contributor guide. Would you make this content update in the private repo instead? Thank you! We'll close this PR.

Done, thank you!
From: Kristine Toliver @.>
Sent: Thursday, December 2, 2021 11:15 AM
To: MicrosoftDocs/azure-docs @.>
Cc: Andrea Michael @.>; Mention @.>
Subject: Re: [MicrosoftDocs/azure-docs] Updating UDR support note to include GA ETA (PR #84731)
Closed #84731https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F84731&data=04|01|anmichael%40microsoft.com|7dba1bc31318449a6d3e08d9b5aed277|72f988bf86f141af91ab2d7cd011db47|1|0|637740584750609237|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=N3YKuRFFRLmO%2B27mMW29AX5xKYUkzq4I1yIQQqXs6W0%3D&reserved=0.

You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fazure-docs%2Fpull%2F84731%23event-5706959475&data=04|01|anmichael%40microsoft.com|7dba1bc31318449a6d3e08d9b5aed277|72f988bf86f141af91ab2d7cd011db47|1|0|637740584750619229|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=VRr3riFFM5Qb5R5OvDuVI0zLL5Q%2BNvqSPicsit%2BAOoI%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAVUG57NUC562XQ3WRGQKFW3UO6LONANCNFSM5JHPR4EQ&data=04|01|anmichael%40microsoft.com|7dba1bc31318449a6d3e08d9b5aed277|72f988bf86f141af91ab2d7cd011db47|1|0|637740584750619229|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=hHwTzj4C7gRc0spn6dBvtXDQKG9g%2FL3vCQEWpBy31Bs%3D&reserved=0.
Triage notifications on the go with GitHub Mobile for iOShttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|anmichael%40microsoft.com|7dba1bc31318449a6d3e08d9b5aed277|72f988bf86f141af91ab2d7cd011db47|1|0|637740584750629224|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=9wHZsk5oZJ1jPK3nO5oQFtG6fKFUqhRT8t%2B6u1iDMlw%3D&reserved=0 or Androidhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|anmichael%40microsoft.com|7dba1bc31318449a6d3e08d9b5aed277|72f988bf86f141af91ab2d7cd011db47|1|0|637740584750629224|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=%2F3rE5aURko6xkWjkRdJNOmOU46DxOKF2Z0eAdkK6VEU%3D&reserved=0.