feat(bff): use 'kubeflow-userid' header to authorize BFF endpoints

Description
In Kubeflow's Central Dashboard, the kubeflow-userid header carries the user's email address for authentication purposes. When a user accesses applications through the dashboard, each request includes this header, allowing the application to identify the user.
On the BFF, we are using kubeflow-userid header to do Authorization via SubjectAccessReview on all endpoints. For all endpoints we only authorize requests from users that can "get", "list" services via ClusterRole.
One thing that we need to double-check with other people from community (@tarilabs please chime in), is that instead of a ClusterRole, we should not do SubjectAccessReview for a given namespace. I've implemented in a 'cluster level' access because my understanding is that model registries access are not restricted by namespace.
So in short, the BFF authorize every user that has get/list for services authorization cluster-wide.
Another important aspect is that for ALL kubernetes APIs calls (including SubjectAccessReview), the BFF is using the service account token for it (after SubjectAccessReview check).
As Kubeflow don't have any bearerToken information, I've removed this piece for codebase. I'm always happy to reintroduce it as soon as have this need, i.e. if any distribution needs to do authentication differently.
In this PR:

clients/ui/bff/README.md: added header info and some clarifications on readme;
clients/ui/bff/internal/api/app.go: added a middleware that is executed on ALL endpoints to SubjectAccessReview checks;
clients/ui/bff/internal/api/errors.go: utility function to deal with forbiddenResponse
clients/ui/bff/internal/api/healthcheck_handler.go, clients/ui/bff/internal/models/health_check.go and clients/ui/bff/internal/repositories/health_check.go: added kubeflow-userid  info to the healthcheck. This is the only entrypoint that don't do SubjectAccessReview
clients/ui/bff/internal/api/middleware.go: removed all code related to bearerToken and also implemented the middleware for access control
clients/ui/bff/internal/integrations/http.go: removed bearerToken header that we pass for model registry apis
clients/ui/bff/internal/integrations/k8s.go: we now have two clients here, one ControllerRuntimeClient(cached) and KubernetesNativeClient(for operations like  SubjectAccessReview). I've also created the PerformSAR method that is the core piece of this PR
clients/ui/bff/internal/mocks/k8s_mock.go: on the mock, I've created the default rbac on envtest for<EMAIL_ADDRESS>clients/ui/manifests/user-rbac/kubeflow-dashboard-rbac.yaml: the RBAC of our make kind-deployment test functionality
clients/ui/scripts/deploy_kind_cluster.sh: removed the kuberentes token in favor of warning user of the required headers

How Has This Been Tested?
curl -i -H "kubeflow-userid<EMAIL_ADDRESS>localhost:4000/api/v1/healthcheck                                           (kind-kubeflow-ui/default)
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Wed, 27 Nov 2024 22:18:50 GMT
Content-Length: 102

{
	"status": "available",
	"system_info": {
		"version": "1.0.0"
	},
	"user-id"<EMAIL_ADDRESS>}

curl -i -H "kubeflow-userid<EMAIL_ADDRESS>localhost:4000/api/v1/model_registry                                        (kind-kubeflow-ui/default)
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Wed, 27 Nov 2024 22:19:26 GMT
Content-Length: 413

{
	"data": [
		{
			"name": "model-registry",
			"displayName": "Model Registry",
			"description": "Model Registry Description"
		},
		{
			"name": "model-registry-bella",
			"displayName": "Model Registry Bella",
			"description": "Model Registry Bella description"
		},
		{
			"name": "model-registry-dora",
			"displayName": "Model Registry Dora",
			"description": "Model Registry Dora description"
		}
	]
}

curl -i -H "kubeflow-userid: shouldnotwork" localhost:4000/api/v1/model_registry                                           (kind-kubeflow-ui/default)
HTTP/1.1 403 Forbidden
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Wed, 27 Nov 2024 22:19:45 GMT
Content-Length: 65

{
	"error": {
		"code": "403",
		"message": "access denied"
	}
}

Using the Header Editor Chrome Extension:
With wrong user name:

With right user name:

Merge criteria:

All the commits have been signed-off  (To pass the DCO check)

[X] The commits have meaningful messages; the author will squash them after approval or in case of manual merges will ask to merge with squash.
[X] Testing instructions have been added in the PR body (for PRs involving changes that are not immediately obvious).
[X] The developer has manually tested the changes and verified that the changes work.
[X] Code changes follow the kubeflow contribution guidelines.

If you have UI changes

[X] The developer has added tests or explained why testing cannot be added.
[X] Included any necessary screenshots or gifs if it was a UI change.
[X] Verify that UI/UX changes conform the UX guidelines for Kubeflow.

@Griffin-Sullivan @alexcreasy or @lucferbux, One thing that I didn't do is test with the real model registry (not the mocked one). Can you please do this when you try this PR?
I've tested with kubernetes  (not our env test mock) but not inside the cluster (waiting for @Griffin-Sullivan PR)
curl -i -H "kubeflow-userid<EMAIL_ADDRESS>localhost:4000/api/v1/model_registry                                        (kind-kubeflow-ui/default)
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Content-Type: application/json
Date: Wed, 27 Nov 2024 22:23:13 GMT
Content-Length: 154

