Support for built-in @type and @spec

The complete version of #109
Adds the following public functions:

fetch_spec to extract type from @spec of the given function.
fetch_type to extract type from @type with the given name.
apply which is the same as Kernel.apply but also checks types (both arguments and result).
ensure_types macro which extracts types from @spec and puts it into apply.

The last one is experimental and isn't very stable. Areas for improvement:

If it can't fetch the given spec, it will fail with a pattern matching error. It would be better to provide a friendlier error for such cases.
I've created The full function name inference (ast_to_mfa) using only my own head and my own experiments in REPL. It might miss some corner cases, I'm not proficient with Elixir AST yet.

Other than that, it should be good enough. The parser supports all types that TypeCheck does and even more. It also correctly infers all remote types in @spec.

In theory, we also could use Code.Typespec.spec_to_quoted for convert, but custom implementation gives more control.

I think it would be a good idea to move ensure_types!/apply/fetch_spec and fetch_type to a separate module, say TypeCheck.Experimental to make it even more clear that their API and internals might be subject to change.

I don't think their API will change in a breaking manner. Do you? At least, I'm pretty sure about the stability of fetch_spec and fetch_type. They might later support some options but the contract "Give me MFA and I'll return TypeCheck type" will stay forever unchanged.

I don't think their API will change in a breaking manner. Do you?

The name for ensure_types! will probably still change
fetch_spec/ fetch_type

As written right now, might change what types they return for a particular type/spec as anything unrecognized is currently turned into any.

I'm not entirely sure where these functions should live. Probably not in the main TypeCheck module, as that module is meant only for functions that see very frequent usage. Maybe ensure_types! (whatever it might be called later) and apply! might be included there, fetch_spec might make more sense in the TypeCheck.Spec module and fetch_type in the TypeCheck.Type module. On the other hand, it also makes sense to group all functions that deal with pre-existing specs/types together in a single module. :thinking:

Because of these considerations, I think it is better to put them in a module that is very clear about not being fully stable yet for the time being, so that we can defer these choices until later, rather than finding out we chose badly and being unable to change it in a backwards-compatible way.

Good idea. I propose to call the module something like "TypeCheck.Classic" and say in its docs that the module is experimental.

Good idea. I propose to call the module something like "TypeCheck.Classic" and say in its docs that the module is experimental.

What about the name TypeCheck.External? 'Classic' has the connotation of referring to an old version of the code, which I do not think is appropriate here.
'External' indicates that you can use it to work with types of modules which you do not directly have access to yourself.

Changes since the last review:

Support for recursive types, with recursion depth limit
Support for user types
Moved some funcs into TypeCheck.External
Added TypeCheck.apply to return a monad
Support for reference, port, maybe_improper_list
More tests
Simplification of type | any to just any (with any number of types inside).
Simplification of nested union for any number of arguments.

A few more changes:

Support for nonempty_maybe_improper_list because #120 is merged.
Moved apply and apply! into External since you need them only with "external", non-type-check-annotated, functions.


Gchtr coding standards

Ticket: #1603
Made some tweaks to phpcs.xml and tried running phpcbf on a few files to test

Coverage remained the same at 94.349% when pulling 98a3ce6cf6bb0e798bc46ea9b14b1646a671b9e5 on gchtr-coding-standards into 4d7609edaf04b9d1fc5d8f2c402cf7c0e5bda7ac on master.


When possible, only update AI DB on new data

Currently, when the qa plugin loads, it will rebuild the whole DB, including embeds. This can be costly and time consuming. Instead, it should do as much as possible to:

Find what needs to be (re)downloaded
Only generate embeds for new data, removing old data if necessary

Point 2 is the most important.

And can we by default make it "expert" on itself?

@tippi-fifestarr Dietrich has also mentioned such a feature. I think this is a good idea, but should exist in another issue.

Point 2 is implemented using the new mission control plugin, it's now trivial to remove old information. Point 1 still needs some techniques.


Issue with the networkx newer than 2.3

Hi,
I just realized the lammps_interface is not working with networkx version 2.40 which has been installed as the latest version. I had to downgrade to version 2.30 for having the code working. I still did not fully investigate the source of issue but I think it would be related to the removal of depreciated  functions in the latest version:
https://networkx.github.io/documentation/stable/release/release_2.4.html
Thus, I think a quick fix for now would be putting a limitation on the version of networkx.
My best,
Pezhman

Hi Pezhman,
Many thanks for this! I will try to have it work with newer versions of networkx ASAP.
Best,
Pete

@peteboyd  up to you - otherwise, it's also very easy to make a 1.1.2 release that simply has networkx<2.4 dependency.

Fixed with commit 371d5d93110b349d51b5d7bfb7ef2bcc89752b7b


"phylogeny" returns mostly not phylogenies

https://ocellus.info/images.html?q="phylogeny"&size=75&page=4&communities=biosyslit
the results of Ocellus are misleading: A large part of the images retuned on the term "phylogeny" have nothing to do with phylogenies other than that somewhere in another part of the publications there is phylogeny.
For me this is misleading and takes part of the elegance of Ocellus. May be we should have two ways to search it. One restricted to terms in the caption or the metadata, the other the way you have implemented it.

vs this, what I would expect

This also raises the question, why I get only phylogenies when I get 30 figures back as opposed when I get 75?

I think I have a possible solution for this, but it will take some time to implement it (and lots of testing). I will keep this issue open and update it when I have something working


Incorrect units in UI for response times

Prerequisites

[X] I am using the latest version of Locust
[X] I am reporting a bug, not asking a question

Description
Response times in the UI are in seconds, but the displayed unit is milliseconds. See report screenshots.

To prove this, I created sample code that runs a 5 second task.
Command line
locust -f test_locust.py CustomUser --users=200 --spawn-rate=20 --modern-ui --run-time 2m
Locustfile contents
from locust import User, task, events
import time

class CustomClient:
    def f(self):
        start_time = time.time()
        sleep_time = 5
        time.sleep(sleep_time)
        events.request.fire(
                    request_type="test",
                    name=f"{sleep_time} sec sleep",
                    response_time=time.time()-start_time,
                    response_length=0
                )

class CustomUser(User):
    def __init__(self, env):
        super().__init__(env)
        self.client = CustomClient()
    @task
    def my_task(self):
        self.client.f()

Python version
Python 3.10.12
Locust version
2.19.0
Operating system
Ubuntu 22.04

Oh, thats not good.. @andrewbaldwin44

It's the same case in the old UI right?

Hey... wait a minute. He's actually reporting 5ms response times. response_time is supposed to be in ms.

It seems there is a false assumption being made here, locust is recording the amount of time it takes the server to respond, not the amount of time it takes the task to run. Consider this example with a simple flask server that takes 5 seconds to respond:
# app.py
from flask import Flask
import time

app = Flask(__name__)

@app.route('/')
def hello_world():
    time.sleep(5)
    return 'Hello, world!'

if __name__ == '__main__':
    app.run(debug=True)

from locust import TaskSet, task, HttpUser, constant
import locust.stats
import time

locust.stats.PERCENTILES_TO_REPORT = [0.95, 0.99]
locust.stats.PERCENTILES_TO_CHART = [0.95, 0.99]

class ExampleTest(TaskSet):
    @task
    def get_stuff(self):
        self.client.get("/")

class Example(HttpUser):
    # wait_time = constant(1)
    tasks = [ExampleTest]
    host = "http://<IP_ADDRESS>:5000"

So the code should actually be
response_time=(time.time()-start_time)*1000,

I think this can be closed as invalid.


Add registration fallback on login

If a user try to login and no account is found, fallback on the registration.

I added the flag --register in order to only register


MFA Authentication doesn't work

Trying to use the PS Module to fetch information about Partner Center users fails:
PS C:\Users\toddy> $credentials = Get-Credential<EMAIL_ADDRESS>PS C:\Users\toddy> Get-PCCustomer -all
>>>Use Add-PCAuthentication function to login to partnercenter or use -satoken parameter<<<
At C:\Program Files\WindowsPowerShell\Modules\PartnerCenterModule\<IP_ADDRESS>\commons.ps1:45 char:9
+         throw ">>>Use Add-PCAuthentication function to login to partn ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (>>>Use Add-PCAu...en parameter<<<:String) [], RuntimeException
    + FullyQualifiedErrorId : >>>Use Add-PCAuthentication function to login to partnercenter or use -satoken parameter<<<

My assumption is that this module doesn't support MFA and my account has MFA enforced or the documentation is not clear how to use the module. The -satoken parameter error is quite confusing.
Any suggestions what to do to resolve those.

Changed the title to be more clear what the issue is. Here is the error when authenticating:
Invoke-RestMethod : {"error":"interaction_required","error_description":"AADSTS50076: Due to a configuration change made by your administrator, or
because you moved to a new location, you must use multi-factor authentication to access 'SampleBECApp'.\r\nTrace ID:
82eb9a17-9069-4708-9f59-033e802e0800\r\nCorrelation ID: da06dd53-c08f-4a66-b684-f2deb9a751cf\r\nTimestamp: 2017-12-20
22:56:20Z","error_codes":[50076],"timestamp":"2017-12-20
22:56:20Z","trace_id":"82eb9a17-9069-4708-9f59-033e802e0800","correlation_id":"da06dd53-c08f-4a66-b684-f2deb9a751cf"}
At C:\Program Files\WindowsPowerShell\Modules\PartnerCenterModule\<IP_ADDRESS>\PartnerCenterAuthentication.psm1:32 char:17
+ ... $response = Invoke-RestMethod -Uri $url -ContentType "application/x-w ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
The property 'access_token' cannot be found on this object. Verify that the property exists.
At C:\Program Files\WindowsPowerShell\Modules\PartnerCenterModule\<IP_ADDRESS>\PartnerCenterAuthentication.psm1:33 char:12
+     return $response.access_token
+            ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], PropertyNotFoundException
    + FullyQualifiedErrorId : PropertyNotFoundStrict

The property 'Domain' cannot be found on this object. Verify that the property exists.
At C:\Program Files\WindowsPowerShell\Modules\PartnerCenterModule\<IP_ADDRESS>\PartnerCenterAuthentication.psm1:104 char:5
+     Update-ModuleTelemetry -cspDomain $result.Domain
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], PropertyNotFoundException
    + FullyQualifiedErrorId : PropertyNotFoundStrict

