🔨 Fix list.collapseAll prevents re-expanding newly selected node

Fixes #174768
This PR fixes the issue with list.collapseAll command. As in the screen capture below, when the user invokes the list.collapseAll command (Ctrl+Left), the selection changes to an unwanted element (due to a stale item index) and they can no longer expand the (newly) selected item (e.g., by using Right key):

The PR fixes this, by changing the tree's both selected and focused elements to their topmost parent in the tree's root. This prevents the unwanted selection of other items due to a stale selection index value:

The original issue was about the tree view in "Find in Files" view. This is how it looks now:

Note
The same thing happens with normally collapsing items. That is, when you collapse an item whose child is selected (not focused), another element at the tree gets the selection (which has the same index offset in the new view) which seems strange. More than that, when the user expands the collapsed node again, they old selection returns and the user ends up with two selected items, which is confusing, too.
We can also apply the same logic in this PR to the AbstractTree.collapse method (of course, with a little change that selection goes back to the first visible parent in the chain, instead of getting back to the root elements).

I'm not so sure this is completely related to collapseAll. Here's a repro with a simple collapse, using the left arrow key only:
https://github.com/microsoft/vscode/assets/22350/b8734713-d883-47e6-8d86-5a2659063af1

changes to an unwanted element (due to a stale item index)

It's actually due to this: https://github.com/microsoft/vscode/commit/bf495694c7c7bcd4d4893fbe089f13cb4baa11e1

Ah I just read the Note section of the first post. 😆

After giving this quite a bit of thought, I no longer thing https://github.com/microsoft/vscode/commit/bf495694c7c7bcd4d4893fbe089f13cb4baa11e1 was a good change. I am more in favor of reverting it and have trees handle this in their own way.
One more comment on:

More than that, when the user expands the collapsed node again, they old selection returns and the user ends up with two selected items, which is confusing, too.

This is actually as designed, so selection is restored when the parent folder expands once again:
https://github.com/microsoft/vscode/assets/22350/9ce1fb41-799b-496a-a84d-6a08720c0436

Closing in favor of https://github.com/microsoft/vscode/pull/201309

@joaomoreno Thanks for the explanation. I think you're right about reverting the changes.


Error using sample function Richard.js

I try to compile the richard.js sample under windows to native using: porf native richard.js richard.exe   --compiler=clang-cl
The result is:  1513/1514  optimizing...TypeError: Cannot read properties of undefined (reading 'push')

Could you try -d? That will hopefully give a better error message.

Hmm, maybe try the option --no-pgo, that seems to be causing the issue.

I can compile richards.js without any problem. However when I run richard.exe I do not get the result printed

Yeah, there are still some issues to be fixed in the 2c compiler and in Porffor general.

Will compileing to wasm help. And if so which wasm-engine to use?

I'm pretty sure porffor just doesn't support some of the things that are used in there. You can try to compile to wasm but there are some details about importing that are a bit difficult, otherwise any wasm engine supporting exception handling should suffice. If you just want to run it, doing porf richard.js should do the trick but I'm going to assume that similar issues will arise.


my_init exits with 0 on SIGINT after runit is started

Is it done on purpose that my_init calls exit(2) if it is interrupted before runitis started, but that it exits with 0 if it receives a SIGINT while waiting for runit to exit in wait_for_runit_or_interrupt
I've been trying to find a way to abort a container from inside, so that a container launched to run a batch job can exit with a non-zero exit code in case of job failure.
So far, the only way I've found to do it requires sending a SIGHUP to runsvdir from the finish script of a service and walking around a race conditions between runsvdir and the service's runsv.
A much simpler way would be to let my_init abort whenever it receives a SIGINT:
--- a/image/bin/my_init
+++ b/image/bin/my_init
@@ -238,11 +238,8 @@ def start_runit():
        return pid

 def wait_for_runit_or_interrupt(pid):
-       try:
-               status = waitpid_reap_other_children(pid)
-               return (True, status)
-       except KeyboardInterrupt:
-               return (False, None)
+       status = waitpid_reap_other_children(pid)
+       return (True, status)

 def shutdown_runit_services():
        debug("Begin shutting down runit services...")

This would let the KeyboardInterrupt bubble up to the exception handler around main(), all process get killed with a SIGTERM (with a timeout) and my_init exits with 2.
A service's finish script could simply call os.kill(1, signal.SIGINT) and be done with it if it needs to abort the container.

Would you mind putting this in a PR and I will merge it in? Thanks!

I have put this into a PR for review by the other team members. Thanks @jraby !


TEST 4

Testing GitHub Actions!

what is the issue?
how can i contribute

Hey @ayushbhatt2000 ! This issue was created just to test whether the GitHub Actions are working or not. However if you like you can check the workflow of GitHub Actions and work on some enhancements.

I've requested a pr kindly merge


Create dedicate test project

I would like to create a small test project which makes use of most tasks. On one hand we can use the project to showcase how to use gulp-modular on the other hand it would be good to check that all tasks still work when updating tasks.

I had the same in mind. :+1:

I create a sample app which builds on top of gulp-modular and can be used to test our configurations. https://github.com/maxklenk/angular-sample-app


Add support to copy as JSX

Is your feature request related to a problem? Please describe.
No 🙏
Describe the solution you'd like
Add support to copy HTML code as JSX code.
Describe alternatives you've considered
Add aa setting to toggle use JSX or not and when click copy button, should convert to JSX.
Additional context
No context

This isn't as straight forward as you think, it isn't just class to className you have to worry about.


Windows shell preview for code files

Is your feature request related to a problem? Please describe.
Windows explorer preview pane doesn't display text files with many file extensions.
Describe the solution you'd like
Adding previewers for code files with syntax highlighting. Integration with something like vscode themes or even just a DevToys settings menu to customize font (ligature support would be a plus), font size, and a dark/light mode would be amazing.
Describe alternatives you've considered
Existing workarounds with the registry to add file extensions to the plaintext previewer are hackish and aren't as pleasing to the eye as a proper previewer would be.

Hello,
Thanks for your feedback. Have you look at the app Files yet? https://files.community/
I believe its preview pane does this. :)


Support vega 3 and vega-lite 2 transforms

I know there are some other PRs open regarding transforms, but these changes should be orthogonal.

Are the vega/altair examples still up to date?
https://nteract.gitbooks.io/hydrogen/docs/Usage/Examples.html#static-plots

@lgeiger The altair examples are still up-to-date. It doesn't look like altair supports the newer Vega version, so for now I think the only way to get Vega 3 graphs is to write them manually.
Note that JupyterLab has extensions that support the newer version of Vega, and this updates Hydrogen to match.

Cool :+1: :+1:


Improve Contact us Page

I am providing a sample of contact us page

This is just a sample. Edit the page and style similarly to add these details besides the form.
Have sections like need help with order, need help with account, etc, relavant to an e-commerce website.

I am working on this issue . Please assign this to me @dwip708

@aniruddhaadak80 assigning you. In case you face any issue with code, comment here.

Thanks for merging @dwip708 .

This page needs proper styling. The flex is not properly styled.  @aniruddhaadak80 please add appropriate styles and raise another PR. Keep some side margins as in other pages. And fit it in the same page without need of scrolling.

okey @dwip708 .I am fixing this .

The 2 PRs did not solve the styling issue, hence I have reverted both the PRs.
Attach a screenshot with the PR if you work on this issue. The form and the assisting texts should be in 2 columns side by side like the sample image. Expecting a similar styling.

@aniruddhaadak80 are you still working on it?

Hey, I would like to work on this.

@slusy Sure... assigning you


Viewer - Chinese characters rendered by Zpl.Previewer not showing

When I try to preview a zpl label which contains some Chinese characters, the Chinese chars are not displayed properly, and they become some rectangels. See below:

My ZPL code is:
^XA^CI28 ^CW1,E:SIMSUN.TTF ^FO20, 20^A1N,40, 30 ^FD前片^FS ^XZ

Need some font support

Need some font support

Could you please further your answer? What should I do to make it work? Thanks a lot.

Currently we can't print Unicode/set font in the ZPL. (Anyway you need to upload the font to printer)
May I know where are you testing the render?
https://github.com/BinaryKits/BinaryKits.Zpl/blob/51d77ce9f9ffd7a1168d3a1a835d03c3184463b8/src/BinaryKits.Zpl.Viewer/ElementDrawers/TextFieldElementDrawer.cs#L47
if I change this line to:
typeface = SKTypeface.FromFamilyName("Yu Gothic UI", SKFontStyleWeight.Bold, SKFontStyleWidth.Normal, SKFontStyleSlant.Upright);
seems to be okay

@tinohager
Any possible to load font like ^CW1,E:SIMSUN.TTF?

Currently we can't print Unicode/set font in the ZPL. (Anyway you need to upload the font to printer)
May I know where are you testing the render? Your computer or web server?
https://github.com/BinaryKits/BinaryKits.Zpl/blob/51d77ce9f9ffd7a1168d3a1a835d03c3184463b8/src/BinaryKits.Zpl.Viewer/ElementDrawers/TextFieldElementDrawer.cs#L47
if I change this line to:
typeface = SKTypeface.FromFamilyName("SIMSUN", SKFontStyleWeight.Bold, SKFontStyleWidth.Normal, SKFontStyleSlant.Upright);
seems to be okay

@tinohager
What's your plan to load font like ^CW1,E:SIMSUN.TTF? I can implement.

Thanks a lot. I use the Previewer in my computer (a .NET 5.0 Console App), here is my C# code:
private static void GeneratePreview(string zpl, double LabelWidth, double LabelHeight, int PrintDensityDpMM, string file)
        {
            IPrinterStorage printerStorage = new PrinterStorage();
            var drawer = new ZplElementDrawer(printerStorage);
            var analyzer = new ZplAnalyzer(printerStorage);
            var analyzeInfo = analyzer.Analyze(zpl);
            byte[] imageData = null;
            foreach (var labelInfo in analyzeInfo.LabelInfos)
            {
                imageData = drawer.Draw(labelInfo.ZplElements, labelWidth: LabelWidth, labelHeight: LabelHeight, printDensityDpmm: PrintDensityDpMM);
                File.WriteAllBytes(file, imageData);
            }
        }

I'm building my app using the nuget package Zpl.Previewer, if I would like the change line you mentioned, do I need to build the Zpl.Previewer by myself?