{
	"data": [
		{
			"name": "model-registry-service",
			"displayName": "Kubeflow Model Registry",
			"description": "An example model registry"
		}
	]
}
```

One thing that we need to double-check with other people from community (@tarilabs please chime in)

This is governed by the @kubeflow/wg-manifests-leads KF/Platform team, and ought to be cross checked with them, imho.

my understanding is that model registries access are not restricted by namespace

Indeed because Model Registry is meant as a platform-level service.

Happy to help, maybe a thread could help in slack to sort some things out faster. But could also do a review here, if it could help

"model registries access are not restricted by namespace" maybe I misunderstood something, but we definitely need a way to limit access to models. Namespaces can be from different departments that are not allowed to access other departments models. For me that is a core criteria for graduation.

Namespaces can be from different departments that are not allowed to access other departments models.

It is my understanding that if you deploy into a (user) namespace, is considered a tenant, hence you'd have access to registry and metadata of that instance only if indeed you have access to that ns.
It is my understanding also that if you consider model registry a platform service, you'd make said instance available to the whole kubeflow scope.

Namespaces can be from different departments that are not allowed to access other departments models.

It is my understanding that if you deploy into a (user) namespace, is considered a tenant, hence you'd have access to registry and metadata of that instance only if indeed you have access to that ns.
It is my understanding also that if you consider model registry a platform service, you'd make said instance available to the whole kubeflow scope.

Yes, available to all kubeflow namespaces, but with different permissions per namespace.

I'm not sure I fully follow @juliusvonkohout 100%, in such case pardon me.
The main example we have, also in the manifests, is for a common Model Registry to the whole KF platform scope. This is helpful as MR is touted as a single pane of glass and shared platform service. I think this was accepted a while back. As a platform service. I think this is a sensible default example given the scope of MR.
Of course, downstream admins/distros, may opt for a different setup.
For one alternative example (not in KF/manifests) an admin may decide to use the KF ("user") namespace per Org/Team/Unit. In that case a deployment to said ns would make MR available only to those with the appropriate RBAC and supporting config to that ns.
For an alternative example, an admin may decide that a given Persona may have rights to access KF namespace1 and namespace2. In that case, analogous consideration applies.
In summary, I don't see a reason to apply different tenancy design than what is architected in the linked doc already. Hope this clarifies?

Also, to substantiate (in the hope it helps) with a picture what I've summarized in https://github.com/kubeflow/model-registry/pull/599#issuecomment-2509747413
here is a proposed example diagram:

which is my understanding of how the tenancy design from docs is respected wrt to model registry backend deployment(s).
The "default" can be intended as the deployment instance we have in examples already, for the reasons in above https://github.com/kubeflow/model-registry/pull/599#issuecomment-2509747413
Nothing stops admin/distros to have additional instances, for instance serving different scope of their orgs at the "platform level" (here pictured as "another", not in the manifest examples).
As mentioned, we comply tenancy design from docs with admin/distros can opt to have one or more instances in their designated KF ("user") namespaces, here in this example diagram since both personas are represented to have access to both t_A and t_B, can accordingly access MR REST service. ie both can also access registries X and Y.
As for another example, admin/distros can opt to have one or more instances in yet another designated KF ("user") namespaces, and since in this example only persona_B is represented to have access t_B are the only one with access with those metadata. ie only them can also access registry Z.
This is wrt Model Registry backend. As mentioned, I encourage the discussion as the deployment model of UI may differ.

@tarilabs so as far as i understand you plan to have no user isolation at all and no multi-tenancy. Everything is just shared and accessible/abusable from each namespace/department/user
That is strictly against what we have so far in kubeflow where we have a shared instance with proper multi-tenancy support (KFP, notebooks, Kserve, Volumes, Tensorboards, Katib, ...). This way we can have scalable zero-overhead namespaces.

@tarilabs so as far as i understand you plan to have no user isolation at all and no multi-tenancy. Everything is just shared and accessible/abusable from each namespace/department/user

I'm not sure where you get this understanding?
Per my understanding, if I take the tenant namespace deployments from example in https://github.com/kubeflow/model-registry/pull/599#issuecomment-2511916111 , those will be isolated to the designated ns.

Per my understanding, if I take the tenant namespace deployments from example in #599 (comment) , those will be isolated to the designated ns.

per namespace overhead is exactly what we want to prevent, that is no shared instance.

per namespace overhead is exactly what we want to prevent, that is no shared instance

I'm not following. When I have a KServe workload (Isvc that translates in case of Raw to the Deployment directly), that is deployed to the designated ns, unless I recall this incorrectly (but I'm taking just 1 example) 🤔

per namespace overhead is exactly what we want to prevent, that is no shared instance

I'm not following. When I have a KServe workload (Isvc that translates in case of Raw to the Deployment directly), that is deployed to the designated ns, unless I recall this incorrectly (but I'm taking just 1 example) 🤔

The inferenceservice itself yes. Also for KFP the pipelines. But not the kserve or pipelines controller/shared deployments. Only the actual workload. In the end you probably will have a menu entry in the centraldashboard sidebar and based on the namespace you are in, you can see different things. You should not be able to see things from other peoples namespaces if you are not a member. One shared global "default" space as for example shared Kubeflow Pipelines is also fine. So based on what i have read now we just had a missunderstanding about the shared instance part and the per namespace parts.

Hi there, I'm leaving here the outcome of the conversation too, so we'll follow the logic we currently have in midstream tweaking it a little bit for kubeflow and the ability to have multi tenancy, this is a temporary solution as we can do some follow ups, but so far for the 1.10 release the plan would be:

We’ll do a SelfSubjectAccessReview to see if the user has cluster admin access to list all services
If so, we’ll list all services with a label selector to filter the ones for Model Registries and we’ll disable de namespace selector since we’ll be getting everything
If not:

We’ll enable the namespace selector in kubeflow
We’ll parametrize the GET call to support addig the namespace
We’ll create a SelfSubjectRulesReview to list the service names a user has access in that namespace
Fetch then all those services and filter by label

@lucferbux thanks! I'll implement on this way.

/approve

/lgtm


Create a guide or guides for dapp developers who are looking to implement state archival on the client side

- Get awarded: up to $700 worth of XLM
- Section: How-To Guides - Dapp Development: https://github.com/stellar/stellar-docs/tree/main/docs/smart-contracts/guides/dapps
- Guide(s) could include:

Introduction to state archival:

Define state archival in the context of Stellar dapps
Explain why managing state archival is important for applications
Describe various methods to implement state archival on the client side

Practical examples:

Provide code examples showing how to set up and manage state archival
Include scenarios where different techniques might be more appropriate

Challenges and solutions:

Identify common challenges developers might face with state archival
Offer solutions to these challenges

@briwylde08 I'll like to work on this too

Hello @briwylde08
Does it make sense to still work on this having https://developers.stellar.org/docs/learn/encyclopedia/storage/state-archival  ?

I'll just continue working on it

Hey @Myestery sorry I missed this comment, I think that section is missing information on working with state archival from the perspective of a dapp! So that's what we're asking for here.

Thank you again @Myestery! Your information submitted for previous contributions is still the same?

Thank you for all your contributions to the docs!! We really appreciate the work you've put in. Payment for this bounty will be sent within the next week.


Meta route options is gone?

Describe the bug
Firstly, thanks a lot for an awesome tool!
Have wanted this in react for ages!
In the alpha release ^0.0.1-alpha.0 we have a meta property on route options.
I see in v1 that this is gone.
But then the docs do still mention Dynamic meta tag management and I am wondering

Is meta tagging still available but moved?
Just removed?
Replaced with something else?

Below I show an example of how I was using meta options.

Then type safety using this

This was working well, but maybe theres is a different/better way to do this now?
Thanks :)
Your Example Website or App
N/A
Steps to Reproduce the Bug or Issue

Install latest version of @tanstack/react-router ^1.6.0
Meta options is gone from RouteOptions

Expected behavior
Meta options still available on RouteOptions
Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]

Additional context
N/A

I was also using this to generate the menu structure in my app, from the route tree.
I haven't been able to find a way to get it working with RouteContext, as it seems like this isn't usable outside the <Outlet/>.

cc @schiller-manuel

You can now use the newly added staticData route option: https://tanstack.com/router/latest/docs/framework/react/guide/static-route-data

Hey @tannerlinsley, would it be possible to enforce static data at a Route level?
For example, if I define a /_layout, that all /_layout/<children> must include that static data; while if there's another /_other-layout, such static data is not enforced.

Possible, but it’ll take some work.

Do you mean that it will take work to be added to the library?

Correct!

Hey @tannerlinsley thanks a lot for the response.
Replaced meta with staticData everything seems to work fine :)

And better yet, it’s available right in the match!

@tannerlinsley I can open a new issue if you'd like, but is it intentional that the types don't support doing this with lazy routes? If I ignore the type errors, it works just fine.

You need to create both routes, a lazy one and non-lazy one.
Put staticData into the non-lazy one. see also https://tanstack.com/router/latest/docs/framework/react/guide/code-splitting#how-does-tanstack-router-split-code


Question about paging search operation, there may be a bug (version2.0)

Hi James, I've got a question (possibly a bug? I'm not sure) about paging search:
When the rest server has got a paging provider,  search request at the first time stores the result collection in database or memory with a generated UUID as a mark.
All the  subsequently returned paging links(next/previous) include this UUID. It seems via these links the client can only get the data of the result collection stored as a cache before which is marked by this UUID.
My question is what about a new resource is created or a existing resource is deleted during the paging search in the above? The client can't get the newly created resource in the last page because the cache doesn't include it.
a paging link (e.g. http://localhost:8080/Dstu3?_getpages=8deeeb67-0256-4434-8f1d-f7fb3b38946a&_getpagesoffset=10&_count=10&_bundletype=searchset)
Would you please tell me is this the desired behavior or not?
Sorry about my poor Chinese English :-D.
Thanks in advanced
Your friend YinAqu

This behaviour is actually by design. Per the fhir spec:

The results of a search operation are only guaranteed to be current at the moment the operation is executed. After the operation is executed, ongoing actions performed on the resources against which the search was executed will render the results increasingly stale. The significance of this depends on the nature of the search, and the kind of use that is being made of the results.

The idea at least with the way we built HAPI's searching is that it's more important to have stable results than to have extra-current results at the expense of paging being unpredictable.
Do you have a use case where this isn't desirable?

Thanks James, your answer is very helpful to me.
I've got a front-end web page containing a paging list of some resource, in which add and delete operation can be performed. Add or delete operation will reload the current page. I'm considering how to design this. For example, when I'm in the 2nd page, delete all the resources in that page making the page empty, then I go to the 3rd, then turn back to the 2nd, the page is still empty. This is what I met.
Furthermore, a search data cleanup every 10's by HAPI would lock the search table frequently, any possibility this will result in a performance problem when too many search requests come?

Hi YinAqu, you definitely don't want to use the Derby database if you have any kind of load requirements. Derby does indeed lock tables to one user at a time, so it doesn't scale at all. The search data cleanup hasn't caused us any issues even under big loads on Postgres or MySQL for example.

Tks James.
Consider this use case, a resource such as Patient has 2000 data in the resource table (greater in practice, 2000 is just my test number, my test system is on Postgres, just a simple test).
The link of the 1st front-end Patient page is http://example/Patient, loading this link means inserting 2000+ data into the search tables(when _lastupdated or _sort is provided, the amount will be double or treble), it takes 800ms when there's no concurrent request, 1200ms per request when there are 5 concurrent requests, 2400ms when 10.
It seems this costs too much, is there any suggestion for me to avoid this?

If you have any alternative ways for this to work, we would absolutely welcome a pull request!

It's my pleasure if I can contribute HAPI. I do have a pan for this. Before that would you please  tell me the reason FifoMemoryPagingProvider replaced by DatabaseBackedPagingProvider by default, this is very important for my solution.

The main reason for that was simply that the memory provider holds all of
the results in memory, which means that if you have lots and lots of
concurrent searches happening at the same time you will run out of memory..
If you find a good alternative that doesn't use
DatabaseBackedPagingProvider I certainly don't see a problem with that.
Especially if we can set things up so that implementors can choose which
one to use
On Tue, Nov 1, 2016 at 9:20 AM, Hao<EMAIL_ADDRESS>wrote:

It's my pleasure if I can contribute HAPI. I do have a pan for this.
Before that would you please tell me the reason FifoMemoryPagingProvider
replaced by DatabaseBackedPagingProvider by default, this is very
important for my solution.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jamesagnew/hapi-fhir/issues/481#issuecomment-257564453,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADTfnWy648dmM9nboHit7WVAu53-VB9kks5q5zydgaJpZM4Kkx27
.

Got it, I'll have a try to implement my solution, and send you a pull request if it works. Thanks for your time my friend.

Best of luck!! Happy to chat about the approach if that's useful at all
On Tue, Nov 1, 2016 at 10:42 AM, Hao<EMAIL_ADDRESS>wrote:

Got it, I'll have a try to implement my solution, and send you a pull
request if it works. Thanks for your time my friend.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jamesagnew/hapi-fhir/issues/481#issuecomment-257584301,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ADTfnSo4sWNNLnmmQewoHb6yOBvvZTdlks5q50_zgaJpZM4Kkx27
.


Element implicitly has an 'any' type because expression of type '"attemptCount"' can't be used to index type '{}'.   Property 'attemptCount' does not exist on type '{}'.

Versions
What package version of the SDK are you using.
~4.5.1
What nodejs version are you using
10
What os are you using
Windows 10
Describe the bug
node_modules/botbuilder-dialogs/src/prompts/prompt.ts(211,17): error TS7053: Element implicitly has an 'any' type because expression of type '"attemptCount"' can't be used to index type '{}'.
Property 'attemptCount' does not exist on type '{}'.
To Reproduce
Steps to reproduce the behavior:
1.Set noImplicitAny to true and run tsc
Expected behavior
Give a clear and concise description of what you expected to happen.
Should compile
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
[bug]

Thanks for the 2 PR's that would fix this. I've asked @stevengum to review them both.

@Stevenic Look at these PRs if they're not breaking w can take them

Any news, please?

Hi @tolotrasamuel ! thanks for your PR. We are evaluating whether this is the route we want to go and what the implications are, given that it is quite at the core of the dialog system. We'll get back with a resolution shortly. Thanks!


Kill a computation

HI. I just started using Haskell in Atom (in Windows), and it feels great!
I would like to know if you plan to add:

Some key binding to kill a runaway computation
Some way to store REPL session
Some way to start a REPL whenever a .hs file is open in Atom

Some key binding to kill a runaway computation

Okay, that is easy. Done in  0.1.11

Some way to store REPL session

Define 'store'. If you mean persistence across restarts, it's not really possible, since environment can change between restarts, and then all hell would break loose.

Some way to start a REPL whenever a .hs file is open in Atom

You can bind ide-haskell-repl:toggle command to some key, and that would be almost as good. Unconditionally starting repl on file open doesn't sound like a good idea at all.

 I can confirm it is working, but it 'ide-haskell-repl:ghci-interrupt' kills the REPL completely. Is that the intended behavior?

Some way to store REPL session

I was thinking saving the comand history and the last n lines of text produced in the REPL. Not really a "state"

Some way to start a REPL whenever a .hs file is open in Atom

Unconditionally starting repl on file open doesn't sound like a good idea at all. You are right

'ide-haskell-repl:ghci-interrupt' kills the REPL completely

It doesn't on my system =\
Interrupt works by sending SIGINT to the REPL process tree (since ghci can be a subprocess of cabal/stack). Ghci should trap SIGINT on Linux and OSX, but I'm not too sure about Win.
So, what OS are you on?

comand history and the last n lines of text produced in the REPL

Command history should be doable. I/O history would probably be a little bit trickier, but I'll see what I can do. Can't promise it'll be soon though.

Some initial support for REPL persistence is implemented in v0.4.0. History/output is only saved across Atom restarts and discarded if REPL window is closed manually. I don't think I will ever bother to store output in this case, but I will do something about history persistence eventually.
Also, still waiting for your answer about your OS.

Sorry Nikolay. I'm using Windows 7 64bits Professional.
On Sat, Oct 22, 2016 at 12:34 AM, Nikolay Yakimov<EMAIL_ADDRESS>wrote:

Some initial support for REPL persistence is implemented in v0.4.0.
History/output is only saved across Atom restarts and discarded if REPL
window is closed manually. I don't think I will ever bother to store output
in this case, but I will do something about history persistence eventually.
Also, still waiting for your answer about your OS.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/atom-haskell/ide-haskell-repl/issues/36#issuecomment-255504845,
or mute the thread
https://github.com/notifications/unsubscribe-auth/APOvaDDebOtr3vhZXG_6oCKIUoo4sUCKks5q2YRBgaJpZM4KYv99
.

--
Saludos. Roman.

Sigh... I've searched for quite a bit, and the only option seems to use node-ffi and call on winapi directly. Problem is, node-ffi just refuses to build as an Atom package dependency, at least I couldn't convince it to in a couple hours. So... yeah... on Windows there doesn't seem to be a way to send ctrl+c to child process without some dark and forbidden magic, sorry :(
I might try to come back to this from another angle eventually, but for now I'm pretty much out of ideas...

Don't worry. You are doing a great job and I appreciate your effort very much.

Apparently I spoke too soon. A couple hours later I've had a horrible idea, and after a couple more hours it seemed to work. By no means a solution, it's likely an effective enough band-aid.
So... want to try it out? https://github.com/atom-haskell/ide-haskell-repl#using-on-windows (N.B. you need ide-haskell-repl v0.4.4)
I should note, however, that this "fix" is dark and forbidden magic.


Why the jsoup dependency?

Looks like you don't use it, why do you compile it?

Hello. Thanks for question. This dependency for bintray compile.


[Usage]: Token level reuse for kv cache

Your current environment
vllm=0.4.0
How would you like to use vllm
I have many prompts with the same prefix, and have reused the blocks using enable_prefix, but still have problems for more efficient reusing:
Different requests with enable_prefix=True are only reusing blocks as I understand it.
For example, when
len(prompt_1)=35
len(prompt_2)=36
block_size=32
I can only reuse the block which the first 32 tokens are located, but not the kv cache for the 33rd-34th tokens, and this process is accompanied by a block swapping process between GPU and CPU.  So I would like to ask if token-level reuse is feasible, like my 33rd and 34thtoken.
Thank you!

Token-level reuse is not feasible at the moment. There is very little benefit to caching at token level over the block level


No patch generated

I installed the required dependencies using Python3.7 and successfully displayed the graphical interface. The actions on my readme setup set the parameters. When the program finished running, no patch was generated and no errors were reported.  How can I solve this problem ?

Hello,
Thanks for reaching me out. I would say error raising used for this
application is really low. So, you should not expect very powerful error
raising in this application. The issue you are explaining can happen due to
several reasons. For example, if you are using a very strange format of
image. Or, your image size is smaller than the patch size defined. I need
to see your image and your parameters.
Thanks and looking forward to hearing from you if your problem has not been
solved yet.
Salar
On Mon, Apr 18, 2022 at 8:08 PM ldh032012 @.***> wrote:

I installed the required dependencies using Python3.7 and successfully
displayed the graphical interface. The actions on my readme setup set the
parameters. When the program finished running, no patch was generated and
no errors were reported. How can I solve this problem ?
—
Reply to this email directly, view it on GitHub
https://github.com/salarghaffarian/Train-Test-Validation-Dataset-Generation/issues/3,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKYFCGX5R4XGOYHIYUXVZ7TVFYISFANCNFSM5TXLU27A
.
You are receiving this because you are subscribed to this thread.Message
ID: <salarghaffarian/Train-Test-Validation-Dataset-Generation/issues/3@
github.com>


Access to id of IdentifiedReference potentially undefined

Describe the bug
After upgrading to 4.3.0, access to the id property of an IdentifiedReference is no longer guaranteed to return the id. The field is potentially undefined.
To Reproduce
const foo: IdentifiedReference<User, "id"> = Reference.create<User, "id">(user);
const bar:string = foo.id;

Expected behavior
The above code compiles.
Additional context
This doesn't happen in 4.2.0.
Versions

Dependency
Version

node
14

typescript
4.03

mikro-orm
4.3.0

your-driver
?

I noticed the same since upgrading to 4.3.0. I noticed it to happen when using find returning an unpopulated relation within a multi level populate (ent1 -> ent2 -> ent3 (the unpopulated identifiedreference)). It caused a lot of prop = NULL and prop = <id> in the same transaction and also causing DeadLockExceptions in Postgres. However, I was unable to create a stable reproduction.
Also,  the helper functions are also null sometimes (ent3.load() is not a function).

This is on purpose, as discussed on slack. It is needed to make the assignment type checks works, otherwise assigning naked entity to reference property would pass (and that is not supported/allowed).
This is only about TS, the solution is to add ! (non-null assertion operator). There is no way this would cause actual difference in how things are executed (so deadlocks are definitely not possible due to this change, compiled code is still the same).

There is no way this would cause actual difference in how things are executed (so deadlocks are definitely not possible due to this change, compiled code is still the same).

But, if you grab an entity (ent1) from the database that is multiple levels deep (ent2, ent3), you get at least one IdentifiedReference object. If you persist a new entity (ent4) that contains a relation to ent1, it tries to cascade ent2 and en3 as well, but as IdentifiedReferences are undefined out of nowhere, the changesetcomputer thinks that this should become a NULL and sets ent2 and ent3 to NULL on ent1.
This only happened since 4.3.0 and will try to make a reproduction for this but sometimes it happens and sometimes it does not..

but as IdentifiedReferences are undefined out of nowhere

Sounds like you are talking about something different, this issue is about the PK getter on the Reference wrapper.
Not much changed in terms of how reference wrapper works. What did change is how 1:1 owners are persisted.

Sounds like you are talking about something different, this issue is about the PK getter on the Reference wrapper.
Not much changed in terms of how reference wrapper works. What did change is how 1:1 owners are persisted.

Ah, yes that might explain it. But how did it change? Is this a bug or on purpose?

Well how can I know :] From your description I don't know basically anything :] Open new issue with reproduction, I need to see the code as well as entity definitions.
I can confirm something is not working 100% well, as I see some additional queries for 1:1 relations in my production app, but nothing broken, it just tries to first unset the relation and set it back right ahead.
Will close this, as this issue is about the PK getter and that works fine. Will be looking into the 1:1 thing hopefully today, but having your repro would be good as you might face different issue that what I see.

I can confirm something is not working 100% well, as I see some additional queries for 1:1 relations in my production app, but nothing broken, it just tries to first unset the relation and set it back right ahead.

This is exactly the same issue and those additional queries (caused by underlying relation not being loaded -> in changesetcomputer payload is the relation undefined) cause a deadlock exception under heavy load.


[poximan/cairo] Fix download address

Currently the download address for pixman and cairo does not exist (404):
https://gitlab.freedesktop.org/pixman/pixman
https://gitlab.freedesktop.org/cairo/cairo
So get the stable releases from the official website:
https://cairographics.org/releases/

[x] Changes comply with the maintainer guide.
[x] SHA512s are updated for each updated download.
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version.~
[ ] ~Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

unnecessary PR considering that gitlab is still running backup.

unnecessary PR considering that gitlab is still running backup.

Because it has been 404 for the past few hours, I misunderstood that the backup repository on gitlab was deleted and wanted to switch to the official website for downloading. Thanks for your reminder.


[Green City] Eco News Controller 500 Internal Server Error

Open https://greencity.azurewebsites.net/swagger-ui.html#/eco-news-controller/getEcoNewsUsingGET;
If user entered not supported Sorting criteria controller returned 500 Internal Server Error;

Get eco news by tags controller works fine - verified


sql: need to document into_db for IMPORT

See: https://forum.cockroachlabs.com/t/import-data-from-csv-file-failing/1059/3
into_db is the same as RESTORE, just isn't documented.

Based on @dt's response, though, this is in 1.2, not in 1.1?

yeah, don't think this this made 1.1

Ah, yes. I read the code to see if it was in 1.1, and thought it was because it's kind of half there.
We should probably note somewhere though that you have to set the session database.

the error tells you to use into_db since it comes from a shared helper, but then into_db doesn't actually work :(


proxy: fixes for memory tracking

fix ability to disable buffer memory limiter.
fix memory accounting leak for ascii multigets

In the ascii multiget case it was over-accounting for the "END\r\n" marker, leaking 5 bytes per key read.

My test suite is still showing another leak or accounting bug, so keeping this open for additional fixes.

Not actually a leak, bench suite is now showing memory freeing up properly.
Should be good to merge.


At smaller screens, the Drawer expand button actually causes it to shrink

The effect starts at more or less mobile size.  This gif should illustrate.

@jeff-phillips-18 @beanh66
Relevant to web-console PR 1326.

@benjaminapetersen I would think the expand feature would be hidden on mobile and that the drawer would take up the width of the screen actually. Oddly the other thing I notice is the arrows are facing the wrong way for expand and collapse, not sure if that's on the PF side or why that might be.

@beanh66 The arrows are facing the right way, but expand is making the drawer smaller instead of bigger :)

As @spadgett, the arrow does the inverse at smaller screens.  An animated-gif from patternfly.org verifies it outside the web console:

For some reason github decided to make that gif extra large and obnoxious.  🙁

This might be a separate docs issue, but I noticed as I played with the resize the notification bell (and menu area) disappears entirely:

@spadgett @benjaminapetersen haha sorry, I see it now with the arrows. In general I do still think the drawer should take up the entire width of the screen and the expand feature should be hidden for mobile.

@beanh66 sounds like a good solution to me!

@benjaminapetersen We have a responsive design for the notification drawer that should help cover the issues you are experiencing at mobile and smaller screen sizes. You can find the design documentation at the bottom of this page on the PF site. @matthewcarleton has this story and is currently working on the implementation in PatternFly Core and then we can work on getting it into Angular.

@benjaminapetersen @beanh66  hey, ya I have already addressed these issues in the work on I'm doing in core. The expand is removed on smaller screens and the drawer is full width. It should be merged soon :)

@matthewcarleton awesome, look forward to pulling in those changes!

https://github.com/patternfly/patternfly/pull/717


Problem example-i2c-scanner

I try to compile "example-i2c-scanner"
In file included from ../src/ofxGPIO.h:44:0,
from src/main.cpp:2:
../src/readata.h: In member function ‘void ReadRawData::update()’:
../src/readata.h:353:23: warning: unused variable ‘ok’ [-Wunused-variable]
char ok= -1;

Hi, this not error it only warning, are there any other problems?


EP templates for Mojo::Pg

How about addon to use .ep templates for queries?
Example of named parameters:
$db->query('insert into names (name) values (<%= $name %>)', name => 'Sara');

Full support for perl will make it possible to build queries:
$db->query(q{
    select
         *
    from
        names
    where
        <% if(defined $name) { %>
            "name" = <%= $name %>
        <% } elseif( defined $id ) { %>
            "id" = <%= $id %>
        <% } %>
}, id => 1);

If you need something like this you can of course use Mojo::Template directly. That said, this is just begging to get sql-injection-attacked by people who don't understand what that is. I'm going to preemptively close this as I would see it as nearly a security issue if Mojo::Pg allowed this.

Suggested approach could also use placeholders instead of directly using values.

Placeholders already exist. The only reason I can imagine for using templates is to do things that placeholders do not allow, like picking a column name dynamically for example (as the OP does).

@jberger You're right about the sql-injection, so you can not directly use the Mojo::Template. It needs a hack to replace the values in the placeholders.

If I try to make these templates. What namespace is better to use for the package?

I highly HIGHLY recommend prototyping this off of CPAN (as in, try it in a real application before putting it online). I consider any exploration of this kind of module to be really dangerous. Anyway this isn't the right place to discuss a new module, please either continue it on the universe mailing list (brand new!) https://groups.google.com/forum/#!forum/mojolicious-universe or else on prepan.


Don't works with ember 2.11

ember-cli: 2.11.1
node: 6.9.2
os: darwin x64

vzon-web git:(feature/android-notification) ✗ ember s
Livereload server on http://localhost:49153
Serving on http://localhost:4200/
The Broccoli Plugin: [BroccoliMergeTrees: TreeMerger (vendor & appJS)] failed with:
Error: ENOENT: no such file or directory, open '/Users/flama/Projects/vzon-web/tmp/source_map_concat-input_base_path-NQYmV0IK.tmp/node_modules/firebase/firebase.js'
    at Error (native)
    at Object.fs.openSync (fs.js:640:18)
    at Object.fs.readFileSync (fs.js:508:33)
    at SourceMap.addFile (/Users/flama/Projects/vzon-web/node_modules/fast-sourcemap-concat/lib/source-map.js:75:31)
    at /Users/flama/Projects/vzon-web/node_modules/broccoli-concat/concat.js:200:16
    at Array.forEach (native)
    at Concat.<anonymous> (/Users/flama/Projects/vzon-web/node_modules/broccoli-concat/concat.js:198:24)
    at /Users/flama/Projects/vzon-web/node_modules/fast-sourcemap-concat/lib/source-map.js:419:12
    at initializePromise (/Users/flama/Projects/vzon-web/node_modules/rsvp/dist/rsvp.js:567:5)
    at new Promise (/Users/flama/Projects/vzon-web/node_modules/rsvp/dist/rsvp.js:1039:33)

The broccoli plugin was instantiated at:
    at BroccoliMergeTrees.Plugin (/Users/flama/Projects/vzon-web/node_modules/broccoli-plugin/index.js:7:31)
    at new BroccoliMergeTrees (/Users/flama/Projects/vzon-web/node_modules/broccoli-merge-trees/index.js:42:10)
    at BroccoliMergeTrees (/Users/flama/Projects/vzon-web/node_modules/broccoli-merge-trees/index.js:36:53)
    at mergeTrees (/Users/flama/Projects/vzon-web/node_modules/ember-cli/lib/broccoli/merge-trees.js:46:18)
    at EmberApp.javascript (/Users/flama/Projects/vzon-web/node_modules/ember-cli/lib/broccoli/ember-app.js:1306:10)
    at EmberApp.toArray (/Users/flama/Projects/vzon-web/node_modules/ember-cli/lib/broccoli/ember-app.js:1674:10)
    at EmberApp.toTree (/Users/flama/Projects/vzon-web/node_modules/ember-cli/lib/broccoli/ember-app.js:1696:30)
    at module.exports (/Users/flama/Projects/vzon-web/ember-cli-build.js:73:14)
    at CoreObject.setupBroccoliBuilder (/Users/flama/Projects/vzon-web/node_modules/ember-cli/lib/models/builder.js:84:19)
    at CoreObject.init (/Users/flama/Projects/vzon-web/node_modules/ember-cli/lib/models/builder.js:64:10)

cleaning up...
```