Invoke-RestMethod : {"Message":"An error has occurred."}
At C:\Program Files\WindowsPowerShell\Modules\PartnerCenterModule\<IP_ADDRESS>\PartnerCenterTelemetry.psm1:31 char:19
+ ...   $result = Invoke-RestMethod -Method Post -Uri "https://api.migaz.to ...
+                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebException
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

This can be worked around as suggested in #21 using AppID and App Secret, however, there was a bug that should be fixed once PR #38 is integrated


Adding a custom scrollbar with light/dark mode functionality

Description
Adding a custom scrollbar with light/dark mode functionality -> #191
Screenshots
No response
Additional information
No response

nice work done on #191

@Darkmift
Thank you. Appreciate the merge :)


MS Entra Cloud Sync Description Missing

[Enter feedback here]
This page makes no mention of MS Entra Cloud Sync, which I had thought represented MS's desired direction for Entra ID (formerly Azure AD) integration. It is confusing not seeing MS Entra Cloud Sync mentioned here as part of a potential reference architecture.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: dd6463b2-ccca-e0f5-ed8e-ed239541a5c7
Version Independent ID: 3f497c55-e522-476c-8e63-37de63ff0603
Content: Integrate on-premises AD with Azure - Azure Architecture Center
Content Source: docs/reference-architectures/identity/index.yml
Service: architecture-center
Sub-service: reference-architecture
GitHub Login: @martinekuan
Microsoft Alias: architectures

@evoke-gsmith
Thanks for your feedback! We will investigate and update as appropriate.

Thank you for your feedback.  We have created internal ticket 183324 to track and investigate this issue.

#please-close


feat: add escape tagged function to escape html

It would be nice to have a tag function to escape unsafe inputs.
It improves readability in cases like this.
function Comp(props: { something: string, times: number }) {
   return
{Html.escape`You have ${props.something} ${props.times} times`}

}

instead of:
function Comp(props: { something: string, times: number }) {
   return
You have {Html.escapeHtml(props.something)} {Html.escapeHtml(props.times)} times

}

Let me know if it makes sense and if you like the implementation.
If you agree I will also make a PR to support this new way of escaping in the ts plugin

Hey @JacopoPatroclo awesome idea! Yes I'd love if you could add support for it in the ts plugin!
I'll change the implementation to follow this package's code standards and also export an alias called e, which would reduce verbosity in this case.
import { Html, e } from '@kitajs/html';

html =
{e`...`}

@JacopoPatroclo what do you think?

Hey @JacopoPatroclo awesome idea! Yes I'd love if you could add support for it in the ts plugin!
I'll change the implementation to follow this package's code standards and also export an alias called e, which would reduce verbosity in this case.
import { Html, e } from '@kitajs/html';

html =
{e`...`}

I do not like such an extreme shortening, makes the code more obscure. But of course, this is my opinion and this is not my project 🤓
I'm glad that you liked the idea of using a tag function.
I'm going to open a PR in the other repo to support this new way of escaping HTML.


[6.0] Autoload providers and facades

This PR leverages the autoloading support from Laravel to autoload all service providers and facades which Laravel provides. These were before defined in the app.php config file. It cleans up the app.php config file and makes the skeleton more cleaner.
This behavior can still be overridden to the old one by opting out as described in the docs:
"extra": {
    "laravel": {
        "dont-discover": [
            "laravel/framework"
        ]
    }
},

The companion PR for the skeleton here: https://github.com/laravel/laravel/pull/5076

I still find that the alises registering themselves to be an anti-pattern, just like the situation with global functions.

Registering providers is one thing, but the alias registration just seems wrong to me.

@GrahamCampbell we haven't had problems with it so far and it's an easy opt-out (see my comment).

It's not easy to opt out of only the alias registration though.

Maybe we could implement something for that with a new syntax. Something like the below? 🤔
"extra": {
    "laravel": {
        "dont-discover": [
            "laravel/framework@aliases"
        ]
    }
},

I just don't understand why anyone would want aliases to be auto-registered. I often just delete every alias out of the app structure when I make a new app, or keep only a couple of them.

@GrahamCampbell okay but then we're discussing registering Facades in the first place. They've been autoloaded since the beginning of the framework. I don't see why we should change that behavior now. This discussion is also a bit besides the point of this PR.

I'm with @GrahamCampbell
Though, i haven't used this discovery feature that much, but what about disabling a few providers and disabling a few aliases from Laravel itself?
Is that still possible? Or i need to copy everything from one place to the other and remove what i don't want?

This makes it much harder for package developers to say extends illuminate/auth and suggest someone to change Illuminate\Auth\AuthServiceProvider to Foo\Bar\AuthServiceProvider in the app.php config (current behaviour).
Moving forward with this, people that want to replace the service provider would needs to re-add all the service providers back to app.php (I assume it would be removed since that just going to create duplicates).

Though, i haven't used this discovery feature that much, but what about disabling a few providers and disabling a few aliases from Laravel itself?

I'm not sure if it's a good idea to disable some providers. The laravel/framework comes with all of the components and for me I'd expect all of them to be initialized because I explicitly required them as so.

Is that still possible? Or i need to copy everything from one place to the other and remove what i don't want?

You'll have to copy them. But I don't think many would want to do this. I haven't ran into any situation myself where I needed to disable some service providers. I think it's best that we look at how we can override bindings in this case.

This makes it much harder for package developers to say extends illuminate/auth and suggest someone to change Illuminate\Auth\AuthServiceProvider to Foo\Bar\AuthServiceProvider in the app.php config (current behaviour).

Wouldn't it be better if we looked at how you can extend in another way than overriding the service provider? Do you have specific examples when you actually need to override the provider?

Moving forward with this, people that want to replace the service provider would needs to re-add all the service providers back to app.php (I assume it would be removed since that just going to create duplicates).

This would indeed be the case but like I said I think that that's rather the exception then the rule in most apps. I haven't found myself wanting to do this. I think it's best that we look at better ways on how to extend from the framework or replace internals instead of having to resort to override service providers.
I added a companion PR above where I indeed removed the core aliases and providers from the skeleton.

I haven't found myself wanting to do this.

I have the need to have this. Which is why I put up the example.

Other than above issue, this would also cause issue for any packages that still depends on the default services to be registered first. Laravel prevent this issue by ensuring the services from app.providers will registers anything that prefixed with Illuminate\ name to be loaded first, see https://github.com/laravel/framework/blob/master/src/Illuminate/Foundation/Application.php#L574-L585

I have the need to have this. Which is why I put up the example.

I also have the need for this. I replace the bus service provider entirely.

I have the need to have this. Which is why I put up the example.

Okay but can you show some code then? Like: actually show an example why you would need to do this.

this would also cause issue for any packages that still depends on the default services to be registered first.

There shouldn't be a need for ordering service providers. The container should resolve dependencies properly.

Laravel prevent this issue by ensuring the services from app.providers will registers anything that prefixed with Illuminate\ name to be loaded first

Ah, thanks for making me aware. I think we may actually remove that part now.

I also have the need for this. I replace the bus service provider entirely.

Can you tell why you needed to do that? Is there any reason why you can't leverage the container/contracts for this?
Btw: definitely not trying to play hard ball here guys. I genuinely want to look into your use cases to help understand them better and figure out the best solution for this 👍

There shouldn't be a need for ordering service providers. The container should resolve dependencies properly.

If laravel/passport service providers got loaded first before laravel/framework you don't see that it's going to cause an issue right now? The container can't resolve services that yet to be registered.

The container can't resolve services that yet to be registered.

That shouldn't be a problem, since nobody should be resolving things in the register method? Only from within callbacks that should never get run until boot, or later?

There shouldn't be a need for ordering service providers.

The use case I have is for registering error handling as quick as possible. For example, Bugsnag has to be manually added, to ensure it can capture as much as the bootstrap process as possible.

That shouldn't be a problem, since nobody should be resolving things in the register method? Only from within callbacks that should never get run until boot, or later?

https://github.com/laravel/passport/blob/7.0/src/PassportServiceProvider.php#L251-L258
Passport uses Auth::extend() on register(). This explicitly require Illuminate\Auth\AuthServiceProvider to be resolved first. I did make a PR to 5.7 to avoid this #26824 but passport still support Laravel 5.6

I'll just hold off on this since I can tell it will be pretty contentious and is basically a cosmetic change 😅

Okay no problem. I guess for now its indeed a cosmetic chance but if we ever want to use the components separately then we should definitely revise this.


Maximizing while devtools is opened

Testing #98995
Related: https://github.com/microsoft/vscode/issues/99065
Repro:

Drag terminal into output and into the left portion of it
Press escape instead of dropping
ctrl+shift+i for devtools
Press the maximize button

I cannot repro any behavior that looks like a bug based on those steps though I don't fully understand what the described bug is

@sbatten when the window is maximized, the electron window dimensions don't change, that small sliver is the entire window, no more activity bar, not more minimize/maximize/close buttons are visible.

I cannot reproduce this but it sounds like an electron issue since that button press is just a call to electron API

@Tyriar does this issue still apply in the latest Insiders?
The appearance of the devtools has changed when they are docked to the right side.

@Tyriar does this issue still apply in the latest Insiders?
The appearance of the devtools has changed when they are docked to the right side.

I can't remember seeing this since it happened that day 🙂

I can't remember seeing this since it happened that day 🙂


exemples crash on windows 10 visual studio 2020 c++20

Hi,
running the examples spits out a json error. It seems like the json is malformed or something around those lines.
using curl 7.68 because 7.48 did not want to compile.
Any hint?
thank you,

forgot the api key, works fine now but it shouldn't crash nonetheless.


[e2e]: container schedule main default slsa3

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/5471235834
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Thu Jul  6 03:28:08 UTC 2023

Repo: https://github.com/slsa-framework/example-package/tree/main
Run: https://github.com/slsa-framework/example-package/actions/runs/5482429628
Workflow file: https://github.com/slsa-framework/example-package/tree/main/.github/workflows/e2e.container.schedule.main.default.slsa3.yml
Workflow runs: https://github.com/slsa-framework/example-package/actions/workflows/e2e.container.schedule.main.default.slsa3.yml
Trigger: schedule
Branch: main
Date: Fri Jul  7 03:30:47 UTC 2023
Tests are passing now. Closing this issue.


