Increased memory usage when creating a watch program that includes local JavaScript files in node_modules

🔎 Search Terms
Reached heap limit Allocation failed out of memory createWatchCompilerHost createWatchProgram
🕗 Version & Regression Information

This changed in commit 385db449f5395ab4d8f24c5f531e85aebbe228c7  ; PR #56946

⏯ Playground Link
https://github.com/reduckted/repro-typescript-memory-usage
💻 Code
This cannot be reproduced with a few lines of code. It needs a large TypeScript project. Use these steps to see the increased memory usage:

Clone the repository git clone https://github.com/reduckted/repro-typescript-memory-usage
Run npm i
Run node run.js and see the memory usage (this will be for TypeScript 5.4.3).
Install TypeScript 5.3.3 npm i<EMAIL_ADDRESS>-D
Run node run.js and see the memory usage.

For the linked repository, I am seeing 525 MB used in 5.3.3 and 775 MB used in 5.4.3. The larger the TypeScript project, the worse the memory usage is.
🙁 Actual behavior
The memory consumed by TypeScript 5.4 is much larger compared to 5.3. The larger the TypeScript project, the worse the memory usage is. Large projects can cause Node.js to run out of memory.
🙂 Expected behavior
TypeScript should have equivalent memory usage to v5.3.
Additional information about the issue
What I've been able to determine is that when you have a JavaScript project in the repository and install it as a node module, creating a "watch" program that includes files that require files from that project will consume significantly more memory in 5.4.3 compared to 5.3.3.
I encountered this problem when running ESLint with a config that uses the @typescript-eslint/* plugins. Using TypeScript 5.3.3, ESLint would run fine. After upgrading to 5.4.3, ESLint would crash with an out of memory error:
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

The repository that this was occurring on is an internal, closed-source company project, so I can't share it and signing an NDA will not be possible. However, I have been able to see an increased memory usage with a similar project setup in other projects. The repository I have linked above is a clone of ionic-team/ionic-framework with a few additions to it.
This is roughly the setup in the closed-source repository:

All TypeScript code is contained under a source/ directory.
We have some JavaScript projects that are for various build tools. One of them is for our Storybook configuration.
We install those JavaScript projects as node modules so that we can refer to them using @my/project (for example) rather than use relative paths.
We have a .storybook/ folder at the root. The files in that folder require some of the JavaScript projects.
We have a TypeScript configuration file that is specifically used by ESLint. It includes all of the TypeScript code as well as the .storybook/ directory, as well as a few other files that aren't relevant to this issue.

I've created a similar setup in the linked repository.

The JavaScript project is installed as a node module: https://github.com/reduckted/repro-typescript-memory-usage/blob/main/package.json#L5
The files in the .storybook/ folder require the JavaScript projects: https://github.com/reduckted/repro-typescript-memory-usage/blob/main/.storybook/main.js
There's a special TypeScript configuration file that includes the TypeScript files and the .storybook/ directory: https://github.com/reduckted/repro-typescript-memory-usage/blob/main/tsconfig.memory.json

I've created a script called run.js that does a simplified version of what the @typescript-eslint plugin does. It creates a "watch" compiler host, then creates a "watch" program:
let tsconfigPath = path.join(__dirname, "tsconfig.memory.json");

let host = ts.createWatchCompilerHost(
  tsconfigPath,
  {
    noEmit: true,
    noUnusedLocals: true,
    noUnusedParameters: true,
    allowNonTsExtensions: true,
    allowJs: true,
    checkJs: true,
    extendedDiagnostics: true,
  },
  ts.sys,
  ts.createAbstractBuilder,
  () => {},
  () => {}
);

host.onUnRecoverableConfigFileDiagnostic = (diagnostic) => {
  console.log(
    ts.flattenDiagnosticMessageText(diagnostic.messageText, ts.sys.newLine)
  );
};

host.trace = () => {};

console.log("TypeScript v" + ts.version);

console.log(
  `Memory before: ${Math.trunc(process.memoryUsage().heapUsed / 1048576)} MB`
);
let program = ts.createWatchProgram(host);

console.log(
  `Memory after:  ${Math.trunc(process.memoryUsage().heapUsed / 1048576)} MB`
);
program.close();

Using the linked repository, I'm seeing this when using TypeScript 5.3.3:
TypeScript v5.3.3
Memory before: 20 MB
Memory after:  525 MB

And this for TypeScript 5.4.3:
TypeScript v5.4.3
Memory before: 20 MB
Memory after:  775 MB

An extra 250 MB of memory used. If you remove ".storybook/**/*.js" from the TypeScript configuration, the amount of memory used by TypeScript 5.4.3 is about 580 MB, so still a little bit higher that 5.3.3, but significantly less that 5.4.3.
The larger the project, the worse the memory usage is.
In the closed-source repository, if I remove about half the code, I get these results:
Some of the extended diagnostics
--------------------------------
Files:                6726
Lines of Library:     37748
Lines of Definitions: 200580
Lines of TypeScript:  468949
Lines of JavaScript:  0
Lines of JSON:        0
Lines of Other:       0

Memory usage
------------
TypeScript v5.3.3:
Memory before: 20 MB
Memory after:  1313 MB

TypeScript v5.4.3:
Memory before: 20 MB
Memory after:  3532 MB

If I include all of the code and increase the heap size, I get these results:
Some of the extended diagnostics
--------------------------------
Files:                8800
Lines of Library:     37748
Lines of Definitions: 202172
Lines of TypeScript:  1118038
Lines of JavaScript:  0
Lines of JSON:        0
Lines of Other:       0

Memory usage
------------
TypeScript v5.3.3:
Memory before: 20 MB
Memory after:  2254 MB

TypeScript v5.4.3:
Memory before: 20 MB
Memory after:  8180 MB

As you can see, that's an extra 6 GB of memory compared to 5.3.3! 🤯
Here's a summary of the increased memory usage:

Files
Memory Usage in v5.3.3
Memory Usage in v5.4.3

1605
525 MB
775 MB

6726
1313 MB
3532 MB

8800
2254 MB
8180 MB

@andrewbranch Any ideas why 385db449f5395ab4d8f24c5f531e85aebbe228c7 might have triggered this issue?

Because we’re loading more of your own JS files instead of giving you implicit anys while refusing to read them. Is there a reason you need allowJs enabled but don’t want it to apply to monorepo packages installed locally into other packages?

Because we’re loading more of your own JS files

I understand that more files need to be loaded and that will lead to more memory usage, but 6,000 MB more memory? A 400% increase? That seems excessive to say the least.

Is there a reason you need allowJs enabled

We have a mix of TypeScript and JavaScript in the monorepo. The TypeScript is the application code, while the JavaScript is used for tooling (like ESLint rules, Storybook configurations, build scripts, etc). The reason why we use JavaScript for those types of projects is so that we don't need to compile them before we can use them. For example, we can just run ESLint and it uses our custom rules instead of us first having to compile our rules from TypeScript into JavaScript. It just makes life easier.
The TypeScript and JavaScript projects have separate configuration files (tsconfig.json for the TypeScript projects and jsconfig.json for the JavaScript projects), but we also have a combined project that is used by ESLint - see https://typescript-eslint.io/getting-started/typed-linting/monorepos#one-tsconfigjson-per-package-and-an-optional-one-in-the-root
Having this combined configuration ensures that VS Code (via the ESLint plugin) will check any file in the workspace because the files from all projects are in the TypeScript project that ESLint is using.

Unfortunately, the extended diagnostics from tsc --extendedDiagnostics are virtually identical because the issue doesn't occur when compiling via tsc. It only occurs when using a "watch compiler host".

Property
5.3.3
5.4.3

Files
8809
8810

Lines of Library
37748
38041

Lines of Definitions
202344
202344

Lines of TypeScript
1127689
1127689

Lines of JavaScript
0
0

Lines of JSON
0
0

Lines of Other
0
0

Identifiers
1593168
1593382

Symbols
2079779
2055354

Types
567055
566961

Instantiations
2187276
2201951

Memory used
2159326K
2158843K

Assignability cache size
268493
269038

Identity cache size
16611
16618

Subtype cache size
45843
45813

Strict subtype cache size
87618
87623

I/O Read time
2.58s
2.51s

Parse time
5.26s
5.19s

ResolveModule time
2.85s
2.79s

ResolveLibrary time
0.01s
0.02s

ResolveTypeReference time
0.02s
0.01s

Program time
12.13s
11.87s

Bind time
2.82s
2.54s

Check time
49.14s
50.67s

printTime time
0.00s
0.00s

Emit time
0.00s
0.00s

Total time
64.09s
65.08s

I'll try to work out how to get the same information from the watch host compiler.

@andrewbranch Here are the extended diagnostics from the watch host compiler for 5.3.3 and 5.4.5:

Property
v5.3.3
v5.4.5
Diff
Diff %

Files
8823
9330
+507
5.7%

Lines of Library
37748
38041
+293
0.7%

Lines of Definitions
204088
329819
+125731
61.6%

Lines of TypeScript
1126416
1126416
0
0%

Lines of JavaScript
276
1761
+1485
538.0%

Lines of JSON
0
0
0
0%

Lines of Other
0
0
0
0%

Identifiers
1640769
1771163
+130394
7.9%

Symbols
2081369
2140374
+59005
2.8%

Types
567044
574305
+7261
1.2%

Instantiations
2186559
2229199
+42640
1.9%

Memory used
2338983K
8332631K
+5993648
256.2%

Assignability cache size
268459
271481
+3022
1.1%

Identity cache size
16564
16580
+16
0.09%

Subtype cache size
45773
45812
+39
0.08%

Strict subtype cache size
87667
87687
+20
0.02%

I/O Read time
7.63s
6.19s
-1.44
-18.8%

Parse time
5.68s
6.08s
+0.4
7.0%

ResolveModule time
3.00s
3.37s
+0.37
12.3%

ResolveLibrary time
0.03s
0.04s
+0.01
33.3%

ResolveTypeReference time
0.03s
0.04s
+0.01
33.3%

Program time
25.59s
140.48s
+114.89
448.9%

Bind time
2.49s
3.23s
+0.74
29.7%

Check time
47.07s
55.12s
+8.05
17.1%

printTime time
0.00s
0.00s
0
0%

Emit time
0.00s
0.00s
0
0%

Total time
75.15s
198.84s
123.69
164.4%

Something is definitely weird. All the correlates of memory usage increased modestly, as expected, while actual memory usage shot up. And all the times increased somewhat within the expected range too, except for program time, which shot up inexplicably. If you look at your smaller repro, the same pattern doesn’t exist—program time increased only slightly—so I’m not sure it’s a good representation of what’s going on here.

@sheetalkamat is it possible that #56946 is having an unexpected interaction with watch programs specifically that’s creating a huge memory / program construction time increase?

I am not sure whats going on.
Can you check tsc --watch --extendedDiagnostics this should use watch compiler host in tsc. do you see similar to tsc --extendedDiagnsotics i am assuming it to be.
Once done that i would then get logs from --traceResolutions and --explainFiles on both (programatic watch host that you are running and tsc --watch ) and compare and see where things are going off rail and including more files.

