feat(swc/cli): setup packages for binary

Description:
This PR attempts to set up initial binary packages for @swc/cli. PR intentionally does not contain actual implementations yet. Actual implementation will come later once after we get agreement on the migration paths.

@swc/core v2

swc_cli will be built as native binary, supports a single subcommand compile which current @swc/cli supports.
@swc/core's platform specific optional deps will includes binary to swc_cli for each platform
@swc/cli provides interop to subcommand-less invocation

// pseudo
//<EMAIL_ADDRESS>
if (args[0] != 'compile') {
  console.warn(`deprecated: v3 will require to invoke cli with subcommand only');
  exec('swc_cli_bin', 'compile', ...args);
}
else {
 exec('swc_cli_bin', ...args);
}

@swc/core v3

retiring, let @swc/cli mark as deprecated
@swc/core specifics bin property in package.json to point native binary directly or have wrapper shell script to do those. Either cases, node.js should not be required to invoke binaries
all of cli development consolidated into main repo

Pros

full rust binary
aligned development in single repo
0 v8 warmup time: invoking cli becomes very effective, similar to esbuild's cli performs.

Cons

binary size: this effectively increases pkg size as we need to ship additional binary
compilation time: may increase time to create binary & node bindings

Related issue (if exists):

relates with #1589

we can add runCli to @swc/core and use it

That's first thing I was considered, but eventually came to approach native binary instead. If we were to accept node.js being entrypoint to cost warmup time in my opinion it doesn't have a lot of gain we're trying to migrate logics into rust.

Another alternative is using a shared dynamic library between node bindings and CLI.

This sounds intriguing. What do we need to do exactly?

We should allow compiling the crate swc as dylib.
https://github.com/swc-project/swc/blob/25a17e8b115452474f1010e373abac9ed32caa18/crates/swc_common/Cargo.toml#L15-L16
then we can use
[build]
rustflags = ["-C", "prefer-dynamic"]

But I'm not sure about the way to force dylib only for the crate swc.
I expect replacing
[lib]
crate-type = ["lib", "dylib"]

with
[lib]
crate-type = ["dylib"]

on ci will work

Thanks, I'll try few and get back if I'm stuck.

Marking as draft for now while trying dylib.

OK, I tried this bit and looks like dylib based binary can be generated at least.
But while trying, I noticed few things

As you already noted, there isn't way to have fine-grained control over specific dependencies link type. Once we enable prefer-dynamic, All deps gets dynamically linked including any external dependencies.
This could cause some trouble, first external deps are out of our control so any abi breakage might occur any time. Also, for the distribution we need to pkging several list of files instead of single statically linked binary.

I think it's worth topic to pursue but also this could be considered as future optimization. Thoughts on if we do this? @kdy1

Accept current approach (separate bin / node bindings with static linked)
Trying to implement few features actually using swc_common in swc_cli
See how badly dev workflow affected (CI times, etcs) and think about further
@swc/cli won't include to use this binary for those time being, so we can safely introduce any breaking changes depends on outcome.

I think it's fine, but I'm not sure about

Trying to implement few features actually using swc_common in swc_cli

What feature did you mean?

What feature did you mean?

Port over what @swc/cli does into this binary. Currently this PR is empty and does nothing as you can see already. What I meant was make progress to port over cli logics and see how does it affect to build time & others.

I see. Thank you for the clarification!

Changed status to ready for review again - once this goes in I'll try to port over compile subcommand into this binary crate.


Any way to download 1080p video

i tried changing the quality in script.js to1920x1080 but it didn't work. it gave a Json saying 1920x1080.mp4 encoding not found tried different extensions like mkv,mov etc still no success. any idea on how we can get this to work

have you tried .ts ? I can download in 1080p using IDM which is stored in .ts

does it contain the full file have tried playing it?

yes, it is indeed full file and I can play them using vlc

unfortunately didn't work I think the Api endpoint is different or something.


Add testing for Python 3.11

Inspired by the previous issue #97 with the runner, we decided to also test for more recent python distributions. The runners for 3.12 are not stable yet, therefore I will add support for 3.11.

This is not possible at least until numba supports 3.11 from this issue. It seems it will be relatively soon, so I will leave the issue and the branch open for the time being.

This was solved already with #109


A really small gifs with modified header to appear big will use up lots of memory for nothing

Similar to https://github.com/libjpeg-turbo/libjpeg-turbo/issues/560
If we modify the header of the gif to declare a size much bigger than the gif actually is (so, corrupted gif), we will allocate the theoritical maximum for no reason.
We could try to find a heuristic to exit early:
A typical compression ratio of the gif seems to range between 4:1 to 10:1 (http://ist.uwaterloo.ca/~anderson/images/GIFvsJPEG/compression_rates.html)
So, if the size of the inputstream is available (might not be the case), we could exist early if we detect that the size declared of the gif is more than 15 time bigger than the data stream)
For exemple, if we read the header and the gif is 100x100pixel, meaning 10000 pixels, but the gif size is only 100 bytes, then it's really fishy.

Actually not really an issue: a gif could be giant,  but only have part of it drawn


Use ga4gh.vrsatile.pydantic models

https://pypi.org/project/ga4gh.vrsatile.pydantic/

Currently we set value to a value object, but we should use disease_id


Adapter to optionally emit logs to StackDriver

Should have the ability to emit logs to StackDriver - see https://cloud.google.com/logging/docs/reference/libraries#client-libraries-install-java

@maniksurtani since we ship with the slf4j api, do we want to use the client library or just get end-users to use the Logback appender (and by extension Logback) https://cloud.google.com/logging/docs/setup/java#logback_appender
That seems less invasive, and requires no changes on Misk's end as far as I can tell.

Yes, using the logback appender does seem like the more sensible path here.

Sounds good, as far as I can tell there's no other action required on our end. Will close this out, and we can always re-open if we encounter any issues.


Cut off Filenames

Hi!
We're experiencing a problem where long file names are abbreviated with "..." at the end.  Is it possible to receive the full file names? Thanks;)

@k4rl1 do you mean the path return by stand alone button?

I mean the item names (file names ) in list/thumbnail view. Long file names are abbreviated with "..." without any alt text.

You can remove text-truncate class in resources/views/vendor/laravel-filemanager/index.blade.php (https://github.com/UniSharp/laravel-filemanager/blob/v2.0.0-alpha3/src/views/index.blade.php#L91).

Thanks ;)


Windows performance

Sorry if this is the wrong place but I really want to use ember cli for my project but the performance on windows is unusable and it's because of Broccoli.
Any updates on improving performance on windows or is there anything I can do to help?  If you point me to the right place I can try and optimize it.  Thanks.

This should be solved by the removal of the tmp directory from the project directory. Closing this issue now, please reopen if this is still a problem.

I believe @thoov’s memoization should have also helped in many scenarios for windows users


(express) Doesn't work with static content

webServer.use(express.static(`${__dirname}/static`));
webServer.use(auth.connect(basicAuth));

Won't secure any data served from static/. Any other routes are secured.
Specifically I'd like to secure a route in there. so / is accessible, but e.g. /staff/ needs http-auth.

Try in reverse order:
webServer.use(auth.connect(basicAuth));
webServer.use(express.static(`${__dirname}/static`));


Plugin etcd disappearance

I've had a little time this evening to investigate the resilience of the plugin to etcd resets, and this PR shows the result of that so far.  I've added UT to reset the etcd data at various possible points, then looked at the effect of that on the plugin code - which revealed KeyError exceptions at lines 218 and 220 where the plugin tries to read ..../rules and ..../tags for a profile.  The second commit here covers that.
I don't think this is a complete review, yet, I'm afraid, but I would hope that, with this, the plugin will have enough resilience to get through some initial testing of a moving etcd node.

Hi @fasaxc  - There's also this PR that I believe is good to go now, and likely beneficial for our customers, even if it isn't yet a complete treatment of resilience w.r.t. etcd moving.
I'm afraid it will need some de-conflicting, though, in order to merge after the versioning change.  Do you mind taking that on?

Yep, I'll take it.

@robbrockbank I've rebased this, please can you review?

Need to handle no key at line 154?

I think so, I'll add that in.

Looks good


[Update misc_util.py]: clean up unused helper functions

A proposal for a clean-up, as it seems these two functions are rarely used.

the failing test suggests they are used after all :)

@pzhokhov Right, zipsame was used for MPI related code, it is reverted back now.


How to Store and Access Multiple Tokens?

Is there an easy way to store and access more than one id_token/access token?  Currently, I found a way of storing more than one token  with the library by adding another token_type as an additional parameter to the end of my authority URL (authority:  myAuthorityURL + '?token_type=xxx').  This however doesn't make it very convenient to get at in my code.
For example (lame example), if I wanted to get tokens from Google and Facebook and use both of them in my app:
getClientSettings(): UserManagerSettings {     return {       authority:  facebookAuthority,       client_id: facebook_client_id,    }   {      authority: googleAuthority,      client_id: google_client_id,   }
(never mind the incorrect JS syntax, its there for just visuals)
Is there a more convenient way to store and access the tokens provided by the library?  Thanks!

For example (lame example), if I wanted to get tokens from Google and Facebook and use both of them in my app:

Those are two different authorities, right? So you'd have two different configs, and two different UserManager instances, right?

Yes, they are two different authorities.  I would assume using two different UserManager instances, just wanted to see if there was a way to add multiple authorities within the same UserManager instance.
Btw, really like the library.  It's super slick and one of the best ones I found out there for Oauth OpenID Connect.  Nice job

I would assume using two different UserManager instances, just wanted to see if there was a way to add multiple authorities within the same UserManager instance.

Yea, given that each authority is really separate, that's the approach I envisioned and thus didn't implement it as somehow built into the library itself. It would add a lot of complexity and that's the enemy of security.

Btw, really like the library. It's super slick and one of the best ones I found out there for Oauth OpenID Connect. Nice job

Thanks. Feel free to suggest sponsoring us to your company/management :)
https://www.patreon.com/identityserver

Somewhat related, but is there a way to get the token from the main window/app and the second token from the iframe for use elsewhere in the app?

I don't follow.


Work around fn key issue

When pressing the fn key, the application crashes
kmonad: toEnum{Keycode}: tag (464) is outside of enumeration's range (0,255)

#372 should fix this for real but until then this makes sure the application doesn't crash when pressing the fn key

Seems like a reasonable temporary fix; thanks!


MHD Roe

I've ported the ideal MHD Roe solver from http://dogpack-code.org/clawpack/MHDCLAW as suggested by @ketch. The corresponding regression test is added in clawpack/pyclaw/pull/630.

The new test using this passes on my machine.  I'll merge it so we can get to merging https://github.com/clawpack/pyclaw/pull/630.


Feature/kmeans++

Implements k-means with k-means++ initialization, related issue #111
TODOs:

[ ] fix weights of points
[ ] add documentation
[ ] tests

Codecov Report

Merging #120 (e28dc84) into main (f51ca70) will decrease coverage by 3.61%.
The diff coverage is 64.88%.

:exclamation: Current head e28dc84 differs from pull request most recent head 15d5c93. Consider uploading reports for the commit 15d5c93 to get more accurate results

@@            Coverage Diff             @@
##             main     #120      +/-   ##
==========================================
- Coverage   84.38%   80.77%   -3.62%
==========================================
  Files          43       44       +1
  Lines        3933     4145     +212
  Branches      448      460      +12
==========================================
+ Hits         3319     3348      +29
- Misses        511      672     +161
- Partials      103      125      +22

Impacted Files
Coverage Δ

ott/core/quad_problems.py
86.97% <0.00%> (-2.80%)
:arrow_down:

ott/tools/segment_sinkhorn.py
43.75% <0.00%> (-56.25%)
:arrow_down:

ott/tools/kmeans.py
28.44% <28.44%> (ø)

ott/tools/sinkhorn_divergence.py
71.42% <50.00%> (-28.58%)
:arrow_down:

ott/core/gw_barycenter.py
73.78% <60.00%> (+49.00%)
:arrow_up:

ott/core/bar_problems.py
74.57% <67.34%> (+24.57%)
:arrow_up:

ott/geometry/pointcloud.py
70.21% <67.69%> (-13.45%)
:arrow_down:

ott/core/segment.py
75.00% <92.30%> (+0.45%)
:arrow_up:

ott/geometry/low_rank.py
96.12% <94.59%> (-0.37%)
:arrow_down:

ott/geometry/geometry.py
87.97% <96.10%> (+2.31%)
:arrow_up:

... and 27 more


Jflahert

Coverage increased (+30.4%) to 69.014% when pulling 3f9eaf3035224c57e95b58088bac7a05b253c482 on jflahert into f6d3ac700add7e257f3f0d584e2f8f6ece5a773e on master.

You should keep open a branch and a pull request for your changes. You are not suppose to close it. Thanks for working on it.

Coverage increased (+30.4%) to 69.014% when pulling 3f9eaf3035224c57e95b58088bac7a05b253c482 on jflahert into f6d3ac700add7e257f3f0d584e2f8f6ece5a773e on master.

Nice work thanks. Now you miss exercises for the second class. If you have been present to the second theory class you should be able to.

Coverage increased (+40.3%) to 78.947% when pulling 1fb1d460cde20171b90278fdeda257730be0316b on jflahert into f6d3ac700add7e257f3f0d584e2f8f6ece5a773e on master.

Coverage increased (+48.7%) to 87.342% when pulling 082448542cfb16393787c421aed65ba08bda4447 on jflahert into f6d3ac700add7e257f3f0d584e2f8f6ece5a773e on master.


MicroWin Windows 11 23H2 with keep defender, SecurityHealthSystray.exe is removed

Hi,
When using MicroWin with keeping defender the SecurityHealthSystray.exe file is not installed.
The regkey for startup for SecurityHealthSystray.exe is present but the file is not.
So when installing Windows, Windows security is there functioning properly but the system tray is not present because the file SecurityHealthSystray.exe is not in system32.
Apparently the MicroWin process has removed the file somehow.

Looks like this was auto closed but do you have more info on how you made your ISO? That information is probably useful.
Which ISO, what packages were toggled to keep, etc.?


Anita Sharma: Precourse, 1 Week

my fork of module repository

Learning Objectives

-GitHub:

[x] 🥚 Creating Issues: You can create a new issue in a GitHub repository using an issue template. You can correctly use labels, milestones, and assignment to make your issue findable.
[x]  🥚 Searching Issues: You can find issues in a repository by label, author, and milestone.
[x] 🥚 Project Boards: You can use issues on a GitHub project board to track your class assignments and help your classmates when they need it.
HYF Workflows:

[x] 🥚 Check-Ins: You can use the check-in template to track your module learning objectives, your weekly progress (and to post a retrospective at the end of the module). You create one check-in issue per module in the class repo and each Thursday you add a check-in comment to it and the label for the corresponding week. After review, we add the checked label. No need to remove previous labels either. So as an example, after a 5 week module, you would have 5 comments and 5 labels added by you.
[x] 🥚 Deliverables: You can create an issue for this module's deliverable and track your progress on the class project board. Each week, there are different assignments / deliverables. If it is an individual project, you create your own deliverable issue for it in the class repo. If it is a group project, the entire group creates 1 issue together in the class repo.
[x] 🥚 Asking for Help: You can use the help-wanted template in your class repository's Discussion board to ask for help, and to help your classmates when they are blocked.

Your Computer:
[x]  🥚 File System Management: You can create and organize a new folder in your personal computer for the materials you will study at HYF.
Visual Studio Code:

[x] 🥚 Install and manage extensions
[x] 🥚 Open a folder for editing
[x] 🥚 Create new files/folders inside of the folder
[x] 🥚 Edit files and save changes

Week 1

[x] I have pushed my progress to my fork of exercises repo

I Need Help With:
What went well?Creating and assigning issue
What went less well? SSH Key
Lessons Learned:Creating SSH key linking it to GitHub account, creating and assigning issue
Sunday Prep Work: Branching in Git

Hi @yildiztugba  I finished it .


Fix code scanning alert - Database query built from user-controlled sources

Tracking issue for:

[ ] https://github.com/brentlaster/sec-demo/security/code-scanning/3

The code scanning alert indicates a vulnerability due to user-controlled sources being used to build database queries. Here are the steps to fix the issues identified:
Use Parameterized Queries:
Instead of using fmt.Sprintf() to build SQL queries, utilize parameterized queries to prevent SQL injection.
Example Fix:
For the NameQuery function:
// Old vulnerable code
// rows, err := DB.Query(fmt.Sprintf("SELECT * FROM books WHERE name = '%s'", r))
// Fixed code using parameterized query
rows, err := DB.Query("SELECT * FROM books WHERE name = ?", r)
Apply similar fixes to AuthorQuery, ReadQuery, and any other functions that build queries from user input.
Modify all affected functions:
Ensure all query functions in models/models.go use parameterized queries.
Review the rest of the codebase:
Check for other instances where user input might be used directly in queries and apply the same fix.
By implementing these changes, you can mitigate the risk of SQL injection attacks in your application.


Updated endpoints for Shopware 6.4

I have added comments for new endpoints to be used (I didn't bother doing all the version increments). Some endpoints might slightly change API behaviour, the biggest change is related to guest orders, where an initial register call is required in order to obtain a valid context token.
Checklist

[x] I followed contributing guidelines

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


[BUG] crc seems to conflict with Podman on Windows

General information

OS: Windows
Hypervisor: Hyper-V
Did you run crc setup before starting it (Yes/No)?Yes
Running CRC on: Laptop

CRC version
CRC version: 2.26.0+233df0
OpenShift version: 4.13.9
Podman version: 4.4.4

CRC status
# Put `crc status --log-level debug` output here

CRC config
DEBU CRC version: 2.26.0+233df0
DEBU OpenShift version: 4.13.9
DEBU Podman version: 4.4.4
DEBU Running 'crc status'
CRC VM:          Stopped
MicroShift:      Stopped (v4.13.9)
RAM Usage:       0B of 0B
Disk Usage:      0B of 0B (Inside the CRC VM)
Cache Usage:     34.7GB
Cache Directory: C:\Users\Jeff\.crc\cache

Host Operating System

Nom de l'h鍍e:                              DESKTOP-JEFF
Nom du syst確e d'exploitation:              Microsoft Windows 11 Professionnel
Version du syst確e:                         10.0.22621 N/A build 22621
Fabricant du syst確e d'exploitation:        Microsoft Corporation
Configuration du syst確e d'exploitation:    Station de travail autonome
Type de build du syst確e d'exploitation:    Multiprocessor Free
PropriＵaire enregistr・                    Jeff MAURY
Organisation enregistrＦ:
Identificateur de produit:                  00330-80819-37372-AA576
Date d'installation originale:              09/11/2022, 16:39:06
Heure de dＮarrage du syst確e:              02/10/2023, 10:47:18
Fabricant du syst確e:                       LENOVO
Mod獲e du syst確e:                          20TJS2F43N
Type du syst確e:                            x64-based PC
Processeur(s):                              1 processeur(s) install・s).
                                            [01]: Intel64 Family 6 Model 165 Stepping 2 GenuineIntel ~2310 MHz
Version du BIOS:                            LENOVO N2VET29W (1.14 ), 15/03/2021
RＱertoire Windows:                         C:\Windows
RＱertoire syst確e:                         C:\Windows\system32
PＳiphＳique d'amor㌢ge:                    \Device\HarddiskVolume1
Option rＨionale du syst確e:                fr;Fran㌢is (France)
Param閣res rＨionaux d'entrＦ:              fr;Fran㌢is (France)
Fuseau horaire:                             (UTC+01:00) Bruxelles, Copenhague, Madrid, Paris
MＮoire physique totale:                    32525 Mo
MＮoire physique disponible:                11039 Mo
MＮoire virtuelle: taille maximale:        61197 Mo
MＮoire virtuelle: disponible:             28953 Mo
MＮoire virtuelle: en cours d'utilisation: 32244 Mo
Emplacements des fichiers d'Ｄhange:        C:\pagefile.sys
Domaine:                                    WORKGROUP
Serveur d'ouverture de session:             \\DESKTOP-JEFF
Correctif(s):                               4 Corrections installＦs.
                                            [01]: KB5029921
                                            [02]: KB5012170
                                            [03]: KB5030219
                                            [04]: KB5028756
Carte(s) rＴeau:                            5 carte(s) rＴeau installＦ(s).
                                            [01]: Intel(R) Wi-Fi 6 AX201 160MHz
                                                  Nom de la connexion: Wi-Fi
                                                  DHCP activ・:         Oui
                                                  Serveur DHCP:        <IP_ADDRESS>
                                                  Adresse(s) IP
                                                  [01]: <IP_ADDRESS>
                                                  [02]: fe80::5102:6cd:7e09:85b2
                                                  [03]: 2a01:e34:ec7e:3020:8484:9c06:53b9:4b53
                                                  [04]: 2a01:e34:ec7e:3020:5116:66ca:8d7a:292a
                                            [02]: Bluetooth Device (Personal Area Network)
                                                  Nom de la connexion: Connexion rＴeau Bluetooth
                                                  腎at:                Support dＤonnect・
                                            [03]: Wintun Userspace Tunnel
                                                  Nom de la connexion: OpenVPN Wintun
                                                  腎at:                Support dＤonnect・
                                            [04]: TAP-Windows Adapter V9
                                                  Nom de la connexion: OpenVPN TAP-Windows6
                                                  腎at:                Support dＤonnect・
                                            [05]: OpenVPN Data Channel Offload
                                                  Nom de la connexion: OpenVPN Data Channel Offload
                                                  DHCP activ・:         Oui
                                                  Serveur DHCP:        <IP_ADDRESS>
                                                  Adresse(s) IP
                                                  [01]: <IP_ADDRESS>
                                                  [02]: fe80::7c66:3db3:58ac:e5cd
                                                  [03]: fd10:39:192:1::1133
Configuration requise pour Hyper-V:         Un hyperviseur a Ｕ・dＵect・ Les fonctionnalitＴ nＤessaires ・Hyper-V ne seront pas affichＦs.

Steps to reproduce

crc start

Expected
crc should start
Actual
INFO Checking minimum RAM requirements
INFO Checking if running in a shell with administrator rights
INFO Checking Windows release
INFO Checking Windows edition
INFO Checking if Hyper-V is installed and operational
INFO Checking if Hyper-V service is enabled
INFO Checking if crc-users group exists
INFO Checking if current user is in crc-users and Hyper-V admins group
INFO Checking if vsock is correctly configured
INFO Checking if the daemon task powershell script is present
INFO Checking if the daemon task is installed
INFO Checking if the daemon task is running
INFO Checking admin helper service is running
INFO Downloading bundle: crc_microshift_hyperv_4.13.9_amd64...
1.45 GiB / 1.45 GiB [------------------------------------------------------------------------------] 100.00% 7.36 MiB/s
INFO Extracting bundle: crc_microshift_hyperv_4.13.9_amd64...
crc.vhdx:  4.48 GiB / 4.48 GiB [------------------------------------------------------------------------------] 100.00%
oc.exe:  114.17 MiB / 114.17 MiB [----------------------------------------------------------------------------] 100.00%
CRC requires a pull secret to download content from Red Hat.
You can copy it from the Pull Secret section of https://console.redhat.com/openshift/create/local.
? Please enter the pull secret *****************************************************************************************INFO Creating CRC VM for MicroShift 4.13.9...
INFO Generating new SSH key pair...
INFO Starting CRC VM for microshift 4.13.9...
failed to expose port <IP_ADDRESS>:2222 -> <IP_ADDRESS>:22: listen tcp <IP_ADDRESS>:2222: bind: Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée.

Using tcpview, I noticed that gvproxy.exe (from the Podman distribution) was listening on port 2222
Logs
Before gather the logs try following if that fix your issue
$ crc delete -f
$ crc cleanup
$ crc setup
$ crc start --log-level debug

Please consider posting the output of crc start --log-level debug  on http://gist.github.com/ and post the link in the issue.

Both will indeed try to use port 2222 for SSH, not sure why this never came up before. macOS most likely have the same issue.

Looking closer at podman machine code, it looks like it's using a random port for SSH. It's only with wsl that it's not 100% clear what it's doing, there is some code to use a different ssh port when it's trying to use an already used port. Maybe it defaults to 2222 though.
crc on the other hand expects to be able to use 2222 and has no fallback if it's not available.

Seems to be related to user mode networking as gvproxy.exe is not launched if you don't use this feature

not sure why this never came up

it looks like it's using a random port for SSH.

this, as it never conflicted for me. Wonder what causes the conflict to occur.

Could it be the order in which they are started? crc daemon first, followed by podman machine/wsl -> OK, podman machine/wsl followed by crc daemon -> failure?

No it does not matter as both are using port 2222

No it does not matter as both are using port 2222

the WSL code in podman seemed to have some fallback in case port 2222 is already in use, hence the question.

I can't see the fallback: If I start CRC first then podman machine then gvproxy.exe is not running at all.

Perhaps this is because Podman machine recently introduced usermode networking, and they might not have considered the situation that CRC already uses these ports. /CC: @n1hility

@vyasgun You were able to reproduce this on Windows and macOS. Can you describe the setup you used and the output? On macOS it seems no error occurred, but the SSH connection to the VM was denied.

Unfortunately she did not add any further comments, so from the top of my head I will explain what we did:

we have something listening on port 2222; nc -L
we start crc and this will fail with a bunch of SSH retries
times out.

Start podman with user-mode-networking enabled -> gvproxy.exe listening on 2222
crc start ->

$ crc start
INFO Using bundle path C:\Users\Jeff\.crc\cache\crc_hyperv_4.14.3_amd64.crcbundle
INFO Checking minimum RAM requirements
INFO Checking if running in a shell with administrator rights
INFO Checking Windows release
INFO Checking Windows edition
INFO Checking if Hyper-V is installed and operational
INFO Checking if Hyper-V service is enabled
INFO Checking if crc-users group exists
INFO Checking if current user is in crc-users and Hyper-V admins group
INFO Checking if vsock is correctly configured
INFO Checking if the daemon task powershell script is present
INFO Checking if the daemon task is installed
INFO Checking if the daemon task is running
INFO Checking admin helper service is running
INFO Loading bundle: crc_hyperv_4.14.3_amd64...
INFO Creating CRC VM for OpenShift 4.14.3...
INFO Generating new SSH key pair...
INFO Generating new password for the kubeadmin user
INFO Starting CRC VM for openshift 4.14.3...
failed to expose port <IP_ADDRESS>:2222 -> <IP_ADDRESS>:22: listen tcp <IP_ADDRESS>:2222: bind: Une seule utilisation de chaque adresse de socket (protocole/adresse réseau/port) est habituellement autorisée.

Thanks @jeffmaury, but the instructions I meant were more low-level and actually blocking the port. It seems on macOS the same issue occurs, but it does NOT fail with the error you show. This is what @vyasgun investigated... @evidolob will continue working on this to provide the port-check.

I started a server on 2222 port on Mac and got the following result indicating a port conflict:
DEBU retry loop: attempt 74
DEBU Running SSH command: exit 0
DEBU Using ssh private keys: [/Users/gvyas/.crc/machines/crc/id_ecdsa /Users/gvyas/.crc/cache/crc_microshift_vfkit_4.13.14_amd64/id_ecdsa_crc]
DEBU SSH command results: err: ssh: handshake failed: read tcp <IP_ADDRESS>:62268-><IP_ADDRESS>:2222: read: connection reset by peer, output:
DEBU error: Temporary error: ssh command error:
command : exit 0
err     : ssh: handshake failed: read tcp <IP_ADDRESS>:62268-><IP_ADDRESS>:2222: read: connection reset by peer
 - sleeping 1s
DEBU retry loop: attempt 75
DEBU Running SSH command: exit 0
DEBU Using ssh private keys: [/Users/gvyas/.crc/machines/crc/id_ecdsa /Users/gvyas/.crc/cache/crc_microshift_vfkit_4.13.14_amd64/id_ecdsa_crc]
DEBU SSH command results: err: ssh: handshake failed: read tcp <IP_ADDRESS>:62270-><IP_ADDRESS>:2222: read: connection reset by peer, output:
DEBU error: Temporary error: ssh command error:
command : exit 0
err     : ssh: handshake failed: read tcp <IP_ADDRESS>:62270-><IP_ADDRESS>:2222: read: connection reset by peer
 - sleeping 1s
DEBU RetryAfter timeout after 76 tries
DEBU Running 'sw_vers -productVersion'
DEBU Sending 'identify' to segment
Failed to connect to the CRC VM with SSH -- virtual machine might be unreachable: Temporary error: ssh command error:
command : exit 0
err     : ssh: handshake failed: read tcp <IP_ADDRESS>:62141-><IP_ADDRESS>:2222: read: connection reset by peer

Temporary error: ssh command error:
command : exit 0
err     : ssh: handshake failed: read tcp <IP_ADDRESS>:62143-><IP_ADDRESS>:2222: read: connection reset by peer

On Windows, I did the same thing. crc start failed with a different error but it only happened with the server running.
DEBU retry loop: attempt 3
DEBU Running SSH command: exit 0
DEBU Using ssh private keys: [C:\Users\gvyas\.crc\machines\crc\id_ecdsa C:\Users\gvyas\.crc\cache\crc_hyperv_4.14.3_amd64\id_ecdsa_crc]
DEBU SSH command results: err: <nil>, output:
INFO CRC VM is running
DEBU Using root access: disable core user password
DEBU Running SSH command: sudo passwd --lock core
DEBU SSH command results: err: <nil>, output: Locking password for user core.
passwd: Success
DEBU Running SSH command: cat /home/core/.ssh/authorized_keys
DEBU SSH command results: err: Process exited with status 1, output:
INFO Updating authorized keys...
DEBU Creating /home/core/.ssh/authorized_keys with permissions 0644 in the CRC VM
DEBU Running SSH command: <hidden>
DEBU SSH command succeeded
DEBU Running SSH command: rm /home/core/.ssh/authorized_keys.d/ignition
DEBU SSH command results: err: <nil>, output:
DEBU Using root access: Get device id
DEBU Running SSH command: sudo /usr/sbin/blkid -t TYPE=xfs -o device
DEBU SSH command results: err: <nil>, output: /dev/sda4
DEBU Using root access: Growing /dev/sda4 partition
DEBU Running SSH command: sudo /usr/bin/growpart /dev/sda 4
DEBU SSH command results: err: Process exited with status 1, output: NOCHANGE: partition 4 is size 63961055. it cannot be grown
DEBU No free space after /dev/sda4, nothing to do
DEBU Using root access: make root Podman socket accessible
DEBU Running SSH command: sudo chmod 777 /run/podman/ /run/podman/podman.sock
DEBU SSH command results: err: <nil>, output:
Error running post start: host file not writable, try running with elevated privileges

I was looking on this, and only have a few ideas how to fix this.
I can add check for 2222 port on deamon start, but it would be enough to solve the issue, as some other program could use that port in between daemon start and actual CRC VM start, as we start use that port only during the VM starting, so we could not occupy that port in advance.
So, proper solution could be, using a random free port, if 2222 is occupied. But in this case we need to share the port number between daemon and CLI, as it(port number) could be/used on both sides.
This leads me to think on moving start command execution to daemon just to avoid port number sharing complication.
Also, if we chose to use random port, we need to inform user somehow about it, as that port is used in debug process, like SSH'ing in to CRC VM.
@gbraad @praveenkumar @cfergeau WDYT? Or, maybe, there are any better solution?

I can add check for 2222 port on daemon start, but it would be enough to solve the issue, as some other program could use that port in between daemon start and actual CRC VM start, as we start use that port only during the VM starting, so we could not occupy that port in advance.

Imo, the main thing to solve is if there are port conflicts between podman-machine and crc, preventing them from running at the same time. I'm not sure this specific scenario is a problem at the moment? podman-machine seems to always pick a random port. podman has podman machine ssh which helps with that.
We've occasionally had reports of people hitting port conflicts with other tools, but they've been rare.
For a similar situation, we've introduced ingress-http-port and ingress-https-port to let the user specify which alternate port they want, this could be an option here?
If you prefer a random port, one alternative to pushing start to the daemon could be to have some "create ssh connection" functionality in the daemon, and use it from the client, but likely to be more complicated/messy than it sounds ;)
I agree that long term it will be nice to do everything from the daemon, but we are not there yet. But as long as podman machine and crc can run at the same time, I don't think this is a huge issue. If podman-machine + crc already works, then a ssh-port config option is imo enough if we want a short term fix for it.

I just check, on Windows and MacOS, podman(4.8.3) and CRC(2.31) runs at the same time, without any issues.
Should we just close this?

It is the order in which this happens... Podman Machine detects, but we don't, so who comes first matters.

Does podman machine assign 2222 as part of random port mapping (I highly doubt), so it is mostly some other application which is consuming this port so blocking it for crc usecase. May be the detection on daemon side (even it is not full proof) provide user a sense that this port is consumed by some other application?
Also adding option about ssh-port on crc side will not work until daemon also read that configuration and use it?

May be the detection on daemon side (even it is not full proof) provide user a sense that this port is consumed by some other application?

If we add port usage detection only on daemon side, not all users will know about that, as not all of them is constantly reading daemon logs, IMHO it will be better UX if we show that port in use in CLI, during the start checks.
As for ssh-port config, we already has ingress-http-port and ingress-https-port config option, and both of them are used in start on both side CLI(https://github.com/crc-org/crc/blob/e6f13c391915ec48b01db3ae08926202069096c2/cmd/crc/cmd/start.go#L70-L88) and daemon(https://github.com/crc-org/crc/blob/2875a7441f467e630c62760b49a800f60857afbf/pkg/crc/api/handlers.go#L120) so, it would be a matter if adding another one.

if the port is in use we can not continue... so that is not just a log entry; but a clear failure.

if the port is in use we can not continue... so that is not just a log entry; but a clear failure.

So, when that check should be performed? During crc start? Or during daemon start?

as part of a preflight?

OK, that should work. Should I add only check or check and configuration option?

incremental...
but I see a situation: "it fails. now what?", so eventually you need an alternative strategy.

@jeffmaury @slemeur With the latest release of CRC we added check to figure out if port 2222 is consumed by any process and let user know about it. Can you please test latest CRC with latest version of podman and let us know if you still hitting this issue?

Error is reported but specific message is not displayed:

From CLI:

Will check with latest version of the extension

@jeffmaury @slemeur With the latest release of CRC we added check to figure out if port 2222 is consumed by any process and let user know about it. Can you please test latest CRC with latest version of podman and let us know if you still hitting this issue?

what is the latest version?
using these versions met the same issue:
CRC version: 2.35.0+3956e8
OpenShift version: 4.15.10
Podman version: 4.4.4

@kid1412621 you mean you have a conflicting port? Can you check which other processes uses this port?
We decided at first to not add a method/config option to change this, as we want to see how often this happens; we had earlier issues that might have been caused by this but were never reported as such, as those were mostly 'ssh connection failures'.

Will check with latest version of the extension

@jeffmaury we might have to create an issue for a proper error message on the end of the extension to report this correctly. Follow-up might be to have this configurable. WDYT?

@kid1412621 you mean you have a conflicting port? Can you check which other processes uses this port?
We decided at first to not add a method/config option to change this, as we want to see how often this happens; we had earlier issues that might have been caused by this but were never reported as such, as those were mostly 'ssh connection failures'.

gvproxy, I guess it's to do with podman user net.

Stumbled upon this thread while troubleshooting, recreating Podman machine with user network disabled solved the issue.

See also https://github.com/containers/podman/issues/20327

For the record, this can be reproduced when using podman-machine with wsl and usermode networking, and crc at the same time. In this scenario, gvproxy (started by podman-machine) will always bind to port 2222. https://github.com/containers/podman/pull/24070 should fix this.

This was fixed by https://github.com/containers/podman/pull/24394


Add automated Cloud SQL backups

This brings the automation in line with the installation docs.
Thanks for submitting an pull request to pcf-pipelines.
To speed up the process of reviewing your pull request please provide us with:

A short explanation of the proposed change:

An explanation of the use cases your change solves:

Expected result after the change:

Current result before the change:

Links to any other associated PRs or issues:

[ ] I have viewed signed and have submitted the Contributor License Agreement

[ ] I have made this pull request to the master branch

[ ] I have run all the unit tests

duplicate


Bad usage → help message printed on stdout

When you try to use a non-existent option, ag prints the usage message on stdout:
$ ag --bad-option | wc -l
ag: unrecognized option '--bad-option'
88

Printing the usage message on stdout if fine when the user explicitly asked for it.
If you are printing it as a result of an error, it should go to stderr.
(Tested with ag 1.0.2.)

@ggreer Hi, I get same issue when create plugin base on ag, I use stdout to jump to a file, so I hope this kind of message, such as usage could be print to stderr.


Feat/login

I'd recommend not deleting the header but instead setting hide-nav-bar="true":

Please update and resubmit. Excited for the new look!


createRequestHandler in server-runtime causing slower responses in larger apps

What version of Remix are you using?
1.8.0
Steps to Reproduce
My production app has a large number of routes (around 700). I'm dealing with some slower requests, so I ran some benchmarking to see how long remix takes to process each request, excluding time for my loaders/actions. I narrowed down the bulk of the extra processing time to the use of unstable_createStaticHandler in @remix-run/server-runtime (which delegates to @remix-run/router). Even though this function returns the same thing given the same loadContext, it's being called on every request.
Expected Behavior
In production, the results of unstable_createStaticHandler should either be calculated once at build time, or cached and only updated when the loadContext changes.
Actual Behavior
unstable_createStaticHandler is called for every request. In my 700-route app, which is adding up to 200ms to my requests.
// packages/remix-server-runtime/server.ts

export const createRequestHandler: CreateRequestHandlerFunction = (
  build,
  mode
) => {
  let routes = createRoutes(build.routes);
  let serverMode = isServerMode(mode) ? mode : ServerMode.Production;

  return async function requestHandler(request, loadContext = {}) {
    let url = new URL(request.url);
    let matches = matchServerRoutes(routes, url.pathname);

    // This is being called for every request. In a large app, this single line can easily add
    // 100-200ms of overhead.
    let staticHandler = unstable_createStaticHandler(
      createStaticHandlerDataRoutes(build.routes, loadContext)
    );

I just set up a local patch which memoizes unstable_createStaticHandler. This immediately dropped my requests from  around 250ms each to around 80ms each (latency to my server is 60ms so this is around 20ms for remix to handle the request instead of almost 200ms).

Thanks @dmarkow!  Are you using the loadContext in your app?  Do you want to share your patch and we will look into improving the perf there 👍

I added a cache that only gets updated in production. Digging into the internals, I'm always a little worried I may be breaking something I'm unaware of. I don't personally use loadContext but this approach should allow for creating a new handler when the context changes.
diff --git a/packages/remix-server-runtime/server.ts b/packages/remix-server-runtime/server.ts
index feea61bd..6b77a8ba 100644
--- a/packages/remix-server-runtime/server.ts
+++ b/packages/remix-server-runtime/server.ts
@@ -30,6 +30,8 @@ export type CreateRequestHandlerFunction = (
   mode?: string
 ) => RequestHandler;

+let handlerCache: Record<string, StaticHandler> = {};
+
 export const createRequestHandler: CreateRequestHandlerFunction = (
   build,
   mode
@@ -41,9 +43,16 @@ export const createRequestHandler: CreateRequestHandlerFunction = (
     let url = new URL(request.url);
     let matches = matchServerRoutes(routes, url.pathname);

-    let staticHandler = unstable_createStaticHandler(
-      createStaticHandlerDataRoutes(build.routes, loadContext)
-    );
+    let key = JSON.stringify([build.routes, loadContext]);
+    let staticHandler = handlerCache[key];
+    if (!staticHandler) {
+      staticHandler = unstable_createStaticHandler(
+        createStaticHandlerDataRoutes(build.routes, loadContext)
+      );
+      if (serverMode === ServerMode.Production) {
+        handlerCache[key] = staticHandler;
+      }
+    }

     let response: Response;
     if (url.searchParams.has("_data")) {

I can formalize this into a PR if it seems like the right approach.

Actually, the let handlerCache... can probably go under the createRequestHandler function instead, and the production check can be removed. createRequestHandler only gets called repeatedly in development. And since it will only cache in production, build.routes probably doesn't need to be part of the key either.
diff --git a/packages/remix-server-runtime/server.ts b/packages/remix-server-runtime/server.ts
index feea61bd..19b1bd02 100644
--- a/packages/remix-server-runtime/server.ts
+++ b/packages/remix-server-runtime/server.ts
@@ -36,14 +36,20 @@ export const createRequestHandler: CreateRequestHandlerFunction = (
 ) => {
   let routes = createRoutes(build.routes);
   let serverMode = isServerMode(mode) ? mode : ServerMode.Production;
+  let handlerCache: Record<string, StaticHandler> = {};

   return async function requestHandler(request, loadContext = {}) {
     let url = new URL(request.url);
     let matches = matchServerRoutes(routes, url.pathname);

-    let staticHandler = unstable_createStaticHandler(
-      createStaticHandlerDataRoutes(build.routes, loadContext)
-    );
+    let key = JSON.stringify(loadContext);
+    let staticHandler = handlerCache[key];
+    if (!staticHandler) {
+      staticHandler = unstable_createStaticHandler(
+        createStaticHandlerDataRoutes(build.routes, loadContext)
+      );
+      handlerCache[key] = staticHandler;
+    }

     let response: Response;
     if (url.searchParams.has("_data")) {

Moving this over to a PR since I think I finally have this narrowed down to the correct set of updates.

I'll update the PR to remove the caching logic in createRequestHandler. As you said, the updates in routes.ts would really just speed up server startup a tiny bit in production, however it would provide a speed up on all requests in development.
I'm also open to shelving the whole thing for now until the "react router-ing remix" transition is done and that API change happens, then I can revisit and see if it's necessary.

Yeah the development flow is a good point.  We'll aim to get the lifting of  unstable_createStaticHandler and createStaticHandlerDataRoutes in soon, and then I think it makes sense to hold on the route creation optimization until we finish getting react router 6.4 into Remix

@brophdawg11 This works great in production.  On1.8.1 a super basic loader is taking 250-300ms in production, 1.8.2-pre.1 drops that back down to 80-100ms (again, accounting for 60ms in latency to my server).
As discussed above, there's still a slight dev delay. But it actually turns out most of that issue in dev was using Sentry.init(...), since it wraps the loaders/actions even if enabled: false is set in development. So there's still a +/- 10ms dev delay per request, but not the 100+ms I was seeing before. Thanks!

This is released in 1.8.2.  @dmarkow Let's revisit that route generation optimization once we finish the 6.4 migration - we're hoping to have that done in the next couple weeks so maybe we can loop back in January?

@brophdawg11 Sure thing! Definitely interested in helping any way I can with performance.


Compile code with Mypyc

Hello again! This is the counterpart to https://github.com/hukkin/tomli/pull/165, without (hopefully?) the bootstrapping concerns 🙂

Hi ofek, I appreciate the work here!
Unfortunately, I've got another concern. I had a look at hatch-mypyc and it seems it depends on setuptools for building the extension. It seems it creates an ephemeral setup.py and invokes python setup.py build_ext in a subprocess.
Seeing that direct setup.py invocations are deprecated, and the fact that we have to depend on setuptools in the first place, I think I'd prefer to wait for setuptool's PEP 621 support and use setuptools as build backend directly.

Fair enough, just note that unless you know something I don't. the setup.py invocation is unavoidable for using Mypyc/building any extensions.

Fair enough, just note that unless you know something I don't, the setup.py invocation is unavoidable for using Mypyc/building any extensions.

I probably know less than you. But yeah based on what I read here it seems mypycify is designed as distutils/setuptools only.
The setup.py invocation may be unavoidable, but if so, I'd rather have setuptools itself invoke it as that is the only non-deprecated way to do it.

Does that mean you don't want to use Mypyc?

I like mypyc, but I think I only want it if

we can stick to PEP 621 metadata
we don't have to do deprecated setup.py invocations
mypyc is off-by-default (and mypy is not required in pyproject.toml's build-system.requires). It should be enabled via env variable or other reasonable method.

The ways to achieve this are probably either:

wait for setuptools's PEP 621 support and use that
ask mypyc project for a native way for non-setuptools build backends to use it

Note to self:
If we ever move to using setuptools for mypyc support, the setup.py should look something like this:
import os

from setuptools import setup

if os.environ.get("USE_MYPYC") == "1":
    from mypyc.build import mypycify
    ext_modules = mypycify([
        'src/tomli_w/__init__.py',
        'src/tomli_w/_writer.py',
    ])
else:
    ext_modules = []

setup(ext_modules=ext_modules)

Superseded by https://github.com/hukkin/tomli/pull/242


Move setup information into this repo

We have setup instructions in https://docs.google.com/document/d/1FTafPkrvRGmP5Z18pWOW2BmtOR7YH0OtgcsKf5_Wnv8/edit#. Lets move it into github.

Hold off here pending results of #5. However, I can translate some of this and update the README.md if it makes sense to.

Linking this to progress in #26 where the documentation including the README.md will be updated. I'll use this issue to ping devs about technical info.

This is fairly up to date and more will be completed as part of more robust documentation updates. Closing this issue.


Getting Started with Ray Tracing Algorithm in Machine Learning

Topic Suggestion
Getting Started with Ray Tracing Algorithm in Machine Learning
Proposal Submission
Proposed title of article
Getting Started with Ray Tracing Algorithm in Machine Learning
Proposed article introduction
The most successful image synthesizing technique is the Ray Tracing Algorithm. This technique has a greater ability than other scanline rendering methods to produce a high level of realism virtually. However, the computational cost is higher. In today's digital world, computer graphics are the most basic requirement.
When we need to create a virtual image that looks very real and is indistinguishable from a regular photograph, we use computer graphics. There are numerous approaches that can be taken in order to accomplish this. One such rendering method is ray tracing. This is used to generate an image by tracing the path of light as pixels in an image plane and simulating its effects when it encounters virtual objects.
Key takeaways
Types of Ray Tracing Algorithm
How Ray Tracing Algorithm works?
Hybrid Ray Tracing Algorithm
A Brief History of Ray Tracing Algorithm
Article quality
In my article I'll take the reader vividly through Hybrid Ray Tracing Algorithm and other types of Ray Tracing Algorithm, I'll also give a brief history of it and elaborate how it works. I'll make sure to use simple grammar hence my article will be beginner-friendly
References
N/A
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@lalith1403 what do you think of this topic?

I think this is a great topic. @WanjaMIKE

Great topic 🚀 , make sure it matches the following:

Adds value beyond what is in the official docs and what is covered in other blog sites.
To avoid potential article closure, it should not overlap with existing EngEd articles or incoming topic suggestions.

Please reference any relevant EngEd articles in yours and build a unique project - Approved.

Just wanted to follow up on this topic, as we will be clearing up the queue where possible.
Just and FYI I will be closing this topic form just to help clear up the queue where possible - can be REOPENED at anytime when ready. 👍

Hello @hectorkambow @WanjaMIKE  kindly reopen the issue so that I can submit the PR

Hello @hectorkambow @WanjaMIKE kindly reopen the issue so that I can submit the PR

sorry for the delay.... I've been having my exams that's why it has taken me this long


Support for visible quoted blocks

Hello again @turt2live ! Thanks for merging the other two PRs. We recently stopped using our fork because of that 👍
This time I'm adding support for visible 'quoted' text. By default, all quoted text is hidden. However, it should only be hidden if it's part of a reply. If it's not, it means we're in the visible content part of the email and that should have .isHidden=false.
I've done this by modifying how the hidden flag gets set when adding a new fragment. At that point we've got all of the text in the fragment, so I check whether any of the lines is a quote header. If it is, this fragment should be hidden. Otherwise, it should not.

This has some issues, which are unfortunately covered by some of the tests. I'll fix and update.


M3-2037 Fix clickable StackScripts tags

Fix clickable StackScripts tags
Description
StackScripts tags should not be clickable. This PR switches them to reg chips
Type of Change

Bug fix

Coverage remained the same at 31.876% when pulling 370b9a1c6ae4652f3283b37360973d1820432352 on alioso:M3-2037 into 88cfcf8d1cdc834fb476c9a4f3490fc9b6eef0e9 on linode:release-0.42.0.


Move all concrete devices to separate repositories/packages

@nHackel @tknopp The loading times of MPIMeasurements are growing steadily. How do you think about splitting off all the concrete devices into separate packages? The could live within this repository but should not be loaded by default. This should reduce loading times quite a bit. Additionally it splits testing in smaller chunks and we could try to actually get MPIMeasurements covered with tests,
This would probably result in the following sub-packages

MPIMeasurementsRedPitaya
MPIMeasurementsTinkerforge
MPIMeasurementsIsel
MPIMeasurementsIgus
MPIMeasurementsLakeshore
MPIMeasurementsStepcraft
MPIMeasurementsFOTemperature
MPIMeasurementsArduinoTemperature
MPIMeasurementsArduinoSurveillance
MPIMeasurementsArduinoHallsensor

The only device that should diectly be loaded with using should probably be MPIMeasurementsRedPitaya. All other devices would then require something like
using MPIMeasurements<PackageSuffix>
using MPIMeasurements

Do you think that is a feasible approach? Of course it would make the usage of specific devices a bit more to type but this can easily be mitigated by just putting everything into a script or even into the startup.jl. I do not see a way to dynamically load the device packages depending on the devices specified in the Scanner.toml.
PS: The mechanics of splitting have been discussed in https://discourse.julialang.org/t/usage-of-subdirectories-to-store-multiple-packages-in-a-single-repo/55534

The question is, whether the device code is really effecting the load time or if it is rather the amount of dependencies. Having one package per device sounds like a very high administrative overhead.
In general, I am in favor of more fine-grained modularization though. We recently did something similar in MRIReco, which worked out quite well. But I am not sure if that should be done along devices.
I have seen that you were picking low-hanging fruits in https://github.com/MagneticParticleImaging/MPIMeasurements.jl/pull/60
Could you comment on the impact of that?
And by the way, have you seen @time_imports. It helped me finding the big load time dependencies. I used it in combination with https://github.com/peng1999/PkgDependency.jl, since I was not sure where certain indirect dependencies came from.

Thanks for the hint to @time_imports and PkgDependeny. I noticed that there is also PkgGraph.LoadTime.time_imports("PyPlot"); but I did not yet manage to generate a graph image out of it. I tracked down some portion of the loading time to some packages introduced in RedPitayaDAQServer for updating the RP remotely. I removed them for now. They might be a better fit for a script anyways. Another portion can be attributed to the Tinkerforge devices and PyCall which seems to recompile a lot of code every time it is loaded. The main loading time stems from MPIFiles so making it faster would give a huge benefit. I guess, I will just move the Tinkerforge devices to a separate package and if need arises we can move other device types to separate packages as well.
Concerning your question on #60:
I ran the following code on both master and my branch:
using PkgGraph
using Statistics
N = 5;
times = []
for i=1:N
   total_time = 0
   for tuple_ in PkgGraph.LoadTime.time_imports("MPIMeasurements")
     total_time += tuple_[:time_ms]
   end
   push!(times, total_time)
end
@info "" mean(times) std(times)

For my branch it reported 22175±4655 ms and for master 20383±2647 ms. This is a bit strange since I only removed dependencies. I would happily attribute this to background processes on my computer but running the code multiple times for each case confirmed the trend. I will merge #60 anyways since it makes sense to remove stale dependencies and split off the Tinkerforge devices and then dig further.

With the move of the Tinkerforge devices in #60 I am now down to 16168±3574 ms. That is not the optimum but we might get there gradually. The other devices are not so heavy in terms of dependencies, but now we have an example on how to factor out devices. I will merge #60 now which will close this issue and if need arises we can factor out more devices.


Rancher 2.2.x cannot remove notify if there is only one

What kind of request is this (question/bug/enhancement/feature request):
bug
Steps to reproduce (least amount of steps as possible):
create 1 notify
add notify to one of alert rule group
Result:
Cannot delete notify if there is only one
One notify, delete option disabled

Add 2nd empty notify and delete first one cannot save

You can also see this if you just try to edit one of the default alert groups we include. 1) Notifiers should never be required/mandatory. If a user wants they can just see alerts firing in the Alerts view if they so wish (no notifications). 2) We should be able to remove all notifiers and if none exist have a button to add one.
Here's an example. I just edited one of the default alert groups we have at the cluster level after install, "A set of alerts for etcd" when I edit I cannot remove the one (blank) entry for notifiers but why? And if you follow the steps to reproduce you can also run into a case where you must supply one even though this is not required.
Pictured shows that the "minus" button remove the notifier is grayed out.

In order to make it simple and easy to use, alert don't have a switch like enable/disable, when user configure an alert which has a validate notifier the alertmanager get deployed, the status mute/firing is from the alertmanager.  We will update to allow empty notifier, need to notice when none of alerts has notifiers, the alertmanager won't get deployed, and the status wouldn't change.

Version: Master (v2.3) (5/6/19)
I can now delete the single notifier in my alert group without any issues.
When I do this I no longer get notifications as expected but the rule keeps firing in the UI, again as expected. In the logs I see removal of monitoring-operator since I only had one group with notifications. I can add the notifier again and will successfully get alerts (notifications) again (it deploys again).
I also tested another scenario, I set up two groups one with a notifier and the second also with a notifier. I set them up so they are both always firing on a quick interval (30 seconds). I deleted my only notifier on one of the two groups and confirmed in logs we do not remove monitoring-operating in this case (since we still need it for my second group that is getting notifications). This is good.
I made sure that I still do not get notifications for that group I removed the notifier from (sometimes 1 more alert can be cached but after that no more alerts). Last, I enabled the notifier on that group and now get notifications from that group again.

FYI these issues have been tested and closed:
https://github.com/rancher/rancher/issues/19967
https://github.com/rancher/rancher/issues/18616
#18616 might be a duplicate. In any case I think it's safe to close this issue as well based on the testing done unless I am missing anything.


fix(47024):fix type of DateTimeFormat and NumberFormat

Fixes #47024

@sandersn
Thanks for the review!
I've committed the suggestion and renamed the conflict.


Unable to apply for creating a collective (BrusselsTogether)

Hello,
A friend of mine in Brussels is trying to create an open collective under BrusselsTogether and using Safari but she keeps receiving the same error message (see screenshot below).
I just asked her to try again using Chrome.
https://opencollective.com/brusselstogetherasbl/apply

thanks for your help!
Cheers,
JF

It's unrelated to the browser. What is her login (username)?

Je n’arrive pas à la joindre pour l’instant.
Sim adresse email si ça peut aider<EMAIL_ADDRESS>
On 21 Feb 2018, at 16:09, Xavier Damman<EMAIL_ADDRESS>wrote:
It's unrelated to the browser. What is her login (username)?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@jfdh I removed your comment for privacy reasons at it contained personal information

Mmmm that's weird, her user doesn't have a profile, that's why it was failing. Let me fix this.

It should be fixed now. Can she try again?
Also, ask her to keep the long description not too long. That may have been the issue. We need to fix that bug.


Freebsd support?

Hi,
Im trying to create AWS EKS "optimized" Freebsd AMI.
Is this code applicable to Freebsd AMI's? What are requirements (from the source AMI side) for this code? (while i was testing, i needed to "preinstall" on the source AMI: bash,sudo, and for now i gave up)
Thank you

We only specifically support Amazon Linux. While things like the bootstrap script may work with some fiddling on a BSD, I doubt the full AMI template will ever be compatible. If you happen to get things working and want to PR the changes, I'm happy to review them 😄


Create 0929-Unique-Email-Addresses.dart

File(s) Modified: 0929-Unique-Email-Addresses.dart
Language(s) Used: Dart
Submission URL: _https://leetcode.com/submissions/detail/936493664/_

@saeyesss Thanks for your contribution 👍


[protobuf] - x86-windows port cmake files

protobuf version 3.21.4
Is there a reason for x86-windows port not to set protobuf_BUILD_PROTOC_BINARIES, thus not importing protobuf::protoc in protobuf-targets*.cmake files?
x64-windows port does set it and produces correct cmake output imho.

Is there a reason for x86-windows port .....

You are using the x86-windows triplet in a cross-compiling context. Pass --host-triplet=x86-windows or set VCPKG_HOST_TRIPLET in cmake to the correct value. By default vcpkg assumes x64-windows to be the default host triplet.

Thanks for clarification, I confirm setting host triplet as suggested does produce expected output.


I'm connected to the  AP ,but can't set up TCP ? help me !!

Follow is  message of  usart:
setup begin
FW Version:
to station + softap ok
Join AP success
IP:+CIFSR:APIP,"<IP_ADDRESS>"
+CIFSR:APMAC,"5e:cf:7f:12:42:5a"
+CIFSR:STAIP,"<IP_ADDRESS>"
+CIFSR:STAMAC,"5c:cf:7f:12:42:5a"
single ok
setup end
create tcp err
release tcp err

already oK!


clang: error: no such file or directory: '../lib/.libs/libcurl.so'

CC       curl-tool_xattr.o
CC       ../lib/curl-strtoofft.o
CC       ../lib/curl-nonblock.o
CC       ../lib/curl-warnless.o
CC       ../lib/curl-curl_ctype.o
CCLD     curl
clang: error: no such file or directory: '../lib/.libs/libcurl.so'
make[2]: *** [curl] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all-recursive] Error 1
I get the error when I modify the script to build the libcurl.so
NDK use android-ndk-r19c
can anyone help?

the error just happen when I build for armv7a
arm64 and x86 is ok

Hey! Could you please share the modified script?

just delete --disable-shared

you can delete other build phases, just leave armv7a build phase for testing

I reproduced the problem and did not find anything useful. It seems libcurl.so has never been built so it does not exist. Since it is ok on other architectures, I guess it's a problem with NDK arm toolchains.
You could probably try to convert the static lib to shared one... Or if you are also using libcurl for Android, NDK can generate .so file into .apk using static ones and it can work on Android.

yes，I also found that libcurl.so has never been built and also no useful log, may be it's a problem with NDK toolchains. thanks  ,I will try to link .o files into a .so file myself

I also have this problem solved by referring to the answer of this link
https://github.com/curl/curl/issues/4693

Solved:
Download android ndk-r22b or above from here ,  missing toolchains/llvm/prebuilt/darwin-x86_64/bin/ld at lower version of NDK


[Question] &Arc and self-referencing

My main() gets too long, so I defined a struct to include all initialization code:
pub struct Vulkan<'a> {
...
    instance: Arc<Instance>,
    surface: Arc<Surface<winit::Window>>,
    physical: PhysicalDevice<'a>,
    device: Arc<Device>,
...
}

impl<'a> Vulkan<'a> {
    pub fn new() -> Vulkan<'a> {
        let instance = {
             ...
            Instance::new(...).expect("failed to create Vulkan instance")
        };
        ...
        let surface = WindowBuilder::new().build_vk_surface(&events_loop, &instance).unwrap();
        let physical = PhysicalDevice::enumerate(&instance).next().expect("no device (supporting vulkan) available");
        ...
        Vulkan {
            instance: instance,
            surface: surface,
            physical: physical,
            ...
        }
}

The problem is the local instance doesn't live long enough and physical needs a reference to it.
Why does PhysicalDevice store &Arc<Instace> instead of Arc<Instance>?
I am new to Rust and I couldn't find a way to work around this.

In my code I made a similar graphic struct. The new function have one arguments: &vulkan_win::window
the instance is then get with .surface().instance().
Maybe a solution is to have the window stored into your structure or what I have done is requiring reference to window for method that needs it (new, draw and recreate methods)

Thank you all.
The snippet was a big help. I was writing
pub pipeline: Arc<GraphicsPipeline<SingleBufferDefinition<Vertex>,Box<vulkano::descriptor::PipelineLayoutAbstract + std::marker::Sync + std::marker::Send>,Arc<RenderPass<vulkan::Vulkan::new::scope::CustomRenderPassDesc>>>>,

(write Arc<()>, compile, rustc tells me the correct type, write Arc<RenderPass<()>>, repeat)
And now it's as simple as
pub pipeline: Arc<GraphicsPipelineAbstract + Sync + Send>
I could remove PhysicalDevice from the struct. When I need it (e.g. window resize), I just recreate it.
pub fn reset_swapchain(&mut self) -> bool {
        let physical = PhysicalDevice::enumerate(&self.instance).next().unwrap();
        let dimensions = self.surface.capabilities(physical)
            .expect("failed to get surface capabilities")
            .current_extent.unwrap_or([self.width as u32, self.height as u32]);
        ...


[mle] device can't merge for extended period of time

Hello,
During some intensive stress tests, I observed very strange behaviour, where two devices for some reason created two partitions and couldn't merge (i believe someone reported similar issue on Google Groups some time ago). After some more investigation, it seems I found the root cause. I hit this on some previous revision, but it can be reproduced on the master branch as well.
Unexpected behaviour
Two FTD devices seem to ignore Parent Requests or Link Requests and create two partitions, after some time they merge.
Root cause
In case the Router A decides to remove a neighbor Router X due to not responding 4 times for some application data (see MeshForwarder::UpdateNeighborOnSentFrame(), and this removed Router happens to be the Leader, the Router A stops responding on Parent Requests (for all devices) and Link Requests (for Leader) till realize there is no Leader in the network (Network ID timeout).
How to reproduce
Leader
panid 0
ifconfig up
thread start

Router
panid 0
ifconfig up
thread start
state router
ping LEADER_ML-EID

Leader
^Ctrl + C

Router
ping LEADER_ML-EID 10 5

Leader
ifconfig up
thread start

Two partitions will be created and merged after less than 120 seconds. In this time, no MTD devices could attach to the Router as well.
Merge of partition can't happen probably because of this check in HandleParentRequest.
Link Requests are not processed probably because of this check in HandleLinkRequest.
Logs from the Router:
[INFO]-MLE-----: Receive Parent Request (fe80:0:0:0:4c1f:89e8:1ba2:1146)
[WARN]-MLE-----: Failed to process Parent Request: Drop

@jwhui @abtink could you help to resolve this problem or point on a possible solution?

@LuDuda, thank you for raising this issue and narrowing it down!
I agree with your analysis.
The check in HandleParentRequest() follows the Thread Specification:

"A Router or REED MUST NOT send an MLE Parent Response if ... its current routing path cost to the Network Partition Leader is infinite."

However, I think the check in HandleLinkRequest() is too strict. The Thread Specification simply states:

"Neighboring Routers respond only if they have a valid Router ID assignment for the sender."

As a result, the router need only check that the Router ID is valid - not that the neighbor is a valid neighbor as it currently does.
I'll work to propose a fix.

Jonathan, thank you for taking care of it!
Certainly, the resolution of the problem with the MLE Link Request is important, it would not entirely solve all the cases.
When I found the problem, from logs I do see that Router device returned NoBufs error in MeshForwarded layer when receiving the Link Request. This is due to the fact that Host flooded NCP with application packets to the Leader. Packets landed in the EID-to-RLOC resolving queue. This is another problem we may try to address (always have some buffers to receive frames).
Even if above scenario, didn't happen, still Router could simply miss Link Request, which would mean that in my scenario network is not operable on up to 120 seconds.
Thus I'm more concerned about Parent Requests. Do you think this is the limitation of the Thread Specification, which we can't address in the code?

Jonathan, thank you for taking care of it!
Certainly, the resolution of the problem with the MLE Link Request is important, it would not entirely solve all the cases.
When I found the problem, from logs I do see that Router device returned NoBufs error in MeshForwarded layer when receiving the Link Request. This is due to the fact that Host flooded NCP with application packets to the Leader. Packets landed in the EID-to-RLOC resolving queue. This is another problem we may try to address (always have some buffers to receive frames).
Even if above scenario, didn't happen, still Router could simply miss Link Request, which would mean that in my scenario network is not operable for up to 120 seconds.
Thus I'm more concerned about Parent Requests. Do you think this is the limitation of the Thread Specification, which we can't address in the code?

I just submitted #4753 to address the immediate problem of rejecting MLE Link Request messages.

Certainly, the resolution of the problem with the MLE Link Request is important, it would not entirely solve all the cases.
When I found the problem, from logs I do see that Router device returned NoBufs error in MeshForwarded layer when receiving the Link Request. This is due to the fact that Host flooded NCP with application packets to the Leader. Packets landed in the EID-to-RLOC resolving queue. This is another problem we may try to address (always have some buffers to receive frames).

I agree. We already have a way to evict queued messages in MeshForwarder based on message priority (see MeshForwarder::EvictMessage()). However, we need to extend similar functionality to include other queues. I can take a look at this as well.

Even if above scenario, didn't happen, still Router could simply miss Link Request, which would mean that in my scenario network is not operable for up to 120 seconds.
Thus I'm more concerned about Parent Requests. Do you think this is the limitation of the Thread Specification, which we can't address in the code?

The Parent Request constraint is a limitation of the Thread Specification. Maybe we should at least consider increasing the number of attempts on sending the initial Link Request message after reset. Part of the challenge is when a router-capable device should give up and form its own partition.

@LuDuda, just submitted #4776 to support evicting messages from the address resolver queue. Please review.

@jwhui Thank you for your time on helping with the issue! This is so great! I reviewed both PRs.
Regarding your last paragraph about retrying the MLE Link Request, we think about increasing the robustness of multicast MLE control messages in general (i.e. Link Request or Advertisements) by introduce blind retransmissions for them, in scenario where packet losts are more frequent. I know that OT has a feature to retransmit all broadcast messages, but that seems to be to much overhead. We may propose some solution for that soon. Though I'm not sure Thread Certification Harness will like it ;)
Anyway, I believe we can close this issue now as resolved! Thanks!

@jwhui Thank you for your time on helping with the issue! This is so great! I reviewed both PRs.

Thanks again for raising this issue with detailed description and your reviews on the PRs!

Regarding your last paragraph about retrying the MLE Link Request, we think about increasing the robustness of multicast MLE control messages in general (i.e. Link Request or Advertisements) by introduce blind retransmissions for them, in scenario where packet losts are more frequent. I know that OT has a feature to retransmit all broadcast messages, but that seems to be to much overhead. We may propose some solution for that soon. Though I'm not sure Thread Certification Harness will like it ;)

Sounds good!

Anyway, I believe we can close this issue now as resolved! Thanks!

Thanks.


Problem with publishing port

After successfully exposing a port (thanks to the fix for #48 ) I'm now trying to publish that port.
The CreateRequest looks like this (which is wrong):
PortBindings={1337=[PortBinding(HostIp=<IP_ADDRESS>, HostPort=1337, additionalProperties={})]}
I attached the simple code example that generated this request:
Simple.txt

@Khazrak: The only issue that I see (with naked eye) is the key of the map which should be "1337/tcp" instead. However, this is something created by the sample code and not by the client.
Do I miss something?

What it should look like:
"PortBindings": {"container_port/tcp": [{"HostIp": "host_ip", "HostPort": "host_port"}]}
ex
"PortBindings": {"1337/tcp": [{"HostIp": "<IP_ADDRESS>", "HostPort": "1337"}]}
what it looks like now
PortBindings={1337=[PortBinding(HostIp=<IP_ADDRESS>, HostPort=1337, additionalProperties={})]}
All the ports should be in String's here

@Khazrak: They are Strings :-)
The JSON object looks like this:
"PortBindings":{"1337/tcp":[{"HostIp":"<IP_ADDRESS>","HostPort":"1337"}]}

How did u generate the output? Let me create a quick unit test for that.

unit test added.

Ok, now got it to work. Needed to add the "/tcp" manually to the key-part of the Map. Would be nice with a builder for it (the PortBinding has a builder, but not for the Map<String,ArrayList>

Even if we had a builder for the map itself (which is on my radar), that would still wouldn't solve the problem, as we would need to have a custom logic:
if map key does not match <port/protocol> use tcp as a default protocol
This is something I wouldn't want to have inside the builder.
I am wondering though if the client could use some sort of filters to apply modifications on the outgoing JSON before we send it. A filter would be a place were we could host some logic like this.

I think that the cleanest way to prevent this is by using validation.


Include binary sumo via wheel

This should make it much easier to install flow by removing the "compile SUMO" step in the installation instructions.
The wheel can be built in the following way (this only needs to be done once and then the resulting wheel can be distributed for easy installation):

First build sumo
Drop the sumo and sumo-gui binaries into flow/flow/bin/
Run the following in the flow (root) directory:

python setup.py bdist_wheel

The resulting wheel will be in flow/dist/<wheelname>.whl. It can be installed via
pip install <wheelname>.whl

For easier installation and automatically figuring out the distribution, the wheel should be uploaded to pypy.

I also added a little script that builds the wheels for all python versions on macOS and attached them here.
mac_os_wheels.zip

we've added this since (so stale). but thanks @pcmoritz for the suggestion!


Can't connect to Azure SQL database from any user except admin

I have an Azure SQL Database as well as an Azure App Service.
I use an App Registration to connect the user via Active Directory, I get the error Login failed for user '<token-identified principal>'. Actually, I get that error regardless, even if I don't log the user in.
Also, I can connect to the database via SSMS, but if I have another person in the organization connect, that same error shows up after I've added them as a user and given them the db_ddladmin, db_datawriter, and db_datareader roles. We are connecting using Universal - MFA.
There was a brief fleeting moment that I instead got a "The SELECT permission was denied..." error when running my web app, but it was seemingly random and now back to the token error.
Additionally, I've had a DefaultAzureCredential failed to retrieve a token error at one point, but I'm not sure what I did to "fix" it to the token error.
I HAVE gotten the web app to successfully connect. Specifically, if I set the authentication method to Active Directory Interactive and run it locally, it will work. However, I can't use that authentication method when running on the headless server (and it gives me a HRESULT E_FAIL has been returned from a call to a COM component error if I try).
The stack trace in C# is:
    at Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\src\Microsoft\Data\SqlClient\SqlInternalConnection.cs:line 776 at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\TdsParser.cs:line 1835 at Microsoft.Data.SqlClient.TdsParser.TryRun(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj, Boolean& dataReady) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\TdsParser.cs:line 0 at Microsoft.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\TdsParser.cs:line 2355 at Microsoft.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlInternalConnectionTds.cs:line 1451 at Microsoft.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover, Boolean isFirstTransparentAttempt, Boolean disableTnir) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlInternalConnectionTds.cs:line 2320 at Microsoft.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlInternalConnectionTds.cs:line 1920 at Microsoft.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlInternalConnectionTds.cs:line 1727 at Microsoft.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, ServerCertificateValidationCallback serverCallback, ClientCertificateRetrievalCallback clientCallback, DbConnectionPool pool, String accessToken, SqlClientOriginalNetworkAddressInfo originalNetworkAddressInfo, Boolean applyTransientFaultHandling) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlInternalConnectionTds.cs:line 554 at Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlConnectionFactory.cs:line 145 at Microsoft.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\ProviderBase\DbConnectionFactory.cs:line 148 at Microsoft.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\ProviderBase\DbConnectionPool.cs:line 910 at Microsoft.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\ProviderBase\DbConnectionPool.cs:line 2014 at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\ProviderBase\DbConnectionPool.cs:line 1419 at Microsoft.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\ProviderBase\DbConnectionPool.cs:line 1302 at Microsoft.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\ProviderBase\DbConnectionFactory.cs:line 339 at Microsoft.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\ProviderBase\DbConnectionInternal.cs:line 770 at Microsoft.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlConnection.cs:line 2130 at Microsoft.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry, SqlConnectionOverrides overrides) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlConnection.cs:line 2101 at Microsoft.Data.SqlClient.SqlConnection.Open(SqlConnectionOverrides overrides) in D:\a\_work\1\s\src\Microsoft.Data.SqlClient\netfx\src\Microsoft\Data\SqlClient\SqlConnection.cs:line 1658

The connection string is Server=tcp:the-name-of-the-server.database.usgovcloudapi.net,1433;Initial Catalog=TheDatabaseName;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;Authentication=\"Active Directory Default\";
However, I have tried pretty much every Authentication method.
The fact that my coworker can't connect either is indicative of a problem unrelated to the web app itself but rather with the Azure SQL Server. I am the only person able to connect to the database.

@Aashishkebab
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@Aashishkebab
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

Here is the main document: https://learn.microsoft.com/en-us/azure/azure-sql/database/authentication-aad-configure#create-contained-database-users-in-your-database-mapped-to-azure-ad-identities
Here is someone else with the issue: https://learn.microsoft.com/en-us/answers/questions/1001824/login-failed-for-user-(token-identified-principal)
Here is someone who described the issue (but the "fix" didn't work): https://techcommunity.microsoft.com/t5/azure-database-support-blog/aad-auth-error-login-failed-for-user-lt-token-identified/ba-p/1417535
I am going to try something a little different with my coworker tomorrow, but there is still the issue with the App Service not being able to connect regardless. The only way I've gotten it to connect is by running it locally and using Active Directory Interactive authentication, but I can't do that running it on the Azure Cloud headless server (obviously).

Hello,
I was able to get me coworker logged in by having her specify the database name because I guess she can't access the server itself. However, the App Service still won't connect.

Hi @GithubMirek,
Could you please look into this request, thanks.


add models as a optional param in docs

Description & motivation
https://docs.getdbt.com/reference/commands/rpc#run-models-docs
Run models part in the dbt rpc doc does not have models as a parameter, as opposed to RPCRunParameter definition that has models as a field in dbt-rpc codebase.
I believe this change would make dbt-cli user use dbt-rpc more seamless way.
To-do before merge
Pre-release docs
Is this change related to an unreleased version of dbt?

[ ] Yes: please

update the base branch to next
add Changelog components: <Changelog>[New/Changed] in v0.x.0</Changelog>
add links to the "New and changed documentation" section of the latest Migration Guide

[x] No: please ensure the base branch is current
[ ] Unsure: we'll let you know!

Hey @ahnsv, this is a very late response; sorry for that!
models has been deprecated and replaced by select for a consistent experience across all the dbt commands.
We call this out in the body of the post, so I don't think we want to include it in the examples to avoid accidentally encouraging people to use legacy behaviour.


Developer Guide: User cases and User stories updated

Seems like there are some clashes with #89 but I'll manage.

Merged as 9f4865cdecee7d0eb302dbcbfa0d2fff3bc609c8


BIGTOP-3597. Fix build failure of Hadoop 3.2 against ZooKeeper 3.5.

https://issues.apache.org/jira/browse/BIGTOP-3597
Backporting YARN-9783 fixes the issue.
While this is a follow-up of https://github.com/apache/bigtop/pull/827, merging this first should be harmless.

The commit LGTM, and it seems an easy one (if upstream doesn't want a specific test it seems good to remove it!)
I tested a build with debian-10 and I see a zookeeper-related issue though:
docker run --rm  -v `pwd`:/ws --workdir /ws bigtop/slaves:trunk-debian-10 bash -c '. /etc/profile.d/bigtop.sh; ./gradlew allclean hadoop-pkg'
[..]
+ continue 2
# Forcing Zookeeper dependency to be on the packaged jar
ln -sf /usr/lib/zookeeper/zookeeper.jar debian/tmp/usr/lib/hadoop/lib/zookeeper*.jar
ln: target 'debian/tmp/usr/lib/hadoop/lib/zookeeper-jute-3.5.9.jar' is not a directory
make[1]: *** [debian/rules:57: override_dh_auto_install] Error 1
make[1]: Leaving directory '/ws/output/hadoop/hadoop-3.2.2'
make: *** [debian/rules:27: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
debuild: fatal error at line 1182:
dpkg-buildpackage -us -uc -ui -b
 failed

+1 to merge this change (I double checked that it fixes the problem) if you want to proceed.


Loading times are higher than usual

Description:
Claiming funds takes too long to load, and it fails after 240 seconds (4 minutes).
To reproduce:
Pre-condition: Having finished transactions.
1- Go to http://slow-trade.eth/
2- On "My auctions", click on Claim Funds.
3- Claim the received token.
4- Observe.
Expected result:
Metamask asks for confirmation and the claim succeeds after a short load screen.
Actual result:
The claim takes up to 4 minutes to be loaded, and if so, it fails.
Device: PC
OS: Windows 10 - Google chrome v71.0.3578.98
Net: Mainnet.
TX: 0x34babb27ca7d6150a7f8068b5be9dc3e7f9e0e41cf882fb38d34352330990b0c
Capture:
https://drive.google.com/open?id=16TQML8GjuCp4won0msfqOlfc7oYpxGxG
(Video)
http://prntscr.com/m7hnlf
(Screenshot)

Infura node issue, closing


Undefined method name for ActiveJob::QueueAdapters::*

When I tried to include ActiveJob::Retry like below.
class MyJob < ApplicationJob
  include ActiveJob::Retry.new(strategy: :exponential, limit: 25)
...

An exception like below happened.
NoMethodError:
       undefined method `name' for #<ActiveJob::QueueAdapters::SidekiqAdapter:0x007f9c7c00bd68>

ActiveJob::Base.queue_adapter.name doesn't seem to return Class any more. It returns an instance and doesn't have #name.
https://github.com/rails/rails/blob/1f8558fa2707e7707dcfef0aba94de9afcd05d3a/activejob/lib/active_job/queue_adapter.rb

Thanks for the bug report @polysiya ! #40 fixes this, and also makes Travis run tests against Rails 5.0 and 4.2 so this can't happen again.


SDAccel compilation

conv_pipe.cl is heavily depend on altera specific extensions (write_channel_altera, read_channel_altera), so it can't be compiled to use with xilinx FPGAs.

Optimizations for Xilinx's platform is under going. The upcoming new version will be released by the end of this month. We will do our best to provide the best design for both vendors, althought it is really difficult.

@legden Hi please check out the latest update. We have add support for SDAccel.


feat: use vscode.inputbox for credential input

create new library stepper which can contain multiple input / quick pick steps and runs in queue.
closes #121

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Hannuschka seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

What is this CLA ? i have to correct my git config for this project to my gmail account and i think username. Otherwise he dont know me ? So this is why i force pushed again after i do an git comit --amend my new credentials will be taken.