Preserving URL state between iterations (optional to specify continuation URL) - done

Hi !
Refer flow, data and output as attached, each record update, browser will show about:blank webpage. Kindly advice, how skip/remove the webpage (about:blank). Thank you.
data.csv

#
PFR
Item
Qty

1
BL/0000002
642-0177-85
500

2
BL/0000002
642-0177-85
600

test.tag
if iteration==1
http://uwcerpapp/WSWebClient/Default.aspx
keyboard [tab]
wait 0.1
type User Name as [clear]usrid
type Password as [clear]pwd
type Configuration as [clear]cname
click Sign In
wait 5
keyboard [ctrl][o]
wait 3
keyboard Customer Order Blanket Lines
wait 2
keyboard [enter]
wait 0.5
keyboard [f4]
wait 10
click new.png
wait 0.5
type Order as PFR
keyboard [tab]
wait 0.5
keyboard [tab]
wait 0.5
type Item as Item
keyboard [tab]
wait 1
click OK1.png
wait 1
keyboard [tab]
wait 0.5
keyboard [tab]
wait 0.5
type Blanket Quantity as Qty
keyboard [tab]
wait 0.5
keyboard [ctrl][s]
wait 0.5
about_blank.pdf

Hi @blinkh00 to prevent TagUI from opening a new browser in between datatable iterations, you may run the flow with speed option like this:
tagui test.tag data.csv -speed

Adding on, I can replicate this. The usual setup for this situation is below.
I think there is some design constraint that need to go to about:blank let me check again.
if iteration equals to 1
    initial_url_for_login_etc
    // login steps

url_for_rest_of_iterations
// main steps to repeat

The change was to address situations when a URL is not given and fail error checking --> https://github.com/kelaberetiv/TagUI/issues/97
Looking further..

I've checked and confirm that this is by design. Because the underlying engine used for automation is CasperJS, it requires visiting a webpage when a URL is not provided. But for subsequent iterations, visiting back the original URL doesn't make sense. So the workflow is required to provide 1 URL for first iteration (to do login etc), and 1 URL for main repetition
if iteration equals to 1
    initial_url_for_login_etc
    // login steps

url_for_rest_of_iterations
// main steps to repeat

In this case, you can provide the URL to start for subsequent iterations by providing it before this line -
click new.png

Alternatively, instead of using datatable, you can consider processing the csv file directly this way --> https://github.com/kelaberetiv/TagUI/issues/1083

Hi @blinkh00, thanks for raising this! I found a technical workaround and has implemented an update. With this update, TagUI will preserve the URL state between iterations so that it will continue from the last URL where it left off, if no URL is provided in the main body of where to visit, but only provided during iteration 1. With this change both your workflow will work, and also existing user workflows which specifies a specific continuation URL will continue to work.
continue where webpage left off
if iteration equals to 1
    initial_url_for_login_etc
    // login steps

// main steps to repeat

specify a specific url for iteration
if iteration equals to 1
    initial_url_for_login_etc
    // login steps

url_for_rest_of_iterations
// main steps to repeat

If you are using TagUI v6.46 and above, you can get this update with tagui update command or MS Word plug-in Update TagUI button. If not, you can get TagUI v6.46 from this installation page before performing the update.
Alternatively, you can manually unzip this zip file to overwrite your existing TagUI installation. After unzipping, drag all the folders and files under TagUI-master\src to your existing tagui\src folder. This will apply this update to your TagUI.

Above commit added fix to the issue cause by this change to live mode URL step.

Thanks to @lookang for your feedback!

Closing since this change has made its way into the latest packaged release.


AttributeError: 'LucidCamera' object has no attribute 'device'

Hi all,
Just wondering if this is still supported? Trying to get a OpenHSI with a LUCID camera running on Ubuntu 22.04. The device is recognised when I use the LUCID SDK examples, but it doesn't seem to be recognised using the OpenHSI library? Would love to get this working.
`import os
from openhsi.cameras import LucidCamera
CWD = os.getcwd()
ASSETS_FOLDER = os.path.join(CWD, "assets")
JSON_FILE = "OpenHSI-06_settings_Mono8_bin1.json"
PKL_FILE = "OpenHSI-06_calibration_Mono8_bin1.pkl"
json_path = os.path.join(ASSETS_FOLDER, JSON_FILE)
pkl_path = os.path.join(ASSETS_FOLDER, PKL_FILE)
with LucidCamera(n_lines=1000,
processing_lvl = 2,
pkl_path=pkl_path,json_path=json_path,
exposure_ms=10
) as cam:
cam.collect()
cam.show(hist_eq=True)`
The simulated camera works.
`Allocated 399.46 MB of RAM. There was 2243.54 MB available.
Traceback (most recent call last):
File "/home/logic/LSSR_hyperspectral/main.py", line 18, in
cam.collect()
File "/home/logic/LSSR_hyperspectral/venv/lib/python3.10/site-packages/openhsi/capture.py", line 46, in collect
self.start_cam()
File "/home/logic/LSSR_hyperspectral/venv/lib/python3.10/site-packages/openhsi/cameras.py", line 255, in start_cam
self.device.start_stream(1)
AttributeError: 'LucidCamera' object has no attribute 'device'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/logic/LSSR_hyperspectral/main.py", line 13, in
with LucidCamera(n_lines=1000,
File "/home/logic/LSSR_hyperspectral/venv/lib/python3.10/site-packages/openhsi/capture.py", line 42, in exit
self.stop_cam()
File "/home/logic/LSSR_hyperspectral/venv/lib/python3.10/site-packages/openhsi/cameras.py", line 258, in stop_cam
self.device.stop_stream()
AttributeError: 'LucidCamera' object has no attribute 'device'`
These are the IP settings after going through the LUCID guides:
`./IpConfigUtility /list
Scanning for devices...
[index] MAC             IP              SUBNET          GATEWAY                 IP CONFIG
[0]     1C0FAF017A06    <IP_ADDRESS>   <IP_ADDRESS>     <IP_ADDRESS>                 DHCP= 1 Persistent Ip= 1 LLA = 1`

Hi, we are continuing to support this as we use it in our research.
We have instructions on working with the LUCID camera here (https://openhsi.github.io/openhsi/tutorials/installing_linux.html#install-lucid-vision-arena-sdk-sydney-photonicsrobonation-openhsi)
Each camera has its own python api so just checking you installed the extra dependency?
Also, tip: you can paste Python code with formatting using
```python
import numpy as np
print("Hello world")
```

Thanks @roboticsmick, good catch. Will get a patch out ASAP.


How do i dictate the Encoding in 0.9.3?

I've seen #42 and #84 on this and tried out a couple of your comments (since you suggested it for another version) and cloned the repository to find it in tests. Unfortunately i was unable to find a sample for it and "Suggest" isn't being called.
var configuration = new Configuration(GetParserServices(), null, null);

var p = new HtmlParser(configuration);
var document = p.Parse(content);

private static IEnumerable<IService> GetParserServices()
{
	yield return new EncodingService();
}
private class EncodingService : IEncodingService
{
	public Encoding Suggest(string locale)
	{
		return Encoding.UTF8;
	}
}

Amazing project btw. Very impressed by all the effort you've put into this, laying it out with such a beautiful architecture.

Hi, first of all thanks for all the nice words. Much appreciated! Second, can you give me some hint what content is in your example? If its already a string, then Suggest won't be called at all (encoding will be ignored). The encoding is only used for a Stream.

content is a string indeed and in hindsight after posting this question it made a whole lot of sense. Oddly enough it works just fine in unit tests when i pass those strings, but once the string is the value from a textbox i'm getting that exception.

Callstack is probably useful in case it's a bug

I don't think its a bug. Even when the encoding is fixed (or won't be changed) the information from the meta tag w. charsert (if available) is transported to the corresponding TextSource (responsible for reading from the content). Hence the encoding needs to be resolved.
Unfortunately, the .NET system does not provide a method to check if an encoding exists. Different platforms come with different encodings and there may be a missing / or just wrong encoding to be resolved. Therefore, the only way is to call GetEncoding and check if there is an exception. This potential exception is handled in a try-catch block.
I can therefore only assume that your debugging session breaks on every exception, i.e., the exception you are seeing won't be triggered w/o VS being attached. *
I would prefer to use another way to check if a given encoding exists, but I don't know any other reliable method that works on all platforms / within the PCL AngleSharp is using. Maybe you know some solution.
See:
https://github.com/AngleSharp/AngleSharp/blob/master/AngleSharp/TextEncoding.cs#L528
*) This explains the behavior you describe with "odd" where the unit tests pass, but you see the exception during "runtime" (runtime = running the app with VS attached).

Yeah, you're right. The exception is caught properly. I had "Just my code" disabled. Too bad they don't provide Encoding.GetEncodings in the PCL :/
Thanks for your help. Have a nice christmas.