Apologies for the slow response.
I've discovered an important piece of information. This only happens on Windows. I was able to set up a WSL environment with the same projects and test script. I tried copying the TypeScript code into ~/ and installing node modules there so it's unaffected by whatever npm did on Windows, and the memory usage was more or less the same as TypeScript v5.3.
I also tried running the test script against the projects and node_modules directory on Windows via /mnt and had the same result - the memory usage is equivalent to TypeScript v5.3.
Back on Windows, here's the extended diagnostics from tsc and tsc --watch. Pretty much the same.

Property
tsc
tsc --watch

Files
8813
8813

Lines of Library
38041
38041

Lines of Definitions
202437
202437

Lines of TypeScript
1127001
1127001

Lines of JavaScript
0
0

Lines of JSON
0
0

Lines of Other
0
0

Identifiers
1592629
1592629

Symbols
2058568
2058568

Types
567416
567416

Instantiations
2205378
2205378

Memory used
2175471K
2262510K

Assignability cache size
269264
269264

Identity cache size
16617
16617

Subtype cache size
45742
45742

Strict subtype cache size
87559
87559

I/O Read time
2.50s
3.34s

Parse time
5.16s
6.99s

ResolveModule time
2.81s
4.73s

ResolveLibrary time
0.02s
0.05s

ResolveTypeReference time
0.01s
0.03s

Program time
11.85s
37.08s

Bind time
2.42s
2.42s

Check time
48.01s
47.57s

printTime time
0.00s
0.00s

Emit time
0.00s
0.01s

Total time
62.28s
87.07s

I'll work on getting the --traceResolutions and --explainFiles output as soon as I can.

Hm, it's a long shot, but if this happens on Windows but not on Linux, can you disable forceConsistentCasingInFileNames and try your test again?

Hm, it's a long shot, but if this happens on Windows but not on Linux, can you disable forceConsistentCasingInFileNames and try your test again?

That does indeed seem to be causing the problem.
With forceConsistentCasingInFileNames set to false:
Files:                         9392
Lines of Library:             38041
Lines of Definitions:        331893
Lines of TypeScript:        1127001
Lines of JavaScript:           1768
Lines of JSON:                    0
Lines of Other:                   0
Identifiers:                1774641
Symbols:                    2145904
Types:                       575068
Instantiations:             2233494
Memory used:               2302867K
Assignability cache size:    271829
Identity cache size:          16626
Subtype cache size:           45811
Strict subtype cache size:    87658
I/O Read time:                3.28s
Parse time:                   7.01s
ResolveModule time:           3.71s
ResolveLibrary time:          0.04s
ResolveTypeReference time:    0.04s
Program time:                24.76s
Bind time:                    3.25s
Check time:                  60.84s
printTime time:               0.01s
Emit time:                    0.01s
Total time:                  88.86s

Hm, that time is still 88 seconds, no? Aren't you expecting 62s?

88 seconds is about on par with a regular tsc --watch. The 62 seconds was just from tsc. I ran it again and the total time was about 78 seconds, so the fluctuations are probably just down to other stuff that's happening on machine.

But, the key is that memory usage is lower? Not totally seeing the change or memory increase from the above, now that I look.

Yeah, when forceConsistentCasingInFileNames  is set to false, the memory usage is equivalent to a regular tsc or tsc --watch. With forceConsistentCasingInFileNames  set to true, it's ~8300000K compared to ~2300000K.

This looks very similar to https://github.com/typescript-eslint/typescript-eslint/issues/1192 then.

@reduckted When you get a chance, can you try using "typescript": "npm<EMAIL_ADDRESS>(from https://github.com/microsoft/TypeScript/pull/58299#issuecomment-2074000052) and see what happens?

Unfortunately, I think that made it worse. 😬
Extended Diagnostics from<EMAIL_ADDRESS>
Files:                         9333
Lines of Library:             38310
Lines of Definitions:        330028
Lines of TypeScript:        1125933
Lines of JavaScript:           1874
Lines of JSON:                    0
Lines of Other:                   0
Identifiers:                1771154
Symbols:                    2146594
Types:                       575457
Instantiations:             2264849
Memory used:               9018150K
Assignability cache size:    271633
Identity cache size:          15752
Subtype cache size:           45778
Strict subtype cache size:    87964
I/O Read time:                2.83s
Parse time:                   7.16s
ResolveModule time:           3.45s
ResolveLibrary time:          0.06s
ResolveTypeReference time:    0.05s
Program time:               162.39s
Bind time:                    3.36s
Check time:                  62.71s
printTime time:               0.00s
Emit time:                    0.00s
Total time:                 228.47s

That's even more confusing. It's a shame this repo is closed, as heap snapshots would be pretty helpful to know what's leaking...

@jakebailey i dont think that fix is right. The issue doesnt repro with tsc --watch only with programatic usage of API.
Please share a repro as otherwise its hard to identify the issue based on speculation. The only way to debug this is to see where the programatic usage and tsc --watch differ.

Ah, I forgot that this was about the public API; too many examples that mention tsc and tsc --watch for my brain to handle 😅. Though if it's always programmatic stuff which fails, then that is even more like https://github.com/typescript-eslint/typescript-eslint/issues/1192 (which I'm almost thinking is related just because eslint has to open loads of files that would not normally be loaded by a regular tsc run).
But forceConsistentCasingInFileNames sure seems like the key here.

Can you try this build? https://github.com/microsoft/TypeScript/pull/58352#issuecomment-2081888721

So i looked into the repro you shared a little bit and initially i was suprised as to why there is extra memory compared to just using plain program API and then I realised that you have not set host.afterProgramCreate as undefined which means its doing error reporting and hence type checking.
When i set that undefined the results were comparable to bare program creation with extra usage for data about state for watching etc.
What i noticed in your said example is that Symbols, Types, instantiations have significantly increased along with number of files included.  So that increase in memory makes sense to me.

5.3.3
v5.5.0-dev.20240430

Files:
1829
1908

Lines of Library:
37748
38310

Lines of Definitions:
188635
218606

Lines of TypeScript:
82545
82545

Lines of JavaScript:
48
95

Lines of JSON:
0
0

Lines of Other:
0
0

Identifiers:
345442
372494

Symbols:
376435
703767

Types:
164829
292256

Instantiations:
246424
840805

Memory used:
538763K
806180K

Assignability cache size:
233655
251302

Identity cache size:
555
2555

Subtype cache size:
1597
1612

Strict subtype cache size:
16531
17068

I/O Read time:
0.98s
0.34s

Parse time:
1.53s
1.43s

ResolveModule time:
0.59s
0.58s

ResolveLibrary time:
0.02s
0.03s

ResolveTypeReference time:
0.08s
0.08s

Program time:
4.57s
3.73s

Bind time:
0.62s
0.61s

Check time:
7.60s
9.96s

printTime time:
0.00s
0.00s

Emit time:
0.00s
0.00s

Total time:
12.79s
14.30s

Later on you have also reported that the issue repros only if you set forceConsistentFileNames to true and I wasnt able to see that with the given repro. So something is missing in the repro you have created. Having said that, it would be great if you can either create a repro or share your code so we can investigate this further. We have lots of reports as @jakebailey  mentioned about es-lint issues but no repro.
Also i have a theory that i am going to work out and create a PR but having a concrete repro really helps speedup investigation rather than us trying things based on some theories.

Can you try this build? #58352 (comment)

No improvement with that one either.

Having said that, it would be great if you can either create a repro or share your code so we can investigate this further

I've actually managed to anonymize the repository, so I will be able to share it soon. I just need to verify that everything has been anonymized, and then I'll be able to share it. Thanks for the patience with this. 🙏

Really appreciate the efforts for repro .. it will help with the right fix . Thanks

Can you please try https://github.com/microsoft/TypeScript/pull/58398#issuecomment-2091878628 to see if this fixes your issue.

I've finally been able to get the reproduction in a state where I can share it.
https://github.com/reduckted/repro-typescript-memory-usage-anonymized
All of the TypeScript files just contain imports and exports - there's no other code, so the overall memory usage is quite a bit lower than what the private repository has, but you can still see a very significant increase in memory.
What I've discovered while putting this reproduction together is that the memory usage is low if the path of the TypeScript configuration file exactly matches the path on disk. However, if you specify a path that is a different case (which is what @typescript-eslint does for some reason), then you get a huge increase in memory usage.
I've included the reproduction steps in the repository, but I'll post them here as well. Just a reminder that this only occurs on Windows.
cd Workspace
npm install
npm start

This will convert the full path of the TypeScript configuration file to lowercase - note that the Workspace/ folder has a capital "W", so the path is not an exact match.
To run the same code using the real file path without changing the case, run:
npm run real-path

This is what I am seeing as the results:

Extended Diagnostics
npm start
npm run real-path

Files
4843
4843

Lines of Library
38041
38041

Lines of Definitions
174189
174189

Lines of TypeScript
32561
32561

Lines of JavaScript
30
30

Lines of JSON
0
0

Lines of Other
0
0

Identifiers
201753
201753

Symbols
140060
140060

Types
2272
2272

Instantiations
168
168

Memory used
1448950K
335819K

Assignability cache size
24
24

Identity cache size
0
0

Subtype cache size
0
0

Strict subtype cache size
0
0

I/O Read time
0.57s
0.69s

Parse time
1.62s
1.76s

ResolveModule time
1.12s
1.56s

ResolveTypeReference time
0.02s
0.02s

ResolveLibrary time
0.07s
0.07s

Program time
26.18s
8.88s

Bind time
0.59s
0.62s

Check time
0.80s
1.09s

printTime time
0.00s
0.00s

Emit time
0.00s
0.00s

Total time
27.57s
10.60s

Can you please try #58398 (comment) to see if this fixes your issue.

That has made a huge improvement! There's still a slight increase in memory between using an exact file path and a lowercase file path, but it's much, much closer than it was.
TypeScript Config:    d:\code\repro-typescript-memory-usage-anonymized\workspace\tsconfig.eslint.json
TypeScript Version:   5.5.0-insiders.20240502
Memory used:          332 MB

vs
TypeScript Config:    D:\Code\repro-typescript-memory-usage-anonymized\Workspace\tsconfig.eslint.json
TypeScript Version:   5.5.0-insiders.20240502
Memory used:          299 MB


Create submodule to primavera tables

Just like we have a dependency on the pcmdi cmip6 tables, we want a link to the primavera cmorization tables in our resources.

Created new primavera branch for this, rev. af1f94ee600f94e8d70defe9ce0ec390be59c84a


Getting ProcessInfo of process invoking file operations

Hi,
I have created a memory drive and now I have a requirement where the drive should not be accessible from any other process apart from the process that launched it.
The launching process (parent process) I can get but when I copy file or do any other operation - I can't determine the process that is making these calls.
If these calls are coming from other source process then that has to be rejected for security reasons.
Using CurrentSession option I am able to restrict access to current user session - but not able to find a way to control at process level.
Is there a way for achieving this?
Thanks.

Hi @imraushan ,
You can use the processId to know from who the request comes from
https://github.com/dokan-dev/dokan-dotnet/blob/95a630c692bcc559b6fe75aa9e9d76a443beb478/DokanNet/DokanFileInfo.cs#L85

Thanks @Liryna. It was super quick!
Tested - It gives information I required about the process invoking file operations.