Added support for JUNK and akd header chunks and updated the makefiles.

Too bad my email patch from half a year ago never made it into the code, but I guess here's yet another attempt. :smile:
I updated the MinGW makefile, moved the rm command to the Makefile and added a del command to the MinGW makefile.

I can't accept these changes, the mingw makefiles I use are for cross compiling from Linux, so I have to use the rm command and the names of the cross compiler toolchain. I also don't see the point of adding the support for JUNK and akd, they are currently ignored safely, and your change doesn't seem to actually use the new variables for anything.

You're right, I should have spent a bit more time on it. Was already rather late. :wink:
Really missed that you've actually updated the code to ignore any unknown chunk, my bad. :+1:


Hibench-pagerank： java.io.StreamCorruptedException: invalid type code:AC

Hello，
A problem confusing me a lot. I believe it is a code bug of Crail
When running spark-io with Hibench-pagerank with 3 iterations. The stage 0 is fine, as the stage 1 starts, the problem pops out: java.io.StreamCorruptedException: invalid type code: AC;
the debug info is as follows:
WARN scheduler.TaskSetManager: Lost task 0.0 in stage 1.0 (TID 40, <IP_ADDRESS>): java.io.StreamCorruptedException: invalid type code: AC
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1381)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:373)
at org.apache.spark.serializer.JavaDeserializationStream.readObject(JavaSerializer.scala:75)
at org.apache.spark.serializer.DeserializationStream.readKey(Serializer.scala:157)
at org.apache.spark.serializer.DeserializationStream$$anon$2.getNext(Serializer.scala:189)
at org.apache.spark.serializer.DeserializationStream$$anon$2.getNext(Serializer.scala:186)
at org.apache.spark.util.NextIterator.hasNext(NextIterator.scala:73)
at org.apache.spark.shuffle.crail.CrailInputCloser.hasNext(CrailInputCloser.scala:33)
at scala.collection.Iterator$$anon$11.hasNext(Iterator.scala:408)
at scala.collection.Iterator$class.foreach(Iterator.scala:893)
at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
at org.apache.spark.shuffle.crail.CrailShuffleWriter.write(CrailShuffleWriter.scala:65)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:79)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:47)
at org.apache.spark.scheduler.Task.run(Task.scala:85)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:274)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
How to solve this? A little help will be appreciated

Don't think this is a Crail bug, maybe a problem with the CrailSparkSerializer. If so, it can always be solved through an application specific serializer.


Determinate Circular Progress value not displaying as expected

The value supplied to a determinate circular progress component doesn't appear to manifest properly.  The circles appear "overfilled" relative to the values provided.

[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior

I expect that when I pass a value of 20 to the circular progress component, the resulting circle would be 20% full.  I expect that when the value passed is 50, the circle would be 1/2 full, and that it would have to be 100 to appear "completely" full.
Current Behavior

When I pass a value of 20 to the circular progress, it appears roughly 1/3 full.  When I pass a value of 50, it appears about 3/4 full, and a value of 85 completely fills the circle.
Steps to Reproduce (for bugs)

https://codesandbox.io/s/5305x6z9z4

Make a CircularProgress with a value of 20
Make a CircularProgress with a value of 50
Make a CircularProgress with a value of 85

Context

I am trying to show a series of "gauges" that show what percentage of a whole is represented.
Your Environment

Tech
Version

Material-UI
"^1.0.0-beta.33"

React
"^16.2.0"

browser
Chrome

etc

Solved by #10228 cc @mbrookes

@oliviertassinari thanks for the quick update.  Is this in a release package I can use yet, or should I be waiting for an upcoming release?

@andyweiss1982 Next release will be this weekend. Otherwise, you can rollback to an earlier version.

OK thanks! @oliviertassinari


merge MONDO:0014849 into MONDO:0012091

Fix #3098

this looks good!
I mistakenly requested a change, then I deleted it. Not sure if you saw it, but if you did, please ignore :)


Popover sat to modal={true} used in a dialog causes input and whole site to be unresponsive

https://github.com/shadcn-ui/ui/assets/124585244/edbf6736-0533-43a9-b3e5-3bb8027b3b0b
as seen in the video it works perfectly when the task form is used in a page but when used in dialog, popovers' input do not work (but buttons do).
also if clicking outside a dialog when a popover is still open, it will cause the site to be unresponsive. ive had to sat popover modal to true but it causes problems when the popover is used in a dialog.
The modal component which contains the task form:
https://github.com/mariangle/.taskify/blob/main/client/components/modals/task-modal.tsx
Task form with the popover:
https://github.com/mariangle/.taskify/blob/main/client/components/task/task-form.tsx
The popover component with modal true:
https://github.com/mariangle/.taskify/blob/main/client/components/task/select-list.tsx

Experiencing the same issue!

I am also having this issue!

This issue has been automatically closed because it received no activity for a while. If you think it was closed by accident, please leave a comment. Thank you.

Anyone found solution to this?

Anyone found solution to this?

Sadly not, I still have those issues so I just avoid using the components like this.

same here

Same issue here.
My theory is that the onClick action outside closes both the popover and the modal, not letting the modal to unset pointer-events: none; from the body

A workaround is to do a preventDefault of the onPointerDownOutside of the dialog when popover is open (having a controlled open/close state of the popover), something like this <DialogContent onPointerDownOutside={(e) => openPopover && e.preventDefault()} />

this is a nice workaround,  i think your theory is correct,  i tried tons of stuff, like eliminating animations on the popover,  controlling state of both with open and onOpenChange in various ways,  your workaround is clean.   out of curiosity i tried this just now:
onPointerDownOutside={(e) => {             e.preventDefault();             flushSync(() => setShowPopover(false));             setShowDialog(false);           }}
and it works and closes them both immediately in one click,   but i am new so i don't know if flushSync will cause any issues with the internal radix states or anything 🤷  in my case it doesn't appear to cause any problems,  react docs say not to use this often though.

having the same problem

i'm stucking with the same issue, same component. Still can't search when use combobox on a dialog

Same issue happens when you open a dialog from Popover and then close the dialog.

not sure it will help you or no, to solve this issue i decided to not use PopoverPrimitive.Portal so i add props is called modal.


Task - Make users aware that cookies are required

Description
Submitting any form with cookies disabled leads to a 419 error, because a cookie is used to track the session, and session data is used to verify CSRF tokens.
We should an explanation to the 419 error page that they may need to enable cookies. Also, if the TokenMismatchException occurs on the Login, Registration, or Reset Password forms, we can catch the exception and return a form error message explaining the need for cookies.

Would be nice to flash an error to the form before the user submits the form, notifying them that cookies are required. In addition to adding more information to the 419 error page.

This ended up being a more specific technology problem. IE on our TBS surface tablets failed, but chrome on the same device works. @yonikid15 could you investigate a little more?

This ended up being a more specific technology problem. IE on our TBS surface tablets failed, but chrome on the same device works. @yonikid15 could you investigate a little more?

Will do!


Possibility for a Big Sur update

Hello,
This project is one of my favorite apps. However, it hasn't been maintained for the newest release of macOS, Big Sur. A feature such as album art doesn't work anymore in 0.6.0, but does in 0.5.2. Is there a possibility of an update?

this app does not work with the release of Spotify's new UI


24/7 Stream Investigation

(Making a ticket so I don't lose track of this, @iameli please edit and update this )
During Eli's 24x7 stream, we found that the stream would go through a rename process at least once each day. We should:

Figure out why this is happening
Improve the experience so customer's don't experience buffering

Just got a report from user<EMAIL_ADDRESS>that his 24/7 stream is "going idle" which is causing buffering for viewers. The fix, they report, is to restart OBS.
Since we're getting real-life people experiencing this issue, let's address this during next week's Tech Debt week.

Recommendations from Eric:

Turn off transcoding and see if that fixes the problem
Run another test but restart it every 12 hours and see if that fixes the problem

How often are their stream going idle? Could it just be when we eventually restart/kill the mist instance where they started streaming to?

@victorges Ah, sorry didn't see this comment! Wiley is now resetting the stream every 12 hours, and consistently seeing issues around 5am ET, which makes me think there could be a specific amount of time between when the stream restarted to when he experiences issues.


make sshpass requirement optional

Two options:

Make it so it's only necessary if password based auth is enabled.
Use paramiko.

I would vote for a pure Python version. Either with sftp from Paramiko or with the scp module (https://github.com/jbardin/scp.py) which is already installed with netmiko.
A problem with the scp module though is that the transfers are quite slow.

This could be closed now.

sshpass is no longer needed


Automated cherry pick of #3360: Realize Egress for a Pod once its network is created

Cherry pick of #3360 on release-1.5.
#3360: Realize Egress for a Pod once its network is created
For details on the cherry pick process, see the cherry pick requests page.

Codecov Report

Merging #3378 (e6c44e1) into release-1.5 (dec6ab9) will decrease coverage by 25.89%.
The diff coverage is n/a.

@@               Coverage Diff                @@
##           release-1.5    #3378       +/-   ##
================================================
- Coverage        59.89%   34.00%   -25.90%
================================================
  Files              331      132      -199
  Lines            28470    15622    -12848
================================================
- Hits             17052     5312    -11740
- Misses            9542     9822      +280
+ Partials          1876      488     -1388

Flag
Coverage Δ

integration-tests
34.00% <ø> (?)

kind-e2e-tests
?

unit-tests
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/agent/cniserver/pod_configuration.go

pkg/agent/cniserver/server.go

pkg/agent/controller/egress/egress_controller.go

pkg/agent/controller/networkpolicy/cache.go

...ntroller/networkpolicy/networkpolicy_controller.go

pkg/agent/types/networkpolicy.go

pkg/controller/egress/controller.go

pkg/controller/types/group.go

...llers/multicluster/member_clusterset_controller.go

pkg/apiserver/handlers/webhook/mutation_crd.go

... and 453 more

/test-ipv6-e2e
/test-ipv6-only-e2e


DrawerNavigator Error

Hey guys!
I am a beginner with RN so maybe this is an easy-to-solve issue but when I implement this tutorial in my start-app
I am getting the following error in my app. Maybe you can help me :/

Here is the code of the index-file:
import {
  AppRegistry
} from 'react-native';

import { DrawerNavigator } from 'react-navigation'
import Startpage from './src/container/startpage'
import HomeScreen from './src/container/home'

const Dynaball = DrawerNavigator({
  Home: {
    screen: HomeScreen
  },
  Start: {
    screen: Startpage
  },
}, {
  initialRouteName: "Home"
});

AppRegistry.registerComponent('Dynaball', () => Dynaball);

Without seeing your ./src/container/home file, it's hard to diagnose. Sound to me like you're not returning a react component. Checkout the tutorial here for a basic example:
https://reactnavigation.org/docs/intro/

Thanks for our reply.
I already got it worked with the StackNavigator.
Now I want to use the Drawer but that doesn't work like described above.
thats the home-component:
import React, { Component } from 'react'
import { View, Text, StyleSheet } from 'react-native'
import Icon from 'react-native-elements'
import Toolbar from '../components/toolbar'

export default class HomeScreen extends Component {
  static navigationOptions = {
    drawer: () => ({
      label: 'Home',
      icon: ({ tintColor }) => (
        <Icon
          name="home"
          color={tintColor}
        />
      ),
    }),
  }
  constructor(props) {
    super(props);
  }

  render () {
    return (
        <View>
          <Toolbar openDrawer={this.props.openDrawer} />
          <View style={styles.container}>
            <Text>Home</Text>
          </View>
        </View>
          )
        }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
  toolbar: {
    flexDirection: 'row',
    justifyContent: 'space-between',
    alignItems: 'flex-start',
    backgroundColor: '#F5FCFF',
    margin: 0,
  },
});

UPDATE: The Error is issued by the navigatorOptions - icon:
drawer: () => ({
      label: 'Home',
      icon: ({ tintColor }) => (
        <Icon
          name="home"
        />
      ),
    }),

Could it be possible, that the react-native-element can't work with the icon-prop?
Greets

Try changing import Icon from react-native-elements to import { Icon } from 'react-native-elements'


[Shadowbane Inquisition] update

Changes / Comments
Changed weapon damage type to a list
Roll to hit now show number of hits
Added Agility limiter on Armor
Graphical change
Roll20 Requests
Comments are very helpful for reviewing the code changes. Please answer the relevant questions below in your comment.

[ ] Does the pull request title have the sheet name(s)? Include each sheet name.
[ ] Is this a bug fix?
[ ] Does this add functional enhancements (new features or extending existing features) ?
[ ] Does this add or change functional aesthetics (such as layout or color scheme) ?
[ ] If changing or removing attributes, what steps have you taken, if any, to preserve player data ?
[ ] If this is a new sheet, did you follow Building Character Sheets standards ?

If you do not know English. Please leave a comment in your native language.

Character Sheet Info Roll20 Internal Use only.

Character Sheet Info Roll20 Internal Use only.


AutoCorrect: contextual needs rubocop v1.61

https://github.com/rubocop/rubocop/releases/tag/v1.61.0

Before submitting the PR make sure the following are checked:

[x] Feature branch is up-to-date with master (if not - rebase it).
[x] Squashed related commits together.
[-] Added tests.
[-] Updated documentation.
[-] Added an entry to the CHANGELOG.md if the new code introduces user-observable changes.
[x] The build (bundle exec rake) passes (be sure to run this locally, since it may produce updated documentation that you will need to commit).

The is is a big jump
Can we make it together with the 3.0 release, or in 3.x?
How did you catch this?
I see that https://github.com/rubocop/rubocop-rspec_rails/commit/ff9bf2a24a4157cd58c51c92f8e31a98571c69cc is :x:, but I don’t see why.
Do we have this build job that checks with the lowest supported rubocop version?

This makes me a bit hesitant to backport our contextual autocorrection to 2-x-stable.

Do we have this build job that checks with the lowest supported rubocop version?

That would be https://github.com/rubocop/rubocop-rspec/actions/runs/9355023880/job/25749240673, using gem 'rubocop', '= 1.40' on e49f221245f8e23fd1167677f6557623d9d702ce.

I see that rubocop/rubocop-rspec_rails@ff9bf2a is ❌, but I don’t see why.

The failing CI is because https://github.com/rubocop/rubocop-rspec_rails/pull/30 is not (and cannot be) merged yet.

I’m trying to read https://github.com/rubocop/rubocop/pull/12657 and I think if people are using an older version of RuboCop than v1.61, autocorrect will just keep working as it always has. But if they’re using v1.61+ then they get the new LSP feature too.
In conclusion, I don’t think we need this PR. People who want to use LSP should use RuboCop v1.61+ anyway. But on the other hand, the target branch is master which is targeted at our v3.0, and we can decide to not backport to 2-x-stable, right?

@bquorning Thanks for catching that. You're right, it is indeed. I'm going to close this PR since there is no need to necessarily update version it.

Yeah, maybe we should have merged this before v3.0.0.
Reopening the PR as maybe we want to do it as a bugfix in v3.0.1?

Let's do that. @pirj WDYT?

I added one commit, so that merging this PR will release v3.0.1.
I feel like I have been a little too eager to merge and release lately, so I’ll wait for @pirj to review before merging.

Let’s merge and release as 3.0.1, i see no big harm here.
The only problem would be people doing bundle update —conservative rubocop-rspec, which would resolve to 3.0.0 as 3.0.1 would depend on newer rubocop and won’t match.
I’d be most interested in why our CI “oldest rubocop” job didn’t catch this.

In the following sections, if AutoCorrect was set to a value other than boolean, the corresponding error message was output, so it was necessary to update to v1.61. So, let's change it and release it.
https://github.com/rubocop/rubocop/blob/edb56c927d4d1112a9c02990da31767e68d2121c/lib/rubocop/config_validator.rb#L251-L268


Export keyboard mapping/ shortcuts

Description of the new feature / enhancement
On Keyboard manager tab, add:

a button to export mapping and shortcuts to a file
a button to import that mappingthe

Scenario when this would be used?
When a user has many mappings and want to share or backup them.wants
Supporting information
No response

Use Backup/Restore on the General page in Settings. If you want to transfer all settings, just restore the whole .ptb file. If you want to transfer only Keyboard Manager settings from machine SRC to DEST, make a backup on both, rename .ptb extension to .zip, open the ZIP archive, transfer all files from the Keyboard Manager directory in the ZIP backup archive of SRC to DEST, replace them in the .zip DEST's backup, rename the archive back to .ptb and use the Restore function on DST.

Use Backup/Restore on the General page in Settings. If you want to transfer all settings, just restore the whole .ptb file. If you want to transfer only Keyboard Manager settings from machine SRC to DEST, make a backup on both, rename .ptb extension to .zip, open the ZIP archive, transfer all files from the Keyboard Manager directory in the ZIP backup archive of SRC to DEST, replace them in the .zip DEST's backup, rename the archive back to .ptb and use the Restore function on DST.

this is an extraordinarily complicated process to ask uses to complete when it would feel relatively straightforward to add Import and Export buttons to the Keyboard Manager UI to do that for them. I just spent 15 minutes search for how to do this and found more issues asking for easy backup for Keyboard Manager than instructions on how to do it, so perhaps it's popular enough to reopen this issue?
I know this one is closed as a duplicate, but I got confused about what the scope of the various issues are: this one is an issue specifically for keyboard mapping export/import/backup


Adds support for encoded query parameters in @QueryMap

Added support for encoded query parameters in QueryMap.

Updated as discussed on netflix/feign channel: we do not cover edge cases that are very unlikely in real-world applications.

looks good. update CHANGES and cleanup the PR description, if you don't mind (notably showing what you do now)

Sorry for numerous edits and amendments, got a little confused. I believe I'm done now.

Good work @edio


Invalid self-closing tag:

I've wrote code according to the example and build the .vue files with webpack, but get the error "invalid self-closing tag". And the building passed after using closing tag.

Pleace write like this, which is different from React
<vue-helmet title='XXX'></vue-helmet>


Add debug mode to locate problems that are not valid for the experiment

Issue Description
Type: feature request
Describe what happened (or what feature you want)

the executor supports debug parameter for recording the details of process
user can view logs/chaosblade/chaosblade.log to locate the experiment problem

Describe what you expected to happen
parse debug request parameter and change the log level to debug

We can find "change log level to debug" in user.home/logs/chaosblade/chaosblade.log when open the debug mode using --debug


Extension mechanism?

I'm curious how RLSL handles vulkan extensions. For example, I'm interested in doing some GPGPU stuff with RLSL, which means I'd probably want to use e.g. vulkan subgroups for efficient sorts and stuff. Is there a way to opt-in to these extensions in a shader?

At the moment there is no support for extensions, because there are other things that have a much higher priority right now.
But extensions like subgroups etc are trivial to support. Everything that just adds functionality on top is trivial, extensions that require different codegen will be a bit more tricky.
I just haven't designed it yet.


[TASK] Add Elastic credentials to global properties

Epic:  https://github.com/camunda/camunda-platform-helm/issues/473
Describe the use case:

When authentication is enabled on Elasticsearch we need to provide 4 env vars for Operate:
CAMUNDA_OPERATE_ELASTICSEARCH_USERNAME
CAMUNDA_OPERATE_ELASTICSEARCH_PASSWORD
CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_USERNAME
CAMUNDA_OPERATE_ZEEBEELASTICSEARCH_PASSWORD

The same for Tasklist and probably also Optimize.
Describe the enhancement/feature:

Ideally we define username/password pair only once in global properties and reuse in all components.
Desired outcome and acceptance tests:

Closing this since it will be fixed by https://github.com/camunda/camunda-platform-helm/pull/1356 in the next chart release v10.0.0.


Slight memory optimizations

Adding __slots__ allows python to know in advance what attributes your class will have. This means it can specifically allocate only those names. This means access is slightly faster, and you allocate less memory per instance of the objects

On the face of it this sounds reasonable, though lemme research slots myself just to confirm that this is a good idea.
I can probably get this and #32 merged/released tonight or maybe tomorrow.

Alright, I did some digging and I'm going to close this PR. Like I'm glad you made the suggestion, but because this breaks assignment of arbitrary attrs this would be a breaking change for only slight memory gains.
I'm going to at least wait until someone has a use case where they can show that this makes a difference.
I'll take #32 though.

Okay, fair enough. Thank you for reviewing. I appreciate you taking the time.
On February 7, 2017 9:17:13 PM EST, Joshua Holbrook<EMAIL_ADDRESS>wrote:

Alright, I did some digging and I'm going to close this PR. Like I'm
glad you made the suggestion, but because this breaks assignment of
arbitrary attrs this would be a breaking change for only slight memory
gains.
I'm going to at least wait until someone has a use case where they can
show that this makes a difference.
I'll take #32 though.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/jfhbrook/pyee/pull/33#issuecomment-278209118

Yeah no sweat! I like getting code submissions, especially on this project!


The current operating system is not capable of running this task

Describe the bug
I tried to setup the dependabot on a Azure DevOps Server 2020.
I installed the extension (<IP_ADDRESS>6).
I created the dependabot.yml-File and the pipeline.
But the task in the pipeline fails immediately with this error: "The current operating system is not capable of running this task. That typically means the task was written for Windows only. For example, written for Windows Desktop PowerShell."
Repository
It's a private (self hosted) repo.
Expected behavior
I expect the dependabot to complete successfully and create the pull requests to update the old packages.
Extension

Host: Azure DevOps Server 2020 Update 1.2
Version (Extension): <IP_ADDRESS>6

Additional context
I tried to give the Project Collection Service Accounts all possible permissions.
As an Agent pool i use: Ubuntu - 20.04.5 LTS (Focal Fossa).
On the agent docker is installed. Docker-Version: 20.10.21, build baeda1f
This agent is used for the "normal" builds and works without any problems.
The Output is:
Starting: Run Dependabot
==============================================================================
Task         : Dependabot
Description  : Automatically update dependencies and vulnerabilities in your code
Version      : 1.30.776
Author       : Tingle Software
Help         : For help please visit https://github.com/tinglesoftware/dependabot-azure-devops
==============================================================================
##[error]The current operating system is not capable of running this task. That typically means the task was written for Windows only. For example, written for Windows Desktop PowerShell.
##[debug]System.InvalidOperationException: The current operating system is not capable of running this task. That typically means the task was written for Windows only. For example, written for Windows Desktop PowerShell.
   at Microsoft.VisualStudio.Services.Agent.Worker.TaskRunner.RunAsync()
   at Microsoft.VisualStudio.Services.Agent.Worker.StepsRunner.RunStepAsync(IStep step, CancellationToken jobCancellationToken)
Finishing: Run Dependabot

pipeline-yaml:
name: 'Dependabot CI'
trigger: none
stages:
  - stage: CheckDependencies
    displayName: 'Check Dependencies'
    jobs:
      - job: Dependabot
        displayName: 'Run Dependabot'
        pool:
          name: 'LinuxDocker'
        steps:
        - task: dependabot@1
          displayName: 'Run Dependabot'
          inputs:
            failOnException: false

dependabot-yaml:
version: 2
updates:
- package-ecosystem: "npm"
    directories:
      - "/path/to/package.json/" (replaced fo this issue / bug)
    schedule:
      interval: "weekly"
    labels:
      - "dependabot"
      - "dependencies"

I don't know if it is possible to run a container in another container specifically for Azure DevOps. That's what I gather from the pool named LinuxDocker. Try the hosted agents (the free minutes per month should generally be enough for weekly runs) or an agent that is not a docker container.

The agent itself is not a container. The name (LinuxDocker) is choosen to indicate that docker is available.

I suggest that you check the setup for the private agent. The only requirements are run on an Agent/DeploymentGroup here, docker be present and discoverable here, and the agent be version be recent here.

All this requirements are fulfilled (Agent-Version is 2.181.2).
I also tried it with another agent (that also meets this requirements) but it throws the same Exception.
I guess that I will try a hosted agent.

The change in #1246 should ideally solve the issue. I released 1.30.2 you can test and report back.

The new version (<IP_ADDRESS>0) doesn't solve the problem. The same error occurs immediately after starting the dependabot-task.

Could you give an example of some of the "normal" builds that work without any problems? This will be useful to see tasks in them that work for comparison sake.

This is the requested pipeline for a "normal" build:
stages:
  - stage: BuildAndTests (Reducted - here the .NET Solution and the react-app gets build / published on another agent)
  - stage: Docker_Build
    displayName: Docker Build
    pool:
      name: 'LinuxDocker'
    variables:
      NumericVersion: $[ stageDependencies.BuildAndTests.BuildAndTests.outputs['CreateVersionVariable.numericVersion'] ]
    jobs:
      - job: DockerImage
        steps:
        - task: Docker@2
          displayName: 'Build Docker'
          inputs:
            containerRegistry: '<Reducted>'
            repository: '<Reducted>'
            command: 'build'
            Dockerfile: 'src/**/Dockerfile'
            tags: |
              $(Build.BuildNumber)
              latest
            arguments: '--build-arg BUILDNUMBER=$(NumericVersion)'
  - stage: Docker_Deploy
    displayName: Docker Deploy
    pool:
      name: 'LinuxDocker'
    jobs:
      - deployment: <Reducted>
        displayName: Deploy
        environment: '<Reducted>'
        strategy:
          runOnce:
            deploy:
              steps:
                - task: Docker@2
                  displayName: 'Push image'
                  inputs:
                    containerRegistry: '<Reducted>'
                    repository: '<Reducted>'
                    command: 'push'
                    tags: |
                      $(Build.BuildNumber)
                      latest

Perhaps relevant: This features are available on the agent (LinuxDocker)

Agent.Name				REDUCTED
Agent.Version			2.181.2
_						./externals/node/bin/node
Agent.ComputerName		REDUCTED
Agent.HomeDirectory		REDUCTED
Agent.OS				Linux
Agent.OSArchitecture	X64
curl					/usr/bin/curl
docker					/usr/bin/docker
dotnet					/usr/bin/dotnet
git						/usr/bin/git
HOME					REDUCTED
InteractiveSession		False
INVOCATION_ID			REDUCTED
JOURNAL_STREAM			9:45971
LANG					en_US.UTF-8
LOGNAME					REDUCTED
PATH					/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
PWD						REDUCTED
python					/usr/bin/python
python3					/usr/bin/python3
sh						/bin/sh
SHELL					/bin/bash


Uri implementation does not support utf8 encoded URI's

Hi guys,
Looks like Uri implementation does not support the utf8 because of PHP parse_url function (see https://secure.php.net/manual/en/function.parse-url.php#114817). I tested it on PHP 5.5 with any utf8 encoded Uri. It corrupts some characters for some reason. Obviously this is the issue with PHP parse_url function, but still would be nice to have that support.
Thanks

Closing this, looks like it is the issue with some weird default mac php configuration, it works on CentOS.


"The workflow is not valid. .github/workflows/build-pr.yml (Line: 34, Col: 9): Unexpected value 'concurrency'"

I apologize–seems I naïvely mistakenly approved this because CI is fully red on main right now with the following output.

This is fixed now. My bad. I thought the concurrency key was at the step level.
I've made the build check in PRs required so something like this won't happen again, and also we won't be able to merge PRs with the build failing.
If you don't see the required build running atm it's because there's an incident with GitHub Actions. So delays or totally missing builds are expected.

https://www.githubstatus.com/


Add GA checker to Online Tools

Hey Armin. Is it possible to use the app without providing an email?

Hey Armin. Is it possible to use the app without providing an email?

Hey, not quite. As the check happens async and due to spammers/bots I have to ask for an email confirmation. However, the email list isn't used anywhere if people aren't opting in with a checkbox. Also, people can use temporary emails; I don't validate it here.


Google plus sign in contact us page

🐛 Bug Report
the google+ sign is not visible to user in contact us page. Also the font size of logo(musicophilia) is different from the the home page.
please assign me to correct it.

Add relevant screenshot or video (if any)
(Add here)

/assign


Example: Integration With MySQL

Any working examples of updating MySQL column on drag drop?

Can you explain a little more what you want to do?

yes, I think I need to update  value in MySQL status on dragendEl ... Was wondering if any examples?

yes, I think I need to update value in MySQL status on dragendEl ... Was wondering if any examples?

You can look my example project Jotrac, maybe it can help to you.
Script code is here: https://github.com/Rampesna/jotrac/blob/main/resources/views/board/components/script.blade.php


Method with required parameter can be overriden by the method with non-required parameter.

Dart VM version: 2.7.0-dev.2.1 (Mon Dec 2 20:10:59 2019 +0100) on "windows_x64"
In the following source code method with required parameter is overriden by the method with the parameter which is not required:
class B { void test({required int? i}) {} }
class A extends B { void test({int? i}) {} }

main() {
  A a = A();
  a.test();
}

Sample output is:

$> dartanalyzer --enable-experiment=non-nullable test.dart
Analyzing test.dart...
No issues found!
$> dart --enable-experiment=non-nullable test.dart
$>

I was unable to find exact Specification assertion which claims that it should not be so, however it looks like such a behavior is incorrect.
For example, the following source code is similar with the one above and produces a compile error with analyzer. It passes without errors with dart, and it seems like analyzer behaves correctly:
class B { void test({required int? i}) {} }
class A extends B { void test({int? i}) {} }

main() {
  A a = A();
  a.test();

  B b = a;
  b.test();
}

Sample output is:

$> dartanalyzer --enable-experiment=non-nullable test.dart
Analyzing test.dart...
error - The named parameter 'i' is required but was not provided. - test.dart:9:5 - missing_required_argument
1 error found.
$> dart --enable-experiment=non-nullable test.dart
$>

This is working as intended: It is OK to override a method taking a required named parameter p by a method where p is not required. (This is equally benign as overriding foo(int i) in C by foo([int i]) in D implements C: Invocations of foo on a receiver of type D are safe also when the static receiver type is C.)
For the invocations, a.test() is correct (because it is statically known that the argument can be omitted), but b.test() is an error (because the static type says that the argument is required).


need ParseObject.Revert Method

_clearPendingOps method should is public method, maybe it name is Parse.Object.revet()
When obj.set('plan', 70) ...
and then user can undo that change, we only need call revet() method

Appreciate the suggestion. We'll consider adding this functionality to the API.

@andrewimm  Thanks, ^^
so far so I have been a direct call to _clearPendingOps Function.

@yutin1987 we have this functionality in iOS and Android, so we'll implement it here under the public instance method .revert().

This will be added to the 1.7.0 release. Changes in 7c16dee0f90a6d85bb409851de86107a04007c06

:+1: :wave:


Artemis hidden associations bug

Describe the bug

The associations between components or between a component and an inteface do not appear as intentded.
To Reproduce

Go to 'artemis'
Drag a component
Drag another component and put it inside the old one
Do the same with two more components (drag one and put the other one inside it)
Make an association between the two inner components
Submit and check the submission again
The association only appears to be between the two outer components

Expected behavior

There should be an association between the two inner components
Screenshots

Environment

 - OS: Windows 10
 - Browser:  Chrome
 - Version 83.0.4103.61

Was fixed in this hotfix https://github.com/ls1intum/Artemis/pull/1557


Add create_database_if_not_exist

Add create_database_if_not_exist method so one can call one function instead of having custom if else code.

@prabirshrestha thank you for the feature request.  Every function requires duplication for the async and blocking APIs as well as associated testing and documentation.  For the time being, I'm inclined to leave the API as is.


SQL error 42601 when explain plan a sql on GreenPlum DB

Every SQL meet this problem. such as SELECT * FROM pg_stat_user_tables;
error msg is:
SQL 42601: ERROR syntax error at or near "FORMAT" position 10

DBeaver doesn't even have preconfigured GreenPlum DB driver. And it doesn't support explain plan for (that's for sure).
What makes you think it can do it?

@stevenluan07
just run explain select * from pg_stat_user_tables; from the standard editor.
that works although I've reproduced your issue of using control-shift-e on the query.
If you're like me its because you are using the postgres connector for the greenplum db. When using control-shift-e it runs EXPLAIN (FORMAT XML, ANALYSE) select * from pg_stat_user_tables which errors out on greenplum but runs fine on postgres.
@serge-rider Greenplum is based off of Postgres so maybe you want to just clone the postgres one and tweak this feature to get a greenplum connector. But I leave that up to you.

I suspected something like that.
In that case yes, GreenPlum DB has to have it's own extension based on PG.
One may create a feature request but honestly I've never touched this thing.

You r all right about it. The command <explain select * from pg_stat_user_tables;> worked fine.
Thanks a lot.


Intelligent Agent - Get/Post API support

LLM app/Intelligent Agent should support more actions, like retrieve online data, such Get/Post API, subscribe event stream for data embedding? to support more scenarios.

Scenarios:

Get online data from a specific URL(website) or API call, and use as the prompt context or knowledgebase
realtime data to knowledge

langchaingo provide a apichain which use this prompt:
You are given the API Documentation:

{{.api_docs}}

Your task is to construct a full API JSON object based on the provided input. The input could be a question that requires an API call for its answer, or a direct or indirect instruction to consume an API. The input will be unpredictable and could come from a user or an agent.

Your goal is to create an API call that accurately reflects the intent of the input. Be sure to exclude any unnecessary data in the API call to ensure efficiency.

Input: {{.input}}

Respond with a JSON object.

{
    "method":  [the HTTP method for the API call, such as GET or POST],
    "headers": [object representing the HTTP headers required for the API call, always add a "Content-Type" header],
    "url": 	   [full for the API call],
    "body":    [object containing the data sent with the request, if needed]
}

we can make it as completed as we have apichain support for now.


Duang! HMI has been integrated with Dreamview. Please have a try and help us improve :)

I can Access localhost:8887, It shows Duang! HMI has been integrated with Dreamview. Please have a try and help us improve :) , but i can't accesss localhost:8888

When you start HMI with scripts/hmi.sh, it should also notify that
"Please use scripts/bootstrap.sh to start the system."
So if you'd like to try the new workflow, please run
`
Stop HMI.
./scripts/hmi.sh stop
Start Dreamview and other facilities.
./scripts/bootstrap.sh start
`

That 's what I meet today, updated src and rebuild success ,but fail when run bootstrap:
fire@in_dev_docker:/apollo$ scripts/bootstrap.sh start
Start roscore...
/apollo/scripts/apollo_base.sh: line 224:   462 Illegal instruction     (core dumped) nohup /apollo/bazel-bin/modules/monitor/monitor --flagfile=modules/monitor/conf/monitor.conf --log_dir=/apollo/data/log monitor monitor < /dev/null > /apollo/data/log/monitor.out 2>&1
Could not launch module monitor. Is it already built?
/apollo/scripts/apollo_base.sh: line 224:   470 Illegal instruction     (core dumped) nohup /apollo/bazel-bin/modules/dreamview/dreamview --flagfile=modules/dreamview/conf/dreamview.conf --log_dir=/apollo/data/log dreamview dreamview < /dev/null > /apollo/data/log/dreamview.out 2>&1
Could not launch module dreamview. Is it already built?
Dreamview is running at http://localhost:8888

Could you check if these binaries exist?
/apollo/bazel-bin/modules/monitor/monitor
/apollo/bazel-bin/modules/dreamview/dreamview
They should be available if the build is a success.

The old version of HMI has been retired.
Please run bootstrap.sh directly. Feel free to create another issue if you meet problem.

Hey @fartisan  @xiaoxq
I've met the same problem, after i successfully build ok
bash apollo.sh build
And the both binaries are existed (monitor, dreamview)
Any hints to solve this problem?

Not sure if it's a recent bug which I'm fixing in https://github.com/ApolloAuto/apollo/pull/1765
Please have a try with the newest code when it's merged.

Is it fixed ? I am facing similar issue in Apollo 2.5

Which issue? Are the binaries available?

@xiaoxq ignore above , "Not sure if it's a recent bug which I fixed in #1765" hepled. Thanks


User node does not have sufficient permissions for npm i command to succeed

I'm using this image - mcr.microsoft.com/devcontainers/typescript-node:18 as my dev container with some features.
As per the info here node user has sudo access, but I'm not talking about sudo. I'm talking about regular CLI interactions, like this:

As per the screenshot, npm is not able to install anything because of some permission error.
I have tried different node versions, complete rebuild of dev container and in fact different computers too, for this error to go away but no luck. I have to include sudo keyword wherever it fails.
I tried dev container in Windows, I tried dev container in WSL, none of them work.
My current config is using dev container inside WSL. Which is thanks to WSL integration offered by Docker Desktop.
File permissions:

Additional info:
VS Code:
Version: 1.83.1 (user setup)
Commit: f1b07bd25dfad64b0167beb15359ae573aecd2cc
Date: 2023-10-10T23:48:05.904Z
Electron: 25.8.4
ElectronBuildId: 24154031
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621

Docker in Windows
Docker version 24.0.6, build ed223bc

Hi 👋
I wonder if there is some other dev container configuration interfering with your setup. I tried creating a container on the image, npm i works fine. See 👇

@MRDGH2821 will it be possible to share a sample repo where this can be reproduced? I can help investigate.

Hi 👋
I wonder if there is some other dev container configuration interfering with your setup. I tried creating a container on the image, npm i works fine. See 👇

@MRDGH2821 will it be possible to share a sample repo where this can be reproduced? I can help investigate.

Use the main branch - https://github.com/MRDGH2821/Perpetual-Mechanical-Array-Bot

@MRDGH2821 Can you use postCreateCommand instead of onCreateCommand? Looks like that's the root cause as onCreateCommand runs before the container is created. See https://containers.dev/implementors/json_schema/
I was able to run npm i with your config by commenting out the following👇

Thanks for the explanation & solution!
I don't recall why I put sudo, must be because without sudo it didn't work few months back


add new tutorial: RetroSynthesis Analysis

Add new tutorial for Retrosynthesis Analysis in Synthetic Biology topic.
A video of Retrosynthesis training was also submitted yesterday to GTN video library: https://filesender.renater.fr/?s=download&token=dfb3e2b9-54d6-4b7c-ae95-976432cceda4
Thank you !

Hi @kenza12,
it seems that one of the tools is not available in any of the Galaxy public instance; would be possible to open this PR in order to include it in IUC? I can try to help you with that.

Hi @kenza12, it seems that one of the tools is not available in any of the Galaxy public instances; would be possible to open this PR in order to include it in IUC? galaxyproject/tools-iuc#4456 I can try to help you with that.

Hi @gallardoalba ,
Thanks for the review. Selenzy tool is already available here :  https://toolshed.g2.bx.psu.edu/view/tduigou/selenzy/34a9d136a5bf and it's a part of another tutorial (https://training.galaxyproject.org/training-material/topics/synthetic-biology/tutorials/basic_assembly_analysis/tutorial.html). Anyway, as I said in this PR (https://github.com/galaxyproject/tools-iuc/pull/4456), the developer will do the necessary changes in the code source. Then, I will modify the wrapper hoping that the tests will pass in IUC next time.
Thank you for your help.

Yes sorry, I realized later that it is part of a different tutorial.

Thanks for the tutorial @kenza12!  And thanks for reviewing @gallardoalba! This looks great to me from a technical point of view. I am uploading the video to the video library now, then I think we can merge after the last minor review items are addressed :) :tada:

Hi @kenza12! Here is the link to your captions document: https://docs.google.com/document/d/1Zt4gb77Id3IDNNGpmYLFjZ0ruMpPXaSpZSAAWm4Q5KQ/edit?usp=sharing
Let me know when you are done editing it, then I will upload them to YouTube
Thanks!

Thanks a lot @shiltemann and all Galaxy team !

Just one last thing, I didn't have the chance to finish correcting the captions.
It's about this sentence:
We can also visualise the set of pathways **at a glance** by using the SynBioCAD visualisation tool. By clicking on the icon, the set of pathways appears and one can interact with it.
Before it was:
We can also visualise the set of pathways **at the clients** by using the SynBioCAD visualisation tool.
Sorry, but I thought you will wait until I highlight in green. I had to check with my colleague the right word used.


Does this work with forms?

I know this is more of a question and not an issue, but I couldn't find another place to ask.
I want to have two boxes, A and B where the user drags the elements from B into A in the order they want them. I want them to then be able to click a button and have it post like a normal form (CSRF token and everything). Would I just make the individual elements an input and put the container inside the form class?

If I understand your question correctly, you should be able to do what you described just by having the elements on the second container inside a form tag, even with hidden inputs.
I guess this could get a bit more complicated depending on your needs but here is a very basic demo:
Codepen Dragula form