Sure, no problem! Glad we figured it out, though. Merry Christmas and a relaxing holiday to you and your family, too!


TotalSprites and TotalColors should default to false

Need to go back and make the API more intuitive. By default, it should return all values and only be optional to ignore empty ones.

The issue was in the GameEditor.


Change README.md to include package install information

As it stands, the cookiecutter template we are using is stating users can install the package via pip, which is not true as currently this package has not been published to PyPI yet. This needs to be changed.


Capstone mobile

This pull request sets up the project and adds the Homepage and the About page.
Summary

Set up the project folder structure
Set up Webhint, Stylelint, and ESLint
Add GitHub workflow for linting
Add CSS reset
Add CSS custom properties
Add mobile menu with styles and open/close logic
Add speakers section and dynamically generate speakers' HTML using JS
Add partners section
Add footer
Add the hero section
Add the main program section
Add view MORE/LESS speakers buttons, with functionality
Update README.md
Add the About page, reusing pre-existing styles

sorry for the publishing problem. Now i fix it


Sorry if this seems basic but I'm struggling

Here's a pared down example of what I'm trying to do.
I have two states: "Passing Time" and "Seeking Food". Over time, a varaible "hunger":int increases. When "hunger" is over a certain threshold, I set_expression_property("mood", "hungry") to let the statechart know that we're not "mood == "fine" anymore.
Now I want to stop "Passing TIme" and do "Seeking Food" instead. What is the best, simplest method state tree to accomplish this?
Because I feel like I've tried everything to make this work and I can't, even after watching the tutorial video multiple times and reading the documentation and looking at the examples (which I only half-understand, it's all too abstract for me). Trust me, it's not through lack of effort. I've spent the past two days solid working on this simple thing.
Specifics:
Root <-- decide_mood() called here in _state_processing() to update "Mood" expression property and send event ("mood_decided")
|_Passing Time
  |_Idle <-- _on_state_entered() randomly sets Travelling destination if randi_range(0,1) == 1, otherwise sends "mood_decided" event
    |_To Idle <-- listens for "mood_decided" and has expression guard "mood" == "fine"
    |_On Next Destination (copied from ants example)
    |_To Seeking Food <-- listens for "mood_decided" and has expression guard "mood" == "hungry"
  |_Travelling (copied from ants example, assume same child nodes here)
|_Seeking Food <-- all this stuff works so not going to comment it
  |_Idle
    |_To Idle
    |_On Next Destination
    |_To Eating

Ok so, I've tried To Idle without the expression, I've tried it without the event, I've tried every combination of with/without. It either breaks the statechart in an infinite loop, or it gets stuck in Idle and never allows a different transition to happen, or it just plays Idle once and then never transitions to anything, even To Idle.
Why do I have To Idle? Because without it, Idle is never re-triggered and mood is never evaluated and no other transitions have a chance of happening.
So clearly, I'm doing it wrong, but this is the 4th re-do of this very basic foundation I'm trying to set up before doing anything more complex, and I'm honestly just getting frustrated with it. The more I mess with it, the more code I end up writing, and needing the statechart less and less because it's not doing anything for me. I want to move in the opposite direction, but I need better examples or something because it's just not sinking in and the provided examples are too complex. I thought the ants one would be good to model off of, but they don't have an "Idle" state and my hacky attempts to modify it to include "Idle" obviously aren't working.
I read somehwhere that setting an expression property is supposed to immediately re-evaluate them, but that doesn't seem to happen. Nothing happens when I set the expression property, and if I fire a generic "mood_decided" event to all the transitions, they don't seem to listen to their expression guards and just always pick To Idle no matter what mood is. And yes, I'm using the debugger and "mood" is definitely switching to "hungry" when it should, so that's not the problem.
Sorry, I don't know how to tag this as not a bug, just a question.

I'm not quite sure about your requirements yet. Before I can recommend any approach I would need to know exactly what it is we want to model. And for that let's maybe take a step back from the state machines and really just draw out what we want to happen.
Here's what I gathered so far:

There is a unit which can move around.
The unit can be hungry.
If the unit is hungry it should look for food.
If the unit is not hungry it should just idle around.
If the unit is looking for food and found food it should eat the food.

From this, I can come up with this high level state diagram:

Now this alone wont help solve the problem just yet, because we still need to answer a few questions:

How does the food seeking work exactly?

How does the unit find food?
How does the unit get to the food?
How does the unit pick up the food?

What does the unit do when it is idle?

Does it wander around?
If so how does it find places to wander?

If we answer these questions we can use the information we gather from that to refine our state diagram. And then we can repeat this process until we have no more open questions and have a diagram which tells us exactly how our unit should behave. And only then we start implementation. I found this way to be a lot less frustrating because it makes me think about my problem and understand it really good before getting down into the nitty-gritty of the implementation.  So maybe you can help fill in the blanks on these questions and then we can find a nice solution for the problem.

Thank you, I really appreciate the help and I hope it's not too bothersome for you to entertain what is essentially just a newbie developer asking game design questions. With that in mind I don't want to take up a lot of your time so I will keep it to a few questions that should hopefully get me on a foundation I can build out from on my own.
Okay so, during Idle, it should do one of several things:

Stand around and not do anything for an arbirary length of time
Play a random idle animation
Walk somewhere

The first couple of questions arise here: Is state_entered a bad choice for this? Should I be thinking about using _processing instead? Because one of the major issues I keep running into is how do I get it to wander idly sometimes if it's in Idle and Idle never gets retriggered? (That's when I started trying to use a To Idle transition with a delay, and that caused more problems)
The other issue is, I'm hoping to avoid needlessly bloating the state chart with many many copies of "walking" or "going somewhere" nodes, so I thought to separate this out into its own "Travelling" state. But that means that when its mood changes to "Seeking Food" for instance, it then has to immediately switch into "Travelling", but if this "Travelling" is generic and is going to have a multitude of "To [mood]" transitions all listening to a single event "navigation_finished", the transitions always seem to ignore their state guards (like when I check for "mood" to be "hunger" or "fine") and just pick the first transition (i.e. back To Idle) and the logic tends to break.
So is having a generic Travelling state not the way to go? If not, that prompts me to ask: If this creature ends up with 5+ different moods, any number of which may need to travel to a target first, am I going to need them all to have their own travel nodes?
The more I thought about this, the more I felt moods should not be states, and instead my states should be limited to actual "I'm doing something" concepts, agnostic of whatever mood it's in. For example, "I'm fine and not doing anything" vs. "I'm hungry and not doing anything" should both just be "Idle". Similarly, "I'm fine and wandering somewhere" vs. "I'm hungry and seeking food" should both be "Travelling", and the statechart doesn't care what the target object or position is.
That seemed like a good idea at first, but then I started to realise I'm inching back towards "everything handled in code" territory, and the statechart becomes less and less useful. I stop setting expression properties and just trigger states based on mood, and that's all handled in code, and the chart ends up doing nothing for me. I want to move in the opposite direction, exactly what this addon was developed for, to handle the logic of switching to appropriate states so I don't have to be telling it explicitly every time.
That's where I'm at right now. Again, I'm sorry to bother you with this, and I have no expectations or demands to be helped, but I am truly appreciative that you responded kindly and offered to help. If there is a better place to ask about all this, I'll happily go there and you can close this thread. Thank you again!

Well no need to be sorry for anything these are all interesting questions to raise. So after reading through it, this is a first draft of what might work in your case:

As you rightly point out we would get a bit of a state explosion if every "mood" had its copy of the travel tree. But since we have state charts here, we can factor this out into a parallel state which does its own thing.  So traveling now is a subsystem that can be incorporated into other systems. We do this by using events to signal our needs. So whenever a subsystem needs to travel somewhere, it will acquire the travel target (which is depending on the use case, e.g. the Foraging  system would acquire the next food item as target ,while the Idle system would just pick a random point nearby) and send the target_acquired event. Then the travel subsystem will handle the movement towards the target and in turn send a target_reached event when it has reached the target. This way we don't need any direct connections between the systems, because events are propagated into all parallel states - so if we send a target_acquired event, all parallel states will see it and can react independently to it.
With this set up, we can create the rest of the behaviour. We have an Idle state. When this is entered it will randomly pick one of three actions:

Do nothing. This will return back to the idle state after some random amount of time (no code needed, can be done with the state chart's built-in timed transitions).
Play an idle animation. There needs to be some code playing the animation when the state is entered and the animation player will need to send an event when it is finished so we can go back to idle.
Wander around. This state would have code on state_entered which picks a random target and sets this as the current target (in some variable in the code). It would then also call send_event("target_acquired") so our movement system can start walking towards the target. When the movement system is done it will send the target_reached event which will in turn leave this state and we're back at picking an idle option.

Now for the foraging. We said there should be some hunger system that triggers foraging behaviour. I have modeled this as another parallel "state" below. On state_enter there is code that will increase the hunger amount and then send the hungry event if the hunger is above a certain level. Then it will just sleep for a few seconds. This doesn't necessarily need to be a state it can also be done with a periodic timer.
Now whenever we're in some idle state and the hungry signal is sent, we change to the Foraging state. There the objective is to get some food, so we enter Acquire target state. This works very similarly to the wandering around we had in idle, the only difference is that this time the code on state_entered would try to pick a nearby food location instead of a random target.  If no suitable location is found, then the code just sends the done  event and we`re back in idle.
If a location is found the code sets it as current target and then sends the target_acquired event. This will trigger the Movement system to walk towards the target and also move the Foraging system into the Move to target state. In this state the Foraging system will simply wait until the Movement system has sent the target_reached event, so no code is needed here. Once we have arrived the Foraging  system now switches to Eat food which has a state_enter which will pick up and consume the now nearby food and decrease the hunger accordingly. After the food is eaten, this sends the done event and we're back in idle. If the food was not enough or we simply didn't find any food, our hunger subsystem will find it out in 5 seconds and send another "hungry" event, so again we don't need to add a ton of connections to our state chart.
And now this can be extended with all kinds of other behaviours. The division of work between code and state chart is that our code controls what happens while our state chart controls when it happens.  So all our code does is to pick targets, play animations, increase hunger, move towards a given target and signals important events like hungry, target_acquired, target_reached, etc. to the state chart. Our state chart in turn is in charge of picking the right action to do based on the events the code is sending.
I hope this is somewhat helpful. Please feel free to ask additional questions, it's always very interesting and useful for me to get a peek into how other people approach their projects. This helps a lot in designing the library and writing useful documentation.

This is incredibly helpful, thank you so much for taking the time. I'll read through this a few times and experiment with it, and will let you know how I get on with it. I think I should be able to learn enough from this to expand it further without additional help, but if I run into any specific issues, I'll ask about them.
You are awesome :)

I do have one question. You raised a good point I had been thinking about with regards to a single "eat food" not being enough, and needing to repeat the action. In cases like that, I'd prefer not to transition back to Idle so that the action can appear continuous and not allow it to start walking away or playing another animation.
So in cases like that, does it work to simply have a transition "To Eat" under the "Eat" state, and have that triggered by the Animation Player once it reaches the end of its "eating" animation by checking the current value of "hunger"? So if hunger was satisfied the animation would send "back_to_idle" and if it wasn't enough it would send "keep_eating", for instance. Is that going to cause any issues?

What do I do about transitions being triggered multiple times in the same frame? I send the "target_acquired" event to set the Travelling parallel state going, and while this works, my wander() function is being called two, three, sometimes ten times in a single frame before the statechart decides to take the event seriously and actually do the thing.

The idea is to have a handler that is called on state_enter for the Walk around state. This handler will pick a target and then send a target_acquired event. After this the state chart stays in the Walk around state until the travelling system sends a target_reached. So your  method would only be called once.

Let me build this up here locally, maybe there is a bug...

Ok I definitely just found a problem here: https://github.com/derkork/godot-statecharts/issues/143
As a workaround, you can delay sending the event by one frame, e.g. state_chart.send_event.call_deferred("target_acquired").

That's good to know. I'm actually quite glad this is a bug and not just me being a dummy, lol! It looked like it should have worked and yet wasn't, I couldn't figure out what I was missing.

I think there's also a bug in the delay timer. I've had my "Idle/Do Nothing/To Idle" transition set to 5.0 seconds for pretty much all of today, but now I wanted to test something specific so I set it to 50.0 seconds. But it will always trigger after 5.0 seconds. I don't have any other code telling anything to happen or be delayed after 5.0 seconds, so this is the only culprit.

I can't seem to reproduce that. Could you maybe open another issue for this and give me some details on the setup that is triggering this behaviour? Thanks a lot!

Apologies, I deleted that comment as I was mistaken. There's no problem.

The last entry in your transitions  list (Idle01 Variant) is probably not going to work the way you intend it to work. I assume you want to pick a random idle animation, so you have added an automatic transition that randomly transitions to the idle variant. However automatic transitions are only triggered when the state that contains them is entered or an expression property is set. Since your Animations state is below a parallel state it will always be active so this transition will never be run again on state enter because you will not enter the Animations state again.  You can model this with another compound state that wraps your idle variants:

And the you transition to your Idle compound state which in turn will pick a random variant of Idle00 or Idle01.
Also the automatic transition at the end will always evaluate when you set an expression property which probably is the reason why your animations seem to be broken. Whenever you set an expression property there is a 50% chance that your whole animation subtree transitions to the Idle01 state. If you do this every frame then this effectively breaks the whole animation subtree. With the new structure it will only break the idle subtree. To fix this problem I'd recommend making picking the idle animation an explicit event that is sent when the idle state is entered, e.g. like this:

So this way when you enter idle state the pick_idle event is sent and the transition that randomly picks the idle animation will only be triggered by this event and not every expression property change.

Hey again. I'm going to close this issue, as I don't think I'm going to be continuing to use the addon for the time being.
After spending several days with it, I do feel as though I fairly understand how to use it. But I have several usability issues with it that I feel make creating behaviours more convoluted and bothersome than they should be. If you check the Youtube video, I have a comment there (user MoogieSRO) that I've edited to give my feedback thoughts, which you may or may not find useful. I don't think there's necessarily anything wrong with the addon, but it's not fitting my needs, and I think I need to find a different solution to work with. But maybe some of the notes I made could be useful for improving the addon.
I may come back to the addon at some point, if exploring other options doesn't yield anything better, but for now I wish you luck with continuing the development of the addon. Thanks again for all the time you took to handhold me and explaining the concepts. This time was not wasted on me, as it's helped me expand my knowledge on the subject of state-based mechanics in general, which is going to help me no matter what solution I settle with. I found everything you explained in this thread enlightening and helpful.

Sure, if it isn't a good fit for your use case there is really no point in using it. Thanks for sharing your insights!


Sharing session kicked me out and wouldn't let me back in

Product and Version : VSCode
OS Version : macOS
Live Share Extension Version: 1.0.2169
Target Platform or Language [e.g. Node.js]: python
What were you doing when you encountered the desync?
I was in a live share with some teammates, rafactoring some code
How often have you encountered desyncs?
This is the first
I wonder if it could have anything to do with a PIM activation expiring. I'm not sure if it expired at the time, but that was one thing I thought of that could have "logged me out".
I haven't been able to connect to the live share session since.

Thanks for reaching out. Can you give us more details about your scenario? Also, your logs may provide us with helpful information. You can access them via the Live Share: Export Logs command from the command palette (ctrl + shift + p) and attach them to

I assume you wanted me to attach the logs here? If so, here they are.

I don't see any errors about connecting to a session or a desync in the logs.
Do you still see the issue? Can you connect to a live share session now? Is there any error message in VSCode when you connect?

I was able to host a session. I have not yet tried to connect to a session hosted by someone else, but I imagine it would be similar.
If it comes up again, I'll grab the logs and post them.


twister: testplan: toolchain_exclude filter is overridden by integration_platforms

Describe the bug
When both integration_platforms and toolchain_exclude are specified for a test, the twister testplan logic fails to apply the toolchain_exclude filter.
For example (8e8b56881feb9ed68b3435aa67436abc8a2a8b0f):
  logging.add.log_user:
    tags: logging
    filter: CONFIG_USERSPACE
    extra_args: CONF_FILE=log_user.conf USERSPACE_TEST=1
    integration_platforms:
      - qemu_x86
    # FIXME: log_user test fails when compiled with the GCC 12 from Zephyr SDK.
    #        (see the GitHub issue zephyrproject-rtos/zephyr#49213)
    toolchain_exclude: zephyr

The status of the above test for qemu_x86 is set to error (In test case toolchain exclude but is one of the integration platforms) instead of filtered -- this results in the CI attempting to run this test when it should not.
To Reproduce
At 8e8b56881feb9ed68b3435aa67436abc8a2a8b0f, run the following:
scripts/twister --integration --save-tests test.json

