_FIX #3856

#3856

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Hello @miladsadeghi72, and thanks for the contribution!
You fix looks just right, there shouldn't anything else to be added regarding the fix. It's simple and effective. There are though, a couple issues with your pull request:

You didn't sign the CLA, we can't accept it even if it was perfectly fine.
You didn't provide unit tests for your fix, we simply can't merge fixes before they have an unit test -- well, when they can have an unit test, which is pretty much 100% of the case when a deck is possible to reproduce the issue.

In the other hand, it seems @vladsch took over the task and circumstantially the fix was but the same, and I don't think there was any other better way to fix this. So this could come in very handy for you, please take a look at vlad's pull request #3868 and see what I mean.
Once you're viewing his #3868 pull request, click the Files Changed tab to see the changes. Essentially, the unit test is in the introduced file to the Tests/Batch3 project: Tests/Batch3/BridgeIssues/3800/N3865.cs. You can always use another test code to create yours.
 Using latest google chrome is advised, as we didn't have means to fix some tests on select browsers.
As a pull request fixing this in the format we require is already present, I'm closing this one. But please don't get the wrong idea, we really do appreciate you taking your time in contributions to the project and sharing your knowledge with us. We're looking forward to your next contribution!

Thanks bro but its not important, tnx for fix issue

I using this on real project so its the real test for bridge
I just want to bridge be safe, not important who fix or who accepted


feat: unchain unlock call from enable screen

Describe the changes you have made in this PR
unchain unlock screen from enable screen
Link this PR to an issue [optional]
fixes triggering of enable screen for nostr when extension is locked, even if the provider was persisted before.
this also reduces the side effect of user needed to set permission again because of retriggering of enable screens
Type of change
(Remove other not matching type)

feat: New feature (non-breaking change which adds functionality)

Checklist

[X] Self-review of changed code
[X] Manual testing
[X] Added automated tests where applicable
[X] Update Docs & Guides
For UI-related changes
[X] Darkmode
[X] Responsive layout

Tested and worked like intended. :+1:
There is still a bug when you manually lock the extension after you enabled it on this website before, which leads to an erroneous state in the extension (you need to manually reload it afterwards in order to use it again). This bug was already in there for years though, so I don't think we need to fix that in this PR.
tACK


Missing Characteristics on CitySports Treadmill

Context
I'm trying to send requests to every discovered characteristic whilst doing a packet capture so that I can work out what UUIDs correspond with these handles:

Demonstration Code
https://github.com/hughesjs/OpenEQiSports/tree/6bd2ec243acc91637b96031829c55f5e1087440b/proof-of-concept/EqiPoc
(This isn't a standalone repo, but the only thing in it so far is a PoC displaying this issue so it may as well be as long as you look at the linked commit specifically)
Steps to reproduce

Launch app with debugging
Either break on TreadmillController:46 and look at the characteristics found (specifically for service.Name == "Fitness Machine"
Or press debug and look at the console output

Expected behavior
According to nRF Connect, the "Fitness Machine" service has 14 characteristics.

Actual behavior
Only 9 characteristics are discovered.
Crashlog
N/A
Configuration
Version of the Plugin: 3.0.0
Platform: iOS 17.3
Device: iPhone 15 Pro

Hi @hughesjs,
I'm the friendly issue checker.
Thanks for using the issue template :star2:
I appreciate it very much. I'm sure, the maintainers of this repository will answer, soon.

Expected behavior
According to nRF Connect, the "Fitness Machine" service has 14 characteristics.

It seems your screenshot contains the service twice (with only 7 characteristics each)?

Actual behavior
Only 9 characteristics are discovered.

Which ones do you see? Which ones are missing?

@janusw - My bad, I accidentally pasted the same screenshot twice... I always forget on macOS you have to manually copy the screenshot... I've editted it.
That being said, I think I've worked out that the three lines means some of those are actually descriptors. So, I've been trying to write to them with this:
    private async Task DoHandshake()
    {
        if (_device == null) return;

        string[] characteristicUuids = ["2acd", "2ad3", "2ad9", "2ada", "c4208999-8d92-bee1-4456-2068528eccf6"];
        byte[][] values = [[0x01, 0x00], [0x01, 0x00], [0x02, 0x00], [0x01, 0x00], [0x01, 0x00]];

        for (int i = 0; i < characteristicUuids.Length; i++)
        {
            ICharacteristic? characteristic = _characteristics[characteristicUuids[i]];
            byte[] payload = values[i];
            IDescriptor? descriptor = (await characteristic.GetDescriptorsAsync()).Single();

            await descriptor.WriteAsync(payload);
        }
    }

With the UUIDs taken from hitting things through nRF Connect and looking at a packet capture to link the handles I need and it's all of the Client Characteristic Configurations
Now I'm getting this exception:

ObjCRuntime.ObjCException: Objective-C exception thrown.  Name: NSInternalInconsistencyException Reason: Client Characteristic Configuration descriptors must be configured using setNotifyValue:forCharacteristic:

So I guess I'm writing to them wrong?

Y'know, I might have actually misunderstood what's going on here... That might just be setting up notifications rather than being a handshake. Sorry if I've wasted your time here.

@janusw - My bad, I accidentally pasted the same screenshot twice... I always forget on macOS you have to manually copy the screenshot... I've editted it.
That being said, I think I've worked out that the three lines means some of those are actually descriptors. Which would explain the "missing" ones.

Ah, right. Those descriptors are probably the only thing that the plugin will recognize properly at present. All the other characteristics and the service itself are pretty much "unknown" AFAICS, but maybe you could open a PR to add them to these files?

https://github.com/dotnet-bluetooth-le/dotnet-bluetooth-le/blob/master/Source/Plugin.BLE/Shared/KnownServices.cs
https://github.com/dotnet-bluetooth-le/dotnet-bluetooth-le/blob/master/Source/Plugin.BLE/Shared/KnownCharacteristics.cs

Yeah sure, I can do that at some point this weekend probably

There's a PR for you :)

There's a PR for you :)

Awesome, thanks :+1:
I'll look into it soon ...

Let me know if you need anything


ability to pass the 'stringify' option to common.log

file.js, L92-99
File.prototype.log = function (level, msg, meta, callback) {
  if (this.silent) {
    return callback(null, true);
  }

  var self = this, output = common.log({
    level:     level,
    message:   msg,
    meta:      meta,
    json:      this.json,
    colorize:  this.colorize,
    timestamp: this.timestamp
  }) + '\n';

common.js, L102-120
exports.log = function (options) {
  var timestampFn = typeof options.timestamp === 'function' ? options.timestamp : exports.timestamp,
      timestamp   = options.timestamp ? timestampFn() : null,
      meta        = options.meta ? exports.clone(options.meta) : null,
      output;

  if (options.json) {
    output         = meta || {};
    output.level   = options.level;
    output.message = options.message;

    if (timestamp) {
      output.timestamp = timestamp;
    }

    return typeof options.stringify === 'function'
      ? options.stringify(output)
      : JSON.stringify(output);
  }

common.log() expects -among others- the 'stringify' option to be a function to be called when outputting the log msg.
Since common.log() is called with fixed options from within file.js (or console.js), that 'stringify' feature can not be used, and instead the log format is always JSON.stringify({level:'info', msg: 'log message'})
Since common.log already have that option, it could be passed to it through the options passed along when adding the transport.

It's a very simple enhancement, and it fits perfectly in the current code. I would be more than happy to make the pull request.

@JoeZ99 Sorry. This fell through the cracks over the holidays. Yes. Please open up a pull-request @mnutt was asking for this feature last week.


why can't I use pdb in evaluation?

I want use pdb to debug in evaluate/eval.py. But the process just quit pdb directly without using multiple gpus.

I tested it on my machine and was able to use pdb without any issues. I suggest you double-check your settings and try running the code again.


[Color Picker] Escape falls through when used to close

Microsoft PowerToys version
0.35.0
Running as admin
No.
Area(s) with issue?
ColorPicker
Steps to reproduce

Focus an application that responds to Escape
Open Color Picker with the shortcut
Press Escape to close Color Picker

✔ Expected Behavior
Escape should be captured by Color Picker, and not fall through to the active application.
❌ Actual Behavior
Color Picker closes, but the active application also receives the Escape keystroke.

I believe this issue can be fixed by changing AppStateHandler.EndUserSession to return a bool indicating whether or not it closed Color Picker, then assigning that value to e.Handled in KeyboardMonitor.Hook_KeyboardPressed. Should I create a draft pull request or let @enricogior do the commit?

I think theres exist a second issue for this.

This is now fixed in 0.37 https://github.com/microsoft/PowerToys/releases/download/v0.37.0/PowerToysSetup-0.37.0-x64.exe


Fix: setting view

Created seperate files for different views in the settings_view.dart namely
lib/views/setting/grpc_settings.dart
lib/views/setting/lnlambda.dart
lib/views/setting/unix_settings.dart
Also moved the directory picker function into another file under lib/utils/directory_picker.dart
Fixes #45

can you call all the file _view.dart?

can you call all the file _view.dart?

On it

I think this is good to go,  but now you need to squash the commit in a single one and follow the maintainer rule https://github.com/dart-lightning/lndart.clnapp/blob/main/docs/dev/MAINTAINERS.md
Sorry about my commit rules :)

Done! I GOT IT NOW! THANK YOU SO MUCH for letting me know such features exists in github.


Slack integration and some refactoring

These are a few commits that I made on our fork to integrate with Slack:

Uses click for simpler cli parsing
Has a setup.py file, so pip installing works, and generates a lunch-menu becomes an executable
Slack integration
Has a --cache parameter in the CLI for faster testing of parsers

Note that I haven't tested if the HTML version still works, as I focused only on if it would work for Slack(!) But I'm opening a PR so you can at least check this out.

Decided to go for a different approach. Thanks for the code though.


docs: update /example readme

This is just a small docs change for future contributors.
I found that when messing around within the example app, and testing a failure case (i.e removing text and rebuilding/running the owl test again) will initially blow up since the /report/index.html template doesn't get copied to /dist unless the postbuild action runs inside the main owl directory first.
So this just adds that instruction to the example readme.

Nice catch @zibs, thank you for the PR 🙌


Updated solution of issue #65

issue #65
All the images are removed from the program file and texts are added with proper format.
C Programming Notes added
Table of Contents:
Chapter 1: Introduction to C Programming
Chapter 2: Getting Started with C
Chapter 3: Control Structures
Chapter 4: Functions
Chapter 5: Arrays and Pointers
Chapter 6: Structures and Unions
Could you review the current PR and approve it?
I took references from my notes, google, w3schools, geeks for geeks, and tutorial points.

Thank you so much for the chance sir. I would like to contribute to another language this time.Sent from my Galaxy
-------- Original message --------From: Ujjwal Sharma @.> Date: 30/10/2023  7:37 pm  (GMT+05:30) To: UjjwalSharma01/checklist @.> Cc: Abhisek_Panda @.>, Assign @.> Subject: Re: [UjjwalSharma01/checklist] Updated solution of issue #65  (PR #114)
Merged #114 into main.
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you were assigned.Message ID: @.***>


Best Practice for uploading data to BigQuery in Java?

Hello,
I want to upload data to an existing table in BigQuery. Therefore I looked in the docks and found bigquery.insertAll which works fine but it takes very long to execute my code. I think it´s because I upload my data row by row and every row takes about a second. In the docs I read about 10.000 rows per second but I don`t see a way to change my code in a way so that it can do so.
Is there a smart and especially fast way to upload data in BigQuery. I considered to get my data into Arraylists or Json Objects and upload it in one step but I couldn`t find a way which would do so.
Here is my Code to check what I did:
	public static void uploaddata(String datasetname) throws IOException {
		BigQuery bigquery = BigQueryOptions
				.getDefaultInstance()
				.toBuilder()
				.setProjectId("testprojekt-175408")
				.build()
				.getService();
		TableId tableIdor = TableId.of(datasetname, "review_test");
		String csvFile = "C:/Users/Marku/Desktop/testfile2.csv";
		BufferedReader br = null;
		FileReader myFile = null;
		String line = "";
		String cvsSplitBy = ";";
		String[] beschriftung = null;
		int i = 0;
		Map<String, Object> rowContent = new HashMap<>();
		myFile = new FileReader(csvFile);
		br = new BufferedReader(myFile);
		// read CSV file line by line and upload it into BigQuery
		while ((line = br.readLine()) != null) {
			// get the name of the fields from the first row of the CSV File
			if (i == 0) {
				beschriftung = line.split(cvsSplitBy);
				i = i + 1;
				for (int e = 0; e < beschriftung.length; e++) {
					rowContent.put(beschriftung[e], "init");
				}
			} else
			// Format Data for BigQuery and upload the row
			{
				String[] Zeile = line.split(cvsSplitBy);
				for (int e = 0; e < Zeile.length; e++) {
					rowContent.put(beschriftung[e], Zeile[e]);
				}
				i = i + 1;
			}
			InsertAllResponse response = bigquery
							.insertAll(InsertAllRequest
							.newBuilder(tableIdor)
							.addRow(String.valueOf(i), rowContent)
							.build());
			if (response.hasErrors()) {
				System.out.println(response.getErrorsFor(0));
			}
		}
		br.close();
		myFile.close();
	}
}

As you can see I get my data from a CSV file. There are several reasons why I don’t upload just the CSV with a load job:

As I´m from Germany we have quite different Date and Number formatting. I want to do the formatting BigQuery requires line by line, so that nobody who wants to upload has to think about other formatting than normal here.
Sometimes I need to add the data in the CSV to an existing table and I have no idea if it is possible to add a whole CSV file to an existing table.

thanks in advance for your help.

For the best performance when streaming data into BigQuery using Table.insertAll it is recommended that you batch multiple rows (up to 10,000, but recommended 500) in the same request. From the BigQuery quotas page:

Maximum rows per request: 10,000 rows per request. We recommend a maximum of 500 rows. Batching can increase performance and throughput to a point, but at the cost of per-request latency. Too few rows per request and the overhead of each request can make ingestion inefficient. Too many rows per request and the throughput may drop. We recommend using about 500 rows per request, but experimentation with representative data (schema and data sizes) will help you determine the ideal batch size.

If you have a CSV file, it's best to use a load job. BigQuery has an option called writeDisposition, which when set to WRITE_APPEND, will append data to a table if the table already exists.

Thank you very much for your answer and for pointing out that there is the writeDisposition option in BigQuery.
Of course, I can use a load job to upload my CSV file, but as I know then my CSV file must have a certain format. For example, I must format a column with a TIMESTAMP in a way BigQuery can understand. Otherwise my load job would fail.
Since we are using complete different TIMESTAMP formatting in Germany it would make an upload very uncomfortable.
Therefore, I want to change my CSV file row by row and upload it.  Do I need to create a temporary file for uploading it with a load job then?
What do you mean by batch multiple rows?
Does my code have to look like this to do so?
InsertAllResponse response = bigquery
       .insertAll(InsertAllRequest
       .newBuilder(tableIdor)
       .addRow(rowContent)
       .addRow(rowContent)
       .addRow(rowContent)
       .addRow(rowContent)
       .addRow(rowContent)
       .addRow(rowContent)
          .
          .
          .
      .build());

Because this is a very bad way to write code I think.

Regarding the load job method, you don't necessarily need to write to a temporary file. This sample shows how to make a load job using in-memory CSV data: https://github.com/GoogleCloudPlatform/google-cloud-java/blob/8f7792580e9e3de9d3b8e1fb5f61f9dba413a660/google-cloud-examples/src/main/java/com/google/cloud/examples/bigquery/snippets/BigQuerySnippets.java#L328-L353
If you wish to use the insertAll method, your code sample will work, but note that you can build the InsertAllRequest incrementally using InsertAllRequest.Builder.
InsertAllRequest.Builder request = InsertAllRequest.newBuilder(tableIdor);
for (int i = 0; i < someSize; i++) {
  // Do some transformation to get rowContent
  request = request.addRow(rowContent);
}
InsertAllResponse response = bigquery.insertAll(request.build());

Thanks for your fast answer. I will try your solutions.


Bot Down?

Been getting "The application did not respond" since about midnight last night

For all commands btw

Also not working for me, also noticed the monitored servers aren't updating player counts.


Frontend refactor to move response handler, key input handling, and more into new utilities folder

Part of #124

This change is

Reviewed 14 of 14 files at r1.
Reviewable status: all files reviewed, 1 unresolved discussion (waiting on @Keavon)

client/web/src/utilities/input.ts, line 9 at r1 (raw file):

	// Don't redirect a fullscreen request
	if (e.key.toLowerCase() === "f11") return false;

f5 should not be redirected either

While you're at it, you might also want to ignore Control+Shift+I and Control+Shift+J:

https://developer.chrome.com/docs/devtools/shortcuts/


nginx entity size limit

when I try to upload a larger file as profile avatar I get this:

413 Request Entity Too Large

413 Request Entity Too Large
nginx/1.4.6 (Ubuntu)

This was sorted post live launch


Media Picker option "hide_thumbnails" doesn't work

Laravel version
9.36.4
PHP version
8.1
Voyager version
1.6.0
Database
MySQL 5.7
Description
In VoyagerMediaController there is a condition that checks if file is a thumbnail.
if (Str::endsWith($item['path'], $thumbnail_names)) {
	$thumbnails[] = $item;
	continue;
}

But it doesn't work. Let's say my options for Media Picker field look like this
{
    "allowed": [
        "image"
    ],
    "hide_thumbnails": true,
    "thumbnails": [
        {
            "type": "resize",
            "name": "resize-max",
            "width": null,
            "height": 480,
            "upsize": false
        },
        {
            "type": "resize",
            "name": "resize-medium",
            "width": null,
            "height": 400,
            "upsize": false
        },
        {
            "type": "resize",
            "name": "resize-small",
            "width": null,
            "height": 282,
            "upsize": false
        }
    ]
}

In this case $thumbnail_names array will contain names "resize-max", "resize-medium", "resize-small"
If I upload file "example.jpg", three thumbnails will be automatically generated

example-resize-max.jpg
example-resize-medium.jpg
example-resize-small.jpg

But none of them will return true in thumbnail condition
Str::endsWith($item['path'], $thumbnail_names)
Because $item['path'] contains image path with file extention.
"model/example-resize-max.jpg" does't end with "resize-max". It ends with "resize-max.jpg"
Steps to reproduce
Any Media Picker field with thumbnails. Option "hide_thumbnails" is true by default.
Expected behavior
Thumbnails must be hidden from Media Picker file list if "hide_thumbnails" is set to "true".
Screenshots
No response
Additional context
No response

Hello,
Same issue for me.
Here's a workaround.
In VoyagerMediaController.php, change
                    if (Str::endsWith($item['path'], $thumbnail_names)) {
                        $thumbnails[] = $item;
                        continue;
                    }

to
                    if (Str::endsWith(pathinfo($item['path'])['filename'], $thumbnail_names)) {
                        continue;
                    }


Allow nested routes' components to be mounted at root-level

What problem does this feature solve?
I'm developing a Quasar app where I have, for example, the following route structure:
const router = new VueRouter({
  routes: [
    {
      path: '/clients',
      component: Clients,
      children: [
        {
          path: ':id',
          component: Client,
          children: [
            {
              path: 'visits',
              component: ClientVisits
            }
          ]
        }
      ]
    }
  ]
})

In all three routes I have a beforeRouteEnter guard that fetches data from an API and stores that data in a Vuex instance. Furthermore, ClientVisits uses the data that was fetched and stored in Client.
In terms of UI design, though, I do not want ClientVisits to be shown as a nested child view; it needs to be at the top level. If you know Android development, ClientVisits should work as an Activity and not a Fragment.
What does the proposed API look like?
Perhaps if Client had no <router-view> in its template, children would then be mounted at root level?

Another option could be to have named <router-views>  (you couldn't use the name prop, obviously, as that's taken) where each route definition could specify where it wants to be rendered into?

I don't know why you want to put that view at the top level. Maybe you want to get a look at https://github.com/LinusBorg/portal-vue.
From what I understood you should be able to use named views to achieve it as well

I don't know why you want to put that view at the top level.

@posva, like I mentioned, this is for a mobile app. You probably see this behavior everyday when using your phone. https://stackoverflow.com/questions/20306091/dilemma-when-to-use-fragments-vs-activities. But I imagine this might be desirable in other cases, too.
If you can look at this codepen, you'll see a few things:

I have 4 components, all of which should be rendered at the top level. Some are nested.
The way I've configured Activity12 is how I'm currently doing it in my project. It is configured as a root-level route even though its path (/activity1/activity12) indicates it is a child of Activity1. Imagine Activity1 fetches some data from an API which Activity12 also needs. Now that data has to be fetched in Activity12, too, because Activity1's beforeRouteEnter will not be called when loading /activity1/activity2 directly (during development and pressing F5 and possibly in production when the OS puts my app in a dormant state and is later reactivated). This will make normal usage sluggish, having to fetch the data twice during navigation.
Activity1 and Activity11 are using portal-vue.
It definitely works for Activity1, though not in an ideal way since I had to do a few things to set it up:

Add a meta field to its route configuration.
Set up portals
In my root component, check if the current route has top === true. If so, hide its intended DOM so only portal-target is visible.

Activity11 does not work. Maybe something to do with portal-vue and 2 components trying to show their content in one target at the same time? Basically, nested components which need rendering at the top level cannot use this approach.

Honestly, I like the portal-vue approach TBH. I could probably do something slick and get rid of the top meta field and see if portal-vue has an API that'll tell me if something is showing there. If so, hide Mains content.
Nested activity components would still be an issue.

see if portal-vue has an API that'll tell me if something is showing there

It doesn't at the moment, but I'm working on it. ;)

@LinusBorg, that's cool. Should I create an issue about the thing where it wont let me send a second component to the same portal target, or am I doing something wrong in my code?
If I can somehow resolve that, I would happily close this issue.

I'll have yet to take a look. Feel free to open an issue as a reminder for me. 😏

Hi everyone,
I think that I have the same issue.
I made a codepen to make my point easier to understand:
https://codepen.io/hekigan/pen/LLKZvW
We are building a fairly big site and the paths might change at some point in time.
Given that we have some nested paths, I want the route json to reflect that BUT at the same time, I don't want to use a <router-view> in a <router-view> in a <router-view>, etc...
It would be good to have a proper separation URL / templates.
A nested URL should not mean nested templates.
At the moment, the URL (path) dictates how I have to structure my pages. And I don't think it's a good thing to do.
99% of the sub level pages are full pages. Not embedded in other pages.
I could not find a clean way to do that.
thank you for your time

So if I understand correctly, you have a flat route structure, but personally like to write the routes like they were nested because it makes more semantic sense to you.
In that case, instead of vue-router changing all of the fudamental concepts and internals to accomodate this, you could write a small recourse helper function that converts this:
{
const routerOptions = {
  routes: [
    { path: '/', name: 'home', component: Default },
    { path: '/foo',
      children: [
        {  path: '', name: 'foo', component: Foo },
        { path: '/bar', name: 'bar', component: Bar },
        { path: '/baz', name: 'baz', component: Baz }
      ]
    }
  ]
}

to this:
const routerOptions = {
  routes: [
    { path: '/', name: 'home', component: Default },
    {  path: '/foo', name : 'foo', component: Foo },
    { path: '/foo/bar', name: 'bar', component: Bar },
    { path: '/foo/baz', name: 'baz', component: Baz }
    }
  ]
}

@LinusBorg Thank you for your quick reply.
Yes, that's what I would like, and I was wondering if I missed an option somewhere to be able to do what I wanted. Guess there is none at the moment.
I totally understand that changing the whole thing is a big breaking change.
But what about about taking the middle ground? What I mean is, what about an extra option in the path object to adapt to this?
something like:
{ path: '/foo/bar', name: 'bar', component: Bar, root: true }
I did not read yet the internals of vue-router, but I don't imagine that it would be a big impact.
In the meanwhile, I will have to do as you suggested and make a helper to adjust my needs.
I am not liking the slight overhead, but maintenance is a big things and I prefer to think long term.
Thank you again

to be honest and a bit blunt, you can already write this way:
 routes: [
    { path: '/', name: 'home', component: Default },
    {  path: '/foo', name : 'foo', component: Foo },
    { path: '/foo/bar', name: 'bar', component: Bar },
    { path: '/foo/baz', name: 'baz', component: Baz }
    }
  ]