Oh yeah, forgot about this. I eventually did get it working by using hidden inputs and making the block contain text that matched the hidden input.


Remove cubes without border for 1.21

Is your request related to a problem? Please describe if so.
The mod doesn't work, changing to borderless windowed will cause the game to crash
Describe the mod you'd like to add, remove, or change
Remove cubes without border for 1.21
List alternative mods or solutions you've considered
None
Additional context
None

cubes without border has been updated to 1.21, i assume it'll be updated in additive later, closing issue


Added Linux option for Desktop notification

I added an option to send Desktop notifications on Linux machines
I'm currently running an Ubuntu 19.10 machine which I tested on and it works.
it uses the notify-send Linux command. added some explanation in the readme for people on how to make sure the notification appears.

I merged it, thanks @eyalmazuz! Sorry it took so long.


Dinamically add new namespace?

Hello there,
is there a way to add a namespace after .init?
It might be helpful when, for example, the user is in the admin panel and i'd like to load the "admin" namespace on top of the others.

there is i18next.loadNamespaces(arrayOfNamespaceStrings, callback)

ups i didn't see it in the documentation... thank you.


Use attribute 'key' instead 'name' for endpoint properties

Thanks for the PR it has been merged. Do you mind closing this?

Sure. =)


XEP-0198 implementation

