Support arbitrary transforms with new WebGL renderer module

Our new WebGL renderer module will need to support arbitrary Matrix4 transforms for each node.

Should we treat transformation matrix as  uniform or attribute?
The ideas we could explore are

Including matrix elements as part of VertexBuffer Data and accessing that as attribute from Vertex Shader.This will be good for circular shapes because the transformation for all the vertices would be taken care by the shader (which would include hundreds of vertices) and  but this will incur significant memory as 9 matrix elements have to be included for every vertex.

Create a collection of transformation matrices and assign that as a uniform, send the pointer (integer Index)  to the transformation matrix as a attribute so that the matrix elements are not duplicated per vertex.
http://www.gamedev.net/topic/658191-webgl-how-to-send-an-array-of-matrices-to-the-vertex-shader/
One possible disadvantage of the above approach is we might have to hardcode the max number of MatrixArray which would mean we have to make multiple draw calls

Have a separate draw call for every shape and send the transformation matrix for that shape as a uniform.

Calculate all the transformed vertices in the JavaScript itself

Another possibility closely related to (2) above would be to send the matrix entries to the GPU via a float array buffer, and assemble elements into a mat4 in the vertex shader code.  This could free us up from hard coding the number of elements in the mat4[].

Are Matrix4s required for depth, or something else?

Nope, we are just talking about ordinary 2d affine transforms.  What do you recommend?

Hard to tell, right now Matrix4 uses Float32Array instead of Matrix3's Float64Array, so Matrix4 might be preferred for that with WebGL. Matrix3 with mat3 is more convenient since it's used by Scenery internally, but we don't want to have to convert Matrix3 to mat4 in the shader (since Matrix3 stores its array internally in mat3 order).

Investigating idea (2) above, I am running into the problem of how to pass the matrix index to the vertex shader.  Trying attribute int uMatrixIndex; and passing through a normal vertexAttribPointer yields this error: ERROR: 0:10: 'attribute' : cannot be bool or int .

but we don't want to have to convert Matrix3 to mat4 in the shader (since Matrix3 stores its array internally in mat3 order).

I have been considering investigating interleaving the transformation matrix entries with the vertex buffer object data--in this case it may be best to just send the minimum number of entries (6) per vertex and assemble into mat4 in the shader.  Right?

I pushed partial (incomplete/broken) work towards mat4[] in the vertex shader above in the mat4array branch.  Based on reading some articles and stackoverflow pages, I am considering switching to a strategy more like (1) above where there is a single VBO that interleaves the data as a so-called 'array of structures'.

I still think including the 6-element affine transform matrix for each vertex sounds feasible (using interleaved array structure), and have been experimenting with it.  It seems like it will work well, but introduces a slight animation hitch on the iPad3--I'm not sure whether the animation hitch is due to GC, or could be caused by using Float32Array.subarray before bufferSubData.  However, since this strategy seems promising, I think I will commit to the ohtwo branch and we can continue investigating ways to improve the performance.

In the above commit, I added attributes for the 2d affine transform to the interleaved vertex buffer object.  Please note that there are a few places that need to be tested for mathematical accuracy.  First, the elements from the Matrix4 that are sent to the VBO.  I am using
matrix4.m00(), matrix4.m01(), matrix4.m02(), matrix4.m10(), matrix4.m11(), matrix4.m12(),

But perhaps it should be:
matrix4.m00(), matrix4.m01(), matrix4.m03(), matrix4.m10(), matrix4.m11(), matrix4.m13(),

And my math in the vertex shader also needs to be checked.
  // Just do the affine transform ourselves.
  // see http://cs.iupui.edu/~sfang/cs550/cs550-note3.pdf
  vec2 transformed = vec2( aTransform1.x * aPosition.x + aTransform1.y * aPosition.y + aTransform1.z,
                           aTransform2.x * aPosition.x + aTransform2.y * aPosition.y + aTransform2.z );

A larger set of test cases would go a long way to checking if I have any of this right--the only demo/test provided at the moment is a rotating rectangle.

Another feature we will need to support is arbitrary transforms for the Texture module--presumably we can use the same strategy as in ColorTriangleRenderer.js.

In the above commit, I fixed a performance problem in the Texture renderer that was sending the texture to the GPU every frame and generating new mipmaps every frame.  After that was fixed, the matrix-per-vertex strategy is rendering nicely on the iPad3 with 3600 triangles, some with moving vertices and some with animating transforms plus 100 non-moving textures, at a smooth 60fps.  So I'm feeling much more confident about performance using the matrix-per-vertex strategy.

A note on the performance described above, mrdoob's stats reports 1-2ms per frame for all the updating + rendering.  That is pretty good!

It's probably worth checking whether it's best to send the 6 individual affine entries instead of a mat3 / mat4, since the matrix multiplication may be accelerated (and simpler?). mat4 sends much more data, which may be the bottleneck, though.
Using m02 or m03 for x translation depends on how the affine transform was created. If using Matrix4 for creation/handling, or conversion with Matrix3.toAffineMatrix4, m03 is correct.

Now that we are consolidating and pushing all the graphics data (including transformation) into a single draw call and since having separate draw call per shape would exclude the need to send transformation matrix as part of buffer.
I just wanted to be sure for myself - Do we have enough test cases to discount  one WebGL draw call per Node strategy? as it simplifies the design by letting us send the transformation matrix as a uniform a variable before each draw call.
I am aware the existing Scene Graph supports few webGL render able shapes (ie rectangle) using this strategy, so would like to know if we found any specific limitation on this approach.
I am also curious because PixiJs which supports scene graph and claim to be fastest, issue multiple draw calls in a render session each per Shape (Graphics).

Do we have enough test cases to discount one WebGL draw call per Node strategy?

I haven't tested this hypothesis directly.  A good test would be to use the existing WebGL infrastructure and run a side-by-side comparison of batched draw calls vs individual draw calls as a function of increased number of triangles and compare the performance curves (test should be run on multiple platforms, including iOS & Android).  I agree that doing one draw call per node would simplify things, but every bit of literature I've read about optimizing WebGL performance is based around minimizing the number of draw calls.

Ahh, I thought it was a uniform, nevermind!

We added more attributes into the vertex buffers in ColorTriangleRenderer and TextureRenderer, so I think this is complete.  Closing.


Windows Terminal session log entires

Type: Bug
Windows Terminal version
1.18.3181.0
Windows build number
10.0.19045.0
Steps to reproduce
Start my windows machine and launch Windows Terminal and these log entries will start appearing. I have VS Code installed but the log entries appear even when VS Code has not been launched.
Expected Behavior
I don't want any automatic/random log entries littering my Windows Terminal session.
Actual Behavior
09:55 C:\Users\myusername>
[main 2023-12-13T07:55:27.414Z] update#setState idle
[main 2023-12-13T07:55:30.670Z] WSL is not installed, so could not detect WSL profiles
[main 2023-12-13T07:55:57.439Z] update#setState checking for updates
[main 2023-12-13T07:55:57.631Z] update#setState idle

the last two log entries will keep getting re-logged every hour. this started happening a few weeks ago. before I never saw these log entries. I have never even used WSL. I filed an issue with Windows Terminal team and they said this is definitely a VS Code issue: https://github.com/microsoft/terminal/issues/16462.
 I managed to narrow down and find the root cause. I have a start-up script that launches Azure Data Studio using command Start-Process "C:\Program Files\Azure Data Studio\azuredatastudio.exe" and it turns out that as a result ADS attaches itself to the terminal session that launched it and starts logging its routine background activities to it.


Storage class warning

After patch 9.1.548 HP-UX give this warning:
   cc -c -I. -Iproto -DHAVE_CONFIG_H     -O2       -D_REENTRANT -o objects/evalfunc.o evalfunc.c cc: "evalfunc.c", line 7529: warning 562: Redeclaration of "f_id" with a different storage class specifier: "f_id" will have internal linkage.

thanks!


On error, call callback with error instead of message

As it stands, the callback for WSDL is sometimes called with a string in the error position. This error arises from the line self.callback(e.message). This strips useful information (such as the stack trace) before sending the error back to the consumer, as well as violates JS best practices by throwing a string instead of an Error.
This PR corrects the issue by calling the callback with the error.