While the only advantage your request has it that its a bit more readable (to you) with nesting, and the solution with a helper function is totally doable and requires virutally no additional code once you implemented it.
Right now, I don't see a worthwhile advantage to implement this specifically.

I agree with your remark about root: true, it's just a quick random solution I thought of so as not to break the existing implementation. But yes, not the best solution out there for sure.
And concerning the readability, it depends on each project.
The one I am building is going to have several hundreds of urls. So indentation for sub-routes is a big plus for readability.
We can write javascript with only 1 line too. But it's not very readable passed a certain number of characters.  :)
Anyway, we can close this matter.
And I really do appreciate the speed for the reply. Thanks and keep up the good work.

It's a shame to see this pushed aside. This isn't a matter of "semantics" or "readability" - it's entirely about having a useful data structure for working with routes.
Lets consider a concrete example: Breadcrumbs.
The router is basically useless here. There's a single $route.match. You're stuck having to hint at the hierarchy by hand, either through metadata on the route or otherwise.
IMO, I don't think the nested <router-view> behavior should be the default. It would be great if Vue just let us structure the hierarchy of our routes accurately.
An idea of the top of my head: Include a secondary key. { 'path' | 'scope': String }. path would  be akin to OP's root: true option, and scope would continue rendering the nested <router-view>'s.
Or switch it around so it's backwards compatible. I just find this way more clear because in my mind a scope "cascades".
Would love to hear your thoughts.

Hi, thanks for joining the discussion.
I'm not sure that your breadcrumbs example applies to what was suggested here?
But in any case your analysis on this one is wrong. $route.matched gives you an array of all matches components he hierarchy, from which you can automate bread crumbs crest up very nicely, in fact.
So given that your example doesn't apply,  can you  give another use case of this that isn't only a "nicer" way to write the route definitions for some cases?
I'm not categorically opposed to such niceties, but this one would require significant rewrites of some core mechanisms, and I don't think we can invest the time necessary to do that for the benefits I've seen so far, in terms of a cost/benefit ratio.

I think you may be misunderstanding. Hopefully this jsfiddle clears things up. As you can see, $route.matched does not in fact give you all matched routes when using "root" paths. This is my issues I have with it. It only works when using children routes, but that's undesirable when you don't want the "cascading" effect of <router-view>.

I think what @sudochop wants is something like this.
The example dynamically displays a page title and breadcrumbs based on route hierarchy. The actual page content does not work due to the issue being discussed here. portal-vue still does not handle multiple components trying to render content to the same target.
This sort of thing can easily be done in Ember with named outlets.

Correct. I want the ability (as I imagine others would) to structure routes with children - but w/o the cascaded <router-view> effect - so I can make use of the $route.matched data structure.

I'm on the same boat, actually. I'm working on a new boilerplate for an SPA needing this exact functionality and am running into the same issue I had with Quasar.

If it's parent has no <render-view> a component should be rendered at the target <render-view> specified in route configuration, but if there is none specified we should be able to have a default one. Something like <render-view default></render-view> . There could be several defaults in the visual tree, but the component will be rendered at the closest ancestor.

I'm having this issue as well. I assumed routes contained in the children array would replace the entire root component with the child component.
The current implementation is strange in my opinion.
It would just make more sense as other users have mentioned here that having the meta passed down to child components to require auth is my main use here.
Otherwise, I have to insert the meta tag with meta: { auth: true} into every single route that requires authorization.

I ran into this same problem when trying to implement breadcrumbs as well.
I don't want the nested router views, but because the behavior is enforced, I have to switch to a flat structure. Switching to the flat structure loses the $route.matched associations that are needed for breadcrumbs.
The default behavior of nested routes is strange to me, especially because this behavior can't be overridden.

Agreed @Dylan-Chapman.
This leads to some immense code duplication depending on the size of your project, and worse, if you forget to add the meta tag to the route when your list gets massive, you have some unprotected routes (and yes I know we shouldn't be relying on javascript authorization, but still an issue).
Is it maybe possible to check if there is no component property in a parent route object, that it utilizes the children's component as the root?

+1 to add an option to render eveything at the root

Just ran into this myself, making some incorrect assumptions.
You don't even really have to create a component for your extra router-view as you can just pass a plain object with a template property.
{
  path: '/projects',
  component: { template: `<router-view/>` },
  children: [
    { path: '', component: Projects },
    { path: 'new', component: NewProject }
  ]
},

I wrote a plugin for this problem;
https://github.com/abdullah/safranbolu

This can also be solved by conditionally toggling the content of the root page:
Clients.vue
<template>
	<div v-if="!isCurrentPageRootLevel">
		Content
		<router-view/>
	</div>
	<router-view v-else />
</template>

isCurrentPageRootLevel () {
	return this.$route.meta.root
}

(this would imply adding a root: true attribute in route declaration)
Regarding https://github.com/vuejs/vue-router/issues/1507#issuecomment-345490711, if you don't want to create a component but need to display the nested route instead, you can also use a render function (to not include the full build of vue):
component: { functional: true, render: h => h('router-view') },

Another solution would be creating a custom RouterView component that handles this logic for you using whatever technique you want (could be using the one explained above) and matches better that mobile-specific behavior

Based on https://github.com/vuejs/vue-router/issues/1507#issuecomment-404592319 and https://github.com/vuejs/vue-router/issues/1507#issuecomment-404592319 comments I was able to use my breadcrumbs in a hierarchical order. Taking advantage of ES6 object spreading syntax I implemented it as follow:
const parentRoute = { component: { render: h => h('router-view') } }

{
  path: '/projects',
  ...parentRoute,
  children: [
    { path: '', component: Projects },
    { path: 'new', component: NewProject }
  ]
},
{
  path: '/tasks',
  ...parentRoute,
  children: [
    { path: '', component: Tasks },
    { path: 'new', component: NewTask }
  ]
},

Based on @ThePJMP , I tried to create my breadcumbs as follows:
      <v-breadcrumbs>
        <v-breadcrumbs-item
          v-for="route in $route.matched"
          v-if="route.meta.fullname"
          :to="route"
          exact>
          {{ route.meta.fullname }}
        </v-breadcrumbs-item>
        <v-icon slot="divider">mdi-arrow-right-bold</v-icon>
      </v-breadcrumbs>

But when I click on any link on the breadcrumbs, I am directed to the parentRoute, which contains nothing on the view. Is there any way I could 'force' the route to go to the child with path: ''?

@jondavidjohn  Thank you, you saved my day! I was struggling and frustrating about why vue-router not taking my nested children array for 2 hours!!
I changed a little about that. (to use vue runtime only)
{
  path: '/projects',
  component: { render: h => h('router-view') },
  children: [
    { path: '', component: Projects },
    { path: 'new', component: NewProject }
  ]
},

Any updates on this issue? Has this been moved or solved? This is something I’m running into myself.

Also running into this, and this doesn't seem to be an uncommon problem for a lot of people. While its true that it could be accomplished by listing a bunch of routes at the same level and "nesting" them by defining their full paths, as many other people have mentioned, it provides a lot of value having them structured properly with children properties (eg. breadcrumbs, and programmatically rendering menus, etc.)

Please check https://github.com/vuejs/vue-router/issues/1507#issuecomment-404592319 for a solution


Document supported browser versions matrix with each release

What are you suggesting?
Each release of testcafe should be tested against a matrix of major browser versions, as new ES2020+ features are used, older browsers can be dropped as long as its made explicit in release notes and the benefit of new features/perf improvements outweighs legacy support. Users required to support these dropped versions can run the previous version of testcafe using npx for example npx<EMAIL_ADDRESS>remote e2e/tests/

I understand tests are run in BrowserStack, is it possible to see the browser matrix and results for each release/commit?

Does local/remote matter?

Are there any tools that can help build a matrix of browser support by scanning the build output and perhaps querying caniuse.com?

What alternatives have you considered?
Maintaining annual snapshot of package-lock.json files with approximate browser versions of era known to work
Additional context
Some users cannot always assume the 'latest' browser version at time of dev e.g.:

Kiosks
Corporate environments
Older Android webview

The closest reference I can find to supported versions is in https://github.com/DevExpress/testcafe/issues/1628#issuecomment-316745478 from 2017.
From the browser-support.md git blame I can infer that IE support was bumped from 9 to 11 in v0.20, perhaps indicating minimum ES2015+ changes roughly around this point.
For extra context, I opened this issue because I'm hitting a console error after adding a remote Chrome v48 to my test farm. FYI I'm using recent testcafe (v1.8.1)
Cannot read property 'call' of undefined        hammerhead.js:1
Cannot read property 'body' of undefined        hammerhead.js:3

I've tried reverting Testcafe all the way back to v0.0.22 without luck, its difficult to know what sub-dependancy introduced the break (hammerhead I'm assuming in this case), some are pinned 'exact', some aren't.
IE10 also doesn't work, which I would have expected to work as its pre v0.20. IE11 works fine.

