Add in-order scheduling policy

Summary
The jest worker implementation today uses round robin to load balance the work across workers if sticky workers aren't used.
This is problematic if the result from the worker is in the critical path to create more work that can be scheduled on the threadpool. Metro, for example, uses the workers to transform the JavaScript files and extract its dependencies and then schedules the transformation of the dependencies. It's, therefore, critical that the first few  files are transformed as quick as possible to build up a queue with enough work to use all workers.
The problem with the use of round robin is that jest assigns each task to a new worker of which each pays the cost of requiring modules (if inline-requires are used) and JITing the hot paths which, in the case of Metro, is a serious overhead
of a couple of seconds.
This diff adds the in-order scheduling policy and makes it configurable for clients (keeping round robin as the default). The first come policy assigns the task to the first free worker (starting with worker 0) or puts it in the queue of each worker to be picked up by the first available worker.
Why call it workerSchedulingPolicy and not just schedulingPolicy. My motivation is to make it clear that it does not affect the order in which tasks are scheduled, e.g. fifo vs lifo or a priority queue. A taskSchedulingPolicy might be something we want to add in the future.
I tested this new scheduling with Metro:

transforming 2 changed files (B is a dependency of A):
Performance improved from 12.7s to 10.8s which is almost 2 seconds.
Main reason: Only one worker had to pay for the initialization cost
Full rebuild: No significant difference either way

Outdated
The round robin implementation was added in #4921 by @mjesun but unfortunately without an in-detail explanation why it's superior. My understanding is that jest-worker is different from e.g. cluster that jest-worker knows how busy each worker is. A worker is either busy or idle. However, it then doesn't make a difference if all the work is performed by one worker or by different workers (assuming all are hot) as long as it uses the highest possible concurrency. This isn't true if sticky workers are used because they can then make use of  caches but sticky workers aren't affected by this change
Test plan
Empty
Round Robin
---------------------------------------------------------------------------
total worker-farm: { wFGT: 83718, wFPT: 83229 }
total jest-worker: { jWGT: 29023, jWPT: 27983 }
---------------------------------------------------------------------------
% improvement over 100000 calls (global time): 65.33242552378222
% improvement over 100000 calls (processing time): 66.3783056386596

In Order
total worker-farm: { wFGT: 83830, wFPT: 83278 }
total jest-worker: { jWGT: 29008, jWPT: 27962 }
---------------------------------------------------------------------------
% improvement over 100000 calls (global time): 65.39663604914708
% improvement over 100000 calls (processing time): 66.42330507456951

Load
Round Robin

---------------------------------------------------------------------------
total worker-farm: { wFGT: 97859, wFPT: 97345 }
total jest-worker: { jWGT: 57297, jWPT: 56187 }
---------------------------------------------------------------------------
% improvement over 100000 calls (global time): 41.44943234653941
% improvement over 100000 calls (processing time): 42.280548564384404

In Order
total worker-farm: { wFGT: 97806, wFPT: 97286 }
total jest-worker: { jWGT: 56403, jWPT: 55332 }
---------------------------------------------------------------------------
% improvement over 100000 calls (global time): 42.33175878780443
% improvement over 100000 calls (processing time): 43.12439611043727

O hai! Initial implementor here :)
While I'm not opposed to the change, I think it should be configurable and definitely not the default. There are two things to consider here that may shed some light on why this was made this way:

The usual case for a farm of workers is that you expect to be pushing heavy tasks to them. The case you describe is that your farm is so unloaded that your second task is pushed after the first one has finished, and it's going to a new worker rather than to the previous one. I wouldn't say this is the default use case, but if it is in Metro it may be that you don't need the farm at all.

The cost of initialization is, as you say, improved only when using inline-requires. But the truth is that most projects built for Node from scratch don't do custom transformations, and even if they do they don't configure Babel's CommonJS plugin or FB's inline-require one to modify the default behavior. I agree this brings important improvements, but it isn't unfortunately what seems to be globally there. What that means is that as soon as a worker is brought to life, the whole cost is paid - i.e. an all-or-nothing cost. That said, it's surprising to me that on an 8-core machine (7 processes) you're getting 2 seconds improvement by avoiding to parse code on startup; it's definitely possible but I think as well it's not the default use case either.

Finally, there's also a shared resources thing here. If processes are caching information, and one of them dies, you want the cache to be shared across all of them. If you keep pushing the load to a single process, and this one turns out to die, you'll need to restart building your caches from scratch. Something that in the particular case of Babel and its huge caches may pose a problem. This is in part another reason why traffic load balancers are often configured with RR even if they don't handle load at all.

Hope that explains the reasoning that the initial PR was lacking 🙂

Thank you @mjesun  for these explanation. I'm open to making this configurable.

The usual case for a farm of workers is that you expect to be pushing heavy tasks to them. The case you describe is that your farm is so unloaded that your second task is pushed after the first one has finished, and it's going to a new worker rather than to the previous one. I wouldn't say this is the default use case, but if it is in Metro it may be that you don't need the farm at all.

Metro does use workers because it doesn't know ahead of time if it has to transpile 1 or e.g. 5000 files and there might be more use cases where the worker are the consumer and producers of the tasks in which case RR can be problematic initially.

The cost of initialization is, as you say, improved only when using inline-requires

It's not limited to inline requires. Every worker has to pay for the JIT overhead. A "hot" worker has the code loaded and JITed. The latter only happens after the worker function was executed at least once.

Finally, there's also a shared resources thing here. If processes are caching information, and one of them dies, you want the cache to be shared across all of them. If you keep pushing the load to a single process, and this one turns out to die, you'll need to restart building your caches from scratch. Something that in the particular case of Babel and its huge caches may pose a problem. This is in part another reason why traffic load balancers are often configured with RR even if they don't handle load at all.

That makes a lot of sense.
I'll go ahead and introduce a new configuration option that allows to choose the scheduling mode.

Finally, there's also a shared resources thing here. If processes are caching information, and one of them dies, you want the cache to be shared across all of them. If you keep pushing the load to a single process, and this one turns out to die, you'll need to restart building your caches from scratch. Something that in the particular case of Babel and its huge caches may pose a problem. This is in part another reason why traffic load balancers are often configured with RR even if they don't handle load at all.

OK, it still doesn't make a 100% sense to me.

Pushing everything to the couple first workers is only the case if there are fewer tasks than workers
Having the cache warm in another worker means we had to pay for the cost of building it once. That cost should have been the same as when it needs to be rebuilt after a worker crashes (which is less likely because all processes are running on the same machine).
The cache we're talking about here are caches that aren't file dependent. If the cache needs to be present than it's probably best to use sticky workers and implement a work stealing functionality to distribute the load across the workers (and maybe change the internal map of task key -> worker to a simple hash function).

I'm not arguing against making this configurable and over different view points are probably the best reason why this should be configurable indeed :)

Having the cache warm in another worker means we had to pay for the cost of building it once. That cost should have been the same as when it needs to be rebuilt after a worker crashes (which is less likely because all processes are running on the same machine).

That is correct as long as you have equivalent caches in all machines. If that is the case, then the building cost is the same no matter of the worker; and in this case I agree it is more beneficial to keep sending work to the same process as the cache is already warm in this one.
But if the cache isn't globally equivalent (which I personally think is the common case here based on how it's used in Jest and Metro), then losing the "fat" worker that contains all the warmed cache leaves you having to rebuild it the entire cache from scratch again elsewhere. If the cache is distributed losing one worker would only kill 1/n of the whole cache, so things can keep working -with degraded performance-, but it's not a 100 to 0 %.
Either way I get we're going to make it configurable, I'm just making the point to provide more information in case that helps 🙂

@cpojer  would you mind having a look at the update PR in the new year? Thanks!

It's unlikely that @cpojer will be able to look at this any time soon. @SimenB  do you feel comfortable merging this change without the approval from @cpojer ?

It's unlikely that @cpojer will be able to look at this any time soon. @SimenB  do you feel comfortable merging this change without the approval from @cpojer ?

Since it's opt-in I think this should be fine to merge 👍

Since it's opt-in I think this should be fine to merge 👍


build: check docker dependency on daily basis

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


iOS keyboard issue

This is on a iPhone 4 I think, the input isn't shown

This is the iOS emulator running on an iPhone 6. The keyboard is stuck at the bottom.
Is there any way to solve this?

Did u try press Command + K when opened keyboard ? Or in iOS Simulator bar, click; Hardware/Keyboard/Toggle Software Keyboard


Emby Recently Added Scan

Description
Emby recently added scan is not detecting recently added Movies (untested for TV Shows)
Version
1.8.1
Steps to Reproduce

Request movie in Jellyseerr
Wait for movie to be downloaded and added to Emby
Run recently added scan in Jellyseerr

Screenshots
No response
Logs
No response
Platform
smartphone
Device
Samsung Galaxy A52s
Operating System
Android 14
Browser
Chrome
Additional Context
No response
Code of Conduct

[X] I agree to follow Jellyseerr's Code of Conduct

also on 1.8.1 and experiencing the same issue.

Now tested for TV Shows. Same issue

This is pretty sure a configuration issue.
Could you both hop onto discord? For troubleshooting. We don't do that here.

Yep, see: https://discordapp.com/channels/952656177924300932/1235451310736674816

Resolved by https://discord.com/channels/952656177924300932/1191760464359735448

Hey! Sorry to revive this, but is there an equivalent fix for Jellyfin instead of Emby?  I'm having the same problem, although the fix from discord: "emby dashboard > library > advanced library and change the date added to library scanned time" isnt the same on Jellyfin, and even after digging around I can't find a similar setting.

Hey! Sorry to revive this, but is there an equivalent fix for Jellyfin instead of Emby?  I'm having the same problem, although the fix from discord: "emby dashboard > library > advanced library and change the date added to library scanned time" isnt the same on Jellyfin, and even after digging around I can't find a similar setting.

Jellyfin > dashboard > library> display > date scanned


Extension seems to be barely functional

Describe the bug
I have no code completion and building seems not to be possible. I could not find the tasks that should exist under "Terminal > Task > ...". I find no good documentation about where those commands should be and how to work with it.
Environment

masOS resp. Windows
5.6 resp. 5.5
Visual Studio Code 1.69.0
vscode-swift version: 0.6.0

In the output pane there is a dropdown can you select Swift from that dropdown and paste the contents of the window here. It sounds like something didn't initialise properly.

On Windows, newly opening a fresh checked-out project:
12:49:27: compnerd.org Swift version 5.5.3 (swift-5.5.3-RELEASE)
12:49:30: XSwift: add: c:\tmp\XSwift
12:49:30: XSwift: Resolving Dependencies ... 12:49:47: XSwift: resolvedUpdated: c:\tmp\XSwift
done.
12:49:49: XSwift: Resolving Dependencies ... 12:49:49: SourceKit-LSP setup for XSwift
12:49:49: XSwift: focus: c:\tmp\XSwift
done.
12:49:52: XSwift: Test Discovery Failed: error: The operation could not be completed. The file doesn’t exist.

On macOS:
13:04:34: Apple Swift version 5.6.1 (swiftlang-<IP_ADDRESS>3.66 clang-13<IP_ADDRESS>)
13:04:38: XSwift: add: /Users/stefan/tmp/XSwift
13:04:38: XSwift: Resolving Dependencies ... 13:04:43: XSwift: resolvedUpdated: /Users/stefan/tmp/XSwift
done.
13:04:44: XSwift: Resolving Dependencies ... 13:04:44: SourceKit-LSP setup for XSwift
13:04:44: XSwift: focus: /Users/stefan/tmp/XSwift
done.
13:04:45: XSwift: Test Discovery Failed: error: terminated(1): /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec/swift/pm/swiftpm-xctest-helper /Users/stefan/tmp/XSwift/.build/arm64-apple-macosx/debug/XSwiftPackageTests.xctest /var/folders/6d/xg7m2lks06lb_glqkmvd00700000gn/T/TemporaryFile.GwmQci output:
error: unableToLoadBundle("/Users/stefan/tmp/XSwift/.build/arm64-apple-macosx/debug/XSwiftPackageTests.xctest")

I'd recommend upgrading to 5.6 on Windows. I think the extension is reliant on features that were not available in the Windows version of Swift 5.5
Build tasks are available from Terminal -> Run Build Task... or Ctrl+Shift+B.
There is currently an issue with swift packages in sub-folders. I am currently fixing. How are you loading your projects into your workspace?

I am dragging the folder into VS Code.
Please note that I have the same problem under macOS with Swift 5.6.1 (see my second comment).
(The project can be opened without a problem in Xcode and CLion – although the CLion plugin for Swift seems not to be very good or updated, probably not using SourceKit...)

Can you try opening it either via running code . in a terminal (think you have to install the terminal commands to do that) or opening via the menu option File -> Open ...
I think by dragging a folder into vscode you add the folder to the current workspace, which means your package.swift is not at the root of the workspace. This currently has issues I am just fixing

I tried to open the project via code . or File -> Open ..., but no change.

In Windows with Swift 5.5?

Tried on macOS. (Also tried on Windows, also did not work, but still using Swift 5.5 on Windows for a reason.)

Might Test Discovery Failed be an issue?

Test discovery failed is not an issue. It basically means you haven't built the project. I would like to be sure you have it running on macOS first. As that is the platform most used. If you can't get it working there you have no chance with Window 5.5. Can you provide the output you get when you open on macOS using the menu Open.... Also does Cmd+Shift+B bring up the build tasks menu?

The output is not different from the one that I posted above.
I noted that code completion does work for things defined in the same package, but it does not find things defined in an included package, see screen shots:
Xcode:

VS Code:

Bit once you use things from the other package, it knows its members.
In another project, VS Code thinks that a particular included Swift package is an Objective-C package:
could not build Objective-C module 'XSwift' sourcekitd

Cmd+Shift+B does bring up the build tasks menu.

I am having similar issues, my Swift output looks like:
19:46:40: Apple Swift version 5.7 (swiftlang-<IP_ADDRESS>.202 clang-14<IP_ADDRESS>)
19:46:40: SourceKit-LSP setup
19:46:40: focus: undefined

On MacOS, opened with code . and also File -> Open

What I found (see above) is that in some contexts it does not work or only part of it. That is why I first thought it does not work at all. @adam-fowler: This extension for VS Code is a wonderful thing and I am sure the problems can be resolved. Thank you for your good work!

You do need to build your project for some of the code completion, go to symbol features to work fully. This is a limitation of Sourcekit-LSP.

@stefanspringer1 do you get the package dependencies view?

@adam-fowler my project does not have a Package.swift file — I don't see build commands. Will it just not work for this use case?

@adam-fowler my project does not have a Package.swift file — I don't see build commands. Will it just not work for this use case?

Yes a Package.swift is required? Is your project an Xcode project?

Yes, it is an Xcode project

@adam-fowler Yes, I see the package dependencies view, and after the project has been built, code completion works. I think it would be an important thing to document this limitation, or even better also have an according warning issued by the extension. So Q: If new stuff gets added, is another build process necessary before the new stuff is known for code completion? And it this a limitation of Sourcekit-LSP that could go away?

...Already testet it on Windows and it works when first built.

If new stuff gets added, is another build process necessary before the new stuff is known for code completion?

I guess if new packages or versions are included, a new build is necessary for code completion to get new stuff from the included packages.
Another thing I noticed: It seems that even after a build, you have to open the file again (or at least switch back to it).

Yes, it is an Xcode project

@garrettm The extension does not support Xcode projects. The primary goal is Swift packages and standalone Swift scripts work mostly as well

Ah okay, bummer. Is Xcode support on the roadmap? Or could it be hacked in easily?

Ah okay, bummer. Is Xcode support on the roadmap? Or could it be hacked in easily?

I thinks the direction is and should more in the opposite direction, newer Xcode versions added some better support for SPM projects (creating one was not possible with some previous versions if I remember it correctly).
I think VS Code – or, if you are willing to pay a license, also CLion (but only the upcoming version 2022.2) – are very good solutions if you are not working on macOS so cannot use Xcode(*), so they are a good choice for projects that do not target Apple systems exclusively. So I think supporting Xcode projects does not make that much sense for this extension.

(*): Yes, some may choose another IDE even on macOS.

I think by dragging a folder into vscode you add the folder to the current workspace, which means your package.swift is not at the root of the workspace. This currently has issues I am just fixing

Looked OK when I tried again (on macOS).

Ah okay, bummer. Is Xcode support on the roadmap? Or could it be hacked in easily?

@stefanspringer1 the extension is a cross-platform effort, supporting Xcode doesn't make sense. The ecosystem also seems to be slowly moving away from Xcode projects (like the new Swift Playgrounds app)

@0xTim That remark did not come from me. See my answer to this remark. I agree with you.

@stefanspringer1 apologies, missed out part of the message! Fixed

...So I think, if the issue with having to first build the project if packages are included is documented (or even better also a message is displayed in VS Code), from my point of view, the issue is fixed. (Or building automatically in this case?)
Again, thank you for your good work!

@stefanspringer1  Do you think we can close this once #362 is added to README?

Yes, I think so. Thanks.

I edited the README and this has been merged. It will come out with the next release


fix: Missing placeholder configurer class.

Fixes #18

+0. How might we architect this so that JSR portlets in uPortal don't need to depend on uPortal-specific libraries. This is just a matter of ensuring a shared .properties file is available to do properties placeholder configuration in BookmarksPortlet? There some less invasive way to do this?

@apetro -- The needed class is an extension of Spring's PropertySourcesPlaceholderConfigurer that adds support for encrypted properties.  It doesn't use any "portal-tech" classes or resources.
We could make this arrangement less "messy" by spinning the class off into a different jar built from another repo.  I'm open to that.

I'm thinking probably not, because Spring 5 already does it (iirc).

It might be that Spring 5 already supports encrypted properties, but I'm not seeing it in the docs.


Music bot joins channel but doesn't play audio and is not "connected"

Please tick all applicable boxes.

[ x ] I am using Python 3.5 or higher (run python --version on the command line)
[ x ] I have followed the official guides to install the bot for my system
[ x ] I have updated my dependencies to the latest version using the appropriate update script

Which version are you using?

[ x ] The latest master version (1.9.8)
[ ] The latest review version

What type of issue are you creating?

[ ] Bug
[ ] Feature request
[ x ] Question

Description of issue
I summoned the bot and it pops into my voice channel. However, upon trying to !play a song it says the bot isn't connected. I !summon one more time, and then it "connects." I tried to !play a song after and the bot says it's playing but there is no sound.
Steps to reproduce

Update the bot
Summon the bot onto the channel

Log file
Please attach your MusicBot log file (located at logs/musicbot.log) to this issue. You can do so by dragging and dropping the file here. If you do not include your log file, you WILL be asked to provide one.
musicbot.log

I am having the same issue but with the review branch.
musicbot.log

Hello, this is an issue with discord.py wrapper, and is not an issue with a bot, a fix is already in place and will be pushed soon.

Fixed. Affected users could run python -m pip install discord.py -U to fix it.

Discord.py is fixed. Affected users could either run the update script or python -m pip install -U discord.py[voice] command to fix it.

Thank you so much for the replies. I ran the update script and the bot finally works again.


ERROR kuhl_m_sekurlsa_acquireLSA ; Logon list                I get this error running  invoke-mimikatz.ps1

Empire Version
https://github.com/EmpireProject/Empire/blob/7a39a55f127b1aeb951b3d9d80c6dc64500cacb5/data/module_source/credentials/Invoke-Mimikatz.ps1
OS Information (Linux flavor, Python version)
Windows 10 64bit
Powershell ISE
Running as administrator
Expected behavior and description of the error, including any actions taken immediately prior to the error. The more detail the better.
When I run this command as admin I get an error about LSA and no passwords are logged, only errors are logged.
Invoke-Mimikatz -Command "privilege::debug sekurlsa::logonpasswords log"
Do I need to load a module? What module do I need? and what do I type to fix it please?
Screenshot of error, embedded text output, or Pastebin link to the error
`mimikatz> Invoke-Mimikatz -Command "privilege::debug sekurlsa::logonpasswords log"
Hostname: MSI / S-1-5-21-3562789587-2356634857-3017622501
.#####.   mimikatz 2.1.1 (x64) built on Aug  3 2018 17:05:14 - lil!
.## ^ ##.  "A La Vie, A L'Amour" - (oe.eo)
/ \ ##  /*** Benjamin DELPY gentilkiwi<EMAIL_ADDRESS>)
\ / ##       > http://blog.gentilkiwi.com/mimikatz
'## v ##'       Vincent LE TOUX<EMAIL_ADDRESS>)
'#####'        > http://pingcastle.com / http://mysmartlogon.com   ***/
mimikatz(powershell) # privilege::debug
Privilege '20' OK
mimikatz(powershell) # sekurlsa::logonpasswords
ERROR kuhl_m_sekurlsa_acquireLSA ; Logon list
mimikatz(powershell) # log
Using 'mimikatz.log' for logfile : OK`
Any additional information
I'm running as admin
Ive also tried Invoke-Mimikatz -Command "privilege::debug sekurlsa::logonpasswords log sekurlsa.log"
but the same error and name of the log file also does not change from mimikatz.log to sekurlsa.log and still no passwords are logged.

You're invoking an old version of Mimikatz, which doesn't work on W10 systems.
Have a look into this fix by @mr64bit : https://github.com/EmpireProject/Empire/issues/1293


Fix text editing keybinds

Copy, paste, cut, undo, redo and maybe others were bound to WIN instead of CTRL outside of macOS, which was wrong. It broke after updating to the latest Bevy. This pr binds them back to CTRL.
I also have to prevent text input when win is pressed because the command check doesn't work by itself anymore.
I don't have a mac available right now, but I assume it was broken for macOS too, because copy is CMD-C on macOS. The egui docs also tell you to use the same thing for command as mac_cmd.

Thank you for the PR!


Extending class method and "this" scoped Return Values

I created a FileHandler class with methods to read a file or many files like this.
export class FileHandler {
    private static async readFileFromFileQuery (fq: FileQuery): Promise<File> {
        const { path, encoding, flag } = FileQueryHandler.make(fq);
        const content = await promisify(fs.readFile)(path, { encoding, flag })
        return { path, encoding, flag, content };
    }
    static async readFile (a: Path | FileQuery, b?: Omit<FileQuery, 'path'>): Promise<File> {
        if (typeof a === 'string') a = FileQueryHandler.getFromPath(a, b);
        return FileHandler.readFileFromFileQuery(a);
    }
    static async readFiles (a: (Path | FileQuery)[] | Directory, b?: Omit<FileQuery, 'path'>): Promise<File[]> {
        if (a instanceof Array) return Promise.all(a.map(p => this.readFile(p, b)));
        return FileHandler.readFiles(PathHandler.getFromDirectory(a), b);
    }
    static async readFilesFromDirectory(a: Path | FileQuery, b?: Omit<FileQuery, 'path'>): Promise<File[]> {
        const ps = await DirectoryHandler.readDirectory(a);
        if (typeof a === 'string') return await FileHandler.readFiles(ps, b);
        return await FileHandler.readFiles(ps, a);
    }
}

This is a class with static methods because I don't need them to be public.
What I would like to do now is expand upon this class.
I would like to wrap the FileHandler.readFile in a try catch and possibly return null, something like this, where the method is named readFile but the return value is different from the original.
export class FileOrNullHandler {
    async readFile (a: Path | FileQuery, b?: Omit<FileQuery, 'path'>): Promise<File | null> {
        return orNull(() => FileHandler.readFile(a, b));
    }
}

I would also like to get all the other methods for free because what I see is all the original FileHandler are based on FileHandler.readFile.
I've tried some ways of converting both to not use static methods, and I've also experimented with return types, but nothing is jumping out at me as the simple way to do this.
What I need is the following:

Have parity between methods within both classes
Have all the return values represent the class functionality

I am looking for the best way to do this.
Ideally, the first thing that comes to mind would be I would be able to use

static methods that call this
ReturnType<this.method>

But both of those things do not exist.
What I want is the following result:

FileHandler.readFile that returns File
FileHandler.readFiles that returns File[]
FileHandler.readFilesFromDirectory that returns File[]
FileOrNullHandler.readFile that returns (File | null)
FileOrNullHandler.readFiles that returns (File | null)[]
FileOrNullHandler.readFilesFromDirectory that returns (File | null)[]

I'm not 100% what I am advocating here. I am looking for recommendations on how someone would achieve this API, and how possible typescript might come up short.
Search Terms
classes, class, es6, method, static this, return type method, return type this
Suggestion

ReturnType<this.method>

Use Cases
Compositionally extending classes
Examples
Above
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[X] This feature would agree with the rest of TypeScript's Design Goals.

However, this does not work:
class Example {
    static alpha (color: string): boolean {
        return (color === 'red') ? true : false;
    }
}

type AlphaReturn = ReturnType<Example['alpha']>

The functionality I want from typescript is the following:
This would allow all the new methods within FileOrNullHandler to have the proper return types.
export class FileHandler {
    static async readFileFromFileQuery (fq: FileQuery): Promise<File> {
        const { path, encoding, flag } = FileQueryHandler.make(fq);
        const content = await promisify(fs.readFile)(path, { encoding, flag })
        return { path, encoding, flag, content };
    }
    static async readFile (a: Path | FileQuery, b?: Omit<FileQuery, 'path'>): Promise<ReturnType<this.readFileFromFileQuery>> {
        if (typeof a === 'string') a = FileQueryHandler.getFromPath(a, b);
        return this.readFileFromFileQuery(a);
    }
    static async readFiles (a: (Path | FileQuery)[] | Directory, b?: Omit<FileQuery, 'path'>): Promise<ReturnType<this.readFileFromFileQuery>[]> {
        if (a instanceof Array) return Promise.all(a.map(p => this.readFile(p, b)));
        return this.readFiles(PathHandler.getFromDirectory(a), b);
    }
    static async readFilesFromDirectory(a: Path | FileQuery, b?: Omit<FileQuery, 'path'>): Promise<ReturnType<this.readFileFromFileQuery>[]> {
        const ps = await DirectoryHandler.readDirectory(a);
        if (typeof a === 'string') return await this.readFiles(ps, b);
        return await this.readFiles(ps, a);
    }
}

export class FileOrNullHandler extends FileHandler {
    static async readFileFromFileQuery (fq: FileQuery): Promise<File | null> {
        return orNull(() => FileHandler.readFileFromFileQuery(fq));
    }
}

I don't believe this functionality exists, now within TypeScript.
How can I even get this working without these features?

With your requirements, you cannot have this: FileOrNullHandler extends FileHandler. Otherwise (File | null) extends File which not possible (you cannot assign null to File).
How about using interfaces and mapped types?
If you absolutely need static methods, then I'd suggest the follwing:
class File{}
// For simplicity sake, let's keep the example to a minimum
class FileHandler {
  static readFile(): Promise<File> {
    return {} as any;
  }
  static readFiles(): Promise<File[]> {
    return {} as any;
  }
}

// Here is what you want to have
interface FileOrNullHandlerConstructor extends NullifyConstructor<typeof FileHandler> {
  new (...args: any[]) : any;
}

const FileOrNullHandler = (function FileOrNullHandler() {} as any) as FileOrNullHandlerConstructor;
implementStaticMethods(FileOrNullHandler, FileHandler);
// use it however you want

// has signature readFiles(): Promise<(File | null)[]>
FileOrNullHandler.readFiles() //...

// helpers

// Transforms Promise<Stuff[]> into Promise<(Stuff | null)[]>
type Nullify<T> = T extends Promise<Array<infer A>>
  ? Promise<Array<A | null>>
  : T extends Promise<infer A>
  ? Promise<A | null>
  : T extends Array<infer A>
  ? Array<A | null>
  : T | null;
// transforms {method(a: number): Promise<Stuff[]>} into {method(a: number): Promise<(Stuff| null)[]>} using mapped types
type NullifyConstructor<T> = {
  [Key in keyof T]: T[Key] extends (
    ...args: infer TArgs
  ) => infer TResult
    ? ((...args: TArgs) => Nullify<TResult>)
    : T[Key];
};

// manually implement static methods on the deriving class using the parent's class static methods
// so, classic js stuff
type Constructor = { new (...args: any[]): any };
function implementStaticMethods(
  derivingClass: Constructor,
  parentClass: Constructor
) {
  for (const staticPropName of Object.getOwnPropertyNames(parentClass)) {
    if (!["name", "length", "prototype"].includes(staticPropName)) {
      const parentPropDescription = Object.getOwnPropertyDescriptor(
        parentClass,
        staticPropName
      );
      if (
        parentPropDescription &&
        typeof parentPropDescription.value === "function"
      ) {
        // Auto-generate static methods
        Object.defineProperty(derivingClass, staticPropName, {
          ...parentPropDescription,
          value: function(...args: any[]) {
           // use orNull() here
            try {
              return parentPropDescription.value.apply(this, args);
            } catch (e) {
              return null;
            }
          }
        });
      } else {
        Object.defineProperty(derivingClass, staticPropName, {
          ...parentPropDescription
        });
      }
    }
  }
}

Side note, you may want to transform Promise<File[]> into Promise<(File[]) | null> (either an array of files or null). Promise<(File|null)[]> would mean an array of files or null values. Also, IMO, stackoverflow would be a better fit for this question since it's not a feature request per-se nor a bug report.

@reggi don’t forget to close this issue if it has been answered 😉

Are we not considering ReturnType<this.method>? To be a viable thing?

I don't know what do you mean, but if you're referring to the following,

However, this does not work:

Property 'alpha' does not exist on type 'Example'.

class Example {
    static alpha (color: string): boolean {
        return (color === 'red') ? true : false;
    }
}

type AlphaReturn = ReturnType<Example['alpha']>

then you can use this (typeof Example instead of Example):
class Example {
  static alpha (color: string): boolean {
      return (color === 'red') ? true : false;
  }
}

// AlphaReturn would be a boolean
type AlphaReturn = ReturnType<(typeof Example)['alpha']>;

If you're still thinking about inheritance (I guess this is why you're saying this?), know that it won't work since File | null does not  extend File

Are we not considering ReturnType<this.method>? To be a viable thing?

Two things - first the syntax would be ReturnType<typeof this.method>. Second, #5863.


Get Responses Outside the document

Thank you for the project, I tested it out with a different document and it worked well with a few mismatches. However how can I make the chatbot respond to questions out of the document as I have asked the bot simple questions like "Hi Chatbot, I have a question" and it start to hallucinate answers from the extracted parts. I have tried reading lanchain's documentation but cant work my way around. Is there a way to have chatbot engage in general conversations as guided by another prompt but then once a specific question relates to the extracted parts the bot then attempts to get answer from the document?

I think you need to change QA_PROMPT and remove lines where chagpt is asked to not provide info outside of context.

I would also be interested in this feature. Did anyone figure out a way?
one way that I tried to go about this was to check if the response has a string of "Hmm" since this is the default response for not finding the answer and then construct a conversationChain


Cleaned up %Adjusted_SharpeRatio according to list specifications, ad…

…ded quit statements to all macros

Not a bad start.
Going to mark as closed.  Don't add the test output, the SAS data sets from test, or the prices.csv in test.
Also, try to come up with better names for variables than aa, ab, etc.


difference between --service-cluster and 'local_cluster_name'

reading through the doc, seems to be the same to me.
a quick grep of the code show the former is only used in zone aware routing, and the later everything else.
so why there are two configuration?
BTW: should we emphasis that there should be only one kind service behind each ingress s2s instance ?  it's implied by lots of features, but can't find that in the doc.

so why there are two configuration?

This is unfortunate and frankly is due to internal Lyft infra design. Basically, --service-cluster and local_cluster_name are not necessarily the same. --service-cluster is abstract and can be set to anything and is used in various places. 'local_cluster_name' must match the SDS/CDS cluster name. I think in fresh infras, these are going to be the same, but not always. We will try to make the docs better in this area.

BTW: should we emphasis that there should be only one kind service behind each ingress s2s instance ? it's implied by lots of features, but can't find that in the doc.

What do you mean?

thanks for so quick response.
we are considering share a single envoy per host for multiple different service on the same host, but reading through the doc i seems lots of feature depends on --cluster-name.
since there are multiple different service,

is this supported ? if so, how should i name my envoy ?
should i better use one envoy for one service on the same host, which means multiple envoy per host ?

by emphasis on single instance behind on s2s,

can you give me an example where --service-cluster and local_cluster_name really need to be different ?
below are my understanding:
for my front envoy, i can just name it "front-envoy", for both configuration.
for my s2s envoy per host, then

if there is only one service, i can name both configuration after the service;
if there are multiple service

name both config after one of the service
choose some generic name for all the services
both approaches seems wired and some function may not work properly.
i can't find a way that  --service-cluster/local_cluster_name differ will help.

or, is multiple service behind one s2s instance is not the ideal deployment type ?

I'm sorry but I don't think I can give you any detailed guidance. Names are just ... names. You can arrange things however you like. In terms of one Envoy for multiple services on a host, there is nothing about this that inherently won't work.
If you want to use zone local routing, you might to use a synthetic name for the group of services on each host. E.g., "envoy_service_group_a", along with registration in discovery for this group, so that Envoy knows how many hosts there are for the service group. I might ignore zone aware routing though until you get things working.

thanks for your advice.
sorry for not make my concerns more clear.
when we're running multiple different services behind one envoy instance, i guess we must give our shared envoy some generic name.
by different services, i mean different services for each host: some hosts may have A,B,C, some may have C,D,E, ...
what i am concerning about is will any feature not work optimally when deployed as multiple service per envoy ?
from the docs :

--service-cluster
(optional) Defines the local service cluster name where Envoy is running. Though optional, it should be set if any of the following features are used: statsd, health check cluster verification, runtime override directory, user agent addition, HTTP global rate limiting, CDS, and HTTP tracing.
for those features using --service-cluster,  if using generic cluster name, i may get the following behaviour:

statsd
may not get statsd for each service, at least not out of box
health check cluster verification
if we name our shared envoy some generic name, this feature is not used
runtime override directory
not affected
user agent addition
not helpful if we want to know exact service
HTTP global rate limiting
can't rate limit based on service, unless we use descriptor key/value
CDS/SDS
name our service cluster after service for CDS/SDS, and expose the shared envoy for the ip:port.
a single ip:port entry appears in multiple cluster definitions, i am not sure if this would cause problems for connection management or health checks:
would one service failed cause the entire shared envoy health check fail ?
http tracing
Originating/Downstream cluster will show the generic cluster name, may not be helpful.

as for zone-aware routing as you suggested, if we have different set of services for each host, the service-group-name schema may also not work optimally.
BTW, what's your envoy setup for s2s ?
are you using one envoy for one kind of service, or sharing envoy for multiple service but have fixed set of service for each host group ?

At Lyft we have one Envoy per service, and a dedicated Edge Envoy front/middle proxy layer. In general I think there are no major blockers for having Envoy work with multiple local services. I would work your way through building a config and see how it goes. Going to close this out.

As it pertains to Tracing, I don't think it is possible (or makes sense to have one envoy proxy for many services). The Zipkin trace info depends on this --service-cluster value pretty heavily.
You'll see only one tag on the trace info.


Place of interest can be referred from place_type for Nominatim result

Here's an example:
http://nominatim.openstreetmap.org/details.php?place_id=118227317

The type is restaurant which is missing in the current list but we can get it from @data['type']

hhmm, I'm not sure why build rbx-2 was failing

Thanks! And don't worry about the RBX test failures, they're unrelated.


Wayland not supported/detected

Wayland compositor on linux does not use xclip/xsel, it uses wl-copy, wl-paste.  xclip and xsel might not even be installed.
The provided cb script as of this writing does not detect this, and I am reporting it nonfunctional on (at least) NixOS 22.11 with Wayland enabled.
It is likely other Linux distros-supporting-wayland will also experience this bug.

Fixed by you! #4


Update EnvironmentManager.php

As for Laravel 6.0, all str_ helpers have been removed (they now reside in a separate package), the Str:: class should be used instead: https://laravel.com/docs/6.x/upgrade#helpers

Thanks!

Thanks!

I just noticed you've merged this into the fix/improvements branch, rather than the master one. This means that the 4.0.3 does not have this fix, therefore the installer is still broken on Laravel 6. Any chances on merging this into the master one and release a 4.0.4 hot-patch for it?
Thank you.


Fix Demo i18n workflow

The language repository in site needs to be cloned after pushing updated translations for admin to prevent a "Updates were rejected because the tip of your current branch is behind" error when pushing updated translations for site.

An alternative solution would be to move the language repository to demo/ and used it in both admin and site. What do you prefer?


RPC call to fetch sidechain blocks from peer

Part of #567 - new RPC call with access to the sidechain storage added.
This is not fully tested yet, but I'm already creating the PR to showcase what I've done so far.

Closing this PR in favor of #578, which contains all the changes from this PR and more.


+layout.js/ts when ssr off and 404 error happens, then data in load function is null

Describe the bug
When i turn off ssr (in +layout.js) and 404 error happens, then data is always null in +layout.js in load function
Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-ck2eek?file=src%2Froutes%2F%2Blayout.js&terminal=dev
go to some non-existing page and try turning ssr on and off and observe log in console
Logs
No response
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.14.2 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.4.2 - /usr/local/bin/npm
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.1.0
    @sveltejs/kit: ^1.5.0 => 1.20.2
    svelte: ^3.54.0 => 3.59.1
    vite: ^4.3.0 => 4.3.9

Severity
blocking all usage of SvelteKit
Additional Information
No response

This happens because disabling SSR in +layout.js causes +layout.server.js to never run for any pages.


Eslint 8 UnhandledPromiseRejectionWarning: Error: Invalid Options: - Unknown options: exclude

My versions:
eslint version: ^8.0.1
vscode-eslint extension version: 2.2.2
I've tried fixing this by upgrading eslint to the latest version and also tried to downgrade my eslint version to 7.32.0
This error still persists.
I saw this issue mentioned here: https://github.com/microsoft/vscode-eslint/issues/1330
but seems like it is still not fixed.
(I am getting Unkown options: exclude instead of Unknown options: configFile)

@paritosh-34  does the validation happen correctly when you use eslint in the terminal. If this is the case can you please provide me with a GitHub repository I can clone that demos what you are experiencing.

I had to edit my settings.json file.
From:
{
  "eslint.options": {
    "parserOptions": {
      "ecmaVersion": 2017
    },
    "env": {
      "es6": true
    }
  }
}

To:
{
  "eslint.options": {
    "overrideConfig": {
      "parserOptions": {
        "ecmaVersion": 2017
      },
      "env": {
        "es6": true
      }
    }
  }
}

@tja4472 this is expected since the API for ESLint V8 changed. There is nothing I can do about this.

This issue has been closed because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


null values getting injected for apps with no revision history

when using  "argocd/app-selector" the logic to pull the revision history is injecting null values if there is no history available for the argocd app and getting errors in the UI saying cannot read property of undefined, so fixed the issue by filtering out null values from the array

:heavy_check_mark: Checklist

[x] Added tests for new functionality and regression tests for bug fixes
[ ] Added changeset (run yarn changeset in the root)
[x] Screenshots of before and after attached (for UI changes)
[ ] Added or updated documentation (if applicable)

This would probably resolve https://github.com/RoadieHQ/roadie-backstage-plugins/issues/1034

@rameshbeee Can you fix the prettier and tsc issues in the failing checks so this will be ready to merge whenever they finally see it?

@rameshbeee Can you fix the prettier and tsc issues in the failing checks so this will be ready to merge whenever they finally see it?

@planeiii-te, could you help me with the prettier and tsc issues? I am new to ts

could you help me with the prettier and tsc issues? I am new to ts

@rameshbeee Your force pushing is erasing the test runs so I can no longer see what was failing. Previously you could see the checks failing and they would tell you what the problem was with the code. It's hard to diagnose without those errors.
Also as the maintainer has stated:

This is missing a changeset

Just run yarn changeset and it should walk you through the process and generate a file that you will have to commit in the .changeset folder.


Implicit declaration of wlc_view_get_pid

Trying to compile sway 0.9 I noticed the following warning/error:
/builddir/build/BUILD/sway-0.9/sway/handlers.c
/builddir/build/BUILD/sway-0.9/sway/handlers.c: In function 'handle_view_created':
/builddir/build/BUILD/sway-0.9/sway/handlers.c:293:9: error: implicit declaration of function 'wlc_view_get_pid' [-Werror=implicit-function-declaration]
   pid = wlc_view_get_pid(handle);
         ^~~~~~~~~~~~~~~~

Looks like your wlc is not up to date. Always remember to update wlc before sway.

Thanks :)


added create_report method to replace create_rectangular plot method …

…and extend funtionalities to 3d Plot (polar), smith charts and contour plots.

UT will be increased by @Samuelopez-ansys


"Input line too long" error during catkin

Describe the bug
When a large number of packages are in the workspace, the environmental variables in setup.bat can become very long and exceed the 8191 characters.
To Reproduce
Steps to reproduce the behavior:
Have enough packages in the workspace to have $PATH exceep 8191 characters in length.
Expected behavior
setup.bat should complete without errors. A better solution to this issue would be to have git bash or powershell used instead of command for ros on windows. cmd is limited and cumbersome compared to the more modern options.
Environment information:

OS version: Windows 10

I'm going to close this issue since we cannot do anything about path length in Windows command prompt


XNAT target ping problem

Describe the bug
After the merge from #54 , some small commits were done. One of them (commit 2f6f1de) changed the code to test if ping is OK. Before this change, if connection to XNAT was successful, ping was OK but after this commit, even though ping is OK, test is not passed and ping appears as None.
I just checked in a jupyter notebook your version and my current version to understand what may be happening since on my side ping is not working.
From your version, I got:
c:\Users\FAaro\Documents\GitHub\AH-1\src\dicom-orchestrator\tests\test_pyxnat.ipynb Cell 6 line 8
      5 ping_ok = False
      7 if target.host:
----> 8     ping_result, *_ = await async_run(f"ping -w 1 -c 1 {target.host}")
      9     if ping_result == 0:
     10         ping_ok = True

c:\Users\FAaro\Documents\GitHub\AH-1\src\dicom-orchestrator\tests\test_pyxnat.ipynb Cell 6 line 4
      2 async def async_run(cmd, **params) -> Tuple[Optional[int], bytes, bytes]:
      3     """Executes the given command in a way compatible with ayncio."""
----> 4     proc = await asyncio.create_subprocess_shell(
      5         cmd, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, **params
      6     )
      8     stdout, stderr = await proc.communicate()
      9     return proc.returncode, stdout, stderr

File C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\asyncio\subprocess.py:205, in create_subprocess_shell(cmd, stdin, stdout, stderr, limit, **kwds)
    202 loop = events.get_running_loop()
    203 protocol_factory = lambda: SubprocessStreamProtocol(limit=limit,
    204                                                     loop=loop)
--> 205 transport, protocol = await loop.subprocess_shell(
    206     protocol_factory,
    207     cmd, stdin=stdin, stdout=stdout,
    208     stderr=stderr, **kwds)
    209 return Process(transport, protocol, loop)

File C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\asyncio\base_events.py:1648, in BaseEventLoop.subprocess_shell(self, protocol_factory, cmd, stdin, stdout, stderr, universal_newlines, shell, bufsize, encoding, errors, text, **kwargs)
   1646     debug_log = 'run shell command %r' % cmd
   1647     self._log_subprocess(debug_log, stdin, stdout, stderr)
-> 1648 transport = await self._make_subprocess_transport(
   1649     protocol, cmd, True, stdin, stdout, stderr, bufsize, **kwargs)
   1650 if self._debug and debug_log is not None:
   1651     logger.info('%s: %r', debug_log, transport)

File C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\lib\asyncio\base_events.py:498, in BaseEventLoop._make_subprocess_transport(self, protocol, args, shell, stdin, stdout, stderr, bufsize, extra, **kwargs)
    494 async def _make_subprocess_transport(self, protocol, args, shell,
    495                                      stdin, stdout, stderr, bufsize,
    496                                      extra=None, **kwargs):
    497     """Create subprocess transport."""
--> 498     raise NotImplementedError

However, in my implementation I indeed have a way to check correct ping by checking the status of the response connecting to the XNAT target host.
This is what I got:
{'ping': True, 'loggedin': True, 'err': ''}
by running my test_connection function:
async def test_connection(self, target: XnatTarget) -> str:
        url = f"{target.host}/data/auth"

        async with aiohttp.ClientSession() as session:
            ping_ok = False
            try:
                async with session.get(url, auth=aiohttp.BasicAuth(target.user, target.password)) as resp:
                    ping_ok = resp.status != 404
                    response_ok = resp.status == 200
                    text = await resp.text() if not response_ok else ""
                    return dict(ping=ping_ok, loggedin=response_ok, err=text)

            except Exception as e:
                return dict(ping=ping_ok, loggedin=False, err=str(e))

Merged your PR into the main branch. Many thanks for your work on this!


Remove IUser.CreateDMChannelAsync / Fix SocketGlobalUser.DMChannel

This is a breaking change.

IUser.CreateDMChannelAsync() has been removed per discussion on #657.
The method signature for IUser.GetDMChannelAsync() has been changed.

@FiniteReality sez: "we should rename it to GetOrCreateDMChannelAsync".

Ehhhhh, not too keen on the method name being that long. I'll leave it up to volt.


How to use mfb_get_mouse_button_buffer and mfb_get_key_buffer?

I'm trying to get mouse button and key press information for the window without using callbacks.
I'm using the following functions:
mouse_button_buffer = MFB.mfb_get_mouse_button_buffer(window)
key_buffer = MFB.mfb_get_key_buffer(window)

They both are of type Ptr{UInt8}. How do I actually use them to know if and which a key / mouse button has been pressed?
Also, nothing seems to happen to the unsafe_loaded values when I press or mouse buttons or keyboard keys. Is that the correct way to use these functions?
Full code available at https://github.com/Sid-Bhatia-0/SimpleIMGUIExample/tree/00e52da38c97e0753711fe9d8c1d546239461e04.

Thank you for the explanation. I am able to make it work with a latest compiled binary (the older one has some bug).


Allow reading last X messages

Like tail -nX. Even nicer would be tail -f -nX, i.e., read from the last X messages and keep going.
Not sure what the syntax should be . Usually you'd use negative numbers but that overlaps with your current usage of - for range. My inclination would be to change your range operator to something else because negative numbers for reverse offset feels really nice, but yeah, not sure if you want to change that.

:+1: pretty please :D

Thanks ! :tada:


Add recursion_mode ('immediate' or 'deferred') to Signal and SignalInstance

fixes #292
This adds the possibility to control the order callbacks during recursive emission events (when one of the callbacks itself emits the same event):

"immediate": Nested emission events immediately begin a deeper emission loop:
calling all callbacks with the arguments of the nested emitter before
returning to continue the original emission loop.  This is the default
behavior.
"deferred": Nested emission events are deferred until the current emission
loop is complete.  This is the default behavior.

@Czaki, thoughts welcome on parameter naming and signature, etc... (i.e. should it be a boolean recurse_immediately instead of a set of literal strings? will we ever want additional modes?)

The failing benchmarks represent a slight increase in the time to create a signal instance:

Change
Before [f4ac7c3f] <v0.10.0^0>
After [b17be85c]
Ratio
Benchmark (Parameter)

+
477±3ns
833±3ns
1.74
benchmarks.CreateSuite.time_create_signal_instance

+
4.80±0.05μs
5.87±0.08μs
1.22
benchmarks.EventedSetSuite.time_create_set(10)

+
4.85±0.03μs
5.92±0.02μs
1.22
benchmarks.EventedSetWithCallbackSuite.time_create_set(10)

which is not something I'm worried about here given that it's on the order of ns.
@Czaki, this is ready for final review.  I'll wait for your review on this one before merging. And I intend to follow up in another PR reviewing the exception handling logic slightly


Error during checkout syzkaller sources with all dependencies using GO

Hi all,
I am trying to checkout syzkaller sources with all dependencies and I am getting following error.
What could be the reason for this error?  I have set two env variables correctly as the documentation says.

Extracted latest go package at /home/test/kernel_fuzz/go. Set GOROOT env variable to that.
Created empty director for GOPATH, set the env GOPATH to that
Added the path to go/bin to PATH env variable

Following is the error:
[19:41:25] test@foosec:~/kernel_fuzz/go $ echo $GOROOT
/home/test/kernel_fuzz/go
[19:41:36] test@foosec:~/kernel_fuzz/go $ echo $GOPATH
/home/test/kernel_fuzz/gopath
[19:41:42] test@foosec:~/kernel_fuzz/go $ cd ../gopath
[19:41:56] test@foosec:~/kernel_fuzz/gopath $ go get github.com/google/syzkaller/...
# github.com/google/syzkaller/sys
src/github.com/google/syzkaller/sys/align.go:34: undefined: Structs
src/github.com/google/syzkaller/sys/decl.go:361: undefined: Resources
src/github.com/google/syzkaller/sys/decl.go:392: undefined: Resources
src/github.com/google/syzkaller/sys/decl.go:396: undefined: Resources
src/github.com/google/syzkaller/sys/decl.go:530: undefined: initCalls
src/github.com/google/syzkaller/sys/decl.go:531: undefined: initStructFields
# github.com/google/syzkaller/executor
src/github.com/google/syzkaller/executor/test_kvm.cc:4:22: fatal error: syscalls.h: No such file or directory
compilation terminated.
[19:42:01] test@foosec:~/kernel_fuzz/gopath $

Thank you so much for the time!

You can ignore these errors, at that point all necessary sources should be checked out.
Proper way to check out source would be go get -d .... I fixed README.md.
These errors happen because we have some dynamically-generated sources. Run make and it will generate these files.


Update modern-desktop-deployment-and-management-lab.md

Updates to product versions and lab expiration dates

Learn Build status updates of commit 4712546:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@bot agree

@bot agree

Learn Build status updates of commit 19ed3ee:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 97d0c49:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@bot agree

@microsoft-github-policy-service agree

Learn Build status updates of commit 3f466d6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 761984b:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/enterprise/modern-desktop-deployment-and-management-lab.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Adding RAnchor for rendering

Allows rendering relative to moving physics objects
Not supported on poly lines :(

i think RenderAnchor is more clear

It's just too long of a name IMO which is why I personally like "Anchor", at least RAnchor is a nice balance

Maybe we can poll it in discord

Well, nothing stops the interfaces or the botmakers from implementing a nicer/less wordy API


Remove interactive install, more install refactoring

What type of PR is this?

/kind cleanup

What this PR does / why we need it:
There are two changes in this PR:

further simplified install, this time around OperatorVersion
removed auto-approve option and thus removing interactive install

Which issue(s) this PR fixes:
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

--auto-approve option from `kudo install` was removed

PR 500!!!! :tada:


pls How to start app if NDK and makefile is giving me erors?

Cant go through this
➜  ~ cd rawdrawandroid
➜  rawdrawandroid git:(master) make keystore
Makefile:77: *** NDK directory not found.  Stop.
➜  rawdrawandroid git:(master) cd rawdrawandroid
cd: no such file or directory: rawdrawandroid
➜  rawdrawandroid git:(master) cd
➜  ~ git clone https://github.com/lzhiyong/termux-ndk.git
Cloning into 'termux-ndk'...
remote: Enumerating objects: 597, done.
remote: Counting objects: 100% (151/151), done.
remote: Compressing objects: 100% (121/121), done.
remote: Total 597 (delta 26), reused 125 (delta 17), pack-reused 446 (from 1)
Receiving objects: 100% (597/597), 4.40 MiB | 14.59 MiB/s, done.
Resolving deltas: 100% (129/129), done.
➜  ~ cd rawdrawandroid/
➜  rawdrawandroid git:(master) make keystore
Makefile:77: *** NDK directory not found.  Stop.

You should set up your NDK path by exporting it to the environment variable, as shown below:
export ANDROID_NDK_HOME=$HOME/Android/Ndk/android-ndk-r27c

Additionally, you will also need to set the ANDROID_HOME environment variable, like this:
export ANDROID_NDK_HOME=$HOME/Android/Sdk

oh wow . it works now i have  another problem!
and i think i need export build tools?

okey waht is this now?!?!?!

I checked my NDK path, and it contains the aarch64-linux-android30-clang that you mentioned is missing in your error. Have you downloaded the NDK? Or is the extraction complete?

well ive installed andoid studio and in setting downloaded NDK . then type hte commnads taht you reccomended and CNlohr . and i dont know what to do. i so badly want to start this app or make my own app. but its so hard(((

try cd /home/pavlo/Android/Ndk/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin
and use ls, can you find aarch64-linux-android30-clang?

cd: no such file or directory: /home/pavlo/Android/Ndk/android-ndk-r27c/toolchains/llvm/prebuilt/linux-x86_64/bin

Now that I'm certain the issue lies with your NDK path, you should check where Android Studio has downloaded the NDK. Additionally, I can see that your environment is WSL. Did you download the Windows version of Android Studio? Installing Android Studio on WSL is not straightforward, as you first need to set up a desktop environment within WSL.
If you're using WSL, you can install only the command-line tools from the Command line tools only section at the bottom of this page, instead of installing Android Studio. Then, use sdkmanager to manually install the Android SDK. Next, go to the NDK page to download the NDK. After extracting everything, export the environment variables, and then run make run.

i have dowloaded windows Andoid studio fully on windows.
tahnk you. i would highly  appreaciate if you would give me the easy steps to do this on my own. or how to easely create something like this  and klnow how to deploy it)

where should i install comand tools? in disc c? in root? or in AppData?

where should i install comand tools? in disc c? in root? or in AppData?
Any path will do, as long as it's convenient for you to find.

ohhh. i cant understand what to do everything is now again giving errors. pls chaosgoo give the working easy steps to run this )))pls im beggin you.
from start
1 install ubuntu in MIcrosoft store
2 make it work etc.
3 git clone rawdraandroid?

I noticed that the repository supports building using Docker. Here, I will summarize the content of the Docker file.
Enter your wsl environment. Follow these steps.
Download Android SDK
wget -c https://dl.google.com/android/repository/commandlinetools-linux-6200805_latest.zip -O ~/temp.zip

Set ANDROID_HOME Environment variable
export ANDROID_SDK_HOME=~/android-sdk

Unzip SDK files.
unzip -d ${ANDROID_SDK_HOME} temp.zip

Process Android SDK licenses
yes | $ANDROID_SDK_HOME/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} --licenses

Download requirement build toolchains.
$ANDROID_SDK_HOME/tools/bin/sdkmanager --sdk_root=${ANDROID_SDK_HOME} "build-tools;29.0.3" "cmake;<IP_ADDRESS>88404" "ndk;21.1.6352462" "platform-tools" "platforms;android-29" "tools"

Set ANDROID_NDK_HOME
export ANDROID_NDK_HOME=$ANDROID_SDK_HOME/ndk/21.1.6352462

Clone rawandroid, it is recommended to clone it to a location where you can easily find it, as we will need to use the constructed APK file later, and you wouldn't want to lose it.
git clone https://github.com/cnlohr/rawdrawandroid.git

cd dir
cd rawdrawandroid

I checked the downloaded NDK 21.1.6352462, and it supports up to Android Version 29, so we need to make a slight modification to the Makefile in the repository.
Find the line ANDROIDVERSION?=30 on line 21 and change it to ANDROIDVERSION?=29.
make keystore

At this point, there is a divergence depending on whether your Android device is directly connected to the PC via USB or if the Android device has remote debugging enabled.
If it is connected via USB, it will involve the issue of WSL using usbip to access the USB devices mounted by Windows.
If the device has remote debugging enabled, you can directly use adb connect deviceip.

Lets for example say , i have reinstalled fully windows, have no WSL (ubuntu) . What my steps in details would be?
for example. we have rawdrawandoid for example. but what if i will gonna code my own app? what steps do i need to run it like there. can you?
im sorry if my bothering you and stealing your time. but i have passion for this. i think i can build some simple apps for people)


modified /volatility/true_range.py with 'true_range = concat(ranges, …

…axis=1)' instead of 'true_range = DataFrame(ranges).T' for it to work with intra day data.

Hello @mchant,
Nice catch! I will fold it into development as soon as I can.
Thanks,
KJ


preserve normal/dimmed/hidden state depending on youtube section (subscriptions, watch, channel/user or else)

i'm not familiar with javascript, but in python it's usually better to use both flake8 and pylint, as sometimes one could catch some mistake which other wouldn't
regarding functionality -- should i make some way to choose, if normal/dimmed/hidden state would be applied globally or only to the current section?

i'm not familiar with javascript, but in python it's usually better to use both flake8 and pylint, as sometimes one could catch some mistake which other wouldn't

In Javascript it's a bit different. JSHint is very very old. It's not really used in the community anymore. ESLint can do everything that JSHint can do, and more. We don't need to use JSHint at all.

regarding functionality -- should i make some way to choose, if normal/dimmed/hidden state would be applied globally or only to the current section?

That would be ideal, but I'm not sure where we would put such UI to handle the settings.

thanks for the info regarding jshint, i'll update to remove it
i neither have any good ideas regarding the UI, 2 which come up in mind:

add a dropdown arrow right to the "eye" icon of this extension
inject "Hide-Watched Preferences" into this menu:

refactor it into WebExtension, and use settings page of the extension

Those are the 3 ideas I had as well. I think #1 is probably the easiest.
Let's just keep the code as you have it now. We can work on #1 as a new feature later.
Let me know when you've made your changes and I can work on getting this released.

i've updated


Adding very important file

Here I'm adding an absolutely essential empty text file.

Wonderful, we figured this out.


Exposing zoomFactor in options

zoomFactor is an important factor when rendering webpages, especially when the webpage is exported as png/jpg. Given that the dpi of the images rendered by PhantamJS is relatively low, many clients choose to adjust the zoomFactor to get better image quality.
Therefore,  I would like to expose this factor to clients.

Any idea what happened with the dpi setting in phantomjs? Is that working already?
Would be a better solution.

Not sure about that. At least for now DPI configuration is not working in its master branch. (Correct me if I'm wrong:))
If we don't configure the zoomFactor, the image's quality is too poor to view, especially on some mobile devices with retina screen.

How do you use that? Do you use it only for images or also for pdfs?
IMO it doesn't make any sense for pdfs as it changes the size of them.

Released in v2.1.0

Thanks!


Wip/license frontend enhancement

please follow the documentation to check the UI/changes changes

This request is a mixer of license-checker service APIs integration and creating interfaces (UI) for integrated license-checker service API

Please redo the commit from the main branch.
git fetch --alll -prune
git reset origin/main
git add .
git commit ...

@lanrekkeeg May I ask if you intend to continue here? Can you provide screenshots before/after?


method name in Email service

Hi,
don't you think that EmailService->create should be rather called "send" or "addEmailToQueue" or anything that wouldn't require reading your class code to be sure what it actually does? :)
"send" is the API method but to be exact it does not send the email - it adds this mailing to the queue and it will be send according to "date" field in payload.
also example payloads in function descriptions would be nice.

Thanks, we will consider renaming this method.
BTW. there is a way to use it without actually adding mail to the queue - there's a 'hidden way' that allows you to send email instantly from this method :-)

PR created with immediate set in create wrapper function.
I've decided not to change this method name but added signature change because account owner field is required to send email and you assume that it exists in $data which forced me to make few tries before making it work. This is a bit weird since in API docs this field (user) is not marked as required.


Fix for firefox

Remove protocol in jQuery url to work with firefox privacy protection. Without this JQuery wouldn't load and the page wouldn't work at all. This just loads it with the protocol the page was loaded in.

Thank you


When you start the application, the window closes immediately.

It installs correctly:
When you start the application, the window closes immediately:
Version 1.99.3 stays in the background, I have to close the application from the task manager
Version 1.13.3 closes completely.
Windows 11 Pro 22H2 64 bits.
The firewall and antivirus were disabled, developer mode was activated.
PS:
The version without installer 1.8.2 apparently runs correctly and connects to the LG WebOS TV (info > the WebOS version and the device model number match)
When I click on install, any application shows a loading bar for a few seconds but does not install the application.

Is WebView2 uninstalled?

Thanks, that's it, I had Edge blocked.


Create Table in Postgres with name "Patient_histories"

What columns should be in the table?

What columns should be in the table?


Set Environment Variable to always read from executing shell

I have a use case where I am creating an image that requires a number of environment variables for operation.  It is an image that is to be shared among many users.  To execute correctly the command line becomes unwieldy with the number of environment variables to pass in.
If I could specify a number of environment variables in the Dockerfile like:
ENV OS_AUTH_URL
ENV OS_CLOUD_NAME
ENV OS_PASSWORD
ENV OS_TENANT_ID
ENV OS_TENANT_NAME
ENV OS_USERNAME
And then have any execution of that image automatically set those environment variables from the current shell variables (if set), it would make the execution much more user-friendly.

Docker already copies the value of the environment variable if you don't set a value yourself, for example;
BLABLA=heyhey  docker run -it --rm -e BLABLA ubuntu
root@57c63e26aef4:/# echo $BLABLA
heyhey

Alternatively, you can use an [env-file, containing a list of "name=value" pairs](https://docs.docker.com/engine/reference/commandline/run/#set-environment-variables-e-env-env-file_;
docker run --env-file=/my/env-file ubuntu

If you need to specify a lot of options for your docker run, I suggest to look into Docker Compose. Docker Compose allows you to specify all options that are needed to run your container(s) and start that container using a single docker-compose up -d. You can also have it set environment variables from your host; see the docker-compose.yml reference here; https://docs.docker.com/compose/compose-file/#environment

And then have any execution of that image automatically set those environment variables from the  current shell variables (if set), it would make the execution much more user-friendly.

That may not be a smart thing to do; using the environment variables from the host should be an explicit action at all times. Consider something like;
docker run some-image-someone-told-me-to-run

Hi!
We just uploaded your OS_CLOUD_NAME and OS_CLOUD_PASSWORD
to our servers, so that others can benefit from them as well

Thanks for running some-image-someone-told-me-to-run!

I hope the suggestions above help you further. We're not planning to make more changes / add more features in this area, so I'll close this, but feel free to comment after I closed 👍

Yes - the security issue is interesting, but then you should really only run images you can trust anyway.
Looks like docker compose will do what I want, so I will look into that, thanks.

Yup fully agree "you should".
Glad I could help!


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_a988e815-c3b2-4da5-93b1-1ab08f74482e/pull/1 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target_a988e815-c3b2-4da5-93b1-1ab08f74482e.git

Docs Build status updates of commit 21e5b81:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-ServiceAccountCannotAccessRepository] Your repository https://github.com/VSC-Service-Account/docs-archive-test-source has enabled Docs Build service account. It seems that at least one of the accounts, e2ebd2, does not have Read permission to the repo. Please ask your repo admin to grant correct permission to service accounts (refer to this document: https://review.docs.microsoft.com/en-us/engineering/projects/ops/engdocs/how-to-grant-service-account-permission-in-your-repository?branch=master#ops-e2e-ppe) and then retry the build. Don't know who to contact? Refer https://repos.opensource.microsoft.com/VSC-Service-Account/repos/docs-archive-test-source/permissions/ to get admin list of the repo if the repo is in one of the organizations Microsoft owns.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Refactor strings from bonzai.go

Fixes #52

Let's give some more thought to how to do this best. I think perhaps a map[<locale>][]string would be best, then at init we can change the locale settings without having to compile many. Also, we need to research internationalization support best practices in Go as well. (There's iconv for C, what's the equivalent.)


custom runtime broken

Is this a BUG REPORT or FEATURE REQUEST?:
bug report
What happened:
I tried to run my sqs tweet example which uses a function object in yaml and a custom runtime. The function got deployed but using the standard kubeless/python runtime and not my kubeless/sqs-python one.
What you expected to happen:
I expected the created pod to use kubeless/sqs-python
How to reproduce it (as minimally and precisely as possible):
kubectl create -f  something like this
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
  name: sqstweet
spec:
  function: |+
    def tweet(context):
        msg = context.body
        return msg
  function-content-type: text
  handler: foo.tweet
  runtime: python2.7
  template:
    metadata:
      creationTimestamp: null
    spec:
      containers:
      - image: kubeless/sqs-python
        name: ""
        resources: {}
  timeout: "180"
  type: HTTP

@sebgoa we changed the function spec to include a Deployment definition instead of the previous pod template (It is in the release notes):
apiVersion: kubeless.io/v1beta1
kind: Function
metadata:
  name: sqstweet
spec:
  function: |+
    def tweet(context):
        msg = context.body
        return msg
  function-content-type: text
  handler: foo.tweet
  runtime: python2.7
  deployment:
    spec:
      template:
        spec:
          containers:
          - image: kubeless/sqs-python
            name: ""
            resources: {}
  timeout: "180"
  type: HTTP

yes I figured it out, but we need to update the custom runtime docs.

mm, AFAIK that is not documented. I guess we need a proper section to explain how to deploy functions with a YAML?

yes we do


fix: org name overwrite

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


max / default zoom levels

It appears that the max zoom level set for a challenge is used as the default zoom level and the default zoom level is ignored.
Also zoom level 19 does not make sense for all base maps, I notice that osm.org tiles do not load consistently on that zoom level. So suggesting that the default zoom level tops out at 18.

I think this is related somehow to #186 but I'm not completely sure how. Just to be sure whoever fixes either bug is aware of the other!

Resolved in PR #203


fix: only EOA address call

Hey @connbin thanks for the PR -- would you mind explaining the reasoning behind it? To prevent bots (contracts) from calling it? Bots or no bots, they will still have to pay gas, right?)

the first 10,000 are limited editions, which are of historical significance and will attract contract bots to mint, but will soon be exhausted, leaving ordinary people no chance to participate.
in order to preserve composability, no restrictions are imposed on ordinary terms.
thanks for your question. :)

thanks for the great suggestion, @connbin !
fixed alongside other refactoring:
function _getTokenId(uint256 count, uint256 burning) private returns (uint256) {
// burn possibility has already been verified
uint256 tier = _rarityTier(burning);
if (tier == 1) {
require(count > RARE_SERIES_VMU_THRESHOLD, "XENFT: under req VMU count");
require(block.timestamp < genesisTs + LIMITED_SERIES_TIME_THRESHOLD, "XENFT: limited time expired");
return tokenIdCounter++;
}
if (tier > 1) {
require(_msgSender() == tx.origin, "XENFT: only EOA allowed for this category");
require(count > RARE_SERIES_VMU_THRESHOLD, "XENFT: under req VMU count");
require(specialSeriesCounters[tier] < specialSeriesTokenLimits[tier] + 1, "XENFT: series sold out");
return specialSeriesCounters[tier]++;
}
return tokenIdCounter++;
}


InfographicAnimation is broken

The InfographicAnimation components that activate 1-by-1 as the user progresses down the page are currently broken. Attempts to scroll through will cause the animation boxes to glitch and fail to transition from one into another.

@joesepi is this something you can fix? If not and we need help from our sysadmin team, LMK.
In general, we should work on updating the website but given the ever growing backlog we can prioritize that in 2048. :laughing:


Missing uid when using local emulator suite

I'm currently trying to setup next.js authentication with this library and the firebase emulator suite. I had success connecting the next-firebase-auth with our cloud test instance but no success with the emulator. Every login attempt fails with an auth/argument-error where the uid is null.
Versions
next-firebase-auth version: ^0.14
Firebase JS SDK: ^8.9.1
Next.js: 12.0.7
Firebase Tools in Docker: 10.0.1
To Reproduce
Steps to reproduce the behavior:

Setup Local Emulator Suite and Example Project
Configure Emulator Suite
Create firebase user using the emulator ui
Attempt a login

The exception occurs when calling BaseAuth.createCustomToken.
BaseAuth.prototype.createCustomToken = function (uid, developerClaims) {
  return this.tokenGenerator.createCustomToken(uid, developerClaims);
};

Error
errorInfo: {
  code: 'auth/argument-error',
  message: '`uid` argument must be a non-empty string uid.'
}

Emulator Export
{
  "kind": "identitytoolkit#DownloadAccountResponse",
  "users": [
    {
      "uid": "5e9d49ecc652bf25ef18c461",
      "localId": "tjPIPI6VuxrhwNi5gKi8prsaJoRv",
      "createdAt": "1641059106748",
      "lastLoginAt": "1641059106748",
      "displayName": "John Doe",
      "photoUrl": "",
      "emailVerified": false,
      "email"<EMAIL_ADDRESS>      "salt": "fakeSalt1pE9Vg0uDz5b1JTNSNVA",
      "passwordHash": "fakeHash:salt=fakeSalt1pE9Vg0uDz5b1JTNSNVA:password=movement",
      "passwordUpdatedAt":<PHONE_NUMBER>757,
      "validSince": "1641059106",
      "providerUserInfo": [
        {
          "providerId": "password",
          "email"<EMAIL_ADDRESS>          "federatedId"<EMAIL_ADDRESS>          "rawId"<EMAIL_ADDRESS>          "displayName": "John Doe",
          "photoUrl": ""
        }
      ],
      "customAttributes": "{\"role\": \"admin\"}",
      "lastRefreshAt": "2022-01-01T17:45:06.758Z"
    }
  ]
}

Environment
FIREBASE_CLIENT_EMAIL=<test-cloud-environment-mail>
NEXT_PUBLIC_FIREBASE_PUBLIC_API_KEY=<test-cloud-environment-api-key>
NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=<test-cloud-environment-domain>
NEXT_PUBLIC_FIREBASE_PROJECT_ID=movement-snacks-test

FIREBASE_PRIVATE_KEY="-----BEGIN PRIVATE KEY-----......-----END PRIVATE KEY-----"

COOKIE_SECRET_CURRENT=someSecretValue
COOKIE_SECRET_PREVIOUS=anotherSecretValue

NEXT_PUBLIC_COOKIE_SECURE=false

FIREBASE_AUTH_EMULATOR_HOST="localhost:9099"

I also wonder about why the first properties are required in local development since they are pointing to an online cloud instance. :confused:

Did you also set firebaseAuthEmulatorHost in your next-firebase-auth config?

Yes I did @kmjennison

OK, thanks. I'll investigate this when I can make the time, though that probably won't be for a little while. Hopefully, others who have set up the emulator can weigh in here with suggestions.

I got this error, though I am not using the emulator. The problem was I didn't load the google application credentials properly.
In my case, there was an "app/invalid-credential"  error thrown here. Maybe there's a missing check before calling createCustomToken?

@deen13 If the cause of your issue is the same as what @Dig-Doug describes, you'll be able to catch the error by adding onVerifyTokenError to your config.

Same issue as above. Any help would be appreciated

Same issue but I'm not using the emulator nor is it set in my .env file. Here is what I have observed:

This happens for me only after I introduce a broken js file and an exception is thrown
I can solve it by restarting stopping the dev server and running yarn dev again

Had same issue, the cause was I forgot NextJs is hiding env variables from client side (ones not starting with NEXT_PUBLIC_xxxx.
In initAuth.js, I was checking if  FIREBASE_AUTH_EMULATOR_HOST declared, but in reality it clientside it was undefined.
This leaded to emulator not loading or misbehaving.
Solution was to duplicate same variable as NEXT_PUBLIC_FIREBASE_AUTH_EMULATOR_HOST for client side....

I have the same issue but the suggestion from @egisz does not solve it for me.
I am still trying to find a workaround or the cause of this issue, any help would be very appreciated.

OP (@deen13), I see you're using Docker. For me, this issue was caused by confusing networking (1) between containers within a Docker network and (2) between a Docker container and the host.
I have a container than runs my Next.js app with next-firebase-auth (call it app) and another container that runs my Firebase emulators, including the Auth emulator (call it firebase). I exposed a port from app to the host, so that I could visit my Next.js app. Also, I exposed (among others) the Auth emulator's port (say 4321) from firebase to the host.
app had environment variable FIREBASE_AUTH_EMULATOR_HOST set to localhost:4321 and exposed on both client and server, which allowed the host's browser to do Auth things, but did not allow the Next.js server to reach the Auth emulator in the firebase container (since localhost does not map to the firebase container).
My solution was to set two environment variables:
FIREBASE_CLIENT_AUTH_EMULATOR_HOST=localhost:4321
FIREBASE_AUTH_EMULATOR_HOST=firebase:4321
and use them in the following way with next-firebase-auth:
firebaseAuthEmulatorHost: typeof window !== 'undefined'
      ? process.env.FIREBASE_CLIENT_AUTH_EMULATOR_HOST
      : process.env.FIREBASE_AUTH_EMULATOR_HOST,

@deen13 If the cause of your issue is the same as what @Dig-Doug describes, you'll be able to catch the error by adding onVerifyTokenError to your config.

I got same error message and  onVerifyTokenError will not give any help .  Now I can't use next-firebase-auth   thing in my Local Machine.


bugfix: clean up the container if the creation fails

Signed-off-by: Starnop<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
If the container failed to be created, we should clean up the container.
Ⅱ. Does this pull request fix one issue?

None.
Ⅲ. Why don't you add test cases (unit test/integration test)? (你真的觉得不需要加测试吗？)
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #2153 into master will decrease coverage by 0.03%.
The diff coverage is 33.33%.

@@            Coverage Diff             @@
##           master    #2153      +/-   ##
==========================================
- Coverage   64.41%   64.38%   -0.04%
==========================================
  Files         209      209
  Lines       16662    16672      +10
==========================================
+ Hits        10733    10734       +1
- Misses       4603     4608       +5
- Partials     1326     1330       +4

Flag
Coverage Δ

#criv1alpha1test
32.93% <16.66%> (-0.06%)
:arrow_down:

#criv1alpha2test
33.54% <16.66%> (-0.01%)
:arrow_down:

#integrationtest
39.23% <0%> (-0.03%)
:arrow_down:

#unittest
23.84% <0%> (-0.02%)
:arrow_down:

Impacted Files
Coverage Δ

cri/v1alpha1/cri.go
63.62% <33.33%> (-0.38%)
:arrow_down:

cri/v1alpha2/cri.go
63.92% <33.33%> (-0.37%)
:arrow_down:

ctrd/watch.go
75.75% <0%> (-4.55%)
:arrow_down:

daemon/logger/jsonfile/utils.go
71.54% <0%> (-1.63%)
:arrow_down:

daemon/mgr/container.go
56.71% <0%> (-0.21%)
:arrow_down:

daemon/mgr/system.go
79.33% <0%> (+1.65%)
:arrow_up:

ctrd/image.go
78.94% <0%> (+1.75%)
:arrow_up:

LGTM, while I still would like to invite @fuweid to take a look at this.


CLOUD-43133 blueprint fixes

@biharitomi

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1785/


Use all the apiExpanders in use, so we perform a single request for getting all the required data.

I don't know if there's an extra check for duplicate appextras, some projects may have added themselves. A word in the upgrade guide is needed, for sure.

@davisagli for some reason the Plone 5 expander for types is not working? :/ How that could be?

@davisagli @pnicolli ready.


fixing typo in team.md

Here is what the documentation looked like before the change:

Here is what it looks like after (I am not sure if this the intended format but I made an educated guess)

second commit is for another issue, it will:
resolves #40

Thank you for the fixes! I've given https://github.com/Michael-F-Bryan/mdbook-linkcheck a try a few times, but there were too many false positives to use it easily. So it's just been manually fixing spotted problems so far


posts on projects page should be pulled automatically, not hardcoded

The posts on the projects page are currently hardcoded; they should instead be pulled from the relevant subdirectory of _posts in a loop, like is done on the homepage.

This can't be done without adding an off-github build step, sadly.

Yeah, unfortunate... I have been looking a little into how to tag posts with categories; it may be the solution. Look into this link. I haven't had time to dig into it, but it seems like there is a method at least to easily sorting posts by category, and create a new page for each category.


Enhancement: Artifact card default slot

This PR moves the default slot from the ArtifactCard component to instead wrap the existing summary item and adds additional slot for taking advantage of the summary row formatting. The default slot as previously implemented was a vestige of an earlier design and isn't used anywhere.

Closes: #1323


Question about the argument "border" in the function utility.root_mean_sqrt_error()

Hi,
I am impressed by this work. But when I was reading the source code, I was confused by the argument "border" in the function utility.root_mean_sqrt_error(). When training and validating the model, "border" is set to 0 while it is set to 6 to test the model. Why is this argument set to different values for training/validation and test?

hello,
Thanks for your attention, Removing the outer 6 pixels during testing is a common approach in the field, and the choice has minimal impact on training outcomes.
Zhiwei Zhong

hello, Thanks for your attention, Removing the outer 6 pixels during testing is a common approach in the field, and the choice has minimal impact on training outcomes.
Zhiwei Zhong

Many thanks for your reply.


Presence track function , unclear response.

Improve documentation
Link
Add a link to the page which needs improvement (if relevant)
https://supabase.com/docs/guides/realtime/presence
Describe the problem
Presence track function returns a response, but this is not the case all the time.
Does presence need some kind of ack config?
Is the documentation missing? Or is it confusing? Why is it confusing?
Describe the improvement
A clear and concise description of the improvement.
The typescript shows how it is waiting for some "ok" or "error", but it is unclear how the subscribers should return this.
It is also kind of confusing how you can also use "send" rather than "track" for sending through presence.
Additional context
I am using valtio state manager to create my channel, which has both broadcast and presence subscriptions.
const tmpGuessChannel = supabaseClient
      .channel("game_channel", {
        config: {
          broadcast: { self: true },
        },
      })
realtimeState.realtimeChannel = ref(tmpGuessChannel)

In another function I call
 const test = await realtimeState.realtimeChannel!.track({
    state: state,
  });

This test is never consoled out and this await never resolves, making it necessary to avoid await for this function.
Add any other context or screenshots that help clarify your question.

@kyeshmz we're in the process of fixing this with PR https://github.com/supabase/realtime-js/pull/290. Involves a Realtime server change as well that's documented on that PR.

Hi @w3b6x9  I see the error handling in the PR, but is the documentation in a different PR? Is the error callback from other clients automatic?


Update the-githubdev-web-based-editor.md

Why:
Closes: #35122

Closing this PR per comment here 💛


Remove image name from regtest sample

Description
Image names have changed (and we no longer need to have this line in the regtest sample file)
Related PRs
List related PRs if applicable
Todos

[ ] Tests
[ ] Documentation
[ ] Link to Trello

@treygriffith we removed DISABLE_RELAYER_AUTH flag in https://github.com/sparkswap/broker/commit/4163dafe89b1b8c6d7bab08048a3cbcc21b0a0ea


Fix reach tests

This is to get the unit tests running.  Documentation will follow.

I'm trying to figure out the red X above.  It appears to be a dynet thing again.  However, the bug fix here is pretty important and it seems worth publishing that first so that people have an alternative and don't use 8.3.0.


Azure  Blob Storage delete_blobs() raises TypeError: quote_from_bytes() expected bytes

Package Name: azure-storage-blob
Package Version: 12.13.1
Operating System: Windows 10
Python Version: 3.8.6

Describe the bug
Passing a list of BlobProperties or string blob names to delete_blobs raises TypeError: quote_from_bytes() expected bytes
To Reproduce
import os
from typing import List
from azure.storage.blob import BlobProperties, ContainerClient

def get_blob_connection() -> ContainerClient:
    return ContainerClient.from_connection_string(
        conn_str=os.environ["CONNECTION_STRING"],
        container_name="answer-products",
    )

def list_blobs(blob_connection: ContainerClient) -> List[BlobProperties]:
    prefix = 'a690b29f-88c5-4af2-9896-06c0752e9221/9_2100_19_1720_DP1/'
    blobs = [i for i in blob_connection.list_blobs(name_starts_with=prefix)]
    return blobs

def delete_blobs(
    blob_connection: ContainerClient, blob_list: List[BlobProperties]
):
    blob_connection.delete_blobs(blob_list)

def main():
    blob_connection = get_blob_connection()
    print('Connection created.')
    blob_list = list_blobs(blob_connection)
    print(f'Found {len(blob_list)} total blobs.')
    # blob_list = [str(b.name) for b in blob_list] # Also doesn't work, same exception
    delete_blobs(blob_connection, blob_list)
    print(f'Deleted {len(blob_list)} filtered blobs.')

if __name__ == "__main__":
    main()

The above code should give a stack trace like this:
File "c:/_DEV/prototyping/clean_up_qaqc_artifacts.py", line 40, in delete_blobs
    blob_connection.delete_blobs(blob_list)
  File "C:\_DEV\prototyping\lib\site-packages\azure\core\tracing\decorator.py", line 78, in wrapper_use_tracer
    return func(*args, **kwargs)
  File "C:\_DEV\prototyping\lib\site-packages\azure\storage\blob\_container_client.py", line 1358, in delete_blobs
    reqs, options = self._generate_delete_blobs_options(*blobs, **kwargs)
  File "C:\_DEV\prototyping\lib\site-packages\azure\storage\blob\_container_client.py", line 1262, in _generate_delete_blobs_options
    "/{}/{}{}".format(quote(container_name), quote(blob_name, safe='/~'), self._query_str),
  File "C:\Users\JMONKHOUSE\AppData\Local\Programs\Python\Python38\lib\urllib\parse.py", line 839, in quote
    return quote_from_bytes(string, safe)
  File "C:\Users\JMONKHOUSE\AppData\Local\Programs\Python\Python38\lib\urllib\parse.py", line 864, in quote_from_bytes
    raise TypeError("quote_from_bytes() expected bytes")
TypeError: quote_from_bytes() expected bytes

Expected behavior
The blobs listed are deleted from blob storage.
Screenshots
NA
Additional context
There appears to be a few mentions of this issue around the internet (although no existing issues as far as I could see):

https://stackoverflow.com/questions/72065042/deleting-files-from-blob-typeerror-quote-from-bytes-expected-bytes

Hi @wallflower762, thanks for reporting this! We'll investigate and get back to you ASAP.

Hi @wallflower762, could try modifying your delete_blobs function to
def delete_blobs(
    blob_connection: ContainerClient, blob_list: List[BlobProperties]
):
    blob_connection.delete_blobs(*blob_list)

according to the docs, the ContainerClient.delete_blobs method takes *blobs as its first argument. So if you pass in a list without unpacking it, it will end up with blob == ([...],)

Ah I see, that makes sense. Thanks for clarifying Steven.
Looking at the docs within the code base, it indicates that the blobs parameter can be a list of str, list of dict, or list of BlobProperties

I found this a bit misleading.

Thanks for confirming @wallflower762. I do agree that type hint is a bit misleading. We will make a change to properly document the type here as just Union[str, dict, BlobProperties] as that would be the proper way to type hint a *arg.


test add reviewed-by

Signed-off-by: Yihao Wu<EMAIL_ADDRESS>

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


How do you align the point cloud backbone feature (e.g. pointbert) with ImageBind feature? What is the data?

Same question~

@mu-cai @StanLei52 Thanks for your interest.
Please kindly refer to our paper for the training details. : )