Coverage remained the same at 92.536% when pulling 034819620b9e6b1f33332c6ceec844137fee6e3c on r24y:patch-1 into 59aa639fe9ccc2f20faab63de2fdff5ada433242 on vpulim:master.

Coverage remained the same at 92.536% when pulling 034819620b9e6b1f33332c6ceec844137fee6e3c on r24y:patch-1 into 59aa639fe9ccc2f20faab63de2fdff5ada433242 on vpulim:master.

Hmm.  Not saying I disagree, but this is somewhat of a breaking change wouldn't you say?  Is there a way to add a test to assert an Error is returned?

If someone's calling err.substr() or something like that, then it would be a breaking change. That seems unlikely to me, but of course ultimately it's your call.
Assuming you're okay with the change, I'd be happy to add a test ensuring that an Error gets returned. Let me know if I should add it to this PR, or if I ought to make a new one and check what err is for all the callbacks.

closing due to inactivity


🧑💻 : Add FAQ page

:red_circle: Title :add FAQ functionality

:red_circle: Enhancement Aim :user can view faq's
:red_circle: Changes : adding faq page
Screenshots 📷

✅ Details to Include When Taking the Issue:
Name :govindbairi
Participant Role (Specify the Open Source Program name, e.g., GSSOC, Hacktoberfest, etc.):gssoc

Happy Contributing! 🚀
Wishing you all the best on your open source journey. Enjoy! 😎

please assign this to me


Download and configure ant in init.sh script

Download ant in the init.sh script, properly configure it, and make sure all calls to ant use this version.
Currently, D4J uses Major's ant version to compile all bugs, but possibly a different version (system installation) when running external tools. This is confusing and makes debugging ant configuration issues really hard.

Incorporated this issue into #275.

Incorporated this issue into #275.


Add option to skip file preamble generation

Motivation
For developing purposes, or testing ones, we ofte cline the project/create new environment.
Then we intrduce the new feature, but then you don'T get the full list of changed models, but a list of all models, where the preabmle is changed.

disregard the older version, we have tweaked a thing or two to be able to run against the QA.

Proposed solution
Add the new configuration next to addTimestamp that would allow to dissable generating the preable.
Additional context
Stumble upon this issue - DEVREL-930

@Simply007 I've added new option addEnvironmentInfo which does what you requested ;) It's released in 6.4.0


DropdownV2 has multiple tabbable element

Environment

Operating system
MACOSX

Browser
Chrome

Automated testing tool and ruleset
DAP

Assistive technology used to verify

Detailed description

What version of the Carbon Design System are you using?
4.0.10

What did you expect to happen?
Only one tabbable element on the main dom

What happened instead?
two tabblable element

What WCAG 2.1 checkpoint does the issue violate?

Steps to reproduce the issue

Step one
Step two
Step three
etc.

Please create a reduced test case in CodeSandbox
https://codesandbox.io/s/github/IBM/carbon-components-react/tree/master/examples/codesandbox
Directly viewable on http://react.carbondesignsystem.com/?selectedKind=DropdownV2&selectedStory=default&full=0&addons=1&stories=1&panelRight=0&addonPanel=storybook%2Fstories%2Fstories-panel

Additional information

Screenshots or code
Notes

Too right! Thanks for submitting the issue. Currently working on this error rn. I'll link this issue in the subsequent PR. 👍🏽

Doing a round of testing and it looks like this issue is resolved. 👍 Happy to reopen if I need to though.

@dakahn I'm still seeing two tabbale item for Dropdown.  Think this should be removed from the listbox?

Mega weird DAP doesn't catch that anymore. I'll push up a fix right quick 👍🏽

@nicoxxie can you verify if this issue still exists? I think I resolved it in https://github.com/IBM/carbon-components-react/pull/2158

Hi @emyarod @dakahn, I'm a dev from SPSS statistics, we migrated to Carbon recently (our version is 6.103.1) and it seems like we need to tab twice + down arrow key before opening the dropdown. Since SPSS statistics requires full accessibility before we can release the product, if this is not already addressed can we prioritize addressing this issue?
Thanks

@dakahn @emyarod Sorry I was on vacation, unfortunately we have not migrated to carbon v10 yet... and I see this still happens on the latest v9 carbon-components-react 6.114.1, will see if the update happens soon.

@eason123deng @nicoxxie got it, will have to look into backporting my fix from v10


[WIP] Fix a case where the upgrade job was stuck if its image was changed a bit late in the spec override section

Fixes #
Proposed Changes

Fix a case where the upgrade job was stuck if its image was changed a bit late in the spec override section

Release Note

/test all

@aliok As discussed in slack, I think this is accounting for a situation that will only occur due to our downstream architecture, so let's handle it there.

https://github.com/knative/operator/pull/180
I opened a PR to rename job name. I do not think I am doing the same work as Ali. Correct?

@houshengbo
Thanks for the heads up.
It is a different problem I think.
I was testing something in this PR to fix a problem downstream at OpenShift side.
For the curious, it was about where our downstream stuff was too late to change the image overrides in the spec and thus the upstream operator was complaining that it cannot change the image of the job.
We decided to tackle this problem downstream though.

/close


Sluggish performance with silo file with many vars

Jose Milovich reports sluggish performance with a small silo dataset. The dataset is only ~128mb w/ 12 domains.The sluggishness is in the GUI, opening the mdserver. The issue seems to be the amount of variables: 1682 scalar vars. Cyrus has an example dataset.
-----------------------REDMINE MIGRATION-----------------------
This ticket was migrated from Redmine. As such, not all
information was able to be captured in the transition. Below is
a complete record of the original redmine ticket.
Ticket number: 2191
Status: Pending
Project: VisIt
Tracker: Bug
Priority: Normal
Subject: Sluggish performance with silo file with many vars
Assigned to: -
Category: -
Target version: -
Author: Cyrus Harrison
Start: 03/26/2015
Due date:
% Done: 0%
Estimated time:
Created: 03/26/2015 02:49 pm
Updated: 04/01/2015 03:00 pm
Likelihood: 3 - Occasional
Severity: 3 - Major Irritation
Found in version: 2.8.2
Impact:
Expected Use:
OS: All
Support Group: Any
Description:
Jose Milovich reports sluggish performance with a small silo dataset. The dataset is only ~128mb w/ 12 domains.The sluggishness is in the GUI, opening the mdserver. The issue seems to be the amount of variables: 1682 scalar vars. Cyrus has an example dataset.
Comments:
This is aggravated by operator created variables WHICH ARE OUT OF CONTROL! There are 5-10 operators that create variables and each of them is going to make several times the number of original variables (multiplied if there are mesh_quality or time expressions).

related to #2823


Add Civs Support

qsethuopq on Discord asked for this: https://www.spigotmc.org/resources/civs.67350/

I think the generic_protection handler could be used for this, I'm going to close this issue until it comes up again.


New Feature : Exclude intermediate Minors

The suggested filter would filter out to exclude verbose intermediate versions, to keep only, in this example :

10.0.26
10.1.0

the filter/algo would act beginning at the very last, taking minor prefix "10.1." and filter out every other version string starting with "10.1." then finding another Minor, extracting "10.0." and filter out again, etc, until end of list.

Result with new code

the filter has been rethinked as so:
at most two versions per Major.Minor: latest release + following latest pre-release versions

this could be de/activated with a flag
-Dversions.reportLength=FULL
-Dversions.reportLength=SHORT
@ajarmoniuk is there any rull for the flags names?

Not that I know of :)

@sultan are you still going to work on this?

Still on my todo list. I am having difficulties knowing where to put my filter. I can't get it to be streamable. And not sure where to put it after the api used streams. Any advice appreciated.


Make libs.dll.js load synchronously

Remove the async attribute from libs.dll.js. This fixes the intermittent issue in development caused when
main.js is executed before libs.dll.js loads.
Fixes https://github.com/ModusCreateOrg/budgeting-sample-app-webpack2/issues/104

Coverage remained the same at 77.886% when pulling a9fe3e7534ca79466c713f00c4e8076dcf865155 on elas7:dll-fix into 5ebfcfdc2bc0f4277724de05601f505f144b9428 on ModusCreateOrg:master.