test.json contains the following:
        {
            "name":"tests/subsys/logging/log_core_additional/logging.add.log_user",
            "arch":"x86",
            "platform":"qemu_x86",
            "run_id":"d463ea458733a7bf02d91c8f39cc0cb8",
            "runnable":true,
            "status":"error",
            "reason":"In test case toolchain exclude but is one of the integration platforms",
            ...

Expected behavior
status for tests/subsys/logging/log_core_additional/logging.add.log_user on qemu_x86 is set to filtered.
Impact
CI attempts to execute these tests because they are not "filtered."
Environment (please complete the following information):

OS: Ubuntu 20.04
Toolchain: Zephyr SDK 0.15.0
Commit SHA: 8e8b56881feb9ed68b3435aa67436abc8a2a8b0f

Additional context
Related discussion on Discord: https://discord.com/channels/720317445772017664/733037944922964069/1014173813795209216

cc @nashif @PerMac

Feel free to close this if you do not think this is a bug.
I still do not understand why toolchain filter needs to be mutually exclusive with platform filters (by that, I mean integration_platforms:).

TL;DR It's a feature, not a bug. IMO it is the only way to have a reliable scope in the CI.
I find it not a bug since this is the desired behavior and I deliberately made it work like this (skips on integration platforms getting changed to errors in the CI run). The background:
There are > 400 platforms in zephyr and > 1000 tests. This gives an enormous combination of all possible configurations to test. However, not all combinations are valid. Therefore, twister has a filtering logic to decide which configuration is viable to test and which should be filtered out. The viable scope is still huge and unfeasible to be used for running regression tests for PRs.  Therefore, there are additional rules for selecting the scope: some platforms are marked in their yamls with testing: default: true https://github.com/zephyrproject-rtos/zephyr/blob/main/boards/arm/frdm_k64f/frdm_k64f.yaml#L29 It appeared that using all of those platforms is still not feasible. Moreover, this list was not updated for a while, and many platforms only where a certain feature can be tested are not on the "default" list.
We realized we need to be able to set the platform scope for the CI on the test level. I.e. the test (and/or the CI) maintainers should be able to decide on which platforms the test has to run in the CI. This led us to the introduction of the integration_platforms and the --integration/-G mode. Their definition: integration_platforms set the minimal scope for the on-PR CI (i.e. when --integration/-G is used). This translates into two statements:

set the scope for the CI
make sure builds on such platforms are not skipped in the CI (stresses on "minimal").

This issue questions the second statement, so I will elaborate a bit more on it.  There are dozens of filters applied by twister to decide if a test can run on a given platform https://github.com/zephyrproject-rtos/zephyr/blob/main/scripts/pylib/twister/twisterlib/testplan.py#L553 Not applicable tests end as being skipped.  With so many filters (with some of them being very obscured)  there is a high risk for a test to switch from passed to skipped (e.g. a typo in depends_on entry). Skipped tests are not monitored in any way. Only errors/failures are marked as red and highlighted in the reports.
Summing the above: it is fairly easy to end up with a test that was executed and passed one day on a given platform in the CI and being completely skipped the next day. Then a change in a code is made, introducing a bug, but it is not detected since applicable tests were skipped. After half a year a maintainer is unpleasantly surprised by a report from a client/user that a given feature is broken. The surprise is big since the maintainer saw the CI passing on all of the changes for the last half a year. And the above is not just my imagination, but the real stories. I had to figure out several times "why the hell do we have a green CI if a component is broken". This is why I opted for introducing "skip->error" on integration platforms if the integration mode is on.
In the reported issue. If a certain scenario is deliberately skipped with "zephyr" toolchain (the one used in the CI) why would we want to deliberately ask the CI to execute it (vide definition of integration_platforms)? These are two mutually excluding options and hence the error. So in this case, if we know that this scenario cannot be executed in the CI, we can:
remove integration_platforms from the scenario (but then we can forgot about putting it back after fixing the issue)
add the failing scenario to the quarantine to mark the temporarliness of the solution (and start using this feature in the CI). The scenario will end up as skipped, but won't cause an error. Instead, It will get a special status in the report and remind us that it still needs a fix. https://docs.zephyrproject.org/latest/develop/test/twister.html#quarantine

not a bug.


Epic Clan Family (updated)

name: -Epic- Clan Family
key: epic
color: black
emblem: Skull_03
sort: trophy
info:
description: >
Epic is family of 7 clans in New Zealand but with members
from around the world. We all share a passion for the game,
we’re a friendly bunch with a happy vibe. The Epic way is
about both casual and competitive playing styles
and we value both. Show us what you got.
clans:
name: -Epic-
tag: LGGVV
name: -Epic- Thunder
tag: 2U0QJLQR
name: -Epic- Bootcamp
tag: P8UJG9L
name: -Epic- Empire
tag: Y0Q9VLYC
name: -Epic- Adventure
tag: YYVLGQG0
name: -Epic- Victory
tag: #LVGRUUJL
name: -Epic- Legends
tag: #YVCV2G0J
…

Apologies, I'm not very experienced in this area, I really want to get this right, can you be more specific on where I'm going wrong please?


sdn-402 allow accessing NodePort services from the node itself

Signed-off-by: Yun Zhou<EMAIL_ADDRESS>
- What this PR does and why is it needed

- Special notes for reviewers

- How to verify it

- Description for the changelog

Pull Request Test Coverage Report for Build 108708916

0 of 0   changed or added relevant lines in 0 files are covered.
5 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.06%) to 49.396%

Files with Coverage Reduction
New Missed Lines
%

go-controller/pkg/ovn/policy.go
5
66.7%

Totals

Change from base Build 106808462:
-0.06%

Covered Lines:
3887

Relevant Lines:
7869

💛  - Coveralls


new plugin: plantuml

Dear John,
this pull-request includes a new filter to create uml diagrams with the help of  plantuml from http://plantuml.com/.
Additional question: I have managed to allow options like width, an id and a caption for the generated image. Would you merge a patch which moves this to either a generic "util.py" or even to "pandocfilters.py"? I would also replace the repeated code from the other filters.
The steps to create a directory for the results (images) is also repeated in many filter and could be "unified" in a similar way.
Regards
August

+++ AugustH [Apr 19 16 14:10 ]:

Dear John,
this pull-request includes a new filter to create uml diagrams with the
help of plantuml from [1]http://plantuml.com/.
Additional question: I have managed to allow options like width, an id
and a caption for the generated image. Would you merge a patch which
moves this to either a generic "util.py" or even to "pandocfilters.py"?
I would also replace the repeated code from the other filters.
The steps to create a directory for the results (images) is also
repeated in many filter and could be "unified" in a similar way.

Both suggestions seem good to me.  I'd certainly review
patches along these lines.


CI fails

Cloning the remote Git repository

ERROR: Error cloning remote repo 'origin'

hudson.plugins.git.GitException: Command "git fetch --tags --force --progress -- https://github.com/ElektraInitiative/PermaplanT.git +refs/heads/*:refs/remotes/origin/*" returned status code 128:

stderr: fatal: unable to access 'https://github.com/ElektraInitiative/PermaplanT.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.

On v2:
mraab@v2:~$ git clone https://github.com/ElektraInitiative/PermaplanT.git/
Cloning into 'PermaplanT'...
fatal: unable to access 'https://github.com/ElektraInitiative/PermaplanT.git/': gnutls_handshake() failed: The TLS connection was non-properly terminated.
mraab@v2:~$ git clone https://github.com/ElektraInitiative/PermaplanT.git
Cloning into 'PermaplanT'...

So the problem seems to be the trailing slash.
But who adds it? In the build server config it says https://github.com/ElektraInitiative/PermaplanT

Also master is already broken because of this for some time: https://build.libelektra.org/job/PermaplanT/job/master/474/console

maybe some changes to the infrastructure we did @lukashartl?

It would be the TLS setting of GitHub or git, so rather unlikely?
Please always document all changes. Did you change something related to Jenkins?

Master works again.
Maybe the time is not synced properly on the server?
We should probably provide better logs (GIT_CURL_VERBOSE=1, etc..)
missing ca-certificates?
old gnutls and libgnutls package?
If we want, we could do git config --global http.sslVerify false to disable the sslVerify.

https://build.libelektra.org/blue/organizations/jenkins/PermaplanT/detail/master/500/pipeline
..RRFFFFRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRFRRFFFFFFFFFFFFFFFRRRRRR           [100%]R [100%]R [100%]R [100%]R [100%]R [100%]R [100%]F [100%]F [100%]F [100%]F [100%]F [100%]F [100%]

=================================== FAILURES ===================================

___________________________ test_map_already_exists ____________________________

[gw11] linux -- Python 3.10.6 /usr/bin/python3

@4ydan I think we need to disable e2e tests until we have a proper solution for #788

This is what the error says
An unstable feature was used.

Erroneous code example:

#[repr(u128)] // error: use of unstable library feature 'repr128'
enum Foo {
Bar(u64),
}

If you're using a stable or a beta version of rustc, you won't be able to use
any unstable features. In order to do so, please switch to a nightly version of
rustc (by using [rustup]).

If you're using a nightly version of rustc, just add the corresponding feature
to be able to use it:

#![feature(repr128)]
#[repr(u128)] // ok!
enum Foo {
Bar(u64),
}

[rustup]: https://rust-lang.github.io/rustup/concepts/channels.html

Pinning the version is also tricky. Changing the typeshare version has no effect and pinning ignore is not possible as its a child dependency of typeshare.


Removed obstructed line bug in 5 minutes challenge