Can't look at it right now but is there any chance you're also using emberfire? That's going to cause a conflict.

No! I don't use emberfire

No. I don't use emberfire

👀

I haven't had the time to look into it yet although I could see that I'm using a new API from Ember CLI 2.15. This might be what's causing the issue.

Ember CLI 2.11 is no longer supported as this addon follows the Ember LTS lifecycle which makes 2.12 the last one to support.


[290] Add more multioutput tests and abstract the scenario

#190
Overview

[x] I have added more tests to multioutput transaction section and abstracted them

Comments

The results are surprised for me as I expected that in a situation where aggregate utxos sum up to the amount exceeding fee+outputs BUT each utxo cannot cover fee AND utxo fragmentation is proper then the transaction will be successful. But is responses with
 NotEnoughMoney ErrCannotCoverFee error

@paweljakubas
You are referring to this one:
        [60000, 60000, 60000]
        [10,11]
        [ expectWalletError (NotEnoughMoney ErrCannotCoverFee) ]

?

This also :
[90000, 90000]
[10,11]
[ expectWalletError (NotEnoughMoney ErrCannotCoverFee) ]


refactor(ast): replace AstBuilder::move_statement_vec with move_vec

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

#4988  👈
#4987
#4986
#4985
#4984
#4983
main

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