Streamline SSO code acquisition

Currently the SSO login flow requires a manual highlight/copy/paste-into-browser of the auth URL (see screenshot).
Ideally users would not have to parse the message for the URL & copy it themselves.

Possible alternatives:

SSO window automatically launches browser at that URL (after a short delay to read info?)
SSO window offers some type of "click to copy url" button to avoid having to highlight text

Let's make the URL clickable for now (i.e. format at link)


fix arity of lambdas with optional arguments

From the CRuby 2.2.2 Proc#arity documentation:

If the block has optional arguments, returns -n-1, where n is the number of mandatory arguments, with the exception for blocks that are not lambdas and have only a finite number of optional arguments; in this latter case, returns n.

I don't know how to fix Proc#curry.


-lMagickWand-6.Q8 not found

Hello!
Thanks for this library! I found your tool very helpful.
Now I have some strange error:
Linking ./.build/debug/App
ld: library not found for -lMagickWand-6.Q8 for architecture x86_64
<unknown>:0: error: link command failed with exit code 1 (use -v to see invocation)
<unknown>:0: error: build had 1 command failures

A few days ago my project built normally. I followed README but the error occurs.

Hello!
Recently the library switched from using .Q8 to .Q16 on MacOS as there was some issues with dependencies found by other library user. I'll be fixing this issue as soon as possible and probably switch back to use of .Q8 libraries.
There are few ways you can actually fix this:

Manually change the module.modulemap file in /Sources/CMagickWand/include folder.
Force module to load exactly 0.3.2 version.
Use brew-installed imagemagick package.
If ls /usr/local/lib does list MagickWand-6.Q16 instead of MagickWand-6.Q8, try updating the MagickWand package itself by rm -rf Packages/MagickWand* and running a build script again.

@chika-kasymov any updates?

@naithar sorry, I don't have time now to check your provided solutions. I will try it in this week and write a response.

@naithar I tried the first solution and changed module.modulemap and it worked. Thanks for the help!
PS: It worked from the second attempt, I needed to clear my previous build which saved the previous version of module.modulemap.


Colour in pdf not rendered

Fig. 1 in http://arxiv.org/pdf/0705.4298.pdf is not displayed properly in PDF Viewer 0.8.1

Note: "not displayed properly" = the image on the first page has no colors.


Added my (kshitij) data

Good job @omniscientHorizon
Congrats 🎉, your PR got merged. To be eligible for the swags from ClueLess. Follow this steps.
Note that this repo is excluded from Hacktoberfest but this PR is still eligible for ClueLess Swags.

Star this repository. ⭐