Hello @arpitghura ,
I hope you're doing well. I recently made a change to the Typing-test repository to address obstructed lines bug. However, after thorough testing, I've noticed that my solution didn't produce the desired outcome.
I wanted to bring this to your attention and kindly request your guidance. I'm eager to learn from this experience and improve my skills as a contributor. Any feedback or suggestions you can provide on what went wrong and possible alternative approaches would be greatly appreciated.
Thank you for your time and consideration. I value your expertise and the opportunity to contribute to this project.
Best regards,
Pritam Roy

I've added this 4 lines only but in PR it shows that I've done lot of changes. It is because of prettier code formatting.

This PR will be reviewed till 6 June. Have patience 🫂

The issue comes in easy and intermediate session in which the scroll is not there.

Issue can be resolved by checking the height of the dynamic-text-box

Merging this PR, but some parts of the task remain uncompleted, which we cover in another issue.


returns 500 rather than 404 when image doesn't exist on node

Spegel version
v0.0.21
Kubernetes distribution
kubeadm
Kubernetes version
v1.26.7
CNI
Calico
Describe the bug
when image doesn't exist on node, always return 500 error rather than 404:
returns 500 rather than 404? are there any specific reason that 500 is required.
{"level":"error","ts":1713460945.8716972,"caller":"registry/registry.go:258","msg":"proxy failed attempting next","key":"sha256:5b452a5fd809b7065e99aad4f80295c2ba1d6000fa9686980164297118eef9e9","path │
│ ":"/v2/sonyali03/nginx/blobs/sha256:5b452a5fd809b7065e99aad4f80295c2ba1d6000fa9686980164297118eef9e9","ip":"<IP_ADDRESS>","error":"expected mirror to respond with 200 OK but received: 500 Internal S │
│ erver Error","stacktrace":"github.com/xenitab/spegel/pkg/registry.(*Registry).handleMirror.func1\n\t/build/pkg/registry/registry.go:258\nnet/http/httputil.(*ReverseProxy).modifyResponse\n\t/usr/local │
│ /go/src/net/http/httputil/reverseproxy.go:326\nnet/http/httputil.(*ReverseProxy).ServeHTTP\n\t/usr/local/go/src/net/http/httputil/reverseproxy.go:490\ngithub.com/xenitab/spegel/pkg/registry.(*Registr │
│ y).handleMirror\n\t/build/pkg/registry/registry.go:269\ngithub.com/xenitab/spegel/pkg/registry.(*Registry).registryHandler\n\t/build/pkg/registry/registry.go:181\ngithub.com/gin-gonic/gin.(*Context). │
│ Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/xenitab/spegel/pkg/registry.(*Registry).metricsHandler\n\t/build/pkg/registry/registry.go:327\ngithub.com/gin-gonic/gin. │
│ (*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/gin-gonic/gin.CustomRecoveryWithWriter.func1\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/recovery.go:102\n │
│ github.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/xenitab/pkg/gin.NewEngine.Handler.func2.1\n\t/go/pkg/mod/github.com/slok/go-http-met │
│ rics@v0.10.0/middleware/gin/gin.go:17\ngithub.com/slok/go-http-metrics/middleware.Middleware.Measure\n\t/go/pkg/mod/github.com/slok/go-http-metrics@v0.10.0/middleware/middleware.go:117\ngithub.com/xe │
│ nitab/pkg/gin.NewEngine.Handler.func2\n\t/go/pkg/mod/github.com/slok/go-http-metrics@v0.10.0/middleware/gin/gin.go:16\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin │
│ @v1.9.1/context.go:174\ngithub.com/xenitab/pkg/gin.NewEngine.Logger.func1\n\t/go/pkg/mod/github.com/xenitab/pkg/gin@v0.0.9/logger.go:28\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github │
│ .com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620\ngithub.com/gin-gonic/gin.(*Engine).ServeHTTP\ │
│ n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576\nnet/http.serverHandler.ServeHTTP\n\t/usr/local/go/src/net/http/server.go:2938\nnet/http.(*conn).serve\n\t/usr/local/go/src/net/http/server.g │
│ o:2009"}

Hm, are we asking a spegel node for a digest that it is advertising and it is answers 500? That doesn't sound right. Do you have an error log from that node?

The reason for returning 404 is due to conformance with the OCI distribution spec. I added the tests in #421 which required me to change the status code. We could add error messages to the response if you are interested in the reason for the 404 response.

Closing as this behavior is expected according to the OCI distribution spec.


Introducing Joern Guru on Gurubase.io

Hello team,
I'm the maintainer of Anteon. We have created Gurubase.io with the mission of building a centralized, open-source tool-focused knowledge base. Essentially, each "guru" is equipped with custom knowledge to answer user questions based on collected data related to that tool.
I wanted to update you that I've manually added the Joern Guru to Gurubase. Joern Guru uses the data from this repo and data from the docs to answer questions by leveraging the LLM.
In this PR, I showcased the "Joern Guru", which highlights that Joern now has an AI assistant available to help users with their questions. Please let me know your thoughts on this contribution.
Additionally, if you want me to disable Joern Guru in Gurubase, just let me know that's totally fine.

Hi everyone,
Have you had a chance to check this out?
Additionally, I’d like to update you on the release of the Maintainer Panel feature on Gurubase. With this panel, you can add, remove, or update data sources, as well as change the logo and more. You can find the details here.
In the near future, I’m planning to include analytics insights in this panel, such as the number of questions asked, the most frequently asked ones, and more. I’ll be sure to update this thread once it’s available. However, in case I miss it, I highly recommend joining our Discord channel to stay updated.
If you’d prefer that I don’t update this thread anymore, please let me know.


Can create apps/sites with WYSIWYG editor and event based sheet

Do you even know Godot is a game engine? it's not meant for this stuff.


Fix play after pause crash

Extra call of removeTimeObserver: caused a crush in play function in LSPAudioViewController. In code time observer removed in pause function.

Changes in 0acedc9e34a2feb9d478735696c425f8fbdaff46 supersede this PR. Closing.


Ms

Codecov Report

Merging #158 into master will increase coverage by 0.01%.
The diff coverage is 50%.

@@            Coverage Diff             @@
##           master     #158      +/-   ##
==========================================
+ Coverage   53.17%   53.19%   +0.01%
==========================================
  Files         337      337
  Lines       25817    25817
  Branches     3356     3357       +1
==========================================
+ Hits        13729    13734       +5
+ Misses      11401    11394       -7
- Partials      687      689       +2

Impacted Files
Coverage Δ

lib/python/treadmill/context.py
74.65% <ø> (-0.24%)
:arrow_down:

lib/python/treadmill/scheduler/masterapi.py
50% <50%> (+3.33%)
:arrow_up:

Continue to review full report at Codecov.

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


Remove asm dependency from animal sniffer plugin

Simple fix for a simple problem :D
Close #1088

@EvaristeGalois11 thank you :)


#1995 deprecation findDOMNode in React.StrictMode prevents edit

Developer's Certificate of Origin 1.1
   By making a contribution to this project, I certify that:

   (a) The contribution was created in whole or in part by me and I
       have the right to submit it under the Apache License 2.0; or

   (b) The contribution is based upon previous work that, to the best
       of my knowledge, is covered under an appropriate open source
       license and I have the right under that license to submit that
       work with modifications, whether created in whole or in part
       by me, under the same open source license (unless I am
       permitted to submit under a different license), as indicated
       in the file; or

   (c) The contribution was provided directly to me by some other
       person who certified (a), (b) or (c) and I have not modified
       it.

   (d) I understand and agree that this project and the contribution
       are public and that a record of the contribution (including all
       personal information I submit with it, including my sign-off) is
       maintained indefinitely and may be redistributed consistent with
       this project or the open source license(s) involved.

Hi @caritaou — In this PR I fixed the code so that the warnings don’t appear in the console when using StrictMode as detailed in the issue.  However, there is something that is stopping the Canvas objects being displayed when StrictMode is set. I am not sure why that is and don't have time to investigate further right now, but I thought it would be best to get my changes so far in using this PR.


Try-state for Collective pallet

This PR writes expectations for the collective pallet storage that must always apply.
Part of: #12831

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2550451

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable-int
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2550522

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2552031

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2552032

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2552033

@ggwpez Could you please review this?

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2573470

There are probably more things that can be checked

Added two more checks. Please let me know if you come up with some more things that can be checked.

@ggwpez @kianenigma If all good could you approve? 🙇

Still dont know if we should use ensure or assert 😆

Yes, that is still a mystery 🤣

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: test-linux-stable
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2596700

Prior to merging, I'd like some evidence that the given expectations actually pass against the current state of Polkadot, Kusama, and Westend. Can you check that?

Yes, I will check that.

@kianenigma I have run the try-state against the Polkadot state. AFAIK Kusama and Westend don't use the pallet_collective in their runtime.

April 16, 2023 15:08
Revert
View details liamaharon merged commit 4e93782 into paritytech:master Apr 17, 2023
47 checks passed

Why? it is crystal clear to me :D
https://github.com/paritytech/substrate/issues/13736
@Szegoo @liamaharon any of you fancy it?

Looks good. Still dont know if we should use ensure or assert 😆

Why? it is crystal clear to me :D
#13736
@Szegoo @liamaharon any of you fancy it?

@Szegoo you have first dibs, otherwise I can pick it up next week :)