Join @overlookmotel and the rest of your teammates on  Graphite


Fix APIv2::WebSocketProtocol and specs

https://github.com/rubykube/peatio/pull/1556/files#diff-f5deb99143d9a1be756e16d12073da6eR2

closed in #1598


adding another userful apps

I just cloned HRMS code block to install another frappe apps like CRM, helpdesk and insights in this script.

@flexcomng that would actually be a cool addition. Can I just make the correct pull request?

@flexcomng that would actually be a cool addition. Can I just make the correct pull request?

@fthobe  yes please. I will close this pull request now so you can make the correct pull request.

Have there been any significant changes we need to consider?

No significant changes.

@flexcomng done in PR #40


API for captive portal status

Can you add an end point to get captive portal status.
Thank you.

Hey!
Thanks for the request. I'll do some research and see what this would take. I'll provide an update when I've had a chance to take a look.
Thanks again!

Hey!
Thanks for the request. I'll do some research and see what this would take. I'll provide an update when I've had a chance to take a look.
Thanks again!

Can you point me to resources where I can learn and start building stuff like these myself.
Thank you.

Can you point me to resources where I can learn and start building stuff like these myself.
Thank you.

You can refer to the contributors guide to learn the framework and start building your own API endpoints. You may also use the existing code as reference for your code.
It helps to have a good understanding of the pfSense code, PHP, and FreeBSD 11/12. You can refer to these documents:

https://www.php.net/manual/en/
https://github.com/pfsense
https://docs.freebsd.org/en/books/handbook/

If you plan on merging your code into this project, you should also have a good understanding of Python3 to write unit tests as well as REST architecture:

https://docs.python.org/3.8/
https://restfulapi.net

You can refer to the contributors guide to learn the framework and start building your own API endpoints. You may also use the existing code as reference for your code.
It helps to have a good understanding of the pfSense code, PHP, and FreeBSD 11/12. You can refer to these documents:

https://www.php.net/manual/en/
https://github.com/pfsense
https://docs.freebsd.org/en/books/handbook/

If you plan on merging your code into this project, you should also have a good understanding of Python3 to write unit tests as well as REST architecture:

https://docs.python.org/3.8/
https://restfulapi.net

Will this include Vouchers and allowed mac and ip?

@jaredhendrickson13 Any news on this? we are actually eyeing to do a few automations in the vouchers and this api has been of really great help.


Cups don't display jobname and username

Hello,
We have a Cups Server 2.2.8 running in a CentOS Linux release 7.5.1804 (Core). In the same machine we have too samba 4 integrated with Active Directory. When our user send a page from Windows Machine (same network and domain) the job name stay as "Untitled" and user as "anonymous".   We changed JobPrivateValues in  to "none" however nothing happens.
Someone have a tip to help me solve this?
In others versions of Cups (like 1.6 default in CentOS repo) when we change JobPrivateValues to "none" is possible to see username and Job Name in Admin Page.
More information:
/var/log/cups/page_log
PRN4IT anonymous 17974 [18/Jul/2018:14:51:55 -0300] 1 1 - <IP_ADDRESS> Página de teste - -
Thanks
Andre

"man cupsd.conf". You want to change the JobPrivateAccess and/or JobPrivateValues settings.
The defaults will hide a lot of values unless you are authenticated as the job owner or an admin.

I can confirm that even with JobPrivateValues set to none cups only logs anonymous. This worked in v2.2.4 and after upgrading to 2.2.8 it fails to log the username.


Tests are failing in Spring Cloud Contract Verifier module

Tests are failed after running:
./mvnw clean install -P integration
Details:
Failed tests:   should return a class from the generated path by taking two last folders when package with base classes is provided(org.springframework.cloud.contract.verifier.builder.ClassBuilderSpec): Condition not satisfied:(..)
Tests run: 208, Failures: 1, Errors: 0, Skipped: 0

Hmm it's not failing on my machine (or CircleCI or Jenkins) ;) Can you provide some more information? Why is failing? What's your machine etc?

The exact steps to reproduce:

CD to spring-cloud-contract root folder
Run ./mvnw clean install -P integration (exact command in my case .\mvnw clean install -P integration)

Environment: Windows 8.1 Enterprise.
Please let me know if you need some other info.

Yeah so I'll need the exact reason for the failing test. Most likely it's related to File separators in Windows :/

console_output.txt
surefire-reports.zip
Attaching console output and test results.

Can you try now?

That works now, but fails on:
[INFO] Spring Cloud Contract Stub Runner .................. FAILURE [04:11 min]
with:
Failed tests:   should set inclusion pattern on config when path pattern was explicitly provided with a separator at the beginning(org.springframework.cloud.contract.stubrunner.ContractDownloaderSpec): Condition not satisfied:(..)
should set inclusion pattern on config when path pattern was explicitly provided without a separator at the beginning(org.springframework.cloud.contract.stubrunner.ContractDownloaderSpec): Condition not satisfied:(..)
Will we track that in that issue?

Yes, please. Can you provide the logs?

Ok I think I fixed this one - can you check it?

Just checked with your latest changes:
console_output.txt
surefire-reports.zip

Thanks, hopefully that's fixed. Can you check it?

New results:
console_output.txt
surefire-reports.zip

