MicroDrop hangs waiting for 'on_step_complete' signal from 'droplet-planning-plugin'

From the docstring for on_step_run:
        """
        Handler called whenever a step is executed. Note that this signal
        is only emitted in realtime mode or if a protocol is running.

        Plugins that handle this signal must emit the on_step_complete
        signal once they have completed the step. The protocol controller
        will wait until all plugins have completed the current step before
        proceeding.

        return_value can be one of:
            None
            'Repeat' - repeat the step
            or 'Fail' - unrecoverable error (stop the protocol)
        """

The problem seems to be caused by receiving an on_step_swapped signal while handling a a previous on_step_run. The self.kill_running_step() call prevents an on_step_complete signal from ever being sent.
    def on_step_swapped(self, old_step_number, step_number):
        """
        Handler called when the current step is swapped.
        """
        logger.info('[on_step_swapped] old step=%s, step=%s', old_step_number,
                    step_number)
        self.kill_running_step()
        if self.plugin is not None:
            self.plugin.execute_async(self.name, 'get_routes')

Proposed fix
Getting rid of the self.kill_running_step() call fixes the problem and doesn't seem to have any obvious negative impact. In general, we should think about redesigning the signaling so that these types of timing-related bugs can be avoided.

What happens if the step is swapped while a route is being executed and a protocol is running?  I think the intention of the kill_running_step was to stop any currently executing routes when, e.g., a user clicks on a  different line in the protocol.
Are these routes still prevented from finishing if the self.kill_running_step() is removed?
If not, perhaps the self.kill_running_step() method could simply emit the on_step_complete?

The problem is that processing the on_step_swapped before the on_step_run handler has finished is that you will kill the step midway, then restart it... You're right though, the user could technically click on a new step while an old one is running, in which case the previous step would keep going until finished.
I think to handle this properly, the plugin will need to retain some additional state. It needs to know that it (1) it is processing an 'on_step_run signal and, (2) wait to process the on_step_swapped signal until (1) is complete. In addition it should not run the same step twice. I will try to implement something along these lines...

I think the best way to handle this (or at least a good start) is to prevent users from changing steps while a protocol is running. See this issue.


Added OOP class

I've added a OOP version of the main script. It works this way:

Create a new EmailVerifier instance assignating as params the email
to test and the email that will be used as source. Ex:

$verifier = new<EMAIL_ADDRESS>'source@domain.com');

Use validate() for get the result of the testing. It'll be returned
as an array with the status and the details of the testing.

I hope this small class could be part of the branch as an OOP development alternative.
Greetings !!!

The code has been re-written in OO style with more flexibility and scalability. See the latest code. Thanks


Fixes Unexpected keyword const

fixed #1 - Unexpected keyword const in Safari

Hi, I'm sorry for this super late response and thank you so much for catching this issue!
Unfortunately I don't have Apple to run Safari so I can't reproduce it.  But if the problem is on const keyword why you want to downgrade ES6 to ES5? Is Safari won't take ES6 as well?
I think you've missed component.ts in your commit -- so I have to close this PR without merging it. I have made another fix on https://github.com/budiadiono/vue-typed/commit/82b71412d0bafa8219f6ef3903ed30e55d8f56a7 anyway.

Ah great! Sorry, It wasnt meant to commit the es6 to es5.. That was just a local test for me :) Awesome it is fixed now!

Great! Thank you!


value.replace is not a function

I got an error value.replace is not a function with atom-build-make. How can I debug this?

Where and how do you get this? Is there a stacktrace?

I just run the build project command and it shows the warning popup without a stacktrace, which is unusual.

May have been caused by conflicts with other packages, fine now.

I initially got the same error with .atom-build.yml just containing cmd: echo Hello world, but restarting Atom fixed it.

It turns out that this happens when process.env contains values that are not strings. In my case those are the values of ELECTRON_NO_ATTACH_CONSOLE and ELECTRON_RUN_AS_NODE, which are both set to the number 1.
In line 134 of build.js, each environment value is sent to the replace function defined in utils.js, which fails when it tries to call .replace on these numbers in line 55 of that file.
I am running elm make as my build command, and the problematic environment values are only set when the build fails (but after a failed build, they stick around and continue to cause the exception even if the Elm source is corrected).
I am running Atom 1.8 on Mac.
@xgdgsc perhaps you would like to re-open the issue?

@noklesta Thanks for the detailed report.
I think we should add a guard at the beginning of the replace function and only the replacements if typeof value === 'string'.


Merge dev to main

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.3 out of 4 committers have signed the CLA.:white_check_mark: ianpittwood:white_check_mark: plascaray:white_check_mark: costrouc:x: Kevin GartlandKevin Gartland seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Openstreetmap web fails to boot because "Could not locate Gemfile or .bundle/ directory"

running the instructions in step 3 of readme: https://github.com/gasse/webarena-setup/blob/main/webarena/03_docker_create_containers.sh
I realize the container does not start. running sudo docker logs <container_name>, I find that:
Could not locate Gemfile or .bundle/ directory

I manually connected via sudo docker run -it openstreetmap-website-web bash and tried to run bundle exec rails s -p 3000 -b '<IP_ADDRESS>' but got the exact error as above. It appears that if I cd /app, the command still doesn't work.

Seems like it works when I run the instructions like that, but somehow when I run the 05*.sh script it fails. I will look into it, it might be caused by port changes or the fact i'm assigning an environment name. Will keep you updated

Here's the image when i follow the instructions above, for some reason the tiles do not show up. did ytou have this probelm?

actually i'm not sure if the patching worked:
>>> sudo docker exec openstreetmap-website-web-1 bin/rails db:migrate RAILS_ENV=development

warning: parser/current is loading parser/ruby30, which recognizes 3.0.6-compliant syntax, but you are running 3.0.2.
Please see https://github.com/whitequark/parser#compatibility-with-ruby-mri.
pngcrush worker: `pngcrush` not found; please provide proper binary or disable this worker (--no-pngcrush argument or `:pngcrush => false` through options)
advpng worker: `advpng` not found; please provide proper binary or disable this worker (--no-advpng argument or `:advpng => false` through options)
optipng worker: `optipng` not found; please provide proper binary or disable this worker (--no-optipng argument or `:optipng => false` through options)
pngquant worker: `pngquant` not found; please provide proper binary or disable this worker (--no-pngquant argument or `:pngquant => false` through options)
jhead worker: `jhead` not found, `jpegtran` not found; please provide proper binary or disable this worker (--no-jhead argument or `:jhead => false` through options)
jpegoptim worker: `jpegoptim` not found; please provide proper binary or disable this worker (--no-jpegoptim argument or `:jpegoptim => false` through options)
jpegtran worker: `jpegtran` not found; please provide proper binary or disable this worker (--no-jpegtran argument or `:jpegtran => false` through options)
gifsicle worker: `gifsicle` not found; please provide proper binary or disable this worker (--no-gifsicle argument or `:gifsicle => false` through options)
svgo worker: `svgo` not found; please provide proper binary or disable this worker (--no-svgo argument or `:svgo => false` through options)

I get all those not found errors as well, I think they re ok. Not sure about the warning in the first line though.

I'm making progress!
Quick question: Why are we downloading 3 tar.gz files:
wget https://zenodo.org/records/12636845/files/openstreetmap-website-db.tar.gz
wget https://zenodo.org/records/12636845/files/openstreetmap-website-web.tar.gz
wget https://zenodo.org/records/12636845/files/openstreetmap-website.tar.gz

When only one is untared?
tar -xzf ./openstreetmap-website.tar.gz

Ok, after trying the exact instructions shared in this comment, I found that it is once again blank:

I am re-reading the webarena/environment_docker README and found that they are requiring containers for the Geocoding, Tile and Routing servers (3 containers) alongside more files to download (a few GB each). Is that covered in the instructions here?

It seems that I simply needed to change the layer to "Humanitarian" and the map appeared! I guess that was selected by default in the envrionment, hence i was not able to do it. I think it should work now after testing one example, will close for now

Hi Xing, I'm trying on my side, I also end up with an empty map. What did you do exactly to make it work? How did you change the layer to "Humanitarian" ?

Oh I found it, it seems to change the background but doesn't load the roads and places though. I'll re-open and investigate more

You are right. There seems to be some issue, I just looked at the agent run on agentxray from my localsetup and the screenshot don't work properly.
webarena.8 (seed: 23)

webarena.9 (seed: 23)

What's interesting is that the same "blank" state appears for the aws version, yet on the xray app, i see that the map appears properly using the "humanitarian" layer. Could there be some "reset" code that switches to the layer?

@gasse I think I found the solution.
All we need is to add &layers=H to the end of the URL.
Strangely enough, it is not automatically added when it's on localhost, e.g. https://<IP_ADDRESS>:$MAP_PORT
However, once i set up cloudflare, it is automatically added at the end, e.g. https://map.url-to-webarena.com/#map=7/42.888/-75.103&layers=H

@gasse @xhluca
hi, firstly thanks for the discussion !
I encountered the same issue(empty map) and i think the issue stems from this file: openstreetmap-website/vendor/assets/leaflet/leaflet.osm.js, which configures the resource tile server for each layer.
The original configuration is url: 'http://ogma.lti.cs.cmu.edu:8080/tile/{z}/{x}/{y}.png' and maybe the server is unstable or even sometimes down.
So the simplest solution is to change this into the official tile server of openstreetmap: url: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png'. It worked in my attempt and the standard layer of the map appeared after changing the server. Further, webarena environment provides guidance on deploying the tile server locally, the guide is here: https://github.com/web-arena-x/webarena/blob/main/environment_docker/README.md#tile-sever.
I hope it will help you.

@leixy20 that's very interesting! I will look into this.
Do you think we need to set up the geolocation and routing servers too?

Ok I just noticed something subtle in this file:
fossgis_osrm.js.txt
here:
// ...
      var vehicleTypePortMapping = {
        "car": "5000",
        "bike": "5001",
        "foot": "5002"
      }

      // var req_url = OSM.FOSSGIS_OSRM_URL + "routed-" + vehicleType + "/route/v1/driving/" + encoded_coords;
      var req_url = OSM.FOSSGIS_OSRM_URL + vehicleTypePortMapping[vehicleType] + "/route/v1/driving/" + encoded_coords;
// ...

It appears this is code added by the authors of webarena to force the request URL to map to a port rather than a /routed-{car, foot, bike} URL subpath. So that part would also need to be modified.
Btw

Yeah, I have also noticed this file. I set up the routing server locally, and btw in my attempt, the url is not properly configured. I have to change the url to:
var req_url = OSM.FOSSGIS_OSRM_URL + vehicleTypePortMapping[vehicleType] + "/route/v1/" + vehicleType + "/" + encoded_coords;
This url works for the routing server i deployed following instructions in webarena: https://github.com/web-arena-x/webarena/blob/main/environment_docker/README.md#routing-server