@Szegoo @liamaharon any of you fancy it?

@Szegoo you have first dibs, otherwise I can pick it up next week :)

I will happily take it :)

This was used to found a bug, initiating a tip:

/tip medium

@kianenigma Is tipping on Kusama still used with the introduction of Open Gov? Seems like the tipping value over here on Kusama is so far 0 KSM :sweat_smile:

OpenGov is WIP still testing on staging, soon will be released. Please use polkadot for now
Thx!

@mordamax Yeah, I usually use Polkadot, but in my Github profile description, my Kusama address was written(if I recall correctly this was put here because of the fellowship) and Kian just pasted my address from there. Updated my GitHub profile description now so this shouldn't happen in the future again.

Hey everyone,
the OpenGov support in the Tip Bot is now deployed to production.
So we can tip on Kusama now (and continue tipping on Polkadot as well).


Enroll mobile device for TOTP without a computer

Is your suggestion related to an experience ? Please describe.
When you are on a mobile device and trying to enroll the same device for TOTP, you will have to find a mirror to scan the screen of the same device :)
To address this complexity, most of the providers are providing a code to configure the TOTP app manually by entering that code. We can add this improvement into both totp endpoint and myaccount.

The same is reported in https://github.com/wso2/product-is/issues/9519

This issue is being closed due to extended inactivity. Please feel free to reopen it if further attention is needed. Thank you for helping us keep the issue list relevant and focused!


LND insufficient priority

Hi.
I'm trying to open a channel on testnet using lnd and Lnd Web Client (lncli-web).
I went to the lnd testnet explorer to get a peer (<IP_ADDRESS>:9735 025eeb02baf7555a3601b9eb894319bb7db594c9be11e5b5c289938274e1752894 ) and tried to open a channel but I'm getting the following error:
2017-12-13 12:10:20 +0000 - INFO - -22: TX rejected: transaction 41de84f1763f925b0949b5b6699696837cf31e8f5b44c967cd8ced5e54011575 has insufficient priority<PHONE_NUMBER>668394 <= 5.76e+07)

For the questions:

Am I doing something wrong or is this a bug?
Is this because the funding transaction has insufficient fees?
How can I set a higher fee?
How can I remove these pending transactions? They appear when I do a "pendingchannels" but testnet block explorers don't seem to know them. I guess they never left my machine

Thank you.

Thanks, this is definitely a bug!
Duplicate of #456

Thank you. Is there a way to bypass it for now, just to go through with some testing and poking around?

Are you using the btcd (fullnode) backend? If you are, I think it should usually be enough to let the output you are trying to spend mature a bit, let more blocks be mined :)

Yes. But did the transaction left my machine? I can't see it at.
https://testnet.smartbit.com.au/tx/41de84f1763f925b0949b5b6699696837cf31e8f5b44c967cd8ced5e54011575

It probably did not, since your fullnode rejected it. That it is still listed in pendingchannels is a bug.

OK. Thank you.

You can tru updating to 1121b0c, I think that might resolve this issue.

I'll try and report back.
In case it is of any use I've also noticed that I only was able to create a channel in lncli by passing the --conf_target=1 flag.

OK. Was able to create the transaction with the update.
Thanks!


Problem opening Azure repos when the Azure DevOps project name contains a space