[PushNotifications] Add an event for remote notification registration, and improve permissions request

In order to add Push support to the Parse JS SDK in React Native, we need a way to receive the APNS device token from the JS context. This adds another event to PushNotificationIOS, so that code can respond to a successful registration.
Additionally, I've updated the requestPermissions call to accept an optional map of parameters. This way, developers can request a subset of user notification types.

@facebook-github-bot import

Squashed and rebased

Just tried to run this on the iPhone 6 simulator and it couldn't build. Looks like your enum is not compatible with iOS8

I think if this is merged, then https://github.com/facebook/react-native/issues/1176 is closable. I'm looking forward to this being merged :+1:
Thanks.

I'm not sure if I miss anything, but it seems to me the didRegisterForRemoteNotificationsWithDeviceToken is never called.
For anyone is interested in this, my workaround is adding these lines into your iOS/AppDelegate.m, just below the didFinishLaunchingWithOptions:
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
  NSMutableString *hexString = [NSMutableString string];
  const unsigned char *bytes = [deviceToken bytes];

  for (int i = 0; i < [deviceToken length]; i++) {
    [hexString appendFormat:@"%02x", bytes[i]];
  }
  NSDictionary *userInfo = @{
    @"deviceToken" : [hexString copy]
  };
  [[NSNotificationCenter defaultCenter] postNotificationName:@"RemoteNotificationsRegistered"
                                                      object:self
                                                    userInfo:userInfo];
}

ping @ericvicenti , how is it going?
actually, I can build this on iPhone5 / simulator (both are iOS8)

@ericvicenti I'm assuming your comment was a typo, since I was having no trouble running on iOS 8 in the simulator or on device, but there were linker & enum errors with iOS 7.1. I made some adjustments to get the linker to cooperate again, things are working now on 7 and 8.
@lazywei you're right, you need to call the public didRegisterForRemoteNotificationsWithDeviceToken from the method of the same name in your AppDelegate.m. This is by design -- there is no way to have a linked library automatically provide this method for your AppDelegate without overriding AppDelegate itself. My personal recommendation is to add the following definition to AppDelegate.m:
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
  [RCTPushNotificationManager application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}

You'll need to do the same thing if you want to respond to didReceiveRemoteNotification

@andrewimm Great, thanks! I think this should be remarked on the doc, right? By the way, when doing this (I mean, calling RCTPushNotificationManager), do I need to include any header file in my AppDelegate.m?

@lazywei Being a total Objectiv-C n00b I struggled with the headers.  To get it to work one needs to
#import "RCTPushNotificationManager.h"
in AppDelegate.m. You also need to make sure, that
$(SRCROOT)/node_modules/react-native/Libraries (recursive)
Is part of your projects header search path.

ping @ericvicenti how is this going?
i notice there is another similar PR https://github.com/facebook/react-native/pull/1019
should we merge these two issues?
I think push notification's device token is one of the core functionality, and thus it would be great if we can merge this kind of PR earlier. Otherwise, there will be a lot of duplicated works showing on the GitHub issues list.

@lazywei @andrewimm
Sorry about all the delay on this! I'm not very familiar with iOS notifs and I had to fix an issue with iOS7/8 notif registration types.
Good news is it has landed internally and will be synced to GH tomorrow morning! Thanks for all your patience on this

@ericvicenti
Great news. Thanks!

Can we please update the docs at https://facebook.github.io/react-native/docs/pushnotificationios.html to show users how to get a token that's already been registered?

Figured it out - we should add a line:

Every time the app is re-opened, the register event gets triggered if push notifications are enabled.

I'm on 0.14.0-rc and the event doesnt seem to ever get triggered
in my index.ios.js
  componentWillMount() {
    PushNotificationIOS.addEventListener('register', this._onNotificationReg);
  },
  _onNotificationReg(data) {
    console.log(data);
  },

Hi @kevtastic. Did you add the listener functions to your AppDelegate.m?

i did yeah, my appdelegate looks like this right now
/**
 * Copyright (c) 2015-present, Facebook, Inc.
 * All rights reserved.
 *
 * This source code is licensed under the BSD-style license found in the
 * LICENSE file in the root directory of this source tree. An additional grant
 * of patent rights can be found in the PATENTS file in the same directory.
 */

#import "AppDelegate.h"
#import "RCTPushNotificationManager.h"
#import "RCTRootView.h"
#import "RCTLinkingManager.h"

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication: (NSString *)sourceApplication annotation: (id)annotation {
    return [RCTLinkingManager application:application openURL:url sourceApplication:sourceApplication annotation:annotation];
  }

// push notification functions