Hello, @ciarancourtney.

I understand tests are run in BrowserStack, is it possible to see the browser matrix and results for each release/commit?
Are there any tools that can help build a matrix of browser support by scanning the build output and perhaps querying caniuse.com?

We cannot compose the "full browser support" matrix. Our code base has some conditions that represent a particular browser version but all new issues are addressed in the context of the latest browser version. It means that any current fix may not be a valid solution for some older browser versions.

Users required to support these dropped versions can run the previous version of TestCafe using npx for example npx<EMAIL_ADDRESS>remote e2e/tests/

Even if you can find all specific TestCafe versions for each required browser version, you may encounter the following:

Bugs of older browsers versions may be detected.
You cannot use the latest features.
You will need to take into account all breaking changes.


Wrong label background color in "Change Wallet" screen's group headers

The label has a black-ish background over the header's gray background

This happens in the create wallet screen too. I'll fix them all in this issue? It's all the same problem. @hboon


ios <-> linux - no transfer

I've just installed v8.01 on fedora (i3) and an iphone.
Transfer in either direction seems to drop a few seconds after qr code scan on the iphone. "Cancel" button on the phone changes back to "Select Files", wifi switches back to my home network, and the last log line on the phone is "Peer IP: x.x.x.x".
This may not be related, but I also noticed, that "Select Folder" doesn't appear to be working: "Selected Folder:" remains empty and selecting folder again always defaults to some path (presumably app image path?) that looks like this: /tmp/.mount_linux_dQwUyI/usr.
Thank you for your help.

Strange, never seen this though I've also never tested on Fedora. I assume you used the AppImage? Could you please send the output from the Fedora side?

This is what I see in the end:

So the iPhone joins the hotspot and finds the Fedora's IP, but Fedora never gets beyond waiting for a TCP connection... Are you maybe running a firewall that's preventing inbound connections on TCP :3290?

And do you maybe have SELinux or something else active that would enforce Flying Carpet writing to /tmp/.mount_linux_dQwUyI/usr?

So the iPhone joins the hotspot and finds the Fedora device's IP, but Fedora never gets beyond waiting for a TCP connection... Are you maybe running a firewall that's preventing inbound connections on TCP :3290?

There's no firewall blocking that port.

And do you maybe have SELinux or something else active that would enforce Flying Carpet writing to /tmp/.mount_linux_dQwUyI/usr?

I am on fedora.

I installed Fedora to a VM and while I can't run full transfers, I am seeing similar behavior. If you run getenforce in a terminal and it outputs Enforcing, then it's SELinux getting in your way. You can run sudo setenforce Permissive to change SELinux to Permissive mode instead of Enforcing mode till the next reboot. If that allows Flying Carpet to work, you would either need to disable SELinux or write the necessary policies for it. Unfortunately I don't know a lot about writing those policies and will not be much help there.

❯ getenforce
Disabled

And it still doesn't work even with SELinux disabled? Is the output any different? Does it still show the /tmp/.mount_linux_dQwUyI/usr directory when you select something in your home directory?

Sorry, I meant to say that it was Disabled to begin with. My bad.

No worries, thanks for following up. I'll leave this issue open but unfortunately I probably won't be able to help more with it until I have another machine on which I can install Fedora, and I'm not sure when that will be.


Typo in temperature.md

The last edit here on the phone numbers entry undoes the bugfix I made earlier?

See https://github.com/AusDTO/gov-au-content-guide/pull/76#issuecomment-222018605


[3856] Update content for service unavailable pages

Context
https://trello.com/c/EOTyueAG/3856-s-content-for-the-down-page-while-were-doing-the-import
Standard page

/traineeteacherportal

Important business
~* Does this PR introduce any PII fields that need to be overwritten or deleted in db/scripts/sanitise.sql?~
~* Does this PR change the database schema? If so, have you updated the config/analytics.yml file and considered whether you need to send 'import_entity' events?~

 [S] Content for the 'down' page while we're doing the import


chaged the usage, checked the eda

Hey guys,
I just changed the usage for it to be aligned with the makefile

Great - exactly, since we now use the Makefile approach for building! I'm only concerned about TAs not being able to run this because Selenium issues? But I think they should be aware and we're not the only ones running Selenium right? I mean, if they run make clean, there is no other way to re-create that but to actually re-run everything with make quick (or all)


Please update your pom.xml

When I run your pom.xml, there was the following error:
ERROR Source option 1.5 is no longer supported. Use 1.6 or later.
The solution is to update pom.xml with a property:

1.6
1.6

(there is a error with github display. Please refer to https://stackoverflow.com/questions/49028810/error-source-option-1-5-is-no-longer-supported-use-1-6-or-later)
This is my issue/recommendation.
However, the story did not end there. At first when I had this problem, I went to mvnrepository.com to get a jar I thought was built by rmaestre, trouble started.
At mvnrepository.com, there is a  knockout copy of jar built by someone who claimed to be fastDTW. That jar changed the timeseries class to interface. WarpPath  was changed to not much useful. My suspicion is that that person forked your code, did not know how to use it, but claim the name of fastDTW anyway.
Under the circumstance, it is important that pom.xml works without hitch. So the public have access to the right copy.

Hello @changbaishan , thank you for the feedback.
I run the code with Apache Maven 3.6.2 succesfully deploying a snapshot.
[INFO] Scanning for projects...
[INFO]
[INFO] --------------------------< FastDTW:FastDTW >---------------------------
[INFO] Building FastDTW 1.0-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ FastDTW ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 2 resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ FastDTW ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ FastDTW ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/roberto/Projects/FastDTW/src/test/resources
[INFO]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ FastDTW ---
[INFO] Nothing to compile - all classes are up to date
[INFO]
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ FastDTW ---
[INFO] Surefire report directory: /Users/roberto/Projects/FastDTW/target/surefire-reports

-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running FastDTWTest
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.175 sec

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

[INFO]
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ FastDTW ---
[INFO]
[INFO] --- maven-install-plugin:2.4:install (default-install) @ FastDTW ---
[INFO] Installing /Users/roberto/Projects/FastDTW/target/FastDTW-1.0-SNAPSHOT.jar to /Users/roberto/.m2/repository/FastDTW/FastDTW/1.0-SNAPSHOT/FastDTW-1.0-SNAPSHOT.jar
[INFO] Installing /Users/roberto/Projects/FastDTW/pom.xml to /Users/roberto/.m2/repository/FastDTW/FastDTW/1.0-SNAPSHOT/FastDTW-1.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  3.238 s
[INFO] Finished at: 2019-11-21T11:49:23+01:00
[INFO] ------------------------------------------------------------------------

Best regards.


rspec testsuite error with ruby3.4.0dev

Testing with ruby 3.4.0dev (2024-11-28 master c0e607cef1) +PRISM [x86_64-linux]
https://github.com/ruby/ruby/commit/c0e607cef1fb6e1795b0969c1533b63dc349d484
with cucumber git head
https://github.com/cucumber/cucumber-ruby/commit/ab989192ce58478959c861c0aaf7da9aa907f638
rspec testsuite fails like
$ bundle exec rake
/usr/bin/ruby -I/usr/share/gems/gems/rspec-core-3.13.2/lib:/usr/share/gems/gems/rspec-support-3.13.1/lib /usr/share/gems/gems/rspec-core-3.13.2/exe/rspec --pattern spec/\*\*\{,/\*/\*\*\}/\*_spec.rb --tag ~cck
Run options: exclude {cck: true}
........................................................................................................................................*****...........................................................................................................................FF.........F...............................................................................................................................FF............................................................................................................................WARNING: consider using an array rather than a space-delimited string with cucumber_opts to avoid undesired behavior.
.WARNING: consider using an array rather than a space-delimited string with cucumber_opts to avoid undesired behavior.
........................................................................

Pending: (Failures listed here are expected and do not affect your suite's status)

  1) Cucumber::Cli::ProfileLoader when on a Windows OS treats backslashes as literals in rerun.txt when on Windows (JRuby or MRI)
     # These tests are only to be ran on Windows
     # ./spec/cucumber/cli/profile_loader_spec.rb:21

  2) Cucumber::Cli::ProfileLoader when on a Windows OS treats forward slashes as literals
     # These tests are only to be ran on Windows
     # ./spec/cucumber/cli/profile_loader_spec.rb:27

  3) Cucumber::Cli::ProfileLoader when on a Windows OS treats percent sign as ERB code block after YAML directive
     # These tests are only to be ran on Windows
     # ./spec/cucumber/cli/profile_loader_spec.rb:33

  4) Cucumber::Cli::ProfileLoader when on a Windows OS correctly parses a profile that uses tag expressions (with double quotes)
     # These tests are only to be ran on Windows
     # ./spec/cucumber/cli/profile_loader_spec.rb:43

  5) Cucumber::Cli::ProfileLoader when on a Windows OS correctly parses a profile that uses tag expressions (with single quotes)
     # These tests are only to be ran on Windows
     # ./spec/cucumber/cli/profile_loader_spec.rb:49