When I attempt to open an Azure DevOps repo using vscode.dev with the Azure Repos extension with a URL like this https://dev.azure.com/org/Project%20Name/_git/repo it fails with errors in the Azure Repos output like follows:
2024-08-21 18:07:57.274 [info] [  176] AzDO.createMetadata(vscode-vfs://azurerepos/org/Project%2520Name/repo, undefined) took 354 ms
2024-08-21 18:07:57.274 [info] [  178] AzDO.createMetadata(vscode-vfs://azurerepos/org/Project%2520Name/repo, undefined)
2024-08-21 18:07:57.655 [error] self.fetch
TypeError: Failed to fetch

It seems to be attempting to URL encode the space.
I attempted to try this with the following URLs, but they all failed as well:

https://dev.azure.com/org/Project Name/_git/repo
https://dev.azure.com/org/Project%20Name/repo
https://dev.azure.com/org/Project+Name/_git/repo

I have also tried to use the Azure Repos button in the bottom left corner, then paste in the full URL as copied from Azure DevOps, with the same error.
Should vscode.dev support ADO projects with spaces in the name?

On testing this with dinner more repos, it is not the space that is blocking this connection, rather the authentication was failing silently.


[Backport 1.29] watch query timeout backport k8s-dqlite

Description
Backports watcher query timeout in k8s-dqlite: https://github.com/canonical/k8s-dqlite/pull/161
The PR adds a timeout on long running after queries in k8s-dqlite which are part of the watcher's poll loop.
The timeout is configurable using the watch-query-timeout flag.
Context
This PR addresses issues raised in microk8s where after the leader node is removed from the cluster the remaining nodes also go into NotReady state for ~20 minutes. This timeout helps the responsiveness of the cluster after loosing its leader.

Testing multi-distros fails since after the lxd separation the community images are not available anymore. We will address this in a separate PR.


Optimize JavalinVue loading

description
JavalinVue seems to be gaining popularity. However, there is a small issue with javalinvue and scaling it, and that is that each time a page is fetched, all vue components, regardless of their need, are loaded. This creates some overhead and prevents it from being viable in larger apps.
A simple way to solve this could be via a few collections and some regex matching, which then can be used to construct an HTML page with only the required components. Additionally, this page can be cached to reduce processing and loading times moving forward.
The result , I believe, would be that we can reach a point where the average page can be less than a few kilobytes Gzipped(hopefully 1 or 2), and with browser cachinng policies on other static content, the overhead when using JavalinVue would be negligable (and arguably , for larger apps, a benefit since only needed components are loaded, reducing the initial load times and reducing caching complexity)
I do realize that javalin isn't meant for larger apps, however, I think a small change like this would be well worth it
Additional context

@TareqK if you're interested in working on this I'd be happy to review a PR.
Out of curiosity, how large is your current current app?

@tipsy  Right now its sitting at around 40 components in 5 views - but its gonna grow. The size is around 50KIB, but the reason i want to optimize is that we are going to be running this on low-grade hardware for self hosting. The project itself is open source, and im working on migrating it.
you can find it here
https://github.com/openmymed/access.md/tree/vue-migration

Cool stuff! If you go ahead and implement this, I would strongly prefer you do implict imports, rather than invent a JavalinVue import system. It seems this is also what you're suggesting with you regex matching comment. I guess comparing the content of each tempalte with the template-ids should get you pretty far.

@tipsy Thats what im already working on, Im not a kotlin dev tho, so the code isnt quite functioning yet, and kotlin confuses and scares the java dev XD

You can also write this extra functionality as a Java class, then import it in Kotlin :)

Ive gone ahead and opened a PR, have a look at it

@TareqK currently testing this on one of my projects.
Old: 33kb gzipped (all pages)
New (misc pages)

9kb gzipped
10kb gzipped
6kb gzipped
9kb gzipped

Everything appears to be working fine.
Nice work 🎉


relay must be mutable

@rultor release, tag is 0.0.16

@rultor release, tag is 0.0.16

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.16

@yegor256 Done! FYI, the full log is here (took me 3min)


Any instructions on how to use p4dockerswitch image?

I followed the README file under p4lang/p4factory and built the  p4dockerswitch image successfully.
But I cannot find any instruction how to play with it.

The switch target README (https://github.com/p4lang/p4factory/tree/master/targets/switch#running-tests) gives some information on how to run the docker tests.
I believe every test script contains some information about which network topology the test is using (e.g https://github.com/p4lang/p4factory/blob/master/mininet/swl_l2.py#L18).

@antoninbas Thanks for your suggestion.
I studied the switch target README file several times and built the soft switch under different command.(as suggested in #building-soft-switch)
I got a question on #building-soft-switch:
Except for docker-image building command:
make docker-image

Is that the soft-switches built under different make command cannot coexist with one another? Because the "behavioral-model" file seems to be overwritten each time I ran different make command.
And another question on #running-tests:
sudo ./run_tests.py --test-dir tests/ptf-tests/pd-tests switch

What does "switch" mean in this command? Should I change it under specific circumstance?


[WIP] use dockerhub images

WIP - DO NOT MERGE UNTIL FURTHER TESTING
Wanting to measure circleci's download times of initial image and wanting to feel more confident that the resulting images are stable/usable.

Note: Historical "Spin up Environment" steps in CircleCI took typically 1m50s.


Remove parse_date_cols parameter from EntitySet._import_from_dataframe

This keyword argument is in a private method but is never used by other Featuretools methods.  All it does is add the columns to variable_types as Datetime types, but variable_types is already a parameter so they could just be included in variable_types instead.

Looks good to merge


Fix/drop it wording change

Pre-Submission Checklist

[x] Your pull request targets the staging branch of freeCodeCamp.
[x] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[x] You have only one commit (if not, squash them into one commit).
[x] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[x] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[x] Tested changes locally.
[x] Closes currently open issue: Closes #14880

Description
Wording change for Drop It challenge

It seems my fork was a little weird when I submitted this, please let me know if you want me to close this and submit a new PR

@jonathanihm You just need a rebase (remember to do it when you work on a new fix or feature).
Here is how to do so:
https://github.com/freeCodeCamp/freeCodeCamp/blob/staging/CONTRIBUTING.md#maintaining-your-fork
You should follow the same steps for this PR i.e fix/drop-it-wording-change branch
Hit us up in the Contributors Chat room, in case you need any assistance.

Sorry, I thought I had done this all but apparently I just suck at Git.  Thanks!

@jonathanihm thanks for the pull request and making the changes, and do not worry we have all been there, it's only a matter of time and practice and you will be an expert at git too.


Ramps don't update when new tile data is added.

If a ramp is generated on the edge of a map block, it won't respect the wall on the side that is loaded after it. The solution would be to regen the surrounding geometry once a block is pulled from DF.

We could also try prioritizing blocks whose surroundings are fully loaded, but that's more of an optimization than a solution, since map updates can cause this problem too.

Okay, the problem with this right now is that map blocks that are sent to the mesher have no knowledge of their surrounding tiles, so even if they get regenerated, they still have broken ramps, even if the data is there. Not sure what the solution for this is, besides keeping two entire copies of the map.

Oh, that makes sense.
I actually have a solution for this - map data is passed to meshing in small slices of the map stored in MapDataStores, which can transparently hold map slices of any size. We can modify the MapDataStore.CopySlice(BlockCoord) method to return not only the tiles in the block but also the tiles around it; that way the mesher should get all the tiles it needs.
We'll need to be careful about meshing operations that require more than the immediately adjacent tiles, though.

I'm not in a place to test this right now, but the new code for CopySlice and CopySliceTo would be along the lines of:
public void CopySliceTo(BlockCoord block, MapDataStore target) {
   CopySliceTo(block.ToDFCoord() + new DFCoord(-1,-1,0), BLOCK_SIZE+new DFCoord(2,2,0), target);
}

I did a partial fix of this by pre-calculating the ramps before sending over the block update request, in the main thread. This partially solved it, but sometimes the ramps still end up funny.

Fixed properly by making block chunks include the surrounding tiles.


Visiblity of communication with Candidate

What we have communicated with the candidate so far should be visible.
What we are going to communicate with the candidate should also be visible.

I want to reject a candidate but don't know what she is going to receive.

@PrateekNarang I suppose this functionality is dependent on #70. Once the emails functionality is done, this can be taken forward with emails from the system. Since that is scheduled for Apr 7th, I am targeting to finish this on Apr 8th. In the meantime, I am targeting to set up the database and the workflow for the communication content.
Also, need some clarification on the following:
What we have communicated with the candidate so far should be visible
We can show a button to send email to an applicant in each round, once an action (accept/reject) for that round is taken. This button will open up a modal with a field to add/modify mail content. There'll be a send mail button to trigger the mail and save the communication in the database.
Once sent, we can hide the button (so that the mail doesn't go again), and a small link to see what went into the email.
What we are going to communicate with the candidate should also be visible
Didn't completely understand the requirements here. Does it mean some content can be pre-populated in the mail content depending on the action for that round?


travis cli failed

I'm confused about this pull request, what travis build had failed? Also, in the future, you can trigger a travis re-build from their interface I believe.

travis cli is go test???


Document what a repo for config provider github-config should include

We're trying to run ORT Server with ORT's config repo to be provided by github-config. We get the following error:
ort-server-config-worker-1     | 2024-04-18 06:20:49.694 [pool-1-thread-4] level=DEBUG o.e.a.o.c.g.GitHubConfigFileProvider - GET 'https://api.github.com/repos/oss-review-toolkit/ort-config/contents/ort-server.params.kts?ref=e5cf91ddd8b994587a7a82815f094ce9fdb27379'
ort-server-config-worker-1     | 2024-04-18 06:20:49.909 [pool-1-thread-4] level=ERROR o.e.a.o.w.config.ConfigComponent - Config worker job failed for run '10'.
ort-server-config-worker-1     | org.eclipse.apoapsis.ortserver.config.ConfigException: The requested path doesn't exist in the specified branch.

What is ort-server.params.kts and what else should the config repo provided by github-config include?

I wonder whether we could simply not require the file to be present here
https://github.com/eclipse-apoapsis/ort-server/blob/3ff9fcce6f49aab741098f67ffdaab7a2558ad7a/workers/config/src/main/kotlin/ConfigWorker.kt#L83-L84
in which case no validation would be performed at all.

@mmurto, @etsija, can you check whether https://github.com/eclipse-apoapsis/ort-server/pull/105 would work for us?

Running the config worker if there is no parameter validation script is a waste of resources

But wouldn't the config worker still need to run to check whether a config script has been added in between? It could be inconvenient to force the user to also enable a config option in that case. On the other hand, if you'd want to temporarily disable an existing config validation, such an option could make sense.

As a workaround, I did this:

forked the oss-review-toolkit/ort-config repo to doubleopen-project/ort-server-config
in that repo, put the validation-success.params.kts file, renamed to ort-server.params.kts
I believe this then acts as a "dummy pass" file, always returning a success for the validation

This was an ugly hack, and probably needs to be handled more smoothly. But it did result in a successful ORT run (finally, with some docker-compose and load-configuration changes as well).

@mnonnenmacher: The config worker cannot be fully skipped. It also updates the database to store the resolved configuration context and the resolved configuration. This information is later accessed by the other workers.
@sschuberth: Since the configuration validation is a rather central and important mechanism, I would prefer that this is explicitly configured. There is a TODO comment in the code to make the path to the validation script configurable. If this was implemented, a missing path configuration could be interpreted that no validation script needs to be executed.


Save the skillsets output data in the storage container

How to save the skillsets output data in the container. As per documentation by using Knowledge center we can achieve this it seems. Please provide python code example to save the skillsets output to knowledge center(blob containers). Also, I need to save the splitted documents with parent id and chunk id in the output table, Please help me on this

Hi @surendransuri,
We do not have a python sample on this yet. Glad to hear you are interested - this is something we will look into.


Add Debian 10 (Buster) Tester

Description
This PR is just adding Debian 10 testing to the omnibus builds for Chef 14
Signed-off-by: Christopher A. Snapp<EMAIL_ADDRESS>Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Chore (non-breaking change that does not add functionality or fix an issue)

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] I have run the pre-merge tests locally and they pass.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.
[x] All commits have been signed-off for the Developer Certificate of Origin.

adhoc build kicked off here:
https://buildkite.com/chef/chef-chef-chef-14-omnibus-adhoc/builds/29


Should not be tied to specific version of google maps like now 'GoogleMaps', '~> 3.7.0' in podspec

But rather could use 'GoogleMaps', '~> 3.7' so Google Maps can be updated without changes to this library.

This will be fixed in version 3.0.2. I plan on releasing that later this week.
Thanks for reporting!


WIP: add packer templates to build reddit app image

[x] Add ubuntu.json packer template for building base reddit app image. Closes #5
[x] Add immutable.json packer template for building full stack image to run reddit app. Closes #6
[x] Add documentation to README.md for lesson number 6. Closes #7

/cc @Artemmkin @serjs please review :+1:


Document onServer?

I'm using onServer to be able to hook into express before the batch route is added, so I can do something like this: https://stackoverflow.com/a/21858212/4396258
(Context: we want to just restart workers if they consume too much memory, but specifically at the end of a request so we don't drop drop any requests)
It's either this or adding a workerShouldExit method as a config? What do you think? Can I safely use the onServer method, or is this subject to removal?
(Also on the subject of undocumented arguments - what about documenting context too? It's useful for collecting stats.)
@ljharb @goatslacker

You'll be able to use it until the next major regardless; hopefully @goatslacker can comment on any long term plans around it.

onServer is public API and here to stay. It's how we can have access to app as well as the master process so that we can extend hypernova's server functionality.
👍 on documentation. I'll keep this open.


Does React Native app supported?

Hello everyone,
I'd like to inquire about the compatibility of React Native with this project. I've reviewed the documentation and discussions but couldn't find any explicit mentions regarding React Native support. The only reference I came across is this closed PR: link to closed PR.
I've attempted to integrate this project into a React Native app, specifically for iOS on Apple TV. However, it seems that I'm encountering an issue where I cannot establish a connection.
Here's the error message I've encountered:
ReferenceError: document is not defined

You can view a screenshot of the error here.
I also experimented with adding openWhenHidden: true, but that only resulted in more errors.
Interestingly, when I tried the same integration with a web app, everything appeared to work correctly.
I appreciate any insights or guidance on this matter. Thanks!

With the way the code is written, no this does not support react-native apps.
Reason: The dispose method is not device agnostic ( uses both document and window )

Any alternative packages where we can use for react Native with Typescript? @satriapr @rcampbel

@DeepikaSharma5  I have not found one that yet meets my needs.
Most of the libs that I have come across do not do true streaming, they use long polling, or have streamed but don't release the data for use until the network connection closes.
I have come across one that looks promising, that I have yet to review and does not have a large following on npm.  You may want to look at react-native-sse to see if it fits your needs.


Dev esteban scriptinit

:tada: This PR is included in version 1.4.0 :tada:
The release is available on:

GitHub release
v1.4.0

Your semantic-release bot :package::rocket:


Rigorous definition of semantic compatibility and bit compatibility

So I was writing the new spec doc and got stuck at the semantic and binary compatibility part. I'm leaving the lab right now with the intention of getting back to this first thing in the morning. @kjetilkjeka if you happened to have good definitions at hand, please share here.
This is what I ended up drafting so far:
\section{Data type compatibility and versioning}\label{sec:dsdl_versioning}

\subsection{Rationale}

As can be seen from the preceding sections,
the concept of \emph{data type} is a cornerstone feature of UAVCAN,
which sets it apart from many competing solutions.

In order to be able to interoperate successfully,
all nodes connected to the same bus must use compatible definitions of all employed data types.
This section is dedicated to the concepts of \emph{data type compatibility}
and \emph{data type versioning}.

A \emph{data type} is a named set of data structures defined in DSDL.
As has been explained above, in the case of message data types,
the set consists of just one data structure, whereas in the case of service data types
the set is a pair of request and response data structures.

Data type definitions may evolve over time as they are refined to better address the needs of their applications.
In order to formalize the data type evolution process with respect to the data type compatibility concerns,
UAVCAN introduces two concepts: \emph{semantic compatibility} and \emph{binary compatibility},
which are discussed below.

\subsection{Semantic compatibility}

\subsection{Binary compatibility}

I think that compatibility is about the set of features being a subset/superset of some other set of features.
I think binary compatibility is the least difficult. Perhaps binary compatibility can be defined as something in the lines of the following.
We say that a definition (the compatible definition) is binary backwards compatible with another definition (the original defintion) if all the following statements hold:

Every non void field in the original data type must also exist for the compatible data type. (A field with the exact same name, type and position in regards to serialization must exist).
For every non-void field that exists in the compatible definition that do not exist in the original definition there must be a void field in the original definition encapsulating (in regards to serialization) the whole new non-void field.

Semantic compatibility is more tricky. I have summed up a few properties i think we need to have without attempting to write a formal definition.

When adding a new const, there must be a sensible default that the old definition may use (For instance adding new error types is Ok, since every value besides the OK value must be treated as an unknown error)
When adding new fields the void field serialization 0 must make sense.

For a status field 0 must be the equivalent to "nothing to report".
For a value field there are several hacks. 0 can mean "no value" or if the value 0 is needed one of the bits of the void field can be used as a "value exists" bit.

When adding a new field existing fields must not change their behaviour based on values from the new field. However, the new field may change behaviour based on existing fields.

And at last:

"We say that a definition is backwards compatible with another definition if it is both semantic and binary compatible with this definition.
We say that a definition is simply backwards compatible If it is backwards compatible with all definitions sharing the same major version number and have smaller minor version number"

Ok, so binary compatibility is only about serialization. That makes sense. My definition mixed in what applications can expect as well. My proposed constraints will implicitly enforce both the bit compatibility constraints and some other constraints. But it may still be valuable to have a clear split between them.
Your example is then indeed binary compatible. But if one attempted to update the definition in an application the new code would not compile. And due to that I would say that definition B should not be considered compatible (in the sense of "total compatibility") with definition A. I see two simple ways to keep them compatible.

Instead of changing types introduce bitmasks uint64 STATUS_FLAG_BM = 0xffffffff00000000
Introduce a concept of untagged unions in dsdl (this might very well be undesired as it makes things a bit more weird and may be difficult to support for some languages).

I think I described the least strict sensible definition for bit/binary/serialization compatibility in https://github.com/UAVCAN/uavcan.github.io/issues/40 there's no good precise definition there but it can perhaps be used for inspiration? To sum it up, all it cares about are the layout of static fields vs dynamic fields vs union fields.

Closing for #6


DEV-30: styles for the title of the CardItem

At the moment, the styles of the title in the CardItems are affected by the styles of the wrapper:
Card independently:

Card as a part of the ChatBot:

That means, that the styles can change unexpectedly depending on the place where these cards are used. This behavior should be changed. Also, as you can see from the pictures above, very often the title is not readable because the picture can distract the attention. So it is important to ensure that independently from the picture, the title will be well readable. We can achieve this by making a shadow for the text.
To work on this issue, please use a branch DEV-30 created from devel. When the work is finished - create a PR to the devel branch. At the end of each development circles, code from the devel branch (if everything is ok) goes to the master branch and deploys to production.
IMPORTANT! Before creating a PR be sure that all the tests are passing and the coverage is 100%

The PR with the fix is merged. The issue is ready to be closed.


Iconsmoothing: Subtile metrics (🦆 Edition)

About the PR
This turned out to be relevant earlier than expected. Someone wanted Goon walls, that probably explains the basics.
No user-visible effects, this is a tooling PR only.

For whatever reason I keep making PRs draft-by-default and haven't unset whatever it is...


destinationDir defaults to project.distsDirectory

instead of project.distsDir, which does not exists
Signed-off-by: James Shaw<EMAIL_ADDRESS>
Fixes #1086
Context
Corrects a mistake in the documentation
Contributor Checklist

[x] Review Contribution Guidelines
[x] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[x] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[x] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team
[x] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective
[x] Provide unit tests (under <subproject>/src/test) to verify logic
[x] Update User Guide, DSL Reference, and Javadoc for public-facing changes
[x] Ensure that tests pass sanity check: ./gradlew sanityCheck
[x] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest

Gradle Core Team Checklist

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation
[ ] Recognize contributor in release notes

After searching, I see that distsDir was deprecated without replacement, so this PR is wrong.

Thanks for this PR as it made me notice that we had failed to properly document the replacement which is found on base convention for Gradle 6.x and on the base extension for Gradle 7.1+.
I have update the issue and forum thread on this topic and will do a documentation PR fix as well.

@ljacomet That's fantastic, thanks for the heads up.  If you're able to link to the issue/forum thread/upcoming documentation PR, that'd be really helpful, too :smiley:


Azure Dev Ops to pick up latest DacFx build

Environment

Server - Azure Pipelines or TFS on-premises?: Azure pipelines

Issue Description
https://portal.microsofticm.com/imp/v3/incidents/details/214811143/home
This ICM was created a few months back where customer was not able to use deploy dacpac file using Azure DevOps. The problem was identified within DacFx product code and has been fixed in the latest version. Since the customer was trying to use DevOps to deploy dacpac, request you to pick the latest DacFx build so that the issue resolves for them.

please provide the task details

Can you please elaborate on what task details are required here?

the ICM mentioned is not having any detailed about Azure devops, I was looking for issue details with azure devops

So the customer was originally using Azure devops to deploy dacpac file, but for the purpose of our investigation and to figure out if the issue is with DacFx product code, we ask our customers to use Sqlpackage. And that is the reason why the ICM doesn't have any information about Azure devops.
We are just looking for Azure Devops to pick the latest DacFx build.
What are the details required for Azure Devops?


added link variant for buttons

added link variant for buttons.

Warning looks a bit too much like primary, can you show both?

@amitu

Primary button is not readable at all.

@amitu that is because of the primary text color value we have given inside our color scheme. What color do you want there instead of the primary text color?

What color do you want there instead of the primary text color?

@yashveer29, please help here.

@amitu This is the updated color for the primary button

@MeenuKumari28 can you show how other primary button looks? Is the white color only for variant: link or everything?

Show other variants of primary-button I meant. Also update your docs to show this in one place. User should not have to guess how this looks in different situations. Also you can put all the variant in one row, you do not have to show source code for everything.

@MeenuKumari28 share final screenshot as well.

@amitu Final screensort for the

button.