Meh, maybe now?

Here is the output:
surefire-reports.zip
console_output.txt


add beta record type Opportunity

just a simple addition of the opportunity record type

Thanks for the contribution, @ubtashton! Would you mind updating the commit to keep the Records in alphabetical order?

Thanks for the contribution, @ubtashton! Would you mind updating the commit to keep the Records in alphabetical order?

Hi @drudge  Sorry, Should have noticed that! done, Thanks


Create complied version of v1

Make the model easy to use by converting it into a torchscript utility.

One of many good ideas, but not on the roadmap. Let's reopen if we get to it.


.dot file for graph

Generate a .dot file for graph visualization
https://graphviz.org

It would be good to generate a .dot file for the shortest path between 2 vertices.
https://graphs.grevian.org/example


Vault discovery improvements

Hi,
Here are 2 ideas on potential improvements:
Please add  @ConditionalOnProperty(name = "spring.cloud.vault.enabled", matchIfMissing = true)
to DiscoveryClientVaultBootstrapConfiguration. Currently the bean is initialized regardless of this property and "spring.cloud.vault.discovery.enabled" must be additionally turned to false when disabling Vault integration.
Please change the related VaultEndpointProvider so that it will respect changes in service directory. Currently it looks like the address of the Vault server is retrieved once and the library continues using it even though the server is unregistered from Consul. The endpoint should be updated (constantly/occasionally) to reflect the changes in the list of Vault instances registered in Consul.

Thanks for reporting the issue which is actually two. Care to submit a pull request for the first one?
The latter seems to me feasible although it's a balance between caching and performance. VaultEndpointProvider.getEndpoint() is called upon every single interaction with Vault. Going fully dynamic (fetching the active Vault node from a service registry) would cause additional traffic on each Vault request.
@spencergibb @ryanjbaxter how is service discovery along refreshing implemented in other Spring Cloud components?


Unique User Name upon Sign up

from functional requiments in D2: User information

Issue resolved in https://github.com/ajmastra/cs-386-event-pulse/pull/125


Fix otel log payload

Description
The format of the resources/attributes was not correct so this PR just just adjusting the format of the output 👍

@medikoo No problem I added a log test here 😎
There is one kind of odd thing I did here which was add an environment variable called SLS_TEST_PRINT_LOG_EVENT. I added this because the current version of the serverless cli will not add a SLS_OTEL_REPORT_LOGS_URL yet and I didn't want this to do a console.log in a live serverless app 👍
Let me know if you think I should change that in some way.


Image extract v1. merge update : removed redundant code.

Code is proper but structuring is not. It needs to be in the form of a devstar module rather than its own separate structure.


Support subscription with initial cursors

See nakadi release notes for 2017W09 and https://github.com/zalando/nakadi/blob/6b2e65b21dd46b414601f2ef14ebf832cd8b3d5d/api/nakadi-event-bus-api.yaml#L1785

@jhorstmann Maybe you can close this one?

Fixed by #150


Failed to load eslint library. Please install eslint in your workspace folder using 'npm install eslint' or globally using 'npm install -g eslint' and then pres

From @Ciget on February 10, 2016 21:56
Hi folks,
I several time during using VS Code see error like this:

Failed to load eslint library. Please install eslint in your workspace folder using 'npm install eslint' or globally using 'npm install -g eslint' and then pres

Of course i`ve tried to install it locally and globally as well, but no result - still the same error.
My OS - Windows 10. Version of VS Code - 0.10.8
Does somebody has the same issue and maybe you have thoughts how to fix it?
Thanks.
Copied from original issue: Microsoft/vscode#2909

Hmm. this works for me with a locally installed eslint and 0.10.8. See screen shot

@Ciget do you have a NODE_PATH environment variable set. I fixed a bug lately which cause the eslint load fail in case a NODE_PATH environment variable is present.

@egamma are you using nvm? I'm experiencing this issue as well on my machines that have nvm installed.

Sorry, looks like the original issue author was @Ciget

Installing eslint globally worked for me.
npm install -g eslint eslint-plugin-react eslint-config-airbnb
Anyone know how to enable it for files with the .jsx extension?

@dbaeumer you was right. I removed this env var and after restart everything is working fine. Could you please explain why this var casue so strange behavior?
Thanks

@dbaeumer, nop, even after remove this variable from env settings and restart - still have this issue.

As per my comment on issue #24, removing all globally installed NPM packages and reinstalling them fixed my issue. I'm pretty sure this is related to the latest NPM version using a different folder structure for dependencies, which I recently upgraded to.

@ShimShamSam Are you on windows?  I just tried removing all of my global modules per your solution and it didn't work.
Very well could be because I'm on windows though and have my global modules stored in a non standard location.

I played a little with this and here are my finds:

using nvm together with the eslint extension worked for me.
a non standard global modules store worked for me as well

The eslint plugin uses 'npm config get prefix' to find the location of the globally installed modules. @collinforrester does this point to your global store ?

Yes it does.
I just tried to recreate the issue that I was having and its no longer occurring on this machine.  So a combination of ShimShamSam's solution, reboot, vscode, and eslint update.. something seems to have fixed it.
I realize that doesn't help much as far as specifics, but its what worked for me.

I have a different case but with the same error.  By the way I tested my project that is using eslint is it is working for me (I installed it locally).
My case is when opening a project that does not have package.json, eslint not installed, and there are no .eslintrcor.eslintrc.*in the project. In this case thevscode-eslint` should not be activated.

@unional agree. Please see: https://github.com/Microsoft/vscode-eslint/issues/68

The issue I had with npm prefix is that is was configured as an environment variable in .bashrc instead of using npm config set prefix. So npm config get prefix returned the correct path even though it was not in npm config get and VS Code couldn't find ESLint. After I removed environment variable and moved prefix to npm config, ESLint was found.

@GeorgeSapkin thanks for the insight. Didn't even know that this is possible.

I have the same issue and unfortunately it didn't get resolved via aforementioned solutions. I'm using NVM and ESlint is installed globally. Here are the details:

OS: Ubuntu 16.04
VSCode: 1.2
Node: 6.2.1
NPM: 3.9.3
ESlint: 2.12.0

which node
>/home/nvma/.nvm/versions/node/v6.2.1/bin/node
which eslint
>/home/nvma/.nvm/versions/node/v6.2.1/bin/eslint
npm config get prefix
>/home/nvma/.nvm/versions/node/v6.2.1

I've tried to use it locally too, but to no avail. I'm out of options.

Actually, I don't understand why this is happening. I created  https://github.com/Microsoft/vscode-eslint/issues/92 to add tracing options to better understand to which paths the module loading resolves and what exception occurred during module resolving.

@nvma quick question: how does the directory look like below >/home/nvma/.nvm/versions/node/v6.2.1
Can you let me know where exactly the eslint node module resides on disk in your setup.

@nvma and can you provide me with the output of npm root -g

I am also running into the same issue.
$ npm root -g
/home/patrick/.nvm/versions/node/v6.2.2/lib/node_modules
$ which eslint
/home/patrick/.nvm/versions/node/v6.2.2/bin/eslint
[~] has 192 total files, 161 hidden, 0 executable.
 $ which node
/home/patrick/.nvm/versions/node/v6.2.2/bin/node
$ la ~/.nvm/versions/node/v6.2.2/lib/node_modules/
drwxr-xr-x  7 patrick users 4,0K 28. Jun 21:38 eslint/

OS: Arch Linux (64)
VSCode: 1.2.1
Node: 6.2.2
NPM: 3.9.5
ESLint: 2.13.1

@draptik thanks. Could you also run 'npm config get prefix'. I have the felling global modules are resolved against the wrond directory when using nvm

@dbaeumer same problem here:
[:~] $ npm root -g
/Users/maxzollneritsch/.nvm/versions/node/v4.4.3/lib/node_modules
[:~] $ which eslint
/Users/maxzollneritsch/.nvm/versions/node/v4.4.3/bin/eslint
[:~] $ which node
/Users/maxzollneritsch/.nvm/versions/node/v4.4.3/bin/node
[:~] 127 $ ls -la  ~/.nvm/versions/node/v4.4.3/lib/node_modules/
total 0
drwxr-xr-x  10 maxzollneritsch  staff  340 13 Jul 10:09 .
drwxr-xr-x   4 maxzollneritsch  staff  136 12 Apr 21:32 ..
drwxr-xr-x  11 maxzollneritsch  staff  374 13 Jul 10:09 eslint
[:~] $ npm config get prefix
/Users/maxzollneritsch/.nvm/versions/node/v4.4.3

@Nighthawk22 this actually all looks ok. Can you do one thing for me: in /Users/maxzollneritsch/.nvm/versions/node/v4.4.3/lib/node_modules is there an eslint folder ?

@dbaeumer Is listed in my comment, yes there is one

I have the same issue, using prefix = ${HOME}/.local/lib/npm in ~/.npmrc
→ npm config get prefix
~/.local/lib/npm

→ which eslint
~/.local/lib/npm/bin/eslint

I'm having this issue with a single file, a html opened from a folder with no eslint configuration file nor package.json, it's just that single file in the folder actually. And with a project that is configured, with package.json and .eslintrc.
I'm not using nvm and eslint is installed globally.
Here are the versions:
OS: Windows 10 build 14393
VS Code: 1.3.1
Node: 6.3
npm: 3.10.3
eslint: 3.1.1

Also, here are the npm commands:
madca@Freyr ~ $ npm root -g
C:\Users\madca\AppData\Roaming\npm\node_modules

madca@Freyr ~ $ npm config get prefix
C:\Users\madca\AppData\Roaming\npm

I had an similar issue after uninstalling old node version and here's what happened.
[Repro Steps]

nvm default was set to node version 0.10.x
Installed vscode and eslint extension (which worked fine)
Installed node version 4.4.x (still fine)
Uninstalled node version 0.10.x (broken)
Okay, ran 'npm install -g eslint' (still broken)
Ah ha. nvm 'default' was gone once I had uninstalled the old Node version
nvm alias default 4.4
Relaunch vscode

Tada!

Mine works when the plugin uses the global eslint install but when I install eslint locally it does not work.
Using nvm
OS: Windows 10 x64
VS Code: 1.3.1
Node: 6.3
npm: 3.10
eslint: 3.1

This happens to me when I open a single javascript file that is part of a project with ESLint installed locally. For example, I use iTerm and run my watch script, whenever an error is reported I use CMD+Click to quickly open a file.

An update:
I ran into a similar issue (with nodemon not finding my script). It was caused by a custom script that runs on initialization for cmd.exe (configured via registry) that changes the working directory.
I removed the script, reopened vscode and esthe linting was working again.

 I noticed VSCode will not detect eslint if you current folder is not the project root. I mean, if your current workspace folder has no node_modules folder in there, it fails. I have to open the root folder for it to be detected. I'm not sure if there is a way to go around this or if it's a different issue.