Interesting. It seems to not make a difference for the default url, i.e. routing.openstreetmap.de
For example, both of the following urls map to the same json:
https://routing.openstreetmap.de/routed-bike/route/v1/bike/-79.94926619122354,40.4413599;-79.9416735939551,40.4263827?overview=false&geometries=polyline&steps=true&hints=vGjbgmXAAIYDAAAArgAAAAcBAAAuAAAAabDGP756kELsF9tCpDeYQQMAAACuAAAABwEAAC4AAABUBQAAOhI8-x0WaQIuEjz7EBZpAgMAHxNMq3_X;MDwCj2o8Ao9bAAAABQEAAAAAAAAAAAAApyNzQWH3LUIAAAAAAAAAAFsAAAAFAQAAAAAAAAAAAABUBQAApy88-_zbaALWLzz7j9toAgAAfwRMq3_X
https://routing.openstreetmap.de/routed-bike/route/v1/driving/-79.94926619122354,40.4413599;-79.9416735939551,40.4263827?overview=false&geometries=polyline&steps=true&hints=vGjbgmXAAIYDAAAArgAAAAcBAAAuAAAAabDGP756kELsF9tCpDeYQQMAAACuAAAABwEAAC4AAABUBQAAOhI8-x0WaQIuEjz7EBZpAgMAHxNMq3_X;MDwCj2o8Ao9bAAAABQEAAAAAAAAAAAAApyNzQWH3LUIAAAAAAAAAAFsAAAAFAQAAAAAAAAAAAABUBQAApy88-_zbaALWLzz7j9toAgAAfwRMq3_X

Weird, when i do:
sudo docker exec -it wa_openstreetmap_web_az_0 bash
root@93fad25680ba:/app#

it goes to "/app", but in the case of @gasse it's "/". Also shm fills up quickly for me, but it shouldn't be the case!

@gasse there seems to be another openstreetmap issue. On AWS, the search works:

It appears that on self-hosted, it doesn't, as the /api endpoint does not seem to be set up properly.


AttributeError: module 'openai' has no attribute 'ChatCompletion/Completion'

Describe the bug
The feature is not working at all for me, so I created a new venv and it still does not work
To Reproduce
import openai

openai.api_key = "key"

completion = openai.Completion.create(
         model="gpt-3.5-turbo",
         messages=[{"role": "user", "content": "Hello world!"}]
)

Code snippets
Additionally, I tried to run this cURL command in my terminal given by the openai documentation:

curl https://api.openai.com/v1/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"prompt": YOUR_PROMPT, "model": FINE_TUNED_MODEL}'

and replaced it with my api key which in return printed:
    "error": {
        "message": "Incorrect API key provided: -*****************************************. You can find your API key at https://platform.openai.com/account/api-keys.",
        "type": "invalid_request_error",
        "param": null,
        "code": "invalid_api_key"
    }

I've used 3 api keys at this point, I am not sure if that's what is causing the issue since both my python and openai are up to date.

OS
macOS
Python version
Python v3.11.3
Library version
openai-python v0.27.5

@jqma-usc , upgrading to openai-python v0.27.6 should solve the issue.
Looks like the ChatCompletion class was missing from the cli.py file.
Alternatively, there are two other work-arounds:

[Easy] Specify the api_base parameter to bypass the standard api_base url, this allows you to run a chat completion as expected (even though you are using Completion class):
completion = openai.Completion.create(       api_base="https://api.openai.com/v1/chat",       model="gpt-3.5-turbo",        messages=[{"role": "user", "content": "Hello world!"}] )
[Medium] You can add the missing class into the cli.py file yourself. Just copy and past the Completion class (but be sure to change the class name to ChatCompletion).

It's possible that the issue is caused by a local Python package named 'openai'.

Hello! There's now a fix. Run in your terminal:
pip uninstall openai

and then do
pip install openai

and this should fix it! :)

Hello! There's now a fix. Run in your terminal:
pip uninstall openai

and then do
pip install openai

and this should fix it! :)