First pass at XEP-0198 support.  Requires matching asmack patch.

Hello Dear,
How i can get new element inside item in xmpp android?


ams command-module: Bug fix in parser logics for --play-ready-template option input.

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[X] I adhere to the Command Guidelines.

This fails a test on Python 2.7.
test_content_key_policy_create_with_playready_success

@tjprescott
Travis CI testing is against not only to 'ams' module.
The error seems to be about 'vmss' and others.
This fix does not seem to be harmful. Please check doubly on your side.

The test that is failing is test_content_key_policy_create_with_playready_success which is a test for the AMS module. You will need to fix that. I have re-started the performance test.

Oops! Sorry, I missed the error line in such a long log! Let me check how I can fix the error.

I have fixed the test error: test_content_key_policy_create_with_playready_success
Appreciate your review!


add main qgb command

Overview
closes https://github.com/celestiaorg/orchestrator-relayer/issues/36

Checklist

[ ] New and updated code has appropriate documentation
[ ] New and updated code has new and/or updated testing
[ ] Required CI checks are passing
[ ] Visual proof for any user facing features like CLI or documentation updates
[ ] Linked issues closed with keywords

can we merge this one and other like it? @SweeXordious @rahulghangas

Sure, on it, thanks

Sure, on it, thanks


PoC Refactor: Move relevance search functions from :core to :opensearch

