[Bug] 60 seconds rescheduling time when processing many workfows at once

Describe the bug
When load testing Temporal with php-sdk, the behaviour of the roadrunner workers is sometimes (I wasn't able to specify the conditions) weird - the processing will get stuck for 60 seconds and resume afterwards. Which is not ideal in a production deployment, when the processing gets paused for 60 seconds. When running multiple roadrunner processes at once (each with multiple workers), the processing won't get stuck, or at least, not all the roadrunner instances get stuck, so the chance of this to happen are much lower. It seems like there is a timeout in roadrunner.
To Reproduce
Steps to reproduce the behavior:
I was also able to reproduce the behaviour on a modified sample from the samples repository (https://github.com/temporalio/samples-php)
I am running the polymorhpic example but I modified the ExecuteCommand to this:
class ExecuteCommand extends Command
{
    protected const NAME = 'polymorphic';
    protected const DESCRIPTION = 'Execute PolymorphicActivity\GreetingWorkflow';

    public function execute(InputInterface $input, OutputInterface $output)
    {

        $output->writeln("Starting <comment>GreetingWorkflow</comment>... ");

        for ($i = 0; $i < 2000; $i++) {
            $workflow = $this->workflowClient->newWorkflowStub(
                GreetingWorkflowInterface::class,
                WorkflowOptions::new()//->withWorkflowExecutionTimeout(CarbonInterval::minute())
            );
            $run = $this->workflowClient->start($workflow, 'Antony');
        }
//        $output->writeln(
//            sprintf(
//                'Started: WorkflowID=<fg=magenta>%s</fg=magenta>, RunID=<fg=magenta>%s</fg=magenta>',
//                $run->getExecution()->getID(),
//                $run->getExecution()->getRunID(),
//            )
//        );
//
//        $output->writeln(sprintf("Result:\n<info>%s</info>", $run->getResult()));

        return self::SUCCESS;
    }
}

and the GreetingWorkflow to this:
class GreetingWorkflow implements GreetingWorkflowInterface
{
    /** @var GreetingWorkflowInterface[] */
    private $greetingActivities = [];

    public function __construct()
    {
        $this->greetingActivities = [
            Workflow::newActivityStub(
                HelloActivity::class,
                ActivityOptions::new()->withScheduleToCloseTimeout(CarbonInterval::seconds(20))
            ),
            Workflow::newActivityStub(
                ByeActivity::class,
                ActivityOptions::new()->withScheduleToCloseTimeout(CarbonInterval::seconds(20))
            ),
        ];
    }

    public function greet(string $name): \Generator
    {
        $result = [];
        foreach ($this->greetingActivities as $activity) {
            $result[] = yield $activity->composeGreeting($name);
        }

        return join("\n", $result);
    }
}

It doesn't occur always but running multiple times after each other should make the problem appear
Expected behavior
When there are running workflows in Temporal scheduled for current time, the workers shouldn't be waiting, they should be processing them.
Screenshots/Terminal ouput
If applicable, add screenshots or code blocks to help explain your problem. You can also use Loom to do short, free video bug reports.
Versions (please complete the following information where relevant):

OS: Ubuntu in Docker for Mac
Temporal Version 1.10.1
are you using Docker or Kubernetes or building Temporal from source? Docker

Additional context
More detailed info is here: https://community.temporal.io/t/php-weird-behaviour-while-load-testing/2437/14

@Rastusik Hey. As I promised, could you please try v1.0.8-beta.1 ?

@rustatian Great! Thank you very much! Sure, I'm on it!

@rustatian es there any readme how to build the beta plugin with roadrunner? I've never done it before and would like to save some time.

@Rastusik ah, ok, got u. Let me create a beta build for you (roadrunner-binary). give me a second.

@Rastusik here you are: https://github.com/spiral/roadrunner-binary/releases/tag/v2.3.1-beta.5 (wait a few seconds until GitHub generates images)

@rustatian thanks for the build, I'm trying to test it for the last two hours but the whole thing behaves non-deterministically ... It looks like it runs better than before the change and there are less delays, but the delays still occur... sometimes more often, sometimes not ...
It's hard to describe but it feels like when there are not enough free workers, that the workflows are being rescheduled 60 seconds later ... because sometimes when I start with one RR process and when stuck, I start running other ones, sometimes they get stuck too and sometimes not (which would mean that the workflows weren't rescheduled in these cases) ... this is the non-deterministic part ...
But when there are 3 RR processes from the beginning (10 workers each), there are no delays ...

Did you setup an external (I mean, not in the docker) temporal server?

well, on the external deployment things seem to work (but I'm connecting from Slovakia to Ireland, so latencies may influence something)... I have to do some more tests tomorrow to confirm

@rustatian Ok, so I've made another round of tests today and the results are weird I can still hit use cases where delays occur. It can be seen in RR logs:
2021/06/25 15:02:28     DEBUG   temporal        ExecuteActivity {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::handle", "WorkflowID": "de40939b-3b6e-4280-89df-55bbaf8ac658_1", "RunID": "0625b18e-89d3-42c3-bc47-da3cd8ac62a9", "Attempt": 1, "ActivityID": "5", "ActivityType": "handle"}
2021/06/25 15:02:28     DEBUG   temporal        ExecuteChildWorkflow    {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::fork", "WorkflowID": "faad7b5d-18f4-4df2-a140-0a52364638e1", "RunID": "c9f987bc-818e-41a3-a883-f1791edaecbf", "Attempt": 1, "ChildWorkflowID": "c9f987bc-818e-41a3-a883-f1791edaecbf_1", "WorkflowType": "EventBus::handle"}
2021/06/25 15:02:29     DEBUG   temporal        ExecuteActivity {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::handle", "WorkflowID": "c42385b1-4f4a-45b8-a58f-967b32ba5cf9_1", "RunID": "0cf052a1-8ffb-42e4-8fd1-1bc7a24d2cf3", "Attempt": 1, "ActivityID": "5", "ActivityType": "handle"}
2021/06/25 15:02:29     DEBUG   temporal        ExecuteChildWorkflow    {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "Workflo
2021/06/25 15:02:29     DEBUG   temporal        ExecuteChildWorkflow    {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::fork", "WorkflowID": "feadf516-37ea-4ce8-a891-2d47b18fb495", "RunID": "0265fa2d-b368-4cc8-8c27-cbca64a31e9b", "Attempt": 1, "ChildWorkflowID": "0265fa2d-b368-4cc8-8c27-cbca64a31e9b_1", "WorkflowType": "EventBus::handle"}
2021/06/25 15:03:29     DEBUG   temporal        ExecuteChildWorkflow    {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::fork", "WorkflowID": "ad8d2c6f-f1b6-4ef0-98a3-7d1b72503cfa", "RunID": "3b845640-8347-4d73-b3d1-285de47805b3", "Attempt": 1, "ChildWorkflowID": "3b845640-8347-4d73-b3d1-285de47805b3_1", "WorkflowType": "EventBus::handle"}
2021/06/25 15:03:29     DEBUG   temporal        ExecuteActivity {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::handle", "WorkflowID": "297213b0-3ba8-4ac6-88b1-163fc693f543_1", "RunID": "dc376cb3-152a-4a57-a3e0-c9656f602093", "Attempt": 1, "ActivityID": "5", "ActivityType": "handle"}
2021/06/25 15:03:29     DEBUG   temporal        ExecuteChildWorkflow    {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::fork", "WorkflowID": "9e36d297-5802-446e-ae57-bd67be479f91", "RunID": "7f9d9461-c5c7-4777-9c42-4d73b220e5c7", "Attempt": 1, "ChildWorkflowID": "7f9d9461-c5c7-4777-9c42-4d73b220e5c7_1", "WorkflowType": "EventBus::handle"}
2021/06/25 15:03:29     DEBUG   temporal        ExecuteActivity {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::handle", "WorkflowID": "683b5b15-da88-4ce7-9ebd-4e82eaef7264_1", "RunID": "0d74a0c0-a9d8-44a3-92c5-64e2f1221de3", "Attempt": 1, "ActivityID": "5", "ActivityType": "handle"}
2021/06/25 15:03:29     DEBUG   tempor
2021/06/25 15:04:34     DEBUG   temporal        ExecuteActivity {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::handle", "WorkflowID": "81b90c4b-1493-478d-a037-5a042690ce34_1", "RunID": "538d8fa6-1de3-4e68-9d79-cb41ac05b722", "Attempt": 1, "ActivityID": "5", "ActivityType": "handle"}
2021/06/25 15:04:34     DEBUG   temporal        ExecuteChildWorkflow    {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::fork", "WorkflowID": "b27eabdd-7562-4068-9d54-30d38805fa6f", "RunID": "e42de207-b0be-45b5-94db-63a040b58485", "Attempt": 1, "ChildWorkflowID": "e42de207-b0be-45b5-94db-63a040b58485_1", "WorkflowType": "EventBus::handle"}
2021/06/25 15:04:34     DEBUG   temporal        ExecuteActivity {"Namespace": "eventbus", "TaskQueue": "default", "WorkerID": "10739@59b9dcda7abc@default@1", "WorkflowType": "EventBus::handle", "WorkflowID": "eb67fe2a-cccc-4862-8211-47ce44d0a357_1", "RunID": "f304586c-5818-4833-a239-cc125e8f4528", "Attempt": 1, "ActivityID": "5", "ActivityType": "handle"}

In the snipped there are entries occurring at 15:02:29, then there is a wait and the next entry is at 15:03:29 ... similarly at 15:04:34 ... (tho entries are truncated, there are a couple more in reality)
I'm testing with temporal deployment in kubernetes (from official charts, with aurora/mysql and elastic).
I thought that this correlates with my workflow code, but it isn't blocking anywhere... One correlation was when I was using child workfows in a workflow - with that the problem occurred every time.... when I switched the child workflows to activities (just as an experiment), everything worked ...
Funny thing is that when the workers are stuck and I start the second or third RR process, everything works... the new processes are behaving correctly most of the time, but once in a time get they get stuck too, but meanwhile the other ones get un-stuck...
I am not 100% sure but I think that the patch made an improvement (I'm not able to measure it though), before the delays occurred a little bit more often ... Is there any possibility that there still is some timeout forgotten somewhere?

I'm currently waiting for an access to the production grace cluster to test it out. We are planning to improve worker structure in 1.1 anyway, but I think it worth investigating at the moment.
Do you have any metrics about the Temporal server itself? Is it overloaded or something? Can we isolate the use-case with child workflows vs activities. Are you clearly NOT getting such issues with Activities?
@rustatian do we have any other timeouts at the workflow process level? I don't think so...

Wow! Thank you very much for so many details.
The ChildWorkflow use-case has a very specific flow cos we have to allocate workflow and then wait for the start. So we might have a bug somewhere in this mix rather than the whole processing pipeline.
In our benches, we did not use the example of ChildWorkflows as we expected it to be redundant. So now we have a clear direction where to dig.
The rest of the pipeline should be OK and we benched it.

@wolfy-j no problem, I'm highly motivated to get this into production, so thank you for looking into it :) ...
regarding the options in constructor, I know that there is the way you are mentioning, but I've done it like it is for a specific reason - the options configuration data are coming in from the input data structure and may be specific for each handler definition

Yeah, that makes sense.

Hey @wolfy-j would it be possible to publish your load test code? I would try to rule out our temporal setup with it..
Maybe I'm doing something wrong in the code but the delays occurred again even when multiple pods with roadrunner are running

Unfortunately, I can not share the benchmark setup. Are you talking still about the issue with Child Workflows or it's about another use case?

FYI, we are working on the 1.1 milestone where we are going to change the way how workers defined on the Golang side. It should provide extra bits of performance and better scalabiltiy.

Oh, sorry to hear that, but I understand. Well, it seems that the problem occurs also without child workflows. I have created a custom metric, a counter for processed activities and the charts show, that there are delays event with multiple RR pods.

Each activity is generating two other workflows so there shouldn't be any delays IMHO...

Maybe one more question, are you using the original grafana  charts for temporal? I found some information in the docs that for performance tests, one should be watching the ScheduleToStart latency in the charts but I don't see it anywhere

Not really, we are using throughput metrics. Not so detailed as yours, but I'll check how we can add more visibility to them.
I need some time to dig into the setup.

@rustatian I wonder if we should expose some of the temporal worker metrics from RR. It should help to debug such issues.

@Rastusik are you OK to use our custom build, just in case, so we can snapshot metrics from the RR side?

@wolfy-j sure, I'd love to do it! There is still lack of visibility in the whole proces for me

Is it possible for you to share the whole setup with us? The worker setup and workflows you use.
I apologize for the inconvenience, it's pretty complex system, we will try to expose more metrics going forward.

sure, but I would prefer to use a private channel for that, do you have any idea how to get the code to you?

Can you ping me by email<EMAIL_ADDRESS>

sure, I just sent it. thanks a lot for looking into it

The timeout is related to the socket issues between Golang SDK and the Temporal server. We did internal benchmarks and found no issues related to the PHP SDK or RoadRunner code. I would recommend asking about such behavior on the main channel.
Also, make sure to set proper values for MaxWorkflowPollers to avoid oversaturation.

so according to this advice from private conversation:
Also, by looking at your code you did not set up any polling limits which might create a ton of extra connections.
\Temporal\Worker\WorkerOptions::new()
    ->withMaxConcurrentActivityTaskPollers(8)
    ->withMaxConcurrentWorkflowTaskPollers(4)
You can try to limit it by doing this (set the first number by the number of your workers, and the second by the number of your shards).

In 1.1 we will make these parameters to control actual worker pool size.

After setting the parameters, the behaviour stopped and everything works as expected, thank you very much! :)
I think the parameters should be definitely mentioned in the documentation. TBH I didn’t really understand what the correct setting should be - in the code comments, the information has only general character.
From what you were writing, I didn’t understand completely what you mean:
You can try to limit it by doing this (set the first (activity pollers) number by the number of your workers, and the second (workflow pollers)  by the number of your shards).

@wolfy-j
Regarding the activity pollers: which workers did you mean? I suppose that you meant RR workers, but would like to be sure.
Regarding the workflow pollers: did you mean the number of history shards? because that didn’t work, we have 512 history shards in our setup and the delays were occurring when having 8 activity pollers and 512 workflow pollers…
My current working setting is 8 activity pollers and 8 workflow pollers and the system is stable. But I have no idea what these numbers mean, I haven’t googled it yet, if the information is generally available, I’ll find it, but I’ll be thankful for any additional information.
thanks again, the initial problem is solved with the worker options :)

I think the parameters should be definitely mentioned in the documentation.

Definitely. Will work on adding it!


New gulp debug task and watch CSS folder

Here is a fix for #57 as well as a new target gulp debug so that files do not get uglified when developing.

Thanks. Don't know how I came to think an additional watch would be more complicated, still had watching CSS on my todo list.
I sometimes use the inject task to insert script tags when debugging doesn't work properly, but then you have to remember not to commit and to revert manually, so the debug option is surely more convenient.


Rest API and ActiveDataProvider with relation query issue

In Rest api, When add a relation query:
$query = User::find();
$query->with(['test']);

$dataProvider = new ActiveDataProvider([
    'query' => $query,
]);

return $dataProvider;

the relation data test not loaded in the response. But when use this query without DataProvider and pagination it's work and return test relationship information:
return $query->asArray()->all();

the above code with ActiveDataProvider work with GridView.

Duplicates https://github.com/yiisoft/yii2/issues/10180

@SilverFire Why this issue closed? also #10180 is closed!
I this issue is critical...

@jafaripur the structure of the response objects in rest api is not dictated by the dataprovider but the fields() and extraFields() of the model's instance have a look in the docs

@fernandezekiel I use rest controller instead ActiveController. I think this is normal to use rest controller to return active data provider. This can be do but the relationship not fetched. Any one have a solution for this issue!

i don't think you have read this part then
http://www.yiiframework.com/doc-2.0/guide-rest-resources.html

@fernandezekiel  I read it. Check the latest section about ActiveDataProvider. I use yii\rest\Controller for my rest api and custom query and customization.
Why ActiveDataProvider in rest controller doesn't return relationship data. Check my question in this first post.

@samdark @SilverFire Why this issue is closed? I think this is a bug in rest controller API for return relation data.

Because it's a duplicated of #10180

return $dataProvider->getModels();

$dataProvider->getModels()

Does not work.
The thing that works is in your main model (which has other things) you should do:
public function fields()
{
    $json = parent::fields();
    $json['photo'] = function () {
        return $this->photo ? $this->photo->toArray() : null;
    };
    return $json;
}

public function getPhoto()
{
    return $this->hasOne(Photo::className(), ['id' => 'photoId']);
}

But I think this case should be somehow covered by shorthand methods.

$dataProvider->query->with(["departments", "statuses"])->asArray()->all()


Adds a simple markdown previewer basing on showdown.js and the HTML previewer

I think Eryk's previewer is much better as not depending on other libraries. Sorry, I didn't see his solution.
Am 9. März 2023 17:54:49 schrieb qqmyers @.***>:
Can you compare this with #23https://github.com/gdcc/dataverse-previewers/pull/23? Do we need both? Is there a useful combination?
—
Reply to this email directly, view it on GitHubhttps://github.com/gdcc/dataverse-previewers/pull/27#issuecomment-1462412331, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AJCGXPF5XPHK4FG5RWVKSW3W3IDNHANCNFSM6AAAAAAVVKTNKQ.
You are receiving this because you authored the thread.Message ID: @.***>

OK - thanks. FWIW: Eryk's only came in in the last two weeks and I think the only place we announced it was in the community calls. I'll close this then.

We do plan to test it and add it to the guides at some point:

https://github.com/IQSS/dataverse/issues/9412


fix: proposals types

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Custom Output Name in CircleCI

Allow for the definition of a custom output name for the compressed file artifact. Allow for variables to used in that name as well.
To explain, the goal of the process is to eventually have all successful builds on the master branch upload automatically to a github release AND a cloud storage folder. For the last to happen the filename would need to be unique. While the workaround to put each file in a uniquely named folder would work it just creates another level of file nesting that is unneeded.

These are great suggestions!
I'm moving them to the relevant repository.


A new session can be started if wished with the possibility for new users to join.

closed with e35efa2a2620016b53c07d79f18d9ae11fa5b018


security issue with dependencies

 severity vulnerability found in cli
Description: Insecure use of /tmp folder
Introduced through<EMAIL_ADDRESS>From<EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>><EMAIL_ADDRESS>

See https://github.com/pc035860/angular-highlightjs/issues/94#issuecomment-508620432
Close for now.

Thanks! I see the issue fixed in version<EMAIL_ADDRESS>Closing this issue now.


Manage gestures priority between two widgets

I'm experimenting using the google maps for flutter plugin but I'm running into a problem managing the gesture priority.
My map, which need to handle gestures is rendered inside a PageView which also listen to some gestures. The thing is, It appears that the gesture handler of PageView take the priority over the map one, so if I drag vertically on the map, the map move but if I drag horizontally on the map, the page will switch instead of the map moving.
Is there a way to manage the priority between gesture handlers of widget to fix this sort of problems?

Please consider asking support questions in one of the other channels listed at http://flutter.io/support .

I've read a bit about the gesture system in Flutter and from this article , when a parent and a child widget both are set to handle gestures, the priority goes to the child which in my case should be the map and not the PageView 🤔

That's actually by design, to capture gestures in the map you'll need to supply gestureRecognizers to GoogleMap (which will pass it to the underlying platform view).
See https://docs.flutter.io/flutter/widgets/AndroidView/gestureRecognizers.html
"When null, an empty set of gesture recognizer factories is used, in which case a pointer event sequence will only be dispatched to the platform view if no other member of the arena claimed it."

@avivbrg Awesome, it make sense now !
So just add this field to the GoogleMap widget
                gestureRecognizers: <Factory<OneSequenceGestureRecognizer>>[
                  new Factory<OneSequenceGestureRecognizer>(
                    () => new EagerGestureRecognizer(),
                  ),
                ].toSet(),

which require the following imports
import 'package:flutter/foundation.dart';
import 'package:flutter/gestures.dart';


Blank Teams App

In the Teams app, see...

In the web app trace, I see..

Hi @malimal99,
Thanks for reaching out to us.
Have you provisioned the SP site. If yes, Can you please share the screenshot of the site along with the URL of the site.
Thanks.

Thanks for sharing. Can you also please share the console logs from the browser.
Thanks.

Thanks. Please allow us some time. We will check and let you know by Monday.
Thanks.

Thanks...I see a mistake I may have made...verifying now.

Question:
In this step "Go to App Registrations page here and select the application (TEOC specific) which you created in step 1. Follow the below steps to set up the authentication for the application."
Do I edit the PnP PowerShell app or the Azure AD TeamsEOCxx app?
@v-saikirang

Hello....I did a fresh install in am up and running.
I wonder why I had to accept permission for the Teams App the first time I ran it. In the Teams admin center it said all permission were granted for the orf.


Add feature to set meridiem type

Alaska Airlines Pull Request
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
Resolves: #18
Summary:
Please summarize the scope of the changes you have submitted, what the intent of the work is and anything that describes the before/after state of the project.
The scope of this update is to add support for setting the meridiem type to be lowercase or capitalize.
Type of change:
Please delete options that are not relevant.

[x] New capability
[ ] Revision of an existing capability
[ ] Infrastructure change (automation, etc.)
[ ] Other (please elaborate)

Checklist:

[x] My update follows the CONTRIBUTING guidelines of this project
[x] I have performed a self-review of my own update

By submitting this Pull Request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
Pull Requests will be evaluated by their quality of update and whether it is consistent with the goals and values of this project. Any submission is to be considered a conversation between the submitter and the maintainers of this project and may require changes to your submission.
Thank you for your submission!
-- Auro Design System Team

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Certs without a trailing \n will result in invalid concatenation

If an operator configures their certs without a trailing newline character, then the certs will be incorrectly concatenated.
For example,
ha_proxy:
  ssl_pem:
  - cert_chain: "-----BEGIN CERTIFICATE-----\nMIIC8jCCAdoCCQCod49l...\n-----END CERTIFICATE-----"
    private_key: "-----BEGIN RSA PRIVATE KEY-----\nMIIC8jCCAdoCCQCod49l...\n-----END RSA PRIVATE KEY-----"

Will result in a rendered cert/key that looks like this:
-----BEGIN CERTIFICATE-----
MIIC8jCCAdoCCQCod49l...
-----END CERTIFICATE----------BEGIN RSA PRIVATE KEY-----
MIIC8jCCAdoCCQCod49l...
-----END RSA PRIVATE KEY-----

This means operators must always make sure to include a trailing newline on their included certs.
It would be really awesome if folks didn't have to do that because the template was smart enough to insert a newline if it was missing.

Agreed. Feel like submitting a PR?


Keyboard navigation is driving me nuts

And I can't figure out the cause for most of these issues (Firefox 59.0, Windows 10 on a desktop, wired keyboard/mouse).  I'm finally to the point where I can actually use ContentTools in production and I keep encountering multiple issues that are extremely difficult to replicate in order of severity:

While typing in the middle of a normal paragraph tag, the keyboard caret will jump mid-word to the middle of a completely different paragraph.  That makes my preferred 70wpm typing speed tenuous at best.  I'm having to slow way down to about 20wpm to avoid writing sentences in the middle of other sentences.

Arrow key navigation sometimes gets "stuck".  I'll want to move to the next paragraph but pressing the down/right arrow keys does nothing even though I am visually at the end of the paragraph.  If I press enter (which creates a new paragraph) and then backspace (which deletes the newly created paragraph), it'll fix the problem and I can resume navigating without issue.

Arrow key navigation skips blocky things like images and videos and gets "stuck" when the focus is on the blocky things.  Pressing enter will create a new paragraph and get things back to normal, but that's not really a great fix.

Ctrl + Left/Right Arrow keys inexplicably jumps all over the place.  I'll use Ctrl + left/right to navigate the caret one word at a time and suddenly I'll end up somewhere in the previous paragraph.  Might be related to the first issue.

Ctrl + Home/End and Page Up/Down don't work as I expect.  I do kind of like that the Ctrl + Home/End key combo will jump to the paragraph start/end if I'm in the middle of the paragraph but it should move to the first/last element respectively when the user is already at the start/end of the paragraph.  Page up and down should attempt to page up and down through the elements while maintaining keyboard caret focus.

I suspect most of the issues are related to the Undo/Redo stack.  I also know that I'm 15 commits behind the latest but, as I look at the commit log on master, I'd be taking on the HTML copy and paste can of worms that's just been opened - to the best of my knowledge, no one has ever figured out how to handle pasted Word HTML (and I wrote TagFilter).  How stable is the HTML copy and paste logic - are you confident that it is ready-ready or are you still working on it?

Hooray!  (Hooray?)  After a lot of fiddling around, I can (finally) reliably replicate the second issue:

Start editing (and get the keyboard caret onto an empty paragraph).
Press 'a'.
Press enter.
Press 'b'.
Press up arrow twice.
Press space.
Press 'c'.
Press right and down arrows to your heart's content.  Keyboard caret is stuck.

The bug can be replicated on the demo, which I assume is running some recent-ish flavor:
http://getcontenttools.com/demo
I'm still struggling with trying to replicate the first issue.  I'll keep plugging away at it.  When the first issue crops up, it really makes a mess of things.

Possibly related to the first issue but can be easily replicated:

Start editing.
Create two paragraphs that are each three lines long where the third line is relatively short (just a word or two).
Place the caret somewhere in the middle of the second line of the first paragraph.
Press the down arrow three times. (a)
Press the up arrow four times. (b)

(a) The first line's horizontal caret position is at the beginning of the line, which I guess would be fine if the third down arrow resulted in the correct position on the first line and wasn't skipped altogether.  I assume part of the issue here has to do with how switching the paragraph being moved into over to contenteditable functions.
(b) The horizontal caret position is forgotten when changing lines/paragraphs when going back up to the previous paragraph.  It also takes four keypresses to return to the same line as before.
This bug/these bugs can be replicated on the demo.
Most code/text editors seem to only update their memorized internal horizontal caret position when a key other than up or down is pressed.
There's also an issue here where changing paragraphs with just up and down arrow keys on rare occasions results in placing the caret at the beginning of the line when moving in-paragraph but the last line remains unaffected.  I seem to be able to replicate it more frequently when there are lots of red underlines from incorrectly spelled words, which suggests a timing issue of sorts.
As to replicating the first issue, I've only had it happen twice so far in my attempts to replicate it.  During the most recent "success," I pressed enter in the middle of the paragraph that I was in and the editor put the new paragraph before the current paragraph and did not split the paragraph in which I had pressed enter.  The caret was moved to the new paragraph too.  I assume if I had pressed a different key at that moment, the caret would have jumped to the previous element on the page and started inserting text there as described in my earlier comment.  Given the difficulty I'm having reproducing this, I suspect a timing issue is involved.  There are approximately 20 setTimeout() and setInterval() calls scattered throughout the source code so it could be one of those OR it could be the web browser.  I don't know at this point - I haven't even looked at the code yet.

@cubiclesoft thanks for all the research, my guess is that the problems with carat position will lie wither within the ContentSelect library, or as you've flagged with the Undo/Redo stack is triggering a timing issue.
Unless enacted however the History stack shouldn't set (restore) the position of the cursor. History should be passive - however if it's querying for carat position it's possible that ContentSelect is doing something that loses or modifies the carat position on query.
It's great to have a solid way to reproduce the issue, just to confirm using the latest CT version on Chrome I can't reproduce the issues you've provided instructions for above (accept losing the position of the cursor when moving up/down into a new paragraph which isn't coded for). I can, however, reproduce these issues on Firefox which leads me to believe that the issues are most likely related to ContentSelect not handling carat position correctly in FireFox.

There's no specific handling of  Home/End and Page Up/Down currently, but there's no reason what you've suggested couldn't be added - though it's probably better raised as a separate enhancement issue.

@cubiclesoft as for HTML support it's a nightmare of course, but it's working well enough that we routinely use it now to move content between sites/pages for clients, however, it's not perfect and we limit what's supported, in particular there are extra limitations when copying from word.
However, I don't believe any of the more recent changes (most of which of specific to HTML C&P) would change the behaviour here - as I say I think the issues are ContentSelect related.

Yes, I use Firefox as my primary web browser.  I hadn't gotten around to testing other browsers.

I just submitted a couple of fixes for this issue.  Keyboard navigation is a bit better now.  I still can't replicate the first problem with any consistency.  The pull requests fix the second issue (the spurious br tags) and the third issue (navigation to/from text, images, and video elements).
I briefly attempted to fix horizontal navigation tracking across elements but quickly realized that's a mini-project in itself and gave up.  There are just too many nuances to deal with at the moment.


Checking for availability of Key Vault...
Key Vault is available.
Launching Azure AD sign-in...
Launching Azure CLI sign-in...
You have logged in. Now let us find all the subscriptions to which you have access...
The following tenants don't contain accessible subscriptions. Use 'az login --allow-no-subscriptions' to have tenant level access.
72f988bf-86f1-41af-91ab-2d7cd011db47
Connected to Azure
Launching PnP sign-in...
A newer version of PnP PowerShell is available: 3.25.2009.1. Consider upgrading.
Connected to SPO
AZURE AD APP CREATION
Azure AD App 'Requestateamapp' already exists - updating existing app...
Waiting for app to finish updating...
Updated Azure AD App
Granting admin content for Microsoft Graph...
Waiting for admin consent to finish...
Granted admin consent
AZURE AD APP CREATION FINISHED
Account       Environment TenantId                             TenantDomain AccountType

<EMAIL_ADDRESS>AzureCloud  e932331f-e0d1-48c5-91f0-c45d6c6ada05 ccr1.com     User
<EMAIL_ADDRESS>AzureCloud  e932331f-e0d1-48c5-91f0-c45d6c6ada05 ccr1.com     User
AzureADPreview\Get-AzureADDirectorySetting : The term
'AzureADPreview\Get-AzureADDirectorySetting' is not recognized as the name of a cmdlet,
function, script file, or operable program. Check the spelling of the name, or if a path was
included, verify that the path is correct and try again.
At C:\users\robb\desktop\Request-A-Team\Scripts\deploy.ps1:458 char:27

... DirectorySetting = AzureADPreview\Get-AzureADDirectorySetting | Where ...

                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

CategoryInfo          : ObjectNotFound: (AzureADPreview...irectorySetting:String) [], C
ommandNotFoundException
FullyQualifiedErrorId : CommandNotFoundException

I would bet that you have both the normal AzureAD module and the Preview module installed.
When the deployment script runs, it makes you connect to AzureAD and that wil automatically load the normal AzureAD module.
Before you run the deployment script, run "Import-module AzureADPreview" in the console.
That should fix it i think (or you could uninstall the AzureAD module).

@RobertBondy as @Lysakers suggests, please try to import the preview module in place of the non-preview AzureAD module.
Thanks


style: automatic type-only imports

Automatically add type to import/export if the symbol is used only for type annotations and declarations.

TypeScript: Type-Only Imports and Export.
Eslint: @typescript-eslint/consistent-type-imports.

Fixes: https://x.com/BenLesh/status/1724808188988633490

Hehe, have I now completely missed the point?
It looks like export type creates an issue for us, but this PR is doing the import type 😄
However, I'd still like to know whether the docs app has issues with these changes.

@jakovljevic-mladen, I checked the docs app and didn't find any problems with it.
Thanks to you, I also decided to add export type, checked it again and still found no problems. Apparently the problem is no longer relevant.

P.S. I deleted apps/rxjs.dev/src/generated before starting the docs app build.

Actually, I don't think we had an issue with ShareConfig page being rendered, but with links that point to the ShareConfig page or any other exported type page that we have.
So, to test it, please open config page locally and verify that link from this line works and that it points to GlobalConfig page.

@jakovljevic-mladen. Here's video proof. Although I would be very grateful if you also checked locally.
Example

Cool, I think that should be good enough. I also checked pipelines and it seems that we don't have issues there as well, so I think it's fine.

@benlesh I almost managed to add "error". I also discovered that eslint also checks dist. I will create a separate PR.


URL for raising Issue or PR was updated.

The URL showing file 'discord-readme.md' not present in main so I have updated the URL.

closes #ISSUE-NO
What does this PR do?
Description of the task to be completed?
How can this be manually tested?
Any background context you want to provide?
Is there any relevant issue to this PR?
Screenshots (if appropriate)
Questions

Dear Maintainers please review my changes and notify me any mistakes. Thank you.

Thank you for reviewing. Have a great time, also would love to follow you or I already did @schmelto.


Discussion: How to change the official VerneMQ Docker images

Goals: We want to support multiple image types like a larger Debian based image and a small stripped-down Alpine based image. Moreover we want to provide Docker Images that use the new SWC replication algorithm out-of-the-box but keep Docker images with the current/stable replication algorithm. We want to do differntiate between those multiple versions with Docker tags.
The easiest way to make this work is to have a Docker image that doesn't use a VerneMQ release that was installed via one of our official packages (today we take the official Debian Jessie package), but uses a pre-build VerneMQ release directly. The main downside of such an approach is that existing Docker volume mounts have to be adjusted to reflect the new directory structure.
The following adjustments would be necessary:
/etc/vernemq --> /vernemq/etc
/var/log/vernemq --> /vernemq/log
/var/lib/vernemq --> /vernemq/data
the changes can be handled in a (sort of) backward compatible way using OS symlinks.
Also the binaries vernemq, vmq-admin, vmq-passwd are inside /vernemq/bin and cannot be easily copied into /usr/sbin.
What do you think about this? Is this a change that could be done right away, or does it need special care for current Docker based deployments?

One (slight) drawback is that we'd then have less users (testers) of the VerneMQ jessie package - but I think we should tackle that problem in general in some other way, just wanted to mention it.
Can't well comment on the consequences for Docker based deployments, know too little about it.

Also the binaries vernemq, vmq-admin, vmq-passwd are inside /vernemq/bin and cannot be easily copied into /usr/sbin.

Why is that a problem? Wouldn't it be possible to symlink these as well?

I imagine as a developer it would be easier going from commit -> full kubernetes cluster if one could skip having to build an actual package. Faster feedback cycles for experiments are always welcome.

The developer doesn't have to build anything, she just uses the image.
what I propose is that we build images that use a fustom build VerneMQ instead of the prebuild packages.

The developer

I'm talking about me here. ;)


Make TextInput event prop types less strict

Similar to what was done here https://github.com/facebook/react-native/pull/22376
This allows using things like async functions with text input event props.
Test Plan:
Run flow
Changelog:
[General] [Fixed] - Make TextInput event prop types less strict

cc @TheSavior

I can merge this from my work computer on Monday. Remind me if this doesn't get merged then.


Checking whether v-on handler is a function invocation is broken

Version
2.6.11
Reproduction link
https://jsfiddle.net/adamsol/pknr8dae/
Steps to reproduce
Click the buttons.
What is expected?
All the buttons should behave in the same way: a message should appear below.
What is actually happening?
Only the first button works correctly.

See #11893 for the origin of the issue.
The problem lies probably here: https://github.com/vuejs/vue/blob/5255841aaff441d275122b4abfb099b881de7cb5/packages/vue-template-compiler/build.js#L3801
The regexes used do not take into account cases such as additional spaces, parentheses, or chained function invocations. As a result, a promise is correctly returned only in the first case in the repro, and in all the other cases errorHandler won't capture the exception thrown in the async method.
The difference in the generated code (return is present only in the first case): https://template-explorer.vuejs.org/#<div id%3D"app">
  <button %40click%3D"click(1)">
    click(1)
  <%2Fbutton>
  <button %40click%3D"click (2)">
    click (2)
  <%2Fbutton>
  <button %40click%3D"click((3))%22%3E%0A%20%20%20%20click((3))%0A%20%20%3C%2Fbutton%3E%0A%20%20%3Cbutton%20%40click%3D%22(click(4))%22%3E%0A%20%20%20%20(click(4))%0A%20%20%3C%2Fbutton%3E%0A%20%20%3Cbutton%20%40click%3D%22click(5).then()%22%3E%0A%20%20%20%20click(5).then()%0A%20%20%3C%2Fbutton%3E%0A%3C%2Fdiv%3E
Suggested solution: either add return in every case, or don't add it at all, so that the behaviour is consistent. If checking for the function invocation is crucial, then the code must be parsed in some other way.

See https://github.com/vuejs/vue/issues/7628
Handling all possible cases will require a parser instead of a regex but realistically speaking, people won't write @click="method((2))". The only that would be worth adding support for is @click="click(5).catch(() => {})" but it has the same problem, it requires a full parsing to deduce make it fully consistent. You can wrap the call with a function: () => method().catch(() => {}) or add a method to your component, which is prefered in such scenarios because the code becomes difficult to read. The same for more complicated expressions where parentheses are required, like mathematical expressions.
That being said, Vue 3 does support these syntaxes but it has a full parser built in it. So maybe someone finds a way to improve the existing regex

See https://github.com/vuejs/vue/issues/7628
Handling all possible cases will require a parser instead of a regex but realistically speaking, people won't write @click="method((2))". The only that would be worth adding support for is @click="click(5).catch(() => {})" but it has the same problem, it requires a full parsing to deduce make it fully consistent. You can wrap the call with a function: () => method().catch(() => {}) or add a method to your component, which is prefered in such scenarios because the code becomes difficult to read. The same for more complicated expressions where parentheses are required, like mathematical expressions.
That being said, Vue 3 does support these syntaxes but it has a full parser built in it. So maybe someone finds a way to improve the existing regex

The documentation (https://vuejs.org/v2/api/#errorHandler) says:

In 2.6.0+, [...] if any of the covered hooks or handlers returns a Promise chain (e.g. async functions), the error from that Promise chain will also be handled.

So I think the current behaviour should be considered a bug, since v-on is one of the covered hooks, .then and .catch create promise chains, but errors are not handled. Also, the behaviour is inconsistent even between method() and method (), which is very surprising. Together with #10009, this makes errorHandler hardly usable with regard to async methods.

For anyone who stumbles upon this issue: to catch all errors in promises, use unhandledrejection event as described here: https://stackoverflow.com/a/52076738. Note that you still need to set up Vue.config.errorHandler, since in the default handler Vue silences the errors that it manages to catch.


Upgrade doesn't work for Microsoft.VisualStudio.2019.BuildTools

Brief description of your issue
I have Visual Studio Build Tools 2019 installed. When I try to use winget to upgrade it, it updates the Visual Studio Installer, but does not affect the Build Tools themselves, and after a 'successful' upgrade, it will still beileve they need upgrading.
Steps to reproduce

Install Visual Studio Build Tools 2019 through the Visual Studio Installer
winget upgrade Microsoft.VisualStudio.2019.BuildTools (or winget upgrade --all)
winget upgrade Microsoft.VisualStudio.2019.BuildTools again and you will see it was unsuccessful

Expected behavior
Build tools will be upgraded successfully, and running the command again will return No applicable update found.
Actual behavior
Build tools are not upgraded, running the command again does the same thing over and over again
Environment
Windows Package Manager v1.0.11692
Windows: Windows.Desktop v10.0.19043.1149
Package: Microsoft.DesktopAppInstaller v1.12.11692.0

Any other software?

Microsoft.VisualStudio.2019.BuildTools 16.10.3

Visual Studio Installer version <IP_ADDRESS>049

Updated build tools in the vs installer, same deal
Microsoft Windows [Version 10.0.19043.1149]
(c) Microsoft Corporation. All rights reserved.

C:\Users\joelm>winget list build
Name                           Id                                     Version Available       Source
----------------------------------------------------------------------------------------------------
Visual Studio Build Tools 2019 Microsoft.VisualStudio.2019.BuildTools 16.10.4 16.10.31515.178 winget

C:\Users\joelm>winget upgrade Microsoft.VisualStudio.2019.BuildTools
Found Visual Studio Build Tools 2019 [Microsoft.VisualStudio.2019.BuildTools]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licences to, third-party packages.
Downloading https://download.visualstudio.microsoft.com/download/pr/acfc792d-506b-4868-9924-aeedc61ae654/1778d923fd40c62c29f85cf4ef63a0c855a61c13b1dd68419bcda2cff38c984f/vs_BuildTools.exe
  ██████████████████████████████  1.39 MB / 1.39 MB
Successfully verified installer hash
Starting package install...
Successfully installed

C:\Users\joelm>winget upgrade Microsoft.VisualStudio.2019.BuildTools
Found Visual Studio Build Tools 2019 [Microsoft.VisualStudio.2019.BuildTools]
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licences to, third-party packages.
Downloading https://download.visualstudio.microsoft.com/download/pr/acfc792d-506b-4868-9924-aeedc61ae654/1778d923fd40c62c29f85cf4ef63a0c855a61c13b1dd68419bcda2cff38c984f/vs_BuildTools.exe
  ██████████████████████████████  1.39 MB / 1.39 MB
Successfully verified installer hash
Starting package install...
Successfully installed

C:\Users\joelm>

It's because 16.10.31515.178 is 16.10.4, and we're using the build numbers instead of the real version number as listed in the Add and Remove Programs table because the Visual Studio team made a change to their versioning (they used to always use the build number, now they use the shorter number for some reason). We can't set it to the "real version number" since winget will think that the older versions with the larger build numbers are newer than the actual new versions with the smaller version numbers.
We're waiting for clarification on from the VS team that this was an intentional change (see , and if that is the case I'll probably just set the old versions of Visual Studio to use their smaller build numbers, even if they won't match with their ARP table entries anymore. See microsoft/winget-pkgs#19389

I will follow up on the VS issue.

Looks like the lion's share of the metadata fixes have been merged into microsoft/winget-pkgs:
PS C:\Users\WDAGUtilityAccount\Desktop\winget-pkgs> winget list
Name                                    Id                                            Version          Available   Source
-------------------------------------------------------------------------------------------------------------------------
Visual Studio Build Tools 2019          Microsoft.VisualStudio.2019.BuildTools        16.10.4
Microsoft Edge                          Microsoft.Edge                                90.0.818.66      92.0.902.55 winget
Microsoft Edge Update                   Microsoft Edge Update                         <IP_ADDRESS>
App Installer                           Microsoft.DesktopAppInstaller_8wekyb3d8bbwe   1.12.11692.0
Microsoft Edge                          Microsoft.MicrosoftEdge.Stable_8wekyb3d8bbwe  90.0.818.66
Windows Security                        Microsoft.SecHealthUI_8wekyb3d8bbwe           1000.22000.1.0
WinGet MSStore Source                   Microsoft.Winget.MSStore.Source_8wekyb3d8bbwe 2021.328.455.669
Windows Package Manager Source (winget) Microsoft.Winget.Source_8wekyb3d8bbwe         2021.729.308.624
Microsoft Visual Studio Installer       {6F320B93-EE3C-4826-85E0-ADF79F8D4C61}        <IP_ADDRESS>049
PS C:\Users\WDAGUtilityAccount\Desktop\winget-pkgs> winget upgrade Microsoft.VisualStudio.2019.BuildTools
No applicable update found.
PS C:\Users\WDAGUtilityAccount\Desktop\winget-pkgs>

Can you check again and see if it still wants you to upgrade?

Fixed, thanks 👍
Microsoft Windows [Version 10.0.19043.1149]
(c) Microsoft Corporation. All rights reserved.

C:\Users\joelm>winget list build
Name                           Id                                     Version
-----------------------------------------------------------------------------
Visual Studio Build Tools 2019 Microsoft.VisualStudio.2019.BuildTools 16.10.4

C:\Users\joelm>


User login and alignment

Manage users through AAC:

ensure necessary roles (create if missing): publisher, subscribers
newly registered AAC users to be created in WSO2 AM with the subscriber role
possibility to create the publisher users (create tenant, create tenant roles, create user in the tenant)


Add icon for NPC dialogue

I suggest .d.json extension since currently nothing is using that.

#3 closes this issue


Bug report

Hey, in the latest release (6.0.0). after unlocking the lock screen after reboot, the phone entering back to bootanim and returns to lock screen, this not happening twice.

Rom - crDroid 7.9
Phone - Beyond1lte (Samsung Galaxy S10)
Props I used (redfin - pixel 5 props)

As always, logs will be necessary:
https://github.com/Magisk-Modules-Repo/MagiskHide-Props-Config/blob/master/README.md#logs

Have recognized the same issue

Have recognized the same issue

If there are issues, the aforementioned logs would be needed to properly troubleshoot.

I will take logs tomorrow.

I have the same issue with Release 6.0.0. Device reboots once after power on or reboot, and then is fine.
Oneplus 8T running LOS 18.1, with one other active Magisk Module - Systemless Hosts
Gone back to previous version for now..

Should be fixed in f12cd6e722e963a97776eaf4ef2e93c444f4f5bf
For some background: it's actually not a bug, but a feature... :smile: In some instances it is necessary to do a soft reboot at the end of the boot process, for the props to be propely set to memory. But, since some (mainly Samsung it seems) users experienced weird issues I've made this an option instead. See the docs for more details.

Fixed in 6.0.1. Thanks for your diligent hard work.


Lab2

Fixes #162
Review of colleague's PR #
Changes proposed in this PR:

Implement Lab1 Fibonacci numbers
Test Lab1

Codecov Report

Merging #163 into master will not change coverage.
The diff coverage is 100%.

@@          Coverage Diff          @@
##           master   #163   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      2    +1
  Lines           2     15   +13
=====================================
+ Hits            2     15   +13

Impacted Files
Coverage Δ

02_bubble/CameronSchafer/bubble.go
100% <100%> (ø)

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 7984f47...a97b86a. Read the comment docs.


Synced Gifs

@LucasPilla So this is how I synced the Gifs for #152 :

I determined how long the slowest Algo Gif (Selection Sort) ran for (1 : 10 : 08).
I added a wait time to the other Gifs, So they wait for Selection Sort Gif to reach the finish line.
I ran a test to ensure they synced.
The Gifs are linked to Base Repo so I cant see changed in mine repo until merged.

Tag hacktoberfest if merged. 😂

@highb33kay Great! Can you share how you did it?
Is it possible to create just one gif with all algorithms synced?

Do you mean a one gif to rule then all situation? I mean all gifs will be merged into this one gif and will be synced to play.

I just researched with the knowledge that the gif is just a played media and found https://stackoverflow.com/questions/53509022/r-imagemagick-how-to-add-delay-after-each-loop-in-animation.

Hi @highb33kay! Actually I think the visualization was better with the gifs not synced.
I have another task to be done, the gifs are quite heavy so I want to optimize/compress them.
I can assign this task to you, do you want?

Yes, I do. Assign away, sir. 😅


[Accessibility] [Supporting the platform -TSDocs]: Focus indicator is not moving to the displayed search results in high-contrast mode. [Sev3]

Test Environment:
OS Build: Windows 11
Version: 21H2 (OS Build 22000.318)
Browser: Edge
Version 96.0.1054.43 (Official build) (64-bit)
URL: https://tsdoc.org/
Screen reader: Narrator
Pre-requisites:
Settings > Accessibility > Contrast themes > Select ‘Aquatic’ and 'Dessert' modes.
Repro Steps:

Open the above URL and login with valid credentials.
TSDoc page will get displayed.
Now navigate to search docs field type any letter in the field (ex, micr), suggestions will appear.
Now, enable high-contrast mode in settings and check whether the focus indicator is visible on the displayed suggestions or not.

Actual:
Focus indicator is not moving to the displayed search results in high-contrast mode.
Expected:
Focus indicator should move to the displayed search results in high-contrast mode.
User Impact:
When focus indicator is not visible on the interactive elements in high-contrast mode, customers who rely on that feature are blocked from information and functionality of the full user experience within the site/app.
Guideline Reference:
EN 301 549 V3.2.1 - <IP_ADDRESS> No disruption of accessibility features
https://user-images.githubusercontent.com/88436727/151990850-0118d43d-17df-4b2f-a020-cb87f75ebf54.mp4

This issue has been closed because this Jekyll project has been retired. The documentation content has been migrated to Docusaurus.
If the problem has not been addressed, please file a new issue under this GitHub project instead:
https://github.com/microsoft/rushstack-websites


Copy verible-format configuration from OpenTitan

This configuration is the closest we can get to our style guide right
now, so let's go with that.

Verible-format runs in CI with this config, but we only show the resulting diff and don't take any action on it yet.


[INCIDENT] Athena driver doesn't recognize the connection error

Describe the bug
Would it be possible to wrap this error as a WarehouseConnectionError? It would help the cloud report wrong connection details correctly as generic connection errors.
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 159, in _new_conn
    conn = connection.create_connection(
  File "/usr/local/lib/python3.8/site-packages/urllib3/util/connection.py", line 61, in create_connection
    for res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):
  File "/usr/local/lib/python3.8/socket.py", line 918, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/botocore/httpsession.py", line 254, in send
    urllib_response = conn.urlopen(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen
    retries = retries.increment(
  File "/usr/local/lib/python3.8/site-packages/urllib3/util/retry.py", line 379, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python3.8/site-packages/urllib3/packages/six.py", line 735, in reraise
    raise value
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 381, in _make_request
    self._validate_conn(conn)
  File "/usr/local/lib/python3.8/site-packages/urllib3/connectionpool.py", line 978, in _validate_conn
    conn.connect()
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 309, in connect
    conn = self._new_conn()
  File "/usr/local/lib/python3.8/site-packages/urllib3/connection.py", line 171, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <botocore.awsrequest.AWSHTTPSConnection object at 0x7f64d3378a90>: Failed to establish a new connection: [Errno -2] Name or service not known

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/pyathena/common.py", line 307, in _execute
    query_id = retry_api_call(
  File "/usr/local/lib/python3.8/site-packages/pyathena/util.py", line 84, in retry_api_call
    return retry(func, *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/tenacity/__init__.py", line 409, in call
    do = self.iter(retry_state=retry_state)
  File "/usr/local/lib/python3.8/site-packages/tenacity/__init__.py", line 356, in iter
    return fut.result()
  File "/usr/local/lib/python3.8/concurrent/futures/_base.py", line 432, in result
    return self.__get_result()
  File "/usr/local/lib/python3.8/concurrent/futures/_base.py", line 388, in __get_result
    raise self._exception
  File "/usr/local/lib/python3.8/site-packages/tenacity/__init__.py", line 412, in call
    result = fn(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/botocore/client.py", line 357, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/usr/local/lib/python3.8/site-packages/botocore/client.py", line 662, in _make_api_call
    http, parsed_response = self._make_request(
  File "/usr/local/lib/python3.8/site-packages/botocore/client.py", line 682, in _make_request
    return self._endpoint.make_request(operation_model, request_dict)
  File "/usr/local/lib/python3.8/site-packages/botocore/endpoint.py", line 102, in make_request
    return self._send_request(request_dict, operation_model)
  File "/usr/local/lib/python3.8/site-packages/botocore/endpoint.py", line 136, in _send_request
    while self._needs_retry(attempts, operation_model, request_dict,
  File "/usr/local/lib/python3.8/site-packages/botocore/endpoint.py", line 253, in _needs_retry
    responses = self._event_emitter.emit(
  File "/usr/local/lib/python3.8/site-packages/botocore/hooks.py", line 356, in emit
    return self._emitter.emit(aliased_event_name, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/botocore/hooks.py", line 228, in emit
    return self._emit(event_name, kwargs)
  File "/usr/local/lib/python3.8/site-packages/botocore/hooks.py", line 211, in _emit
    response = handler(**kwargs)
  File "/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py", line 183, in __call__
    if self._checker(attempts, response, caught_exception):
  File "/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py", line 250, in __call__
    should_retry = self._should_retry(attempt_number, response,
  File "/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py", line 277, in _should_retry
    return self._checker(attempt_number, response, caught_exception)
  File "/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py", line 316, in __call__
    checker_response = checker(attempt_number, response,
  File "/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py", line 222, in __call__
    return self._check_caught_exception(
  File "/usr/local/lib/python3.8/site-packages/botocore/retryhandler.py", line 359, in _check_caught_exception
    raise caught_exception
  File "/usr/local/lib/python3.8/site-packages/botocore/endpoint.py", line 200, in _do_get_response
    http_response = self._send(request)
  File "/usr/local/lib/python3.8/site-packages/botocore/endpoint.py", line 269, in _send
    return self.http_session.send(request)
  File "/usr/local/lib/python3.8/site-packages/botocore/httpsession.py", line 283, in send
    raise EndpointConnectionError(endpoint_url=request.url, error=e)
botocore.exceptions.EndpointConnectionError: Could not connect to the endpoint URL: "https://athena.d.amazonaws.com/"

Context
Exact connection details that caused the error:
{
    "access_key_id": "d",
    "database": "d",
    "region": "d",
    "role_arn": "d",
    "staging_dir": "d",
    "type": "athena"
}

This error is one of the multiple static botocore exceptions we should try to proactively catch as part of our connection & authentication error handling inside Athena and Redshift dialects. The exhaustive list is available here. We probably need then to classify relevant exceptions into connection/authentication errors so we can do the mapping on our side correctly.

Another error that is relevant to this issue that popped up on Cloud env recently (see https://github.com/sodadata/soda/issues/3130):
pyathena.error.OperationalError: Access denied when writing output to url: s3://aws-athena-303915887687-eu-west-1/8d1d7d5a-8110-4bf3-aa23-e5464048ec6f.csv . Please ensure you are allowed to access the S3 bucket. If you are encrypting query results with KMS key, please ensure you are allowed to access your KMS key

Maybe we need to introduce another soda-sql error type (SodaSqlRuntimeError or something) to wrap those.

And another one:
Datasource validation failed due to some unknown error: Access denied when writing output to url: s3://aws-athena-303915887687-eu-west-1/8d1d7d5a-8110-4bf3-aa23-e5464048ec6f.csv . Please ensure you are allowed to access the S3 bucket. If you are encrypting query results with KMS key, please ensure you are allowed to access your KMS key

Issue is that both methods is_connection_error and is_authentication_error are not implemented:
`def is_connection_error(self, exception):
return False
def is_authentication_error(self, exception):
return False`
In this case, we never enter the condition to raise either WarehouseConnectionError nor WarehouseAuthenticationError. Implementing those is the first step before solving the actual issue.


Front-end bull

REWRITE PRETTY MUCH EVERYTHING!!!

Turn all css to tailwindcss (there are website which do it for you)
Start using daisy ui, there are components that make your job 10x easier - https://daisyui.com/
The websites design is ment to be top to bottom, sadly your gonna have to remake the settings select side bar to a top bar
Please for gods sake dont add more css to existing components, the hole point is to leave them how they are
4. 1. Remove all css from components when using them

5. to be continue

 Settings


It would be very nice to have autocompletions for # and @ characters.

When I am writing a description or commenting an issue or a pull request, I would like to see what I am gonna mention when I write the # character. I expect this to be an autocomplete list, just as in github. The same for @ for mentioning organizations or people.

This is done at least for mention (maybe we need to add it to more text field ?). Since #3136

@sapk unfortunately this does not work for me on 1.4 version.

can you elaborate? and are you actually on the 1.4 rc?

@thehowl yes, i am on it, installed a week or two ago. I have one user excepr me and organization. I can mention nothing but only myself.

You mean the mention completion only shows your name? That's to be expected. It only lists the user who can be set as assignees, and as such have write access to the repository.

@thehowl that’s strange because people who makes prs don’t have any write access to the repository.

@thehowl that’s strange because people who makes prs don’t have any write access to the repository.

So, are we going to do anything with this behavior?

@ works followup issue is at #16872


Add [target.'cfg(...)'] syntax for rustc(doc)flags in .cargo/config

Allow to use the Rust cfg(...) syntax to configure rust(doc)flags.
The flags are concatenated when a build matches several cfg, or
several cfg and a $triple.
Fix #3499.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

Thanks for the PR! Just one minor nit but otherwise looks good to me

@tee-too looks great to me although I think there's still that one spot to add a match? Maybe the matches could become a helper method as well perhaps?
Other than that r=me, you may wish to rebase to clean up the commit history as well but I'm fine either way.

@alexcrichton rebased and cleaned up.

@tee-too oh I think there's still one more location for the match?

(commented above in the PR comments)

@alexcrichton I think I understood where was the missing match. Sorry for that.

@bors: r+
Thanks!

:pushpin: Commit e6e6f10 has been approved by alexcrichton

:hourglass: Testing commit e6e6f10 with merge f5348cc...

:sunny: Test successful - status-appveyor, status-travis
Approved by: alexcrichton
Pushing f5348cc321a032db95cd18e3129a4392d2e0a892 to master...


updated with latest faker documentation

Parent issue
The sample JSON had outdated faker functions. Replaced them with the latest ones.

Thanks!


Call addslashes on configuration group

This is needed because if a group containing a ' is created it will
create a syntax error in our config file

Assume that we already handle removing the slashes when reading the configuration?

This is done by PHP itself when it parses the config file.


tail to stdout

Allows to forward tail output to a file:
$ lymph tail --level=DEBUG my_service > /tmp/my_service.log

Is there a problem with doing
lymph tail --level=DEBUG my_service 2> /tmp/my_service.log

?

There is a reason why logging Stream default is to stderr which is buffering AFAIK, stderr is unbuffered while stdout is buffered (to line buffering if it's terminal) ...

LGTM


fix: made notifications buttons more accessible

Description
In this PR, I have taken significant steps to enhance the accessibility of the notification page buttons. These improvements were made to ensure that all users, including those who rely on screen readers or other assistive technologies, can effectively interact with and understand the purpose of these buttons.

What type of PR is this? (check all applicable)

[ ] 🍕 Feature
[x] 🐛 Bug Fix
[ ] 📝 Documentation Update
[ ] 🎨 Style
[ ] 🧑💻 Code Refactor
[ ] 🔥 Performance Improvements
[ ] ✅ Test
[ ] 🤖 Build
[ ] 🔁 CI
[ ] 📦 Chore (Release)
[ ] ⏩ Revert

Related Tickets & Documents

Fixes #2028
Mobile & Desktop Screenshots/Recordings

Added tests?

[ ] 👍 yes
[ ] 🙅 no, because they aren't needed
[x] 🙋 no, because I need help

Added to documentation?

[ ] 📜 README.md
[ ] 📓 docs.opensauced.pizza
[ ] 🍕 dev.to/opensauced
[ ] 📕 storybook
[x] 🙅 no documentation needed

[optional] Are there any post-deployment tasks we need to perform?
[optional] What gif best describes this PR or how it makes you feel?

I checked the Accessbility tree and tested this with Voice Over and it works great! Thanks so much @RitaDee!

🙇🏼♀


Adapt NetworkPolicys for components in extensions-related namespaces

How to categorize this PR?

/area dev-productivity ops-productivity networking security
/kind enhancement
What this PR does / why we need it:
The new NetworkPolicy controller is now enabled for extension namespaces in case the FullNetworkPoliciesInRuntimeCluster feature gate is enabled. In the future, this feature gate will also control whether full NetworkPolicy protection is enabled for the garden namespace.
The provider-local extension is already adapted. In order to safely enable this feature gate, all other extensions need to be adapted as well according to the release notes of v1.64 and v1.65. In addition, extensions serving shoot webhooks need to be revendored.
Which issue(s) this PR fixes:
Part of #7352
Special notes for your reviewer:
/cc @timuthy @ScheererJ @oliver-goetz
Release note:

A new feature gate (alpha) `FullNetworkPoliciesInRuntimeCluster` was introduced. If enabled, it adds `NetworkPolicy`s to namespaces running extensions. Only enable this when all extensions registered in your system support it.

/retest-required

/lgtm

/lgtm
/approve


Update name and link for Beginning iOS & Swift

Update the name and link for Introduction to iOS Program (Current the link is not found) with Beginning iOS & Swift Program

Dear @jellodiil,
I have a minor update for the link (the link is not found). Please help me to review the PR.
Thanks,

Lam

@lamtrinhdev Thanks again for your attention to detail — feel free to contact support again for another free month of our subscription :)


feat: Update to provwasm v2; improve developer experience

Context
The contract no longer works in testnet, encountering an error when attempting to look up scopes.
Changes

Update contract to latest provwasm & cosmwasm version
Add helpful scripts & instructions for development

Notes

Due to the size of the required updates, I tried to minimize the inclusion of suggested clippy fixes to only code that was already being changed by this PR

Squashing commits since the majority were unsuccessful incremental attempts at fixing various issues. None are really particularly valuable in isolation.


PKPDX-15 Add 'Data Table' pagination

screencast-nimbusweb_me-2024_10_01-18_08_08.webm

@eatyourgreens Merge request has been updated with additional changes regarding the notifications and some styling changes. Please review again. thank you!


add: channel_id

In case you're curious, here's the script I use to scrape the data: https://github.com/vinliao/warpy/blob/replicator/src/fip2_indexer.py

Thank you!


[SPARK-17029] make toJSON not go through rdd form but operate on dataset always

What changes were proposed in this pull request?
Don't convert toRdd when doing toJSON
How was this patch tested?
Existing unit tests

Can one of the admins verify this patch?

@rxin anything else? I added docs to the best of my understanding let me know if you meant something else.

This seems pretty reasonable, assuming test coverage already exists on that toJSON method.
Jenkins, this is ok to test.

@rxin any chance you or someone else can take a look?

Jenkins, this is ok to test.

Test build #74755 has started for PR 14615 at commit 0043190.

Test build #74755 has finished for PR 14615 at commit 0043190.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74755/
Test FAILed.

@robert3005 looks like this has unit test failures on org.apache.spark.sql.hive.orc.OrcSourceSuite.SPARK-19459/SPARK-18220: read char/varchar column written by Hive -- is that a flake?

Jenkins, this is ok to test.

It indeed does look like a flake.

Test build #74759 has started for PR 14615 at commit 0043190.

Test build #74759 has finished for PR 14615 at commit 0043190.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74759/
Test PASSed.

Merged build finished. Test PASSed.

Test build #74828 has started for PR 14615 at commit 6250699.

Test build #74828 has finished for PR 14615 at commit 6250699.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/74828/
Test PASSed.

ping? @rxin

thanks @gatorsmile, updated

Test build #76757 has started for PR 14615 at commit 274be08.

Test build #76757 has finished for PR 14615 at commit 274be08.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76757/
Test PASSed.

LGTM

Test build #76766 has started for PR 14615 at commit 723ef1e.

Test build #76766 has finished for PR 14615 at commit 723ef1e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/76766/
Test PASSed.

thanks, merging to master!


[Feature] Introduce storage_alias for CountedStorageMap

Fixes https://github.com/paritytech/substrate/issues/13353
Needs some DRY'ness for duplicate code, but TBH not sure if it's worth the readability sacrifice.

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/2380029

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-each-crate
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2381675

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2381660

The CI pipeline was cancelled due to failure one of the required jobs.
Job name: cargo-check-benches
Logs: https://gitlab.parity.io/parity/mirrors/substrate/-/jobs/2381661

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/2381665

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/2381666

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/2381671

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/2381664

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/2381901

bot rebase

looks great to me! Maybe some UI tests?

Not sure about UI tests, we are already testing the functionality elsewhere and looking at storage_alias_ui there's not much going on in terms of testing various storage types.

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/2382737

bot merge

This pull request has been mentioned on Polkadot Forum. There might be relevant details there:
https://forum.polkadot.network/t/polkadot-release-analysis-v0-9-39/2277/1


Is there a way to read from a portion of a buffer?

I wrote a buffer using queue.EnqueueWriteBufferFloat32. Is there a way for me to read/write to an index of the buffer without copying the whole buffer into and out of RAM? Thank you!

I tried using something like this
buffMap, _, err := queue.EnqueueMapBuffer(out, true, cl.MapFlagRead, 177*8, 8, nil)
handle(err)

fmt.Println(buffMap.ByteSlice())

_, err = queue.EnqueueUnmapMemObject(out, buffMap, nil)
handle(err)

The 177th Element was 0.42806938, and this returned [131 255 48 62 91 253 26 60]. Is there a correlation in between these? Is there a way to convert between them?


Proposal for quality-of-life improvements regarding sway-core layout

Personally, I find the layout of some of the elements of sway-core to be counterintuitive with definitions and impls in files and dirs that I would not expect them to be in. Over time I have grown more familiar with the layout but still find myself searching around for things on occasion.
For example, the current layout for sway-core/src/semantic-analysis/ is:
.
├── ast_node
│   ├── code_block.rs
│   ├── declaration
│   │   ├── function
│   │   │   └── function_parameter.rs
│   │   ├── function.rs
│   │   ├── mod.rs
│   │   └── variable.rs
│   ├── declaration.rs
│   ├── expression
│   │   ├── enum_instantiation.rs
│   │   ├── func_app_instantiation.rs
│   │   ├── mod.rs
│   │   ├── struct_expr_field.rs
│   │   ├── typed_expression
│   │   │   └── method_application.rs
│   │   ├── typed_expression.rs
│   │   └── typed_expression_variant.rs
│   ├── impl_trait.rs
│   ├── mod.rs
│   ├── return_statement.rs
│   └── while_loop.rs
├── namespace
│   └── arena.rs
├── namespace.rs
├── node_dependencies.rs
├── syntax_tree.rs
└── type_check_arguments.rs

taking a look at the ast_node dir, we can see that it has a subdir ast_node/declaration/ as well as a file ast_node/declaration.rs which actually contains the definition for the TypedDeclaration struct. Normally as a Rust dev, I would be expecting the definition of TypedDeclaration to be in  ast_node/declaration/declaration.rs or in ast_node/declaration/mod.rs. And I would expect ast_node/declaration/mod.rs to create a flat interface through which all the elements of ast_node/declaration/ are made available. The same problem exists for ast_node/expression/typed_expression/ and ast_node/expression/typed_expression.rs.
This is a relatively easy change, but it time complex as it involves resolving dependencies issues.

The way modules work has changed recently-ish, in an effort to reduce the number of mod.rs files everywhere.
It used to be either put a module in declaration.rs or put it in declaration/mod.rs, one or the other.  Submodules would go under e.g. declaration/function.rs or declaration/function/mod.rs and be declared in declaration/mod.rs.
Now you can put the module in declaration.rs and put submodules under declaration/function.rs and not use the mod.rs file at all.  This is what we've done at some point for declaration.   The declaration/mod.rs file you list up there doesn't actually exist under master at the moment: https://github.com/FuelLabs/sway/tree/master/sway-core/src/semantic_analysis/ast_node/declaration
So I think it's normal now to expect TypedDeclaration in declaration.rs and only the sub-modules of declaration to exist under that directory, i.e., function and variable, and function in turn has a sub-module for function-parameter.
No more mod.rs files.

I'm in the same boat as you @emilyaherbert - I'm so used to seeing foo/mod.rs and everything related to foo under the foo/ directory that I was thrown when navigating through sway-core. It took me a few minutes to realise that a bunch of stuff under semantic_analysis was not under the semantic_analysis dir and that a semantic_analysis.rs file existed too heh! I'd only heard of this being a thing a few days ago when chatting to @JoshuaBatty and another Rustacean pal about it.
Personally, I'm a little disappointed at Rust's choice to go down this route. I think the biggest benefit of the classic foo/mod.rs convention is how you can kind of see the module hierarchy just from looking at the directory structure, and seeing mod.rs was an easy way of spotting the branching point. I guess not too much has changed, but now we have to search for both either mod.rs or a file with the same name in the parent directory.
Another small nit is that my editor sorts by directory and then by file, so with the classic mod.rs approach the branching module is with the rest of its children, rather than further down the list in the parent directory as with the new approach:

Anyways, if this new approach really is the new Rust convention I'm more inclined just do what is conventional. I do wish I was aware of the discussion upstream around all this though - it's funny, the more content you become with the language the less you check RFCs, so you're more likely to miss proposals that go in a less personally favourable direction :smiling_face_with_tear:
</ :bike: :derelict_house: >
Whatever we decide on going forward, we should probably make it consistent throughout all of the fuel workspaces as I think inconsistency is worse than a less favourable convention.

I would regularly get confused as to which file I was looking at as I jumped around the codebase, when I'd have 3 or 4 different files called mod.rs open simultaneously, so I prefer the new system.


NetInfo.configure is not working,

Environment
System:
    OS: Windows 10 10.0.22631
    CPU: (8) x64 Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz
    Memory: 1.94 GB / 15.84 GB
  Binaries:
    Node: 20.10.0 - C:\Program Files\nodejs\node.EXE
    Yarn: Not Found
    npm: 10.2.3 - C:\Program Files\nodejs\npm.CMD
    Watchman: Not Found
  SDKs:
    Android SDK: Not Found
    Windows SDK: Not Found
  IDEs:
    Android Studio: AI-223.8836.35.2231.11005911
    Visual Studio: 17.8.34330.188 (Visual Studio Community 2022)
  Languages:
    Java: 17.0.9
  npmPackages:
    @react-native-community/cli: Not Found
    react: 18.2.0 => 18.2.0
    react-native: 0.71.8 => 0.71.8
    react-native-windows: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Platforms
Android
Versions

Android:
iOS:
react-native-netinfo: "^11.2.0"
react-native:"0.71.8"
react: "18.2.0"

Description
i'm trying to chance the reachabilityUrlbut always take the default url,
i'm using this config :
NetInfo.configure({
    reachabilityUrl: "http://someurl/api/check",
    reachabilityTest: async (response) => { console.log({response}); return false;  response.status === 204},
    //reachabilityTest: async (response) => response.status === 204,
    shouldFetchWiFiSSID: false, // met iOS requirements to get SSID
    useNativeReachability: true
  });

Reproducible Demo
in the example i'm using an previuos version because expo ask me to downgrade, but in my project i'm using the last one,
https://snack.expo.dev/@mrojas18/eager-blue-orange

I don't have any extra noncompensated volunteer time right now to devote to netinfo
Happy to merge a PR if you trace through and discover this module has a problem and you post a patch to fix it

+1

+1


🌱 Remove hack/tools/install_kustomize.sh as this is redundant to hack/ensure_kustomize.sh

We have two files currently which installs kustomize. hack/ensure_kustomize.sh and hack/tools/install_kustomize.sh. This
PR removes hack/tools/install_kustomize.sh and also uplifts kustomize version to 4.4.1 to keep it aligned with CAPI.

/test-v1b1-integration
/test-v1b1-e2e

/test-v1b1-integration
/test-v1b1-e2e

I will open a similar PR in IPAM repo once this PR is reviewed and agreed upon.

Could we not use the exact same script they use in CAPI? I see there are some differences now when compared to this.

Yes there are some differences, I dont recall why this is like this, however I have tried to keep it as close to CAPI as possible and still keep the rest of the code which seemed useful to me. Do you see any part of the current code is not useful?

Yes there are some differences, I dont recall why this is like this, however I have tried to keep it as close to CAPI as possible and still keep the rest of the code which seemed useful to me. Do you see any part of the current code is not useful?

I think we could do the same check for goos as they do instead of this. But I'm not sure.
Then the check for minimum version at the end I guess is useful for long running environments so we don't get stuck on an old release. So I guess we should keep it. Maybe we could upstream it? :slightly_smiling_face:

Yes there are some differences, I dont recall why this is like this, however I have tried to keep it as close to CAPI as possible and still keep the rest of the code which seemed useful to me. Do you see any part of the current code is not useful?

I think we could do the same check for goos as they do instead of this. But I'm not sure.
Then the check for minimum version at the end I guess is useful for long running environments so we don't get stuck on an old release. So I guess we should keep it. Maybe we could upstream it? slightly_smiling_face

I am unsure if we should introduce the same check here for OS, so I am keeping this out of this PR. Also I didn't get your point about upstream, you mean CAPI ?

/lgtm

I am also unsure if we should introduce the same check here for OS, so I am keeping this out of this PR. Also I didn't get your point about upstream, you mean CAPI ?

Fair enough, and yes I meant CAPI. But we can take a look at that later.


Wheel Actions???

Is there a way to make an action bypass an action wheel. For example if i'm a cop and i want to escort someone but the t /escort does not work except for in the F1 action wheel. select work. select officer action. select escort. or put in car, pull out of car....etc. I have seem to run into a dead end with this. any help would be extremely appreciated.

Unfortunately this would require the server owner to add a command to do that action, we've added a few new useful commands to our server for Stream Deck users to make life easier


feat: Support configuring expression in Canvas form

Fixes: #270
Just a mockup for now, plumbing TBD
https://github.com/KaotoIO/kaoto-next/assets/265462/564382ec-1ef7-4ddc-8a3f-01c6950ee696

Implementation is done including dialect parsing. I'll add tests and then should be ready to go.
https://github.com/KaotoIO/kaoto-next/assets/265462/7c63a13c-b179-43a7-801c-be7bc288dd47

One known bug: the language xtokenize has an array property namespace, which breaks this expression editor ATM
we'd need to fix the catalog-schema converter for that
https://github.com/KaotoIO/kaoto-next/pull/272/files#diff-2d877e44faedc2698396d57993c8d9d9a404d30029b306414175166ecbd0f5e4R64

I would like to know your opinion about the following image:

Is it necessary for the expression field to be expandable? It feels a bit different than the rest of the form.
Given that we're offering the id field as well, should we also provide a default ID as well, as we do for other nodes?

Another thing that I noticed, if you start with the default route
- route:
    from:
      uri: timer:template
      parameters:
        period: "1000"
      steps:
        - log:
            message: template message
    id: route-1073

notice how the log processor doesn't have an expression property defined, then you open the log processor to configure it, there's no expression field either

but returning to the source code, it looks like an expression property gets added :thinking:
have you seen that in the past?

I would like to know your opinion about the following image:

Is it necessary for the expression field to be expandable? It feels a bit different than the rest of the form.

I would think so, since some of the language have many parameters and push step parameters out of the screen

Given that we're offering the id field as well, should we also provide a default ID as well, as we do for other nodes?

Filed an issue - https://github.com/KaotoIO/kaoto-next/issues/317

notice how the log processor doesn't have an expression property defined, then you open the log processor to configure it, there's no expression field either
but returning to the source code, it looks like an expression property gets added 🤔
have you seen that in the past?

Since log step doesn't have expression parameter, it shouldn't be added, can you file a bug issue and assign it to me?

I filed an issue for the expression field that sometimes is added unintentionally (at least I think unintentionally): https://github.com/KaotoIO/kaoto-next/issues/319, it doesn't happen always and I haven't found a reliable to reproduce it.

Considering that we have all the feedback in dedicated issues, I'm gonna merge this PR :tada: , thanks once again Tomo