"child_process.exec" use '/bin/sh' as the default shell, but I use 'zsh', so 'npm config get prefix' maybe failed because of the wrong shell.

After chsh -s /bin/zsh , reboot the mac osx, then the vscode will detect the default shell to 'zsh', then the global installed 'eslint' will be found.

I re-implemented the eslint module resolution algorithm (see https://github.com/Microsoft/vscode-languageserver-node/issues/77, https://github.com/Microsoft/vscode-languageserver-node/blob/master/server/src/files.ts#L103).
The new approach loads eslint from parent folders so you don't need to open the project root anymore. In addition it does NOT rely on npm config get prefix or npm root -g. And it doesn't mess with the NODE_PATH anymore. So as long as the shell variables travel to VS Code eslint package resolving should be fine now.
I did various tests and things look good to me. However I kept the old resolution in and it can be enabled via "eslint._legacyModuleResolve": true. I will close this issue and will publish a new version of ESLint with the next update of VS Code. If you still see issues then open a new issue here.

Running windows 10, running code version 1.5.2. And I get the error.
[Info  - 12:07:53 PM] Failed to load the ESLint library.
To use ESLint in this workspace please install eslint using 'npm install eslint' or globally using 'npm install -g eslint'.
You need to reopen the workspace after installing eslint.

I still run into this issue. I'm using yarn and my global eslint has path: /usr/local/bin/eslint.
By reinstalling eslint using npm instead of yarn, the extension can now resolve eslint (at /usr/local/lib/node_modules/eslint/lib/api.js) and run without problem.

The ESLint extension has currently no support for globally install eslint module via yarn. I opened: https://github.com/Microsoft/vscode-eslint/issues/187

@dbaeumer Should I comment this issue, if the problem has reoccurred? Or #92?
I still have this problem:
Failed to load the ESLint library for the document /home/path/to/my/file.js

To use ESLint in this workspace please install eslint using 'npm install eslint' or globally using 'npm install -g eslint'.
You need to reopen the workspace after installing eslint.

Some versions:
ESLint: 1.2.7
VSCode: 1.10.2
nvm: 0.33.1
node (current): 6.10.0
Linux Kernel: 4.8.0-41-generic
You've said, that ESLint does not use npm config get prefix or npm root -g anymore, but just in case you might need them:
npm config get prefix
-> # /home/myName/.nvm/versions/node/v6.10.0

npm root -g
-> # /home/myName/.nvm/versions/node/v6.10.0/lib/node_modules

ESLint has been installed In the last folder.
Finally there are some weird lines in my .bashrc:
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"  # This loads nvm

Thanks!

@BairDev how did you install eslint globally. Using yarn?
I just checked and the ESLint extension works correctly if:

global module is install using npm
npm get config prefix returns the location where the global eslint is installed.

@dbaeumer Sorry for kind of spamming this issue, but the problem has disappeared. I've just created a .eslintrc and then the stuff started to work. Thanks anyway.
But in order to answer your question: I've installed eslint via npm install -g, if I remember correctly. We have a quite complex project set-up, with using npm link and stuff like that, maybe this was the reason for the hiccup.


Mobile: hitting 'back' button after going to second page ('Minimal' template) causes app to exit

The same thing happens when using Template10Library's latest code in my own app as well. You can see the app quickly load the previous page, then exit out. Trapping all exceptions in VS halts on nothing so I'm at a loss at what the cause or solution could be...
To be clear I blew away my local repo, pulled down master, deployed Minimal to emulator and device, and could produce this issue.

I just committed the fix. There was a pull request that amended the navigation events. What I didn't notice was that it failed to navigate if it was unhandled. Now it works by default unless handled elsewhere.

'tis fixed! thanks.


Nonnu is too cool

what can i say

well... i'll have to disagree because i'm no cool, but thanks :3


lxd init --dump yaml output can't be parsed due to missing quotes around fields with colons

Required information

Distribution:
Distribution version:
The output of "lxc info" or if that fails:

Kernel version:
LXC version:
LXD version:
Storage backend in use:

Issue description
A brief description of the problem. Should include what you were
attempting to do, what you did, what happened and what you expected to
see happen.
Steps to reproduce

lxd init --dump
Capture the output and try to parse as YAML
Ansible gives error parsing the YAML output.

TASK [lxd : LXC-REMOVE-CONTAINERS | Read contents from the file] ****************************************************************************************************************************************************************************************************************************************************************************************************
fatal: [tito-controller]: FAILED! => changed=false
  ansible_facts:
    LXC_CONTAINERS: {}
  ansible_included_var_files: []
  message: /Volumes/work/imagestore/generated/tito-controller/lxc_containers.yml must be stored as a dictionary/hash

Fix the lxc_containers.yml file replacing all the colons with quotes. Example of few such fields...

          packets_received: 0
          packets_sent: 0
        hwaddr: '02:42:55:4f:5e:f4'
        host_name: ""
        mtu: 1500
        state: up
        type: broadcast
      eth0:
        addresses:
        - family: inet
          address: <IP_ADDRESS>
          netmask: "24"
          scope: global
        - family: inet6
          address: 'fe80::216:3eff:fe55:a05e'
          netmask: "64"

Running with the fixed file works...
Here is the diff of the two files...

➜  tito-controller git:(master) ✗ diff lxc_containers.yml lxc_containers_fixed.yml
<     volatile.eth0.hwaddr: 00:16:3e:55:a0:5e
---
>     volatile.eth0.hwaddr: '00:16:3e:55:a0:5e'
<   created_at: 2019-03-04T18:14:08.498673555Z
---
>   created_at: '2019-03-04T18:14:08.498673555Z'
<     volatile.eth0.hwaddr: 00:16:3e:55:a0:5e
---
>     volatile.eth0.hwaddr: '00:16:3e:55:a0:5e'
<   last_used_at: 2019-03-05T01:14:38.128121944Z
---
>   last_used_at: '2019-03-05T01:14:38.128121944Z'
---
>         hwaddr: '02:42:55:4f:5e:f4'
>           address: 'fe80::216:3eff:fe55:a05e'
>           netmask: "64"
>           scope: link
>         hwaddr: '00:16:3e:55:a0:5e'

Information to attach

[ ] Any relevant kernel output (dmesg)
[ ] Container log (lxc info NAME --show-log)
[ ] Container configuration (lxc config show NAME --expanded)
[ ] Main daemon log (at /var/log/lxd/lxd.log or /var/snap/lxd/common/lxd/logs/lxd.log)
[ ] Output of the client with --debug
[ ] Output of the daemon with --debug (alternatively output of lxc monitor while reproducing the issue)

lxd init --dump doesn't contain container state information so I'm not sure what you're parsing here exactly.
It looks like you're parsing the output of lxc list --format=yaml instead.
Either way, the YAML output by both lxd init --dump and lxc list --format=yaml is valid and can be parsed back just fine with both go-yaml (which is what we use to import/export yaml) and python3-yaml.
Even if the YAML was somehow incorrect, it's not something we could fix since as mentioned, we're using go-yaml to handle that for us.

@sachin-0chain beside what @stgraber already said, I'd add that if you really need to solve this you should report the issue to both ansible and go-yaml, since if there is a bug it's either in ansible or go-yaml.


Functors

So after a bunch of failed attempts, I've come up with the following encoding for functors that doesn't require any coercions. There's some boilerplate needed to make this work, as expected. However, it should be trivial to automate with a macro or attribute (e.g., #[derive(HKT)]).
Question is, how reasonable is this encoding, given the current limitations? Is there some obvious loophole I've overlooked? I haven't tried defining Monad or anything else but I think it should be possible.
/cc @jroesch @jonsterling
mod hkt {
    use ty;

    // helpers; I _think_ these keep us honest… might need additional constraints
    pub trait Arg { type O; }
    pub trait Tag { type O; }
    pub trait Ins<T> { type O: Arg<O = Self> + Tag<O = T>; }

    // "apply" the higher-kinded tag to a type
    pub type Ap<T, A: Ins<T>> = <A as Ins<T>>::O;

    // boilerplate for Option
    pub enum OptionT {}
    impl<A> Arg for Option<A> { type O = A; }
    impl<A> Tag for Option<A> { type O = OptionT; }
    impl<A> Ins<OptionT> for A { type O = Option<A>; }

    // boilerplate for Vec
    pub enum VecT {}
    impl<A> Arg for Vec<A> { type O = A; }
    impl<A> Tag for Vec<A> { type O = VecT; }
    impl<A> Ins<VecT> for A { type O = Vec<A>; }

    // functor definition
    pub trait Functor<T>: Arg + Tag<O = T> {
        type A: Ins<T>;
        fn fmap<B, F>(self, f: F) -> Ap<T, B> where F: Fn(Self::A) -> B;
    }

    // "unapply" a type, yielding the parameter
    pub type Un<T, TX: Functor<T>> = <TX as Functor<T>>::A;
}

// functor for Option
impl<A> hkt::Functor<hkt::OptionT> for Option<A> {
    type A = A;
    fn fmap<B, F>(self, f: F) -> Option<B> where F: Fn(A) -> B
    {
        self.map(f)
    }
}

// functor for Vec
impl<A> hkt::Functor<hkt::VecT> for Vec<A> {
    type A = A;
    fn fmap<B, F>(self, f: F) -> Vec<B> where F: Fn(A) -> B
    {
        self.into_iter().map(f).collect()
    }
}

#[test]
fn foo() {
    // works pretty well inline
    println!("{}", Some(true).fmap(|&: b| !b).unwrap());
    println!("{}", vec![true, false].fmap(|&: b| !b)[0]);
}

#[test]
fn bar() {
    // bit more work to use generically; let's use a reference for the hell of it
    fn aux<T, TA, B, Clo>(m: TA, f: &Clo) -> hkt::Ap<T, B> where
        TA: hkt::Functor<T>,
        B: hkt::Ins<T>,
        Clo: Fn(hkt::Un<T, TA>) -> B
    {
        m.fmap(|&: x| f(x))
    }
    let f = |&: b: bool| !b;
    aux(Some(true), &f);
    aux(vec![true, false], &f);
}

Wow... Fwiw, I didn't know you could do that T<A=B> thing in Rust.

Yeah, it's been a part of associated_types although until very recently a lot of little things with it didn't work. But now it's getting to be usable as part of the final push for 1.0.

@jonsterling so I remember you had some reasonable objections to the initial Functor encoding for swiftz and I was wondering if you thought this approach was enough of an improvement to pursue. I don't quite understand what they're currently doing now but it doesn't seem quite like this afaict.

Well, the original Swift encoding was not adequate/sound—but I am afraid I do not know Rust well enough to be able to know whether this one is similarly problematic...

I think that is still the case because in their version there are no constraints relating the type A, the return type of fmap, and the type of Self.
There is actually one problem with this version:
pub trait Functor<T>: Arg + Tag<O = T> {
        type A: Ins<T>;
        fn fmap<B, F>(self, f: F) -> Ap<T, B> where F: Fn(Self::A) -> B;
    }

The type A isn't as constrained as it should be. I think this would fix it:
pub trait Functor<T>: Arg<O = Self::A> + Tag<O = T>

But that doesn't work currently. However, this version does:
pub trait Functor<T>: hkt::Arg + hkt::Tag<O = T> {
    type X: hkt::Ins<T> + ty::Eq<<Self as hkt::Arg>::O>;
    #[inline]
    fn fmap<B, F>(self, f: F) -> hkt::Ap<T, B> where F: Fn(Self::X) -> B;
}

Going to close this out. I think the final version (with Eq on X) is about as good as it's going to get without further additions to the language. As long as Arg, Tag, and Ins are defined correctly, this seems to rule out bad Functor implementations afaict. Luckily we can prove default implementations of those for most of the builtin types and provide a macro for deriving new ones.

I meant to comment on this yesterday, I think this is about as good as we are going to get for now. We should start compiling a wish list of features for associated types and where clauses.
Have you tried a Self type constraint Darin? You are able to give equality constraints on Self type and should be able to transitively relate Vec<A> to VecT and A.
You should be able to constraint Self using "poor man's" type equality. I did something like this the other day:
trait TyEq<A>
impl<A> TyEq<A> for A {}

trait Functor<T>: Arg + Tag<O=T> where <Self as Arg>::O: TyEq<Self::A> {}

I think I wasn't able to get Self::X to work in the outer where clause. Might have to try again.

I believe I've come up with a better way to do this by thinking about how to generalize to the n-ary case and even nested types. The idea is to do away with the concept of the the hkt:: tags and instead do some type-level programming over the shape or arity of the type. This seems like a more natural concept because we can compose traversals over the latter.
So instead of having trait Functor<T>: Arg + Tag<O = T> we would have Functor<Path>: Compatible<Path> where the path is used to both project the A parameter from TX on the one hand and replace A with B in TX on the other hand. Perhaps sort of like a lens.
// Example

// Option<_>
impl<X> Functor<(Z,)> for Option<X> {
    fn fmap<B>(self, f: F) -> Set<Self, (Z,), B> where F: Fn(Get<Self, (Z,)>) -> B {
        …
    }
}

// (A, (B, _,),)
impl<A, B, X> Functor<(S<Z>, S<Z>,)> for (A, (B, X,),) {
    fn fmap<C>(self, f: F) -> Set<Self, (S<Z>, S<Z>,), C> where F: Fn(Get<Self, (S<Z>, S<Z>,)>) -> C {
        …
    }
}

Another nice thing about this approach is that we could use default arguments to avoid having to specify the path at all for the most common case: trait Functor<Path = (Z,)> would do the right thing for cases like Option<_> and Vec<_> automatically.
I think this would also let us avoid the need for the equality constraint. This functionality ought to be useful for fancier categorical stuff than just Functor too.
Thoughts? /cc @aturon

I've started to implement the refined approach but there are a number of other things that need to be put in place before it's usable. At the moment I'm working on some compiler plugins/macros to generate the boilerplate.


automatic motion start after reboot

Hi guys!
How can i automatically start the motion after a cronjob reboot at midnight?
The scheduler faq is not really a help for me.
Thank you so much in advance!
best,
peter

You can have motion detect come on automatically after a reboot by setting motion_detection true in the /etc/raspimjpeg file

WOW! Thanks man! i can´t find this info in the readme @elinux wiki...
MANY MANY THANKS!!!
Could you help me with another problem?


[BUG]: Response could not be completed

How are you running AnythingLLM?
Docker (remote machine)
What happened?
I have Anything-LLM on my server in a Docker and ollama i also have on this server.
When i try to import Youtube Transcript i get this error: "Response could not be completed"
How can i solve this? and when i use the agend it shows that it is finished but i dont get any response in the chat
Are there known steps to reproduce?
No response

Just to confirm, you are getting this error when trying to use the youtube transcript data connector, correct?
If so, this is most likely something wrong with the youtube link you are providing. If you share the link here with me I can take a look at it for you.

This video for example: https://youtu.be/XwL_cRuXM2E?si=UdD6Atjk5HBRjMEg
Also when I want to use the agent in the chat it says that the agent session starter and then after a while thet it ended but I get no response. When I ask the same question again the same thing happens and when I refresh the site the output is there but only from the first question.

You are using a shortened version of the youtube video link. It needs to be in this format: https://www.youtube.com/watch?v=XwL_cRuXM2E&ab_channel=bycloud. You can get that link by just visiting the shortened link in your browser and it will expand to the full link.
Also, try using another LLM provider as your agent provider to see if it fixes the issue. It is highly likely the agent is getting stuck because of the quality of model you are using.

That doesn't fix it I get the same error with the long URL.

@shatfield4  The Youtube link collector works with both types of YT URLS
https://github.com/Mintplex-Labs/anything-llm/blob/9a38b32c746b790531975d27888fea5552050062/collector/utils/extensions/YoutubeTranscript/index.js#L16-L20
If @shatfield4 can scrape the URL and @TheSirTigerr cannot then the video may not even have a transcript. Additionally, is the docker container running with --cap-add SYS_ADMIN? Most docker container hosting services (if applicable) do not allow this permission due to bot-scrapers

I have a Ubuntu VM on digitalocean. How can I check if I have --cap-add SYS_ADMIN on?

When you started the docker container in the ubuntu VM you would have to run some kind of docker command like docker run -p 3001:3001 mintplexlabs/anythingllm or something along those lines. The command needs to match what we have in our docs to get the full feature set due to some docker engine defaults.
https://github.com/Mintplex-Labs/anything-llm/blob/master/docker/HOW_TO_USE_DOCKER.md#recommend-way-to-run-dockerized-anythingllm

I seeing a similar issue on Windows 10.
I can get transcripts for some channels, such as https://www.youtube.com/watch?v=O5GY7_aVBtk
But other channels fail, such as https://www.youtube.com/watch?v=V9KJ7nvhRWk
This results in a zero-byte file in the AppData\Roaming\anythingllm-desktop\storage\documents[channelname] folder.
I did confirm that Youtube shows a transcript for that video. This seems to be across all videos in a channel.

So the transcript is fixed I used --cap-add SYS_ADMIN that fixed it. But web searching/agent still doesn't work in chat see picture.

Do you know if the docker container is using a proxy or anything to reach your container? Some providers will do this and it makes using websockets (which is how agents work) unusable until worked around. I think that may be what is happening here?
You can also check to see if in the frontend network requests if the websocket connection is attempting to reach ws or wss when starting an agent chat.

It sends the wss i use Nginx Proxy Manager

When you have the Nginx proxy running - do you have an allowance for WSS to connect?
# Default server configuration
# Example config for regular setup + SSL + Websockets.
server {
	listen 80;
	server_name mysite.com;
	return 301 https://mysite.com$request_uri;
}

server {
	listen 443 ssl;
	ssl on;
	server_name mysite.useanything.com;
	ssl_certificate /etc/letsencrypt/live/mysite.com/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/mysite.com/privkey.pem;

  # Enable websocket connections for agent protocol.
	location ~* ^/api/agent-invocation/(.*) {
		proxy_pass http://localhost:3001;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "Upgrade";
	}

	location / {
		proxy_connect_timeout       605;
    proxy_send_timeout          605;
    proxy_read_timeout          605;
    send_timeout                605;
    keepalive_timeout           605;
    proxy_buffering off;
    proxy_cache off;
    proxy_pass         http://ip-of-server:3001$request_uri;
  }
}


Problem setting up crawlme

How would I go about setting up the npm module "crawlme" in your framework? I have a LAMP stack on AWS with nodeJS also installed. I placed crawlme in node_modules using npm. I am essentially ftping the dist folder to the web root. I then use the Fetch As Googlebot tool and although I can see the pages render, the googlebot tool shows a 404. Here is my server.js file:
var express = require('express'),
crawlme = require('crawlme'),
url     = require('url'),
proxy   = require('proxy-middleware'),
server  = express(),
API_URL = process.env.API_URL || 'http://localhost:3000/';
server.set('port', (process.env.PORT || 5000));
server.use(crawlme({waitFor: 2000}));
server.use(express.static(__dirname + '/dist'));
server.listen(server.get('port'), function() {
console.log("Node app is running at localhost:" + server.get('port'));
});
// Proxy settings for connecting to API
// process.env.API_URL is an environment variable set on Heroku
server.use('/api', proxy(url.parse(API_URL)));

Sorry for the late response. My hosting provider royally f'd up and my primary email address has been out of service for a month.
Unfortunately I don't think I'll be able to help much. I've never used crawlme before, but honestly, I don't think you really need it. As of May 2014, Google's indexing algorithm started executing javascript on webpages, specifically because so many sites out there are being built with javascript frameworks. You don't need a tool like crawlme anymore (and from the looks of it it isn't actively maintained anymore).
Here's the announcement: http://googlewebmastercentral.blogspot.no/2014/05/understanding-web-pages-better.html


docs(form): improve form documentation

🔗 Linked issue

❓ Type of change

[x] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
This improves the form documentation for improved clarity and readability.

📝 Checklist

[ ] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

Thanks @romhml! 😊


Updated chart.js to 2.6.0 with minified js

cf. #22

Thanks for the PR @crevete! Just validated this locally and will update this PR once I get a new build out here shortly.

Version 0.1.3 has been published.

Thanks @coderbydesign !

The change to the require statement actually broke my (rails) app, this should have likely been a major version bump.
semantic-versioning.
Easy enough to fix, but caused a bit of confusion.
Thanks for the continued support for this gem.

@nubecoder You're 100% right, apologies for not catching that change in the PR and versioning appropriately!


Release 1.1.3

Placeholder for the 1.1.3 release.

1.1.3 is out: https://pypi.python.org/pypi/pex/1.1.3

just a heads up that this release contains a regression around egg handling (issue #216) which is affecting adoption by pants. I've reverted the breaking change in master and will plan for a 1.1.4 release on Monday.


Propagate trusted-host option

Hi
In my company network, due to security reason, we need to use some --trusted-host options during pip install in order to bypass SSL certificate check...
During pyOCD setup, some other packages are installed,
but failed because trusted-host option is not used.
Download error on https://pypi.org/simple/setuptools_scm/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661) -- Some packages may not be found!
Is it possible to use the trusted-host option during all the pyOCD setup ?
Thx

Hi @jeromecoutant, does running pip install --trusted-host=pypi.org pyocd not work for you? All the packages are hosted on pypi.org.
If you're trying to set up pyOCD for development, you should be able to run pip install --trusted-host=pypi.org -r dev-requirements.txt. The dev-requirements.txt file will install pyOCD as editable (equivalent to running pip install --editable .), plus a few other dependencies for testing.
If for some reason pip is not using the trusted host setting when installing dependencies, a possible alternative would be to install all of the dependencies in a number of separate calls to pip, passing --trusted-host=pypi.org for each one.
(It's kind of ironic to bypass TLS certificate checks due to security concerns!)

You're right, I have installed each requirement with a separate call to pip.
Thx


Unable to run db:migrate

As the title says, I receive the following in the error log whenever I attempt to run db:migrate:
ActiveRecord::StatementInvalid: SQLite3::ReadOnlyException: attempt to write a readonly database

My database.yml is setup as follows:
default: &default
  adapter: sqlite3
  pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
  timeout: 5000

development:
  reader:
    <<: *default
    readonly: true
    database: storage/development.sqlite3
  writer:
    <<: *default
    pool: 1
    database: storage/development.sqlite3

The test and production databases are setup accordingly but have been left out for brevity. I was largely following the guide found here. Thanks in advance :-)

Try swapping the order that you define the reader and writer pools. AR treats the first defined config as the default.

@fractaledmind Yep, that seems to do the trick. You can close, thanks :-)

hi Stephen - sent you an email - before I thought of going here
- my bad!
I'm on the activerecord-enhancedsqlite3-adapter-oid (not planning on going into rehab anytime soon) 😆
So - could I ask of you to do a 0.6.1 that does exactly that - flips the order - my migrations are 🤮  too

Sure :-)

I am traveling now, but pushed this commit from my phone: https://github.com/fractaledmind/activerecord-enhancedsqlite3-adapter/commit/4a25e0e8f930e3dd69648fa7b17715a99a782f45
I will release a new version once I get settled. Thanks for reporting the bug

Impressive!
(Like the implementations)
Thx a bunch,
Walther

Den 25. apr. 2024 kl. 12.18 skrev Stephen Margheim @.***>:
I am traveling now, but pushed this commit from my phone: 4a25e0e https://github.com/fractaledmind/activerecord-enhancedsqlite3-adapter/commit/4a25e0e8f930e3dd69648fa7b17715a99a782f45
I will release a new version once I get settled. Thanks for reporting the bug
—
Reply to this email directly, view it on GitHub https://github.com/fractaledmind/activerecord-enhancedsqlite3-adapter/issues/14#issuecomment-2076848195, or unsubscribe https://github.com/notifications/unsubscribe-auth/AABPFXOWBUNPA5JNUL65WX3Y7DKBHAVCNFSM6AAAAABGXLGJA6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDANZWHA2DQMJZGU.
You are receiving this because you commented.

oh - and btw - your "hot fix" - addressing the 'writer' in the CLI does not work - at least not 'with me at the wheel'
rails db:migrate:writer

I removed the gem and "redid" my incantations ( bundle add activerecord-enhancedsqlite3-adapter) but my gem stayed at 0.6.0 and my rails db:migrate kept barfing -
- however, doing a bundle open x, patching the x's and o's by hand, closing everything and having a go at it again, says: all lights are blazing green
😄
so - I guess when all the traveling is a wrap - and your bandwidth is a tad bit more than a virtual keyboard on your Nokia 2110 you will inch the version minor and mint a fresh gem for the treasure troves to keep
😍
and a huge thank you again!

hmm - this won't let go
💇
?1 bellis % rails db:rollback
bin/rails aborted!
You're using a multiple database application. To use `db:rollback` you must run the namespaced task with a VERSION. Available tasks are db:rollback:writer og db:rollback:reader.
Tasks: TOP => db:rollback
(See full trace by running task with --trace)
?1 bellis % rails db:rollback:writer
Unrecognized command "db:rollback:writer" (Rails::Command::UnrecognizedCommandError)
Did you mean?  db:rollback

(and it's with the config.enhanced_sqlite3.isolate_connection_pools = true )
I'll squelch my trompet for now and let you get back to the drawing board - give me a ping when/if you'd like me to take this for a spin
😃

I'll squelch my trompet for now and let you get back to the drawing board - give me a ping when/if you'd like me to take this for a spin 😃

enough with the squelch -- it's a wrap! I must have smoked some bad sh** (rollbacks works flawless when addressing the writer) or what-not, in any case: the activerecord-enhanced_sqlite3_adapter is a win!
❤

For those getting this issue - what fixed this for me was deleting the config/schema.rb file and re-running the migrations via bin/rails db:migrate:writer. Worked okay for my development and test dbs.


SPIKE: MP Systems and Components Design

Determine design for displaying systems and component data
Need Mike H, Jason W, Chris W, Alex R, Addis G, Quang B, Karen W, Nada A, Anthony P, Moses D, Jeremey S, Simera H
Context
(User journeys, design mockups, architectural diagrams, business rules, data element definitions)
Testing
Test Case:
Tester:
Issue Requester:
Requester:

Plan: Alex will work on wireframes, due 2/19


Some facts just don't display ...

So when I am on the Puppetboard, I go in the "Nodes" section and I click on a random certname to see all the details&facts  of this server and the Facts tell me "No data available in table", so I just can't see the facts of the server. I will drag a picture of it.

So I have put the '*' in the default settings in the code , I have also delete the lines of codes query.add(EqualsOperator('facts_environment', env)) in the app.py but it still does not show me the facts ..
Can please some of you help me or tell me where to look in the code to debug this ?
thanks you guys
Have a great weekend

Got the same problem with Fact "puppetversion".
Nothing show's up since i upgraded to v1.0.0.

Got the same problem with Fa
ct "puppetversion".
Nothing show's up since i upgraded to v1.0.0.

Got the same problem with Fact "puppetversion".
Nothing show's up since i upgraded to v1.0.0.

I am currently trying to debug this, I will keep you update

Got the same problem with Fact "puppetversion".
Nothing show's up since i upgraded to v1.0.0.

I am presently trying to debug the puppetboard, I will keep you update

@Philrobots could you check?

Hi all,
for me it's fixed in version 1.1.0!
Now i've got another problem, but that's not related to this.

@basti-nis : So, can this be closed? :-)

@larsnaesbye for me it can be closed :)