// Required for the register event.
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
  [RCTPushNotificationManager application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
}
// Required for the notification event.
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)notification
{
  [RCTPushNotificationManager application:application didReceiveRemoteNotification:notification];
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  NSURL *jsCodeLocation;

then my js bundling stuff

I think you also need to call  PushNotificationIOS.requestPermissions() at least once.
I do it every app startup, because if you already have the permissions, nothing happen.

I'm calling requestPermissions inside of render right now, though I've tried to do it in componentWillMount and in componentDidMount.
I've tried listening for the event before and after I request permissions but in both cases im not getting anything

+1 same issue as @kevtastic

@ivanbrens
my issue was that I was trying to test on the simulator with development certificates.
As soon as I switched over to production certs and testflight it started working.
I'm convinced development certificates have never worked for anyone ever.

@kevtastic development certs definitely worked when this code landed -- otherwise, I wouldn't have been able to test it. However, Apple has never supported notification registration in a Simulator, which is probably why things never worked until you moved to a physical device. It's unfortunate, but part of the iOS development experience. Thankfully, it's much easier to deploy to a physical device these days, now that app deploys can be tied to your iCloud account.


Tool for automatic generation of mappings and themes.

I was reviewing the code of the design system, and I realized that is a good idea create a tool for generate themes and new mappings automatically.
It could be created a tool that receive a JSON in a specific format and generate a new eva/design theme and then upload this new theme and mapping to a centralized repository, right?
I'm very exited with the UI library for React Native, and I wolud like to help to grow this project! :D
So, tell me if this approach exist in the roadmap of this project or if is possible help with a PR.

Hi @atasanchez, thanks for your proposal!
There is something similar to what you described on our roadmap, though I cannot tell a lot more since we haven't released the design system itself, yet (but planning to do so in the upcoming weeks).
But please, stay tuned, and we'll get back to this discussion quite soon.

Hi @nnixaa , thanks for you answer!
My team are starting a new app and we will be use Kitten UI, so for this reason is special important for us this project and we want help them if it's possible.
Thanks and I am waiting for news.
Regards!


Narrowing for constant indexed access fails on array getter

🔎 Search Terms
constant indexed access, array
🕗 Version & Regression Information

This changed between versions 5.4.5 and 5.5.beta
This changed in commit or PR

⏯ Playground Link
I could not repro this in playground, due to the lib import
💻 Code
import crypto from 'crypto-js'

const bar = "abc"
const foo: crypto.lib.WordArray = crypto.enc.Utf8.parse(bar) // Returns type: { words: number[], ... }
for (let i = 0; i < foo.words.length; i++) {
  foo.words[i] += 1
//~~~~~~~~~~~~ error TS2532: Object is possibly 'undefined'.

  // Alternatively:
  foo.words[i] = foo.words[i] + 1
//               ~~~~~~~~~~~~ <same error>
}

Adding suitable checks in the loop-body for falsey values does not fix it, eg:
if (foo && foo.words && foo.words[i]) {
 // Same code as above, same error
}

However the following does fix it:
const word = foo.words[i]
if (word) {
  foo.words[i] = word + 1 // OK
}

🙁 Actual behavior
error TS2532: Object is possibly 'undefined'.
🙂 Expected behavior
No error - this type-checked fine previously
Additional information about the issue
This issue is new since the new Control Flow Narrowing for Constant Indexed Accesses feature. Rolling back to the previous typescript version 'fixes' it

You can often import npm packages in the playground just fine. It's capable of fetching their types.
I don't see any error here with the nightly version: TS playground. foo.words has number[] type so I'm not sure how undefined has crawled into all of this in your tests. Perhaps you are using noUncheckedIndexedAccess?
This would indeed show the difference in the behavior:
TS 5.4
TS nightly
This, in turn, looks like a correctness improvement.

If this is just an array, I don't see why you need crypto-js as part of the repro. Please provide a minimal example, with config, that shows what's happening

@RyanCavanaugh yes I am aware of that, but I was unable to find a repro without the package.
@Andarist I think you nailed it - thanks so much, that must be the issue. Not sure what the action is here, I am closing but please re-open as necessary.

@RyanCavanaugh here is a minimal repro in TS Playground (based on @Andarist repro)
Including code here for ease of understanding:
// @noUncheckedIndexedAccess: true
interface Foo { words: number[] }
const foo: Foo = { words: [1, 2, 3] }

for (let i = 0; i < foo.words.length; i++) {
  if (foo.words[i]) {
    foo.words[i] = foo.words[i] + 1
    //             ^Object is possibly 'undefined'.(2532)^
  }
}

The problem here is that i is assigned to so it doesn't pass this check:
https://github.com/microsoft/TypeScript/pull/57847/files#diff-d9ab6589e714c71e657f601cf30ff51dfc607fc98419bf72e04f6b0fa92cc4b8R26613
i is special in loops. We know that it's only assigned to after this loop block. So perhaps some extra fine-tuning for this case would be possible.

Oh, this just never works for variables that are reassigned:
function f1(obj: Record<string, unknown>) {
  let key: string = "";
  if (typeof obj[key] === "string") {
    obj[key].toUpperCase();
  }
  key = ""; // toggle to see the error to go away and come back
}

This is kinda spooky to see an error pop up on a previous line that seemingly has no real correlation with the line that just got added.

Possibly related
https://github.com/microsoft/TypeScript/issues/59185


Admin Activity Tab - follow-up improvements

Hi - here are some suggestions from me re. the newly upgraded Activity tab - looking good, will be great to push a bit farther this week.
Grid

[x] Make Track + Username columns wider
[x] Rename Day > "Day / Range" - the range is pretty heavyweight in terms of how long the field gets / how wide the col needs to be, but it does seem like it might be useful...
[x] Rename Avg Elapsed (ms) -> Elapsed (ms) to get header to fit, drop commas from number format
[x] Hide Impersonating and Data columns by default
[x] Consider adding small detail panel showing all fields of selected row instead of needing to go into (somewhat bad looking) modal.
[x] Expand tree row on double-click (I still expect tree grids to always do this)
[x] Make sure (default hidden) 'data' and 'message' both have an autosizeMax (Activity)
[x] Make sure 'error' has an autosizeMax (Client Error)

Query

[x] Make default grouping Date > User > Category > Message
[x] Query start date should go back one month by default (unless we find that's too slow, would hope not)
[x] Reset query button should reset all fields and be to the right of all of them.
[x] Maybe remove refresh button. We have app-level refresh in top toolbar, but I see how some users might want it to ensure query update is run (vs. pressing enter key)

Chart

[x] Use ButtonGroup (instead of tabs) to switch chart type between Bar & Line
[x] Use Checkboxes or switches to control which series on chart - entries, unique users, average elapsed. Any combo could be shown, first two could share a Y axis.
[x] Could tie the series on/off controls to the plotline color w/a colored dot or square next to label, avoiding need for chart legend.
[x] Drop X axis label "Days"

Like all of these changes.  Need to make sure (default hidden) 'data'  and 'message' both have an autosizeMax too!

Like the idea of a small detail panel, but think we'll want to keep the dialog as the data column can have a lot in it, and the jsonEditor in the dialog seems like the best way to display it to me. I guess we'll see.

Not sure about sharing axes here. Users and Logs for example could have a wide difference (other slices might be even worse)

Let's not worry about any detail panel for now - or to put it another way, let's come back to that idea once we're happy with everything else.  (I was thinking if we did have a detail panel it could have a scrollable, readonly JSON input within it.)
I certainly see your point re. the axes. I would need to play with it a bit with real data to get a better feel for it, but I totally agree that the scale of entries vs. unique users will often be very different.  For me that might be more of an encouragement to the user to only check one at a time - seems like there is a tradeoff between having the multiple scales / Y axes to visually process vs. having a single "count" Y axis that would often force the unique users down to a very "short" series if shown alongside the all entries count.  Happy to have it setup as above for now.
One small nit - can you remove the label "histogram" - I am not sure if this would really be considered a histogram - it's a timeseries in both cases, just a bar chart vs. line chart.  You could try skipping the text labels on the buttons altogether - it should be pretty clear what they do.

Already coded up the detail panel so we might as well look at it. (Just have a couple more todos in the code to look at, but will push today)
Removing the labels on the chart buttons is a good idea, but just to be clear, it's not always a timeseries. The x-axis is determined by the dims in the grid above. If the first Dim isn't 'Date" it's a category chart.

Sorry meant just bar vs. line then


Widgets binding error after upgrading flutter version to 2.12.0-4.2.pre

I'm facing below warnings since I upgraded the flutter version to 2.12.0-4.2.pre.
Warnings:
./../flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/multi_image_stream_completer.dart:152:22: Warning: Operand of null-aware
operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance?.scheduleFrameCallback(_handleAppFrame);
                     ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/cached_network_image_provider.dart:109:29: Warning: Operand of null-aware
operation '?.' has type 'PaintingBinding' which excludes null.
 - 'PaintingBinding' is from 'package:flutter/src/painting/binding.dart' ('../../flutter/packages/flutter/lib/src/painting/binding.dart').
      () => PaintingBinding.instance?.imageCache?.evict(key),
                            ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:32:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:195:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:205:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addObserver(this);
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:211:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.removeObserver(this);
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:279:34: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    final value = WidgetsBinding.instance?.window.viewInsets.bottom;
                                 ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/object_widget.dart:107:20: Warning: Operand of null-aware operation '?.' has
type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timestamp) {
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_redux-0.9.0/lib/flutter_redux.dart:474:22: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding'
which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance?.addPostFrameCallback((_) {
                     ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_redux-0.9.0/lib/flutter_redux.dart:577:22: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding'
which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance?.addPostFrameCallback((_) {
                     ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:126:28: Warning: Operand of null-aware operation '?.' has
type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('../../flutter/packages/flutter/lib/src/rendering/binding.dart').
    assert(RendererBinding.instance?.renderView != null);
                           ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:127:50: Warning: Operand of null-aware operation '!' has
type 'RendererBinding' which excludes null.
 - 'RendererBinding' is from 'package:flutter/src/rendering/binding.dart' ('../../flutter/packages/flutter/lib/src/rendering/binding.dart').
    var clipRect = Offset.zero & RendererBinding.instance!.renderView.size;
                                                 ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:170:26: Warning: Operand of null-aware operation '!' has
type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
        SchedulerBinding.instance!.addPostFrameCallback((timeStamp) {
                         ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/visibility_detector-0.2.2/lib/src/visibility_detector_layer.dart:193:22: Warning: Operand of null-aware operation '!' has
type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance!
                     ^
../../flutter/.pub-cache/git/youtube_player_flutter-f615d5abe369cec7ef0e417b8f6a3f048367022a/packages/youtube_player_iframe/lib/src/players/youtube_player_mobile.dart:68:20:
Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addObserver(this);
                   ^
../../flutter/.pub-cache/git/youtube_player_flutter-f615d5abe369cec7ef0e417b8f6a3f048367022a/packages/youtube_player_iframe/lib/src/players/youtube_player_mobile.dart:146:20
: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.removeObserver(this);
                   ^
../../flutter/.pub-cache/git/plugins-1d6c10703224a9d452a3fb21fc01bb26b0d67bda/packages/video_player/video_player/lib/video_player.dart:1205:26: Warning: Operand of
null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
        SchedulerBinding.instance?.scheduleFrameCallback(_refresh);
                         ^
../../flutter/.pub-cache/git/plugins-1d6c10703224a9d452a3fb21fc01bb26b0d67bda/packages/video_player/video_player/lib/video_player.dart:1213:22: Warning: Operand of
null-aware operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance?.cancelFrameCallbackWithId(_frameCallbackId!);
                     ^
02:16 +1549 ~4: /Users/mmateen/upday/project-honey-badger/test/detail/error_content_screen_test.dart: is created                                                            ../../flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/multi_image_stream_completer.dart:152:22: Warning: Operand of null-aware
operation '?.' has type 'SchedulerBinding' which excludes null.
 - 'SchedulerBinding' is from 'package:flutter/src/scheduler/binding.dart' ('../../flutter/packages/flutter/lib/src/scheduler/binding.dart').
    SchedulerBinding.instance?.scheduleFrameCallback(_handleAppFrame);
                     ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/cached_network_image-3.2.0/lib/src/image_provider/cached_network_image_provider.dart:109:29: Warning: Operand of null-aware
operation '?.' has type 'PaintingBinding' which excludes null.
 - 'PaintingBinding' is from 'package:flutter/src/painting/binding.dart' ('../../flutter/packages/flutter/lib/src/painting/binding.dart').
      () => PaintingBinding.instance?.imageCache?.evict(key),
                            ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:32:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:195:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:205:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addObserver(this);
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:211:20: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.removeObserver(this);
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/text_widget.dart:279:34: Warning: Operand of null-aware operation '?.' has type
'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    final value = WidgetsBinding.instance?.window.viewInsets.bottom;
                                 ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_painter-1.0.1/lib/src/views/widgets/object_widget.dart:107:20: Warning: Operand of null-aware operation '?.' has
type 'WidgetsBinding' which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
    WidgetsBinding.instance?.addPostFrameCallback((timestamp) {
                   ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_redux-0.9.0/lib/flutter_redux.dart:474:22: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding'
which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance?.addPostFrameCallback((_) {
                     ^
../../flutter/.pub-cache/hosted/pub.dartlang.org/flutter_redux-0.9.0/lib/flutter_redux.dart:577:22: Warning: Operand of null-aware operation '?.' has type 'WidgetsBinding'
which excludes null.
 - 'WidgetsBinding' is from 'package:flutter/src/widgets/binding.dart' ('../../flutter/packages/flutter/lib/src/widgets/binding.dart').
      WidgetsBinding.instance?.addPostFrameCallback((_) {
                     ^

Flutter version
Flutter 2.12.0-4.2.pre • channel unknown • unknown source
Framework • revision 5c931b769b (9 days ago) • 2022-03-29 10:49:29 -0500
Engine • revision 486f4a749e
Tools • Dart 2.17.0 (build 2.17.0-182.2.beta) • DevTools 2.11.1

Hi @muhammadmateen027, those warnings are mainly from third-party plugins and they can be fixed by running
dart fix --apply, It seemed to be introduced with this intended change https://github.com/flutter/flutter/pull/89451.
However, these are just warnings it shouldn't affect the build process.
Closing as this is not really a bug.


Allow creating public key and associate it with trusted key group on a CloudFront distribution.

There is no way to do via automation as of right now.
You're forced to use root(!) keys and that doesn't feel comfortable.
Would be great if Pulimi could create everything in one swoop very much like image.buildAndPush().
Generate a key on CI, add it on AWS, and either create a new Trusted Key Group or associate it with an existing one before attaching it to the CloudFront distribution.
Obviously allow inputs/secrets if user already has existing private and public keys.
Not sure this is recommended anymore

Pulumi doesn't provide much customization on top of the upstream provider here. pulumi-awsx does, so I'm going to transfer this issue there.


Stage Selected Ranges broken again?

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.66.2
OS Version: 11.6 (Big Sur)

Steps to Reproduce:

Make some changes in a file at two different places ("1st changes" and "2nd changes")
Open Source Control Sidebar and select file you just changed to see the diffs for 1st & 2nd changes in the editor.
Select the red and green diff of 1st changes, right click the selection, and choose "Stage selected ranges".  RESULT: As expected, the diff of 1st changes will disappear from the editor, the current file will appear under Staged Changes in the sidebar, and the diff of 1st changes will be visible in "Staged Changes" editor.
Go back to the "Changes" editor and repeat step 3 for 2nd changes.
EXPECTED RESULT: The same thing should happen for 2nd changes.
ACTUAL RESULT: The same thing does happen for 2nd changes, but 1st changes are reverted and move from Stage Changes to Changes (i.e., 2nd changes are staged, 1st changes are unstaged.).

Just chiming in to say I'm having extremely erratic "selected ranges" staging behaviour as well. Usually it works great.
Version: 1.66.2 (user setup)
Commit: dfd34e8260c270da74b5c2d86d61aee4b6d56977
Date: 2022-04-11T07:46:01.075Z
Electron: 17.2.0
Chromium: 98.0.4758.109
Node.js: 16.13.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.19044

I am experiencing the same issue, although I usually use the green (addition) and blue (change) colored ribbon-thingies (and red triangles for deletion) that appear on the left side of the code after changes. Clicking on them lets me interactively stage a single change from a file, but sometimes trying to stage more than one change, causes the previously staged changes to unstage. It's really annoying. I thought it could be a GitLens issue (since I also use it as well), but I've been told this feature comes from VSCode itself.

I'm seeing this issue on WSL mode.

This one is still broken. Here is a screen recording demonstrating the bug: https://imgur.com/a/ma7I0pj
Also no visual feedback is provided when staging individual changes.

If you navigate away from the file after staging a selected range, it works. The issue needs to be fixed, but this crappy workaround helps in the interim.

I don't know if this is related yet but I'm finding that "stage selected changes" is ignoring deletions, only staging additions

bump, still an issue in 1.77

bump, still an issue in 1.77

It should be noted that in the working tree split view it works only on the right pane or end result side. For some reason I was trying to stage my changes by selecting the change on original side which doesn't work. Maybe this will help anyone who googled this issue.

This is also happening to me in version 1.77.3, Linux x64. I'm not attempting to stage changes on the left pane -- only on the right pane. It was such a nice feature in the previous version I was using, when it worked. Some notes about it:

To get VS Code to "accept" the staging -- react at all and no longer show the change, you have to switch to another tab and back. I like to switch to the Staged Changes version of the file and then back to the Changes version, in the Source Control file selector. Doing that gets it to behave similar to the way it did when there wasn't a problem.
However, if you stage multiple selections, only the last one staged actually gets staged. So, you have to get it to update after every staging, in order to get it to accept every staging.
Another alternative is to use the line staging functionality in the "main" file tab, available in the file Explorer. Click the colored lines that show up to the left of the changed lines and to the right of the line numbers (if those are turned on). Use the plus sign button to stage the change in the line. That functionality still works (but I prefer the side-by-side diff view. I hate that it's not working).

If you navigate away from the file after staging a selected range, it works.

Same here, this is the only workaround that works!
VS Code version 1.83.1, Windows 10 22H2.

Bump. For me the issue manifested recently, possibly after I disabled git.autofetch. I am not sure if it is related though, because I do not see how it should and because I re-enabled autofetch and the problem did not disappear.
Version: 1.84.2 (user setup)
Commit: 1a5daa3a0231a0fbba4f14db7ec463cf99d7768e
Date: 2023-11-09T10:51:52.184Z
Electron: 25.9.2
ElectronBuildId: 24603566
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621

I commented in 2022 and I'm back now in 2024 to say I'm still regularly experiencing troubles staging additional lines after staging some. Sometimes it forgets what I staged and instead of staging additional lines on top of what was previously staged, the selective staging overrides the currently staged contents for that file entirely, making it kinda pointless for complicated staging operations.
I've also noticed it gets confused by multiple cursors if you try to stage lines from many places/selections/cursors and only stages the first selection properly, if at all.
I'm so annoyed at this point if I have anything complicated to stage I just open the Terminal and run gitui instead. :/
Version: 1.85.1 (user setup)
Commit: 0ee08df0cf4527e40edc9aa28f4b5bd38bbff2b2
Date: 2023-12-13T09:49:37.021Z
Electron: 25.9.7
ElectronBuildId: 25551756
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Windows_NT x64 10.0.22621

Same issue here - it doesn't work at all
Version: 1.85.2 (Universal)
Commit: 8b3775030ed1a69b13e4f4c628c612102e30a681
Date: 2024-01-18T06:40:32.531Z
Electron: 25.9.7
ElectronBuildId: 26354273
Chromium: 114.0.5735.289
Node.js: 18.15.0
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.5.0

Still broken

I'm pretty sure this has worked back in time. Now I just can't add multiple chunks and need to go the reverse way - git add the whole file and then unstage chunk by chunk. I'll test the unfocus workaround, too.

Feature broken

Still an issue for me

Something is still very buggy with "Stage Selected Changes".
I'm observing that the first block chosen does get staged, but subsequent changes do not get staged unless the diff editor is exited and re-entered.

I just had this issue with Stage Selected Changes, when I try to run it after having selected some text it does not do anything, the work-arround I found was to first stage the whole block of the selection and then unstage the unwanted lines by selecting them and choosing Unstage Selected Ranges, at least that's somewhat acceptable if you only have a contiguous block to commit.
Note: I was facing issue when using VS code to write latex, maybe the LaTeX Workshop extension is related because I have it enabled but I really don't think so

Still having the issue with 1.96.0, at least with WSL Remote. Sometimes changes are staging all right, sometimes some changes are staying unstaged. I'm not even sure what logic it follows, seems completely chaotic to me.

Thank you all for commenting on this issue and apologies for not getting back to you on this until now. In recent days I have pushed some changes that address some of the issues with the "stage selected ranges" command. I would really appreciate if you could try the latest VS Code Insiders release (version information below) and would let me know if that resolves the problem. In case you are still able to reproduce the issues I would really appreciate if you could:

See if you are able to reproduce in a simple repository which you could share
Share a recording (https://gifcap.dev) assuming that you are able to consistently reproduce the issue
Let me know if you are invoking the command from a text editor or a diff editor
If you are using a diff editor see if you can reproduce the problem when using the "Stage Selection" command available in the editor gutter.

Version: 1.97.0-insider
Commit: cf2ebd91b8e42e3bc5ab0e85e3323c886a977ffe
Date: 2024-12-18T06:50:13.779Z
Electron: 32.2.6
ElectronBuildId: 10629634
Chromium: 128.0.6613.186
Node.js: 20.18.1
V8: 12.8.374.38-electron.0
OS: Darwin arm64 24.2.0


Regression: Blazblue: Centralfiction (586140) crashes when selecting specific character (Mai Natsume)

Software information
Blazblue: Centralfiction (586140)
Reported by folks here: https://github.com/ValveSoftware/Proton/issues/1031#issuecomment-1355716116
Blazblue: Centralfiction crashes when selecting Mai Natsume.  The easiest way to test this is:

Launch game and get to main menu
Under "Practice", select Training Mode
Select Mai Natsume as a character - she is in the very top right corner of the selection screen with purple hair

System information
Reproduced on Steam deck

GPU: AMD custom GPU 0405 (vangogh, LLVM 13.0.0, DRM 3.45, 5.13.0-valve21,3-1-neptune)
Driver: Mesa 22.0.2 (git-71648faf15) - on SteamOS Stable
Wine version: Broken in current Proton Experimental-7.0-20221208 and bleeding edge (experimental-bleeding-edge-7.0-31585-20221220-p1a1b4a-w30ed35-d12901b-ve8d00f).  Working with Proton 7.0-6 on frozen DXVK branch
DXVK version: HEAD at 12901b52f19ea1d3eece450a009f4602b5f2adc3

Apitrace file(s)
Instead of getting this, I bisected the regression.  It appeared to bisect cleanly and blamed:
commit 6ca6554452543cca14daf017437c5b7b3e848909
Author: Robin Kertels<EMAIL_ADDRESS>Date:   Wed Mar 16 02:28:22 2022 +0100
[d3d9] Use memory mapped files for textures

Please let me know if apitrace would still be useful to try to obtain.
Log files

d3d9.log:BBCF_d3d9.log

I got an apitrace of crash on experimental and working dxvk version (7.0-6).  Thank you for the help Blisto91! The files are way too big to upload, so I uploaded them here with unlock code "apitrace" : https://www.codeweavers.com/xfer/alasky/blazblue-traces/

Unfortunately both apitraces replay just fine. I don't have access to the game either.

d3d9.textureMemory = 0 fixed for me.

Yes it's a issue with the new memory unmapping feature introduced in 2.0. The above option disables it when set to 0.

This appears to be an off-by-one bug in the game. If I pad the allocation for the texture by literally just 1 byte, it works.

This now happens again in Proton 8.0-1 again.

That's most likely an unrelated issue then. Please report that over on the Proton issue tracker.

That's most likely an unrelated issue then. Please report that over on the Proton issue tracker.

Oh sorry I thought I was lol


Add DynamicVector and DynamicMatrix

Probably could have just one type given the shape is stored as an attribute.

Should work with FromIterator and Extend traits.

Should support Serialize and Deserialize traits.


Mocked fungibles::* traits

Instead of always using pallet-balances in mock runtimes we should rather write a mock for the fungibles::* traits.

I can start working on this if you want.
Is there any example of mock being implemented for other traits?

Yes @muraca, although I currently dont have much time to review things.
One example would be the account storage map here, or the Polling. They all use thread locals via parameter_types! and pub static.
I think this should also be used here. Thinking about this, you will probably have to build some raw byte storage with thread locals and then decode the correct type out of them, since thread locals cannot be generic but the wrapper that accesses them is generic...

Actually @gavofyork is working on it himself (draft: https://gist.github.com/gavofyork/0e547f7adf26f69b2753e3cfa9ebcf55). So maybe wait there is a draft MR and then extend the missing traits or see what is needed afterwards.


[3.0] Make class TplActivities internal or change namespace

It's not clear that this class was ever intended to be public.
If there is no objection, we should make it internal.
If this remains public, the namespace MUST be changed. "Shared" is a reserved keyword.
See CA1716: Identifiers should not match keywords
https://github.com/Microsoft/ApplicationInsights-dotnet-logging/blob/93ad4a8a46965d95654fe1f962df74c3bb792a79/src/EventSource.Shared/EventSource.Shared/Utilities/TplActivities.cs#L7-L26

Hi @TimothyMothra , can I help in this?
Would be better to change to internal or change the namespace? If the namespace is the choice, what name should we give?
Thanks

@eddynaka This would be a breaking change and hence this will only be done in next major version bump to 3.0, which is not planned in immediate term.


Update YARD so it can be formatted easier for the CLI.

Ping @NARKOZ.  I wasn't sure if you would like this but it definitely would improve the help output in the CLI since it looks a bit like the YAML strings needed to pass options.

Merged and pushed.


cherry-pick no-unicode support

I can't use Turnstile with any proficiency in the unicode syntax.

Merging now but FYI, this will break cur because it only selectively imports some things from turnstile

Ah. I'll update cur later today.
--
Sent from my phoneamajig

On Jul 12, 2019, at 08:16, Stephen Chang<EMAIL_ADDRESS>wrote:
Merging now but FYI, this will break cur because it only selectively imports some things from turnstile
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Just ran cur from turnstile-core and it seems to work fine. All the dep* tests in turnstile-lib were already updated, and it looks like the versions in cur-lib are not doing as much selective importing.

Are you running your repo or mine (turnstile-core branch)? Mine is breaking. About to push a fix. Are you synced with me?

Yours. I thought I was. Maybe I didn't pull correctly.

Oh nevermind, only some of the dep-ind files in curnel were working.


Different intervals for commit and push

Thanks for the great work!
I'd like changes to be autocommited and autopushed, but I'd like the pushes to be less frequent than the commits. A new input could be added for this. What do you think?

Could you explain your use case a bit more? Why don't always push?

I'm not the OP on this, but I went looking for this setting because I am prompted for a password to my SSH key when a push happens. I'd like to do a commit every 5 minutes or so after a change, but only push once a day to limit those prompts.
I see a big difference between the disaster recovery benefit (pushing) and the benefit of point in time recovery (committing) for changes, or an "oops" event.


Using uint8_t[] as the type of the board in the tic_tac_toe.abi - error: "is_type(field.type):"

Hi,
After finishing the TicTacToe tutorial, I started playing with the .abi and changed the board type from:

{
"name": "board",
"type": "uint8[]"
}

to:

{
"name": "board",
"type": "uint8_t[]"
}

So it will match the board type in the .hpp.
When i tried to deploy the contarct (after making a change in the .cpp to change the wast hash), I was getting this error:

~/Documents/eos_dev/projects: cleos set contract tic.tac.toe ./tic_tac_toe/
Reading WAST/WASM from ./tic_tac_toe/tic_tac_toe.wast...
Assembling WASM...
Publishing contract...
Error 3030000: transaction validation exception
Ensure that your transaction satisfy the contract's constraint!
Error Details:
is_type(field.type):
~/Documents/eos_dev/projects:

Why "uint8_t" is an invalid type for this array?
That error does not give the developer a lot of information about the issue.

Version: #2381

This doesn't answer your questions, but it may help. The list of basic types is at
https://github.com/EOSIO/eos/blob/15953cc1be7a4d4ff168d0235dbaba9464033b70/libraries/chain/contracts/abi_serializer.cpp#L56

Thank @tbfleming .
That can explain the error. uint8_t is not a supported type of .abi types.
After looking at abi_serializer.cpp code, I can see there is a validation for types:
        FC_ASSERT(is_type(td.type), "invalid type", ("type",td.type));
But for some reason, it didn't catch uint8_t as an invalid type.


Train progress

Ηi,
we are trying to get information about the progress of the train. For example we have the following calls:
XGBoostRegressionTrainer myNewTrainer = new XGBoostRegressionTrainer(getByObjective(params), numOfTrees, params);
trainedModel = myNewTrainer.train(dataset);
and we want to get the progress of "train" in order to connect it to a progress bar but we have not be able to do so.
I kindly ask you to inform us if something like this is possible.

Thank you very much for your prompt reply (and sorry for my late response!). I will try to work with it.


Add helm-deploy command

Context
Resolves https://github.com/mdg-private/circleci-pde-orb/issues/23
Adding helm deploys as a command to the internal platform orb, so it's standardized across the platform / makes it easier for new repos (such as Hermes) to integrate helm. This new helm-deploy command should be used in Monorepo / Cloud-router.
What Changed
Added helm-deploy command. Assumes that the image version is set in a .version file (following the same pattern used in cloud-router). Not sure if its the best method, but its one way/seems like the best way to pass in a version? Open to thoughts on this.
Notes
Needs further discussion tomorrow about potentially moving to private orb. Or it might be fine how it is now. Topics to discuss are passing in GCLOUD_PROJECT_ID, kubernetes cluster, platform-env for slack-circleci-build message.

Oh, also make sure to document the .microservice_version thing in the docs. (At least in the documentation to this command, or something in src/examples/ AND our internal documentation site you've been working on


[Backport release-21.05] steamPackages.steam-runtime: 20210527.0 -> 20210630.0

Backport of #130195.

Motivation for this change
Things done

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

[ ] 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"
[ ] Tested execution of all binary files (usually in ./result/bin/)
21.11 Release Notes (or backporting 21.05 Relase notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 130456 at f8a3b92f run on x86_64-linux 1

7 packages built successfully:

kodiPackages.steam-launcher
lutris
protontricks
steam
steam-run
steam-tui
steamcmd

Result of nixpkgs-review pr 130456 run on x86_64-linux 1

7 packages built:

kodiPackages.steam-launcher
lutris
protontricks
steam
steam-run
steam-tui
steamcmd

@lovesegfault can we merge this? :)


stack/stack.c: various cleanups.

This is kind of follow-up to recent stack changes.

There are a few places that test st->num < 0.  Those tests can be removed, and of course, for those that look like this, it be removed entirely:
    if (sk->num < 0)
        return NULL;

Take a look...


Redirect to sign in

On any page, if the user is not logged in redirect them to the sign in page

I added this
     if ( angular.isDefined($localStorage.token) ) {         $scope.app.user = {           username: $localStorage.username,           avatar:  $localStorage.avatar         }       } else {         $state.go('access.signin');       }
in the file https://github.com/sleeveup/sleeveup-app/blob/master/src/js/main.js#L67
Need a logout to test it, it may work?

Its not working for me yet. If I load the dashboard without the token in local storage, it does not redirect me anywhere.

That state.go isn't firing, but the logic is going there
On Jun 11, 2016 12:14 PM, "Brian Menasco"<EMAIL_ADDRESS>wrote:

Its not working for me yet. If I load the dashboard without the token in
local storage, it does not redirect me anywhere.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/sleeveup/sleeveup-app/issues/11#issuecomment-225388070,
or mute the thread
https://github.com/notifications/unsubscribe/AAsjdK0SZox7UkJLEEizEl_shTxytGjEks5qKwkhgaJpZM4IzdO5
.

@ardeay - Please verify, this should be working now.


Fix testing mongo usage

:tada: This PR is included in version 8.0.0-alpha.2 :tada:
The release is available on:

v8.0.0-alpha.2
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 8.0.0-beta.1 :tada:
The release is available on:

v8.0.0-beta.1
GitHub release

Your semantic-release bot :package::rocket:

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

v8.0.0
GitHub release

Your semantic-release bot :package::rocket:


Changes to Account chainSeq to use a sequence number stored on the ChainState

So services can use a single cursor number to keep track of updates not yet processed.
A couple of new services not yet complete.

It's a bit of a thing.


fix: http attribute for dotnet/python agents

Addresses issue #55.
Also has workaround fix for NerdGraphQuery caching issues with fetchEntity query.

 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.

:tada: This PR is included in version 1.4.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


LanguageSelection: only submit value if it isn't null

This fixes an NRE.
Without this PR, you can type something into the picker, click 'Guess', and get an NRE.
I'm not entirely happy with this, though. I think I made a mistake with #119. Before that, we didn't use data binding, and we could (probably?) let the user just type in a language and hit enter. Now, you have to pick from the menu (even if you've typed the value).
Thoughts?

Changelog!


License compliance issue

I would like to bring to your attention the fact that your licensing is incompatible with your dependencies.
Your crate is MIT licensed but depends upon nalgebra which is Apache-2.0 licensed only. While Apache-2.0 projects can use MIT licensed components, the reverse is not so.
Consider for instance that MIT is GPL v2 compatible, while Apache-2.0 is not; Your crate being MIT licensed is thus misleading to any potential GPL-v2 projects that consider using your crate - they'd end up constructing a non-compliant product.

Actually, looking into things a little more today, I believe I was mistaken about the compatibility issue. Apologies for the noise, please ignore. (The last sentence is correct though, your project being MIT licensed rather than Apache-2.0 or 'MIT OR Apache-2.0 masks the underlying use of Apache-2.0 only components which could lead to users making such mistakes with GPL projects).


Web - Adding MSI support

Generated from RestAPI PR: https://github.com/Azure/azure-rest-api-specs/pull/1824

Codecov Report

Merging #1534 into master will decrease coverage by <.01%.
The diff coverage is 24.13%.

@@            Coverage Diff             @@
##           master    #1534      +/-   ##
==========================================
- Coverage   54.23%   54.23%   -0.01%
==========================================
  Files        3584     3585       +1
  Lines       88213    88235      +22
==========================================
+ Hits        47846    47853       +7
- Misses      40367    40382      +15

Impacted Files
Coverage Δ

azure-mgmt-web/azure/mgmt/web/models/ms_deploy.py
38.46% <ø> (ø)
:arrow_up:

...ure/mgmt/web/models/conn_string_value_type_pair.py
71.42% <ø> (ø)
:arrow_up:

azure-mgmt-web/azure/mgmt/web/models/sku_infos.py
66.66% <ø> (ø)
:arrow_up:

azure-mgmt-web/azure/mgmt/web/models/web_job.py
35.71% <ø> (ø)
:arrow_up:

...-web/azure/mgmt/web/models/metric_specification.py
21.05% <ø> (ø)
:arrow_up:

...-mgmt-web/azure/mgmt/web/models/resource_metric.py
35.71% <ø> (ø)
:arrow_up:

...dels/azure_blob_storage_application_logs_config.py
57.14% <ø> (ø)
:arrow_up:

...mt-web/azure/mgmt/web/models/auto_heal_triggers.py
50% <ø> (ø)
:arrow_up:

...gmt-web/azure/mgmt/web/models/validate_response.py
66.66% <ø> (ø)
:arrow_up:

...gmt/web/operations/top_level_domains_operations.py
19.17% <ø> (ø)
:arrow_up:

... and 108 more

Continue to review full report at Codecov.

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


foldr1 and foldl1 are too restrictive

Should the signature of foldr1 (and similarly foldl1) be:
foldr1 :: forall f a b. Foldable1 f => (a -> b -> b) -> (a -> b) -> f a -> b

I understand the logic behind the current signature:
foldr1 :: forall f a b. Foldable1 f => (b -> b -> b) -> f b -> b

In that, if I have a mapping from a -> b, then I can pre-map unconditionally, and derive the latter signature. Unfortunately that's not actually what I want to do:

I only want the mapping to apply to the terminal value.
I want to otherwise combine with the combining function.
I don't want to waste an entire traversal to make the signature work.

I feel like there's a missed opportunity with the current signature. To be honest, I almost never want the current signature.

I'd be ok with making a breaking change release outside of the compiler changes. However, how would that be handled?


[Feature Request] Continuous query definitions allow for new line characters.

Currently Continuous Query definitions dont allow for new line characters. This makes creating CQs a bit of a pain.

Do you mean within the influx binary? I think you can use newlines for continuous queries through the general HTTP API.

I meant with the http api, didn't realize that would work. Would be nice in the CLI though.

I think this is an issue with the CLI so I think we'll have a different feature request for improving the CLI.


Body parsing with  charset="utf-8" and Content-Transfer-Encoding: 8bit not working

I have
Content-Type: text/plain;
	charset="utf-8"
Content-Transfer-Encoding: 8bit

and
Content-Type: text/html;
	charset="utf-8"
Content-Transfer-Encoding: 8bit

And body content is not parsed when I am using
raw_imap_response
|> MimeMail.from_string
|> MimeMail.decode_body

Email is from gramarly it will be attached in file. Can someone please take a look?
Thanks
gramarly.zip

looks like this is fixed here: https://github.com/kbrw/mailibex/pull/24
Wondering if the pull will be accepted soon?


[FLINK-10704] Fix sql client end to end test failure

What is the purpose of the change
This pull request fixes sql client end to end test failure
Brief change log

Fix sql client end to end test failure

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@pnowojski @twalthr I refer to other end-to-end tests and skip the check.

@pnowojski updated.

@pnowojski OK, Shall I also remove the commit about "Clearly sleep for a while to wait for the correctness of the elasticsearch statistics." and fix it in a sperate PR?

You don't have, it can be in this PR - just rename the commit message.

@pnowojski I have updated this commits. Now, FLINK-10604 is only blocked by this PR, I hope it can be merged as soon as possible.

@pnowojski Can we merge this PR?

I will look into https://issues.apache.org/jira/browse/FLINK-10801 but in the meantime I will just merge
[FLINK-10704] fix alone.

Merged without FLINK-10801 fix

as af90555fb4 into master
as 193faaa007 into release-1.7


treewide: avoid dashes in specialisation names

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

@ofborg test switchTest activation-etc-overlay-mutable activation-etc-overlay-mutable caddy initrd-luks-empty-passphrase systemd-initrd-luks-fido2 systemd-initrd-btrfs-raid systemd-initrd-luks-keyfile systemd-initrd-luks-password systemd-initrd-swraid systemd-sysusers-immutable systemd-systusers-mutable taskserver thanos

@ofborg test systemd-sysusers-mutable

The swraid test seems to be broken on master as well, I think it hangs while looking for the root device.

There are users with dashes in their specialisation names. Just making it so our tests don't use dashes doesn't help them. Those users will have older generations that they don't want to GC that will trigger the errors because those live outside of the new assertion.
We need to fix the actual problem and support dashes in specialisation names. This seems like entirely the wrong appraoch to me.

Ok, it's just a lot less clear what's a good way to do that, and I've seen several people in matrix now with broken configs because of this.

My main point is that simply asserting that no specialisation has a dash in its name doesn't actually fix problems for users. Their old generations will still generate errors during nixos-rebuild as the systemd-boot-builder.py processes the old generations' specialisations.
@JulienMalka @Mic92 If we can't fix this problem, then I think we have to revert boot counting again until we think of something that works.
My extremely crude solution is to base64 encode specialisation names in the file name to make it easy to match correctly. This would work correctly but is really ugly because the file names become incomprehensible. I think we need something of similar nature, but preferably less ugly; i.e. just something that removes the dashes in a reversible way.

We could replace the dashes by \x2d like systemd does for paths.

Yea, the only issue with that is that technically it would break on names including \x2d, unless we implemented an entire escaper (or find a pre-existing one). That's, of course, a very esoteric use case though.

For complete reference, there is also https://github.com/NixOS/nixpkgs/pull/333857 that might be fixing the issue. Unfortunately, I am in holidays and cannot be in the proper conditions to give the necessary attention to the problem and produce a fix that is not going to blow up on us again. If the short term solution is a revert of boot counting, then let's revert. I agree that we should not break the generations of everyone that uses a dash in their specialisations names.

Ah, I was not aware of the other PR. I'll take a look.

Yea, the only issue with that is that technically it would break on names including \x2d, unless we implemented an entire escaper (or find a pre-existing one). That's, of course, a very esoteric use case though.

If dashes are the only problematic character then it's as simple as \ → \x5c then - → \x2d.

For complete reference, there is also https://github.com/NixOS/nixpkgs/pull/333857 that might be fixing the issue. Unfortunately, I am in holidays and cannot be in the proper conditions to give the necessary attention to the problem and produce a fix that is not going to blow up on us again. If the short term solution is a revert of boot counting, then let's revert. I agree that we should not break the generations of everyone that uses a dash in their specialisations names.

If we merge that one, then we should probably revert the earlier PR that added an assertion to disallow dashes.


yo --generators command is showing folders not intended to be generators

Type of issue
A bug!
My environment

OS version/details: MacOS 10.13.6 (High Sierra)
Node version: 10.13.0
npm version: 6.7.0
Version of yo : 2.0.5

Expected behavior
When running yo --generators on the command line, I expect to see all generators and sub-generators as prescribed in the package.json file under the files array.
My current generator has a generators folder, and my package.json section looks as follows:
  "files": [
    "generators"
  ],
  "keywords": [
    "yeoman-generator"
  ],

As such, I would expect only folders in my ./generators/ directory to be listed as sub-generators.
My current generator project has a structure similar to this:
generators/
  app/
    index.js
  expected-generator/
    index.js
gulpfile.js/
  index.js
package-lock.json
package.json

And I would expect the following on the command line:
$ yo --generators
Available Generators:

  my-generator
    expected-generator

Current behavior
All folders in both the root and generators directories that contain an index.js file are being listed as sub-generators.  As such, when I create an advanced gulpfile.js folder, this is being listed as a sub-generator.
$ yo --generators

Available Generators:

  my-generator
    expected-generator
    gulpfile.js

Given that I explicitly stated for the generators folder in my files array to contain my generators, I would expect other, non-related directories to be ignored.
Steps to reproduce the behavior
Create a generator with the above configuration in package.json and create any directory with an index.js file in the root.  These should not show up as a sub-generator unless explicitly listed in the files array, according to the documentation, but as of now, all folders are listed as sub-generators (regardless of what is in files).
Command line output
N / A

Yeoman doesn't read the package.json file to know which folders are generators. We looks at the folder structure, and in this case, gulpfile.js is in a generator location.
That being said, as this file won't be included in your published package, it won't be an issue once published to npm.

Thanks for the response.  Just in case it's helpful, your explanation seems in contrast to the Yeoman documentation:

Yeoman allows two different directory structures. It’ll look in ./ and in generators/ to register available generators.
...
If you use this second [generators/] directory structure, make sure you point the files property in your package.json at all the generator folders.
{
 "files": [
   "app",
   "router"
 ]
}

I don't plan on publishing the package (we use it internally), so it's a bit inconvenient for me, but not a high-priority issue