Failures:

  1) Cucumber::Formatter::Json with a scenario with a failed step outputs the json data
     Failure/Error:
       expect(load_normalised_json(@out)).to eq JSON.parse(%{
           [{"id": "banana-party",
             "uri": "spec.feature",
             "keyword": "Feature",
             "name": "Banana party",
             "line": 1,
             "description": "",
             "elements":
              [{"id": "banana-party;monkey-eats-bananas",
                "keyword": "Scenario",

       expected: [{"description" => "", "elements" => [{"description" => "", "id" => "banana-party;monkey-eats-bananas...ana-party", "keyword" => "Feature", "line" => 1, "name" => "Banana party", "uri" => "spec.feature"}]
            got: [{"description" => "", "elements" => [{"description" => "", "id" => "banana-party;monkey-eats-bananas...ana-party", "keyword" => "Feature", "line" => 1, "name" => "Banana party", "uri" => "spec.feature"}]

       (compared using ==)

       Diff:
       @@ -13,7 +13,7 @@
                "result" =>
                 {"duration" => 1,
                  "error_message" =>
       -           "no bananas (RuntimeError)\n./spec/cucumber/formatter/json_spec.rb:99:in `/^there are bananas$/'\nspec.feature:4:in `there are bananas'",
       +           "no bananas (RuntimeError)\n./spec/cucumber/formatter/json_spec.rb:99:in 'block (4 levels) in <module:Formatter>'\n./spec/cucumber/formatter/spec_helper.rb:29:in 'Cucumber::Formatter::SpecHelper#run_defined_feature'\n./spec/cucumber/formatter/json_spec.rb:18:in 'block (2 levels) in <module:Formatter>'\nspec.feature:4:in `there are bananas'",
                  "status" => "failed"}}],
             "type" => "scenario"}],
          "id" => "banana-party",

     # ./spec/cucumber/formatter/json_spec.rb:103:in 'block (3 levels) in <module:Formatter>'

  2) Cucumber::Formatter::Json with a scenario with a pending step outputs the json data
     Failure/Error:
       expect(load_normalised_json(@out)).to eq JSON.parse(%{
           [{"id": "banana-party",
             "uri": "spec.feature",
             "keyword": "Feature",
             "name": "Banana party",
             "line": 1,
             "description": "",
             "elements":
              [{"id": "banana-party;monkey-eats-bananas",
                "keyword": "Scenario",

       expected: [{"description" => "", "elements" => [{"description" => "", "id" => "banana-party;monkey-eats-bananas...ana-party", "keyword" => "Feature", "line" => 1, "name" => "Banana party", "uri" => "spec.feature"}]
            got: [{"description" => "", "elements" => [{"description" => "", "id" => "banana-party;monkey-eats-bananas...ana-party", "keyword" => "Feature", "line" => 1, "name" => "Banana party", "uri" => "spec.feature"}]

       (compared using ==)

       Diff:
       @@ -13,7 +13,7 @@
                "result" =>
                 {"duration" => 1,
                  "error_message" =>
       -           "TODO (Cucumber::Pending)\n./spec/cucumber/formatter/json_spec.rb:137:in `/^there are bananas$/'\nspec.feature:4:in `there are bananas'",
       +           "TODO (Cucumber::Pending)\n./spec/cucumber/formatter/json_spec.rb:137:in 'block (4 levels) in <module:Formatter>'\n./spec/cucumber/formatter/spec_helper.rb:29:in 'Cucumber::Formatter::SpecHelper#run_defined_feature'\n./spec/cucumber/formatter/json_spec.rb:18:in 'block (2 levels) in <module:Formatter>'\nspec.feature:4:in `there are bananas'",
                  "status" => "pending"}}],
             "type" => "scenario"}],
          "id" => "banana-party",

     # ./spec/cucumber/formatter/json_spec.rb:141:in 'block (3 levels) in <module:Formatter>'

  3) Cucumber::Formatter::Json with a scenario when only an around hook is failing includes the around hook result in the json data
     Failure/Error:
       expect(load_normalised_json(@out)).to eq JSON.parse(%{
           [{"id": "banana-party",
             "uri": "spec.feature",
             "keyword": "Feature",
             "name": "Banana party",
             "line": 1,
             "description": "",
             "elements":
              [{"id": "banana-party;monkey-eats-bananas",
                "keyword": "Scenario",

       expected: [{"description" => "", "elements" => [{"around" => [{"match" => {"location" => "unknown_hook_location...ana-party", "keyword" => "Feature", "line" => 1, "name" => "Banana party", "uri" => "spec.feature"}]
            got: [{"description" => "", "elements" => [{"around" => [{"match" => {"location" => "unknown_hook_location...ana-party", "keyword" => "Feature", "line" => 1, "name" => "Banana party", "uri" => "spec.feature"}]

       (compared using ==)

       Diff:
       @@ -5,7 +5,7 @@
                "result" =>
                 {"duration" => 1,
                  "error_message" =>
       -           "error (RuntimeError)\n./spec/cucumber/formatter/json_spec.rb:684:in `Around'",
       +           "error (RuntimeError)\n./spec/cucumber/formatter/json_spec.rb:684:in 'block (4 levels) in <module:Formatter>'\n./spec/cucumber/formatter/spec_helper.rb:29:in 'Cucumber::Formatter::SpecHelper#run_defined_feature'\n./spec/cucumber/formatter/json_spec.rb:18:in 'block (2 levels) in <module:Formatter>'",
                  "status" => "failed"}}],
             "description" => "",
             "id" => "banana-party;monkey-eats-bananas",

     # ./spec/cucumber/formatter/json_spec.rb:690:in 'block (3 levels) in <module:Formatter>'

  4) Cucumber::Glue::ProtoWorld Handling logs in step definitions when logging an object attached the styring version on the object
     Failure/Error: expect(@out.string).to include '{:a=>1, :b=>2, :c=>3}'

       expected "Feature: Banana party\n\n  Scenario: Monkey eats banana\n    When an object is logged\n      {a: 1, b: 2, c: 3}\n\n1 scenario (1 passed)\n1 step (1 passed)\n0m0.000s\n" to include "{:a => 1, :b => 2, :c => 3}"
       Diff:
       @@ -1,9 +1,17 @@
       -{:a=>1, :b=>2, :c=>3}
       +Feature: Banana party
       +
       +  Scenario: Monkey eats banana
       +    When an object is logged
       +      {a: 1, b: 2, c: 3}
       +
       +1 scenario (1 passed)
       +1 step (1 passed)
       +0m0.000s

     # ./spec/cucumber/glue/proto_world_spec.rb:76:in 'block (4 levels) in <module:Glue>'

  5) Cucumber::Glue::ProtoWorld Handling logs in step definitions when logging multiple items on one call logs each parameter independently
     Failure/Error:
       expect(@out.string).to include [
         '      subject: monkey',
         '      verb: eats',
         '      complement: banana',
         '      {:subject=>"monkey", :verb=>"eats", :complement=>"banana"}'
       ].join("\n")

       expected "Feature: Banana party\n\n  Scenario: Monkey eats banana\n    When monkey eats banana\n      subject:...\", verb: \"eats\", complement: \"banana\"}\n\n1 scenario (1 passed)\n1 step (1 passed)\n0m0.000s\n" to include "      subject: monkey\n      verb: eats\n      complement: banana\n      {:subject => \"monkey\", :verb => \"eats\", :complement => \"banana\"}"
       Diff:
       @@ -1,12 +1,23 @@
       -      subject: monkey\n      verb: eats\n      complement: banana\n      {:subject=>"monkey", :verb=>"eats", :complement=>"banana"}
       +Feature: Banana party
       +
       +  Scenario: Monkey eats banana
       +    When monkey eats banana
       +      subject: monkey
       +      verb: eats
       +      complement: banana
       +      {subject: "monkey", verb: "eats", complement: "banana"}
       +
       +1 scenario (1 passed)
       +1 step (1 passed)
       +0m0.000s

     # ./spec/cucumber/glue/proto_world_spec.rb:95:in 'block (4 levels) in <module:Glue>'

Finished in 2.49 seconds (files took 0.54847 seconds to load)
602 examples, 5 failures, 5 pending

I guess this is mainly due to ruby3.4 Hash#inspect change or so:
https://github.com/ruby/ruby/blob/319ac31529eb7bf7e5a4ef582c6f930bd8fca62e/NEWS.md?plain=1#L208-L229
https://bugs.ruby-lang.org/issues/20433
https://bugs.ruby-lang.org/issues/16495

Thanks for this. The current main branch for cucumber-ruby is known to be faulty. This is because I'm fixing up 2/3 other areas first and there's a lot of interop issues.
However this issue "doesn't seem" like it's one of the ones I know about (There's an issue with core helpers that is broken until I cut a release)
Looking at failure 5 it looks like rogue ' characters are appearing on the subject/verb/complement lines but then looking at failure 2/3 it looks like the Block "name" isn't being reported but the stacktrace is.
This looks like I'll need to do some serious digging into this. But it won't happen until I get some of the fixes / v10 work in first - sorry.


Add support the relative disk path for UNIX DOMAIN SOCKET

Add support the relative disk path for UNIX DOMAIN SOCKET

Issue:
The codes with server side work well as below :
new Worker("unix://socket");

but it will report us that unlink(//socket): No such file or directory  when u try to stop the server;
besides,  when we try to connect the sever with the relative disk path like this:
new AsyncTcpConnection("unix://socket")

it  will throw a warning to us:
PHP Warning:  stream_socket_client(): unable to connect to unix://socket:80 (No such file or directory)
Fixed:
Now, we can support the relative disk path for UNIX DOMAIN SOCKET,  for example, we can connect the server like this:
new AsyncTcpConnection("unix://socket")
new AsyncTcpConnection("unix://./socket")
new AsyncTcpConnection("unix://tmp/socket")
new AsyncTcpConnection("unix:///tmp/socket")
//here <IP_ADDRESS>:8888 shoud be treated as a valid disk path or file, not tcp ip:port
new AsyncTcpConnection("unix://<IP_ADDRESS>:8888")
......

Thanks.


LVS/CVC issues with caravel modules

This issue is an on going list of the device level LVS and CVC issues with caravel modules.
origin/develop  commit 384a7d517a82c49a0c4411c8132ce3f97eebfad5
The indentation of the list is intended to show the hierachy.
Unless otherwise indicated, CVC was run on the netlist extracted from GDS.

Cell
LVS
CVC

caravel

+ chip_io

+ gpio_control_block
OK? (vssd matched to vssd1)
OK

+ mgmt_core
OK (see DFFRAM)
OK

!+ DFFRAM
OK (remove / from instance names before ext2spice)
OK

!- digital_pll
OK
OK

+ mgmt_protect
-
OK

!+ mgmt_protect_hv
NG (verilog missing decap)
-

!+ mprj2_logic_high
OK
-

!- mprj_logic_high
OK
-

+ simple_por
NG (verilog and gds contain different cells)

+ sky130_fd_sc_hvl__lsbufhv2lv_1_wrapped
NG (library spice incorrect)
OK

+ storage
NG (missing sram gl verilog/spice)
NG (Hi-Z inputs)

!- sram_1rw1r_32_256_8_sky130
- (missing gl verilog/spice)
-

+ user_id_programming
OK
OK

+ user_project_wrapper
OK
OK

!- user_proj_example
OK
-

@d-m-bailey: Thanks!
I have renamed the old device names to the new sky130 equivalents in the SRAM spice netlist we got from OpenRAM. Please
check if this helps: https://github.com/efabless/sky130_sram_macros/blob/sky130_name_mapping/sram_1rw1r_32_256_8_sky130/sram_1rw1r_32_256_8_sky130.lvs.converted.sp

For running device level LVS and CVC on other projects on the MPW (assuming user_project_wrapper is the only difference).

cd project
Uncompress gds/user_project_wrapper.gds
Recursively check for referenced modules in verilog/gl/user_project_wrapper.v
awk '/ \(/ {print $1}' verilog/gl/user_project_wrapper.v | sort -u | grep -v sky130_fd_sc_hd__
For each submodule detected in 2, add an entry in openlane/user_project_wrapper/config.tcl

set ::env(LVS_EXTRA_GATE_LEVEL_VERILOG) "
  $script_dir/../../verilog/gl/submodule1.v
  $script_dir/../../verilog/gl/submodule2.v
  ..."

From docker, in project/openlane extract device level spice from layout.

flow.tcl -design user_project_wrapper -tag lvs -lvs -net ../verilog/gl/user_project_wrapper.v -gds ../gds/user_project_wrapper.gds

Create spi2cdl script

cat > spi2cdl <<'!'
# /bin/bash

mkdir -p $1/runs/lvs/results/cvc

awk '
/^X.* .*pr__[^ ]*fet.*=/ {
        print "M" $0;
        next;
}
/^X.*pr__diode/ {
        print "D" $0;
        next;
}
/^X.*pr__cap_mim_m3_. / {
        print "C" $0;
        next;
}
/^X.*pr__res_xhigh_po / {
        $4 = "";
        print "R" $0;
        next;
}
/^X.*pr__res_generic_.d/ {
        $6 = sprintf("$SUB=%s %s", $4, $6);
        $4 = "";
        print "R" $0;
        next;
}
 { print $0; }
' $1/runs/lvs/results/magic/$1.gds.spice > $1/runs/lvs/results/cvc/$1.cdl
!


Fix typings

Description
Fix typescript issue
Affected Dependencies
None
How has this been tested?
None
Checklist

[x] I have followed the Contribution Guidelines and Code of Conduct
[x] I have commented my code following the OpenMined Styleguide
[x] I have labeled this PR with the relevant Type labels
[ ] My changes are covered by tests

There are some conflicts preventing a merge @ITsolution-git


Strange result of float division

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow):
Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04):
Linux Ubuntu 16.04
TensorFlow installed from (source or binary):
binary
TensorFlow version (use command below):
1.5.0
Python version:
3.5.2
CUDA/cuDNN version:
9.0
GPU model and memory:
GTX 1080Ti

Describe the problem
The below Numpy and TensorFlow codelets produce different results, while I suppose they should be the same.
import numpy as np
import tensorflow as tf

x = np.array([247.], dtype=np.float32)
y = x / 255.
print('{:12.10f}'.format(y[0]))
# 0.9686274529

a = tf.placeholder(tf.float32)
b = a / 255.
with tf.Session() as sess:
    _b = sess.run(b, feed_dict={a: x})
print('{:12.10f}'.format(_b[0]))
# 0.9686275125

Running on CPU gives the same issue.
However, if I use a = tf.constant(x, dtype=tf.float32) instead of tf.placeholder, the result seems correct.
Is this an issue about tf.placeholder or something else? Does this affect other operations?

@weichiche: I'm not a tensorflow expert, but I suspect you're seeing a difference in the behavior in your example is because of casting between types and precision handled inside tensorflow vs inside numpy.
Python's standard float type is a C double.  Numpy's standard np.float is a reference to python's float.  Therefore your divisor in y, 255., is actually np.float64.  You've specifically declared x as np.float32.  So because of numpy's casting logic, your resulting y is np.float32 / np.float64 = np.float32.
In tensorflow, it looks like your a is declared as tf.float32 but when tf runs tf.convert_to_tensor on 255., the type is inferred according to tensorflow and 255. is treated as a Constant tf.float32.  So your op is tf.float32 / tf.float32 = tf.float32
If I do the following in float64, the tf result matches numpy:
import numpy as np
import tensorflow as tf

x = np.array([247.], dtype=np.float64)
y = x / 255.
print('{:12.10f}'.format(y[0]))
# 0.9686274510

a = tf.placeholder(tf.float64)
b = a / 255.
with tf.Session() as sess:
    _b = sess.run(b, feed_dict={a: x})
print('{:12.10f}'.format(_b[0]))
# 0.9686274510

For tf.placeholder and using feed_dict, If the feed_dict key is a tf.Tensor, the value may be a Python scalar, string, list, or numpy ndarray that can be converted to the same dtype as that tensor.

@Benyuel: I tried explicitly making the divisor float32, and the discrepancy still exists. Though if I test with float64, I get identical results just as you did.

@weichiche:    I suspect that tensorflow core is doing the division or casting dtypes differently, and if so, the question then becomes if tf operations using tf.placeholder should mirror numpy logic or not?
With a constant, the value is a part of the computation graph itself, specified when the constant is created. With a placeholder, every time you run the computation graph, you can feed in a different value in your feed_dict, and tf core has to do some checking/casting.
import numpy as np
np.can_cast(np.float32, np.float64)
# True
np.can_cast(np.float64, np.float32)
# False

Internal numpy casting logic: np.float64 cannot be automatically cast to np.float32
# Returns the data type with the smallest size and smallest scalar kind to which both type1 and type2 may be safely cast. The returned data type is always in native byte order.
# Per my previous comment, x = np.float32, y = np.float64
np.promote_types(np.float32, np.float64)
# dtype('float64')

Therefore, numpy core is actually performing np.float64 / np.float64 and then casting to np.float32.
Also, you're printing 10 digits, so you're likely within the rounding error (Single precision (float32) ~= 7 decimal digits, Double precision(float64) ~= 16 decimal digits).  Instead of printing and checking equality for floating point, you probably just check np.allclose.

@Benyuel: I said that I tried explicitly making the divisor float32. Let's make it more clear. For Numpy,
np_dtype = np.float32

x = np.array(247., dtype=np_dtype)
z = np.array(255., dtype=np_dtype)
y = x / z

print(x.dtype, x)
print(z.dtype, z)
print(y.dtype, list(struct.pack('!f', y)))

prints
float32 247.0
float32 255.0
float32 [63, 119, 247, 248]

For TensorFlow,
tf_dtype = tf.float32

a = tf.placeholder(tf_dtype)
c = tf.constant(255., dtype=tf_dtype)
b = a / c

with tf.Session() as sess:
    _a, _b, _c = sess.run([a, b, c], feed_dict={a: x})

print(a.dtype.name, _a)
print(c.dtype.name, _c)
print(b.dtype.name, list(struct.pack('!f', _b)))

prints
float32 247.0
float32 255.0
float32 [63, 119, 247, 249]

The number of printed digits may be inappropriate. But both y and _b are Numpy data, thus they should be represented in the same way. Anyhow, I turn to print the bytes which should reflect the true difference.
As to your question

... and if so, the question then becomes if tf operations using tf.placeholder should mirror numpy logic or not?

I hope so. It'll make less confusion, at least for former Numpy users.

@weichiche: Had a random idea and it seems to work with placeholders.  It may help in figuring this out
import tensorflow as tf
import numpy as np

x = np.array([247.], dtype=np.float32)
y = x / 255.

with tf.device('/device:CPU:0'):
  a = tf.placeholder(tf.float32)
  b = tf.placeholder(tf.float32)
  c = a / b

config = tf.ConfigProto(log_device_placement=True)
with tf.Session(config=config) as sess:
  _c = sess.run(c, feed_dict={a:x, b:255.})

print('TF:     {:12.10f}'.format(_c[0]))
print('NUMPY: {:12.10f}'.format(y[0]))

@Benyuel: Do you suggest that the device matters?
I've found that using tf.placeholder for both divident and divisor results in quotient consistent with Numpy. How ever, if you declare the divisor by tf.constant, on CPU, the output is inconsistent again.

Correct, I'm not saying that device matters.
I think I've narrowed it down to one of 2 or both possible causes, not 100% certain though:

How type conversion is handled
How a constant tensor is embedded into the graph def which means it is stored in the client and in the runtime.  Placeholders values are as you would expect not stored in the graph def.

Sorry for all of these snippets, but here's another one.
a = 247.
b = 255.
x = np.array([247.], dtype=np.float32)
y = x / b
# x.dtype = float32
# x.tobytes() = b'\x00\x00wC'
# np.array(b).dtype = float64
# np.array(b).tobytes() = b'\x00\x00\x00\x00\x00\xe0o@'
# y = 0.9686274529

a_placeholder_32 = tf.placeholder(tf.float32)
c = a_placeholder_32 / b
# b is treated as a tf.constant by default
sess = tf.Session()
_c  = sess.run(c,  feed_dict={a_placeholder_32:x})
# numerator = float32
# denominator = float64
print(sess.graph_def.node[0].attr['dtype'])
print(sess.graph_def.node[1].attr['dtype'])
# numerator & denominator in graph_def = DT_FLOAT
 np.array(b).tobytes() = b'\x00\x00\x00\x00\x00\xe0o@'
_c =  0.9686275125

a_placeholder_32 = tf.placeholder(tf.float32)
b_placeholder_32 = tf.placeholder(tf.float32)
c = a_placeholder_32 / b_placeholder_32
sess = tf.Session()
_b_placeholder_32 = sess.run(b_placeholder_32, feed_dict={b_placeholder_32:b})
_c  = sess.run(c,  feed_dict={a_placeholder_32:x, b_placeholder_32:b})
# numerator = float32
# denominator = float32
print(sess.graph_def.node[0].attr['dtype'])
print(sess.graph_def.node[1].attr['dtype'])
# numerator & denominator in graph_def = DT_FLOAT
print(_b_placeholder_32.tobytes())
# b'\x00\x00\x7fc'
_c =  0.9686274529

Note the difference in bytes in the denominators.
Note the difference in denominator dtypes.

@Benyuel: I've made a misleading example in my first comment. Please allow me to rephrase my questions.
Consider two float32-by-float32 divisions:

(TF) dividing a tf.float32 Tensor created by tf.placeholder() by a float32 Tensor created by tf.constant() ,
(NP) dividing an np.float32 (or np.float32 ndarray created by np.array()) by another np.float32 (or np.float32 ndarray created by np.array()).

and a statement:

(S) (TF) produces, numerically, the same quotient as (NP),

Here're the questions:

Can we expect (S)?
Should we expect (S)?

As to our long-discussed example (i.e. dividing 247 by 255).
In Numpy, if the dividend is a scalar (created by np.float32(247.)) or a 0-dimensional array (created by np.array(247., dtype=np.float32)), the division by a Python float (which is actually a 64-bit float as you mentioned before) will be lifted to a float64-by-float64 division. However, if the dividend is an array with one or more dimensions (e.g. created  by np.array([247.], dtype=np.float32)), then the divisor is converted to a 32-bit float, and the result is the same as float32-by-float32 division. So the first snippet in your last comment, whether the divisor is 32-bit or 64-bit, gives exact result of (NP).
Your second snippet is an example of (TF). Though the divisor is 64-bit, it is converted to a DT_FLOAT, which I think is 32-bit. This division should also be a float32-by-float32 division. But somehow the result is slightly different from that of (NP), even if the divisor is explicitly created as 32-bit using tf.constant(255., dtype=tf.float32). This is where my concern comes from.
I've tried the same example in TensorFlow 1.1.0, and the result is consistent with (NP). It looks like this issue is introduced during TensorFlow upgrading.
The third snippet is out of my consideration, as it gives expected result.

As this issue has invited community support, please remove the assignee. Otherwise, remove the community support label. Thank you.

tf.placeholder is not compatible with eager execution(which is default in Tensorflow 2) and in tf.function and there is no plan to modify that, upgrade your Tensorflow version to recent version and report a new issue for any errors/challenges. Thanks!


Internal Documents section

This needs a bit of change. We can merge it and I'll follow it up with another PR.


dragEnd will trigger click event, can these be devided into two event,not effect each other

dragEnd will trigger click event, can these be devided into two event,not effect each other

dragEnd wiil trigger node DOM click

I really don't understand what you're saying here. Try StackOverflow?

I meet the same pro,and what should i do now?

`// index.js
<Draggable
    axis="both"
    handle=".handle"
    defaultPosition={{ x: 0, y: 0 }}
    position={positionXY}
    bounds="html"
    offsetParent={document.body}
    scale={1}
    onStop={handleDragStop}
  >

      <Box></Box>

</Draggable>

//Box.js

`


add phpunit-retry.xml.dist as teplate to local dev

Jira: KBC-XXX
Before asking for review make sure that:

[ ] New client method(s) has tests
[ ] Apiary file is updated
[ ] You declared if there is a BC break or not (will affect next release of a client)

testy presli, spadol ima manage https://app.travis-ci.com/github/keboola/connection/jobs/562664183 spravim potom este jeden PR ktory to prida aj pre manage


helm install xxx stable/mariadb failed!!!

helm verison : 3.0.2
k8s version :1.17.0

when I install stable/mariadb by helm ,There's always “Access denied” with the  slave , detail info like this:

That's why?

To me it looks more of an issue related to mariadb parameters: https://github.com/helm/charts/tree/master/stable/mariadb
You may want to try a more simple example of chart to test helm (without pvs, etc).
If you are sure you've put the right params, maybe it's a good idea to open a defect to the helm chart itself, here: https://github.com/helm/charts/issues

closing as stale.


Disable Prisma Client coloured output

Prisma Client is optimized for an out of box experience tailored to humans. But its not good for machines, e.g.:

Prisma Client therefore is configurable here. Docs.
We should disable Prisma Client colouring so that errors from Prisma Client are closer to OK as data for transfer to the client.

Closed by https://github.com/graphql-nexus/nexus-future/pull/391

@Weakky sorry I had intended to make this issue in the nexus-future repo!


add: seeding

https://github.com/kazumatsudo/GraphDB2RDB/issues/85

Summary by CodeRabbit

New Features

Introduced a new JSON writing utility to improve data handling.
Enhanced JSON parsing and encoding capabilities for various data types.
Added test data generation for graph database entities and relationships.

Enhancements

Updated application logic for improved JSON parsing flow.

Library Updates

Integrated a new library for enhanced testing capabilities.

Codecov Report
Attention: 40 lines in your changes are missing coverage. Please review.

Comparison is base (6d4c3f1) 75.07% compared to head (0c1ff8b) 69.59%.

Files
Patch %
Lines

src/main/scala/utils/JsonUtility.scala
0.00%
31 Missing :warning:

src/main/scala/utils/FileUtility.scala
0.00%
8 Missing :warning:

src/main/scala/Main.scala
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #86      +/-   ##
==========================================
- Coverage   75.07%   69.59%   -5.49%
==========================================
  Files          19       19
  Lines         317      342      +25
  Branches       34       36       +2
==========================================
  Hits          238      238
- Misses         79      104      +25

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Change context AFTER wifi connect

Hi,
I noticed that ControlPlane (which I love, love, love. TYVM) changes context when it sees a WiFi SSID become available. I want the context to change after I've made the connection. Some WiFi connections I have set to manual for good reason.
Any thoughts on this? Maybe I'm doing something wrong?
thanks,
mike

The WiFi evidence source stops scanning for new networks once it is connected.  If you change your connection manually it'll see that WiFi network instead of the old one.  If you are using the same network name in two locations and are trying to use surrounding WiFi routers as evidence towards where you actually, then you should redo your rules to use the BSSID rather than SSID.  The BSSID is the unique ID for the WiFi router itself rather than the SSID which can be the same on any number of routers.
If this won't work for you you'll find an option under advanced that allows you to scan for WiFi networks even if it is already associated.  If you enable this option, know that constant scanning does cause some connectivity issues, particularly if the signal is a bit weaker, and increases battery usage.
Please reopen this ticket if my I've suggested doesn't fix your problem.

Well, the thing is that for one of my networks, I have to authenticate. (Using a .mobleconfig profile) ControlPlane sees the connect but by the time I authenticate, all the actions may have fired. (mounts, apps) and they fail because I haven't gotten the IP address. It would be nice if ControlPlane detected if I have an IP address before firing? I can't use BSSID as the corporate network that requires me to use profiles has routers all over the place.
The whole thing was worse with Lion 10.7.1 update as WiFi got messed up with that release and wouldn't automatically connect. Removing a plist file fixed that but I still think it would be best of ControlPlane waited for the IP address before running actions. JMHO... :)
Bottom line, seeing the network available doesn't mean I want to run my actions. Only after confirmation of connection (IP address assigned) do I want to run things like mounting disks.
Thanks for all your hard work. I recommend ControlPlane to all my Mac-loving friends.

Well, only switch contexts when you both see the network and have the right IP address?

In that case you can add another rule that is IP based.  So long as you set the confidence required to the right levels it would work out.
Your other option is to simply delay the actions.  Each action you have configured has a delay value you can set.
On Nov 8, 2011, at 7:17 PM, mikefoley wrote:

Well, the thing is that for one of my networks, I have to authenticate. (Using a .mobleconfig profile) ControlPlane sees the connect but by the time I authenticate, all the actions may have fired. (mounts, apps) and they fail because I haven't gotten the IP address. It would be nice if ControlPlane detected if I have an IP address before firing? I can't use BSSID as the corporate network that requires me to use profiles has routers all over the place.
The whole thing was worse with Lion 10.7.1 update as WiFi got messed up with that release and wouldn't automatically connect. Removing a plist file fixed that but I still think it would be best of ControlPlane waited for the IP address before running actions. JMHO... :)
Bottom line, seeing the network available doesn't mean I want to run my actions. Only after confirmation of connection (IP address assigned) do I want to run things like mounting disks.
Thanks for all your hard work. I recommend ControlPlane to all my Mac-loving friends.

Reply to this email directly or view it on GitHub:
https://github.com/dustinrue/ControlPlane/issues/77#issuecomment-2676301


More updated needed for HoloLens 2

This doc needs a number of updates to accommodate for updated HoloLens hardware, updated Unity, and updated best practices.
Including but not limited to:

Hologram quality terminology

Color separation only applies to HoloLens 1
Double images can happen on HoloLens 2, should likely be in the terminology list

Framerate

240hz is only HoloLens 1, 120hz for HoloLens 2

Render Distances -> Clip Planes "For maximum comfort we recommend clipping render distance at 85cm with fadeout of content starting at 1m"

This is only for HoloLens generation 1.   HoloLens 2 has touchable holograms, so this recommendation needs to be updated.

Color separation

Only applies to HoloLens generation 1
HoloLens2 may have double images on stabilization issues so the section may need to be generalized.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 874d6e8e-dd9a-f355-5025-b7a1804ffcbe
Version Independent ID: d3d8b319-459e-357d-52c2-823daeadda6d
Content: Hologram stability - Mixed Reality
Content Source: mixed-reality-docs/hologram-stability.md
Product: mixed-reality
Technology: mr-dev
GitHub Login: @thetuvix
Microsoft Alias: alexturn

@thetuvix - PING


Windows: Fix heap overflow setting native icon

Fixes https://github.com/godotengine/godot/issues/71697.    Can probably be fixed on master as well.

We really like more descriptive commit message in a codebase that gets a few dozen commits merged everyday :)
Something like
Windows: Fix heap overflow setting native icon

Fixes #71697.

would be perfect.

OK will change commit msg

Updated commit msg

Seems like this was fixed in master already with a slightly different fix: #68631.

I changed this commit to what is currently pushed to master... but I'm not sure what version is actually best.
When i implemented, i didn't know what valid range of  idCount can be.  If it can be zero, it's possibly incorrect on master as the struct won't be allocated to it's minimum size.
icon_dir = (ICONDIR *)memrealloc(icon_dir, sizeof(ICONDIR) - sizeof(ICONDIRENTRY) + icon_dir->idCount * sizeof(ICONDIRENTRY));

The CI error seems unrelated to this PR, likely Xcode got updated on GH Actions and it's now reporting this warning (which we treat as errors):
platform/osx/joypad_osx.cpp:326:3: error: 'sprintf' is deprecated: This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead. [-Werror,-Wdeprecated-declarations]
                sprintf(uid, "%08x%08x%08x%08x", OSSwapHostToBigInt32(3), OSSwapHostToBigInt32(vendor), OSSwapHostToBigInt32(product_id), OSSwapHostToBigInt32(version));
                ^
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/stdio.h:188:1: note: 'sprintf' has been explicitly marked deprecated here
__deprecated_msg("This function is provided for compatibility reasons only.  Due to security concerns inherent in the design of sprintf(3), it is highly recommended that you use snprintf(3) instead.")
^
/Applications/Xcode_14.2.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.1.sdk/usr/include/sys/cdefs.h:215:48: note: expanded from macro '__deprecated_msg'
        #define __deprecated_msg(_msg) __attribute__((__deprecated__(_msg)))
                                                      ^
1 error generated.

Will look into fixing this in a separate PR, then this will need a rebase to pass CI.

Will look into fixing this in a separate PR, then this will need a rebase to pass CI.

Done, once rebased this should be good to go.

This added an extra commit, we'd really prefer a rebase to keep the Git history clean.

arg ya, didn't see the 2 commits there...  Will rebase and resubmit monday, sry!

Thanks!

Cherry-picked for 3.5.2.


[RHCLOUD-20514] Endpoint tests5

update of tests for endpoint handlers PART V.
(part I. #440, part II. #444, part III. #446, part IV. #449)
for handlers:

EndpointEdit()
EndpointDelete()

rest of handlers will be covered in next PR
main goal here is to check the tenancy and some refactor
JIRA: RHCLOUD-20514

this PR will be rebased after #449 merge

rebased and ready for review


using electron associated modules that can't be renderered in the server

HI,
I am trying to use the electron redux module which allows communication between the main and renderer thread using redux but it breaks because next tries to ssr it all other redux middlewares. Any idea on the best way to approach this?
I know next.js doesn't allow us the option to disable ssr and I tried to use React noSSR module but I couldn't get it to work too
So, what would be the best way to approach this?

Check for the existence document or window (which is only available in the renderer).


MSID: 91769 Version: 1 DOI: 2<IP_ADDRESS>2485

"msas": "Neuroscience"
"msid": "91769"
"preprintDoi": "10.1101/2<IP_ADDRESS>2485 "
"Reviewed Preprint posted": "2023-11-01"
"Sent for peer review": "2023-08-22"
"Posted to bioRxiv": "2023-08-08" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>2485v1/")
[PLACE PDF URL HERE WHEN AVAILABLE] See step 7
Step 1. Inform bioRxiv
Who can help: @QueenKraken, @nlisgo, @scottaubrey

[x] Manuscript is in data hub index (https://data-hub-api.elifesciences.org/enhanced-preprints/docmaps/v2/by-publisher/elife/get-by-manuscript-id?manuscript_id=91769)

Step 2. Create preview of manuscript
Who can help: @fred-atherden, @nlisgo, @scottaubrey

[ ] Manuscript is available for preview (https://prod--epp.elifesciences.org/preview/91769/v1)

[ ] Trigger import for staging: https://prod--epp.elifesciences.org/import
[ ] Sync data folder with s3://prod-elife-epp-data/data
[ ] Trigger import for staging: https://staging--epp.elifesciences.org/import
[ ] Sync data folder with s3://staging-elife-epp-data/data
[ ] Pull request created to enhanced-preprint-data
[ ] Post link to pull request below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-manuscript
Step 3: Awaiting public reviews and QC
Who can help: Production team

[ ] QC passed or QC not needed

Who can help: Editorial team

[x] Public reviews available on sciety (https://sciety.org/articles/activity/10.1101/2<IP_ADDRESS>2485)
[x] Manuscript and editor details at the top of this issue (Supplied by Editorial team)
[ ] Reviews returned by EPP - https://prod--epp.elifesciences.org/api/reviewed-preprints/91769/v1/reviews

Example
"msas": "Genetics and Genomics", "Neuroscience"
"msid": "84628"
"version": "1"
"preprintDoi": "10.1101/2<IP_ADDRESS>4241"
"articleType": "Reviewed Preprint"
"status": "Published from the original preprint after peer review and assessment by eLife."

"Reviewed Preprint posted": "2023-01-02"
"Sent for peer review": "2022-10-28"
"Posted to bioRxiv": "2022-11-21" (link: "Go to bioRxiv": "https://www.biorxiv.org/content/10.1101/2<IP_ADDRESS>4241v1")

Editors:
Reviewing Editor
Michael B Eisen
University of California, Berkeley, United States
Senior Editor
Michael B Eisen
University of California, Berkeley, United States

Step 4: Modify manuscripts.json (no PDF)

[ ] Reviewed preprint is published to EPP (https://elifesciences.org/reviewed-preprints/91769)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[ ] Request that a doi be registered

[ ] Post link to #enhanced-preprint comment below

Pull request: [PLACE LINK TO PULL REQUEST HERE]
#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]

Instructions to modify manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/publish-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/334/files
Once the pull request is merged in it should be available a few minutes later.

Request that a doi
Post the following in #enhanced-preprint:
@Fred can you register a doi for https://elifesciences.org/reviewed-preprints/91769

Step 5: Awaiting search reindex

[ ] Reviewed preprint is avaliable on journal homepage (https://elifesciences.org)

The search reindex is triggered once an hour. We need the reviewed preprint to be indexed as the search application serves the journal homepage.

Additional info
If needed, the jenkins pipeline to reindex search can be triggered sooner.
https://alfred.elifesciences.org/job/process/job/process-reindex-reviewed-preprints/

Step 6: Published! Request PDF generation

[ ] Post the link to the PDF url at the top of the issue

[ ] Post link to #enhanced-preprint comment below

#enhanced-preprint comment thread: [PLACE LINK TO COMMENT HERE]
Post the following to the #enhanced-preprint on slack:
@Ryan Dix-Peek please can you generate a PDF for https://elifesciences.org/reviewed-preprints/91769

Step 7: Introduce PDF to data folder and git repo

[ ] PDF is avaliable at https://github.com/elifesciences/enhanced-preprints-data/raw/master/data/91769/v1/91769-v1.pdf

Detailed instructions: https://github.com/elifesciences/enhanced-preprints-data#add-a-pdf
Step 8: Add PDF url to manuscripts.json

[ ] Reviewed preprint PDF is available for download (https://prod--epp.elifesciences.org/reviewed-preprints/91769)

[ ] Pull request created to enhanced-preprint-client
[ ] Pull request switched to "Ready for review"
[ ] Post link to pull request below

[PLACE LINK TO PULL REQUEST HERE]

Instructions to add PDF url to manuscripts.json

Visit: https://github.com/elifesciences/enhanced-preprints-client/actions/workflows/add-pdf-url-to-manuscript.yaml
Click: Run workflow
Complete the form and click "Run workflow"
A successful run should result in a new pull request at https://github.com/elifesciences/enhanced-preprints-client/pulls
Open the pull request and click the "Ready for review" button to trigger tests
Once the tests pass and you are happy with the changes the PR can be merged

Example pull request: https://github.com/elifesciences/enhanced-preprints-client/pull/397/files
Once the pull request is merged in it should be available a few minutes later.

Step 9: Done!

[ ] Kettle is on!

elocations missing from references


apis: correct LabelGPUModel & LabelGPUDriverVersion

Ⅰ. Describe what this PR does

Ⅱ. Does this pull request fix one issue?

Ⅲ. Describe how to verify it
Ⅳ. Special notes for reviews
V. Checklist

[x] I have written necessary docs and comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in make test

/lgtm

/lgtm


Change event doesn't raise on bound value changed

Describe the bug
The Change event on form components (at least RadzenNumeric and RadzenDateTimePicker) doesn't change when a bound value changes, which is what I'd expect. It only raises when changing something from the UI itself.
To Reproduce
<RadzenNumeric @bind-Value="@Something" Change="@DoSomething" />
<RadzenButton Click="@ChangeSomething" />
@code {
  int? Something { get; set; }
  void DoSomething(int? value) {
     // Do something
  }
  void ChangeSomething() {
    Something = 1;
  }
}

Expected behavior
I'd expect DoSomething to be called when the bound value changes (as if I was subscribing to the eventcallback OnValueChanged, which I can't, because that's used by the binding).
Knowing that @bind-Value does make a handler for ValueChanged and you can't use that to also fire OnChange, I'm unsure of a possible solution to this at the component level
I understand that for the example as a workaround, I could just make the setter of Something call DoSomething, or ditch the @bind-Value syntax and use Value="@Something" ValueChanged="@ChangeSomething" where ChangeSomething changes the property and does whatever I want... however if there's anything that could be done at the component level (I honestly don't know what), it'd be great.

Hey @javiercampos,
Change event will be raised when you interact with the component, not when you change the bound value outside.


plugins/committia: init

Will resolve: https://github.com/nix-community/nixvim/issues/1022
Questions:
Testing

I migrated over to NixOS from Arch Linux in the hope that I would be able to run all the tests however the suggested nix flake check --all-systems is throwing the error:

❯ nix flake check --all-systems
error:
       … while checking flake output 'checks'

         at «none»:0: (source not available)

       … while evaluating the attribute 'optionalValue.value'

         at /nix/store/mcm21fbi7i6m3f189pkm7zcdn4c9xl40-source/lib/modules.nix:856:5:

          855|
          856|     optionalValue =
             |     ^
          857|       if isDefined then { value = mergedValue; }

       (stack trace truncated; use '--show-trace' to show the full trace)

       error: a 'aarch64-linux' with features {} is required to build '/nix/store/rzffqiqwi50nyinpmnaai43qy4a3qqhb-nixpkgs-nixvim-doc.drv', but I am a 'x86_64-linux' with features {benchmark, big-parallel, kvm, nixos-test}

Is there some way to make NixOS on x86_64-linux do CPU virtualisation to be able to run the tests or something? Or do you need to have NixOS builders of the other architectures to be able to run the tests?
I was however able to successfully run nix flake check

I could not find any examples of Vimscript plugins being tested. Do we not test these? If so I will remove the fairly redundant test and example.

Maintainers

I have added a commit to add myself as a maintainer in this repo (I do not yet contribute to Nixpkgs but it is just a matter of time until I do). Was I correct to do this as part of this PR or shall I split it out into another?
I have set myself as the maintainer of this package. Was I right to do so or should this be the maintainer of the package in Nixpkgs?

It's totally fine to add yourself to maitainers in this PR.
Maintainers are for the nixvim module, not for the package itself so it's totally fine (and normal!) to have different people for them.
For the --all-systems you either have to configure an aarch64 build host if you have access to one, or configure binfmt: https://nixos.org/manual/nixos/stable/options#opt-boot.binfmt.emulatedSystems

(Or simply let the CI do it!)

It's totally fine to add yourself to maitainers in this PR. Maintainers are for the nixvim module, not for the package itself so it's totally fine (and normal!) to have different people for them.
For the --all-systems you either have to configure an aarch64 build host if you have access to one, or configure binfmt: https://nixos.org/manual/nixos/stable/options#opt-boot.binfmt.emulatedSystems

Thanks, I have setup to emulate aarch64-linux but unfortunately not able to test darwin still. I guess we have something in CI to do this?
I am happy enough for this to be merged based on the tests I can run passing so I have removed the WIP.
If you are happy and the tests in CI are happy merge away :smile:

not able to test darwin still

I've got an old macbook i can probably install nix on if you want

Looks good to me overall ! Could you please give a value for all defined options in the example test case ?

Done

Can you please rename the "Add Committia" plugin to "plugins/committia: init" ?

Please, run nix fmt before pushing :)

Can you please rename the "Add Committia" plugin to "plugins/committia: init" ?

Done

Please, run nix fmt before pushing :)

and Done 😄

@alisonjenkins thank you for complying with all my requests.
I am shamelessly using this PR to test our new approach at packaging plugins.
Hence, I have taken the liberty to force-push a slight change in the options declaration.

@alisonjenkins thank you for complying with all my requests. I am shamelessly using this PR to test our new approach at packaging plugins.
Hence, I have taken the liberty to force-push a slight change in the options declaration.

No problem, let me know what you change as I plan to make some more PRs soonish too so would like to comply with your new way of doing things.

Ready to go, thanks again @alisonjenkins ! You can take this as a reference for implementing "vim plugins" (i.e. ones configured with vim.g.plugin_foo variables.

Cool thanks @GaetanLepage


[release-v1.11] Remove cert-manager setup, use the one in SO

This is now present in SO as part os install-kafka*, so we don't need it here anymore

/retest

/test 411-test-reconciler-encryption-auth-aws-411

/retest

/retest

/retest

/approve
/lgtm

@pierDipi should this PR fix KEDA test setup error in https://github.com/openshift-knative/eventing-kafka-broker/pull/978?

@dsimansk yes

/retest-required

/override 411-test-reconciler-keda-aws-411
/override 414-test-reconciler-keda-aws-414

/override ci/prow/414-test-reconciler-keda-aws-414

/override ci/prow/411-test-reconciler-keda-aws-411


Deleted Messages From Contacts is not Updated into Database

When a contact deletes a message, the column isDeleted on messages table continues storing 0 instead of 1.

R

In the lib do we receive a message stating that a given message with a specific ID is deleted?


Function tests

This PR moves some of the tests related to hpx::util::function_nonser to the functional module.
Flyby: function_ref now properly handles std::reference_wrapper

The include issue has been fixed.


All will be good

@tancredi you have 7 hours before the gnome loses a horn to comply.

Hi gnomenapper,
Can you give more details about this issue?


[Bug] Drag & dropping in scene will leave the grid in a rotated position

Drag & dropping in scene on a brush surface will leave the grid in a rotated position

This has been fixed in version 1.350. Which can be downloaded from https://prenominal.nl/updates/
This ticket will be closed when this version is available from the asset store

This version is now available from the asset store, so I'm closing this ticket