SignIn / SignUp in [ClueLess Website](https://www.clueless.tech/) .

Go to profile section from the top right hand corner.

Comment your profile URL under this comment tagging the person who merged your PR.

That’s it. Follow the leaderboard !
And don’t forget to share your achievement with your friends.


The 3 line Alert example doesn't work

Using angular-cli. I've used it for many apps. Followed simple instructions. Doesn't look like enough code to actually mess up but it doesn't work for me. I can see "hello" but it's plain text. No error in console. I'm not starting off so well :-/

Needs to be...
import { AlertModule } from 'ng2-bootstrap/alert'


No scroll while swiping row (basically don't scroll when swiping diagonally)

Your issue may already be reported!
Please search on the issue tracker before creating one.
Describe the bug
Compared to the expo (I have mostly the same fields set) I can scroll and open a row (which is something I shouldn't be able to do. I'm sure there is a default value, and I saw the onScroll function, but not sure where I'm doing it wrong.
To Reproduce
Steps to reproduce the behavior:
Screenshots
If applicable, add screenshots to help explain your problem.
Environment (please complete the following information):

OS: [e.g. iOS or Android]
RNSLV Version: [e.g. v2.0.2]
RN Version: [e.g. v60.0.5]

Hi @jainshreyp did you solve your issue?

Hey @jemise111 , this issue was found, I realized that that wrapping a ScrollView around the Swipe List View, will make it be able to scroll and swipe at the same time.


Unable to do anything

I checked my input folder and everything, but i cant create nfts it doesnt even let me press the random create thing pls help me.

try lessen the the layers to minimum of 5 and check folders structure again

Now the procent thing is gone

You gotta have the rarity folders within each layer too.

You gotta have the rarity folders within each layer too.

Ok are the necessary to create nfts or are the optional?
Pls excuse me i am a nft noob.

Very necc. Without them it won't work.

How to ceate a rarity folder?
Or is there an example on github?

It's in the Read.me
Example Folder Structure
📦Input Folder
┣ 📂Chest
┃ ┣ 📂common
┃ ┃ ┗ 📜plain_shirt.png
┃ ┣ 📂legendary
┃ ┃ ┗ 📜legendary_shirt.png
┃ ┗ 📂rare
┃ ┃ ┗ 📜rare_shirt.png
┣ 📂Head
┃ ┣ 📂common
┃ ┃ ┗ 📜common_hat.png
┃ ┣ 📂legendary
┃ ┃ ┗ 📜legendary_hat.png
┃ ┗ 📂rare
┃ ┃ ┗ 📜rare_hat.png
┣ 📂Left_Leg
┃ ┣ 📂common
┃ ┃ ┣ 📜common_gun_holster.png
┃ ┃ ┗ 📜standard_pocket.png
┃ ┣ 📂legendary
┃ ┃ ┣ 📜biiiiig_pocket.png
┃ ┃ ┗ 📜legendary_gun_holster.png
┃ ┗ 📂rare
┃ ┃ ┣ 📜kinda_big_pocket.png
┃ ┃ ┗ 📜rare_gun_holster.png
┗ 📂Right_Leg
┃ ┣ 📂common
┃ ┃ ┗ 📜leg_thing.png
┃ ┣ 📂legendary
┃ ┃ ┗ 📜legendary_leg_thing.png
┃ ┗ 📂rare
┃ ┃ ┗ 📜rare_leg_thing.png

Ok ty

It is working now ty for ur help, but does anyone know how to upload  lots of nfts to opensea?


Fixed script and visibility icons's highlight height in tree

Fixed script and visibility icons's highlight height in tree.
The issue was due to label_height being more than icon button height.
Fixes https://github.com/godotengine/godot/issues/29919.
Haven't tested for bugs though.

Thanks!


automatic_sleep_staging: No module named 'lightbgm'

When I tried running the 5th code block in the notebook 14_automatic_sleep_staging, I got the error: ModuleNotFoundError: No module named 'lightgbm'
Here is my traceback:
ModuleNotFoundError                       Traceback (most recent call last)
 in
1 # Getting the predicted sleep stages is now as easy as:
----> 2 y_pred = sls.predict()
3 y_pred
~\PyMOL\lib\site-packages\yasa\staging.py in predict(self, path_to_model)
425             self.fit()
426         # Load and validate pre-trained classifier
--> 427         clf = self._load_model(path_to_model)
428         # Now we make sure that the features are aligned
429         X = self.features.copy()[clf.feature_name]
~\PyMOL\lib\site-packages\yasa\staging.py in _load_model(self, path_to_model)
398         assert os.path.isfile(path_to_model), "File does not exist."
399         # Load using Joblib
--> 400         clf = joblib.load(path_to_model)
401         # Validate features
402         self._validate_predict(clf)
~\PyMOL\lib\site-packages\joblib\numpy_pickle.py in load(filename, mmap_mode)
583                     return load_compatibility(fobj)
584
--> 585                 obj = _unpickle(fobj, filename, mmap_mode)
586     return obj
~\PyMOL\lib\site-packages\joblib\numpy_pickle.py in _unpickle(fobj, filename, mmap_mode)
502     obj = None
503     try:
--> 504         obj = unpickler.load()
505         if unpickler.compat_mode:
506             warnings.warn("The file '%s' has been generated with a "
~\PyMOL\lib\pickle.py in load(self)
1086                     raise EOFError
1087                 assert isinstance(key, bytes_types)
-> 1088                 dispatchkey[0]
1089         except _Stop as stopinst:
1090             return stopinst.value
~\PyMOL\lib\pickle.py in load_stack_global(self)
1383         if type(name) is not str or type(module) is not str:
1384             raise UnpicklingError("STACK_GLOBAL requires str")
-> 1385         self.append(self.find_class(module, name))
1386     dispatch[STACK_GLOBAL[0]] = load_stack_global
1387
~\PyMOL\lib\pickle.py in find_class(self, module, name)
1424             elif module in _compat_pickle.IMPORT_MAPPING:
1425                 module = _compat_pickle.IMPORT_MAPPING[module]
-> 1426         import(module, level=0)
1427         if self.proto >= 4:
1428             return _getattribute(sys.modules[module], name)[0]
ModuleNotFoundError: No module named 'lightgbm'
How do I fix this error? Do I need to install something else? I already tried upgrading yasa with the commandpip install --upgrade yasa, and it told me all requirements were already satisfied

Hi @18alia,
You need to install the lightgbm package: https://lightgbm.readthedocs.io/en/latest/Python-Intro.html
Thanks
Raphael

Hi @18alia,
You need to install the lightgbm package: https://lightgbm.readthedocs.io/en/latest/Python-Intro.html
Thanks
Raphael

Thank you! What else do I need to install to use YASA. I'm assuming I need the things listed on the requirements.txt file, so what is the best way to install all these if I am not GitCloning the entire project?

Hi @18alia,
You can pip install all of the packages in the requirements.txt file, with the exception of the entropy package that requires a manual install (via git clone / zip download).
Best,
Raphael


server crash with 28.3 on generating nether

happens on generation of nether dimension and/or server start/restart (crash loop)
related blocks nether portal
mod list: http://i.imgur.com/CGN5ozp.png
crash report: http://paste.ubuntu.com/10573299/

Duplicate of #230.-


Allow diagnostic scopes names without dot

ServiceBus message scope name consists of one word - Message:
https://github.com/azure/azure-sdk-for-net/blob/main/sdk/servicebus/Azure.Messaging.ServiceBus/src/Diagnostics/DiagnosticProperty.cs#L31
However, ActivitySource (OTel) path ignores scopes that don't contain dot, i.e. servicebus tracing does not work in OTel.
We can't change scope name in ServiceBus because it'll affect the stable  (AI SDK) path, so let's just allow such names as it seems to be harmless.

API change check
API changes are not detected in this pull request.


chore(main): release 1.13.5

:robot: I have created a release beep boop
1.13.5 (2023-11-11)
Performance Improvements

♻ Mirror group shutdown logic (296e21d)
♻ Optimize mirror group (5793c24)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/viarotel-org/escrcpy/releases/tag/v1.13.5 :sunflower:


help me plz! RuntimeError: rpc::rpc_error during call in function get_sensor_token

trying to use my client  to connect a carla server on a different machine.
WARNING: Version mismatch detected: You are trying to connect to a simulator that might be incompatible with this API
WARNING: Client API version     = 4af01bc4
WARNING: Simulator API version  = 0.9.13
Traceback (most recent call last):
File "manual_control2.py", line 1325, in
main()
File "manual_control2.py", line 1317, in main
game_loop(args)
File "manual_control2.py", line 1191, in game_loop
sim_world = client.get_world()
RuntimeError: rpc::rpc_error during call in function get_sensor_token

python test_connection.py --host <IP_ADDRESS>
CARLA 0.9.13 connected at <IP_ADDRESS>:2000.
I used this script to test the connection. It seems connected, but when I use other scripts I still get the same error as mentioned above.

I face the same problem now........

I download PythonAPI agian. It works now. I used scripts from leaderboard version of carla before. Maybe this is the reason why it failed.

I change the version of my python and use .whl to set up my API.	It works now.I guess it's the unmatched version that cause this problem.

Python-3.7 would install Carla-0.9.15 by default, so if you downloaded Carla-0.9.13 and used Python-3.7, then the two version are inconsistent, uninstall and reinstall Carla with:


LE Audio: Add LC3 TX for Unicast Server Sample

Is your enhancement proposal related to a problem? Please describe.
The LE Audio unicast server sample had TX capabilities added by https://github.com/zephyrproject-rtos/zephyr/pull/42964, but without LC3 support.
Besides LC3 support, we may want to refactor the code such that the code for sending over LC3 and the unencoded data is more separated (e.g. move the TX and RX handling into new files).
Describe the solution you'd like
Add the same LC3 encoding from the unicast client sample to the unicast server sample. Similar update the unicast client sample to decode LC3 audio.
Describe alternatives you've considered
N/A
Additional context
N/A

Fixed with #44225

Fixed with #44225

Incorrect - That added support for RX for the Unicast Server, but not TX. Reopening

Of course! Sorry -- should have realized that it didn't even make sense from an issue number perspective.


Support ~2010 Mac graphics cards (and possibly others) with nvgluCreateFramebuffer patch

Fixes #410

Thanks for the fix!

This commit breaks compilation on Linux for example_gles2. It says that the symbol GL_DEPTH24_STENCIL8 is undeclared.

@gavinhoward Merged your PR, thanks! GL_DEPTH24_STENCIL8 indeed is not part of GLES2.
Is GL_OES_packed_depth_stencil supported on your platform?
https://www.khronos.org/registry/OpenGL/extensions/OES/OES_packed_depth_stencil.txt
If it is, can you check if it works? I'm pretty sure the depth/stencil is only required on some nvidia or radeon cards, but not generally on gles2 devices.

I will check tomorrow; I don't program on Sundays as a rule (sorry!).

Oh, and I should clarify that @AndrewBelt is the one who made this pull request. I am a bit too new to OpenGL to know how to fix it.

My problem has been fixed. Thank you!


WIP: Re-add distributed nl-phase execution

Codecov Report

:exclamation: No coverage uploaded for pull request base (logical-planner@e09cb31). Click here to learn what that means.
The diff coverage is 66.66%.

@@                Coverage Diff                 @@
##             logical-planner    #6354   +/-   ##
==================================================
  Coverage                   ?   82.98%
  Complexity                 ?    12794
==================================================
  Files                      ?     1477
  Lines                      ?    47869
  Branches                   ?     5828
==================================================
  Hits                       ?    39724
  Misses                     ?     5418
  Partials                   ?     2727

Impacted Files
Coverage Δ
Complexity Δ

...src/main/java/io/crate/planner/operators/Join.java
85.86% <66.66%> (ø)
53 <26> (?)

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 e09cb31...f2c3192. Read the comment docs.


bug:   is completely concealed, it should be hidden with just a space, like in the markdown default

Neovim version (nvim -v)
v0.11.0-dev-1186+g1763eddede
Neovim distribution
N/A
Operating system
Windows
Terminal emulator / GUI
WezTerm
Describe the bug
When there is an   in the markdown source, render-markdown.nvim completely conceals it.
Expected behavior
When there is an   in the markdown source, render-markdown.nvim completely conceals it with a single space.
Healthcheck output
render-markdown:

- ERROR No healthcheck found for "render-markdown" plugin.

Plugin configuration
-- selene: allow(mixed_table)
--- @type LazyPluginSpec
return {
  "MeanderingProgrammer/render-markdown.nvim",
  dependencies = { "echasnovski/mini.nvim" },
  ft = "markdown",
  --- @type render.md.UserConfig
  opts = {
    code = {
      left_pad = 1,
      right_pad = 1,
      width = "block",
    },
    dash = {
      highlight = "NonText",
    },
    overrides = {
      buftype = {
        nofile = {
          code = {
            left_pad = 0,
            right_pad = 0,
            width = "full",
          },
        },
      },
    },
  },
}

Plugin error log
N/A

Confirmations

[X] I have updated this plugin to the latest version using my plugin manager
[X] I have provided the text contained in all screenshots as raw text in this issue. This means if there is a screenshot below it is the copy pasted contents of the file in the screenshot. I understand that my issue will be closed if I have not.

Additional information
No response

This concealing comes from nvim-treesitter: https://github.com/nvim-treesitter/nvim-treesitter/blob/master/queries/markdown_inline/highlights.scm#L100
If you want to have the space value you'll need to set the rendered conceallevel to 2 (default is 3):
return {
  "MeanderingProgrammer/render-markdown.nvim",
  dependencies = { "echasnovski/mini.nvim" },
  ft = "markdown",
  opts = {
    ...
    win_options = { conceallevel = { rendered = 2 } },
    ...
  },
}

Thanks for the explanation, that works.


Patch installconfig generated by clusterresource builder to remove AWS metadataService field.

This field is not omitempty from upstream and an empty install config object cannot be unmarshalled by the installer in previous versions.

/test e2e
/test e2e-pool


Chunk video into ~30m chapters, and support playback of multiple chapters in series

Recently tried to play lofi living room, and failed due to ffmpeg exceeded maximum output size.
To address this, rather than creating a massing multi-hour video, simply:

Update generation to generate 30m chapters. These should be <=30m and never cut a song in halv.
Update streamer to support multiple files in series, and play them elegantly

Completed!


Thread jobs seemingly do not automatically release COM / unmanaged resources when they complete / are stopped

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest version
[X] Search the existing issues.

Steps to reproduce
The problem also affects background jobs.
For a repro, see:

https://github.com/PowerShell/PowerShell/issues/24549

Expected behavior
See linked issue.

Actual behavior
See linked issue.

Error details
No response
Environment data
PowerShell 7.5.0-preview.5

Version
2.0.3
Visuals
No response

Sorry, false alarm - only background jobs are seemingly affected.


Improve experience with build service, reduce network payload, get it down to < 50MB

This repo is humungous for no apparent reason.  Every release expands it by over 50 MB because  the ios+android versions are 25mb each, and every historic release is packed in the repo.
github has many better ways of storing these archives, either by simply tagging, or attaching binaries to releases which do not increate the overall size of the repo.

This will address #528 and #493

650.7 MB -> 7.4 MB Not too shabby.


[Project Submission] Sheet2NFT

My submission for next steps grant
Sheet2NFT is a project that I built for the Chainlink Fall Hackathon and it is one of the selected Winners of the Chainlink On the Rise prize as well as the IPFS/Filecoin pool prize.
Sheet2NFT is a no-code tool that I built with the help of Vue, Node.js, Google Sheets, Chainlink, Moralis, IPFS, Web3.Storage, and Filecoin, that allows users to easily create NFTs assets (contract, images URI , metadata URI) without knowing how to code.
This application does the following :

uploads the images to IPFS
generates the metadata file for each image
inserts the image's URI to the generated metadata
uploads the generated metadata files to IPFS
generates an ERC-1155 and adds the metadata URI to it

Website: https://www.sheet2nft.com/
Demo: https://www.youtube.com/watch?v=xEvvZ3nLeY4
Repository: https://github.com/CSFM93/sheet2nft
Devpost: https://www.sheet2nft.com/

@TheDiscordian please review the project. Thanks.


Allow persistent cell input collapse [Notebooks]

I'm running Jupyter notebook files (.ipynb) in a GitHub codespace.
I know I am able to collapse the cell input manually:

I would like to make the cell input remain collapsed even after restarting the codespace.
This feature appears to exist in Jupyter notebooks by using cell metadata tags:
https://jupyterbook.org/interactive/hiding.html#hide-cell-inputs
I tried adding the "hide-input" tag in the cell metadata:

But when restarting the codespace the cell input has its input expanded although still having the "hide-input" tag.
Is there currently any way of keeping the input of specific cells hidden by default?
If not, is this going to be implemented in the future?
This would increase the user experience as we would be able to hide the code of cells where, for example, we perform package inputs or define functions.
@joaomoreno

The collapse state should now be persistent on window reload.


Stream info falls down

The stream view count, follower count, and viewer count sometimes gets too wide (like on DotA 2 TI streams) and falls down below the streamflow with twitch logo.

Duplicate of #52


Show multiple array inputs and pull in previous answers

On slide 2.5, we ask the user to write a list of who might receive data for each kind of data they say they collect.
They say on 2.1 which types of data they collect.
Then on 2.5, we need to recall each of those types of data, and give an array input for each type of data
How can we do this?
Attempt to say what I mean in a hybrid of JS and Python…
for type_of_data_collected in all_types_of_data_collected {
    show type_of_data_collected;
    show array_input;
}

I think this case suits https://github.com/openrightsgroup/alidade/wiki/Data-categories-(Complex-forms)---proposal too.  The data from the previous form is passed to server-side code that produces a form layout for alpaca.

http://www.alpacajs.org/docs/fields/optiontree.html

Updated https://github.com/openrightsgroup/alidade/wiki/Data-categories-(Complex-forms)---proposal

I've hooked up the demo to slides 2.1 and 2.5 on the staging site.  If you fill in 2 or 3 categories in the array field on 2.1, you should be able to see them as expanders on slide 2.5 and fill in an array list for each category on that slide.  Saving the data works, but re-displaying it doesn't quite work yet.

The form definition can be seen in https://github.com/openrightsgroup/alidade/blob/master/app/controller/forms/2.1.json, and the transformation is in https://github.com/openrightsgroup/alidade/blob/master/app/controller/projectcontroller.ctrl.php#L231

@dantheta This should be the absolute priority now.
On slide 2.1 we ask for a list of types of data you collect with an array input with field-id of "data_collected"
On slides 2.2, 2.3, and 2.4, we need need to pull in each answer from data_collected and for each answer, ask several more questions
Like how you mocked up here
https://raw.githubusercontent.com/wiki/openrightsgroup/alidade/collapser.png

2.2 and 2.3 now have custom forms loaded using the data from 2.1.  I couldn't see where slide 2.4 should have a repeated group of fields.

@dantheta — How do we add the custom forms to those pages? It looks to be hardcoded? But it's not showing up in 2.2 or 2.3

They're added as files in app/controllers/forms/.json, and invoked using
[--alpaca|2.3--]

(for slide 2.3)
They're still there on slide 2.3, but seem to have disappeared from 2.2.
There's a small amount of hardcoded logic for slides which have the multiplied fields:
https://github.com/openrightsgroup/alidade/blob/master/app/controller/projectcontroller.ctrl.php#L253
You need to have added some data categories on slide 2.1 before anything appears.

I've added the form back into slide 2.2.  I'll update the wiki with the markup and requirements.

The placeholder for this has been changed to [--customform|<name>--].
Instead of creating schema for alpaca, I'm generating forms with PHP.  It's much easier to write, and more reliable for saving and loading values.
Do we have a list of the lawful bases for slide 2.3?

I've got the lawful bases now.
The repeat fields have been reimplemented using PHP and are now deployed to the staging site.
If you need a custom form added to slide 2.4 (mentioned above), please open a new issue.


Updating some comands templates

I don't think this makes any visual difference though, Correct me if I'm wrong

No need for this @DinoSaulo.
Closing this PR.


Dell csi operator bugfix

Thanks submitting your Operator. Please check below list before you create your Pull Request.

Flat operator directory structure is obsolete from 23-rd of October 2019, only nested directory structure will be accepted.

New Submissions

[ ] Does your operator have nested directory structure?
[ ] Have you selected the Project Community Operator Submissions in your PR on the right-hand menu bar?
[ ] Are you familiar with our contribution guidelines?
[ ] Have you packaged and deployed your Operator for Operator Framework?

[ ] Have you tested your Operator in all supported installation modes?
[ ] Is your submission signed?

Updates to existing Operators

[x] Is your new CSV pointing to the previous version with the replaces property?
[x] Is your new CSV referenced in the appropriate channel defined in the package.yaml ?
[x] Have you tested an update to your Operator when deployed via OLM?
[x] Is your submission signed?

Your submission should not

[x] Modify more than one operator
[x] Modify an Operator you don't own
[x] Rename an operator - please remove and add with a different name instead
[x] Submit operators to both upstream-community-operators and community-operators at once
[x] Modify any files outside the above mentioned folders
[x] Contain more than one commit. Please squash your commits.

Operator Description must contain (in order)

[x] Description about the managed Application and where to find more information
[x] Features and capabilities of your Operator and how to use it
[x] Any manual steps about potential pre-requisites for using your Operator

Operator Metadata should contain

[x] Human readable name and 1-liner description about your Operator
[x] Valid category name1
[x] One of the pre-defined capability levels2
[x] Links to the maintainer, source code and documentation
[x] Example templates for all Custom Resource Definitions intended to be used
[x] A quadratic logo

Remember that you can preview your CSV here.
--
1 If you feel your Operator does not fit any of the pre-defined categories, file an issue against this repo and explain your need
2 For more information see here

@J0zi bug fix, due to No label appeared for certain drivers  could you please approve the changes ?

We have few issues in the Upstream operator versions and we fixed the issues in the existing version (which is v1.1.0).
So please rewrite the existing operator.


pubsub 0.14.5 no longer seems to work with the emulator

Issue
I went from @google-cloud-node/pubsub 0.14.2 to 0.14.4 (&5) and none of the pubsub methods seem to work with the emulator anymore. They all produce the following error.
TypeError: Channel's second argument must be a ChannelCredentials
      at ServiceClient.Client (node_modules/grpc/src/node/src/client.js:472:19)
      at new ServiceClient (node_modules/grpc/src/node/src/client.js:881:12)
      at node_modules/google-gax/lib/grpc.js:229:12
      at tryCatcher (node_modules/bluebird/js/release/util.js:16:23)
      at Promise._settlePromiseFromHandler (node_modules/bluebird/js/release/promise.js:512:31)
      at Promise._settlePromise (node_modules/bluebird/js/release/promise.js:569:18)
      at Promise._settlePromiseCtx (node_modules/bluebird/js/release/promise.js:606:10)
      at Async._drainQueue (node_modules/bluebird/js/release/async.js:138:12)
      at Async._drainQueues (node_modules/bluebird/js/release/async.js:143:10)
      at Immediate.Async.drainQueues (node_modules/bluebird/js/release/async.js:17:14)

Environment details

OS: OSX 10.12.6
Node.js version: 8.5
npm version: 5.3.0
yarn version: 1.2.0
google-cloud-node version: pubsub v0.14.5
gcloud version: Google Cloud SDK [175.0.0]
gcloud components:
Installed Components:
core: [2017.10.09]
app-engine-python: [1.9.61]
pubsub-emulator: [2017.09.15]
gcloud: []
beta: [2017.09.15]
gsutil: [4.27]
bq: [2.0.27]

Steps to reproduce
gcloud beta emulators pubsub start
$(gcloud beta emulators pubsub init-env)
const pubsub = Pubsub({
  projectId: process.env.GCLOUD_PROJECT,
  promise: require('bluebird')
});

async function getTopic (topicName) {
  try {
    const topic = await pubsub.createTopic(topicName);
    return topic[0];
  } catch (err) {
    // topic already exists.
    if (err && (err.code === 409 || err.code === 6))
      return pubsub.topic(topicName);
    throw err;
  }
}

getTopic('unit-tests');

@caseyduquettesc emulator usage seems to be running fine for me, are you still experiencing this issue? Could you tell me what version of grpc you have installed?

Upgrading from 0.14.2 to 0.14.5 produced this diff in my packages according to yarn.
diff --git a/yarn.lock b/yarn.lock
index e44f68a..4f8c410 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -69,9 +69,9 @@
     string-format-obj "^1.0.0"
     through2 "^2.0.3"

-"<EMAIL_ADDRESS>-  version "0.14.2"
-  resolved<EMAIL_ADDRESS>+"<EMAIL_ADDRESS>+  version "0.14.5"
+  resolved<EMAIL_ADDRESS>   dependencies:
     "@google-cloud/common" "^0.13.0"
     "@google-cloud/common-grpc" "^0.4.0"
@@ -81,7 +81,9 @@
     google-auto-auth "^0.7.1"
     google-gax "^0.13.0"
     google-proto-files "^0.12.0"
+    grpc "^1.6.0"
     is "^3.0.1"
+    lodash.snakecase "^4.1.1"
     uuid "^3.0.1"

 "<EMAIL_ADDRESS>@@ -1946,6 +1948,16<EMAIL_ADDRESS><EMAIL_ADDRESS>     node-pre-gyp "^0.6.36"
     protobufjs "^5.0.2"

<EMAIL_ADDRESS>+  version "1.6.6"
+  resolved "https://registry.yarnpkg.com/grpc/-/grpc-1.6.6.tgz#2051784f6bd6134681fa2c4b5e75dc82c6c23ffa"
+  dependencies:
+    arguejs "^0.2.3"
+    lodash "^4.17.4"
+    nan "^2.7.0"
+    node-pre-gyp "^0.6.38"
+    protobufjs "^5.0.2"
+
<EMAIL_ADDRESS>   version "1.2.2"
   resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-1.2.2.tgz#172776a1a9d96ac09fc22a00f5be83cee6de8820"
@@ -2764,6 +2776,10<EMAIL_ADDRESS>   version "3.6.1"
   resolved "https://registry.yarnpkg.com/lodash.restparam/-/lodash.restparam-3.6.1.tgz#936a4e309ef330a7645ed4145986c85ae5b20805"

<EMAIL_ADDRESS>+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/lodash.snakecase/-/lodash.snakecase-4.1.1.tgz#39d714a35357147837aefd64b5dcbb16becd8f8d"
+
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "4.17.4"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.4.tgz#78203a4d1c328ae1d86dca6460e369b57f4055ae"
@@ -3024,7 +3040,7<EMAIL_ADDRESS>   dependencies:
     lru-cache "2.5.0"

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "2.7.0"
   resolved "https://registry.yarnpkg.com/nan/-/nan-2.7.0.tgz#d95bf721ec877e08db276ed3fc6eb78f9083ad46"

@@ -3080,7 +3096,7<EMAIL_ADDRESS>     tar "^2.2.1"
     tar-pack "^3.4.0"

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>   version "0.6.38"
   resolved "https://registry.yarnpkg.com/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz#e92a20f83416415bb4086f6d1fb78b3da73d113d"
   dependencies:

Although, I might have 1.6.0 and 1.6.6...
bash-3.2$ yarn why grpc
yarn why v1.2.1
[1/4] 🤔  Why do we have the module "grpc"...?
[2/4] 🚚  Initialising dependency graph...
[3/4] 🔍  Finding dependency...
[4/4] 🚡  Calculating file sizes...
info Has been hoisted to "grpc"
info Reasons this module exists
   - "@google-cloud/logging-winston#@google-cloud/logging#@google-cloud/common-grpc" depends on it
   - "@google-cloud/logging-winston#@google-cloud/logging#google-gax" depends on it
info Disk size without dependencies: "56.75MB"
info Disk size with unique dependencies: "67.11MB"
info Disk size with transitive dependencies: "83.27MB"
info Number of shared dependencies: 93

bash-3.2$ yarn list grpc
yarn list v1.2.1
warning Filtering by arguments is deprecated. Please use the pattern option instead.
├─<EMAIL_ADDRESS>│  └─<EMAIL_ADDRESS>└─<EMAIL_ADDRESS>

Running yarn upgrade got rid of grpc 1.6.0
bash-3.2$ yarn list grpc
yarn list v1.2.1
warning Filtering by arguments is deprecated. Please use the pattern option instead.
└─<EMAIL_ADDRESS>
And I no longer get this error running with the emulator


Did you remember to import the module containing this task?

Did you remember to import the module containing this task?
Or maybe you are using relative imports?
Please see http://bit.ly/gLye1c for more information.
What does this mean?
I followed your extensions guide... but not sure  why this is happening.
How do I start my celery task worker ?
/extensions.py # from celery import Celery; celery = Celery()
/app.py # etc... from extensions import celery; celery.init_app(app) inside app; app.register_blueprints etc...
/tasks
  /celery_worker.py # from extensions import celery
  /email.py # from celery_worker import celery; @celery.task def add(x,y): return x+y

Because I'm using the factory way of creating apps. how do you create the celery worker this way?
Also how will i be able to use flask celery-helper in conjuction with @periodc from celery to schedule periodic tasks?

I don't feel comfortable clicking url shortened links. Why didn't you just include your output in this GitHub issue?
I don't know how to help you. Try starting from https://github.com/Robpol86/Flask-Large-Application-Example/ and add your code to it slowly until it breaks.


Unhelpful "Did you forget to include 'void' in your type argument to 'Promise'" in JS file

TS Template added by @mjbvz
TypeScript Version: 4.5.0-dev.20211028
Search Terms

javascript
checkjs
strict

See https://github.com/microsoft/TypeScript/issues/46570#issuecomment-954340635 for more minimal repro

In minimal-hello-world extension sample, using this code:
// The module 'vscode' contains the VS Code extensibility API
// Import the module and reference it with the alias vscode in your code below
const vscode = require('vscode');

// this method is called when your extension is activated
// your extension is activated the very first time the command is executed

/**
 * @param {vscode.ExtensionContext} context
 */
function activate(context) {
	// Use the console to output diagnostic information (console.log) and errors (console.error)
	// This line of code will only be executed once when your extension is activated
	console.log('Congratulations, your extension "helloworld-minimal-sample" is now active!');

	// The command has been defined in the package.json file
	// Now provide the implementation of the command with  registerCommand
	// The commandId parameter must match the command field in package.json
	let disposable = vscode.commands.registerCommand('extension.helloWorld', async () => {
		// The code you place here will be executed every time your command is executed

		const quickpick = vscode.window.createQuickPick();
		quickpick.items = [{ label: 'step 1' }];

		void (await new Promise(resolve => {
				quickpick.onDidAccept(() => {
						console.log(quickpick.selectedItems.map(i => i.label).join(', '));

						if (quickpick.selectedItems.length === 0) return;

						if (quickpick.selectedItems[0].label === 'step 1') {
								quickpick.value = '';
								quickpick.canSelectMany = true;
								quickpick.items = [{ label: 'a' }, { label: 'b' }, { label: 'c' }];
								// If I uncomment this it will fix the bug
								// quickpick.selectedItems = [];
						}
						else {
								resolve();
						}
				});

				quickpick.show();
		}));

		quickpick.hide();
	});

	context.subscriptions.push(disposable);
}

// this method is called when your extension is deactivated
function deactivate() {}

// eslint-disable-next-line no-undef
module.exports = {
	activate,
	deactivate
}

I see this error:

This isn't really something we should be warning about in JS.

This is very much something we have tried / are trying / would like to solve; there's an experiment up at https://github.com/microsoft/TypeScript/pull/40466 and design notes at https://github.com/microsoft/TypeScript/issues/40505. I do think we should probably modify the error message for JS files though. (But it would be better if we could just not error 😕.)

@DanielRosenwasser @rbuckton what should this message even say in JS? We should at least ditch the “did you forget” language, since what we’re asking JS users to do is pretty weird.

Maybe

Expected 1 arguments but got 0. TypeScript may need a hint that the call to 'new Promise()' produces a 'Promise<void>'.

+JSDoc?

Expected 1 arguments but got 0. TypeScript may need a JSDoc hint that the call to 'new Promise()' produces a 'Promise<void>'.

Hi all, I'm new here and trying to take this one on. Would appreciate some feedback on the pr (especially around localization)
thanks!

@osaimola localization happens automatically after the fact. All you have to do is write the English text in diagnosticMessages.json.

@DanielRosenwasser @andrewbranch
This confused me:
Expected 1 arguments but got 0. TypeScript may need a hint that the call to 'new Promise()' produces a 'Promise'.
a new Promise() without a handler or anything in it that calls resolves produces already never and that is correct has the analyzer can not track that it gets resolved some where. it does 100% not return void. new Promise(res=res()) produces void. and even calling res with (undefined) is void. at last out of engine view it translates to the same byte code.

@andrewbranch Is this issue still open? In case I would like to contribute :)

@nicdard yes, https://github.com/microsoft/TypeScript/pull/46637 was on the right track but was then abandoned. If you pick it up, please branch off @osaimola’s WIP or cherry-pick their commit(s) so they get attribution for the work they did.

Ok I'll try during this weekend :)

this error message is very annoying... don't think a jsdoc should even be necessary (as the resolver argument is optional)
In many cases you don't need to resolve with anything. it should just know that passing 0 arguments results with undefined

@jimmywarting The argument is not optional for anything other than a Promise<void>.  The default inference in the absence of a type hint is Promise<unknown>, hence the error.  TS currently has no mechanism to infer Promise<void> automatically.

@fatcerberus it is missing in general a lot of inference by design but it is the best that works at present i am not sure about the state of flow is it solving some issues does it still exist?

Right, that’s what this issue aims to solve, so you can write that without complaint.  But in general, the argument is not (and should not be) optional if the promise has a type other than void: if I have a Promise<number> then it doesn’t make sense to let me resolve it without an argument, so I’m glad the compiler makes it required in that case.
I don’t think anybody is arguing with you that your examples should work as written; the fact they don’t is due to a design limitation of generic inference that needs to be solved.  Making the resolver argument optional would of course fix your examples, but in the process it would compromise type safety for TS programs (or even jsdoc-based ones with checkJs!) using strongly-typed promises.  So that’s not a good tradeoff, IMO.


Can edit the code when debugging the code

 Issue by dilinisg
Friday Jun 30, 2017 at 12:34 GMT
Originally opened as https://github.com/ballerina-lang/composer/issues/2224

The fields should be disabled.

Usually in other editors when you debug you are still allowed to edit the code hence we will not restrict it in composer as well.


add grpc_service.

This PR contains the implementation of the tikv grpc service, currently not used.
The grpc service handles 5 kinds of requests:

kv requests. They are unary calls. We handle them by first creating a (callback, future) pair, the callback is sent to Storage, after future is resolved, we build the response and send it to the response sink.
rawkv requests. Basically the same as kv requests.
coprocessor requests. Like kv requests, while the callback is sent to end_point_scheduler instead.
raft messages. It is client streaming calls which should never end. We iterate all messages and post them to ch.
snapshot messages. Like raft messages, but the stream will be closed after all chunks of a snapshot is finished. We redirect snapshot messages to snap_scheduler, also some control messages are sent to make it compatible with the snapshot manager.

LGTM


[PROPOSAL] Deprecate fully useMasterKey and Parse.User.currentUser()

As those functions are misleading and unavailable in Cloud Code, I suggest we replace those implementations by implementations that would log a warning in the 1st place and throw an exception later on.
The warning could have a link to the CloudCode migration notes

why ? we still using Parse.Cloud.useMasterKey() and Parse.Cloud.HttpRequest and they are working fine, why deprecate them?

@benishak, Parse.Cloud.useMasterKey does not work anf yoi should be sending the useMasterKey option in every individual save/find/etc options instead.
HttpRequest is not being deprecated afaik but you should consider using the "request" module instead now that you can use third party node modules.

Agree with this. IIRC, the current state is that people who port their Cloud Code over without consulting the migration notes may assume their code will continue working as-is as these methods fail silently.

I've planned that for 2.3, to make it breaking/throw error in that case

I'm not sure but because when we migrated we almost refactor the whole cloud code and when we were getting 'permission denied use Master Key' we solved it by calling Parse.Cloud.useMasterkey(). It worked almost everywhere except with Parse.Push.send we had to use { useMasterkey : true }

even a better reason to prevent the usage of Parse.Cloud.useMasterKey() as it may have horrible side effects with concurrent request... you should use {useMasterKey: true} everywhere you need it,

I'm using now the latest version and have a class wich has CLP and ACL set to Master key only and have a defined Cloud function
Parse.Cloud.define('verifyemail', function(req, res) {
      Parse.Cloud.useMasterkey()
      ..
      ..
});

It stills working,
I also have another Cloud Function which calls Parse.Cloud.HttpRequest and is still working
How and why?

when you call Parse.Cloud.useMasterkey() that makes all future calls use the masterKey:
https://github.com/ParsePlatform/Parse-SDK-JS/blob/2956decbe54f2cf6d2c17ff1b4d8db98327410d6/src/Parse.js#L148
Basically, calling it once would probably make all future calls use the masterKey which is why we highly recommend you don't use Parse.Cloud.useMasterKey()

@flovilmart @hramos
Will the Parse JS SDK continue to support Parse.User.current()?
If not, is there a better way to retrieve the currently logged in ParseUser with a valid session, either from memory or localStorage on the client side.

@cherukumilli yes in the client side SDK that's all good, not on the serverside though... (because of the concurrency and global state of ParseSDK)

i think this is a great idea that could be helpful to folks migrating (everyone's all done, right?).
👍

It seems that Parse.User.current() should always return null anyway: https://github.com/ParsePlatform/Parse-SDK-JS/blob/2956decbe54f2cf6d2c17ff1b4d8db98327410d6/src/ParseUser.js#L26


Existing Column omission ??

I generate some tables using SQL INNER JOIN from different tables on my DB. I have noticed that the plugin omits columns that already exist?
Original Table

Pdf Table

Notice only 12 columns on the pdf table instead of 14 as the columns type and outcomeId_fk have only been printed once. How can I fix this?

Yes, that is by design. However you can init the table with indexes instead of keys. This is undocumented at the moment, but I'm working on a more complete documentation of the initialization options. Here is a basic example:
var cols = ["Header 1", "Header 2", "Header 3"];
var data = [
    ["Row 1", "Row 1", "Row 1"],
    ["Row 1", "Row 1", "Row 1"],
    ["Row 1", "Row 1", "Row 1"]
];
var doc = new jsPDF('p', 'pt');
doc.autoTable(cols, data, {});
doc.save("table.pdf");

I am using autoTableHtmlToJson which only returns one dataset I am not sure how I can retrieve the headers and the data from data returned from autoTableHtmlToJson .

Right now you would have to format the dataset returned from autoTableHtmlToJson manually. Like this
var json = doc.autoTableHtmlToJson(document.getElementById("basic-table"));
var cols = [], data = [];
json.forEach(function(row, index) {
    var newRow = [];
    for (var key in row) {
        if (row.hasOwnProperty(key)) {
            if(index === 0) {
                cols.push(key);
            }
            newRow.push(row[key]);
        }
    }
    data.push(newRow);
});
doc.autoTable(cols, data, {startY: 60});
doc.save("table.pdf");

Not recognising the .forEach function for some weird reason.

Removed it from the example, but I think I use it in the plugin. What web browser are you using?

Yes you use it in the plugin I checked to confirm. I'm using chrome

I should probably add the forEach polyfill to the plugin, however in the mean time you can add it to see if it works for you. https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
// Production steps of ECMA-262, Edition 5, <IP_ADDRESS>
// Reference: http://es5.github.io/#x<IP_ADDRESS>
if (!Array.prototype.forEach) {

    Array.prototype.forEach = function(callback, thisArg) {

        var T, k;

        if (this == null) {
            throw new TypeError(' this is null or not defined');
        }

        // 1. Let O be the result of calling ToObject passing the |this| value as the argument.
        var O = Object(this);

        // 2. Let lenValue be the result of calling the Get internal method of O with the argument "length".
        // 3. Let len be ToUint32(lenValue).
        var len = O.length >>> 0;

        // 4. If IsCallable(callback) is false, throw a TypeError exception.
        // See: http://es5.github.com/#x9.11
        if (typeof callback !== "function") {
            throw new TypeError(callback + ' is not a function');
        }

        // 5. If thisArg was supplied, let T be thisArg; else let T be undefined.
        if (arguments.length > 1) {
            T = thisArg;
        }

        // 6. Let k be 0
        k = 0;

        // 7. Repeat, while k < len
        while (k < len) {

            var kValue;

            // a. Let Pk be ToString(k).
            //   This is implicit for LHS operands of the in operator
            // b. Let kPresent be the result of calling the HasProperty internal method of O with argument Pk.
            //   This step can be combined with c
            // c. If kPresent is true, then
            if (k in O) {

                // i. Let kValue be the result of calling the Get internal method of O with argument Pk.
                kValue = O[k];

                // ii. Call the Call internal method of callback with T as the this value and
                // argument list containing kValue, k, and O.
                callback.call(T, kValue, k, O);
            }
            // d. Increase k by 1.
            k++;
        }
        // 8. return undefined
    };
}

It's sounds strange though, chrome has always had support for forEach

AM I adding this to the plugin or to my own script?

Add it to your script, before you include the plugin. I will add it in the next version of the plugin however.

That made no difference, I'll research the problem about the forEach. Thanks for your suggestions dude.

Messed about with the code ended up with this:
$(document).on("click", "#PDF", function () {
	var table = document.getElementById("result");
	var doc = new jsPDF('p', 'pt');
	 var json = doc.autoTable(false, doc.autoTableHtmlToJson(table));
	 console.log(JSON.stringify(json));
	 var new_json = JSON.stringify(json);
	 var cols = [], data = [];
	 //json.forEach(function(row, index) {
	 [].forEach.call(new_json, function(row,index) {
	     var newRow = [];
	     for (var key in row) {
	         if (row.hasOwnProperty(key)) {
	             if(index === 0) {
	                 cols.push(key);
	             }
	             newRow.push(row[key]);
	         }
	     }
	     data.push(newRow);
	 });
	 doc.autoTable(cols, data, {startY: 60});
	 doc.save("table.pdf");
});

The PDF file generated is really messed up though: Output is barely visible.

You are drawing two tables on the same place. You should remove the first call to doc.autoTable(). Try the example I posted again. If it doesn't work for you, it would be great if you could create a jsfiddle or post more complete code.

Hi thanks for your suggestions. I have tried your example but its still omitting the columns. I can't create a fiddle because my table is dynamically populated from data in my DB.  So I will post complete code of the parts that are more relevant:
JS files include:

How my table is generated:
error_reporting ( E_ALL );
ini_set ( 'display_errors', 1 );
require_once ("session_start.php");
function getDBTbldata() {
	if (isset ( $_POST ['tbl'] )) {
		$dbName = $_POST ['db'];
		$tblName = $_POST ['tbl'];
		$query = $_POST ['qry'];
		echo "
 Using Table : $tblName
";
		$link = mysqli_connect ( '<IP_ADDRESS>', 'root', '', $dbName );
		if (! $link) {
			die ( "Connection failed" . mysqli_errno ( $link ) );
		}
		$tblRes = mysqli_query ( $link, $query );
		if (mysqli_num_rows ( $tblRes )) {
			?>
<fieldset>
	<legend> Results</legend>

		<?php
			$i = 0;
			while ( $i < mysqli_num_fields ( $tblRes ) ) {
				$meta = mysqli_fetch_field_direct ( $tblRes, $i );
				?>
			<?php echo $meta->name; ?>
			<?php
				$i = $i + 1;
			}
			?>

		<?php
			$i = 0;
			while ( $row = mysqli_fetch_row ( $tblRes ) ) {
				?>

			<?php
				$count = count ( $row );
				$y = 0;
				while ( $y < $count ) {
					$c_row = current ( $row );
					?>
				<?php echo $c_row; ?>
				<?php
					next ( $row );
					$y = $y + 1;
				}
				?>

			<?php
				$i = $i + 1;
			}
			?>

	<button type="submit" id="CSV">Export as CSV</button>   <button type="submit" id="PDF">Export as PDF</button>
</fieldset>

<?php
		}

		else {
			?>
<fieldset>
	<legend> Error</legend>
		<?php
			echo "The Query: [ $query  ] returned an empty result set";
		}
		?>
			</fieldset>
<?php
	}
}

getDBTbldata ();

Export to PFD function
$(document).on("click", "#PDF", function () {
    var table = document.getElementById("result");
    var doc = new jsPDF('p', 'pt');
    var json = doc.autoTableHtmlToJson(table);
    console.log(JSON.stringify(json));
    var cols = [], data = [];
    for(var i = 0; i < json.length; i++)  {
        var row = json[i];
        var newRow = [];
        for (var key in row) {
            if (row.hasOwnProperty(key)) {
                if(i === 0) {
                    cols.push(key);
                }
                newRow.push(row[key]);
            }
        }
        data.push(newRow);
    }
    doc.autoTable(cols, data, {startY: 60});
    doc.save("table_test.pdf");
});

I made this a little bit easier in a new version of the plugin in now. Simply set the indexBased option to true (second parameter) and you get the result of autoTableHtmlToJson as a result object with the properties columns and data. Use it like this:
function html() {
    var doc = new jsPDF('p', 'pt');
    var res = doc.autoTableHtmlToJson(document.getElementById("basic-table"), true);
    doc.autoTable(res.columns, res.data);
    doc.save("table.pdf");
}

It will be the default behavior in v2.0, but are now behind an option for compatibility. Let me know if it works for you!

Works like a charm. Thank you very much for you help and patience!!! Great tool!

No worries! Let me know if you run into other issues!

Hi,
I could not get overflow: linebreak to work for me. I have data as HTML, I convert it to json using autoTableHtmlToJson and then use autoTable to generate the PDF.
For example:
var res = doc.autoTableHtmlToJson(document.getElementById("basic-table"), true);
doc.autoTable(res.columns, res.data, {margins: {horizontal: 10, top: 40, bottom: 40}, startY: 370, overflow: 'linebreak', overflowColumns: false});
publish(doc.output('datauristring'));
But the column data gets truncated instead of getting word wrapped. How to achieve it?

$.ajax({
type: "POST",
url: "KIADB.asmx/Getreport",
data: "{'zone':'" + zone + "','district':'" + district + "', "
+ "'industrialarea':'" + industrialarea + "',"
+ "'fromdate':'" + fromdate + "',"
+ "'todate':'" + todate + "'}",
contentType: "application/json;character=utf-8",
dataType: "json",
success: function (data) {
var data = JSON.parse(data.d);
        var columns = [
                       { title: "Industrial zone", key: "indzone" },
                       { title: "District", key: "dstr" },
                       { title: "Taluk", key: "tlk" },
                       { title: "ContactTitle", key: "vlg" },
                       { title: "Industrial area", key: "nmindar" },
                       { title: "Plot No", key: "plno" },
                       { title: "Plot area", key: "pltar" },
                       { title: "Name of allottee", key: "nmalt" },
                       { title: "Address of allottee", key: "addalt" },
                       { title: "Nature of industry", key: "ntrind" },
                       { title: "Reservation", key: "rsvr" },
                       { title: "Index", key: "indx" },
                       { title: "Plot status", key: "plst" },
                       { title: "Implimentation status", key: "implst" },
                       { title: "Date of possession", key: "dtpss" },
                       { title: "Date of allotment", key: "dtaltm" },
                       { title: "Due Date of payment", key: "ddtpmt" },
                       { title: "Date of Lease Agreement Executed", key: "dtleagrex" },
                       { title: "Stipulated time for commencement of production", key: "stcmprd" },
                       { title: "Extension of time Granted", key: "extgrt" },
                       { title: "Remarks", key: "remark" },
                       { title: "Updated Date", key: "plotupdateddate" }

        ];

         l = {
     format: 'a3',
     compress: true,
     fontSize: 8,
     autoSize: false,
     printHeaders: true
 };
         var doc = new jsPDF(l, '', '');
        doc.autoTable(columns, data, {
            styles: {
              columnWidth:'auto'
    }
        });
        doc.save('Statusreport.pdf');
    }

});

above code i am using to generate pdf but i am getting like
can any one help me how to align column
Statusreport.pdf

pdf.autoTableHtmlToJson comes undefined every time although all the required libraries are already loaded.


Modal dialog component

Consider using the React UI Dialog component to create a standard modal for all apps cc @abautist

Notes from the meeting:

Look into whether we want to consider the fullscreen overlay like what Flights uses

Seems the React UI Dialog does not have scroll lock on the background. On mobile since a lot of times the content will be longer than 1 screen. Without the lock, when user scrolls, the background moves.

@jxnblk tested with reach Dialog, unfortunately, it needs React 16 support. Since I don't know if we have a plan on migrating to 16, we might need to consider other options.

@jxnblk @bertya aforementioned React 16 upgrade should land this week


I there any CephFS storage driver ?

I mean driver, that uses CephFS snapshots as layering engine. It would be pretty easy to implement, I guess starting from btrfs driver, the idea is exactly the same.
Ceph's Mimic release gives us production-ready CephFS snapshots.
Also, It would be nice to have ability to use same set of snapshots (i.e. layers) on different machines.

I found this one: https://github.com/hegnee/docker-volume-cephfs, but I did not find anything about snapshots...

Closing as we only support s3, gcs and azure and won't be accepting any new storage drivers to this project.


Cross platform live detection

Some Youtube member-only steam cannot be found anywhere except on Twitter.

how about /living

how about /live

failed. /live will not be redirected to the undergoing member-only stream. sad

luckliy there are twitter links on the channel's homepage. Chances are that we can handle it within one youtube worker.

merged 2d9e4e2


Inclusion of math.h in Kernels?

Hi! Thanks for this amaaazing project! 😊
I’m currently writing my thesis, and we’d love to use the hploc code in our project, but I’ve run into an issue with the inclusion of math.h in the kernels. From what I understand, standard library headers like math.h aren’t typically compatible with runtime JIT compilation, but it seems you’ve managed to include it successfully, and I am wondering how— is this something Orochi related?
Here’s the error I’m encountering at runtime:
1 catastrophic error detected in the compilation of "CalculateMortonCodes".
Compilation terminated.
Orochi error invalid resource handle on line 158 in file ..\src\Kernel.cpp
Orochi error invalid resource handle on line 127 in file ..\src\Kernel.cpp
Orochi error invalid resource handle on line 128 in file ..\src\Kernel.cpp
../../src/Common.h(23): catastrophic error: cannot open source file "math.h"
  #include <math.h>
                   ^

Am I missing something?
All of this is very new to me so any help would be much appreciated.
Thank you in advance!

Hey
Thanks alot and glad you find the project useful.
You can add following define
     #if ( defined( __CUDACC__ ) || defined( __HIPCC__ ) )
     #define __KERNELCC__
     #endif

     #if !defined (__KERNELCC__)
     #include <math.h>
     #endif

__HIPCC__ is a define which HIP compiler adds for you, this is defined inside kernel. So you can add your own define __KERNELCC__ to know device side code(kernel) and host side code.
So with code I provided above you can have a header file that you can include in both host and device code and math.h will be included only in the host code and you will not get that error. As the error suggests that HIP is trying to compile the kernel file and it finds include statement for math.h which it doesnt understand.

Hope this helps.
Shoot me message if you need any help with this.

Regards,
X

Hi!
Thank you so much for your help and explanation—it worked perfectly! 😊
I’ve run into a few other issues and was hoping you might be able to help. I’ve sent you an email with the details—thank you in advance for taking a look!
Best,
Iman

Cool, lets continue conversation on the email thread. I will close this issue.


Assert in requirements/conditions, ensuring values are not set to null

I applied your fixes from https://github.com/Zoinkwiz/quest-helper/pull/1591


Tic-Tac-Toe Smart Contract---in the move action Generate an error  "Error 3015014: Pack data exception"

the tic_tac_toe.cpp has no error, but only move have "Error 3015014: Pack data exception"

There  is because that the row and column parameters  are  not corresponding

Thanks for the input!
Seems like the Play section in https://developers.eos.io/eosio-cpp/docs/tic-tac-toe-tutorial was still following tic-tac-toe v1.0. The documentation is updated now.


feat: Implement schema creation flow for W3C schema type (FE)

Implement schema creation flow for W3C schema type.

Refactor existing flow of schema creation to support W3C schema type along with existing types.
Implement CSS changes in schema list for W3C schema.

Tested on the QA environment, it is working as expected


CDI-620 Not clear what the id for an annotated type is.

add clarification for id
correct parameter switching
correct the spec that was wrong

LGTM


fix: crash when best_lemma_matches() has zero analyses

Fixes #930
Note: I'm not sure if this is a true fix, as I wonder why the imported items do not have analyses. They absolutely should!

Codecov Report

Merging #931 (98a1dbc) into main (984fc14) will decrease coverage by 0.05%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##             main     #931      +/-   ##
==========================================
- Coverage   79.14%   79.09%   -0.06%
==========================================
  Files         134      134
  Lines        4617     4620       +3
  Branches      599      601       +2
==========================================
  Hits         3654     3654
- Misses        843      844       +1
- Partials      120      122       +2

Impacted Files
Coverage Δ

src/CreeDictionary/API/search/lookup.py
95.65% <33.33%> (-4.35%)
:arrow_down:

src/CreeDictionary/CreeDictionary/views.py
79.46% <0.00%> (-0.90%)
:arrow_down:

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 984fc14...98a1dbc. Read the comment docs.


Multiple Selection Edit

A handful of modern text editors, such as Atom and Visual Studio Code, support simply refactoring code by highlighting text and then pressing Ctrl + D to also select the next occurrence of that text. Each time Ctrl + D is pressed, another selection is added. Once you begin typing, the buffer will be edited in all selections simultaneously.

See #5.


DSA Parameter Generation 2 error for 2

The error log is "DSA Parameter Generation 2 error for 2"
How to solve that?

Looking at app_main.c that appears to be a PQGEN operation using PROBABLE pq generation method.  That works properly using our FOM. It could be that the older openssl FOM you are using does not support all the options that are being registered by our default app. I would recommend that you reduce the PQGEN registrations and see if that is the case.


Benchmark both scenarios, with records skipped and without skipping, for delta-bin-packed primitive arrays with half nulls.

Which issue does this PR close?
Follow up to this comment, when it was noticed that a certain benchmark scenario is not covered.
Rationale for this change
The delta-bin-packed primitive arrays, when half null, was not benchmarked for both skipping and no skipped record batches. This is a minor change to include both scenarios.
What changes are included in this PR?
See above.
Are there any user-facing changes?
No

@etseidl -- lmk what you think. 🙏🏼

Ah, I understand now. Yes, this looks good to me. Makes me wonder why skip is only tested for binary packed. 🤔


Change xmlns to http

xmlns with https causes an error when uploading the package

@shnja : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good/verified.


MAINT: longer line length for black

What does this PR implement?
It configures black to have the default line length of 88 characters instead of 79 characters.
I'm submitting this PR because I almost recommended this change multiple times in #66. I held back not to make that PR more complicated and make the diff even longer.

Any reason not to stick with what we have? I feel like this is a personal preference thing. I'm not too opinionated about this stuff, and I think it's only 79 because that's what it was coming from TF. The fact that it is currently 79 means a pretty good reason is required to change it, even if it is only 79 for historical reasons.

Any reason not to stick with what we have?

Yes. Reviewing PRs becomes more difficult with larger line lengths. Longer diffs are harder to review, almost by definition (more distance between relevant content).  This got to me several times in #66 – I almost recommended this PR several times.

Hmm I mean I don't mind the change, and I guess you are doing most of the reviewing lately, so if this will make reviewing easier for you I'm happy to implement it.
It does look like linting failed. Mind fixing that?

Codecov Report

Merging #85 into master will decrease coverage by 1.33%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #85      +/-   ##
==========================================
- Coverage   99.81%   98.47%   -1.34%
==========================================
  Files           3        2       -1
  Lines         530      526       -4
==========================================
- Hits          529      518      -11
- Misses          1        8       +7

Impacted Files
Coverage Δ

scikeras/_utils.py
95.74% <100.00%> (-3.55%)
:arrow_down:

scikeras/wrappers.py
99.48% <100.00%> (-0.52%)
:arrow_down:

scikeras/__init__.py

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 95f0cb8...257b742. Read the comment docs.


How to send a crossdomain jsonp request?

jquery example:
$.ajax({
dataType: 'jsonp'
.....
})
URL after request: https://example.com/do?callback=jQuery110206897575475922986_1582438930628&_=1582436333

Do you want to ask a question? Are you looking for support? The Framework7 forum and Stack Overflow are the best places for getting support

Please, don't use GitHub issues for questions


[BUG] Panic on console resize after cursive.quit

Describe the bug
I need to take over terminal in the middle of the application (shell) therefore I'm executing cursive.quit().
Only event loop is stopped correctly, and other loops are still working causing issues like this one.
That is causing another bug: first key is consumed by cursive inside input handling loop before it shuts down.
Loop responsible for handling terminal resize panics on next resize and causes infinite loop somewhere (I didn't investigated it) and hangs one of the threads in 100% cpu usage.
It looks like after reentering cursive again window resizing is still working, therefore I assume there might be some resource leak (except this hanged thread).
To Reproduce
This can be reproduced in pause example.
Just resize window when you are redirected to terminal.
Expected behavior
It should not crash and hand threads in background, ideally all loops should be closed, i'm not sure what exactly is causing first key to be consumed by cursive that do not happen in pause example, but probably making sure that all internal loops are canceled should solve also that issue.
Screenshots
thread '' panicked at 'called Result::unwrap() on an Err value: "SendError(..)"', .../cursive-0.16.3/src/backends/resize.rs:20:40
Environment

Linux, termion, cursive 0.16.3 but master is also affected

Additional context
I found some hints inside termion that suggesting that stdin might not be canceled without getting input or EOF, therefore nice thing to have would be to be able to take or borrow running stdin handled from cursive.

Hi, and thanks for the report!
Indeed, the pause mechanism is still relatively new, and the termion backend in particular uses a few separate threads that apparently aren't properly stopped when the backend finishes.
I just a patch which should help at least no crash in this case.
I think we might consume one "resize" signal past the end of the backend, which could potentially interfere with the code running while cursive is paused.

That's why I think exposing those could be better alternative.
Or probably providing both options to choice from, since someone code might depend on accessing stdin directly, but therefore might be no other choice with first event.
Regarding resize event, it looks like terminals send few of those with every resize, and it was handled correctly (except this panic) even in tmux terminal


[main] Upgrade to latest dependencies

Cron -knative-prow-robot
/cc knative/networking-wg-leads
/assign knative/networking-wg-leads
Produced by: knative-sandbox/knobots/actions/update-deps
Details:
bumping knative.dev/pkg d481724...708dc1c:
  > 708dc1c Update community files (# 2443)
  > 062ca30 upgrade to latest dependencies (# 2433)
  > 4fcbc1b Update actions (# 2434)
  > 80c511a Wait for reconciler/controllers to return prior to exiting the process (# 2437)
bumping knative.dev/hack a8ef7b6...e178598:
  > e178598 Update community files (# 157)
  > cf8cbc0 Fix the regex used for matching GitHub Actions files (# 156)

/lgtm
/approve


Pdf conversion throws an error

Method not found: 'Void PdfSharp.Drawing.XGraphics.set_MFEH(PdfSharp.Pdf.PdfFontEmbedding)'.
is thrown every time for
MarkdownPdf.Transform(md, path);
I have the latest PdfSharp packages installed.

I just noticed the string md was left empty, my bad


Commands' Current Entity within Arc<Mutex<>>

Commands can be cloned and passed between threads. This makes it so each thread has the same current_entity, which can cause interference; say if one does a .spawn and the other thread does a .with the other thread might pick up the current_entity from the first thread.
I suggest moving the current_entity to be outside of CommandsInternal to solve this problem.

(And make insert set current_entity while you're at it...)

In #798 we removed the arc/mutex from Commands by default, but this issue does still exist for the new Arc<Mutex<Commands>> system parameter. We might need to swap that out for something like ParallelCommands, which would maintain the current entity in each instance.

Oh ... so this explains the deadlocks that i was trying to figure out over the past few hours, from naively trying to switch to using Arc<Mutex<Commands>> everywhere.

In 0,5 spawning a new Entity returns an EntityCommands that stores the Entity Id instead.
This means that this Issue can now be closed.

I have no idea why I wanted this or why it doesn't exist so I'll close it.


Some people reporting latest fw is recording mp4 dvr even when ts is selected in menu.

Some people reporting latest fw is recording mp4 dvr even when ts is selected in menu in hd-zero goggle discord (2 people noted this on 26/02/23).
"daggersbaggers — Yesterday at 21:22
Has anyone had the dvr record mp4 when ts is selected? All of my dvr recordings from today are mp4 and ts files were recorded yesterday. Ts is still selected in the menu. Is this a known bug?"
"Zuldan — Yesterday at 21:24
I noticed this yesterday as well"

Here is an example of the Goggle all of a sudden recording in .MP4 when it's selected as .TS in the Goggle menu. The only thing different with my setup is auto record is set to Manual and I'm using the Backpack functionality to record when the quad arms.

I saw something similar. I have Auto Record on, and use ELRS backpack to change channels. I powered off between every 1-2 packs and while most of the DVR files are TS (which i have it set to), I had a couple that were recorded as MP4


Add a clippy step to rake lint:all

(a bit unrelated: shouldn't this clippy by added to rake lint:all or mentioned in CONTRIBUTING.md? it caught me by surprise here)
Originally posted by @katafrakt in https://github.com/artichoke/artichoke/pull/637#issuecomment-616209782

I had left clippy out of rake lint:all because of bugs in the clippy and cargo integration that cause clippy to not run sometimes. I think this is being worked on, but I lost track of when it will land.
Originally posted by @lopopolo in https://github.com/artichoke/artichoke/pull/637#issuecomment-616213074
It looks like the clippy work is happening in this ticket: https://github.com/rust-lang/rust-clippy/pull/5363


How does item multiplier work?

Pick up item... and it multiplies it.. you must have at least 1 of the item, or you can drop item + pick up

None of the multiplayer codes are working for me, individually or all together. Thank you for the great work everything else is perfection.

On Yuzu 1420 and game 1.0.0, "#06b Item Multiplier (5x) ★" doesn't work for me either.
Drop one item, and pick one up instead of 5.


[#271] NPC Inventory

#271

[ ] Manually test / smoke test / sanity test
[ ] Add and pass CCSS tests for NPC inventory, mimicking PC inventory tests

Before completing this pull request, wait for https://github.com/foundryvtt/dnd5e/issues/3583 to be resolved.


Expose value prop

Use Case -
When I want to show date range in format like "Nov 18, 22 - Nov 30, 22", I'm stuck default format is very verbose & does not offer best UI for most use cases.
Suggested solutions-

expose value prop that can be passed to DtPicker, that will be further passed down to tag.
expose a formatValue function, date or date range will be formatted using this function. Specifically this will requires passing correctValue function here as prop.

@mmehdinasiri Let me know your thoughts on this, I think we should go with 2. I'll do a PR after your approval.
PS: using this in production, so 🤞
Regards,
Atul Yadav

Thank you for your suggestion,
Actually, I wanna implement a way to handle date formate in the future but right now I am busy a little until the next month but if you can help me I would be grateful.

Cool I'll implement this feature then, using the 2nd proposed solution and raise a PR

with above PR now you can add a formatValue prop to DtPicker component that will override the correctValue function's behaviour example below
const formatValue = ({ date }) => {
  if(date)  return (new Date(date.year, date.month, date.day)).toDateString()
  else return ''
}

time and type are also accessible in this prop function. @mmehdinasiri  waiting for your approval