Yes if you need immediate hardcoded font to fix this.
Or wait a while, eventually one of us will put the logic about taking^CW1,E:SIMSUN.TTF.

Yes if you need immediate hardcoded font to fix this.
Or wait a while, eventually one of us will put the logic about taking^CW1,E:SIMSUN.TTF.

Thanks very much. I guess I'll just wait until my boss pushes the progress.

@Outofnothing
Will you be able to test the commits at PR https://github.com/BinaryKits/BinaryKits.Zpl/pull/100  ?


Why does this module reverse the logical call stack order?

The descriptions for the depth property reads:

The callsite depth, meaning how many levels we follow back on the stack trace.

The topmost item on the call stack ist the currently executing function, if I go one item back, or lower, I will find the stack frame of my caller, then my caller's caller, and so on. So my expectation, which was also corroborated by the description of the depth property above, was that I would get my own call site for depth: 0, my caller's for depth: 1, my caller's caller's site for depth: 2 and so on.
But from all I could see, this module completely reverses the call stack with depth: 0 giving the bottommost call site (Node's entry function) and depth: N the site of the call to caller-callsite.
In any use-case I can think of, one would need to walk the stack downwards from the function calling caller-callsite. However, this is extremely awkward to do with the way depth works currently.
Is there any reason things work as they do now?

// @yaodingyd

The topmost item on the call stack ist the currently executing function, if I go one item back, or lower, I will find the stack frame of my caller, then my caller's caller, and so on. So my expectation, which was also corroborated by the description of the depth property above, was that I would get my own call site for depth: 0, my caller's for depth: 1, my caller's caller's site for depth: 2 and so on.

This should be the expected behavior. Can you share an example of the reverse order?

Can you share an example of the reverse order?

The example from https://github.com/sindresorhus/caller-callsite#depth and the tests of this module.

They are the same order as you describe. Take the readme example, the console log is for when running node foobar.js, so its own callsite is foobar.js, its caller is bar.js, and caller's caller is foo.js

They are the same order as you describe. Take the readme example, the console log is for when running node foobar.js, so its own callsite is foobar.js, its caller is bar.js, and caller's caller is foo.js

What you describe here is exactly the opposite from what I would expect and what I described above. The call site of caller-callsite in that example is line 4 of foo.js. That's the most recent item on the call stack and it should be the one you get for depth: 0 IMHO. The reason for that being as I stated above:

In any use-case I can think of, one would need to walk the stack downwards from the function calling caller-callsite. However, this is extremely awkward to do with the way depth works currently.

This module however, returns the least recent item on the call stack for depth: 0 which makes it hard to use this module to answer a question like Who called the currently executing function?. Furthermore, I don't see what kind of relevant questions could be more easily answered with the currently used call stack ordering.
I hope I could make myself clearer now. 😅

I got your point now.
The callsites are essentially stack traces so you are saying their order should be the same too.
@sindresorhus any thoughts?

I would have expected the same behavior as @raphinesse mentioned, so this is a bug.


v1.4.0 Add spectral effects model

Hi Didier,
Long time no see/hear!
I am curious, which spectral model did you implement?
Anton

Hi Anton:
Nice to hear from you. The model we implemented is actually a very simple one, it’s simply a user-defined correlation based on the clearness index. Basically we have noticed that for a given level of irradiance our systems do much better under cloudy conditions than under clear sky conditions, and we are getting a pretty convincing correlation between that improvement and the clearness index. This has also been reported by others in the literature; another parameter that is often considered as well is the air mass but with our cell technology we have not noticed any strong correlation, although this is something we could add in the future. So ‘spectral’ here should not be understood as a full-fledged model where both the spectrum of the incoming irradiance and the spectral response of the solar cell are known (I don’t know of a reliable model for the former under all-sky conditions), but rather a relatively crude correlation based on weather conditions.
How are you doing and what are you up to these days?
Best regards,
Didier.
Didier Thevenard, PhD, P.Eng.
Senior Manager, Operations and Analytics, O&M, Module & System Solutions
[cid:csien_b0031b10-8160-4100-a395-2a4ace7e7484.png]http://www.canadiansolar.com/ca/
Canadian Solar Operations and Maintenance Inc.
545 Speedvale Ave. West, Guelph, Ontario N1K 1E6
Tel: +1<PHONE_NUMBER> ext.2340 Mobile: +1<PHONE_NUMBER>
NASDAQ: CSIQ
From: Anton Driesse<EMAIL_ADDRESS>Sent: March 22, 2018 7:52 PM
To: CanadianSolar/CASSYS<EMAIL_ADDRESS>Cc: Subscribed<EMAIL_ADDRESS>Subject: Re: [CanadianSolar/CASSYS] v1.4.0 Add spectral effects model (#4)
Hi Didier,
Long time no see/hear!
I am curious, which spectral model did you implement?
Anton
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/CanadianSolar/CASSYS/pull/4#issuecomment-375494765, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AK6lQ4SxeJW7bi3C7ZgDCC9dhdQPq3J4ks5thDkVgaJpZM4S3zsL.

This message is directed in confidence solely to the addressee(s) named above. This message contains privileged and/or confidential information, which is not to be disclosed to any third party. If you are not an intended recipient of this message or an authorized representative thereof, please contact the undersigned and then destroy this message as well as all existing copies. Any utilization of this message by a person other than an intended recipient hereof is strictly forbidden.


Added Overlay Message when turning on/off light overlay

A simple PR adds an overlay message to display Light Overlay is turn ON or OFF.

Thanks! I'd love to use this in my fork's experimental branch. Please PR it if you like to do that yourself; else I'll just import the patch soon-ish. (I assume GitHub would credit you correctly even in that case.)

(Note that this would resolve #22)


I want to add this type of enhancement in contributors which is shown below

before

After
https://github.com/user-attachments/assets/4d910fe4-750f-43ba-8a06-f16129fbda2c
@Vin205 kindly assign me this issue. I genuinely want to work on it.

i want to work on this issue .assign me this project


How disable Slavery for single model?

I have disable reading from slave for single model, for example Action.
class Action < ActiveRecord::Base
  self.slavery_dasabled = true
end

Slavery.on_slave do
  users = User.count
  User.each do |user|
    actions = user.actions.count
  end
end

Can't do per-model, but you can do per-query using Slavery.on_master.
Slavery.on_slave do
  users = User.count
  User.each do |user|
    actions = Slavery.on_master do
      user.actions.count
    end
  end
end

Please reopen if it doesn't work for you.

@kenn If we are using establish_connection in any of our model to connect this model with different database.
For example
class Notification < ApplicationRecord
  establish_connection "notifications_#{Rails.env}".to_sym
end

But if we wan't to access Notification records within the stand_by block like below then it run the query on stand_by database instead notifications database but we want to use notifications database of this model.
Standby.on_standby do
  Notification.count
end

Your suggested solution can work in our case but there are multiple instances in our application where we will need to make this change. Doesn't sound like a good approach. Can you please suggest other solution? I can work on more digging if you are willing to add support of this feature also please provide me the right direction.

If you are manually handling establish_connection yourself, Standby is not the right solution for your case, because connection holder can only one standby connection.


Allow passing --yes parameter to bypass prompts

Makes this tool usable in automated builds such as Docker containers.
Addresses https://github.com/davidcole1340/ext-php-rs/issues/133

Sorry for the delay - updated the readme and the guide now.

Could you try re-basing on the latest master? :pray: I think the build will become green then

Thanks!

@here can we get a new release on crates.io?

Released as v0.8.1


Need some pointers to get the games going!

Hey,
I self-hosted the bot and added it to the server I have. The problem I am running into is that the game won't start. I get the following message.

The thing is, I have more than 3 friends online on the server. What am I doing wrong here? I have set up 2 text channels, #cag-chat, #cag-game and also added the same into the config.json. I tried starting the game from these 2 channels, also tried starting it in other channels and I am lost. Where am I doing something wrong?
I am new with discord, so could you please help me? Thanks in advance.

Pointers to get this to work:
Fetching Channel ID
Permissions:
When creating the bot in the developer portal, either select these permissions or allow them in the Role that gets created after the bot is successfully added to the server.

Manage Channels
Send Messages
Read Message History

Getting the bot to start working:

Create 2 channels specifically for this bot on the server, one for the game, and other for the text commands/chat.
Copy the ID of these channels, usually should be a long number (18 Digits when I last checked)
On the server where the bot is hosted, you need to edit the config.json to add these 2 channel IDs in their respective fields:
"active-channel": "game_channel_ID"
"chat-channel": "text commands/chat_channel_ID"
Ensure the bot token is correctly filled in the config.json. The token is available in the developer portal.
restart/start the bot on PM2.

Check game channel!


Various UX issues

A collection of issues discussed with @russeldj and @BryonLewis
Nothing ready for immediate work, but it's good to get this info.

[x] No user or folder search.  It might be nice to enable the search component.
[ ] Document shortcuts to editing mode, and lots of other missing docs in the annotator.
[x] Search by user
[ ] Tag jobs with creator ID to figure out who started stuff without going through the token collection
[ ] Image loading can be slow for large images.
[ ] Support for more robust data formats like kwCOCO

Also talked about:

Ability to compare datasets by loading them using 2 different classes overlaid
Ability to compare by loading side-by-side.  (Probably not going to happen soon)

@subdavis, we'll definitely need to give this issue a haircut and then probably spin off one issue per item.


Enable fallbackToDestructiveMigration

I am using floor version 0.18.0 and
floor_generator: ^0.18.0
build_runner: ^1.10.11
My flutter version is 1.22.5 • channel stable

I'm guessing this is a feature request? Let's merge this issue with #356 as they discuss the same topic.

I'm guessing this is a feature request? Let's merge this issue with #356 as they discuss the same topic.


Malta No Longer Beaconing or Witnessing

For some reason since the 14th of December, all hotspots in Malta (EU) have simply stopped sending out beacons and witnessing eachother.
Was hoping that it would be fix with the latest update but still none of the hotspots are working.

This is a known issue and will be fixed in the upcoming weeks. It requires preparing and issuing updated chain variables for region parameters on the blockchain, which takes time and will be communicated further on discord/helium blog.
Refer:
https://github.com/helium/lorawan-h3/pull/9
https://github.com/helium/blockchain-core/pull/1176
Specifically:
https://github.com/helium/blockchain-core/pull/1176/files#diff-93d9355a4e6458d771511e8617c49d08859bf0747564397bda10f6e60bbf88f5R343

Thank you Rahul for the update. As you understand many people including me have many miners yet to set up. It's a lot of investment and I just wanted to know your opinion if this January it will be fixed? Including Armenia. Thank you


Add CertifyKey CSR Verfication Test

Add a verification test for running CertifyKey in CSR mode.

Could you add something to https://github.com/TrustedComputingGroup/Server-Internal/blob/main/dpe-irot-profile/main.md#requirements-for-csrs to clarify what the IssuerAndSerialNumber field should be?

Could you add something to https://github.com/TrustedComputingGroup/Server-Internal/blob/main/dpe-irot-profile/main.md#requirements-for-csrs to clarify what the IssuerAndSerialNumber field should be?

Opened a PR at https://github.com/TrustedComputingGroup/Server-Internal/pull/142


Object.preventExtensions is not respected for arrays

Version
2.4.2
Reproduction link
https://jsfiddle.net/6sw8t87L/
Steps to reproduce

Create large array (in my case this array contains more Arrays)
Prevent extensions with Object.preventExtensions
Set the array on a Vue viewmodel

What is expected?
Vue's reactivity system should not do anything with this array, and setting this property should have the same runtime as setting a string on the viewmodel (i.e. O(1) )
What is actually happening?
The dependArray function is invoked recursively on the object, causing the setting of that property to take linear time.

I have a data processing layer that I am trying to connect to my Vue instance. For each of my properties, I only need them to be reactive at the top level (i.e. I only care when the Array itself changes, not when its contents change) because of guarantees that I have. For objects I have accomplished this with Object.preventExtensions, however this does not seem to work for Arrays.

You seem to misunderstand what Object.createExtensions does.

The Object.preventExtensions() method prevents new properties from ever being added to an object (i.e. prevents future extensions to the object).

(from MDN, emphasis mine)
Vue doesn't add any new properties - it adds getters and setters for existing properties, which is fine with Object.preventExtensions.
Demo in vanilla Javascript: https://jsfiddle.net/Linusborg/ze47p6ta/
You probably want to rather use Object.freeze() or Object.seal()

@LinusBorg perhaps this post should be titled differently, but please see the console timings in the reproducer I posted to see that there is clearly a bug in Vue, as it is recursively walking my array in an effort to make its elements reactive (which I do not want).
The following code should not take 17ms:
console.time('setting big array');
vm.arr = Object.preventExtensions(bigArray);
console.timeEnd('setting big array');

Vue does a similar thing with plain objects, however I can prevent this behavior with Object.preventExtension. I currently cannot prevent Vue from looping over all of the elements in an array though.
This is causing significant performance degradation in my project as I have a very large array that I need to be able to index into, but don't need to be reactive.

Here is a simpler reproducer that doesn't involve Object.preventExtensions that takes >150ms to simply set a property to a large array.
https://jsfiddle.net/smh4fnms/

You seem to misunderstand my explanation:

Object.preventExtensions does not prevent ew activity, by design.
object.freeze does, by design.

Solution to your problem: use Object.freeze

I have to revert myself here, and apologize for claiming to be sure how it worked in this instance when in reality I was wrong, as it turns out.
Because we were both wrong: Vue does respect Object.preventExtensions.
You can test this out with your original jsfiddle. just log the array to the console after it was added to Vue, once with, once without Oject.preventExtensions().
You will notice that the one without the Object.preventExtensions() has an __ob__ property, which means it's now reactive, while the one with it doesn't.

I also checked this by adding breakpoints in vue.js on line 937 - when Object.preventExtensions() is defined, this is only called once (or twice, for some reason) - if it's not defined, it's called once for reach array element as the items are passed to the observe function by the reactivity system.
So apologies again for claiming something factually wrong, but this issue stays closed because Vue is already behaving like you want it to.

Ah I see. I was surprised that there is a different way to prevent reactivity on an Object vs on an Array.
This improves the performance considerably, however (in Chrome) Object.freeze is still taking 20ms to freeze an array with 100k items. It seems to depend on the length of the array.
Would it be possible to introduce a different way of indicating to Vue not to iterate this array? I do not actually need this object to be frozen, I am only doing so to change the behavior of Vue.

Side note: The dependArray function is still getting invoked/the array iterated however I was mistaken in thinking this was the culprit of the performance issue

Would it be possible to introduce a different way of indicating to Vue not to iterate this array?

That has been discussed a couple of times previously already, and won't happen.
If you really want to skip all reactivity, just add the array directly to the instance instead of assigning it to a property derived from data.
created() {
  this.bigArray = bigArray
}

Okay, I'm going to take a step back because I think some of my initial debugging led me to think the problem was something that it wasn't.
This reproducer is very close to my actual scenario. I am building a virtual grid, where I have a large source array, and I compute some start index (normally this would be based on scroll position, in this case I've just added a button to simulate scrolling), and the template renders these rows.
In this jsfiddle, I have Object.preventExtensions()'d the array and never change it. The only thing I am changing is the start index, however doing so has an enormous amount of lag. When I profile this I see:

My issue at its core has nothing to do with reactivity, and is solely about performance. This does not seem like something that should perform this poorly.
I realize this issue has kind of gone off the rails from what I originally posted, so let me know if I should open a new issue.

I'm not sure a new issue is in order - the behaviour with dependArray is not really something to work around within the reactivity functionality.
As I said, if you need raw performance and no reactivity, add the array as a normal instance propety:
https://jsfiddle.net/Linusborg/1s3hzsd5/
Further discussions about improving your specific performance challenges should probably rather happen on forum.vuejs.org, unless you have a specific improvement to suggest - that would warrant a new issue as a feature request.

@LinusBorg with due respect, I find it really hard to believe that this is considered acceptable performance, especially considering the fact that I've marked the array as not extensible. The entire array (and sub-arrays) are being iterated every time the arr property is read off of the viewmodel.
In this reproducer, the template renders 10 rows, and each of these reads this.arr in the template expression {{ arr[start + i] }}. The problem is far worse if the number of rows is increased. The performance is basically O(n * m) where n = number of elements in the array, and m = number of times the array is referenced in your render function.
I believe this can be fixed by changing this line to:
if (Array.isArray(value) && Object.isExtensible(value)) {

I haven't been able to build/test due to #4338 however, so I'm not sure if this will break any tests, but I do believe this makes sense given the fact that Vue does respect isExtensible for non-array Objects.

Good idea, but honestly, I'm not sure about the consequences.
@yyx990803 You will have to chime in here ...

According to your description of needing properties to be reactive at the top level, I think the real issue here is whether the data object or the array should be observed shallowly instead of whether Object.preventExtensions is called upon... In my opinion Object.preventExtensions only works as a mean to prevent further properties of being added to the object, while the original properties are still required to be reactive since they're likely to be referenced in templates. For instance even Object.preventExtensions is called on a specific array whose items are referenced in the templates, the changes of items inside this array still need to be demonstrated on the view layer. In this case dependArray being invoked recursively makes a lot of sense to me while this line does not... so I think what really matters here is figuring out a way to defined properties of the instance's data object in a shallow style.

reading the keys of the object into an array with Object.keys() ...) might go unnoticed when skipping dependArray, right?

This behavior would be consistent with the behavior for Objects that have been preventExtensions'd -- indexing into the keys is not reactive, but if the values at the index is reactive everything will still work.

If we have to walk the array with dependArray, couldn't we maybe find a way that it's called only once per render cycle / Watcher instead of ntimes when the array is accessed n during render?

I was thinking about this as well - there is a performance hit for all applications right now, even ones that do want the reactivity because dependArray is called many times per tick. I suspect this could be reduced to once per tick in all cases, however in my case I am still advocating for avoiding calling it altogether when preventExtensions is used.
@jacelynfish To clarify what I mean by "reactive at the top level", I mean I only want the reactivity system to detect when the array reference itself has changed. My array is immutable, the only time any of its contents will change is when the array reference itself changes, so Vue being reactive on the arrays contents is a waste of performance for me.

@fenduru but an array won't be immutable only by calling Object.preventExtensions 🤔

@jacelynfish in my application I have guarantees that the array is immutable regardless of whether the object can technically be mutated.

@LinusBorg @yyx990803 any thoughts on this? I would like to file a pull request for this however I am unable to get a working dev environment per #4338

@jacelynfish @LinusBorg  , @fenduru 's idea of using Object.preventExtensions will disable the array's reactiveness (no ob is added), therefore , the changes that happen to the elements will not be watched, so, the array being immutable or not, is not the issue here, right?

@fenduru sorry for the late response.
Yes, the way to get rid of this cost is by preventing dependArray when the Array is not extensible. However, as @LinusBorg pointed out, this does lead to the potential scenario where a frozen array containing objects that were already made reactive elsewhere - this would cause changes in those nested objects to be ignored. Although such cases should be extremely rare, I am not entirely sure if it's safe to sacrifice the correctness for the use case you mentioned.
Ultimately, dependArray is a somewhat brute-force workaround to deal with ES5's incapability of detecting Array indice access and Object property addition. (In the case of a[1].foo, if foo did not exist and was later added with Vue.set, dependArray is the only way to guarantee detection). Sadly in some cases it can be costly price to pay to ensure correctness.
Luckily, with the planned rewrite of the reactivity system using ES6 Proxy, we no longer need this work around and should see great perf boost in the scenarios you've been running into.

@yyx990803 I can't replicate the behavior you are expecting in that case:
https://jsfiddle.net/3x1y6yg9/
I understand that dependArray is a brute-force workaround, however that seems like all the more reason to give people a way to opt out. This behavior is impacting every Vue component that references an array, and I imagine I am not the only person that has a relatively large array to index into.
I have opened #6467 and think it should be considered unless the scenario above can be shown to differ between objects and arrays (even then it seems kind of unreasonable for someone to explicitly opt out of change detection on an array and then be surprised when change detection doesn't happen within that array).

@fenduru this is because you have one extra level of nesting. See this case: https://jsfiddle.net/yyx990803/y8o98yjv/1/

@yyx990803 I see, however this is actually an inconsistency between Objects and Arrays which is exactly my point.  If you change that array to be an object that is frozen, the Vue.set is not recognized. I'm arguing that this makes sense, as you've indicated the object shouldn't be reactive.
https://jsfiddle.net/fzrj19zk/

@fenduru that's true. I guess for now it's actually better to keep them consistent.


API Implement ChangeSets for batch publishing

Includes fixes to SapphireTest, and update DataObject::can to include $context param.
CMS pr at https://github.com/silverstripe/silverstripe-cms/pull/1435

Although I don't think this should be an optional add-on module, as it will be cleaner to make the versioning system depend on it and thereby only have 1 code path for managing versioned files, would it be better placed in the CMS module?

Do you mean moving versioning altogether into CMS module?
I personally would rather see Versioned, ChangeSets, and the new admin altogether being put into a self-contained module, but for the time being we have kept everything together in framework. Splitting it across modules would make development and testing harder.

I personally would rather see Versioned, ChangeSets, and the new admin altogether being put into a self-contained module, but for the time being we have kept everything together in framework. Splitting it across modules would make development and testing harder.

OK, I can buy that logic. Under that scheme, a module like silverstripe/model-versioning would be a dependency of silverstripe/cms, silverstripe/assets, and anything else that used versioned data.
My only question would be: is it worth shifting it into a new module before adding this feature

OK, I can buy that logic. Under that scheme, a module like silverstripe/model-versioning would be a dependency of silverstripe/cms, silverstripe/assets, and anything else that used versioned data.

Yep that would be the plan. :D

My only question would be: is it worth shifting it into a new module before adding this feature

I want to! Should we do this for alpha 2 though, so as to not distract from the work at hand? :P

I've broken this PR into separate commits for each change @sminnee

I agree that whether the publish happens by calling doPublish directly on an DataObject or on a ChangeSet, onBeforePublish and onAfterPublish should be called.
After discussing with Damian, the core of the issue seems to be that publish doesn't publish, it copies from one stage to another, and it used for both publishing and reverting.
I'd suggest renaming publish to copyBetweenStages or some such. The next bit depends a bit, but either:

Introduce a new publish method that does do the publish (by calling copyBetweenStages) and triggers onBeforePublish and onAfterPublish but never recurses, and keeping doPublish as exclusively recursive (nicer for any future refactoring to remove simple publishing and replace with automatic change-set creation).
Just have doPublish, but introduce an argument to it that says whether to recurse or not.

I prefer the former, but it does make the simple publish call-chain a bit long (doPublish -> publish -> copyBetweenStages)

I'm fine with the former option, but publish for the the middle method isn't a helpful name. nonRecursivePublish is kind of verbose and ugly, but it at least says more about how it differs from doPublish. publishItem and atomicPublish are other ideas.

Spoke with hamish, and I suggest:

doPublish - Deprecate and invoke recursivePublish(). Prefixing "do" to an action doesn't really elaborate on anything.
rename existing publish() implementation to copyToStage() (since first argument can be a version number, probably better than copyBetweenStage)
publish() (new method with the old name) now does which does non-recursive publish. We can capture additional arguments and throw deprecation notice on code that used to call the old publish() method. This method will invoke onBeforePublish and onAfterPublish.
create new method recursivePublish(), which invokes publish()

Cool.

Hamish says maybe 'publishSingle' instead of 'publish' so we avoid the clash with the old name.
publish can be deprecated and invoke copyVersionToStage()

Yeah I'd agree with that.

Done!


fix: display "Continue with (User)" button of another organization

Display "Continue with (User)" button only if the currently logged-in user is a member of the client's corresponding organization.
Signed-off-by: Lex Lim<EMAIL_ADDRESS>

lgtm


[Bug]: NoMethodError in Tasks::Dwc::DashboardController#generate_download

Steps to reproduce the bug
Go to the DwC Dashboard task and click on any of the green download buttons, for example All.

I'll put results in a followup comment.

Screenshot
No response
Expected behavior
No response
Additional Screenshots
No response
Environment
Sandbox, Development (docker)
Sandbox Used
No response
Version
1e584aec1c47308fa240906c44923e9f61e133db
Browser Used
No response

On sandbox I get a popup note reading:  status: 500 error: Internal Server Error
In development the popup has more information, which here I've copied from the 500 error in the Network dev tools tab instead:
NoMethodError in Tasks::Dwc::DashboardController#generate_download
undefined method `map' for nil:NilClass
Extracted source (around line #73):

  def taxonworks_extension_params
    params.permit(taxonworks_extension_methods: []).dig(:taxonworks_extension_methods).map(&:to_sym)
  end

end

Rails.root: /app
Application Trace | Framework Trace | Full Trace
app/controllers/tasks/dwc/dashboard_controller.rb:73:in `taxonworks_extension_params'
app/controllers/tasks/dwc/dashboard_controller.rb:35:in `generate_download'
Request

Parameters:

{"dwc_occurrence_end_date"=>"2024-01-10",
 "dwc_occurrence_start_date"=>"2024-01-09",
 "per"=>7,
 "dwc_indexed"=>true,
 "format"=>"json",
 "dashboard"=>{"dwc_occurrence_end_date"=>"2024-01-10", "dwc_occurrence_start_date"=>"2024-01-09", "per"=>7, "dwc_indexed"=>true}}


fix: fixed native polyfill detection

Changed to the Function.prototype in nativeProperty, since webcomponents shadowDOM polyfill polyfillng everything and old approach didn't work as expected.
shouldUseShadowDomV0 and shouldUseShadowDomV1  became simpler.

lgtm


Update submodule sitl_gazebo to latest Sun Aug 18 08:38:19 EDT 2019

- sitl_gazebo in PX4/Firmware (f3aba02654a40759c6c032f53f19ea64298fc56e): https://github.com/PX4/sitl_gazebo/commit/22df9475ca0d157e2db066a20f64c35906bf7f25
- sitl_gazebo current upstream: https://github.com/PX4/sitl_gazebo/commit/ebe1e07f3377a7f9370c049ad73ab7812c71dfa0
- Changes: https://github.com/PX4/sitl_gazebo/compare/22df9475ca0d157e2db066a20f64c35906bf7f25...ebe1e07f3377a7f9370c049ad73ab7812c71dfa0

ebe1e07 2019-01-31 Tully Foote - Add gstreamer plugin to the fpv camera
157c52d 2019-02-04 Tully Foote - enable gst stream from geotagged_camera
d75b7cd 2019-01-25 Tully Foote - turn on video streaming by default
cc8d125 2019-08-17 TSC21 - make it compilable in Gazebo version < 9
dae0fde 2019-08-17 TSC21 - add support for both sonar and lidar rotation determination by transform checks
9915be5 2019-08-15 TSC21 - gazebo_mavlink_interface: rename setSensorOrientation to setMavlinkSensorOrientation
99eb6ee 2019-08-15 TSC21 - move the sensor orientation computation to common.h
fd7b3b1 2019-08-15 TSC21 - gazebo_mavlink_interface: setSensorOrientation: fix args
943ae18 2019-08-13 TSC21 - lidar: adjust sensor orientation computation pipeline
06eb458 2019-04-02 Elia Tarasov - add calculation of distance sensor direction
b45a202 2019-03-28 Elia Tarasov - rename parameter from facing to rotation
4c38627 2019-03-26 Elia Tarasov - add facing parameter to lidar and sonar plugins

http://ci.px4.io:8080/blue/organizations/jenkins/PX4_misc%2FFirmware-SITL_tests/detail/PR-12735/1/pipeline seems to be pointing to the same issue as we find in Travis: https://travis-ci.org/PX4/sitl_gazebo/jobs/573420039.
I rebased https://github.com/PX4/sitl_gazebo/pull/341 so to check if it fixes the issue, but it seems that it bumps into a similar problem: https://travis-ci.org/PX4/sitl_gazebo/jobs/573417134.
So my question is: do we have gstreamer up to date (or even installed) on our containers? Or is this a pkg find problem?

OK I think I know the problem: we do install gstreamer in https://github.com/PX4/containers/blob/master/docker/px4-dev/Dockerfile_simulation. But that's an 18.04 based container. On our ROS SITL tests, we are using https://github.com/PX4/containers/blob/master/docker/px4-dev/Dockerfile_ros-kinetic, which bases from the xenial base container, which doesn't install gstreamer.
So my suggestion is to install gstreamer on the base Xenial and Bionic containers.
@dagar what do you think?

What's the plan here?

What's the plan here?

Containers need to be updated. But we need to change the way they reference each other. We need gstreamer in both Xenial and Bionic.

Changes on the containers side done: https://github.com/PX4/containers/pull/202. Now we just need to wait for them to build on Docker Hub.

Closed in favour of https://github.com/PX4/Firmware/pull/13099.


Update 2020-12-28-223112_create_auth_tables.php

The $ifNotExists parameter should be set to true to enable overriding.

If the $ifNotExists is false (default), using a custom users table migration will throw an error - Table 'users' already exists; likewise to every other.

@solomon-ochepa thank you for PR.

The $ifNotExists parameter should be set to true to enable overriding.

This is intentional. I am opposed to the overriding, and I believe it does more potential harm than good.

If the $ifNotExists is false (default), using a custom users table migration will throw an error - Table 'users' already exists; likewise to every other.

In custom users table migration you don't have to create a new table, in fact you can add desired fields to users table.
$fields = [
  'first_name' => [
  'type'       => 'text',
  'constraint' => '50',
  'null'       => TRUE
  ],
  'last_name' => [
  'type'       => 'VARCHAR',
  'constraint' => '50',
  'null'       => TRUE
  ],
];

$this->forge->addColumn('users', $fields);

more info see here.

If the $ifNotExists is false (default), using a custom users table migration will throw an error - Table 'users' already exists; likewise to every other.

It should throw an error, if Table 'users' already exists.
Shield does not work without the table. So the migration should create the table.
The existing table might not have necessary columns.


[Enhancement] Setting to Disable Tabs

Add settings to disable shown tabs to allow hiding them on systems that don’t support D20

Close from merge


Convert input sources (e.g., .tsv and .tab) to JSON files during build time

This is due to live-plugin-manager only supporting files with a limited set of extensions (js, cjs and json):
https://github.com/davideicardi/live-plugin-manager/blob/5a9bacb2838576b9d81eb7ee5e749defe5923b66/src/PluginVm.ts#L60

Fixed in aed0677df0966bc928ff48cf6d84bd8fade27fb9 and 8410f3b030a4f0d0d64940c88a722a9c6750ff56.


Introduce CI

CI with following:

PR checks for linting, builds, tests
Main merge: building and releasing trigger as release artefacts in GH along with respective manifests.
Possibly multi arch builds/releases

CI currently fails... not a blocker atm, I'll have a look as well.
CC: @karthik2804.

A fix for that is in progress. The pluginify binary is built on Ubuntu 22.04 which has been known to cause issue running on older Ubuntu/Debian. There is a open PR there to address it. Should have a new release early next week.

A new release of pluginify is out and CI should work now if re-triggered. If it still fails, I will investigate.

Will review and merge today. Thanks @karthik2804

Currently no MacOS/aarch64 plugin is available in the repo. Is the plan with this issue to include that?

@mikkelhegn - The binaries should start to publish once the CI runs both in canary and versioned builds.


Add usage notes to README

After digging into this, I think the errors we were seeing were just temporary dependency issues.
Running middleman init PROJECT_NAME --template=thoughtbot/middleman-template works for me, now.
I've opened https://github.com/thoughtbot/middleman-template/pull/34 which swaps the Netlify button for the Middleman CLI.
In the future, I'd like to investigate using Netlify's CLI to spin up a new site instance after generating the template.


Plugin stops working

Hi.
Thank you for creating such plugin.
I tried to use it, but it seems that it somewhat works, I can see data in S3 bucket, but then memory usage starts increasing until eventually it gets killed.
Also there is interesting error in log:
2021-11-12T15:55:43.227Z [DEBUG] stdio: received EOF, stopping recv loop: err="rpc error: code = Unimplemented desc = unknown service plugin.GRPCStdio"

Then later:
2021-11-12T15:57:23.286Z [DEBUG] plugin process exited: path=/plugin/jaeger-s3 pid=17 error="signal: killed"

I tried  version 1.1.4 with jaeger 1.28.0

Longer log can be seen here:
s3-plugin.log.gz

Hi @tarvip! Thank you for your feedback. Are you using this with jaeger all-in-one strategy or production strategy?
Also can you add a tls_handshake_timeout configuration (0 means don't timeout)

Hi @tarvip! My guess is that you're running all-in-one strategy.
My initial finding is that by switch to production strategy helps reduce memory usage and in turn prevent the jaeger-s3 process from being killed.

Actually I was running as production strategy, I have separate collector and query pod. Initially I tried with 1 collector node, as it is fine when using Elasticsearch as storage, but I also tried with 4 collector pods, pods had no cpu limits (no throttling or whatsoever).

@tarvip Thanks for the information. So you were running Elasticsearch along with jaeger-s3 side by side?

So you were running Elasticsearch along with jaeger-s3 side by side?

No, I disabled Elasticsearch in collector when testing jaeger-s3 plugin.
I also tried 1.1.3 a bit earlier, same issue, then I saw that 1.1.4 was also available.

So you were running Elasticsearch along with jaeger-s3 side by side?

No, I disabled Elasticsearch in collector when testing jaeger-s3 plugin. I also tried 1.1.3 a bit earlier, same issue, then I saw that 1.1.4 was also available.

I see. I am hoping to pinpoint the exact issue, is the high memory usage coming from jeager-query or collector? (you didn't mention it earlier) and were you querying from Jaeger-UI (or some UI like Grafana) at the same time?
The fixes i did was for object storage reads (queries). If you're talking about collector pod it means i missed something on the object storage writes (to s3).
I have not encountered the collector problem (my problem was jaeger-query was crashing because of cortex) but i will try talk to my team to stress test it on a busy cluster to collect and write tracing data to s3.

I haven't enabled jaeger-s3 in query, I wanted to get trace writing to s3 working in collector first.  Memory usage starts increasing pretty fast so it will crash quite soon (less than 1m) after startup. My suspicion is that it is unable to write traces to S3 fast enough and because of that memory usage starts growing.

@tarvip Yes, i had refactored the writer code a bit so there will only be one type of data for LogQL labels so it cuts down writer requests to s3.
I've also made the code to follow loki data structure so you can do complex queries in loki with the jaeger data written by jaeger-s3.
Hope you will try it out and see if it fixes your collector issue. I didn't have a really busy kubernetes cluster to try it out because we're only tracing istio.

@muhammadn thank you for your hard work. I haven't tried new version because I switched over to Grafana Tempo, Tempo has also search support now, also, I think it is more future proof.

@tarvip

@muhammadn sorry I have no time and resources to test it, we are already using Grafana Tempo and so far it works well.

@tarvip No problem. I'm close to ship a fix, we're not using tempo though but we're using kiali which uses jaeger.


Does gcs-connector-for-apache-kafka connector support batch processing?

Hi. Thanks for your connector. Is there any way that it is or will be supporting batch processing of avro messages?

Hi @gaspromobooking
Could you please elaborate? This connector--as the Kafka Connect framework itself--is batch-oriented.

AvroConverter most certainly won't be able to handle records batched in this way.
The model of "one logical entity = one physical message" is very natural to Kafka, though, and batching is implemented on this level. You know your case better, but is anything stopping you from following this approach?

I'm not sure yet, as this is proof of concept, and production behaviour could differ. So i'm trying to study different approaches. Nevertheless, thank you for your replies.


Sliceview refactor & PointChunk

This pull request includes a refactoring of SliceView to separate image/segmentation related code from general code required for loading chunks in cross-sectional views. As an application, code for downloading, processing, and rendering vertex data in 2D cross-sections is also included.

I've cleaned up a lot of the code and refactored the sources processing in both the frontend and backend renderlayer code. I agree that "vectorgraphics" is a more descriptive name for this new functionality. Do you think it should also live under sliceview, with volume? (E.g. sliceview/vectorgraphics)
I need to clean up the Render point match datasource and add those changes, too. That should make the point service useful for Render point matches and provide a nice template for others to follow for reading their own point matches. It is also probably not too hard to add this functionality to the precomputed datasource.

Thanks --- yes I think it does make sense to put it in e.g. sliceview/vector_graphics  (sliceview doesn't use an underscore, but for new files I'm trying to do that).

Hi Alex,
It looks like this is extremely close to being ready!

Thanks! I probably need to stop making changes... here are hopefully the last few:
I added a trackable color input to the layer dropdown to allow the user to set RGB color values for the vector graphics layer. This is actually an important feature for us, since we often false color light microscopy data and don't want the vector graphics layers to blend in. There's a generic TrackableVec3 class and a generic widget, as well as a specific widget for RGB color values. I decided to display colors in the integer range [0,255] using the widget but convert to floating point values in the range [0,1] in the TrackableVec3 object because of the floating point rounding errors when converting certain strings -- while we are probably losing a little bit of precision, I think the user experience is a bit cleaner.
I also changed the vector graphics layer type from vectorgraphics to an enum. There's some code to convert the enum member to a string, so the type is still human readable (e.g. VECTOR_GRAPHICS_LAYER_TYPE.LINE becomes line in the JSON description for the layer. I'm hoping to add a point render layer fairly soon, and it seems like vector_graphics_user_layer could encapsulate all the types of vector graphics layers, similarly to how segmentation_user_layer encapsulates meshes, skeletons, volumetric segmentation, etc. I suppose we could have a separate user layer for each vector graphics type, but some of them are going to be quite similar (e.g. lines and vectors). It also should not be too difficult to modify the dropdown widget to hide certain fields based on type -- e.g. line and vector get lineWidth while point gets radius. What do you think?

It occurs to me that I might need to adjust the sliceview/vector_graphics code to properly set the layer type when loading data (e.g. with the MultiScaleVectorGraphicsChunkSource). I'll try and look at that shortly.


Job.batch invalid value - must be no more than 63 characters

Have you

[x] Read Troubleshooting Guide
[x] Searched on GitHub issues and Discussions

What steps did you take and what happened:
During the helm upgrade the update failed due to this error:
Upgrade "csi-secrets-store-provider-azure" failed: pre-upgrade hooks failed: warning: Hook pre-upgrade csi-secrets-store-provider-azure/charts/secrets-store-csi-driver/templates/crds-upgrade-hook.yaml failed: Job.batch "csi-secrets-store-provider-azure-secrets-store-csi-driver-upgrade-crds" is invalid: spec.template.labels: Invalid value: "csi-secrets-store-provider-azure-secrets-store-csi-driver-upgrade-crds": must be no more than 63 characters

What did you expect to happen:
The Job.batch name string truncation if it exceeds 63 characters.
Anything else you would like to add:
Not relevant
Which access mode did you use to access the Azure Key Vault instance:
Not relevant
Environment:
Secrets Store CSI Driver version: 0.1.0
The chart is installed with the name csi-secrets-store-provider-azure
Other informations are not relevant.

@aramase could you please take a look, I think it's pretty critical stuff.

@pierluigilenoci Thanks for reporting this. We append certain string to release name. In this case -secrets-store-csi-driver-upgrade-crds
Could you try with shorter release name instead of csi-secrets-store-provider-azure?

@nilekhc I wish I could have the freedom to choose the release name based on the specifications of helm.
I will wait for the fix from @aramase.

Closing this issue with https://github.com/Azure/secrets-store-csi-driver-provider-azure/pull/608 which sets fullnameOverride for the driver charts to secrets-store-csi-driver. Please feel free to open a new issue if you have any questions.


Added function for "registering" a player progression

Added function for "registering" a player progression

Would you mind doing the same thing in the Unreal SDK for parity's sake?

Yup!
On Mon, Mar 20, 2023 at 9:37 AM Erik Bylund @.***>
wrote:

Would you mind doing the same thing in the Unreal SDK for parity's sake?
—
Reply to this email directly, view it on GitHub
https://github.com/LootLocker/unity-sdk/pull/109#issuecomment-1475818755,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AXHNH22OQCZT5KDCK5YSVA3W5AJMNANCNFSM6AAAAAAV5CGL4Y
.
You are receiving this because you authored the thread.Message ID:
@.***>


Improve the lowering of Qnn Dense

As discussed in this thread, it is more performant to break the down the dense compuation into 4 terms. In this PR we make the change to include the same optimization for Qnn Dense that we have for convolution.

@jackwish @zhiics Can you please take a look?

@jackwish Could you please take a look at the PR? I wasn't involved in the discussion about the change so I do not have much context. Thanks.

Thank you for ping me @zhiics , LGTM generically.

@jackwish @zhiics I have addressed the comments.

@zhiics Can you please merge this when you get time?

Thanks @shoubhik @anijain2305 @jackwish This is now merged.


Merge master-qa

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


ADO Extensions SCSS not working

The *.scss files in the ADO extensions projects are not working. It could be an issue with node-sass. This issue is reported to https://github.com/microsoft/azure-devops-extension-sample/issues/129 as our current code base is based from these samples.

Resolved by using the sample in https://github.com/microsoft/azure-devops-extension-hot-reload-and-debug.


Extend overrides with callbacks to support more complex breaking change detection

Reason/Context
Please try answering few of those questions

Why we need this improvement?
How will this change help?
What is the motivation?

The current overrides functionality provides a simple way to classify the addition, removal or edit of a JsonPath as non-breaking, breaking or unclassified. I'd like to be able to extend diff to classify changes to message payloads and classify these as non-breaking, breaking or unclassified.
As AsyncAPI supports arbitrary payload formats, classifying changes can be arbitrarily complex. For example, to classify a change to JsonSchema, one would need to detect the addition or removal of schema properties and also whether those properties are required. This is technically achievable using extension to JsonPath, such as complex filters, this becomes quickly cumbersome and error prone.
This would also have applications outside of the message payload.
Description
Please try answering few of those questions

What changes have to be introduced?
Will this be a breaking change?
How could it be implemented/designed?

Strawman design:

Extend overrides so that add, remove and edit could also take a callback value as well as the existing strings:

overrides: {
  "/servers/*/protocol": {
    add: addProtocolCallback,
    remove: "breaking",
    edit: editProtocolCallback,
  },
}

Optionally extend overrides so that a single callback can be used to evaluate any change to a jsonPath:

overrides: {
  "/servers/*/protocol": protocolCallback,
},

The call back should take the following arguments:

firstDocumentFragment - the subtree of the first document from the jsonPath
secondDocumentFragment - the subtree of the second document from the jsonPath
context

firstDocument - first document root
secondDocument - second document root
path - the JsonPointer to the current instance of the override rule
operation - one of "add", "remove" and "edit"

The call back should return one of: "non-breaking", "breaking" and "unclassified"

This would be a non breaking change.
Inspiration could be taken from spectral's custom functions

cough
No comments?
Would anyone have any objection to me prototyping this and creating a PR?

I dont think no one is @dlkj, it's open source for a reason, so go ahead and champion what you wish to see!
If you want feedback I would suggest pinging the code owner https://github.com/asyncapi/diff/blob/master/CODEOWNERS, or try out in slack as well 👍

Thanks. I just like to get a feel of the community's feelings about things before making a substantial PR and risk having it rejected because it doesn't align well with the core team's vision for the project.

Understandable, also why I am suggesting you ping the code owners, don't wait months, a week or two is enough before you follow up, and just continue to do so.
There can be many reasons why they haven't gotten back to you, so it's all about being active about it 🙂

I would also be interested in this feature. The current detection of breaking/non-breaking changes is insufficient for most common scenarios - e.g. changing the payload of messages in terms of adding/removing required/optional properties, which have a more nuanced semantics. I'll see if I find time to draft a PR.


Possible settings for devcontainer.json

Just diffing our devcontainer.json with another similar one:
I think we probably do want these settings:
"python.defaultInterpreterPath": "/usr/local/bin/python",
"python.linting.enabled": true,
"python.testing.pytestEnabled": true,
"python.testing.unittestEnabled": false,
I'm not sure if we want these, or if they are user-specific (not all users like formatting on save):
"[python]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"editor.defaultFormatter": "ms-python.black-formatter"
},
"python.formatting.provider": "black",
Excluding files is useful, though what we exclude may differ slightly:
"files.exclude": {
"**/*.coverage": true,
".ruff_cache": true,
".pytest_cache": true
},
This is for a third-party extension for listing tasks, which is only useful if we add tasks:
"taskExplorer.enabledTasks": {"python": false},

Diff: https://www.diffchecker.com/hATTyiEN/

TLDR: I think adding the first stuff is definitely a good idea and the others maybe after we talk with the VS Code Python team on their best practices.

I think we probably do want these settings:
"python.defaultInterpreterPath": "/usr/local/bin/python",
"python.linting.enabled": true,
"python.testing.pytestEnabled": true,
"python.testing.unittestEnabled": false,

I agree these should be added.

I'm not sure if we want these, or if they are user-specific (not all users like formatting on save):...

I think we have to think about what we want to accomplish. If our goal from these repos is a "This is the Microsoft suggested way of doing this, I think we should talk with Lucianna and other VS Code specific folks and include what they believe is the best experience.

Excluding files is useful, though what we exclude may differ slightly:

I think excluding files makes a lot of sense but wouldn't we just not include them in the repo? More of a is this a devcontainer.json problem or a .gitignore one.

This is for a third-party extension for listing tasks, which is only useful if we add tasks:

While I love TaskExplorer I don't think it's considered the standard way to manage tasks. So I don't think it would be good to add in this case. If I remember correctly, don't profiles get added to the devcontainer as well which would mean that users have their preferred extensions included. I think that's the place for that specific setting.

Re excluding files: that setting hides those folders in the VS Code file explorer, which is distinct from .gitignore which makes sure they're not checked in. And those files will get created by the tools we're using, so we can't avoid their creation.
The default Python Profile includes it, at my suggestion, but that requires importing:
https://github.com/microsoft/vscode-python/issues/21374#issuecomment-1712329799
I agree on no for task explorer.
I'm so torn on these ones:
"[python]": {
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"editor.defaultFormatter": "ms-python.black-formatter"
},
"python.formatting.provider": "black",
I ended up putting them in my profile for my talk, but I've had project contributors ask why I don't have them in project dev containers, so yeah.. really a DX design question.

Yeah I think it's okay to add and we can remove if there are complaints or it's later determined that isn't best practice.


setup.sh script fails to install chromedriver

I've tried this on a couple of different distros and I'm having the same problem on both of them. The setup.sh driver says that chromedriver had unmet dependencies. It says the dependency is Chromium. I've manually installed Chromium but running setup.sh again still results in the unmet dependency of Chromium for Chromebrowser. I've even tried installing Chome with the same result. I've also tried sudo apt update --fix-missing since it says I have broken packages, but that hasn't fixed anything  either.
I'm running Linux Mint Debian Edition 4.
How do I make this work?
 chromium-driver : Depends: chromium (= 90.0.4430.212-1~deb10u1) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package chromedriver is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'chromedriver' has no installation candidate

Nobody has an answer for this? Not even the devs? I can't seem to get this script to work right no matter what I try.


Add 'textarea' core editor

Tests will be provided at a later point.

Do we go for core-field-editors/src/[name] or core-field-editors/[name]/src/?
I'm asking as one main interest would be to fork a specific component and not necessarily the entire repo.
This might require a discussion around versioning each component or the entire set of components at once.
I'd ideally go for individual components since they evolve at different paces.

Do we go for core-field-editors/src/[name] or core-field-editors/[name]/src/?

I’d stick with the current layout. In particular because I expect the components to share some functionality. It also makes managing the (yet unpublished) NPM package easier. We can revisit this later.

LGTM

LGTM


Skip failing tests & update surefire test pattern to run all tests

Signed-off-by: Nigel Jones<EMAIL_ADDRESS>
Updates surefire test pattern to run all unit test classes (Adds 800+ tests)
Adds one of the following annotations to the small number of failing tests (<20)

@Disabled (JUnit5)
@Test(enabled=false) (testNG)
@Ignore (JUnit4)

See #3363 for other notes. Module owners will need to fix their failing tests and remove these comments.
Originally detected in: #3370

I propose to merge this shortly to ensure we no longer skip tests


fix: new_createPages getPathConfig behavior for staticPaths

This changes new_createPates getPathMapping to return /path/[slug] instead of each staticPath as its own entry.
Sidenote: this also helps with memory usage, but doing the Promise.all with slices of 2500 is still good

@dai-shi the 21_create-pages example registers a lot of pages at /nested/*
code here: https://github.com/dai-shi/waku/blob/main/examples/21_create-pages/src/entries.tsx#L50-L83
my new code errors on the e2e test for 21_create-pages because it registers the two uses of /nested/[id] as duplicate. If I'm honest, there seems to be even more duplicates here.

do we need to support /nested/[id] for both dynamic and static?
should we make a note to consider more of these paths duplicate? It seems potentially confusing that a route can be both a literal path or also a slug or wildcard match. We could communicate some sort of priority, but this seems like a lot of supported overlap to me right now.

Sidenote: this also helps with memory usage, but doing the Promise.all with slices of 2500 is still good

I fully agree with it.

I'm not sure abou the status of this PR. Converting to draft for now.


Authentication Flow

Has brought up by @edjiang on https://twitter.com/EdwardStarcraft/status/712727368788353024 which authentication flow should we use for this library?
Would love some feedback

Hey Raul,
Thanks for opening up this issue! I've started working on (and thinking a lot more about) auth in the last two months, and I'm trying to really understand how AuthenticationViewController, and a few other iOS OAuth libraries work.
OAuth 2 specifies several different types of grant_types, which are meant to be used in different scenarios:

Authorization Code - where you redirect a user to a login page, it redirects back with an authorization code, and you submit it to the OAuth server along with your client id and secret for an access token.
Implicit - where you redirect a user to a login page, and it redirects back to your app with an access token.
Password - where you POST the user's password to the OAuth server and get an access token.
Client Credentials - used for server-to-server communication.

We're never going to use the password grant type, as providers won't trust us with their user's passwords as that's a huge phishing risk. Also, we'll never be using client credentials in our apps.
That leaves the Authorization Code and Implicit grant types.
The Authorization Code grant type is intended to be a server-side flow, as you need a client secret to use it. For instance, from the Instagram API docs:

Since an app can be decompiled, or HTTP requests can be intercepted, an end user can find out the client secret, which is bad since it enables anyone to perform operations that are meant to only be used from a server. For instance, in the Instagram case, a malicious user could view and modify the app's subscriptions to user data.
The implicit grant type gets rid of the token exchange and need for the client secret, but unfortunately is supported by fewer OAuth providers.
I'm not sure it's a good idea to be encouraging people to put client secrets (or implement the authorization code flow in-app) in a production application, but I'm open to understanding how security is handled here. Otherwise, I definitely see the convenience to using the auth code flow for testing (for providers that don't support implicit), but warning people not to use it in production.
TLDR: Auth code flow (implemented by AuthViewController) requires the client secret, which shouldn't be embedded in the app.

Would using Implicit give the app full access to the user account? user based limit and not client based limit? If so, then I will definitely open a ticket to fix that

Implicit should give the app reasonable access to the account. Some actions are still only going to be server-side.
The main problem is that some OAuth providers only support the authorization code flow, so won't be supported if you switch this to the implicit flow. But I would only recommend the authorization code flow for testing / development purposes, and never for production anyways.

Ok, after reading all of this, there is nothing really forcing AuthenticationViewController to use the 3 steps or the 2 steps. If you want to do only the Client Flow with Instagram all you need to do is skip the call to authenticateWithCode: and since you have control over which endpoints you call with the Provider protocol, you are completely free to do it however works best for your app.
But like you mentioned, very few providers support this 2 step flow instead of the full 3.


Update README.md

Fixed type in Carthage

 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.


Skyline/work/20240111 translation review cp

Cherry-pick reviewer changes to 23.1 Chinese and Japanese translations

/rebase


Update Playwright version

Pull Request
🤨 Rationale
Fixes #1544
👩💻 Implementation

Bumped dependency versions of Playwright to 1.40.x in nimble-components, nimble-blazor, and Angular workspace. The version is pinned to 1.40.0 in nimble-blazor.
Added npx playwright install --with-deps to pipeline to ensure browsers get installed.
Added npx playwright install --with-deps to Blazor's postinstall npm script to ensure browsers get installed.
Fixed two table page object functions that were incorrect.
Added workaround (rounding cell width) for tests failing due to pulling in new version of Chrome browser (from 115.0.5790.75 to 120.0.6099.28). Six table interactive column resize tests began failing with errors like Expected 100.984375 to be 101. and Expected 74.984375 to be 75. I confirmed that this numerical imprecision is related to using fractional width units (e.g. 1fr).

We still cannot have Renovate update the Playwright dependency because of the inconsistency of versions between the npm package and the nuget. E.g. currently the latest npm package is 1.40.1, but the latest nuget is only 1.40.0, so our build will fail as it tries to find a nuget with the same version as the npm package.
🧪 Testing
Pipeline build succeeds
✅ Checklist

[x] I have updated the project documentation to reflect my changes or determined no changes are needed.

@msmithNI could you please buddy this change?

What's the behavior for devs locally once this goes in? Will the first npm run tdd command they run in nimble-components fail, until they do the npx playwright install? Assuming that message gets printed to the console that's probably fine, otherwise we may need to update the Contributing doc(s) to document that step.

Ah dang, we all missed it but testing/ is public apis so this should have been a patch change, not a none change. @jattasNI @msmithNI @m-akinc Hopefully the change in behavior doesn't impact someone else' next release.


Issue connecting Storage Explorer to blob on IoT Edge

I'm trying to connect to my blob storage running on IoT Edge and not succeeding in connecting.
I followed the steps documented here: https://docs.microsoft.com/en-ca/azure/iot-edge/how-to-store-data-blob?view=iotedge-2018-06#connect-to-your-local-storage-with-azure-storage-explorer
and using the following as the connection string:
Provide connection string: DefaultEndpointsProtocol=http;BlobEndpoint=http://:11002/;AccountName=;AccountKey=;
DefaultEndpointsProtocol=http;BlobEndpoint=http://IPAddress:11002/localedgeblob;AccountName=localedgeblob;AccountKey=<account-key>==;
I get the following error:
"Unable to retrieve child resources."
"name": "RestError",
"message": "The value for one of the HTTP headers is not in the correct format.\nRequestId:afcfd58f-3bb5-49b0-9ef4-bec510c8af89\nTime:2020-11-25T20:01:20.6074017Z",
(full error details below)
Notes:

I used IP address for the Ubuntu VM which I have running in Azure and have opened up the appropriate ports to access the VM resources
I was able to ping the VM without issues.
using Storage Explorer v1.16.0
IoT Edge <IP_ADDRESS>

Any idea what's wrong?
Error Details

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

ID: d574f299-1f45-ad1b-755f-ced23163a60a
Version Independent ID: 54532d7c-60b0-8522-9455-4ec094af9cb4
Content: Deploy blob storage on module to your device - Azure IoT Edge
Content Source: articles/iot-edge/how-to-deploy-blob.md
Service: iot-edge
GitHub Login: @kgremban
Microsoft Alias: kgremban

@ms-vincent -
Thanks for brining this to our attention. We will investigate it further and update you shortly.

@MonikaReddy-MSFT I found the source of the problem.
Updated versions of Azure Storage Explorer doesn't work with the current version of Azure blob at the edge. The blob API version supported by IoT Edge module is 2017-04-17 so I had to go back to Storage explorer v1.9 which I found here: https://github.com/microsoft/AzureStorageExplorer/releases/tag/V1.9.0
it might be good to update documentation to outline this. thanks!

Thank you @ms-vincent for the feedback and for sharing the resolution. We have noted the issue and reported the same to the team.
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.
Please also do visit Microsoft Q&A the home for technical questions and answers at Microsoft.
Cc: @arduppal fyi.

FYI v1.9.0 of the Storage Explorer doesn't run on Ubuntu 20.04 LTS since libgnome-keyring is no longer supported.

@justinmklam  Just to clarify, I'm trying to run Storage explorer 1.9 on Windows but using it to write to blob storage on IoT edge which is running on Ubuntu. I assume this scenario is fine? d

Sorry for the ambiguity, I'll clarify my statement:
I was trying to use Storage Explorer to connect to an IoT Edge device (Raspberry Pi) from my laptop (Ubuntu), since I wanted to create a local blob container on the Raspberry Pi. I ran into similar issues of not being able to connect, and when I saw you had the workaround of using Storage Explorer v1.9, I tried it too but was unable to get that version running on my laptop.
Just wanted to give a heads up in case others come down this same path!

Ah ok. Got it! Thanks for the clarification

We have a new version of this module, can you give v1.4.0 a try and let us know if you still face this issue?
-Arpita

We have a new version of this module, can you give v1.4.0 a try and let us know if you still face this issue?
-Arpita

I had the same issue and using v1.9.0 of Azure Storage Explorer solved it for me. I am running with Windows containers.

@ms-vincent When you originally filed this issue, the info you provided contained an Azure Storage account access key. The key has been edited out of the issue and replaced with the <account-key> placeholder, but we recommend you revoke/rotate account keys to ensure that key cannot be used.


Really remove temporary directories

File.deleteOnExit() method doesn't delete non-empty directories. So
implement a replacement which will walk through the directory and delete
all files within.
Signed-off-by: Dmitry Eremin-Solenikov<EMAIL_ADDRESS>

Thanks!


Bold command overrides the command used to close the sidebar

The Problem
The command to make text bold in markdown is the same command that is used to hide the sidebar in the editor. Potentially change the bold command to Ctrl+shift+B?

How to reproduce
Press Ctrl+B whilst editing a markdown file, this makes the text bold rather than closing the sidebar

Please refer to #89.


Use packed params

Closes #217.

The StructureListBox and FactoryListBox changes could probably use more thorough vetting. I didn't have a convenient saved game around with more than one entry in the list box.

I spent a bit of time building out a colony, and the list box updates seem to be fine.


SAK-29146 Document the poh.unhideables config

I also removed some unused code in this as it's from copy/paste of projects and wasn't used at all.

Down another 15 lines.....


Docker images not avalible ?

https://github.com/hyp3rd/telegram-discord-bridge/pkgs/container/bridge
ghcr.io/hyp3rd/bridge:v1.1.9
got 404 error

Hello there, it's a broken link in the README.
You can checkout the images here at the package page.


Add spoke vnet tagging

Overview/Summary
Add tagging parameter to spoke vnet resource
This PR fixes/adds/changes/removes

Add tagging parameter to spoke vnet resource
Add tagging parameter to sample parameters file

Breaking Changes
None
Testing Evidence

As part of this Pull Request I have

[x] Checked for duplicate Pull Requests
[x] Associated it with relevant ADO items
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x] Performed testing and provided evidence.
[x] Updated relevant and associated documentation.

/azp run e2e


serve-link-dir proposal

Let's say I have a very large media dir with videos, tons of images, etc. In fact, let's say it's in some huge shared network drive
Is there a way to tell trunk to serve files from there, without having to copy it all over into dist on each build step?
If this isn't already supported out of the box, may I propose a serve-link-dir asset type? e.g.
<link data-trunk rel="serve-link-dir" href="/shared/path/to/dir"/> (with optional data-target-path)
It would only work for serving, but in all senses, including watching and reloading on file change.
It would not copy anything out on build - for it to work on deployments, it's up to the application code to do the right thing, or add their own explicit copy step outside of trunk, e.g. something like:
fn media_url(s: &str) -> String {
    let is_debug = match std::env::var("TRUNK_PROFILE") {
        Ok(e) => e == "debug",
        Err(_) => false
    };

    if is_debug {
        // being served via trunk's serve-link-dir feature
        format!("/media/{}", s)
    } else {
        // production build, only exists in a remote server somewhere
        format!("https://cdn.example.com/{}", s)
    }
}

btw - I know that I can kinda do this today by running a separate local media server, but it's kinda gross to need to spin that up, and it also doesn't solve the problem of reloading on file change

I would also like to use this feature.

I think trunk 0.19.0 actually brought support for this: https://trunkrs.dev/advanced/#base-urls-public-urls-paths-reverse-proxies

@ctron can you give an example?
I.e. talking about trunk serving two totally different locations: one for media and one for everything else (code, html, etc.) - but merely watching both to reload on change.

I think we way it needs to be wired up is using an nginx reverse proxy. There's an example for that: https://github.com/trunk-rs/trunk/tree/main/examples/behind-reverse-proxy
The idea is to service an application from a sub-path, and have assets next to it.

thanks, but that doesn't speak to the feature request here - if I need to run another piece of software, I might as well just serve up the media with http-server (or nginx or whatever).
Which is what I'm doing now - i.e. having a separate background task serving media, and hitting that.
The issue here is about supporting that flow while needing nothing other than Trunk at all
e.g. you can see a project I've added here: https://github.com/dakom/dominator-workers-fluent-auth
In the Taskfile, it starts up separate processes for Trunk and http-server. It works, but it's not ideal

It works, but it's not ideal

I agree that it could be more comfortable. If you want to come up with a design for this, I think that would be a great addition.


Add support for ActiveJob

We were trying to use this gem and realized it was working for normal resque jobs but not for ActiveJob jobs.  The main difference seems to be ActiveJob has #perform as an instance method, not a class method - and ActiveJob doesn't support all the magical callbacks based on the method being named something like after_perform_foobar.  Both of these issues are alleviated by this PR.  My test passes at least, I will update our application locally to pull from my fork to confirm the tracking is doing what we expect and will report back here.

github is being odd and not showing the rebuild that travis ran: https://travis-ci.org/github/alanpeabody/resque-job-stats/builds/672765041

Seems like this works for enqueued and performed but not the other statistics?

will try to have a look at this PR this weekend

Hey @lukeasrodgers is it any chance that you'll have a time to take a look at this MR? Or maybe I can help with it?


isrcsubmit: init at 2.1.0

Motivation for this change
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 114971 run on x86_64-darwin 1

1 package failed to build and already failed to build on hydra master:

isrcsubmit: plain log  |  pretty log

1 package failed to build and already failed to build on hydra master:

It seems that drutil is required on Darwin. I don't think I can do much more than marking the package as broken for Darwin.

I don't think I can do much more than marking the package as broken for Darwin.

Fine for me.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/492

@ofborg eval


Transaction expired on sending new transaction

Describe the bug
Running transaction resulted in the error that transaction expired.
Resending this transaction worked fine.
$
near call genesis.$CONTRACT_ID add_proposal "{\"proposal\": {\"description\": \"new token\", \"kind\": {\"FunctionCall\": {\"receiver_id\": \"dev-1620916433192-4733251\", \"method_name\": \"create_token\", \"args\": \"$ARGS\", \"deposit\": \"0\", \"gas\":<PHONE_NUMBER>0000 }}}}" --accountId testmewell.testnet --amount 1

Scheduling a call: genesis.dev-1620913391476-9574024.add_proposal({"proposal": {"description": "new token", "kind": {"FunctionCall": {"receiver_id": "dev-1620916433192-4733251", "method_name": "create_token", "args": "eyJhcmdzIjogeyJvd25lcl9pZCI6ICJ0ZXN0bWV3ZWxsLnRlc3RuZXQiLCAidG90YWxfc3VwcGx5IjogIjQwMDAwMDAwMDAwMDAwMDAwMDAwMDAiLCAibWV0YWRhdGEiOiB7InNwZWMiOiAiZnQtMS4wLjAiLCAibmFtZSI6ICJUZXN0IiwgInN5bWJvbCI6ICJURVNUIiwgImljb24iOiAiIiwgImRlY2ltYWxzIjogMTh9fX0K", "deposit": "0", "gas":<PHONE_NUMBER>0000 }}}}) with attached 1 NEAR
An error occured
Expired [Error]: Transaction has expired
    at Object.parseRpcError (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/utils/rpc_errors.js:28:19)
    at JsonRpcProvider.sendJsonRpc (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/providers/json-rpc-provider.js:146:40)
    at processTicksAndRejections (internal/process/task_queues.js:94:5)
    at async /usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/account.js:100:32
    at async Object.exponentialBackoff [as default] (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/utils/exponential-backoff.js:7:24)
    at async /usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/account.js:98:32
    at async Object.exponentialBackoff [as default] (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/utils/exponential-backoff.js:7:24)
    at async Account.signAndSendTransaction (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/account.js:94:24)
    at async scheduleFunctionCall (/usr/local/lib/node_modules/near-cli/commands/call.js:38:34)
    at async Object.handler (/usr/local/lib/node_modules/near-cli/utils/exit-on-error.js:39:9) {
  [stack]: 'Error: Transaction has expired\n' +
    '    at Object.parseRpcError (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/utils/rpc_errors.js:28:19)\n' +
    '    at JsonRpcProvider.sendJsonRpc (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/providers/json-rpc-provider.js:146:40)\n' +
    '    at processTicksAndRejections (internal/process/task_queues.js:94:5)\n' +
    '    at async /usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/account.js:100:32\n' +
    '    at async Object.exponentialBackoff [as default] (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/utils/exponential-backoff.js:7:24)\n' +
    '    at async /usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/account.js:98:32\n' +
    '    at async Object.exponentialBackoff [as default] (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/utils/exponential-backoff.js:7:24)\n' +
    '    at async Account.signAndSendTransaction (/usr/local/lib/node_modules/near-cli/node_modules/near-api-js/lib/account.js:94:24)\n' +
    '    at async scheduleFunctionCall (/usr/local/lib/node_modules/near-cli/commands/call.js:38:34)\n' +
    '    at async Object.handler (/usr/local/lib/node_modules/near-cli/utils/exit-on-error.js:39:9)',
  [message]: 'Transaction has expired',
  type: 'Expired',
  context: ErrorContext {
    transactionHash: '3Ea6yRYJJKCzDHkKi87du2SRdkWqcaVgNto4FUytb2bb'
  }
}
We attempted to send transaction 3Ea6yRYJJKCzDHkKi87du2SRdkWqcaVgNto4FUytb2bb to NEAR, but something went wrong.
To see the transaction in the transaction explorer, please open this url in your browser
https://explorer.testnet.near.org/transactions/3Ea6yRYJJKCzDHkKi87du2SRdkWqcaVgNto4FUytb2bb
Note: if the transaction was invalid (e.g. not enough balance), it will show as "Not started" or "Finalizing"

met the same issue.
The error Transaction has expired happens quite often on testnet recently

Met the same problem. Is this issue solved now？


Document Lifecycle Event Order

I still miss the order in which addon methods are supposed to be called. While I was debugging test, I had to experiment, for example, with if load() is called before configure() or after.
Originally posted by @abitrolly in https://github.com/mitmproxy/mitmproxy/issues/4422#issuecomment-778460272

Ideally it could be a side by side animation of this diagram.


io.ReadAtLeast can read more bytes from the source than needed

If you read directly from the source after using bitreader, some bytes may have been "lost"

I'll have to think about this a little bit more. The BitReader can be greedy, which can be good for a bunch of small incremental reads. However, yea, accessing the underlying reader may not put you in the spot you think you are.
The intended work-around was that BitReader itself implements io.Reader, which will the read buffer into account when reading larger chunks of data, rather than accessing the underlying data source directly.
My hesitation here is the specific usage of make() inside this method, which can potentially be called a lot.

This is the code that had trouble for me, I was reading an .swf file header, and there is a "Rect" structure that uses variable number of bits, but there is more data to be read after this.
https://github.com/RangelReale/swfinfo/blob/master/types.go


Preauth keys for different users

Bug description
I have two preauth keys A and B, and a new client. I first use A to join headscale and this client successfully joins user A. After that I use B on the client and the client does not switch to user B, it is still on A. Is this correct?

Furthermore fast account switching with multiple users on the same headscale instance is currently not working (afaict).
I suspect the same reason under the hood, headscale might be using the machine id/key for a more unique identifier than it should be.
I tested:

joining via preauth key, subsequent login via preauth key for second user -> no user switch, no second account, just a renegotiation of node key
joining via preauth key, subsequent login via OIDC -> oidc fails, in the log i see could not register machine error="machine was previously registered with a different user"
joining via OIDC, subsequent login via preauth key -> same as #1. preauth key changes nothing, except for the node key.

You should be able to fast-switch users seamlessly if you do the following after logging in with preauth key A.
tailscale logout
tailscale down

tailscale up --auth-key preauthkey-B ...

I tried it today on headscale 0.21.0 and it does not work. tailscale switch --list only shows a single user.

me to

i believe it is still relevant however

Did anyone test this for v0.23.0?

Furthermore fast account switching with multiple users on the same headscale instance is currently not working (afaict).
I suspect the same reason under the hood, headscale might be using the machine id/key for a more unique identifier than it should be.

Are you trying to login to the same headscale with the same node twice?
So [node a, login 1] and [node a, login 2] is both in your fast user switching menu and as two nodes in headscale?
Does Tailscale SaaS support this?

See my response in #1920
I think the whole point in fast user switching @ tailscale SaaS is same node multiple logins.

Can we confirm that this bug is either still existing or fixed in the latest beta?

I can confirm that the bug is still present is the latest published image 2 months ago: sha256:392237fecf911ff101f56d92dbb2529eb8a1f065bdbdcd73744565c6e0744bad
When login with a new user it creates a new profile in tailscaled.state but also set the old one to null

I can also confirm that switching between users of the same tailnet is officially supported by tailscale SaaS.
From the docs:

You aren't prevented from switching between accounts in the same tailnet. If you don't want to switch between accounts in the same tailnet, re-authenticate the device instead of switching between accounts.


Show the location name for sea earthquakes

The earthqueakes that happening in the sea look different than normal earthquakes in strings that are returned via api.
Ege Denizi - Kuşadası Körfezi - [08.46 km] Kuşadası (Aydın)
Göksun (Kahramanmaraş)

They look like below in the app

but after this fix, it would look like

I think we can add a wave emoji for sea earthquakes in the future.

this should be another example for blacksea earthquakes
Before

After

👌


refactor Project.AP() and add unit tests for it

fixes edbennett#152

Probably worth holding off pulling this; I’ve made more changes to the models while writing the command tests so it probably makes sense to merge the migrations before moving forward.

this now fixes edbennett#165 and edbennett#131

@M4rkD I've squashed the migrations, so this is ready to review


Unable to navigate to PlayingView after some songs were removed

Please provide us with the following information:

OS and Version?

MacOS High Sierra 10.13.6

Versions

Node 8.11.3
React 15.6.1

Repro steps

Add a decent amount of songs (let's say 6)
Play the last song
Click on the white area below the progress bar at the bottom to navigate to PlayingView
Use the hamburger menu to return back to the home page
Remove 3  songs before the currently playing one (before the last one)
Try to navigate back to PlayingView
You can't 😱

The log given by the failure.

No errors printed

Mention any other details that might be useful.
Check the gif for better understanding. My guess would be that the problem here is because the song can not be found anymore by the component (probably the index update issue), because on gif you can clearly see that after some songs are removed, the name of the current song, that is displayed below the progress bar resets to [No song]

Thanks! We'll be in touch soon.

Would look into this

I think this has been fixed