Description
Phase 2 of UDF (User Defined Function) implementation
(See phase 1 in #2019)
Depends on #2001 (a rough fix for that is included in this PR, but it should be merged in scope of another PR in advance.
Fix proposed in #2002 could be done prior to these changes to simplify the refactor.
These changes include:

All opensearch specific code was moved from :core to :opensearch
OpenSearch specific analyzers were moved too
StorageEngine provides API to get DS-specific analyzers, which is used by analyzer in :core (common to all DS)

TODOs:

Complete TODOs left in code
Make Analyzers and CanPaginateVisitor abstract, every DS should provide their own implementation

Next Steps (phases):

In the current state, code checks for DS analyzers if common analyzer meets something unknown (DS-specific). It means that analyzers from different DS may be invoked during processing a single query.
SQL engine should try to execute a query on all StorageEngines (Data Sources), using only one StorageEngine from the very beginning to the very end (QueryPlanFactory - ExecutionEngine::execute) and pick one which succeeds to build a Physical Plan tree.
TBD: what if multiple StorageEngines can build a tree?
Note: reuse common parts for better performance.
important: this could be moved to the next phase if current one would be implemented with not more that one DS.
Let DS have their own parsers, free SQL and PPL parsers from DS-specific stuff.
Move Prometheus to another DS
Extend config to allow configuring DS list (and their parameters) before starting the cluster
Extend DS management API to plug-in/out DS with their UDF in runtime
Improve identifier resolution strategy per DS

Issues Resolved
P2 of #811
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Is this still in progress?

Closing as stale -- feel free to reopen if work is resumed


change $SHELL with $<SHELL>_VERSION

fixes #3915, now completions are loaded based on current shell not default one.
(tested on macos and linux via a docker container)

thanks


Archive unused code

Moves unused progress bar and price list modal to archive area
https://issues.redhat.com/browse/COST-631

Codecov Report

Merging #1702 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1702   +/-   ##
=======================================
  Coverage   71.72%   71.72%
=======================================
  Files         245      245
  Lines        4003     4003
  Branches      774      774
=======================================
  Hits         2871     2871
  Misses       1053     1053
  Partials       79       79

Continue to review full report at Codecov.

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

LGTM  2:+1:


Remove old code collapse setting and mark as deprecated

For https://github.com/microsoft/vscode/issues/139610

Codecov Report

Merging #8704 (2deeb59) into main (e1ba5b5) will increase coverage by 0%.
The diff coverage is n/a.

@@          Coverage Diff          @@
##            main   #8704   +/-   ##
=====================================
  Coverage     71%     71%
=====================================
  Files        385     385
  Lines      24702   24701    -1
  Branches    3799    3799
=====================================
+ Hits       17678   17684    +6
+ Misses      5484    5476    -8
- Partials    1540    1541    +1

Impacted Files
Coverage Δ

src/client/common/configSettings.ts
86% <ø> (-1%)
:arrow_down:

src/client/common/types.ts
100% <ø> (ø)

...atascience/interactive-window/interactiveWindow.ts
67% <ø> (ø)

src/client/datascience/raw-kernel/rawSocket.ts
82% <0%> (-2%)
:arrow_down:

...t/datascience/notebook/vscodeNotebookController.ts
80% <0%> (+<1%)
:arrow_up:

src/client/datascience/dataScienceSurveyBanner.ts
75% <0%> (+6%)
:arrow_up:


Add customization controls to Spinners page

Design
Use vuestic-slider and vuestic-color picker

@smartapant I'm going to close the issue this week and then extend Color Pickers components related to the #118.


[DataLoader2] Deep copy DataPipe during initialization

Stack from ghstack:

-> #786

Deep copy DataPipe during initialization to avoid sharing states if the same DataPipe is being passed to multiple usages.
This can be merged before or after #746 (the other PR will have to rebase).
Differential Revision: D39741743

@nivekt has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

@nivekt has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

@nivekt has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

@nivekt has imported this pull request.  If you are a Meta employee, you can view this diff on Phabricator.

@NivekT Do you think we need to add BC breaking note to this PR?

@NivekT Do you think we need to add BC breaking note to this PR?

Actually yes, I think we should, even though I don't think users would intentionally rely on the state of DataPipes being shared among DataLoaders.

@NivekT Do you think we need to add BC breaking note to this PR?

Actually yes, I think we should, even though I don't think users would intentionally rely on the state of DataPipes being shared among DataLoaders.

Can you add a brief example in the bc breaking note that the same DataPipe used by multiple DLv2?

Will do by the afternoon.

Will do by the afternoon.

Thank you so much!

@ejguan Updated this PR's description.


[ska] prototypes for initialization

This fixes a bug in +mous (sock intersection) which was causing infinite loops, and adds lib/sky.hoon which contains prototypes:

+dope which demonstrates simply masking out axes
+wove which translates hoon types into subject knowledge
+arid which uses a fixed point of evaluation and knowledge intersection to find the part of a core which is constant across state transitions.

This will need to be reviewed synchronously, happy to do that this week.


RedisStore throws error when client object is passed

const client = createClient();
const requestLimiter = rateLimit({
  store: new RedisStore({
    client
  }),
  windowMs: 1 * 60 * 1000 * 60, // 1h
  max: 100, // Limit IP to 100 requests per hour
  message: "Request limit exceeded! try again in a short while",
});

Throws the following error:
TypeError: options.client.multi(...).incr(...).pttl is not a function
Any solution please?
I need to use the redis container in my docker network

Are you using the redis v4.x module? I'm only seeing this error since updating from 3.x to 4.x

My redis is v4.0.1, can i please see the code solution on how you solved it?

Try something like this:
const client = createClient({ legacyMode: true });
const requestLimiter = rateLimit({
  store: new RedisStore({
    client: client,
  }),
  windowMs: 1 * 60 * 1000 * 60, // 1h
  max: 10, // Limit IP to 100 requests per hour
  message: "Request limit exceeded! try again in a short while",
});

Don't forget to call connect() on your client too (see https://github.com/redis/node-redis/blob/HEAD/docs/v3-to-v4.md).

Adding legacyMode: true and calling .connect() solved the issue.
Final code:
export const redisClient = () => {
  const client = createClient({
    port:  configs.REDIS_PORT,
    host: configs.REDIS_HOST,
    legacyMode: true
  });
  client.connect();
  client.on("error", (err) => logger.error(`${err.name}: ${err.message}`));

  return client;
};

const client = createClient();
const requestLimiter = rateLimit({
  store: new RedisStore({
    client
  }),
  windowMs: 1 * 60 * 1000 * 60, // 1h
  max: 10, // Limit IP to 100 requests per hour
  message: "Request limit exceeded! try again in a short while",
});

I hope it helps someone.
Thanks!

@jesseinvent I think this should be left open as an issue. This project needs updating to account for the version of client that might be passed in - right now it will attempt to create its own client against v4 of redis, but then use it as if it were a v3 client.

@stephent reopened.

And also because it's linked from the official Express documentation so in a perfect world it'd work out-of-the-box

Hi,
I recently helped out with the Typescript rewrite (PR #43), which also changes how the store interacts with Redis - v3.0.0 will accept the sendCommand option instead of the client option.
sendCommand is a (sync/async) function that takes the raw command as an array of strings and returns the number or string response from redis. This makes the store compatible with all clients that have a public method to send raw commands to redis.
Please do take a look at the readme for examples of using the store with Redis and IORedis clients. The value to be passed for sendCommand option is also given here for most Redis clients.

Hi @epubreader,
It looks like you are using an older version of the express-rate-limit (version 5 or below). However, version 3 or greater of three rate-limit-redis works only with version 6 or above of express-rate-limit.
You could upgrade to version 6 of express-rate-limit:
> npm install express-rate-limit@latest

Hope this helps!


Non-admin user tries to delete non-existing result 401

Describe the bug
Non-admin users try to delete the non-existing users. Then the API request returns a 401 HTTP status code.
curl -u user:password DELETE 'https://localhost:9200/graph/v1.0/users/random-uuid' \

Expected behavior
The HTTP status code should be 404. Forbidden rather than 401 Unauthorized
Actual behavior
Return 401 Unauthorized

CC @ScharfViktor @micbar
Do we expect non-admin user to get 404 Not Found on trying to DELETE non-existent user?

it is not bug IMHO or low priority
backend seems to have two checks:

does the user with uuid exist (404)
does user rigth to delete (401)

if a user with uuid exists -> we get a 401. In any case, a non-admin cannot remove the user

I think for security reasons it would be better to return 401 if the user that tries to delete does not have enough permissions, because that would prevent people from guessing user-names.
With the current situation a non-privileged user can find out what users exist in the system, simple by sending delete requests and check for 404 vs 401


[ISSUE #11351] separate Rate Limiter Implementation to LeakyBucket and FixedWindow

Master Issue: #11351
Motivation
In order to fix multiple issues with preciseRateLimiting this PR separates RateLimiter into 2 implementations

FixedWindowRateLimiter
LeakeyBucketRateLimiter

Modifications

Created an abstract class of the current RateLimiter functionalities and added 2 extends classes that override the renew and tryAcquire methods

Fixed precis Typo

removed IsDispatchRateLimiter in RateLimiter and used the new LeakyBucket algorithm

Verifying this change
LeakyBucketRateLimiterTest
FixedWindowRateLimiterTest
I want to add more tests, but before I would love to get some feedback instead of implementing a lot of tests without reason
Does this pull request potentially affect one of the following parts:

Dependencies  no
The public API: no
The schema:  no
The default values of configurations: no
The wire protocol: no
The rest endpoints: no
The admin cli options: no
Anything that affects deployment: no

Documentation
For contributor
For this PR, do we need to update docs? Probably not, it is just fixing the current implementation
BTW, That's my first PR into pulsar and I am not a strong JAVA programmer - would love to get some feedback and learn from this PR :)

I see that some UT failed - I will fix that soon

@danielsinai thanks for providing doc-related info!

Is it possible to merge this and ron's PR to 2.8 .1 release? @sijie
I think this is pretty big bug fixes

@danielsinai I think there's a good intent in this PR, but currently it doesn't provide much value.
The high level problem of the changes is that it adds more dependencies to low level details of the rate limiter implementation at the concept / type level. Usually the goal of software development is to reduce dependencies in general.
In this case, it would mean that we should go towards extracting some interface (or abstract base class) that defines the minimal interface for a rate limiter.
This PR currently takes it to the opposite direction. Each usage now depends directly on either LeakyBucketRateLimiter or FixedWindowRateLimiter. This is the high level problem of the proposed changes in this PR.
Usually it helps to iterate and describe the problems of the current implementation once again. I think #11351 is a good start. It could be improved by providing more examples and possible solutions.
Repro cases for problems with existing implementation is also useful for creating a better understanding. If there isn't a way to reproduce the issue, it's very hard for others to understand what the exact problem is.
In Pulsar, the main way to propose larger design changes is to create a PIP document and bring it up to discussion on the mailing list and in community meetings. That is necessary when larger changes are planned. The current PIPs are listed in the wiki: https://github.com/apache/pulsar/wiki . Anyone can propose a new one by starting a discussion on the mailing list.

@lhotari Ok I understand that this is a big change.
I will close this PR and open a new one that includes a patch for the current solution like have been done in the dispatchRateLimiter (#8599) and it will contain smaller changes.


html/template: untyped nil now prints "<nil>"

The following test passes on Go 1.10:
import (
	"bytes"
	"html/template"
	"strings"
	"testing"
)

func TestTemplateNil(t *testing.T) {
	data := map[string]interface{}{}
	tpl := `Nil: {{ .noMatch }}`

	var buf bytes.Buffer
	tmpl, err := template.New("").Parse(tpl)
	if err != nil {
		t.Fatal(err)
	}

	if err := tmpl.Execute(&buf, data); err != nil {
		t.Fatal(err)
	}

	result := strings.TrimSpace(buf.String())

	if result != "Nil:" {
		t.Fatal(result)
	}

}

It fails with the current master (Go .11):
--- FAIL: TestTemplateNil (0.00s)
    template_nil_test.go:27: Nil: <nil>

@mvdan @ianlancetaylor

Thank you for reporting this issue. I did some changes in this cycle to text/template and html/template when it comes to nil values, so I think one of them would be the cause. I'll look into it this week.

Slightly smaller repro, where 1.10 outputs nothing and tip outputs nil: https://play.golang.org/p/dKk3rK2LV6C
$ go run f.go
<nil>
$ go1 run f.go

@bep please see CL https://go-review.googlesource.com/c/go/+/109215. In particular:

Before this change and on 1.10, printing a typed nil and an untyped nil resulted in:
null ""

After this change, one will get:
null null

I agree that this is a breaking change to a certain degree, but I'm not sure if going back to ignoring the value (and hence printing nothing) is a great outcome either. Why should untyped nil be different from typed nil? Why should it output nothing?
For example, untyped nils have always printed <no value> in text/template. I'm not sure that it's expected that untyped nil should output nothing in html/template. Then again, I'm not very familiar with the HTML variant, so perhaps I am missing something.

I agree that this is a breaking change to a certain degree

Breaking changes are binary. It is either a breaking change or it is not. This case came from a failing test in Hugo, discovered while working on getting Hugo to compile with Go 1.11 (seems that the template API also has changed).
And while the breaking test is of the synthetic type, we have lots of untyped nils, and I'm very close to 100% certain that this particular issue will break real sites/applications in the wild.

seems that the template API also has changed

If you mean text/template/parse, that's because it's not a package people should be using directly. If internal packages were a thing when it was added, it would be an internal package.
As for breakage - I generally agree, but in practice it's more subtle. Each new Go release changes the behavior of lots of pieces of the standard library, and it's always possible that some program would break because of those changes.
Given that the documentation of text/template and html/template don't seem to indicate either way, and that tip is more consistent than 1.10, I'm wondering if this kind of change is acceptable. For example, try this typed nil version on 1.10: https://play.golang.org/p/OyF7NAeiktT
Having said that, I'll try to come up with a CL to revert this change in behavior, without reintroducing the crash that I was originally fixing in the package. Even if we decide to keep this long-running inconsistency in place for the sake of Go1, we can always leave a TODO to clean it up for Go2.

I think I was mistaken, too - my fix above in html/template was for the JS value escaper. It plays no part here. I believe the issue is that html/template inserts the HTML escaper to run in all pipelines, so it ends up running on our untyped nil value.
In 1.10, untyped nil arguments are ignored, so the pipeline doesn't pass anything along and nothing is escaped. In tip, the pipeline passes on the untyped nil value correctly, so the nil value is escaped.
I'm not sure where a fix here could be. I'd imagine that changing the behavior of HTMLEscaper wouldn't be a good solution. Reverting https://go-review.googlesource.com/c/go/+/95215 would be a pity, as that fixed a previous issue.

@mvdan I'm not persuaded that your CL is the right approach.  In the name of keeping backward compatibility with the test case in this issue, it breaks backward compatibility for other test cases.  For example, as far as I can tell, it changes the output of this variant of the test case:
package main

import (
	"bytes"
	"fmt"
	"html/template"
	"log"
	"strings"
	ttemplate "text/template"
)

func main() {
	data := map[string]interface{}{"match": (*byte)(nil)}
	const tpl = `Nil: {{ .noMatch }} {{ .match }} {{ html .noMatch }} {{ html .match }}`
	tmpl, err := template.New("").Parse(tpl)
	if err != nil {
		log.Fatal(err)
	}
	var sb bytes.Buffer
	if err := tmpl.Execute(&sb, data); err != nil {
		log.Fatal(err)
	}
	fmt.Println(strings.TrimSpace(sb.String()))

	ttmpl, err := ttemplate.New("").Parse(tpl)
	if err != nil {
		log.Fatal(err)
	}
	sb.Reset()
	if err := ttmpl.Execute(&sb, data); err != nil {
		log.Fatal(err)
	}
	fmt.Println(strings.TrimSpace(sb.String()))
}

For Go 1.10 this prints
Nil:  <nil> <nil> <nil>
Nil: <no value> <nil> <no value> <nil>

With current tip this prints
Nil: <nil> <nil> <nil> <nil>
Nil: <no value> <nil> <no value> <nil>

With your CL 118835 this prints
Nil:  <nil> <nil> <nil>
Nil: <no value> <nil>  <nil>

So relative to 1.10 the CL fixes html/template to be compatible but text/template is no longer compatible.
I'm not sure what to do at the moment but I don't think it makes sense to add special cases that wind up still breaking backward compatibility.

@mvdan I sent https://golang.org/cl/121815.  Let me know what you think.

@ianlancetaylor thanks for the thorough review. You are right - your fix seems to do a much better job at keeping previous behavior, while also being a considerably simpler fix. I'll abandon my CL and review yours.


Updates how the Postgres Parameter Dashboard adds data to its table and discard values.

Currently to discard values put in the table by the user, the table gets refreshed and all components are recreated to show its original values. The data of the table is also reset. This change records which parameters have been altered in the UI and only changes the value of the components without  having to reset the data of the table.
To do this change I had to no longer save the components within a flex container. The only component that needed to be within a container was textbox that took in numbers in order to be placed with an information bubble. This results in no change in the view of the table on the Parameters Dashboard.
This PR hopefully can address  # 14366

Pull Request Test Coverage Report for Build 680690572

0 of 54 (0.0%)  changed or added relevant lines in 3 files are covered.
3 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 43.246%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

extensions/arc/src/ui/dashboards/postgres/postgresCoordinatorNodeParametersPage.ts
0
7
0.0%

extensions/arc/src/ui/dashboards/postgres/postgresWorkerNodeParametersPage.ts
0
7
0.0%

extensions/arc/src/ui/dashboards/postgres/postgresParameters.ts
0
40
0.0%

Files with Coverage Reduction
New Missed Lines
%

extensions/arc/src/ui/dashboards/postgres/postgresParameters.ts
3
2.84%

Totals

Change from base Build 680592937:
-0.03%

Covered Lines:
25464

Relevant Lines:
53714

💛  - Coveralls