[MB-3908] Implementation for Logoff POAM

Description
A follow-on to the draft design doc/PR https://github.com/transcom/mymove/pull/6555 that was done before implementing the changes.
POAM: V-69249: The application must display an explicit logoff message to users indicating the reliable termination of authenticated communications sessions.
Update all 3 apps to display a success logoff message after logging out.
Clear the message on refresh of the page.
Make sure the timeout logoff functionality is still working.
The main work of this PR was to change how LogoutUser() was working to allow the promise to used to update the state to know that the logoff has happened and to return to the signin page.
Logoff for Customer, Office and Admin apps.
Logoff for Office is working.
(NOT FULLY WORKING, Need help here) Logoff for Customer partially works. You can logoff and get an alert, but the alert does not clear on refresh of the screen.
(NOT FULLY WORKING, Need help here) Admin app, does not go to the new link when logoff is selected. You can see in the URL that the new URL is present to go to /sign-in but the page does not change.
https://user-images.githubusercontent.com/1359520/117070765-d07fd100-acf3-11eb-8f40-cb5adf5b333c.mp4
Timeout for apps
Timeout is working like before. It was refactored to also use history and use the promise being returned from LogoutUser() function.
https://user-images.githubusercontent.com/1359520/117072532-30777700-acf6-11eb-9f26-5a0440fc7b87.mp4
Reviewer Notes
Setup
make db_dev_e2e_populate
make server_run
make office_client_run

Visit all 3 apps and test the logoff function

http://officelocal:3000/
http://milmovelocal:3000/
http://adminlocal:3000/

Code Review Verification Steps

[ ] If the change is risky, it has been tested in experimental before merging.
[ ] Code follows the guidelines for Logging
[ ] The requirements listed in Querying the Database Safely have been satisfied.
Any new migrations/schema changes:

[ ] Follow our guidelines for zero-downtime deploys (see Zero-Downtime Deploys)
[ ] Have been communicated to #g-database
[ ] Secure migrations have been tested following the instructions in our docs

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, IE, Edge).
[ ] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[ ] User facing changes have been reviewed by design.
[ ] Request review from a member of a different team.
[ ] Have the Jira acceptance criteria been met for this change?

References

Jira story for this change

Screenshots
If this PR makes visible UI changes, an image of the finished UI can help reviewers and casual
observers understand the context of the changes. A before image is optional and
can be included at the submitter's discretion.
Consider using an animated image to show an entire workflow instead of using multiple images. You may want to use GIPHY CAPTURE for this! 📸
Please frame screenshots to show enough useful context but also highlight the affected regions.

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

:warning:

Files located in legacy directories (src/shared or src/scenes) have
been edited. Are you sure you don’t want to also relocate them to the new file structure?
View the frontend file org ADR for more information

Messages

:book:
:link: MB-3908

  Generated by :no_entry_sign: dangerJS against 770081e88bf830bb62aed089d4070e9273ceabf9

I'm seeing very different behavior than what is described.
Customer app: The alert clears out when I refresh the page.
Admin app: I get automatically redirected to the sign-in page, but the alert isn't styled well.

Customer app: The alert clears out when I refresh the page.

@YanZ777 changes where pushed up late yesterday after pairing with @Ronolibert.

Can we add 8 units/40px of space between the page header and the alert? It's looking a little cozy up there.


Keyword Arguments Issue

@thedrummeraki
Trying to understand for the life of me how to make this conditional...
args = {
      limit: @limit,
      offset: @current_offset,
      available_translated_language: ['en', 'uk'],
      includes: [:cover_art, :author, :artist]
}
args[:title] = params[:search].to_s if params[:search].present?
args[:included_tags] = [params[:tag].to_s] if params[:tag].present?
@mangas = Mangadex::Manga.list(args)

,
I'm trying to include the title and included_tags args only if they exist (user has inputted). But if you run that above code, you'll get
ArgumentError (wrong number of arguments (given 1, expected 0)):

Not too familiar with the keyword args here. How do I do this correctly?
Thanks,
Donald
https://github.com/thedrummeraki/mangadex/blob/24b27843b8e10e8b8a6490aafbecb4f452b81dae/lib/mangadex/manga.rb#L29

Hey @royalgiant, thanks for the question! have you tried
@mangas = Mangadex::Manga.list(**args)

All methods accept args as keyword arguments not as a Hash.

Looking at your code, looks like you're passing limit and offset. I've released some patch versions that allow you to pass those as strings so you don't have to convert them to integers first. You can bundle update mangadex to get the latest version (<IP_ADDRESS>). Good luck!

@thedrummeraki Nevermind, I figured it out. That was a literal rubber duck moment. 👎
I'll go update your readme sometime this week. This problem I was wrestling with for hours. :P

Ohh no sorry I was referring the exception you were getting because the args were passed in as an argument and not keyword arguments:
ArgumentError (wrong number of arguments (given 1, expected 0))

Other than that, what you did make sense (ie: conditionally pass in :included_tags when present). What ended up being the problem? I'm currently working on making filters a bit easier to work with and want to make sure that I'm working could help with your problem!

@royalgiant Closing this issue for now, feel free to reopen if you have another question.


Add Meshery-design-embed extension to Meshery-UI

Desired Behavior

Add Meshery-design-embed extension card to Meshery-UI.
Implementation

Acceptance Tests

Mockups

Contributor Guides and Handbook

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

@Aviral0702 are you adding this to meshery.io/extensions, too?

@Aviral0702 are you adding this to meshery.io/extensions, too?

Yes Sir, already opened a PR for that.


Local Playlist Storage

Hi there,
I know this project is EOL but the extension is still working so well for me and just wanted to find out if
it's possible store and save playlists locally, I only really use the extension on one computer so won't need any sharing functionality.
I know it's saving some data to local storage but I'm unsure as to how I could get playlists saving too.

Hahaha.  I think it is possible, but it's been a while. I know that originally Streamus only wrote to local and the DB was added later. Let me look at it for a bit.

Of course :P
There's literally nothing else out there with the same features, the search from chrome bar and radio are amazing!!
I thought maybe replacing all the old url's with the Backbone.LocalStorage adapter but not entirely sure exactly which ones though.

Yeah you're definitely on the right path with replacing the URLs with localStorage adapter.
If you take a look at streamItems.js, https://github.com/MeoMix/StreamusChromeExtension/blob/Development/src/js/background/collection/streamItems.js you'll see it's implemented using the localStorage adapter.
A starting point would be to mirror this setup with Playlists and PlaylistItems.
My only concern is that there might be server-side logic modifying things slightly as they're saved, but at a glance I don't see anything too crazy going on.
You might try starting there and, if unsuccessful, let me know what seems to be the issue? I don't have this running on my machine right now at all.

Try UpNext. It is a good chrome extension as well which serves same purpose. , They dont display the entire video but displays a still image from video

@sravan-bala  Just to be clear, UpNext is also in violation of YouTube's TOS.  Just trying to set expectations.


Read config file

https://genzouw.com/entry/2019/12/23/150005/1842/

This config file scan user defined and system defined config files.


Create landing page for tool.

I think the selling point with this tool is its extreme simplicity. There's some great other options out there, but with their awesome and plentiful feature set they've made compromises in terms of usability and complexity.
I think I can probably show how easy superzippy is to use in two lines of text, and can show exactly how it works with a few more.

Some folks have a lot of love for PyInstaller. The only selling point for superzippy is the simplicity of the whole thing (you can understand exactly what Superzippy does and create some intuition for when and where it'll work in like 15 minutes), and I should make that clear.
If I can make superzippy dirt easy to use, I think it'd be a good competitor. Soaking up the tiny niche market of "I want to ship a single executable for this small Python script I made but I'm tired of forcing all my code into one script, grumble grumble grumble", which was me when I made this.


Add dkms to manage nvidia gpu kmod compliation across different linux kernels

This PR adds DKMS to manage Nvidia GPU kmod compilation across different versions of the Linux kernel - https://wiki.archlinux.org/index.php/Dynamic_Kernel_Module_Support
Specifically it does the following

Add dkms package
Installs nividia drivers using dkms flag which registers the kmod in dkms
Creates dkms.service in systemd that autoinstalls any missing registered kmods for the running version of the linux kernel
This systemd unit is a run to complete job and only runs once when the VM boots

@lachie83 my GPU tests passed. Ready to merge with your 👍

I'm still having issues with k8s <= 1.9 because this command isn't being run at boot nvidia-modprobe -u -c0. It only shows up after a reboot. Going to investigate.
For reference - the device plugin is running this command in k8s >= 1.10 which is why it works there.

Updated the systemd unit and I'm seeing k8s <= 1.9 GPU kmod being mounted following a node reboot.

Ready for review @jackfrancis @sozercan @wbuchwalter

@lachie83 running another round of tests, /lgtm pending green

test signal is 💚


INFO: Rendering src\pug\index.pug to src\pug\index.html - Is this correct?

I'm running the command npm start debug, and when changing the .pug file, the output file is sent to that folder. I've tried to fix the JS files myself, unsuccessfully.  I suspect the problem is somewhere on: _renderAllPug()
First time render works. The watched renders doesn't.

This should be fixed now as of using upath within the Pug render.


docs(proxy): Add README.md

To be merged after #51

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 41.27%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
182

Relevant Lines:
441

💛  - Coveralls


Add docker/build-push-action in the CI.

And replace the image repository tianshimoyi with rockslabs

@ColinChamber Hi,May I ask whether a mirror image is suitable for pushing to ghcr.io of github or docker hub?

@ColinChamber @git-hulk Hi，i build a image in mac docker build -t docker.io/xiaojie99999/kvrocks-operator:latest .,I found docker tell me
Use 'docker scan' to run Snyk tests against images to find vulnerabilities and learn how to fix them

And I exec docker scan xiaojie99999/kvrocks-operator:latest,Could you please tell me how to solve this problem?
Testing xiaojie99999/kvrocks-operator:latest...

Package manager:   deb
Project name:      docker-image|xiaojie99999/kvrocks-operator
Docker image:      xiaojie99999/kvrocks-operator:latest
Platform:          linux/arm64

✔ Tested 3 dependencies for known vulnerabilities, no vulnerable paths found.

For more free scans that keep your images secure, sign up to Snyk at https://dockr.ly/3ePqVcp

-------------------------------------------------------

Testing xiaojie99999/kvrocks-operator:latest...

✗ Medium severity vulnerability found in golang.org/x/net/http2
  Description: Denial of Service (DoS)
  Info: https://snyk.io/vuln/SNYK-GOLANG-GOLANGORGXNETHTTP2-3160322
  Introduced through: golang.org/x/net/http2@#c7110b5ffcbb
  From: golang.org/x/net/http2@#c7110b5ffcbb
  Fixed in: 0.4.0

✗ High severity vulnerability found in gopkg.in/yaml.v3
  Description: Denial of Service (DoS)
  Info: https://snyk.io/vuln/SNYK-GOLANG-GOPKGINYAMLV3-2841557
  Introduced through: gopkg.in/yaml.v3@#eeeca48fe776
  From: gopkg.in/yaml.v3@#eeeca48fe776
  Fixed in: 3.0.0

✗ High severity vulnerability found in golang.org/x/net/http2/hpack
  Description: Denial of Service (DoS)
  Info: https://snyk.io/vuln/SNYK-GOLANG-GOLANGORGXNETHTTP2HPACK-3358253
  Introduced through: golang.org/x/net/http2/hpack@#c7110b5ffcbb
  From: golang.org/x/net/http2/hpack@#c7110b5ffcbb
  Fixed in: 0.7.0

✗ High severity vulnerability found in github.com/satori/go.uuid
  Description: Insecure Randomness
  Info: https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMSATORIGOUUID-72488
  Introduced through<EMAIL_ADDRESS>  From<EMAIL_ADDRESS>
✗ High severity vulnerability found in github.com/prometheus/client_golang/prometheus/promhttp
  Description: Denial of Service (DoS)
  Info: https://snyk.io/vuln/SNYK-GOLANG-GITHUBCOMPROMETHEUSCLIENTGOLANGPROMETHEUSPROMHTTP-2401819
  Introduced through<EMAIL_ADDRESS>  From<EMAIL_ADDRESS>  Fixed in: 1.11.1

Package manager:   gomodules
Target file:       /manager
Project name:      github.com/RocksLabs/kvrocks-operator
Docker image:      xiaojie99999/kvrocks-operator:latest

Tested 265 dependencies for known vulnerabilities, found 5 vulnerabilities.

For more free scans that keep your images secure, sign up to Snyk at https://dockr.ly/3ePqVcp

Tested 2 projects, 1 contained vulnerable paths.

Thanks @xiao-jay.  Security is indeed crucial, while we are not an expert in the field. Let's start by integrating the build-push process of the image into the CI workflow. We can later understand the background together and fix them in the next phase.

Hi,May I ask whether a mirror image is suitable for pushing to ghcr.io of github or docker hub?
What does "suitable" mean in this context?

Maybe push image to docker.io is suitable？because somebody can not pull image in china if push image to ghcr.io.
发自我的iPhone

在 2023年5月14日，23:55，ColinChamber @.***> 写道：

Hi,May I ask whether a mirror image is suitable for pushing to ghcr.io of github or docker hub?
What does "suitable" mean in this context?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.

You can try to use the latest code (after #16 ). According to @jiayouxujin's attempt, after upgrading the dependencies, there is only one vulnerable package left. @xiao-jay

Good job


[Bug] German umlauts removed

Thanks for the app!
When using it on file which had a German umlaut in them (äöüÄÖÜ) the umlaut was removed (I used find and replace to rename the extension).

Hi, thanks for reporting! I'll release a fix for this bug along with other changes very soon.

New version released. I simplified the security checks to allow all kinds of characters except those not allowed by the filesystem. I hope it works.


Api change

Coverage remained the same at 100.0% when pulling e6f02263a8e22119b74ba9008434c805fc56a8d0 on API-change into 22db6e42d2d612ddd8030a3c7c4c50e7269e19ee on dev.


replace request

The request package is deprecated, see https://www.npmjs.com/package/request
So we should replace it with e.g. node-fetch.
It is used in

calendarfetcher.js
newsfeedfetcher.js
and several e2e tests

Can submit a PR, but want to discuss this before if this is wanted and if node-fetch is the right replacement.

I also started moving my modules to node-fetch a while ago

That sounds like a good idea!

thanks, will start working on this.

after looking into package-lock.json I realised that some dependencies are also still using request. These are

node-ical
spectron (only dev dependency)
jsdom (only dev dependency)

So I can send my PR but instead of removing dependeny count we would get 4 more. Any suggestions?

I would still go for it. Having it replaced here is helpful. Waiting for the other libraries to remove it would take too much time.
Maybe one could look if one can help the libraries (especially node-ical since it is the only non.dev dependency) to replace request?

Closing this since it's merged. Let me know if I need to reopen.


Any reason to use Ramps without Pololu drivers?

I've just finished assembling the mechanical part of CNC. Still waiting for my db25 sockets, but I want to do some test runs before connecting all bells and whistles. Anyway I'm looking at my Arduino Mega (clone) and Ramps board - and I'm thinking - is there any reason to use Ramps at all, if I'm not going to use pololu drivers?
I'm also not sure if I would like to have as a permanent solution all connections made with dupont cables. I can't find any true soldering shield (well I've found one - but it's huge) for mega, but there is also a screw terminal shield like this.
Probably the best would be dedicated PCB... but :)

It provides convenient connection points for the UI components. I think you'd end up doing a bunch more wiring trying to avoid using the RAMPS than you would if you just used the RAMPS for everything but the stepper drivers, and used DuPont jumpers to go from the step and direction pins on the RAMPS to the inputs on your stepper driver modules.

I'm also not sure if I would like to have as a permanent solution all connections made with dupont cables.

Um... I'm not quite sure I understand - DuPont connections are the least permanent, perhaps only bested in non-permanence by alligator clips? Did you mean you want something more permanent and robust than DuPont jumpers?
If that's what you mean... then yeah; I get the idea. That's why I designed the Gx200 & Gx540 breakout boards. I haven't posted the gerbers for them yet because I haven't gotten a chance to assemble and test them yet... but I hope to soon.
It's not soldered together yet, but all the parts are here:

Meanwhile; using the multi-pin housings for the DuPont pins helps a lot with their structural integrity (I just use an X-acto knife or a really tiny flat screwdriver to pop up the tabs on the single pin housing of the pre-made DuPont pins that come as a ribbon cable, remove the metal pins & wire from the housing, and then cluster the pins together in a new multi-pin housing).
😄

Yah, that's what I meant about dupont connector's - I don't want them to be permanent solution.
This breakout board looks awesome. I'm not sure why you put there so many ICs  - but I'll wait till you create some documentation. Meanwhile I'm going to use screw terminal board - without ramps. Do you have full pinout table/schema, not by ramps sockets but just Mega pins (A1..A15,D1..D53) where to connect? If not I'll do it - but perhaps you already have it :)

Most of the ICs are for buffering & level shifting. There is one RS485 driver on the board; one i2c port expander which connects to a 74HCT245 buffer (intended to drive a 8-channel relay board), and a LM358 op-amp for analog voltage output (0-10v typically).
Both boards are designed to be voltage-level compatible with ARM based Arduino's (the Due and the Adafruit Grand Central M4 are the only ones currently available in the Mega form factor, but I'm hoping someday there will be a "Mega Zero" board by the official Arduino project that we could run the ARM version of Grbl that Chamnit is developing on). That's what the 5v/3.3v jumper is for - it switches which voltage level is fed back to the Arduino board's inputs, as well as what level the i2c lines are pulled up to.
If you look in the source code; in cpu_map.h most of the UI related pin definitions are expressed as Arduino Mega pin numbers. Also, the RAMPS schematic has the rest on it.
https://reprap.org/mediawiki/images/f/f6/RAMPS1.4schematic.png

Well, this is annoying.
I'm not sure how I managed to do it, but the pinouts for the connectors that go to the LCD/SD/Encoder knob PCB are wrong... half of them are left-right flipped. While it's possible to work around the issue with a wiring harness made from DuPont wires mounted in a 5x2 housing; I really want to have the header on the PCB have the right pinout so that you can just plug in the ribbon cable that the LCD board comes with.
So I'm going to have to fix the pinouts in the original file; and re-send them to China for manufacturing. Although I'm only out about $30 or so; it's another week for them to get here via DHL Express.
:unamused:

This is my DB25 PIN solution ...

All control signals go to this board and then to the controllers and the power supply.

@qulet -- do you have a link to any documentation on that board?
I found the Aliexpress page where it's sold, but it didn't seem to have very much information on it.

I've seen plenty of those boards on Ali (none have any specs) - but all they where referring to Mach3 devices, so I discarded it, assuming there is some additional logic build in, not just simple optocoupling for transfer.

The photos don't seem to indicate anything more than some buffering logic - 74HC245 - and some optocouplers, and a relay. I think it really is just a generic parallel port breakout; and they just reference Mach 3 because it's popular.
I'd like to check it's pinouts against the pinouts of my Gx540 design... I'm almost positive it'll be compatible - the Gx540 was designed to directly connect to a GeckoDrive G540; which itself is designed to directly plug into a PC parallel port...
I might have to grab one and reverse engineer it... it's only $5.

ST-V2.pdf
5Axis Breakout Board

Looks like it uses the same pinouts as the GeckoDrive Gx540; so my Gx540 breakout board would be compatible.
The revised PCBs went off to JLC for manufacturing about 18 hours ago, so hopefully they will fly out later today.

I've pushed this files to git - updated it with pots - I think that's all now.
Editable ODS and to view PNG & PDF to git: https://github.com/Saur0o0n/GRBL_Mega-pinout
After studying it I'm very disappointed :( since there is NO WAY to push all the human interaction stuff on single DB25 (to leave Mega close to drivers). I haven't count it before, because I got the impression it's doable, but now it looks like this would require 33 lines...

Hmm... how about a SCSI cable? Centronics 50 pin, IIRC...

Yah, but I've already got all DB25 boards and cables :/ I'll check for SCSI cable - I should have a lot of them at work and see if there are any breakout boards.
Good thing is that I've soldered yesterday Mega screw breakout board and it seems to be quite practical. You can even sandwich is with ramps (I'm not gone to use it - but wanted to do a quick test of LCD screen) - anyway looks nice :)

IIRC, some lower quality cables - assuming that it was being used with only SCSI - skipped on some of the ground lines... so it would probably be a good idea to double check that before plugging it in...
Alternatively... um... 33-25=8... so... a DB25 and a DB9 cable run in the same raceway?

Oops... wrong button. Not supposed to be closed yet!

I've found some neat SUN external SCSI cables - but with them (as I can see on ebay/aliexpress) would be a problem with sockets. I could cannibalize some old ("used to" be extremely expensive SCSI pci controllers) but this somehow doesn't feel nice. There are DB37 cables and sockets available - same price as DB25 - so this would be best option to start, but now I guess I'll add just DB15 (vga) line. DB15 is widely available and cheap, also leaves some space for expansion in future.

You are probably already aware of it, but I'll throw this into the thread anyways...
Technically, VGA uses a three-row DE-15 connector (also sometimes referred to as a HD15), not a DB15 connector (which would be like a DB25, but missing 10 pins). 15 pin two-row D-sub connectors were often used for analog joystick connectors on several systems (most notably the IBM PC) and are also often (erroneously) referred to as DB-15; but the VGA and joystick connectors are not physically compatible. Consequentially, when ordering parts one should make sure that one is getting the right thing.
https://en.wikipedia.org/wiki/D-subminiature
Also - better quality the VGA cables run the color signals down mini-coax lines. At the speeds that the components of the console operate; I don't think the difference in impedance is going to matter... but it is there.
https://en.wikipedia.org/wiki/VGA_connector

I could cannibalize some old ("used to" be extremely expensive SCSI pci controllers) but this somehow doesn't feel nice.

Not when new parts are available for so cheap these days...

I've updated pinouts with new RPM/load/laser pins: https://github.com/Saur0o0n/GRBL_Mega-pinout

bdurbrow - so how is your progress on your board design - is it ready?

I have not had a chance to work on this since mid-January or so... things got busy. I'm hoping to get back into it soon, though. First I'm going to get the promised update posted (there's still a little bit of testing I need to do; but the coding should be done); and then start work on the PCBs again.

Just to do some "leech magic" ;) - and raise some dead topics - have you finish PCB design and testing?


[FEATURE] add a mapping of countries in CountryAlpha2 enum to countries in human readable format for payout links

Problem Statement
Display countries in human readable format in the dropdown for payout widget.
Details
Payout component in SDK collects the required details for processing payouts. This widget has a form for selecting the recipient's address - fields like name, city, postal code and country is collected and sent to backend service. The fields to be collected are embedded in the payout link during initialization. Country for payout widget are always in CountryAlpha2 format as backend API requires it. However, it's not in a human readable format.
Task
Consume already existing Country module for mapping the CountryAlpha2 enums to a human readable format for the payout widget.

Hi can I work on this issue

Hey @HarshitVashisht11 Thanks for your interest, assigned the issue to you!
Kindly let us know, if you need any help.

Could you provide more specifics on which files need to be modified to resolve this issue?

@HarshitVashisht11 - can you try setting this up locally as a pre-requisite?
You need to make sure below components are up and running for testing payout links

HyperSwitch router
SDK

Once you have the local setup up and running, you can create a payout link locally. You can use this doc for reference - https://docs.hyperswitch.io/features/payment-flows-and-management/payouts/payout-link

@PritishBudhiraja - could you guide @HarshitVashisht11 with this task?

@HarshitVashisht11 - were you able to move forward with this? Were you able to setup hyperswitch and Hyperswitch-web locally?
This is a straightforward task for using a mapper function for converting country ISO code (for example, IN) to a more readable format (for example, India).
There exists a Country module (https://github.com/juspay/hyperswitch-web/blob/main/src/Country.res#L18) which needs to be incorporated during render of the dropdown in Payout Links.

Thank you, I have run locally hyperswitch and hyperswitch-web I will try to fix this issue soon.

Thank you, I have try to run locally hyperswitch and hyperswitch-web but after running cargo run the compilation process keep getting stuck at Compiling router v0.2.0 (/app/crates/router)

Hi @HarshitVashisht11
Compiling router crate is CPU intensive as it has a lot code. Can you try waiting and letting it compile for a couple of minutes?

@HarshitVashisht11 - just to confirm again, are you working on this at the moment?


Enable Completion Unable to Process List

Expected Behavior:
Command:
$ bash-it enable completion pipenv pip pip3

Returns:
0

Check Completions:
$ bash-it help completion

Returns:
  ...
  pip3                    [x]
  pip                      [x]
  pipenv                [x]

Actual Behavior
Command:
$ bash-it enable completion pipenv pip pip3

Returns:
0

Check Completions:
$ bash-it help completion

Returns:
  pip3                    []
  pip                      []
  pipenv                [X]

Run Command Again:
$ bash-it enable completion pipenv pip pip3

Returns:
pipenv is already enabled.
0

Check Completions:
$ bash-it help completion

Returns:

  pip3                    []
  pip                      [X]
  pipenv                [X]

Abstract Description of Issue:
'enable completion' seems unable to process lists though it accepts them, and will iterate through the list without adding all selections but adding the next option that isn't already enabled

That's weird, this is working perfectly fine for me:
❯ bash-it help completion | grep pip
pip                   [ ]
pip3                  [ ]
pipenv                [ ]

❯ bash-it enable completion pipenv pip pip3
pipenv enabled with priority 350.
pip enabled with priority 350.
pip3 enabled with priority 350.

❯ bash-it help completion | grep pip
pip                   [x]
pip3                  [x]
pipenv                [x]

Are you sure that you're on the latest version of Bash-it? The enable/disable for multiple parameters was added a while back. Could it be possible that you're on an older version?

So, I just ran it again, after a fresh install of my OS (for unrelated reasons, though it's the same distro) and installing bash-it in this fresh environment via the following process
~                                                                   04:51:42  Tay
❯ bash-it enable completion pipenv pip pip3

Listing enabled completions:
 ~                                                                  05:01:04  Tay
❯ bash-it help completion| grep pip
pip3                  [ ]
pip                   [ ]
pipenv                [x]

Just in-case something -is- screwy with my version (though, it doesn't seem like that could be problem) I ran the version command for bash-it:
 ~                                                                   05:03:19  Tay
❯ bash-it version
Current git SHA: ca843e7 on 2020-03-31T08:51:58+02:00
https://github.com/bash-it/bash-it/commit/ca843e7
Compare to latest: https://github.com/bash-it/bash-it/compare/ca843e7...master

Thanks for the additional detail. A couple of questions:

When you ran the bash-it enable command, did it print anything? It should have printed something along the lines of what I showed above (pipenv enabled with priority 350) - even for a single one, not only for multiple items.
Can you check whether the enabled completions were created in ~/.bash_it/completions/enabled, or in ~/.bash_it/enabled?
After running the install.sh script, did you either call bash-it reload or open a new Terminal window/session?

To me it looks like you're shell session still has an older version of Bash-it for some reason. Opening a new Terminal window should force to load the current Git version of Bash-it.

* When you ran the `bash-it enable` command, did it print anything? It should have printed something along the lines of what I showed above (`pipenv enabled with priority 350`) - even for a single one, not only for multiple items.

I thought that was odd as well, as I was aware that it should have given output instead of just returning 0. I was thinking I should have made note of the absence of the output in my reply but I figured I was already being too detailed/verbose in my explanation.
Therefore, I ran the same set of commands again today. Note that I have gone through several restarts (full, no sessions being restored) and logouts since I last posted and before issuing the following commands and receiving the resulting outputs (and lack thereof):

 ~                                   19:28:48  Tay
❯ bash-it enable completion pipenv pip pip3

Which produced this output (and only this output):
pipenv is already enabled.

*Note the lack of additional output

The next command I issued the prompt was:

 ~                                   19:30:57  Tay
❯ bash-it help completion

Which produced the following output:
Completion          Enabled?  Description
apm                   [ ]
awless                [ ]
awscli                [ ]
bash-it               [x]
brew                  [ ]
bundler               [ ]
capistrano            [ ]
composer              [ ]
conda                 [ ]
consul                [ ]
crystal               [ ]
defaults              [ ]
dirs                  [ ]
django                [ ]
docker                [ ]
docker-compose        [ ]
docker-machine        [ ]
drush                 [ ]
export                [ ]
fabric                [ ]
flutter               [ ]
gcloud                [ ]
gem                   [ ]
gh                    [ ]
git                   [ ]
git_flow_avh          [ ]
git_flow              [ ]
go                    [ ]
gradle                [ ]
grunt                 [ ]
gulp                  [ ]
helm                  [ ]
homesick              [ ]
hub                   [ ]
invoke                [ ]
jboss7                [ ]
jungle                [ ]
knife                 [ ]
kontena               [ ]
kubectl               [ ]
laravel               [ ]
lerna                 [ ]
makefile              [ ]
maven                 [ ]
minikube              [ ]
ng                    [ ]
npm                   [ ]
nvm                   [ ]
openshift             [ ]
packer                [ ]
pew                   [ ]
pip3                  [ ]
pip                   [x]
pipenv                [x]
projects              [ ]
rake                  [ ]
rvm                   [ ]
salt                  [ ]
sdkman                [ ]
sqlmap                [ ]
ssh                   [ ]
svn                   [ ]
system                [x]
terraform             [ ]
test_kitchen          [ ]
tmux                  [ ]
todo                  [ ]
travis                [ ]
vagrant               [ ]
vault                 [ ]
virsh                 [ ]
virtualbox            [ ]
vuejs                 [ ]
wpscan                [ ]

to enable a completion, do:
$ bash-it enable completion  <completion name> [completion name]... -or- $ bash-it enable completion all

to disable a completion, do:
$ bash-it disable completion <completion name> [completion name]... -or- $ bash-it disable completion all

*Note the completion being enabled but not pip3

* Can you check whether the enabled completions were created in `~/.bash_it/completions/enabled`, or in `~/.bash_it/enabled`?

Neither of these directories seem to be present on my system. I ran the following locate commands and couldn't find anything I feel comfortable matching to the files you described:

 ~                                     19:50:11  Tay
❯ locate bash_it

Which returned:
/home/taylor/.src/bash-it/bash_it.sh
/home/taylor/.src/bash-it/test/bash_it
/home/taylor/.src/bash-it/test/bash_it/bash_it.bats
/home/taylor/.src/bash-it/test/fixtures/bash_it
/home/taylor/.src/bash-it/test/fixtures/bash_it/aliases
/home/taylor/.src/bash-it/test/fixtures/bash_it/plugins
/home/taylor/.src/bash-it/test/fixtures/bash_it/aliases/available
/home/taylor/.src/bash-it/test/fixtures/bash_it/aliases/available/a.aliases.bash
/home/taylor/.src/bash-it/test/fixtures/bash_it/aliases/available/b.aliases.bash
/home/taylor/.src/bash-it/test/fixtures/bash_it/plugins/available
/home/taylor/.src/bash-it/test/fixtures/bash_it/plugins/available/c.plugin.bash

*Note that my .src folder is where I cloned (yesterday) this repo and ran install.sh from for installation
Next I ran locate for .bash_it:

 ~                                       19:53:46  Tay
❯ locate .bash_it

Which simply returned:

0

* After running the `install.sh` script, did you either call `bash-it reload` or open a new Terminal window/session?

I did both, in the following order:

Run install.sh
shell $> bash-it reload
shell $> exit
Open a new term window

This is not to mention the several restarts, relogs, etc in the time since and I am still having the issue.

To me it looks like you're shell session still has an older version of Bash-it for some reason. Opening a new Terminal window should force to load the current Git version of Bash-it.

In response to this, I will again run bash-it's version command and provide the output:

 ~                                                 19:54:04  Tay
❯ bash-it version

Which produced the following output:

Current git SHA: ca843e7 on 2020-03-31T08:51:58+02:00
https://github.com/bash-it/bash-it/commit/ca843e7
Compare to latest: https://github.com/bash-it/bash-it/compare/ca843e7...master

And it looks like that SHA fragment is accurate:

Thanks for the details - that's helpful! One thing I noticed is that your Bash-it installation is in an unusual location: It looks like it's installed in /home/taylor/.src/bash-it, whereas the default location should be ~/.bash-it, i.e. /home/taylor/.bash_it.
Can you make sure that your $BASH_IT variable is set to /home/taylor/.src/bash-it?
echo $BASH_IT

Thanks for hanging in there!

Can you make sure that your $BASH_IT variable is set to /home/taylor/.src/bash-it?

Absolutely!
I issued the following command:

 ~                                 08:18:22  Tay
❯ echo $BASH_IT

and received this output:

/home/taylor/.src/bash-it

Thanks for hanging in there!

No problem! I understand that every system configuration can be accounted for, I also understand how in-depth this program has to be and sometimes fringe cases fall through the cracks :3

One more thing to try: Can you please paste the output of type -a _enable-thing?
That's the function that should take care of enabling the plugins...
And also the output of type -a bash-it? This is the main Bash-it function that handles cases like enable/disable.

One more thing to try: Can you please paste the output of type -a _enable-thing?

Sure. So here is my command:

 ~                                    16:12:40  Tay
❯ type -a _enable-thing

Which returned this:
\_enable-thing is a function
_enable-thing ()
{
    cite _about _param _example;
    _about 'enables a bash_it component';
    _param '1: subdirectory';
    _param '2: file_type';
    _param '3: file_entity';
    _param '4: load priority';
    _example '$ _enable-thing "plugins" "plugin" "ssh" "150"';
    subdirectory="$1";
    file_type="$2";
    file_entity="$3";
    load_priority="$4";
    if [ -z "$file_entity" ]; then
        reference "enable-$file_type";
        return;
    fi;
    if [ "$file_entity" = "all" ]; then
        typeset f $file_type;
        for f in "${BASH_IT}/$subdirectory/available/"*.bash;
        do
            to_enable=$(basename $f .$file_type.bash);
            if [ "$file_type" = "alias" ]; then
                to_enable=$(basename $f ".aliases.bash");
            fi;
            _enable-thing $subdirectory $file_type $to_enable $load_priority;
        done;
    else
        typeset to_enable=$(command ls "${BASH_IT}/$subdirectory/available/"$file_entity.*bash 2>/dev/null | head -1);
        if [ -z "$to_enable" ]; then
            printf '%s\n' "sorry, $file_entity does not appear to be an available $file_type.";
            return;
        fi;
        to_enable=$(basename $to_enable);
        typeset enabled_plugin=$(command ls "${BASH_IT}/$subdirectory/enabled/"{[0-9][0-9][0-9]$BASH_IT_LOAD_PRIORITY_SEPARATOR$to_enable,$to_enable} 2>/dev/null | head -1);
        if [ ! -z "$enabled_plugin" ]; then
            printf '%s\n' "$file_entity is already enabled.";
            return;
        fi;
        typeset enabled_plugin_global=$(command compgen -G "${BASH_IT}/enabled/[0-9][0-9][0-9]$BASH_IT_LOAD_PRIORITY_SEPARATOR$to_enable" 2>/dev/null | head -1);
        if [ ! -z "$enabled_plugin_global" ]; then
            printf '%s\n' "$file_entity is already enabled.";
            return;
        fi;
        mkdir -p "${BASH_IT}/enabled";
        declare local_file_priority use_load_priority;
        local_file_priority=$(grep -E "^# BASH_IT_LOAD_PRIORITY:" "${BASH_IT}/$subdirectory/available/$to_enable" | awk -F': ' '{ print $2 }');
        use_load_priority=${local_file_priority:-$load_priority};
        ln -s ../$subdirectory/available/$to_enable "${BASH_IT}/enabled/${use_load_priority}${BASH_IT_LOAD_PRIORITY_SEPARATOR}${to_enable}";
    fi;
    _bash-it-clean-component-cache "${file_type}";
    if [ -n "$BASH_IT_AUTOMATIC_RELOAD_AFTER_CONFIG_CHANGE" ]; then
        exec ${0/-/};
    fi;
    printf '%s\n' "$file_entity enabled with priority $use_load_priority."
}

0

And also the output of type -a bash-it? This is the main Bash-it function that handles cases like enable/disable.

Absolutely! So, issuing the following command:

 ~                                     10:52:31  Tay
 126 ❯ ❯ type -a bash-it

Which returns:

bash-it is a function
bash-it ()
{
    about 'Bash-it help and maintenance';
    param '1: verb [one of: help | show | enable | disable | migrate | update | search | version | reload ] ';
    param '2: component type [one of: alias(es) | completion(s) | plugin(s) ] or search term(s)';
    param '3: specific component [optional]';
    example '$ bash-it show plugins';
    example '$ bash-it help aliases';
    example '$ bash-it enable plugin git [tmux]...';
    example '$ bash-it disable alias hg [tmux]...';
    example '$ bash-it migrate';
    example '$ bash-it update';
    example '$ bash-it search [-|@]term1 [-|@]term2 ... [ -e/--enable ] [ -d/--disable ] [ -r/--refresh ] [ -c/--no-color ]';
    example '$ bash-it version';
    example '$ bash-it reload';
    typeset verb=${1:-};
    shift;
    typeset component=${1:-};
    shift;
    typeset func;
    case $verb in
        show)
            func=_bash-it-$component
        ;;
        enable)
            func=_enable-$component
        ;;
        disable)
            func=_disable-$component
        ;;
        help)
            func=_help-$component
        ;;
        search)
            _bash-it-search $component "$@";
            return
        ;;
        update)
            func=_bash-it_update
        ;;
        migrate)
            func=_bash-it-migrate
        ;;
        version)
            func=_bash-it-version
        ;;
        reload)
            func=_bash-it-reload
        ;;
        *)
            reference bash-it;
            return
        ;;
    esac;
    if ! _is_function $func; then
        if _is_function ${func}s; then
            func=${func}s;
        else
            if _is_function ${func}es; then
                func=${func}es;
            else
                echo "oops! $component is not a valid option!";
                reference bash-it;
                return;
            fi;
        fi;
    fi;
    if [ x"$verb" == x"enable" ] || [ x"$verb" == x"disable" ]; then
        _bash-it-migrate;
        for arg in "$@";
        do
            $func $arg;
        done;
    else
        $func "$@";
    fi
}

These look like the correct versions... I'm out of advice, short of running set -x ; bash-it enable plugin ... ; set +x
This will likely print a lot of output, but not sure what else to do...

These look like the correct versions... I'm out of advice, short of running set -x ; bash-it enable plugin ... ; set +x
This will likely print a lot of output, but not sure what else to do...

That's perfectly fine. The end result is that I can still do what I want to do, just with more effort or I need to make a script. I mainly created this issue because as a developer myself I know I'd like to know about all the little fringe things out there if for no other reason than one person's issue might shed light on another seemingly unrelated issue, or whatever.
So, no worries. I'm not demanding a fix from ya

Really sorry that I can't be of more help... Would love to see what's causing this. I'm still pretty sure that you have an older version of Bash-it somewhere, or something like that.

Really sorry that I can't be of more help...

Well, that's cuz you're a great developer ;P

@tayjaybabee can you rerun this and use bash it doctor?

Oof. Did you still want this? :<


Chat Filter in whatsapp web

I am managing the history in the extension and I want to filter the chat list in whatsapp web on click of that history So How can I add the new Function for Filter chat in the code. Can you explain me How to Create the New function in code so I can Call that function from the extension and that function executes in whatsapp web.

yes i also wanted to make a crm feature like extension, but still finding a workaround for me


fix(virtual-core): add bigint to Key to align with @types/react implementation

This PR enhances Key type with bigint to align with React.Key. This was updated in https://github.com/DefinitelyTyped/DefinitelyTyped/pull/66723. This will enable us to use React.Key as type for where we require Key as type.

If changed like that, it might be more convenient when using React.
However, Should the higher-level element 'core' depend on the lower-level element 'react'?
How about using type casting in React?
const alsoHuge = BigInt(9007199254740991);

alsoHuge.toString();

However, Should the higher-level element 'core' depend on the lower-level element 'react'?

@SaeWooKKang allowing bigint as key is not really connected to react

Yes, the problem is when you use Key from react, because it has a different type and there is an error, which shouldn't be the case. Is there anything more needed?

@SaeWooKKang allowing bigint as key is not really connected to react

You're right, there isn't a direct connection. However, my comment was about whether it's appropriate to add a type to the key specifically for the purpose of using it with React.

Yes, the problem is when you use Key from react, because it has a different type and there is an error, which shouldn't be the case. Is there anything more needed?

Is there no need to modify the documentation for the type?

However, my comment was about whether it's appropriate to add a type to the key specifically for the purpose of using it with React.

Yep, thanks for the input. I think we are fine here, as bigint is overall an primitive not a react thing.

Is there no need to modify the documentation for the type?

good catch, @huv1k can you update docs at https://github.com/TanStack/virtual/blob/main/docs/api/virtual-item.md

Why not just use the React type for keys???

Why not just use the React type for keys?

As core should not be bound to any lib, adding the bigint created other issues like #819

Why not just use the React type for keys?

As core should not be bound to any lib, adding the bigint created other issues like #819

Fair enough, I forgot that the core can be used across different frameworks


padding with zeros before performing the  fft ?

Hi Guillaume,
I am using your fft routines. Very convenient to process gridded data!  Just wondering if you have implemented yet some option to pad with zeros both ends of the data before performing the fft?

This should work if you precise the nfft argument and you use a number larger than your dataset dimensions, as done in dask.array.fft
I 've just noticed that nfft is missing in the current docstring of xscale.fft.fft. This should be corrected and mentioned in the documentation. If you're willing to contribute to the documentation, it will be very welcome !
I have also implemented fitting methods xscale.signal.fitting  but they require more work as
You should be able to remove a linear trend on multi-dimensional dataset using xscale.signal.fitting.detrend. These functions require however additional testing.

ok, great. I know the nfft argument from the scipy.signal package but i had not seen it in your doc indeed. I will test this  and try to contribute to the doc asap.
I haven't tried any detrending methods yet as my current dataset is already detrended, but yeah, i'll let you know when i have used/tested it.


Add $final keyword

We should add a $final keyword which allows to define a struct as final. This means it is not possible to extend this struct. For code generation it would allow us to generate a final class.

We have implemented this keyword.


Make docker load to output json when the response content type is json.

Swarm hijacks the response from docker load and returns JSON rather than plain text like the Engine does.
This makes the API library to return information to figure that out.
/cc @vieux
Signed-off-by: David Calavera<EMAIL_ADDRESS>

LGTM

LGTM (win janky is flaky)


Value.Immutable

I am using Value.Immutable classes as part of my rest input/output. Swagger does not seem to understand these beans as there are no getters and setters in the immutable interface definition. Because of this, I don't see anything in the Example section in swagger.
How do I enable Value.Immutable classes?
I am using 1.0.0-1

Same problem here with Swagger 2.6.1 and Immutables 2.4.3.

What is swagger 2.6.1?

Ah sorry, my mistake I've corrected my post. It's Swagger v1.5.10.

Any updates on this?

Any updates on what? The question isn't very clear.

@webron Thanks for reply. I meant to ask how we could combine using Value.Immutable (immutables.github.io) with swagger?
Is that a solved problem? That will be great if that is the case.

That would introduce another dependency, which we are only doing if absolutely necessary.  So I don't think this falls into that category

@fehguy Actually, I disagree. Swagger wouldn't need a further dependency; instead there could be a mode where Swagger will scan beans not for fields but rather for getters.

which part do you disagree with?

I disagree with the notion, that solving this problem would introduce a further dependency. The solution doesn't have to be (and probably shouldn't be) specific to Value.Immutables.

I have the same issue. It seems that the Jackson io.swagger.jackson.ModelResolver expects everything to be bean-like. However it's perfectly possible to stream non-bean methods into XML.
It doesn't look too tricky to fix, the question really is how best to resolve it? I can think of a few ideas:

Create an Immutable ModelResolver. This is clean but the problem with this is that it would need to see the immutables annotations, which adds a dependency. Is it possible to somehow do this optionally? I've no idea?

Refactor the jackson ModelResolver so that it has some extension points - for example you'd want all ModelResolves to respect the swagger annotations.

Enhance the jackson ModelResolver so that it will pull in every method, not just bean-like methods. (Or maybe every method that takes no args?)

If someone who knows about swagger / ModelResolvers has any suggestions on how best to provide a solution I don't mind taking a look further (no promises though :p )

Upon further inspection, I think the root cause here is that the ModelResolver doesn't respect the @JsonSerialize(as=...) annotation. If we can add this it might JustWork(tm).
Here's the extra test I'm using (to be added to SimpleGenerationTest.java):
@Test
public void testNotBeanlike() throws Exception {
    final Model model = context.resolve(NotBeanlike.class);
    final Map<String, Property> props = model.getProperties();
    assertEquals(props.size(), 1);

    final Property prop = props.values().iterator().next();
    assertEquals(prop.getName(), "notGetter");
}

static class NotBeanlike {
    @JsonProperty("notGetter")
    public String notGetter() {return "Not a getter";}
}

@Test
public void testEvenLessBeanlike() throws Exception {
    final Model model = context.resolve(EvenLessBeanlike.class);
    final Map<String, Property> props = model.getProperties();
    assertEquals(props.size(), 1);

    final Property prop = props.values().iterator().next();
    assertEquals(prop.getName(), "notGetter");
}

@JsonSerialize(as = NotBeanlike.class)
@JsonDeserialize(as = NotBeanlike.class)
static interface EvenLessBeanlike {
    public String notGetter();
}

Yes, we do not support the JsonSerialize(...) annotation at all.  I also don't want to add another dependency as it creates other messes.
However, for testing purposes, let's go ahead and add the immutables dependency as a test dependency.
Please add a test showing this issue and go ahead and the dependency, we'll see if we can fix it in general.

@fehguy I've updated my PR to include an immutables test.
It also has a proposed fix ;)

@fehguy Any thoughts?

This has been merged, sorry for the delay

Thanks - much appreciated!
When are you guys next planning to release?

1.5.14 has been released:
https://github.com/swagger-api/swagger-core/releases/tag/v1.5.14

@fehguy This feature was removed in 2.0.0, was there a reason for this and was the functionality replaced?

@kingcowman - 2.0.0 was a rewrite almost from scratch, so some features might have dropped. Please file a new ticket and reference this one.


Cannot convert undefined or null to object at hasOwnProperty () - Ionic 2

I'm trying to use the library with Ionic 2, but show this error when add  providers: [MyResource] or constructor(private myRes: MyResource):
Cannot convert undefined or null to object at hasOwnProperty (<anonymous>)

main.js:60
__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };

Me too.
Try to find out whether ionic2 or ng2-resource-rest causes this.

It seems not compatible with<EMAIL_ADDRESS>(and above).
Workaround: Downgrade to<EMAIL_ADDRESS>and it's works.

Hi!
Cool! They released RC4 :)
Thank you for the issue. I will check that ASAP.

Finally, I found the reason! Please update to 1.7.0
Problem was related to WebPack which is doing the importation in wrong order.
Was related to imports in ng2-resource-rest (index) file.
Before:
export * from './src/Interfaces';
export * from './src/Resource';
export * from './src/ResourceAction';
export * from './src/ResourceCRUD';
export * from './src/ResourceCRUDBase';
export * from './src/ResourceGlobalConfig';
export * from './src/ResourceModel';
export * from './src/ResourceParams';
export * from './src/ResourceProviders';

After:
export * from './src/Resource';
export * from './src/ResourceAction';
export * from './src/ResourceCRUD';
export * from './src/ResourceCRUDBase';
export * from './src/ResourceGlobalConfig';
export * from './src/ResourceModel';
export * from './src/ResourceParams';
export * from './src/ResourceProviders';
export * from './src/Interfaces';


--add: combine demos and challenges for array methods

"Just" removed session numbers for consistency 🫨

"Just" 🤣
Wow. Nice find Jessica!


Add aten.transpose support.

Description
Add support for aten::transpose in shuffle converter.
Function Schema:
aten::transpose.int(Tensor(a) self, int dim0, int dim1) -> (Tensor(a))
Fixes # 275
Type of change

New feature (non-breaking change which adds functionality)

Checklist:

[x] My code follows the style guidelines of this project (You can use the linters)
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[x] I have added tests to verify my fix or my feature
[x] New and existing unit tests pass locally with my changes

@chengyute you need to sign your commit using the same email attached to your github in addition to your NVIDIA email git commit --amend --no-edit --signoff

Done. @narendasan , you can merge it.


Make hot reload work w/ rn

alrite, so this kinda sucks...
I went down the path of getting the packager to work with symlinks but its just a big PITA:
https://github.com/facebook/react-native/issues/637#issuecomment-201320363
Instead i made react-native/shared not be a symlink but instead be a place we just sync our files to. Not ideal but this really simplifies things. We could apply this to desktop also if we wanted.... Symlinks, while it worked, makes things hard (esp. on windows). A nice side effect of this is that the syncing filters out the desktop files.
I'll update the docs about this if we move forward with this PR
So how this works now:

You must have matchman installed brew install watchman (the npm version is old and broken)
In react-native, do npm run watch

Now when things change in client/shared it'll rsync them to react-native/shared, which'll trigger an RN packager build
@keybase/react-hackers feedback pleez

@keybase/react-hackers bump

Tested on Linux, seems to do the right thing (though I had to compile watchman from source), :thumbsup:

@MarcoPolo you ok with this

Can we update the README with instructions?

yes i wanted to make sure we're fine with this first

updated

:+1:


Make the basic ACL & RBAC models work and add some test cases for it

@MrUnfunny Lets start working on this?

Sure, how can I contact you?

@MrUnfunny Let's discuss any architecture related approaches for ACL if any?

@MrUnfunny Let's discuss any architecture related approaches for ACL if any?

Currently I am looking into implementing enforce method to get minimum working prototype. You can tell if you have something specific in your mind. We can also have a meeting at whatever time suits you.

@hsluoyz I think this issue can be closed since we already have tests for ACL and RBAC.

@MrUnfunny can you link the PR to this issue?

@hsluoyz this one is for ACL and this one is for RBAC.


Internal registry HTTPS endpoint

What problem are you facing?
While using internal registry for providers, found issue that k8s image puller needs HTTPS endpoint for download image, but KNDP registry just have HTTP endpoint implemented.

How could KNDP help solve your problem?

Add HTTPS connection to internal registry.

@ca7alindev found this solution:
https://medium.com/@lumontec/running-container-registries-inside-k8s-6564aed42b3a

@art10m @ca7alindev I think still will exist problem with Crossplane, because it not use kubelet for download images, so in case if we will set eg. https://localhost:5000 as default registry, Crossplane will make simple HTTPS request to localhost, but in case of container where it running, no localhost:5000 exposed, this is true just in case of node, where kubelet running.
In this case i propose to use Kyverno Policy for patch Pod's with image URL of internal registry from kndp-registry.kndp-system.svc.cluster.local to localhost:5000, and keep default registry parameters as is.


OpenSpeedTest-Server 2.1.8_ia32.exe For Windows x86-32 flagged as virus

Download attempt from https://openspeedtest.com/selfhosted-speedtest
OpenSpeedTest-Server 2.1.8_ia32.exe For Windows x86-32
Keeps tripping Avast Win32:Malware-gen infection filter.
The other ones
OpenSpeedTest-Server 2.1.8.exe For Windows X86-64
OpenSpeedTest-Server 2.1.8_arm64.exe For Windows ARM-64
were ok.

This is an Electron app. It's either a false positive or some dependencies, specifically 32-bit ones, might be deprecated. Time to drop 32-bit support.

@MadMark13 These apps have been online (same version) since February 2023. They're now a year old, and this is the first time we've seen this kind of report.

@MadMark13 Microsoft Store is also distributing the same app. So, this must be a false positive.

@MadMark13 Update your antivirus software and test again. It's now classified as a PUP (Potentially Unwanted Program), not a virus anymore. You can check Virus Total for confirmation.

Now it's not PUP...
Thank you for your email.

Avast PUP team reviewed your file SHA 8a2782c9249b3f4cbd7ae962df81e47c5a7670ae888b9e0718764190c3401181, and they cleaned the reputation in our database. Please, be patient. The application will stop being blocked within 24 hours.

I apologize for the inconvenience caused.


add company to Adopters

*edit* by @moolen
paul is very rude sometimes, sorry for that :/

/approve

/merge


Facial/hand recognition not working with custom image source

Description
Hello, I'm trying to make a custom image source that uses the color image from Unity's ARCameraManager so that I can use the depth image at the same time to hopefully make real measurements using both MediaPipe's landmarks and Unity's depth map generated at runtime.
The problem I'm running in at the moment is that this  custom image source does not work with any pose, facial or hand recognition solutions and thus doesn't place any landmarks. Any other solution like the object detection or hair segmentation solutions do seem to work.
I have tried to play around with different image formats (RGBA32, RGB24, BGRA32 etc) but none of those seem to matter in this case. I have also tried flipping the image upside down and rotating the device to see if MediaPipe is getting the wrong orientation of the image but this did not give me any results either.
Does anyone know if I might be missing something in my custom image source?

https://github.com/homuler/MediaPipeUnityPlugin/issues/343 may be helpful.
If your problem isn't still solved by it, please create another issue using support form.


Security Support for KSQL

Is your feature request related to a problem? Please describe.
The current implementation doesn't support KSQL running in a secured environment (HTTPS + Basic auth for example).
Describe the solution you'd like
We should add the capability of :

Using tls (see https://github.com/confluentinc/ksql/blob/cb513066955fe047773566c7806e85da93c8806b/ksqldb-api-client/src/main/java/io/confluent/ksql/api/client/ClientOptions.java#L51 and https://github.com/confluentinc/ksql/blob/cb513066955fe047773566c7806e85da93c8806b/ksqldb-api-client/src/main/java/io/confluent/ksql/api/client/ClientOptions.java#L67, both are required)
configure keystore/truststore (see https://github.com/confluentinc/ksql/blob/cb513066955fe047773566c7806e85da93c8806b/ksqldb-api-client/src/main/java/io/confluent/ksql/api/client/ClientOptions.java#L75)
configure basic auth credentials (see https://github.com/confluentinc/ksql/blob/cb513066955fe047773566c7806e85da93c8806b/ksqldb-api-client/src/main/java/io/confluent/ksql/api/client/ClientOptions.java#L126)

closed with the merge of #308


[FEATURE] Embedded windows

Description of the requested feature
Ability to embed terminals or other windows into an eww window. So for example have a box with cava inside of it for a side bar that has a spotify widget and an audio visualiser inside of it.
Proposed configuration syntax
Maybe inside of a defined box you can have <term>cava</term> or <extern>firefox</extern>
And also you could do the size like <term x="" y=""> or through scss config
Additional context
none that comes to mind.

And also a big thing im indecisive about is weather or not you do the size like or through scss config?
what?

There is no real way to do this sorry to say, you might wanna look into your window manager :) (awesome, xmonad &  dwm can achieve this - not entirely sure about xmonad)
You can use the XEmbed compatible windows so you get functionality like st-tabbed but nothing else
I proposed this to elko in the past, but there isnt much of a usecase for it

Okay, so there's a couple things to say here.

This would be a pretty big, complex feature to implement, I'd guess. Assuming that its realistically possible at all, using XEmbed or reparenting, the interaction with GTK would still be unclear. The main tool that does something similar that comes to mind is suckless tabbed - which requires the embedded application to specifically do stuff for it to work (afaik).  Thus, assuming its possible at all, this would probably be filled with gotchas and difficulties. If you know of any other tools that do a similar thing, please do tell - might be a good reference to look into.

Usecases. There are two main places where i can see some sort of embedding be useful. Firstly, the here mentioned widgets that embed applications. This would benefit from statically included apps, as requested here. Secondly, and this is the main usecase that has had me thinking about this: window decorations. Technically, it should be possible to make eww capable of serving as window decorations. This would require specific support by the window manager, and would thus only be feasible on a few very flexible X WMs such as XMonad, awesome, dwm, or maybe qtile. It would also require more changes to eww, to support generating full windows dynamically - which is planned anyways. This, too, is a difficult task that probably won't happen for a while

Almost any GTK app (depending on if it does fucky stuff like eww) can be embedded but most dont support it (predictably) so they would need to be edited in the source code ig

And also a big thing im indecisive about is weather or not you do the size like or through scss config?

what?

Edited, i forgot to add code blocks.

For cava, there's a cursed solution.
https://github.com/ankkax/hyprland/blob/main/eww/bar/scripts/cava-internal.sh

For cava, there's a cursed solution. https://github.com/ankkax/hyprland/blob/main/eww/bar/scripts/cava-internal.sh

wtf man

If you just deflisten it, it'll work

For cava, there's a cursed solution. https://github.com/ankkax/hyprland/blob/main/eww/bar/scripts/cava-internal.sh

Huge thanks for this! Used this with eww's progress bars to create a pseudo cava visualizer

I have made a fork of cava which has another raw output method like the one @JustSimplyKyle made.
You just need the cava config to instead be:
[output]
method = raw
data_format = unicodeBars
ascii_max_range = 23

you can change the delimiter options to what you want but by default the line delimiter is ";" and the frame delimiter is "\n"
to display it nicely in eww you just need to do an eww expresstion "${replace( [liseningVarName], ";", "")}"
Then style it with a monospaced font like Hack to have them line up perfectly.
The height is determined by ascii_max_range.
If you have more questions I have it documented in the config example.
My cava fork
After you compile it you just need to copy the executable to your eww config and have a deflisten variable run it with the path to the cava config you made.
preferably you have a cava config in the eww configuration aswell.
the deflisten command would look something like this.
./cava -p ./cavaConfig

I have Hidden my previous Cava fork solution. A better version instead alters the output from Cava.
CavaRawBarWrapper. It is way easier to use and modify.
All that's required is to have cava installed and pipe the raw ascii output into this program.
It can also use less power due to outputting dynamic amount of layers. It also has some other new features.
You can read the eww section in the README.md.


API crash (heap out of memory)

Describe the bug
API seems to be running out of memory.
This will cause the service to crash and drop all the connections.
To Reproduce
Steps to reproduce the behavior:

Cyclic, just wait enough time.

Screenshots

Additional context
Paper-trail log: https://my.papertrailapp.com/systems/opencollective-prod-api/events?focus=1160943645058613268&selected=1160943645058613268

Fixed in https://github.com/opencollective/opencollective-api/pull/3350.


Pdeexp 681 fix magic js launching script

📦 Pull Request
[Provide a general summary of the pull request here.]
✅ Fixed Issues

[List any fixed issues here like: Fixes #XXXX]

🚨 Test instructions
[Describe any additional context required to test the PR/feature/bug fix.]
⚠ Don't forget to add a semver label!
Please 🚨 ONLY ADD ONE 🚨 of the following labels, failing to do so may lead to adverse versioning of your changes when published:

patch: Bug Fix?
minor: New Feature?
major: Breaking Change?
skip-release: It's unnecessary to publish this change.

Special Note
Please avoid adding any of the Priority labels as they conflict with the labels above ☝

📦 Published PR as canary version: Canary Versions

:sparkles: Test out this PR locally via:
npm install<EMAIL_ADDRESS>npm install<EMAIL_ADDRESS># or
yarn add<EMAIL_ADDRESS>yarn add<EMAIL_ADDRESS>

:rocket: PR was released in  :rocket:

:rocket: PR was released in<EMAIL_ADDRESS><EMAIL_ADDRESS>:rocket:


Add repo.clean

Hi, I’d love to be able to clean a part of the repo. For example:
repo.clean(
  'test/mock-cwd',
  {force: true},
  (error) => {…}
);

Could you send a PR?

Hi, thanks for the response. I actually moved to a simpler solution for the initial problem – without git. So I’m not using gift after all.
Feel free to close this issue if you don’t think it may be useful for others.


Do not display "expected" 404/403 in the console

Overview
Currently, we have a few services which receive "expected" 404 or 403 http status code, for instance the once fetching the current answer returning 403 if there is no current answer yet.
Example as unauthenticated user.
The "problem" is that these end up in the console as an error which may be interpreted by customers as bugs or auto notified in bug collectors.

Try to catch it before it reaches the console (using preventDefault?).
Acceptance criteria

[ ] Catch expected 404/403 so that it does not reach the browser console anymore.
[ ] Make sure the unexpected errors still reach the console.

Notes
If the solution may be worth a discussion before implementing, let's discuss it before modify the code!

I don't think we can do anything about that, and if we do it will be a horrible tinkering.
https://stackoverflow.com/questions/22113286/prevent-http-errors-from-being-logged-in-browser-console
https://stackoverflow.com/questions/4500741/suppress-chrome-failed-to-load-resource-messages-in-console

Ok. We'll do required changes in the backend then. 🤷♂
Keep us posted if you see another good solution.


Minecraft 1.19

Add compatibility with minecraft version 1.19

Fully completed

Many, many thanks. I've merged the code with some small history massaging into the develop branch, therefore I'll close this PR.


init failed after installed by helm in k8s

used helm to install archey with  default vaules.yaml , archey pod failed to running , it :

and i also tried to use external mysql ,got same issue:

and no more logs, how to debug or fix it ? thanks very much!!

你好, 操作 k8s 需要一定的基础知识, 如果你连 podInitilizing 都不知道怎么处理, 那代表你知识还需要更新, 可以自行搜索学习一下,
此 issue 和 archery 和 helm chart 均无关系, closing


Unable to open file or directory from terminal

Thanks for all your work on this....
I'm unable to open a file or folder from a termination shell.
projects $ atom .
LSOpenURLsWithRole() failed for the application /Applications/Atom.app with error -10810.
projects $ atom README.md
LSOpenURLsWithRole() failed for the application /Applications/Atom.app with error -10810.

Everything works as expected if I run the commands outside of Atom in a standalone shell.
Using

macOS Sierra v 10.12.1
Atom 1.12.2
termination 0.3.2

Hmmm... I see that too in Linux. I'll investigate it - thanks!
For reference, this is the Linux output:
$ atom /home/fred/Git/Astro/lunar_phase.py
$ /usr/share/atom/atom: bad option: --executed-from=/home/fred/Git/Astro
/usr/share/atom/atom: bad option: --pid=25889

@jwogrady Can you see if the same behavior occurs with platformio-ide-terminal? That will help narrow down the search a lot.
If it is occurring with platformio-ide-terminal, could you open an issue on their page as well (but don't close this one!). They know their code the best, and while I'll definitely keep trying to track this down it would help to have another set of eyes looking at the problem. If they fix it before I do then I'll integrate the changes back here.
Cheers!

I'm getting the same error as @jwogrady. What's interesting is that I had a Java update right before I had this problem. Could the two be related?

@Fred-Barclay platformio-ide-terminal didn't seem to make a diffeerence.
@chrisallenmoore what Java version are you using?  Mine is as follows:
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

@chrisallenmoore What OS are you using?
If it's a *nix, then what shell?
I haven't figured out the why yet, but for some reason termination (and platformio-ide-terminal, and possibly terminal-plus) replaces atom with node or nodejs.

macOS Sierra
Version 10.12.2 Beta (16C48b)

chrisallenmoore: thanks. :+1: What shell do you use?

Update: there's a similar issue https://github.com/platformio/platformio-atom-ide-terminal/issues/106 so I'll keep an eye on that as well.
@jwogrady What happens when you open the developer console (ctrl+shift+i though it might be cmd+shift+i for Mac) and run atom <some-file>? I get nothing on Linux but was wondering if there might be some output for Mac.

I use the standard Mac terminal. Atom will open from there, but not in Termination.

What happens if you run sudo atom <some-command>?

@Fred-Barclay that works. hmmm

Temporary workaround: go to the settings for termination and set unset ELECTRON_RUN_AS_NODE to run on terminal initialisation.

Sweet, thanks for the workaround!
Just to follow up, the atom debug/console running on Mac didn't give me any output to share.  This ancient article related to PHPStorm suggests a java versioning issue.
Your workaround shows a little output on mac every time I open a new instance of the terminal, but it works great.
unset ELECTRON_RUN_AS_NODE
project $ unset ELECTRON_RUN_AS_NODE
project $

I left the issue open in case you are still working on a final fix.  From my standpoint though the issue is closed.
Thanks again for all your work on this!

Thanks mate! I'm still working on a permanent fix but at least I now know this workaround is good for both Linux and Mac. :+1:
I believe the offending code is this (in Atom): https://github.com/atom/atom/blob/master/src/buffered-node-process.js#L40
options.env.ELECTRON_RUN_AS_NODE = 1
So I'm working on how to undo that without breaking Atom in any way.

I've opened an issue on the Atom repo.

Great! I was a little hesitant to do that myself since I didn't know if this was a bug in my code or an issue with Atom, hence my post on the Atom forums asking for help. Thanks for taking the initiative and opening the issue on the Atom repo! :smile:

I have been having the same issues and I think I may have solved it. See my post in #33 .
It looks like ATOM_SHELL_INTERNAL_RUN_AS_NODE was renamed to ELECTRON_RUN_AS_NODE (https://github.com/atom/atom/pull/11475)
In the terminal ide process.coffee file the filteredEnvironment function still uses ATOM_SHELL_INTERNAL_RUN_AS_NODE. I changed this to ELECTRON_RUN_AS_NODE and it seems to now run the terminal properly. Let me know if this helps!

@Naki21 Thanks! I've pushed out a new release with ELECTRON_RUN_AS_NODE. :smile:
@chrisallenmoore @jwogrady Please update to release 0.5.0 and let me know if this fixes the problem.


broken links in README

half the links I clicked in the README seemed to be broken. Mostly though these were all links to the book. But I did also click on the schema.rs link

Thanks for the heads up.
We have some DNS issues with out custom domain, I've reverted back to the Github domain for now.


Updated winget functions

Figured out a way to make the process check more reliable and structured the process checker to have greater compatibility for future processes that use this method. Then moved the process check to the beginning of the button script.
Also fixed some formatting

Looks good! Happy new year @DeveloperDurp


Decrement counter when using paranoia really_destroy!

Fixes #228
With a new version of paranoia gem (>=2.3.0), I have the same issue with decrement counting of a model when I call the  really_destroy! method.
I have created the fix for this issue on this MR.
Please review and merge it.
Thank you!

@vermaxik perfect, thank you for working on this! Released just now as 2.1.2.

thank u @vermaxik , but somehow the -- RAILS_ENV=test bundle exec rake db:drop db:create db:migrate -- command doesnt work after that fix, did u face the same issue?


Update build environment logic

Closes #453
Relates to #457

Adds GetEnvironmentName and IsProduction partial functions, which improve DRY
Add prioritization for determining environment name, which favors the existing methods: the HUGO_ENV environment variable and site config env theme parameter
Adds useHugoEnv theme parameter to use the value of .Hugo.Environment for the build environment name

Ready for review @regisphilibert

Thanks @tlindsay42 for all you work this past weeks 🙏 . I feel like this one deserves some thinking though. JFY, we're ignoring but might ponder it for some time.

Sounds good. My primary driver for this feature was that I chose to implement my site with the env-specific config files (eg: ./config/_default/config.toml and ./config/production/config.toml) because I wanted to define a few env-specific behaviors, such as minification. Given this, I was confused at first when parts of the site ran in production mode when I ran hugo server --environment production, but others features didn't.
To test production mode with this type of implementation, customers have to set both the environment variable and the argument, which isn't that big of a deal, but imo it's annoying and not obvious.
Since the feature is opt-in only, existing customers that aren't expecting this won't be impacted (like we previously discussed).
I'm open to suggestions if changes are desired.
I hope you decide to merge it, but understand if the decision is otherwise. Thanks!

+1. I just started using this theme and was confused by the --environment option not being sufficient.


[JOSS Review] Installation

I personally don't use conda, but I can confirm the code installs using both virtualenv and conda.  Interestingly, I get the following warning when I don't use conda. WARNING (pytensor.tensor.blas): Using NumPy C-API based implementation for BLAS functions.

@kbwestfall Thanks for testing installation in virtualenv. Indeed, those warnings are a known issue when you don't use conda to install pytensor. See: https://discourse.pymc.io/t/warning-pytensor-tensor-blas/13373


Performance overhead on browsers without support for registerElement

I've noticed a huge performance overhead when inserting big amount of elements to the document on browsers without support for "registerElement".
Example here
http://jsfiddle.net/js63vqaf/4/
In profiler I see that javascript spent almost 1 second just in skate while inserting the content took 300ms.
Is it possible to make it faster? Or split skate's analysis of inserted content into async batches?

I think the biggest overhead is where we're trying to make the native custom element lifecycle have some semblance of order. We're actually talking about removing this before the next release as it's extremely difficult and costly. The spec should have done a better job of making this consistent but they didn't. It'll just affect how components are built, and possibly for the better anyways (less coupling).
The other aspect to performance is that there must be a mutation observer and the mutation observer handler must interrogate each element that was added for information in order for Skate to upgrade it or leave it alone. This part has already been optimised to the hilt. If using Skate's mutation observer, it should be about 10x faster than Polymer's (it's been a few months since I tested).
I'm going to experiment with removing some of that code that walks the tree of every component to see if it's something we want to do. We should see a perf gain from that. I don't think there's much we can do in the Mutation Observer but maybe there's some optimisations we can do in the created lifecycle where we do a lot of the magic in Skate.
Just for some comparisons to see how we're doing, I created a couple rough benchmarks based on your Fiddle to run in Chrome (Skate's uses ES6 template literals for readability). See: https://gist.github.com/treshugart/996cf181da4fba92164a.
I'm still awaiting feedback on the React one, but it seems to be the simplest I could get it.

Wow. Just removed the bits of code around with (only broke 3 tests around ensuring lifecycle ordering) and cut off a lot of overhead.

Skate: 4.75s
Skate native: 1.75s

Issue for removing: #351.

So are saying that React took 9s to render something. Could you provide more detailed informations? Code or smth?

Yeah, the link to the gist is in my original comment. It contains the code of the slower Skate code, though, but I'll update once we finalise whatever is happening there.

https://gist.github.com/treshugart/996cf181da4fba92164a for convenience.

I'll add that I had @alexreardon peer review the React example to make sure I wasn't doing anything stupid. The original goal was never to pit them together but to be able to draw a baseline from an alternative that is considered "fast" to make sure we're within an acceptable performance level for this particular use case.

Some performance enhancements around this were implemented in #352. Instead of forcefully initialising components, there is now an opt-in API method for executing a callback on a set of elements when they're all ready:
skate.ready(elements, function (elements) {
   // elements are ready
});


Regenerate Implementation Layer with Interface Scoping Changes

See #17368 for instructions.

fixed in https://github.com/Azure/azure-sdk-for-java/pull/21262/files#diff-1938ee90d1b96665fea6532665715d8eec414767a51d5461e654814e7f21f5edR35


Tweak StringGroovyMethods

Group zero is not included in the result of the groupCount method. Set the  correct initial capacity

Codecov Report

Merging #1845 (cadc5a4) into master (1334242) will increase coverage by 0.0036%.
The diff coverage is 100.0000%.

@@                Coverage Diff                 @@
##               master      #1845        +/-   ##
==================================================
+ Coverage     67.9942%   67.9978%   +0.0036%
- Complexity      28535      28537         +2
==================================================
  Files            1427       1427
  Lines          112889     112889
  Branches        19284      19284
==================================================
+ Hits            76758      76762         +4
+ Misses          29637      29635         -2
+ Partials         6494       6492         -2

Impacted Files
Coverage Δ

...g/codehaus/groovy/runtime/StringGroovyMethods.java
84.5528% <100.0000%> (ø)

...ncurrentlinkedhashmap/ConcurrentLinkedHashMap.java
45.6522% <0.0000%> (+0.7905%)
:arrow_up:


Use gulp production mode in docker images.

@normanjaeckel I'll merge it directly because I need today an updated docker image.

Ok.


Can I change the CDI 2.0 implementation?

Hello, my name is Otávio Santana, and I'm helping on some projects that use Eclipse Microprofile and Jakarta EE.
On these frameworks, I need to run tests with both JUnit 5 and CDI 2.0. However, it must to allows to replace it to another implementation such as Apache OpenWebBeans, the CDI 2.0 Apache Flavour.
My question is: Can I use JUnit 5 with Weld JUnit and once it requires can I use change the CDI 2.0 implementation?

Hello,
the answer is no, you cannot use weld-junit for that. Even as the project name suggests, its tightly bound to Weld as a reference implementation and uses Weld SE API during container bootstrap.


Remove python-dateutil from setup.py

Recent versions of botocore lock this to python-dateutil>=2.1,<2.7.0. It may be best for us to just remove the version requirement here and rely on botocore's.

Gonna merge this for now. If there's a better way to specify this dependency with setup tools, I'll address it before the 1.3 release.


Add a Readonly factory type/wrapper that supports Maps/Sets

Search Terms
"readonly" type set
Suggestion
Add something like below to the standard library
type SmartRO<T> =
    T extends ReadonlyArray<any> | ReadonlyMap<any, any> | ReadonlySet<any> ? T :
    T extends Array<infer U> ? ReadonlyArray<U> :
    T extends Map<infer K, infer V> ? ReadonlyMap<K, V> :
    T extends Set<infer U> ? ReadonlySet<U> :
    Readonly<T>;

Use Cases
Often people want to express in the type system that certain value is not to be modified by code accessing them. However, the Readonly<T> wrapper type does not work on Map and Set.
As a result, it's difficult to write a generic type that takes a mutable type argument and use a read-only version in the type body.
Examples
interface Validator<T> {
    isValid(x: SmartRO<T>);
}

Checklist
My suggestion meets these guidelines:

[✔] This wouldn't be a breaking change in existing TypeScript / JavaScript code
[✔] This wouldn't change the runtime behavior of existing JavaScript code
[✔] This could be implemented without emitting different JS based on the types of the expressions
[✔] This isn't a runtime feature (e.g. new expression-level syntax)

This was one of the proposals we discussed when adding conditional type support. The general consensuses was that we need a new readonly type operator (tracked by https://github.com/Microsoft/TypeScript/issues/10725). the type duplication for every entity causes other problems in inference, overload resolution, and in type comparisons.
I am going to say this is a duplicate of https://github.com/Microsoft/TypeScript/issues/10725, since https://github.com/Microsoft/TypeScript/issues/10725 fulfills the underlying scenario.

I should also add that you can always add this type in your project and use it as a wrapper for Readonly, but we do not have plans to add it to the standard library at the time being.


All int types scan to int64

in types.go:
// makes go/sql type instance as described below
// It should return
// the value type that can be used to scan types into. For example, the database
// column type "bigint" this should return "reflect.TypeOf(int64(0))".
func makeGoLangScanType(ti typeInfo) reflect.Type {
	switch ti.TypeId {
	case typeInt1:
		return reflect.TypeOf(int64(0))
	case typeInt2:
		return reflect.TypeOf(int64(0))
	case typeInt4:
		return reflect.TypeOf(int64(0))
	case typeInt8:
		return reflect.TypeOf(int64(0))

Perhaps it's not important for server performance like #16, but should the driver use the corresponding go types like int16, int32, int8 instead of always using int64?
Or should it rely on the caller of Scan to pass a reference to an object the specific type if they want to be right-sized?

That may break backwards compatibility as a result now it's good time to do such change as people explicitly need to migrate from github.com/denisenkom/go-mssqldb to github.com/microsoft/go-mssqldb or wait will v2


Rate limit the livd API endpoint

GET https://prime.cdc.gov/api/metadata/livd
needs to be limited to 1 call per 5 minutes

I've created a new to rate limit the api/metadata/livd endpoint, but I have run into issue with applying the rule to FD:

I'll try to troubleshoot it after some research.


Update master to main

Implements https://github.com/microsoft/vscode-dev-containers/issues/863. All other VS Code repositories have already switched.
//cc: @jkeech @joshspicer @chrmarti to see if there are any other impacts we need to consider before switching.
@bamurtaugh @2percentsilk We can update docs / links as it makes sense since master will auto redirect to main.

Thanks for making this update! Once it's merged, I can make a pass through our VS Code docs (and readme's) for references of master and update to main, i.e. in the Create a dev container doc I found:

You can see an example of network_mode: service:db in the Node.js and Mongo DB example dev container.

We could also update aka.ms links. I found https://aka.ms/vscode-dev-containers/definitions redirects to https://github.com/microsoft/vscode-dev-containers/tree/master/containers.
There are also https://aka.ms/vscode-dev-containers/common-redhat.sh, https://aka.ms/vscode-dev-containers/common-debian.sh, https://aka.ms/vscode-dev-containers/definitions/node, and https://aka.ms/vscode-dev-containers/common-alpine.sh, which redirect to URLs like https://raw.githubusercontent.com/microsoft/vscode-dev-containers/master/script-library/common-redhat.sh.

Thanks @bamurtaugh for checking!  Sounds great.  @chrmarti I took a look at the remote containers extension code and there's a reference to https://github.com/microsoft/vscode-dev-containers/tree/master/repository-containers/ to handle the openDevContainerFile for a built in repository container, but that's it.  That should auto-redirect, so I don't think it's blocking to make the change over.

Ok @joshspicer is back later this week (I thought he was back today), so I'll wait to get confirmation this won't impact anything in the new automated import hooks he put in place. (Pretty sure it doesn't, but he's not here to verify / fix if it does.)

Sounds good to me!

Merged!  As a FYI, you'll need to update your local copies of the source code as follows:
git branch -m master main
git fetch origin
git branch -u origin/main main
git remote set-head origin -a

Thanks for merging!
Looks like @gregvanl updated our docs already (thanks Greg!).
I just updated the aka.ms links to point to main. I also opened a PR on Remote-Containers to update the reference to https://github.com/microsoft/vscode-dev-containers/tree/master/repository-containers/ point to main.


Handlebar options for journal pages

I don't see a way to change the handlebar for journal pages, but there has to be a one, right? Even if there isn't a default handlebar, is there a way to add the functionality to manually add one?
Thanks for all your work on this, it has made my GM life easier.

Journal pages are special as they are neither an item nor an actor and are mostly just HTML that gets converted to the equivalent Markdown via javascript functions in the module.   This is functionality that was inherited from the original Markdown Exporter modules written by Farling42.
Unfortunately, if you want to customize how journal pages are rendered, you will need to edit the javascript source code directly, specifically found in the file export-markdown.js.

Does that include the obsidian frontmatter?

Yes, it is done by this function in export-markdown.js:
function frontmatter(doc, showheader=true) {
    let header = showheader ? `\n# ${doc.name}\n` : "";
    return FRONTMATTER +
        `title: "${doc.name}"\n` +
        `icon: "${DOCUMENT_ICON.lookup(doc)}"\n` +
        `aliases: "${doc.name}"\n` +
        `foundryId: ${doc.uuid}\n` +
        `tags:\n  - ${doc.documentName}\n` +
        FRONTMATTER +
        header;
}

Got it, I will try it. Thank you


Setting nvdApiResultsPerPage to something other than 2000 results in downloading more than 100%

Describe the bug
Hello, when I set nvdApiResultsPerPage to something other than 2000, say 1000, I get messages reporting that I have downloaded more than 100%. I need to set it to ~1000, because when it's at the default 2000 my requests get a "connection reset" sometimes.
Version of dependency-check used
The problem occurs using version 10.0.3 of the maven plugin.
Log file
gist
To Reproduce
Steps to reproduce the behavior:

Set nvdApiResultsPerPage to something other than 2000
Run mvn -DnvdApiResultsPerPage=1000 -DnvdApiKey=... verify
Wait and see logs about more than 100% being downloaded

Expected behavior
It would stop downloading at 100% and continue with the checking.

Hey, I appreciate the quick reaction, one more thing, as far as I see this is just a visual bug (in the line being printed to the logs), the download has been stuck for a good few hours at 198% at this point, would you have an idea as to why?
Here's some logs:
gist

Did it ever complete?

Well it was running for 3-4 hours and I stopped it, I’ve started a new one today that also got stuck at 98-99%, I haven’t stopped it yet

If it doesn't complete - can you make sure to run it with debug (I know -X spews a ton of noise). But it might help narrow down what the problem is.

The gist I’ve sent 20 hours ago is with -X

Hey, I attached JMC to the stuck dependency-check process, here are the only 2 threads I could find that had calls to org.owasp.* or io.github.* in their call stack
main:
java.lang.Thread.sleep line: not available [native method]
io.github.jeremylong.openvulnerability.client.nvd.NvdCveClient.getCompletedFuture line: 481
io.github.jeremylong.openvulnerability.client.nvd.NvdCveClient._next line: 345
io.github.jeremylong.openvulnerability.client.nvd.NvdCveClient.next line: 331
org.owasp.dependencycheck.data.update.NvdApiDataSource.processApi line: 352
org.owasp.dependencycheck.data.update.NvdApiDataSource.update line: 116
org.owasp.dependencycheck.Engine.doUpdates line: 906
org.owasp.dependencycheck.Engine.initializeAndUpdateDatabase line: 711
org.owasp.dependencycheck.Engine.analyzeDependencies line: 637
org.owasp.dependencycheck.App.runScan line: 262
org.owasp.dependencycheck.App.run line: 194
org.owasp.dependencycheck.App.main line: 89
pool-4-thread-1:
java.lang.Object.wait line: not available [native method]
java.lang.Object.wait line: 338
org.apache.hc.core5.concurrent.BasicFuture.get line: 83
io.github.jeremylong.openvulnerability.client.nvd.RateLimitedClient.delayedExecute line: 202
io.github.jeremylong.openvulnerability.client.nvd.RateLimitedClient.lambda$execute$0 line: 173
io.github.jeremylong.openvulnerability.client.nvd.RateLimitedClient$$Lambda$217/0x00007fb7b42af528.call line: not available
java.util.concurrent.FutureTask.run line: 264
java.util.concurrent.ThreadPoolExecutor.runWorker line: 1136
java.util.concurrent.ThreadPoolExecutor$Worker.run line: 635
java.lang.Thread.run line: 840

Also seems to ignore nvdMaxRetryCount, I tried setting it to 100 to see if maybe it would go through after many attempts, but after "DEBUG - Retrying request 8 time" nothing is ever printed to the log until shutdown.

@deennyy I'm reopening this - even though this should really be a different issue at this point. I've add some additional debug logic here: https://github.com/jeremylong/Open-Vulnerability-Project/pull/200
The only thing I can think of is that somehow a massive delay is either requested by the NVD or it is being incorrectly calculated. Is there any chance you increased the delay?

Hi, yes I’ve tried to increase the delay to no avail, one thing I noticed - it always gets stuck when startIndex gets to 246000, and thats on every run. Maybe its an issue with NVD?

Are you using an API Key? I just retested, successfully, that the maven plugin work with <nvdApiResultsPerPage>1000</nvdApiResultsPerPage> - my test used an API key.

Yea, im using an api key, It might be some weird network issue honestly, im going to try on a different network later today and report results

Hey, I just tried on another PC and network and everything worked fine, I guess it's some weird network issue. Closing.


vcdecoder: add memory-based output interface

Currently, the VCDiffStreamingDecoder class expects applications to call into ::StartDecoding() with a dictionary, and then maintains an internal buffer (decoded_target_) to accumulate pending output bytes. These are then written through ::AppendNewOutputText() and ::FlushDecodedTarget().
The problem with this implementation is that the allocation of this intermediate buffer may fail, which will then result in the application abort with a trap.
This patch adds an alternative interface that does not lead to internal allocation. StartDecoding() may now optionally be called with an output buffer and a maximum length, and DecodeChunk() may be called without an OutputString parameter. If operated this way, the decoder will directly write to the provided memory buffer, which can, for instance, be mmap()ed on a block device.
The old interface is kept around for full compatibility.
This should address #12.

I signed it!


feat: typed table features

delta-kernel aiming to be a reference implementation of the protocol, I thought it might make sense to be explicit about what table features we know about.
This has also proven quite useful in delta-rs when implementing various features.

@roeap do you have time to pick this back up? I think it would be nice to get in. I can take it over if you don't.
Thanks!

@nicklan - yes, I'll pick it up ...

@scovich @nicklan - I think all comments are addressed. needed to increase the tokio constraint to make things compile for some reason.
also thought about if it makes sense to just make the parsing case invariant, which strum also supports :).


First pass at the whole parser stack done.

TODO: to set up unit tests and integrate into post composer

Ended up rewriting the parser to be more comprehensible, after further thought.
No more questionable loop constructs.

LGTM


Inline JS replacement in requests without head and body

https://groups.google.com/forum/#!topic/liftweb/mHcv9chTN5k
The new inline JS replacement removes event handlers in Ajax requests that use snippets to render HTML but don't return a full HTML page.
When the HTML content returned does not contain a head and body tag it seems  that the inline JS is replaced but the event handling code is not delivered to the client.
The onclick events are thereby essentially removed from the nodes.
Excerpt from LiftMerge:
if (!hasHtmlHeadAndBody) {
  val fixedHtml =
    normalizeMergeAndExtractEvents(xhtml, HtmlState(mergeHeadAndTail = false)).nodes //what happens to the js?

  fixedHtml.find {
    case e: Elem => true
    case _ => false
  } getOrElse Text("")
} else { ....

As a short-term fix, in #1809 we're adding a LiftRules.extractInlineJavaScript toggle to disable inline JS extraction in Lift 3.0. However, I want to try to fix this for Lift 3.1.


feat(tests): retry push to dockerhub

Attempts to push three times. I hope that is enough :scream_cat:
Fixes #3845

Apparently this PR scared docker hub into shape! For the past three times I have run this I haven't got a single docker hub error, so I can't be certain that this works. :frowning:

Code LGTM.

well, it's still worth a shot. Code LGTM!