Add support for proxies

This pull request makes it possible to use the webex_bot in a proxy environment. As support for proxies in websockets has been stucked for over five years (ref. https://github.com/python-websockets/websockets/issues/364), I've decided to introduce the websockets_proxy library as a drop-in replacement.
The additional library is not necessary for those who do not require a proxy, so it might be better to offer this feature as an optional. To support proxies, you will need to explicitly include the [proxy] option when installing.
fixes #35 #39

@fbradyirl Sorry for bothering you due to git mis-operation. This PR is ready for merge, thank you.

Superseded by #56


i18n(ko-KR): add invalid-rewrite404.mdx

Description (required)

add invalid-rewrite404.mdx

Related issues & labels (optional)

Closes #
Suggested label:

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

ko
reference/errors/invalid-rewrite404.mdx
Localization added, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


Correctly emit imported 'React' references in JSX.

Fixes bug #4422

:+1:

n.b. Need to cherry-pick this into release-1.6


Disable debit and credit card payments. Only allow bank and PayPal balance.

Im wondering if it is possible to disable credit and debit card payments and only allow PayPal balance and bank payments. The reason for this is i am expecting payments from different countries and the cross-border fees when using cards are huge (All payments to be made in EUR).
Saw this similar issue: https://github.com/paypal/paypal-checkout/issues/491 but wasnt sure how to implement the SOLUTIONTYPE setting while using react. But reading the docs, it seems that i neet to set it it to Mask to guests cannot pay by card but even when logging in I want to disable choosing a card as the payment source.
My current code:
export default class PayPalCheckout extends React.Component {

  onAuthorize = async (data) => {
    // Optional: display a confirmation page here
    // Make request to server to execute the PayPal payment.
    // Server uses `paypal-rest-sdk` to execute the payment.
    const response = await checkoutPaypal(data.paymentID, data.payerID);
  }

  payment = (data, actions) => {
    return actions.payment.create({
      transactions: [{
        amount: {
          total: this.props.price,
          currency: 'EUR'
        }
      }]
    });
  }

  render() {
    const client = {
			sandbox: 'sandboxkey',
			production: 'productionkey',
    };
    const env = process.env.NODE_ENV === 'production' ? 'production' : 'sandbox';

    return (
      <PayPalButton
        env={env}
        client={client}
        payment={this.payment}
        commit={true}
        onAuthorize={this.onAuthorize}
        style={{
          label: 'pay',
          size:  'small',
          shape: 'rect',
          color: 'gold',
          tagline: false
      }}/>
    );
  }
}

I'm pretty sure this is not possible. @trainerbill any advice on this one?

Hey @safinn,
Are you referring to charges to the consumer from their bank or cross-border fees that you're charged from PayPal? If the latter, PayPal charges the same fee regardless of what funding source was used so the fees wouldn't be changed. Feel free to send me an email to<EMAIL_ADDRESS>and we can talk about this some more.

Thank you for the reply. @Austin57129 I will send you an email to hopefully help my understanding of the fees. Is it at least possible to disable the guest checkout?


Fix icon placement for menu items

item-left changed to left to align the icons properly in the menu.

This is the correct syntax. Please let me know if we have some documentation showing left as the proper syntax so we can fix it. Thanks! :)

Try it out.
Using item-left:

Using left:

Actually, you can just remove item-left and it looks correct.  The left (and the item-left) is not needed.

I created a new pull request #285 with just the removal of item-left


feat: implement spanner_create_storing_index example

fixes #480

This change is

Windows CMake build failed 3 times in a row with segfault.

I'll re-run the test again and try to monitor the VM which runs the test.

This time samples passes, but we got:
51 - instance_admin_integration_test (Timeout)


Instructions and code to upload training data points to GEE

Add documentation in code cells and repo readme describing how to upload your data to GEE from the notebook. This will involve using a command-line tool for GEE uploading e.g. geeup and a clear outline of the required schema and column encoding. We should add some test to confirm that the users data conforms to the expected schema before upload

documentation updated and example with geeup provided


404 pages are pure white

Example page: https://docs.rs/odaeurcoedioea. There's just the header, no content.

I reverted #1026 in prod which fixed the issue. We should add a test for this before redeploying that PR.