dont work :(

It should be casued by a local file named 'openai'. I had the same issue and fixed by rename the local file.


Idea: Psl\Type\enum(MyEnum::class)

I was working on a way to convert inputs to enum instances.
My own janky implementation
On an old application (pre-PHP 8.1), I had my own abstraction for ENUMs, based on myclabs/enum.
I built a MyEnum::pslType() abstraction, which produces a \Psl\Type\TypeInterface<static> (static being MyEnum):
class MyEnum extends Enum
{
    // ...

    /** @return \Psl\Type\TypeInterface<static> */
    public static function pslType(): \Psl\Type\TypeInterface
    {
        return new class (static::class) extends \Psl\Type\Type
        {
            /** @param class-string<MyEnum> $className */
            public function __construct(private string $className)
            {
            }

            public function coerce(mixed $value)
            {
                if ($value instanceof $this->className) {
                    return $value;
                }

                $type = \Psl\Type\union(
                    ...array_map(
                        static fn (mixed $value): \Psl\Type\TypeInterface => \Psl\Type\literal_scalar($value),
                        array_values(($this->className)::toArray())
                    )
                )->withTrace($this->getTrace());

                return ($this->className)::from($type->coerce($value));
            }

            public function assert(mixed $value)
            {
                if ($value instanceof $this->className) {
                    return $value;
                }

                throw AssertException::withValue($value, $this->toString(), $this->getTrace());
            }

            public function toString(): string
            {
                return $this->className;
            }
        };
    }

It's really ugly, but it works.
Providing ENUM support in PSL itself?
Since ENUMs are now a built-in concept of the language, I was wondering if we could provide a Psl\Type\enum() function which:

has a strict assert()
has a strict matches()
attempts to produce an enum instance in coerce()

Yes, i think adding enum support in Type component is needed at this point, hopefully the next minor version of PSL will be ready by next week which will include this one.

BTW, not expecting you to write one: was just throwing it in the bucket.
It is easily built in userland, at this stage, just very (very!) inefficient, plus the errors don't work well with the rest of the type component.


Improve development flow with build-dev.sh

Is your feature request related to a problem?
The current development flow is very complicated, developers need to restart entire build-dev.sh setup to reload and test new changes which takes a lot of time.
Code should be mounted as volumes so developers can just login to docker container and test their changes by restarting the service they're working on without having to restart the whole thing.
Describe the solution you'd like
Mount code path as volumes for easy development flow

Completed in #19


convert bot responses to embeds when possible

currently, some bot replies use an old approach that doesn't involve embeds, would be nicer to make it consistent

current is fine

gonna work on this again using generators


Can we use 2 ollama models?

Why every single framework force everyone to use OpenAI, please allow to use 2 ollama models, for examle llama3:8b and strong model llama3:70b, we also need support for more models what if i want an SQL model in there for sql queries or something else.

Hi there! You can indeed use 2 Ollama models following the instructions here: https://github.com/lm-sys/RouteLLM/blob/main/examples/routing_to_local_models.md, just replace the strong model with an Ollama model as well.
However, note that currently, we will still require an OpenAI key for the mf and sw_ranking routers to generate embeddings. If you would like to avoid this, you can use the berf or causal_llm classifier instead.

Great ill give it a try when i was testing I did as you asked but i got the error requiring OpenAI model i guess it was for the embeddings ill try berf and casual_llm, thank you

Currently, it might still ask you for a key so you can fill in a random value if you're not using mf or sw_ranking.
I'll look into fixing this.

hi @iojw it still ask for openai api key for random as well

Hello sorry it took me so long to test this out , it is not possible to use the Controller client method but using the OpenAI client i am able to start the Gradio site.
 openai_api_key = "EMPTY" openai_api_base = args.model_url client = OpenAI(     api_key=openai_api_key,     base_url=openai_api_base, )
What i dont get is if i dont use the Controller method how do i set the weak and strong models in the documentation provided you this are the 2 methods available.
The client.chat.completions.create has only 1 model available, very confusing sorry.

Hi there! Meta has gated Llama 3 behind a user agreement, so you need to make sure to accept the agreement at the link (https://huggingface.co/meta-llama/Meta-Llama-3-8B) using your HF account. Then run huggingface-cli login locally to login to your HF account, then this should work.
Let me know if you have any questions!

Yes, I get that but what about Ollama? if you look at the issue title this was pointing to ollama, ollama offer llama3 also, if you look at your documentation https://github.com/lm-sys/RouteLLM/blob/main/examples/routing_to_local_models.md you mention ollama on the solution.

The reason is our causal LLM router is using Llama 3 under the hood, and this uses the version of Llama 3 from HF. You could try using the BERT router (bert) instead and it will no longer require this.

@iojw Hi, I dont want to use any paid models. I want to use only the open source models. So in that case BERT router is the only option? Bcs others are asking for OpenAI key?

@iojw Hi, I dont want to use any paid models. I want to use only the open source models. So in that case BERT router is the only option? Bcs others are asking for OpenAI key?

did it work for you with BERT? could you please share sample code? i didnt work for me

@iojw Hi, I dont want to use any paid models. I want to use only the open source models. So in that case BERT router is the only option? Bcs others are asking for OpenAI key?

did it work for you with BERT? could you please share sample code? i didnt work for me

yeah sure.
client = Controller(
List of routers to initialize
routers=["bert"],
The pair of strong and weak models to route to
strong_model="ollama_chat/llama3.1",
weak_model="ollama_chat/gemma:2b",
config = {
"bert": {
"checkpoint_path": "routellm/bert_gpt4_augmented"
}
},
Override API base and key for LLM calls
api_base=None,
api_key=None,
Display a progress bar for operations
progress_bar=False,
)

thanks ill give it a try

Closing this for now, let me know if you have other questions!


Adjusting the message count logic when using includeUnacked

When using the RabbitMQ Scaler's includeUnacked setting to true I noticed the message count appeared to be off when I added some logging of the value of the external metric (the total message count).  The value (message count) appeared to be double counting the unacknowledged message count. The current logic (before this PR) is to include the messages (count) in addition to the messages_unacknowledged (count). It appears that the HTTP Management URI messages attribute already includes the unacknowledged messages in it's value. Here is an example of some  json from the HTTP Management URI:
    "messages": 498,
    "messages_details": {
      "rate": 0
    },
    "messages_paged_out": 0,
    "messages_persistent": 498,
    "messages_ram": 498,
    "messages_ready": 496,
    "messages_ready_details": {
      "rate": 0
    },
    "messages_ready_ram": 496,
    "messages_unacknowledged": 2,
    "messages_unacknowledged_details": {
      "rate": 0
    },

Note - messages_ready is 496, messages_unacknowledged is 2. The messages field is 498 (the addition of the two fields) which is what the includeUnacked setting is supposed to reflect from my understanding.
For further reference see https://www.rabbitmq.com/monitoring.html#queue-metrics messages field name - Total number of messages (ready plus unacknowledged)

@tbickford thanks. So to be clear, based on your example it currently returns 500 (498+2) instead of 498 (496+2)?
@holyketzer ^^

Oh, good catch @tbickford, I'm not very experienced user of RMQ )
yes looks like messages field includes both ready and unacked messages.

@holyketzer thanks for the confirmation.
I haven't look at the code yet, so to clarify. If Unacked msgs are already included in messages field, what is the behavior when includeUnacked == false ? Do we get 496 or 498 msgs, based on the previous example?

@zroubalik When includeUnacked == false an alternative method is used to retrieve the message count which would return the number of ready messages (does not include the unacknowledged messages) https://github.com/streadway/amqp/blob/1c71cc93ed716f9a6f4c2ae8955c25f9176d9f19/channel.go#L826. So given the example above, the External Metric would show a value of 496 when setting  includeUnacked == false.

@zroubalik When includeUnacked == false an alternative method is used to retrieve the message count which would return the number of ready messages (does not include the unacknowledged messages) https://github.com/streadway/amqp/blob/1c71cc93ed716f9a6f4c2ae8955c25f9176d9f19/channel.go#L826. So given the example above, the External Metric would show a value of 496 when setting includeUnacked == false.

Correct for includeUnacked == false AMQP protocol is used, and it can only returns info about ready messages.

@tbickford @holyketzer I thought it is like that, but wanted to have a clarification on this. Thanks!


areas other than Greater Manchester?

hi, great work. thanks for sharing.
is it possible to create a graph or instance for other areas? i guess this will start from .pbf files.
i'm new to this. excuse me if this request is somewhat too naive.

Hi @duleise,
Yes you can create a graph for other areas. You can start by downloading the pbf data from geofabrik: http://download.geofabrik.de/. You will need to drill down into the regions and countries. If you select a large pbf file you will need a lot of RAM to be able to build the graph, so keep that in mind and start off small.
For the GTFS data, you can try here: https://transitfeeds.com/
Hope that helps.

Thank you, Marcus. I should have read more closely into the tutorial. And the links you provided are helpful.
I am trying to build an OTP instance now. When I run otp.jar I got this error.
Error: Could not find or load main class otp.jar
I re-downloaded the latest otp.jar and it still occurred.
The only thing I know I should check is Java version.
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

Any suggestions on this?
And more questions if this error is fixed:

Do I need to edit build-config.json and router-config.json accordingly?
GTFS data provide public transport routing. If I want to build isochrones using other transport, for example, walking only, do I need to use another GTFS file? Or is it included once the OTP instance is successfully built.

Thank you again for your time and sharing this neat tool.

That error suggests the path to otp.jar is not correct.
You will need to remove  :
routingDefaults: {         driveOnRight: false     	}
unless you want drive on left.
Street routing is provided by the OpenStreetMap data. You can only create valid isochrones for public transport modes and/or walking.

I think the path to otp.jar is not the problem.
I did the following and it worked.
unzip the gtfs files.
routingDefaults: { driveOnRight: true }

Not sure which one did the trick. Now I have the Grizzly running like magic.
And 'walk only' is one of the multiple travel options.
Thank you again for all your work and help.


connected components in an undirected graph

I have completed the code for the connected components in an undirected graph. Kindly, please check if there is any problems.
@tarun26091999 for issue-#531

Sir, the conflict in the file is resolved, kindly check it. @tarun26091999


Add vector strided load/store test

This test is conributed by Andes, refactored to follow the latest instruction randomization flow

update #403


Use dedicated ST-Link APIs

This uses the dedicated APIs for memory read / write and core register read / write on ST-Links.
This improves the flash speed from about 121 kB/s Erase and 15 kB Write to about 145 kB/s Erase and 30 kB/s Write :rocket:,
measured with a ST-Link v2 with a SWD Frequency of 4.6 MHz.
The API is still a bit of a mess now, but I assume that with the support for debug sequences, this will have to be adapted anyway.

I think it'spossible, will try to split it up.


Bad synchro when displaying cameras frames

Frames buffers seem not to be properly synchronized between acquisition and display.
It appears that some previous frames might be displayed back.
Check why!

Many tests have shown that the acquisition of frames from webcams with OpenCV under Windows if not fully of. Periodicity of acquisition is not ensured and a fex frames may be missing. This introduces the freezing of frames, waiting for the next frame capturing. Issue #68 tries to fix this.

The new display mechanism for the display of camera captured frames is now ok, but still needs some enhancement.
This is considered to have fixed this bug. Related issue is now closed.


[docs-infra] Add run command to deploy docs

I guess "deploy" points to pnpm deploy command before looking at docs deploy so I switch to run deploy instead.

[x] I have followed (at least) the PR section of the contributing guide.

@michaldudak Is this related code-infra or docs-infra?


PHP file starting with dot will be broken with phpcbf

PHP file starting with dot will be broken with phpcbf
phtml file is broken with phpcbf regardless of file name.
Information
VIM version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar  7 2018 19:25:01)
macOS version
Included patches: 1-1587
:ALEInfo
 Current Filetype:
Available Linters: []
  Enabled Linters: []
 Linter Variables:

 Global Variables:

let g:ale_cache_executable_check_failures = 0
let g:ale_change_sign_column_color = 0
let g:ale_command_wrapper = ''
let g:ale_completion_delay = 100
let g:ale_completion_enabled = 0
let g:ale_completion_max_suggestions = 50
let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%code: %%s'
let g:ale_echo_msg_info_str = 'Info'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_fix_on_save = 1
let g:ale_fixers = {'c': ['clang-format'], 'typescript': ['prettier', 'tslint'], 'vue': ['prettier', 'eslint'], 'json': ['fixjson'], 'php': ['phpcbf'], 'javascript': ['prettier', 'eslint'], 'python': ['autopep8', 'isort', 'yapf']}
let g:ale_history_enabled = 1
let g:ale_history_log_output = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_filetype_changed = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_lint_on_insert_leave = 0
let g:ale_linter_aliases = {}
let g:ale_linters = {}
let g:ale_linters_explicit = 0
let g:ale_list_window_size = 10
let g:ale_list_vertical = 0
let g:ale_loclist_msg_format = '%code: %%s'
let g:ale_max_buffer_history_size = 20
let g:ale_max_signs = -1
let g:ale_maximum_file_size = 0
let g:ale_open_list = 0
let g:ale_pattern_options = {}
let g:ale_pattern_options_enabled = 0
let g:ale_set_balloons = 0
let g:ale_set_highlights = 1
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 0
let g:ale_set_signs = 1
let g:ale_sign_column_always = 0
let g:ale_sign_error = '>>'
let g:ale_sign_info = '--'
let g:ale_sign_offset = 1000000
let g:ale_sign_style_error = '>>'
let g:ale_sign_style_warning = '--'
let g:ale_sign_warning = '--'
let g:ale_statusline_format = ['%d error(s)', '%d warning(s)', 'OK']
let g:ale_type_map = {}
let g:ale_warn_about_trailing_blank_lines = 1
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

What went wrong
PHP file starting with dot will be broken with phpcbf
phtml file is broken with phpcbf regardless of file name.
Reproducing the bug
PHP file of dot starting.
Filename(e.g.): .sample.php
before

Break after saving

phtml file
Filename(e.g.): sample.phtml
before

Break after saving

I'll report this bug for PHP_CodeSniffer itself, because this is broken in the terminal.

Thanks for looking into it.

The message from the maintainers for now is to disable checking files with phpcs when they start with a dot. Apparently it can't look at hidden files.

using ale_pattern_options
Thanks, Close the issue.

let g:ale_pattern_options = {
\   '\.phtml$': {
\       'ale_linters': [],
\       'ale_fixers': [],
\   },
\   '\.autoload\.php$': {
\       'ale_linters': [],
\       'ale_fixers': [],
\   },
\}

Document typo.
ale_pattern_options example.
https://github.com/w0rp/ale/blob/master/doc/ale.txt#L1266
current
  \       'ale_fixers: ['eslint'],

change
  \       'ale_fixers': ['eslint'],

Thanks.


Expand Test Automation Framework

Add additional tests to test complete workflow.

Testing is now concurrent with feature development. Closing this Epic.


Documentation fixes

Update Sklearn intersphinx, and make it the stable version instead of dev
Fix the build warnings:

11:02:00 AM: /opt/build/repo/graspy/cluster/gclust.py:docstring of graspy.cluster.GaussianCluster:35: WARNING: Bullet list ends without a blank line; unexpected unindent.
11:02:00 AM: /opt/build/repo/graspy/cluster/gclust.py:docstring of graspy.cluster.GaussianCluster:56: WARNING: Unexpected indentation.
11:02:00 AM: /opt/build/repo/graspy/embed/svd.py:docstring of graspy.embed.select_dimension:51: WARNING: Footnote [#] is not referenced.
11:02:00 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:37: WARNING: Explicit markup ends without a blank line; unexpected unindent.
11:02:00 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:40: WARNING: Explicit markup ends without a blank line; unexpected unindent.
11:02:00 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:64: WARNING: Unknown target name: "p_value_1".
11:02:00 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:64: WARNING: Unknown target name: "p_value_2".
11:02:00 AM: /opt/build/repo/docs/reference/utils.rst:28: WARNING: Unknown directive type "autofumction".
11:02:00 AM: .. autofumction:: get_multigraph_intersect_lcc
11:00:20 AM: intersphinx inventory has moved: http://scikit-learn.org/dev/objects.inv -> https://scikit-learn.org/dev/objects.inv

11:00:20 AM: intersphinx inventory has moved: http://scikit-learn.org/dev/objects.inv -> https://scikit-learn.org/dev/objects.inv

Also, add individual classes to TOC

some of this may have been fixed by #408

I can take this one!

Hey Pedigo, I'm a little confused with this issue.  Where are the 'build warnings' supposed to show up?  I didn't encounter them when I installed graspy from github.

@pauladkisson

Look at a recent PR
Scroll down to bottom where it says "All checks have passed" and there are a bunch of lines that say "details" at the end. These are automated checks that run every time someone makes a PR.
Click on "details" next to where it says "mixed content - graspy"
Should bring you to something like this these are the logs from the build of our documentation
If you scroll through you should see something like:

8:27:56 AM: /opt/build/repo/graspy/cluster/gclust.py:docstring of graspy.cluster.GaussianCluster:38: WARNING: Bullet list ends without a blank line; unexpected unindent.
8:27:56 AM: /opt/build/repo/graspy/cluster/gclust.py:docstring of graspy.cluster.GaussianCluster:64: WARNING: Unexpected indentation.
/opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:40: WARNING: Explicit markup ends without a blank line; unexpected unindent.
8:27:56 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:43: WARNING: Explicit markup ends without a blank line; unexpected unindent.
8:27:56 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest.fit_predict:6: WARNING: Unexpected indentation.
8:27:56 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest.fit_predict:11: WARNING: Title underline too short.
8:27:56 AM: Returns
8:27:56 AM: ------
8:27:56 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest.fit_predict:11: WARNING: Unexpected section title.
8:27:56 AM: Returns
8:27:56 AM: ------
8:27:56 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:72: WARNING: Unknown target name: "p_value_1".
8:27:56 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest:72: WARNING: Unknown target name: "p_value_2".
8:27:56 AM: /opt/build/repo/graspy/inference/latent_position_test.py:docstring of graspy.inference.LatentPositionTest.fit_predict:26: WARNING: Unknown target name: "p_value".

The goal is to fix the documentation generation to not have these warnings. I'd just focus on the ones for LatentPositionTest to start (or even just the ones about "unknown target name"), because that will let you just focus on one class in the code for now. You will have to learn a bit about how the documentation gets generated. There is something called a docstring in python (the one you will start with is here) which is in the code, but a tool called sphinx converts into out documentation pages. The warnings above are basically saying that when sphinx is run, there are some issues with how the docstrings get converted to documentation.

Ok, this is definitely helpful.  I can see the warnings in the deploy details that you mentioned, and it should be easy enough to fix a few docstrings, but I've never worked on a project to this scale before.  How can I check my work to make sure that the issues are resolved?

@pauladkisson I think the easiest thing for you in this case will be to make a draft PR sooner rather than later. This will cause netlify (the thing that builds our docs) to trigger a build online, which will generate all of those logs, and will let you check your work to see if the errors stop.
Other option is to build the documentation locally on your machine. Instructions for that are here

Thanks, yeah, I just found the instructions for installing sphinx and building the docs.  I was able to get it to run and display the appropriate warnings, but I also got a weird error that didn't show up in the netlify version:
`Notebook error:
CellExecutionError in tutorials/inference/latent_distribution_test.ipynb:
ldt_dcorr = LatentDistributionTest("dcorr", metric="euclidean", n_bootstraps=100)
ldt_dcorr.fit(A1, A2)

TypeError                                 Traceback (most recent call last)
 in
----> 1 ldt_dcorr = LatentDistributionTest("dcorr", metric="euclidean", n_bootstraps=100)
2 ldt_dcorr.fit(A1, A2)
TypeError: init() got an unexpected keyword argument 'metric'
TypeError: init() got an unexpected keyword argument 'metric'
You can ignore this error by setting the following in conf.py:
nbsphinx_allow_errors = True

make: *** [html] Error 2
`
Do you know what's going on?

So using the ignore error setting listed above, I am able to work on the documentation fixes.  When I get through them, I will remove the ignore error setting, submit a PR, and see if the error persists.

@pauladkisson have you tried running that notebook locally (not just building the docs)

I'm pretty sure that I'm using the current version.  Under the release folder in docs it says release_0.3.rst.  I'm not sure how else I would check.
I did try running the problematic notebook locally, and I got the same error: in the fourth code block.   I also checked it against the tutorial live on the site, and they are the same as far as I can tell.

can you post the full traceback from running the notebook locally?

other things:

can you lmk how you installed graspy locally?
if you installed locally from a cloned github repo, can you go into the repo and do git pull, and make sure you are also on master branch?

Sure, I installed it by following the Installation Guide listed on https://github.com/neurodata/graspy, using these three lines of code:
git clone https://github.com/neurodata/graspy cd graspy python3 setup.py install
I did a git pull ., and got the message: "Already up to date."
I did a git show-branch and got the message: "[master] Tutorial fixes (#416)"

This is the exact error that I'm getting:

thanks. can you show me output of
help(LatentDistributionTest)
and
print(LatentDistributionTest())

can also try installing graspy by navigating to the directory where it was cloned and doing
pip install -e .
but I don't think that's the issue

Output of help(LatentDistributionTest)
Help on class LatentDistributionTest in module graspy.inference.latent_distribution_test:
class LatentDistributionTest(graspy.inference.base.BaseInference)
|  LatentDistributionTest(n_components=None, n_bootstraps=200, bandwidth=None)
|
|  Two-sample hypothesis test for the problem of determining whether two random
|  dot product graphs have the same distributions of latent positions.
|
|  This test can operate on two graphs where there is no known matching between
|  the vertices of the two graphs, or even when the number of vertices is different.
|  Currently, testing is only supported for undirected graphs.
|
|  Read more in the :ref:tutorials <inference_tutorials>
|

Parameters

n_components : int or None, optional (default=None)

Number of embedding dimensions. If None, the optimal embedding

dimensions are found by the Zhu and Godsi algorithm.

n_bootstraps : int (default=200)

Number of bootstrap iterations.

bandwidth : float, optional (default=0.5)

Bandwidth to use for gaussian kernel. If None,

the median heuristic will be used.

Attributes

----------

sample_T_statistic_ : float

The observed difference between the embedded latent positions of the two

input graphs.

p_ : float

The overall p value from the test.

null_distribution_ : ndarray, shape (n_bootstraps, )

The distribution of T statistics generated under the null.

References

----------

.. [1] Tang, M., Athreya, A., Sussman, D. L., Lyzinski, V., & Priebe, C. E. (2017).

"A nonparametric two-sample hypothesis testing problem for random graphs."

Bernoulli, 23(3), 1599-1630.

Method resolution order:

LatentDistributionTest

graspy.inference.base.BaseInference

sklearn.base.BaseEstimator

builtins.object

Methods defined here:

init(self, n_components=None, n_bootstraps=200, bandwidth=None)

Initialize self.  See help(type(self)) for accurate signature.

fit(self, A1, A2)

Fits the test to the two input graphs

Parameters

----------

A1, A2 : nx.Graph, nx.DiGraph, nx.MultiDiGraph, nx.MultiGraph, np.ndarray

The two graphs to run a hypothesis test on.

Returns

-------

p_ : float

The p value corresponding to the specified hypothesis test

----------------------------------------------------------------------

Methods inherited from sklearn.base.BaseEstimator:

getstate(self)

repr(self, N_CHAR_MAX=700)

Return repr(self).

setstate(self, state)

get_params(self, deep=True)

Get parameters for this estimator.

Parameters

----------

deep : bool, default=True

If True, will return the parameters for this estimator and

contained subobjects that are estimators.

Returns

-------

params : mapping of string to any

Parameter names mapped to their values.

set_params(self, **params)

Set the parameters of this estimator.

The method works on simple estimators as well as on nested objects

(such as pipelines). The latter have parameters of the form

<component>__<parameter> so that it's possible to update each

component of a nested object.

Parameters

----------

**params : dict

Estimator parameters.

Returns

-------

self : object

Estimator instance.

----------------------------------------------------------------------

Data descriptors inherited from sklearn.base.BaseEstimator:

dict

dictionary for instance variables (if defined)

weakref

list of weak references to the object (if defined)

Output of print(LatentDistributionTest()):
LatentDistributionTest(bandwidth=None, n_bootstraps=200, n_components=None)

yeah somehow the version of graspy you have installed is old. i'd try the pip install -e . thing I mentioned

and do makes sure you're on the master and pull before ^

@pauladkisson
fyi, the version of the package u're using can be checked like this:

Ok, I tried the pip install and it fixed the error.  Why would installing from github generate an old version tho?

Did you use pip to install the local version you have cloned? That's what I
was suggesting (look up what -e and . mean to pip install)
On Sat, Sep 5, 2020, 9:37 AM Paul Adkisson<EMAIL_ADDRESS>wrote:

Ok, I tried the pip install and it fixed the error. Why would installing
from github generate an old version tho?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/neurodata/graspy/issues/291#issuecomment-687633529,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGEF4HZHFH7XDKC37D3K2SDSEJSNBANCNFSM4JR2JFAA
.

Yes, I used pip install -e graspy

Yes, I used pip install -e graspy

that’s not the same thing. you installed from pypi, as editable, which I’m not even sure what that means.

and this isn’t exactly what you want, for multiple reasons

it’s behind
edits to the repo won’t be reflected in the code used by python
can I ask you to uninstall graspy, and if u can - make a scratch environment, then do everything from the beginning and send us the log if it breaks.

Hey guys, I uninstalled and reinstalled several times in different ways, but I couldn't recreate the error...At this point I'm willing to just chalk it up to some mistake on my end (due to unfamiliarity with git, etc.).  Although, I didn't remove the repo and reclone because I didn't want to have to redo fixing all the other warnings.
Sorry about the code, I was just using the  button on the comment box, but clearly it doesn't work that well.  I will try using triple quotes in the future.
Please let me know if there is some problem that I'm not understanding.

Hey guys, I uninstalled and reinstalled several times in different ways, but I couldn't recreate the error...At this point I'm willing to just chalk it up to some mistake on my end (due to unfamiliarity with git, etc.). Although, I didn't remove the repo and reclone because I didn't want to have to redo fixing all the other warnings.

you know how git works, don’t you?

Sorry about the code, I was just using the button on the comment box, but clearly it doesn't work that well. I will try using triple quotes in the future.

it assumes you’re going to enter just an in-line piece. if you paste and then highlight and click that it works.

Please let me know if there is some problem that I'm not understanding.

how did you end up installing? what was the exact command and where were you located?

Hard to say but glad it seems to work now @pauladkisson, I wouldn't worry about it too much. And no worries about learning got/GitHub that is part of the process. Lmk if you have other issues.

I used git in a couple small 3-5 person projects just last semester, and I did the tutorial before starting class.  But I am still getting used to the ins and outs.  For example, on my projects before we used branches but not forks, so that part was a little confusing, but reading the contribution guidelines helped clear things up.
For my install, I used pip install graspy from within the graspy folder.
Thanks @bdpedigo! I'm just making sure that I follow all the contributing guidelines and then I'll submit my PR!

I used git in a couple small 3-5 person projects just last semester, and I did the tutorial before starting class. But I am still getting used to the ins and outs. For example, on my projects before we used branches but not forks, so that part was a little confusing, but reading the contribution guidelines helped clear things up.

the reason why i've asked is bcuz you could've just commited your changes and pushed before removing the folder. the whole point of git is to track changes; so i wasn't sure why were you hesitant to remove the local folder.

For my install, I used pip install graspy from within the graspy folder.

that installed from pypi. whenever you use pip install graspy it installs from there, no matter where you are (me thinks at least). you have to use pip install . from inside the folder in order to install what you've cloned. furthermore, as Ben mentioned above - i stronly suggest to use -e when u're doing so. otherwise u have to uninstall-install every time u make a change, which is annoying.

Ok, I will use that install method in the future. 👍

Hey @bdpedigo, one of the checks in the PR failed (Travis CI).  I'm pretty sure it's because I didn't black everything (I naively thought my changes were small enough that it wouldn't make a difference).  Should I close the PR, fix it, and submit a new one?

No need to make a new PR. If you update your branch and push, the PR will update as well


added mfg

Docs Build status updates of commit d0f0d4b:
:warning: Validation status: warnings

File
Status
Preview URL
Details

dynamics-gp/distribution/MfgSetup.md
:warning:Warning
View
Details

dynamics-gp/TOC.md
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGBOM.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGCAL.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGCD.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGCRP.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGECM.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGMFG.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGMRPL.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGOFS.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGOPD.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGRPD.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGRUP.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGSOP.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGSP.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGWC.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/media/MFGWIP.jpg
:white_check_mark:Succeeded
View

dynamics-gp/distribution/MfgSetup.md

Line 130: [Warning] Invalid file link:(~/distribution/media/12ad07add3f8f083b78f848606fd455d.jpg).
Line 272: [Warning] Invalid file link:(~/distribution/media/04506b5eba9985d22f1e1b18856e4692.jpg).
Line 309: [Warning] Invalid file link:(~/distribution/media/cffe1eb0c6b8bab6c0aaf1a2d187aa78.jpg).
Line 583: [Warning] Invalid file link:(~/distribution/media/ad05a25ecf94b6674192d1e77f8455cb.jpg).
Line 774: [Warning] Invalid file link:(~/distribution/media/11e4e8e3673094ecc02c4f9337ec81df.jpg).
Line 915: [Warning] Invalid file link:(~/distribution/media/a52df266f547d8a3c9978f9e0100909c.jpg).
Line 985: [Warning] Invalid file link:(~/distribution/media/a2ab0984c7944fade6bb1f40b1e9bb9b.jpg).
Line 1181: [Warning] Invalid file link:(~/distribution/media/66babca6de2ed03cfbc56271d6c2ba7d.jpg).
Line 1284: [Warning] Invalid file link:(~/distribution/media/55bf80301c52d087d8fdb675407688b5.jpg).
Line 1508: [Warning] Invalid file link:(~/distribution/media/4be79d01041c43492eb6665335d94b86.jpg).
Line 1711: [Warning] Invalid file link:(~/distribution/media/16d612c45442124e29db5c28d021dec0.jpg).
Line 2195: [Warning] Invalid file link:(~/distribution/media/19a5e4ca7d736395d9c686c7fb3983f8.jpg).
Line 2441: [Warning] Invalid file link:(~/distribution/media/a23d2f092bf1cbd15aaa0433c67349fd.jpg).
Line 2591: [Warning] Invalid file link:(~/distribution/media/a2ab0984c7944fade6bb1f40b1e9bb9b.jpg).
Line 2933: [Warning] Invalid file link:(~/distribution/media/53fda1cff045b06b9fa37fef151f3aef.jpg).

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


TestDBA-SPN Feature Request

Feature Request

Problem to solve
Can test-dbaspn be modified to work with Managed Service Accounts. I believe the issue is that when the command see a $ at the end of the service account it assumes that it is a computer object rather than a service account.
Additional information
if I try and get the spn's for a test server with 3 instances I get this
test-dbaspn -ComputerName TestSQL1
WARNING: [Test-DbaSpn][11:29:45] SQL Service account not found. Results may not be accurate.
ComputerName           :
InstanceName           : SQL2012
SqlProduct             : SQL Server 2012 Developer Edition (64-bit)
InstanceServiceAccount : TestDomain\SQLSVC001$
RequiredSPN            : MSSQLSvc/TestSQL1.TestDomain.lan:SQL2012
IsSet                  : False
Cluster                : False
TcpEnabled             : True
Port                   :
DynamicPort            : False
Warning                : None
Error                  : None
Credential             :
WARNING: [Test-DbaSpn][11:29:45] SQL Service account not found. Results may not be accurate.
 Results may not be accurate.
 Results may not be accurate.
ComputerName           :
InstanceName           : SQL2012
SqlProduct             : SQL Server 2012 Developer Edition (64-bit)
InstanceServiceAccount : TestDomain\SQLSVC001$
RequiredSPN            : MSSQLSvc/TestSQL1.TestDomain.lan:54803
IsSet                  : False
Cluster                : False
TcpEnabled             : True
Port                   : 54803
DynamicPort            : True
Warning                : Dynamic port is enabled
Error                  : None
Credential             :
WARNING: [Test-DbaSpn][11:29:45] SQL Service account not found. Results may not be accurate.
ComputerName           :
InstanceName           : SQL2014
SqlProduct             : SQL Server 2014 Developer Edition (64-bit)
InstanceServiceAccount : TestDomain\SQLSVC002$
RequiredSPN            : MSSQLSvc/TestSQL1.TestDomain.lan:54877
IsSet                  : False
Cluster                : False
TcpEnabled             : True
Port                   : 54877
DynamicPort            : True
Warning                : Dynamic port is enabled
Error                  : None
Credential             :
WARNING: [Test-DbaSpn][11:29:45] SQL Service account not found. Results may not be accurate.
ComputerName           :
InstanceName           : SQL2016
SqlProduct             : SQL Server 2016 Developer Edition (64-bit)
InstanceServiceAccount : TestDomain\SQLSVC003$
RequiredSPN            : MSSQLSvc/TestSQL1.TestDomain.lan:54967
IsSet                  : False
Cluster                : False
TcpEnabled             : True
Port                   : 54967
DynamicPort            : True
Warning                : Dynamic port is enabled
Error                  : None
Credential             :
I have also tested Get-DBASPN and it seems to have problems when using the ComputerName parameter
Get-DbaSpn -ComputerName TestSQL1
WARNING: [Test-DbaSpn][11:46:44] SQL Service account not found. Results may not be accurate.
WARNING: [Test-DbaSpn][11:46:44] SQL Service account not found. Results may not be accurate.
WARNING: [Test-DbaSpn][11:46:44] SQL Service account not found. Results may not be accurate.
WARNING: [Test-DbaSpn][11:46:44] SQL Service account not found. Results may not be accurate.
WARNING: [Test-DbaSpn][11:46:44] SQL Service account not found. Results may not be accurate.
WARNING: [Test-DbaSpn][11:46:44] SQL Service account not found. Results may not be accurate.
However if I use the AccountName it returns this
get-dbaspn -AccountName TestDomain\SQLSVC003$
Input        : TestDomain\SQLSVC003$
AccountName  : TestDomain\SQLSVC003$
ServiceClass : MSSQLSvc
Port         : 54967
SPN          : MSSQLSvc/TestSQL1.TestDomain.lan:54967
Input        : TestDomain\SQLSVC003$
AccountName  : TestDomain\SQLSVC003$
ServiceClass : MSSQLSvc
Port         :
SPN          : MSSQLSvc/TestSQL1.TestDomain.lan:SQL2016

argh, I don't have MSAs or gMSAs around to test. Would anyone be willing to do a few trials to see what needs to be fixed ?

/cc @banditkd

of course I can help out. I'll spin up some instances on Azure. Getting a dab hand at it as we are switch all our instances over to MSA's :)

Hi @banditkd
Could you also please est gMSA we migrate our MSA to gMSA in November of this year.

Hi @Redwood001 yes of course. We are using gmsa for all our 2016 instances so I would plan to cover both.

Can you hit me on slack so we can arrange a timeframe to run a few tests?
Il 16 ott 2017 9:31 PM, "Mark Kaveney-Davis"<EMAIL_ADDRESS>ha
scritto:
Hi @Redwood001 https://github.com/redwood001 yes of course. We are using
gmsa for all our 2016 instances so I would plan to cover both.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/sqlcollaborative/dbatools/issues/2261#issuecomment-337008536,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAHdBwaaobcDjvVnjONngRVLHmAuPYplks5ss675gaJpZM4PdsNv
.


Add Missing Methods for Execution details

Some endpoints of the following section can't be hit from this SDK.
We would like to ensure that all endpoints can be hit. For this issue, we would like to build out the Execution details
Some of these methods may already exist.
If so no need to change/update them, just point out that they already exist and we will close the issue.

This is just to bring every SDK we have on par with all the methods available.
Check all the endpoints here and add the missing ones.

@Cliftonz can I take up this one?

@partik03 Yes, if there are methods to add. If not then I can happily assign you to another issue.

@Cliftonz  I can't find any execution api endpoints that aren't included already.So I think this issue should be closed as it is completed.


Handle cardinality estimation for disjoint inner and outer joins

Which issue does this PR close?

Closes #3802 .
Rationale for this change

When we know for a fact that an inner join is disjoint, we can estimate the cardinality of an inner join with (at least) one disjoint column as 0. From there, we can derive the cardinality of a left/right and full outer joins.
What changes are included in this PR?

We now take an is_exact flag in estimate_join_cardinality which is only true when both left and right are originating directly from table providers (which might change in the future if we collect more statistics during materialization points both in DF and Ballista, and somehow adaptively optimize the parent plans according to that). If that is_exact flag is true and if we identify a disjoint column when calculating the inner join cardinality, we now infer the cardinality of an inner join as 0.
Since the cardinality of left/right/full outer joins can be derived from the inner join's cardinality (e.g. a disjoint left outer join would result with the number of rows from the left side), this PR also adds support for inferring their cardinality.
Are there any user-facing changes?

No.

Thanks @isidentical


feat: ping PR author on merge conflicts

From now on, if a pull request has merge conflicts and needs a rebase, the author will be pinged.
Signed-off-by: Sébastien Han<EMAIL_ADDRESS>

I like this, thanks. A couple things I’d like to add

add a needs-rebase label
Another rule that removes that label when a PR is not in conflict

I have config for this in another repo I can add here later, but if you’d like to add that’s even better!

Can do!

@russellb the 'needs-rebase' label needs to be created. Additionally, should we remove 'DRAFT - DO NOT MERGE'?

@russellb the 'needs-rebase' label needs to be created.

Done.

Additionally, should we remove 'DRAFT - DO NOT MERGE'?

I'm not sure what this is referring to. Can you clarify?

@russellb the 'needs-rebase' label needs to be created.

Done.

Additionally, should we remove 'DRAFT - DO NOT MERGE'?

I'm not sure what this is referring to. Can you clarify?

I saw that label, and I was wondering if we should keep it or not.

@russellb the 'needs-rebase' label needs to be created.

Done.

Additionally, should we remove 'DRAFT - DO NOT MERGE'?

I'm not sure what this is referring to. Can you clarify?

I saw that label, and I was wondering if we should keep it or not.

Oh, yeah, that's probably not necessary. There's also 'hold'. It looks like someone renamed do-not-merge to that, which breaks the mergify configuration.


Annotations not showing content in public view of map

Create a blank map, add an annotation element, put some text into it. Go to the "share" panel, get the public link, open it. Your text isn't there, the default text is.

Is this live? I'm still seeing the issue.

Yes, this should be fixed by now. I've just tested with Chrome and it works. The cartodbui version is v3.9.8 (2ad7f8756e74925d8e1225614d6319c35ec571c5)


New Sidebar Roller Button Expands Awkwardly

Describe the bug
When trying to use the new roller button introduced in the recent patch, it's a little wonky in Windows Foundry v12 (and maybe other versions).
To Reproduce
Steps to reproduce the behavior:

Create a brand new fresh STA world
Launch it
Click the button.

Expected behavior
I expected buttons to lay out in a way that matched how buttons display with other sidebar tools.
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser: The Windows standalone app, not a browser.  Roughly equivalent to a recent version of Chrome.
Version: 12 (Build 330)

Additional context
This is in a world using only the STA System and no mods or any content, for that matter.

I chose this option from the three I could see:

Follow the normal button approach - Pros, it looks default, Cons, There is a lot of mouse movement involved to click, the roller takes focus from whatever you were on (scene controls etc)
Add two new buttons, one for each roll type, Pros, fast and easy to click to roll (I'd have used the spock hand icon for the 2nd icon), Cons, Uses 2 icon slots
What we have here, Pros, doesn't take focus from whatever option you are on, very short mouse movement required for a quick roll, Cons, doesn't look default.

Honestly I would be happy if it is changed to any of those options, I slightly preferred option 3 and implemented that, but, my second choice would be for two buttons instead of one... Whatever the community prefers.

I think number 3 is okay (I believe only the Tile tools have a list that is long enough to overlap), it's more the way its laid out is what my issue was created for.
What I mean is:

The ship icon sort of detaches from the grey square background.   I think it should remain there, like it is when it isn't expanded, so that it always looks like a button.
The new icons appear and partially hang off the main button out in space rather than look like their own clickable button-ness with their own square buttony background.
There is a 3rd icon, a white square with a dot in the middle of it, that is partially obscured by the top button.  Is that a button, too?

Ok with this now Wes? Shall we close it?

Yeah, I think this has been taken care of!


Change license from CC0 to some OSI license

Currently CC0 license is not approved from the Open Source Initiative (OSI) and although CC0 is not a "strange" license at all it has some problems in certain jurisdictions especial in europe (e.g. Germany).
My company (residing in Germany) want's to use that greate library but our legal department raised the concern that this is not possible in Germany without risk. So I am wondering if it would be possible to change the license of this library or do some double licensing with any of the widespread OSI licensed (Apache, BSD, MIT, ...).

Prior to being CC0-licensed in 2015, the code was marked as public domain. I received explicit consent to license as CC0 from all contributors (in #11). So at all times contributors have considered their contributions to be "public domain", and usable for any purpose without any copyright restrictions.
In theory this means that I could probably double-license this library without consultation. And I'd personally be fine with adding MIT as an option. But I'd prefer to re-obtain consent from the various contributors, which could take some time.
Alternatively, I have been working on a new non-JCA Ed25519 library that is MIT-licensed (https://github.com/cryptography-cafe/ed25519-elisabeth), which I will eventually be using inside this library. The underlying curve arithmetic library, also MIT-licensed (https://github.com/cryptography-cafe/curve25519-elisabeth) does use some field arithmetic that I extracted from this library, which I am allowed to do under the terms of the CC0 license (and the code I ported was IIRC almost all code that I originally contributed to this library).

Thanks for providing the links to the alternative libraries. Unfortunately, your library is a transitive dependency for us. Actually we want to use the SSHJ library (https://github.com/hierynomus/sshj/) which depends on your library. So switching to another library will involve a code change in SSHJ. Not sure if that is possible. However, I believe having MIT as alternative license would be a benefit in any case. So it would be greate if you can get in contact with the other contributors and ask them if they will support a double license approach. Please let me know if I can be of any help.


Tests!

Really need to add tests before folks should start consuming

no tests !!! No production.
great idea for a product

Yeah, I hear you.  I'm going to beef up the test suite over the next month or so as the API solidifies.  Thanks for checking out my project!

@overpod - test coverage up to 79%.  See https://github.com/goldcaddy77/warthog/pull/163 - more coming.

Closing this as test coverage is now over 87%:  https://codecov.io/gh/goldcaddy77/warthog/commits

This is a great job. I think to try the product on the pet project.

Must close the issue.


Make treesitter parser support filetype sh.

For filetypes such as sh and files like .bashrc use the bash treesitter parser.

Why not use ftdetect/sh.vim?
Although this method can change filetype from sh to bash, but it has some issues with lazyloading nvim-cmp and Luasnip, I think.
Why not use autocommand to change filetype?
Same reason as above.

The error if using ftdetect/sh.vim or autocommand to change filetype:
Error detected while processing BufReadPost Autocommands for "*":
E5108: Error executing lua ...vim/site/pack/packer/opt/packer.nvim/lua/packer/load.lua:171: Vim(echomsg):E114: Missing quote
: "Error in packer_compiled: ...vim/site/pack/packer/opt/packer.nvim/lua/packer/load.lua:160: Vim(append):Error executing lu
a callback: vim/keymap.lua:0: E31: No such mapping
stack traceback:
      [C]: in function 'cmd'
      ...vim/site/pack/packer/opt/packer.nvim/lua/packer/load.lua:171: in function <...vim/site/pack/packer/opt/packer.nvi
m/lua/packer/load.lua:167>
      [string ":lua"]:1: in main chunk

ftdetect/sh.vim:
au BufRead,BufNewFile ~/.bashrc,~/.bash_functions,~/.bash_aliases,*.sh set filetype=bash

P.S. The error persists if I change the event from BufRead,BufNewFile to VimEnter, just change from ... processing BufReadPost Autocommands ... to ... processing VimEnter Autocommands ....

Sorry, I'm not sure why stylua failed. It's formatted on my machine with the same stylua.toml. Please let me know how to fix it. thanks!

Sorry, I'm not sure why stylua failed. It's formatted on my machine with the same stylua.toml and I copy&paste it. Please let me know how to fix it. thanks!

No need to say sorry here. Such a mistake is revertable and everybody has or would have this mistake during participating in Open Source.

@ClSlaid Thanks!

It seems somehow this method stop working after I took a break form it. Will close this PR until I found out why.

It seems somehow this method stop working after I took a break form it. Will close this PR until I found out why.


when query "lg.com" got error

Traceback (most recent call last):
File "", line 1, in
File "/usr/local/lib/python3.8/dist-packages/whois/init.py", line 245, in query
whois_str = do_query(
File "/usr/local/lib/python3.8/dist-packages/whois/_1_query.py", line 65, in do_query
_do_whois_query(
File "/usr/local/lib/python3.8/dist-packages/whois/_1_query.py", line 173, in _do_whois_query
raise WhoisCommandFailed(r)
whois.exceptions.WhoisCommandFailed:    Domain Name: LG.COM

i see what you mean meta.com returns all info ok, lg.com returns None, but the cli output of whois "lg.com" looks normal
i actually dont get a error but None
i will investigate
pip install whois
python3
Python 3.11.1 (main, Jan  6 2023, 00:00:00) [GCC 12.2.1 20221121 (Red Hat 12.2.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import whois
d = whois.query("lg.com", verbose=True, include_raw_whois_text=True)
['lg', 'com']
we have com
com ['lg', 'com']
>>> print (d.__dict__)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: 'NoneType' object has no attribute '__dict__'. Did you mean: '__dir__'?

ok found this one: the normal .com tld has a regex for "Domain Name:" while this domain responds with "Domain Name :"
that was not matched so the library does not see the domain in the output, i changed the regex to "Domain Name\s*:\s*" now it works.
python3
Python 3.11.1 (main, Jan  6 2023, 00:00:00) [GCC 12.2.1 20221121 (Red Hat 12.2.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import whois
>>> d = whois.query(domain="lg.com", verbose=True)
['lg', 'com']
we have com
com ['lg', 'com']
force = False
['whois', 'lg.com']
[Querying whois.verisign-grs.com]
[Redirected to whois.whois.co.kr]
[Querying whois.whois.co.kr]
[whois.whois.co.kr]
Domain Name : lg.com
Registry Domain ID: 4980211_DOMAIN_COM-VRSN
Registrar WHOIS Server: whois.whois.co.kr
Registrar URL: http://www.whois.co.kr
Updated Date: 2017-06-10T16:10:03Z
Creation Date: 1995-06-08T04:00:00Z
Registrar Registration Expiration Date: 2027-06-07T04:00:00Z
Registrar: Whois Corp.
Registrar IANA ID: 100
Registrar Abuse Contact Email<EMAIL_ADDRESS>Registrar Abuse Contact Phone: +82.15884259
Reseller:
Domain Status: clientTransferProhibited https://icann.org/epp#clientTransferProhibited
Domain Status: clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited
Registry Registrant ID:
Registrant Name: LG Corp.
Registrant Organization: LG Corp.
Registrant Street: LG Twintower 20, Youido-dong, Youngdeungpo-gu,
Registrant City: Seoul
Registrant State/Province:
Registrant Postal Code: 150721
Registrant Country: KR
Registrant Phone: +82.237732322
Registrant Phone Ext:
Registrant Fax:
Registrant Fax Ext:
Registrant Email<EMAIL_ADDRESS>Registry Admin ID:
Admin Name: Domain-Manager
Admin Organization: Domain-Manager
Admin Street: LG Twintower 20, Youido-dong, Youngdeungpo-gu,
Admin City: Seoul
Admin State/Province:
Admin Postal Code: 150721
Admin Country: KR
Admin Phone: +82.237732322
Admin Phone Ext:
Admin Fax:
Admin Fax Ext:
Admin Email<EMAIL_ADDRESS>Registry Tech ID:
Tech Name: Domain-Manager
Tech Organization: Domain-Manager
Tech Street: LG Twintower 20 Youido-dong Youngdeungpo-gu
Tech City: Seoul
Tech State/Province:
Tech Postal Code: 150721
Tech Country: KR
Tech Phone: +82.237732322
Tech Phone Ext:
Tech Fax:
Tech Fax Ext:
Tech Email<EMAIL_ADDRESS>Name Server: SECNS.LG.CO.KR
Name Server: PRMNS.LG.CO.KR
DNSSEC: unsigned
URL of the ICANN WHOIS Data Problem Reporting System: http://wdprs.internic.net/
>>> Last update of WHOIS database: 2023-01-30T18:41:58Z <<<

For more information on Whois status codes, please visit https://icann.org/epp

>>> print(d)
<whois._3_adjust.Domain object at 0x7fae1a7ecf10>
>>> print(d.__dict__)
{'name': 'lg.com', 'tld': 'com', 'registrar': 'Whois Corp.', 'registrant_country': 'KR', 'creation_date': datetime.datetime(1995, 6, 8, 4, 0), 'expiration_date': None, 'last_updated': datetime.datetime(2017, 6, 10, 16, 10, 3), 'status': 'clientTransferProhibited https://icann.org/epp#clientTransferProhibited', 'statuses': ['clientTransferProhibited https://icann.org/epp#clientTransferProhibited', 'clientUpdateProhibited https://icann.org/epp#clientUpdateProhibited'], 'dnssec': False, 'name_servers': ['prmns.lg.co.kr', 'secns.lg.co.kr'], 'registrant': 'LG Corp.', 'emails'<EMAIL_ADDRESS><EMAIL_ADDRESS>>>>

Nice work. Thank you.


Twillio.connect() auto disconected

Please include the following information for better support
The more context you provide around this issue the faster the community can help you
Did you follow all the instructions as specified in the Twilio Quickstart repositories?
yes
What version of React Native are you running?
0.55.2
What version of react-native-twilio-programmable-voice are you running?
3.21.1
What device are you using? (e.g iOS10 simulator, Android 7 device)?
Android Emulator API 26
Is your app running in foreground, background or not running?
foreground
Is there any relevant message in the log?
yes
Step to reproduce
After successfully get access token, i'm make call to phonenumber but after initialize success, twillio status connect with null call_from and call_to and in one second twillio status disconected.

Any updates here? It appears that I am having the same issue. (react native 0.59.8, react-native-twilio-programmable-voice 3.21.1, android emulator API 28)

@whwright , Facing the same issue can you please guide me that what to do on backend to resolve this issue, I have been getting this issue from last night. Your support will be appreciated

@whwright , i have same issue...
Have you solved it?

I am also facing this issue. Any updatee here ?

I see that people are actively having problems with this. Please re-test if you also encounter problems on the newest version of this plugin.
If people still have this error, we will re-open this issue but please include a reproducible example.
Since a long time has passed I will be closing this issue. Read our repository update in #158.

Hi
The above issue was resolved...
I am having another issue, is it possible to make app to app calling using
twilio in React native..Currently i m looking for this solution. Please let
me know. Thanks
On Tue, 27 Oct 2020, 5:35 pm Jesse Degger<EMAIL_ADDRESS>wrote:

I see that people are actively having problems with this. Please re-test
if you also encounter problems on the newest version of this plugin.
If people still have this error, we will re-open this issue but please
include a reproducible example.
Since a long time has passed I will be closing this issue. Read our
repository update in #158
https://github.com/hoxfon/react-native-twilio-programmable-voice/issues/158
.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/hoxfon/react-native-twilio-programmable-voice/issues/116#issuecomment-717197619,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOFRMCAXBFLVTXXH2TEONO3SM2ZQ3ANCNFSM4GYR3RAQ
.

Hi @Samsritha1596, I refer you to the Twilio docs. https://www.twilio.com/docs/voice/client/tutorials/calls-between-devices

Thanks
On Wed, 28 Oct 2020, 12:24 pm Jesse Degger<EMAIL_ADDRESS>wrote:

Hi @Samsritha1596 https://github.com/Samsritha1596, I refer you to the
Twilio docs.
https://www.twilio.com/docs/voice/client/tutorials/calls-between-devices
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hoxfon/react-native-twilio-programmable-voice/issues/116#issuecomment-717739208,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOFRMCCKSEAWWSDMJRP2WJLSM65YZANCNFSM4GYR3RAQ
.

Hi
I m not getting call_state from connectionDidConnect listener..
Thanks
On Wed, 28 Oct 2020, 5:14 pm Sam sritha<EMAIL_ADDRESS>wrote:

Thanks
On Wed, 28 Oct 2020, 12:24 pm Jesse Degger<EMAIL_ADDRESS>wrote:

Hi @Samsritha1596 https://github.com/Samsritha1596, I refer you to the
Twilio docs.
https://www.twilio.com/docs/voice/client/tutorials/calls-between-devices
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/hoxfon/react-native-twilio-programmable-voice/issues/116#issuecomment-717739208,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOFRMCCKSEAWWSDMJRP2WJLSM65YZANCNFSM4GYR3RAQ
.

Please file a bug report in a new issue with the issue template filled out and as much information as you have.


Use Debian Slim as base image

Should make the docker image a lot smaller

Thank you.
Could I kindly ask you to rebase and squash?

Pull request seems to work, but we really need to rebase and squash it.
There are literary 5 changes but 10 commits and I cannot merge it because it says "This branch cannot be rebased due to conflicts".


Run on non-PR's

Thanks for a great package! In my case my site is not deployed through Travis, instead my deploy service (Netlify) triggers a web hook to run e2e and lighthouse after deploy.
Would it be possible to allow this to be ran on non-pull request events in Travis? Then it could fetch PR number, etc from the GH API; like https://api.github.com/repos/ebidel/lighthouse-ci/pulls

What's the use case you have in mind?
On Thu, Jun 7, 2018, 10:27 PM kontrollanten<EMAIL_ADDRESS>wrote:

Thanks for a great package! Would it be possible to allow this to be ran
on non-pull request events in Travis? Then it could fetch PR number, etc
from the GH API; like
https://api.github.com/repos/ebidel/lighthouse-ci/pulls
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ebidel/lighthouse-ci/issues/34, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAOigIrv1gIdOJBM_jpKtc85ITl7kcStks5t6gtZgaJpZM4Ufg2s
.

I'm triggering my Travis build with the API after I've deployed my PR preview

I made a fork to do a poc; https://github.com/kontrollanten/lighthouse-ci/commit/b6ad518a563acc54101e06c7d38b55b3c0f3d2c4
Please let me know if you want me to do a PR

Ah neat. Yea, a PR would be great. Changes are pretty minimal and I like the idea of making this more configurable :)

@kontrollanten lighthouse-keeper supports multiple CIs as well as detecting differences between PR branch and master branch. You should check it out!


[SONARMSBRU-212] Updated profile exporter XML to include plugin data

The Roslyn profile exporter format has changed to include data about plugins.
This change updates the XML classes to load the new format.

LGTM


How to set 'backup.pages.backups.navigation.group'

Hi apologies for raising a total noob question, but how do I set the:

backup.pages.backups.navigation.group

I see the class make provision for it. I have publish the config but the config is sparse and I only see this:
return [
...
    'pages' => [
        'backups' => \ShuvroRoy\FilamentSpatieLaravelBackup\Pages\Backups::class
    ],
...
    'polling' => [
        'interval' => '4s'
    ],
...
    'queue' => null,

];

I presume it's something fundamental about Filamentphp that I don't understand but I don't know where to start.
I tried raising this problem in GitHub Q&A for this repo but the hyperlink says 404.

I've made some progress. I see it's in the vendor's resources/lang/en folder. Not entirely sure if it's actually configurable without code changes as then one would have to accommodate all the languages files. Perhaps something like this?
English

'navigation' => [
				'group' =>  config('filament-spatie-laravel-backup.navigationGroup', 'Settings'),
				'label' => config('filament-spatie-laravel-backup.navigationLabel', 'Backups'),
			],
...

Spanish

```php
'navigation' => [
				'group' =>  config('filament-spatie-laravel-backup.navigationGroup', 'Configuraciones'),
				'label' => config('filament-spatie-laravel-backup.navigationLabel', 'Respaldos'),
			],
...

Comments? Happy to do a pull request.

@eugenevdm need to do similar like other lang
https://github.com/shuvroroy/filament-spatie-laravel-backup/tree/main/resources/lang

@shuvroroy I don't understand. Is there a way to configure the group in the file config/filament-spatie-laravel-backup ?
If not, do I first copy the language files across and then make then changes? If I copy them across, to where do I copy them?

@eugenevdm using config no options. We already have translation for Spanish. I don't have any clear idea what you want to achieve.
https://github.com/shuvroroy/filament-spatie-laravel-backup/pull/13/files

Hi @shuvroroy .
I want to change the name of the navigation group. At present the navigation group in English is "Settings". I want to change it to "System".

Hi @eugenevdm
Just publish the package lang folder change it for en.
'navigation' => [
    'group' => 'Settings', // Your one System
    'label' => 'Backups',
],

I just don't get it.
✗ php artisan vendor:publish --tag="filament-spatie-laravel-backup"

   INFO  No publishable resources for tag [filament-spatie-laravel-backup].

@eugenevdm You are using wrong command. Use this one
php artisan vendor:publish --tag="filament-spatie-backup-translations"


Discord integration options

Hello,
I'd like to list two options that currently seem to be promising.
1. Editing Piston API to include the JuliaTutor package in the Docker container.

You would need to modify the Julia package and build it yourself, then you can install the package into the stock piston container

https://github.com/engineer-man/piston/blob/master/packages/julia/1.5.4/build.sh
#!/usr/bin/env bash

# Install location
PREFIX=$(realpath $(dirname $0))

mkdir -p build
cd build

# Download and extract Julia source
curl -L "https://github.com/JuliaLang/julia/releases/download/v1.5.4/julia-1.5.4.tar.gz" -o julia.tar.gz
tar xzf julia.tar.gz --strip-components=1

# Build
echo "JULIA_CPU_TARGET=generic;sandybridge,-xsaveopt,clone_all;haswell,-rdrnd,base(1)
prefix=$PREFIX" > Make.user
make -j$(nproc)
make install -j$(nproc)

# Cleanup
cd ..
rm -rf build

Here the Docker container needs to be edited
https://github.com/engineer-man/piston
And here the bot would need to be aware of the edited Piston API.
https://github.com/Humans-of-Julia/piston-bot
Currently, when I try to install a package it throws a permission error, that's why we would need to include it ourselves.

2. Working it out with Discord.jl i.e. our HoJ bot directly.

You can send code to be run inside the Julia session on the server and have the results sent back, it would obviously lack a lot of features but it can at least cover the "run code" bits
If you add your own parsing instead of just blindly evaling everything you can handle the other REPL modes too.

Here is a Gist that could work as an entry point.
https://gist.github.com/christopher-dG/2d9327a1b4b3b24323c115dc179f87a2

Maybe we can dial this back a step just for my understanding. What kind of integration do we want with this package? Here are some use cases I can envision:

Julia tutor can be worked on in a chatroom and individuals can work on their own accord on whatever they like.
There is a special chatroom with mentors available guiding lessons and walking a small group of users through some examples.
A service that extends discord, IE: could be used on a website, etc.

Each of them have their own sort of needs.
The reason I am inclined to dial this back is - it sounds like we may need to change the API to be friendly for distributed users, or literally provide a Julia REPL to each user. IE: some lessons are relying on stored variables and their values between steps.

Another option is, the JuliaTutor package itself plugs into discord?
User kicks up JuliaTutor, it authorizes to discord, it posts to the discord server as the user works through their progress?

1. Julia tutor can be worked on in a chatroom and individuals can work on their own accord on whatever they like.

2. There is a special chatroom with mentors available guiding lessons and walking a small group of users through some examples.

These two sound most attractive to me personally, so users could do the HoJ School track and from time to time we do AMA sessions with mentors and coding challenges live.
But what happens when two users want to run it at the same time, could be conflicting in one channel. Maybe we would need two channels then, to allow reserving a channel.


Source maps not working with Firefox

Firefox has partial support for source maps. The Console tab doesn't use them yet, but ClojureScript's source maps are working fine for me in the Debugger tab. Browserify's do not.
The issue seems to be full pathnames in the source map's "sources" key:
    "sources": [
        "/home/graue/code/projectname/node_modules/browserify/node_modules/browser-pack/_prelude.js",
        "/home/graue/code/projectname/node_modules/backbone/backbone.js",
        "/home/graue/code/projectname/node_modules/bean/bean.js",
        "/home/graue/code/projectname/node_modules/browserify/node_modules/buffer/index.js",
        "/home/graue/code/projectname/node_modules/browserify/node_modules/buffer/node_modules/base64-js/lib/b64.js",
        "/home/graue/code/projectname/node_modules/browserify/node_modules/buffer/node_modules/ieee754/index.js",
        ...
    ]

If I remove the beginnings of each path so all the pathnames are relative to the project root, e.g.
        "node_modules/browserify/node_modules/browser-pack/_prelude.js",
        "node_modules/backbone/backbone.js",

then base64-encode the modified source map and stick it back into the Browserify bundle, Firefox's debugger is happy (and Chrome's still is, too).
I've done this manually but may be able to work on a PR for this later, if making Browserify use relative paths is seen as an acceptable change and the best way to go here. Let me know if that sounds like a good plan.

I suspect this is https://bugzilla.mozilla.org/show_bug.cgi?id=1090768 / https://github.com/mozilla/source-map/pull/145 and if so should be fixed in 36+
If anyone can still reproduce in Nightly, please file a bug with the test case: https://bugzilla.mozilla.org/enter_bug.cgi?product=Firefox&component=Developer Tools%3A Debugger

Removing my home folder path from [preludePath and row.sourceFile] in node_modules/gulp-browserify/node_modules/browserify/node_modules/browser-pack/index.js solved the problem temporarily till the new update is pushed to firefox developer edition.
sourcemap.addFile(
{ sourceFile: preludePath, source: prelude },
{ line: 0 }
);
...
sourcemap.addFile(
{ sourceFile: row.sourceFile, source: row.source },
{ line: lineno }
);

I'm not sure why Firefox would fetch the content when they're included already, and the linked bug suggests it's fixed in Firefox 37. A PR can probably be opened up against browser-pack to make the paths relative for older versions.

I believe this is still a bug in our end of the Firefox debugger. Looks like we aren't correctly checking the inlined source content of the sourcemap. I will fix this. See https://bugzilla.mozilla.org/show_bug.cgi?id=1166048
Note that the source URLs included in a browserify sourcemap do have a bug though: a file URL is include like /Users/james/foo/bar but it should be file:///Users/james/foo/bar. That is a webpack bug, it needs to be a URL. The reason most people don't notice is because it also inlines the source content.

@jlongster

Note that the source URLs included in a browserify sourcemap do have a bug though: a file URL is include like /Users/james/foo/bar but it should be file:///Users/james/foo/bar.

What values are you referring to, the elements of sources?

That is a webpack bug, it needs to be a URL.

Do you mean browserify?

@jlongster Ah yeah don't set a sourceRoot. That's an easy fix. We already pass it to browser-pack, but don't do anything with it there. I'll test it later and merge a fix.

@zertosh

@jlongster Ah yeah don't set a sourceRoot. That's an easy fix. We already pass it to browser-pack, but don't do anything with it there. I'll test it later and merge a fix.

I'm not sure there's actually a bug here. I think the sources elements are always considered to be URLs (without protocol they're just relative to some base). And if the user agent never requests them, it doesn't matter to this degree what their values are. (A separate issue that does matter is if they leak information you don't want exposed, like absolute local paths).

@jmm looking at the source map spec, i think you're right:

Line 4: An optional source root, useful for relocating source files on a server or removing repeated values in the “sources” entry.  This value is prepended to the individual entries in the “source” field.

so source root is optional.

If the sources are not absolute URLs after prepending of the “sourceRoot”, the sources are resolved relative to the SourceMap (like resolving script src in a html document).

and the default behavior is sane. though we should use sourceRoot if provided in browser-pack, and remove it from the row.

@zertosh

though we should use sourceRoot if provided in browser-pack, and remove it from the row.

I haven't looked into it, but if browser-pack is supposed to accept a sourceRoot param and it's disregarding one passed to it, that does sound like a bug (and something that needs to be documented [you can see I currently have it stubbed in the pipeline docs]). Seems odd for that to be a row prop though -- seems more appropriate as an opt. Is that what you meant by "remove it from the row"?
As long as browserify is generating source maps with sourcesContent I don't think it should automatically be populating file:// in either sourceRoot or sources.

Seems odd for that to be a row prop though -- seems more appropriate as an opt. Is that what you meant by "remove it from the row"?

Yup and yup.

As long as browserify is generating source maps with sourcesContent I don't think it should automatically be populating file:// in either sourceRoot or sources.

It should just be an option. I'll add it in browser-pack

I previously said:

As long as browserify is generating source maps with sourcesContent I don't think it should automatically be populating file:// in either sourceRoot or sources.

In case this comes up again in the future, I can't think of a reason for file:// or any URI scheme to be included in the source map output by default, with or without sourcesContent. By default the output should be setup so that the scheme flows from the base URL used in the specification's resolution algorithm.

This issue has become too dated and muddled to be actionable at this point and there's at least one open bug on Firefox that may be the problem. Also, I don't know when it changed, but by default browserify currently generates source maps with relative sources values. For those reasons I'm closing this issue. To anyone who is still having a problem in Firefox >= 37:
If it seems to be a Firefox bug, please follow up there.
Otherwise, please open a new issue here with a minimal reproduction in a repo and any other relevant information, such as Firefox version.
See:
https://bugzilla.mozilla.org/show_bug.cgi?id=1166048
https://bugzilla.mozilla.org/show_bug.cgi?id=882986
https://bugzilla.mozilla.org/show_bug.cgi?id=852792
https://bugzilla.mozilla.org/show_bug.cgi?id=1090768

Looks like this problem was just fixed by Firefox in version 42.0a2. (Download the FirefoxDeveloperEdition)


Autocomplete jp #29

Current coverage is 55.83%

Merging #39 into master will increase coverage by +0.92% as of 7b4d409

@@            master     #39   diff @@
======================================
  Files            9       9
  Stmts          122     120     -2
  Branches         0       0
  Methods          0       0
======================================
  Hit             67      67
  Partial          0       0
+ Missed          55      53     -2

Review entire Coverage Diff as of 7b4d409

Powered by Codecov. Updated on successful CI builds.


Add flag to undo to only undo specific package

For example if I hack two libraries and only want to undo the first one.

@SirWindfield Hi, yeah, I'm looking into supporting it 👍


DRS Enable/Disable

Hello mate! I have an important problem and I need your help. I want DRS enabled after lap 3 in F1 race. This situation must be active with a difference of less than 1 second between you and your opponent. So if our normal speed is 80, it will increase to 85 when DRS is active. Thank you from now

Hello mate! I have an important problem and I need your help. I want DRS enabled after lap 3 in F1 race. This situation must be active with a difference of less than 1 second between you and your opponent. So if our normal speed is 80, it will increase to 85 when DRS is active. Thank you from now

@cockerelhub Hello dude, I have seen your issue but it can take a long time to do because of my business. Sorry about that, btw you can re-open the issue on haxball-issues wiki and look for a faster result as it has more visibility than here.

Hello mate! I have an important problem and I need your help. I want DRS enabled after lap 3 in F1 race. This situation must be active with a difference of less than 1 second between you and your opponent. So if our normal speed is 80, it will increase to 85 when DRS is active. Thank you from now

@cockerelhub The original script isn't modified unless there's any fatal issues like in the issue #8. As far as I remember, in the Spanish F1 bot room (Wild's one) it was using three kinds of tyres and I can say that it's a similar logic (certain zone and player damping adjustment) compared to that.


version/double precision

Do not merge into master, this PR tracks the latest double precision version of voxblox used in maplab_private.

Will no longer be necessary for maplab, we switched to floats as well.


Fixed height/width docs in Readme

Documentation for height was incorrectly showing a default that isn't actually used (and that's good) while width was missing from it completely. Fixed first, added second.

Thanks!


complete.lua: general improvements to code

Do not show key in the documentation window because it is redundant
Avoid repetitively calling table.insert twice
Insert the value of the environment variable if the user confirms

If the user selects instead of confirms, do not insert the value of the evironment variable

First and second improvements looks good to me. However for improvement 3 could you create it as a configuration option? Because some may prefer to complete the name of environment variable itself while some may prefer to complete the value of the environment variable as you have implemented in for third improvement.

First and second improvements looks good to me. However for improvement 3 could you create it as a configuration option? Because some may prefer to complete the name of environment variable itself while some may prefer to complete the value of the environment variable as you have implemented in for third improvement.

You're right.  I will make an option for it.

I'm going to assume the option will if true completes the value of the environment variable and if false completes the name of environment variable? If so I'll prefer false to be the default option as this plugin originally completes the name of environment variables and I'll prefer not to break the config of other users of this plugin where this is the original behavior.

I'm going to assume the option will if true completes the value of the environment variable and if false completes the name of environment variable? If so I'll prefer false to be the default option as this plugin originally completes the name of environment variables and I'll prefer not to break the config of other users of this plugin where this is the original behavior.

Sure, see the latest commit.

LGTM. Thank you for the code improvements and the new eval_on_confirm option feature.


rc: fix an infinite loop on tty close

if the tty is closed while the script is running,
it would previously go in an infinite loop trying
to read from and write to the now-defunct tty.
I finally opted for the set -e/set +e mechanism,
which introduces a minimal diff.
fixes: https://github.com/opnsense/core/issues/1240

Thanks, I like the simplicity of this fix the most! 😊


Fibonacci pollinterval hangs with offset > 21 ms on Windows

Hi there,
When I try the following, the code hangs, even beyond the atMost interval. When the offset is <21, e.g. 8 or 13, it works ok.
await().pollInterval(fibonacci(21, TimeUnit.MILLISECONDS)).atMost(Duration.ofMinutes(2))
This is on 4.0.1.
Thanks!

I've tried to reproduce this (on Mac) but I can't. I don't have windows so if this is a windows specific issue I have no way to debug it. Could you help out and debug what's going on?

Closing due to inactivity


Fiexes for Python 3

FIX imports, css file read as binary | Tested with python 3.10

@tariqbuilds can this be pulled in?


test: refactor unit tests, closes #1

What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Docs
[ ] Code style update
[ ] Refactor
[ ] Performance
[x] Test
[ ] CI
[ ] Other, please describe:

Description

Reason for change

Testing reduces bugs
Does this PR introduce a breaking change?

[ ] Yes, and the changes were approved in issue #___
[x] No

Checklist

[x] When resolving issues, they are referenced in the PR's title (e.g fix: remove a typo, closes #___, #___)
[x] I have added a convincing reason for adding this feature
[ ] I have added necessary documentation
[x] I have added tests that prove my fix is effective or that my feature works (if appropriate)

Other information

This pull request is not up to date, and currently I don't have the time for rigorous unit testing. The existing unit tests, future doc tests and integration tests should be enough.


Pull the image before running --version

This avoids the output getting polluted when native-image --version runs and it's output is getting parsed for version info.
Closes: #148

THX :pray: