churn doesn't work between chrome and firefox

Simple SOCKS with churn works fine, but not uProxy. Seems to be just Firefox, and it seems to be related to the timing of ICE candidates: the obfuscated connection times out while the probe connection is still generating signalling messages. Weird!
However, this happens even if I specify no STUN servers -- there's clearly more going on here.

The first issue I found is that onicecandidate(null) (indicating the end of gathering) can be greatly delayed in Firefox, firing later than the 5 second timeout for receiving the first ICE candidate.  This causes the obfuscated connection go to the "failed" state.
After introducing a workaround (a 3 second timer to stop waiting for onicecandidate(null)) the connection still doesn't work, even when connecting to an external host (to avoid hairpinning issues).  I'm not sure why it still doesn't work.  This time, the connection fails when our own timeout kills SocksToRtc.

Have been digging into this. Firefox -> Firefox works just fine, as does Chrome -> Chrome.
There's something about the way we mangle candidate lines that is incompatible with how Chrome produces them, and how Firefox consumes them.
So far, I've tried a few things:

have churn-pipe explicitly bind to <IP_ADDRESS>
send only one candidate line to the underlying (obfuscated) peerconnection

Not much success yet, though.

Oh, another thing: the set of STUN servers specified by uProxy takes ~10 seconds to complete gathering on Chrome. This messes up churn, too. We need to dig into this, too.

So, Firefox doesn't like to act as a prflx candidate on <IP_ADDRESS>.
Specifically, if WebRTC A (on Firefox) is communicating with a WebRTC B who reports A's address as <IP_ADDRESS> then Firefox's WebRTC A will not establish a connection with B. Wireshark can be used to identify this issue: you will see STUN messages with XOR-MAPPED-ADDRESS of <IP_ADDRESS> passed back to Firefox's WebRTC port.
With the current code, this happens when a uProxy running under Firefox attempts to connect with uProxy running on Chrome. Chrome respects the <IP_ADDRESS> supplied to churn-pipe but it turns out freedom-for-firefox always binds to *:
https://github.com/freedomjs/freedom-for-firefox/blob/master/providers/core.udpsocket.js#L13
If I change that second argument to init to true, then Simple SOCKS on Firefox no longer works.
The easiest fix is to have churn-pipe bind to a non-<IP_ADDRESS> address; we can just bind to the same address/interface as the obfuscated WebRTC connection. For bonus points (extra security, for those having public IPs) the pipe really should only accept packets from the obfuscated WebRTC connection's address and port.

The easiest fix is to have churn-pipe bind to a non-<IP_ADDRESS> address

Well, as you pointed out, it looks like our implementation of bind in Firefox ignores this address anyway.  Do we have to fix that first?

We may not need any fix on the Firefox side -- AFAICT, calling init with second argument false means "bind to all interfaces":
https://dxr.mozilla.org/mozilla-central/source/netwerk/base/nsUDPSocket.cpp#762

Right.  Is it then guaranteed that packets sent to some interface will see that same interface as the source address?  I'm not aware of any such guarantee.  AFAIK, the implementation could still set the source address to localhost.

A little more info on INADDR_ANY:

http://www.cs.cmu.edu/~srini/15-441/F01.full/www/assignments/P2/htmlsim_split/node18.html
http://stackoverflow.com/questions/16508685/understanding-inaddr-any-for-socket-programming-c

Right, I see no guarantee that your source address for packets won't be <IP_ADDRESS> -- but Wireshark tells me this isn't happening right now. I will file an issue to investigate further.

Let's:

file an issue for freedom-for-firefox to actually bind to the requested address (right now for me it's fine but there's no guarantee that's true everywhere)
bind mirror ports to <IP_ADDRESS> (I just tested this, seems to work nicely)
have mirror ports accept traffic only from WebRTC

OK, filed freedom-for-firefox issue: https://github.com/freedomjs/freedom-for-firefox/issues/67

And the fix to bind to <IP_ADDRESS>:
https://github.com/uProxy/uproxy-lib/pull/196

We now understand that this is a deliberate choice in Firefox, albeit not one that was deliberated at great length.  It's possible that we could get a change to Firefox's behavior here, but given that Firefox 38 will be the Extended Support Release for two years, I think it behooves us to focus on making our code work in that version.
For context see the chat log on this topic.

I think this is the major outstanding TODO:
https://github.com/uProxy/uproxy/issues/1631


Remove gradle output completely

Thanks @antkorwin, I just picked it up in my project... if you could remove Note: v0.3 String Interpolation Java Plugin, by Anatoliy Korovin as well :)
Originally posted by @PawelLipski in https://github.com/antkorwin/better-strings/issues/3#issuecomment-619635649
As it has been pointed out elsewhere it would be better to remove any text completely so as to not pollute Gradle output. Esp. in a project with more subprojects this is getting pretty... redundant

@antkorwin any chance to release this tiny improvement? ;)

Done on #14

Awesome!

@mkondratek you can close this issue now


silent footsteps for ninja

About the PR
makes ninja footsteps completely silent by making their shoes produce no audible footstep sounds.
doesn't make anything else silent if you're wondering.
Why / Balance
ninjas having normal footstep sounds that you can easily hear makes them a dead giveaway if you hear them a single time in maints, their abnormally fast footsteps make it super obvious there's a ninja on station. unless someone's been giving away meth, it's 100% a ninja you're hearing.
should hopefully open up more opportunities for cool ninja stealth gameplay, making it much harder to be noticed when you're in a dark area. the not completely invisible cloaking makes them fairly easy to spot them in the open, so this still encourages ninjas to use the darkness to their advantage, effectively disappearing if they run off into the dark.
this was kind of made in response to https://github.com/space-wizards/space-station-14/pull/33244, incentivizing ninjas to actually be stealthy and not just rely on their instant meme stun ability.
Technical details
just gives ninja shoes a footstep sound collection with volume -100, if this is too shitty of a way to do this or has unforeseen consequences let me know :) with null attached so it draws from no soundpool (silent)
(disclaimer: i am not very smart)
Media
nothing to see or hear here
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Changelog

:cl:

tweak: Space Ninjas now have silent footsteps.

I mean, makes sense? I think that the fear factor of hearing a ninja prouncing around, but not knowing where it is, is something cool to have. Outright removing their footsteps and enabling them to silently leave and enter, even while uncloaked, feels a bit weird.
IMO I'd like to see the footsteps not making noise as a component of their cloak, but that might be out of scope.
As a stop-gap you could see about making their footsteps be really quiet instead of loud. That way you'd have to be very close to hear them, instead of being able to hear them audibly through a wall running around in maints.
Also, the -100 volume change is seen as a bit hacky, you might want to find a more elegant solution to this problem.

Also, the -100 volume change is seen as a bit hacky, you might want to find a more elegant solution to this problem.

yeah i agree it's a crappy way to do it but idk how else to do it, i am open to suggestions

make it nullable and if its null dont play any sound at all
i agree that it should only be silent when cloaked though

I feel like adding more less-than-lethal options like the ninja net would be a better choice but for now this is nice 👍

I feel like adding more less-than-lethal options like the ninja net would be a better choice but for now this is nice 👍

Ninja has plenty of less-than-lethal options, but most choose to murderbone and unnecessary kill.
The shock gloves are a viable method to discourage an opponent from fighting and the throwing stars give Ninja a viable method for discouraging/stunning at range.
People just don't know how to be a nuisance other than shock, kill, and leave for dead or RR.

People just don't know how to be a nuisance other than shock, kill, and leave for dead or RR.

we need to teach people the art of trolljitzu (steal the secvend and teleport into space with it) :trollface:

net that sends you to the dojo was even removed from tg i think

good idea in theory
in practice just makes ninja more powerful at murderboning

good idea in theory
in practice just makes ninja more powerful at murderboning

imo asshole ninjas are gonna murderbone either way, this makes it easier for actually stealthy ninjas to get around.

Change it to use null collection instead of using some sounds, but without volume.
 - type: FootstepModifier
    footstepSoundCollection:
      collection: null

@muburu Change it to use null collection instead of using some sounds, but without volume. Works fine, tested.
 - type: FootstepModifier
    footstepSoundCollection:
      collection: null

thanks for the help this is a much cleaner way to do it

net that sends you to the dojo was even removed from tg i think

This has left me in shambles for years, but yeah I think an end round honour system might allow people to publicly bully people for murderboning as a ninja.

sorry for the late response but i don't know a single thing about c# or how to go about doing the requested change
bit out of my league here

I kinda made the sound nullable, but I haven't had a chance to test it in game yet

I fixed some stuff.
@TheShuEd Could you check it?

Allright, good to merge then!


Can the plugin outflag debian/.debhelper (etc.) as paths that should not be indexed?

Definitely doable but I forgot the class name for it.
The main problem is from where do we trigger this.  I have not figured out how other plugins apply their exclude logic, but ideally we would just a similar approach.


fix(PS4): Fix serverCertificate defaulted to null

For some reason on PS4, the check val.buffer.constructor == ArrayBuffer returns false when it should be true which causes the object cloning to return null instead of the array buffer.
Modifying this to val.buffer instanceof ArrayBuffer now returns true which fixes the issue. This should work across devices.
Original author: @nick-michael

Thank you for your contribution!


Auto size text does not auto-size text in the Flutter stable  v1.2.1

I was on Flutter Beta 1.0 for the longest time in one of my machines.
Today I upgraded to Flutter Stable v1.2.1, and seems that this plugin has lost its functionality.
Text is not being auto-sized properly, even with maxLines and minFontSize specified.
plugin version: 1.1.1
code snippet:
        Card(
          margin: EdgeInsets.only(top: 12.0),
          elevation: 4.0,
          child: Padding(
            padding: const EdgeInsets.all(8.0),
            child: AutoSizeText(
              "this is a very very very very very very very very very very long string",
              maxLines: 1,
              minFontSize: 2.0,
            ),
          ),
        ),

flutter doctor output:
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel stable, v1.2.1, on Microsoft Windows [Version 10.0.17134.648],
    locale en-US)
[√] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[√] Android Studio (version 3.3)
[√] IntelliJ IDEA Community Edition (version 2018.1)
[√] Connected device (1 available)

Please try wrapping your Card with a SizedBox.

I've tried wrapping with a SizedBox, and then varying its width.
The text does resize with different width values, to a certain extent, but it still doesn't try to show the entire length of the string. It appears as if it's applying overflow truncation before resizing.
here's my modified code (with SizedBox) and a screenshot of what I'm seeing on my screen. I also varied the text scaling factor on the device to test this.
As seen in the screenshot, notice that the text is faded on the bottom. Does this mean that overflow has been applied to the text?
  @override
  Widget build(BuildContext context) {
    var stackContents = [
        SizedBox(
          width: 240,
          child: Card(
            margin: EdgeInsets.only(top: 12.0),
            elevation: 4.0,
            child: Padding(
              padding: const EdgeInsets.all(8.0),
              child: AutoSizeText(
                "hello kind sir, thank you, good bye",
//                "${_selectedLocation.latitude}, ${_selectedLocation.longitude}",
                maxLines: 1,
                maxFontSize: 24.0,
                overflow: TextOverflow.fade,
                minFontSize: 2.0,
              ),
            ),
          ),
        ),
    ];
    return Scaffold(
      appBar: AppBar(
        title: Text("Select Location"),
      ),
      body: Stack(
        children: stackContents,
      ),
    );

screenshot:

Thanks for the information. I'll investigate this problem.

I sadly cannot reproduce your problem. I tried it with multiple flutter versions including v1.2.1  and v1.4.2-pre.3. The text always resizes and fits the card.
I used this code from your sample:
class App extends StatefulWidget {
  _AppState createState() => _AppState();
}

class _AppState extends State<App> {

  @override
  Widget build(BuildContext context) {
    var stackContents = [
      SizedBox(
        width: 180,
        child: Card(
          margin: EdgeInsets.only(top: 12.0),
          elevation: 4.0,
          child: Padding(
            padding: const EdgeInsets.all(8.0),
            child: AutoSizeText(
              "hello kind sir, thank you, good bye",
              maxLines: 1,
              maxFontSize: 24.0,
              overflow: TextOverflow.fade,
              minFontSize: 2.0,
            ),
          ),
        ),
      ),
    ];

    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("Select Location"),
        ),
        body: Stack(
          children: stackContents,
        ),
      ),
    );
  }
}

Maybe try it with an empty project. If you still have problem it would be nice if you could share a sample project so I can reproduce the problem.

thanks for looking into this!
Sadly, I'm still experiencing this problem, even in a relatively barebones project.
I've applied AutoSizeText to Flutter's getting_started project here:
https://github.com/jeffersonatsafe/flutterAutoSizeTextIssue
this is a screenshot of the project on a Galaxy S9, with font size (on the device) 4th from the left.
The three lines share the same minFontSize, only differing in SizedBox width.
Notice that the second line, although has more width than the first line, truncates more words.

update:
I think I might be wrong in assuming that the Flutter update caused this.
I rolled back to 1.0.0, and the issue is still there.
I think increasing the font size in the device itself is causing this problem, and I can't seem to recall if I tested with device font sizes in older flutter builds. This might not be a regression issue after all.
On Android devices, changing the device's display size (not font size) seem to work well. It's when I was changing the device's font size that this issue start to happen.
The issue also occurs on iOS device when using Accesibility > Larger Text settings.

ok I've done more investigation, and I see that flutter update did not cause this.
Something caused this between auto_size_text v1.0.0 and auto_size_text_v1.1.1
I rolled back to 1.0.0 and the problem went away.

Sorry for the late response, I'm very busy currently. It may take a few more days to fix this...

I found the problem and fixed it. Thanks for your help. The new version (1.1.2) should be available soon. Please reopen the issue if it still doesn't work for you.

it is not work with me inside Expanded

It's pretty strange, I pass a variable to AutoSizeText widget and it not work, if i pass it a string it work!
Don't work
...
Container(
                      color: Colors.red,
                      height: 40,
                      child: AutoSizeText(
                        link,
                        maxLines: 1,
                        textAlign: TextAlign.center,
                        style: TextStyle(
                            fontSize: 30, fontWeight: FontWeight.bold),
                      ),
                    ),
...

Work:
...
Container(
                      color: Colors.red,
                      height: 40,
                      child: AutoSizeText(
                        'https://example.com/example',
                        maxLines: 1,
                        textAlign: TextAlign.center,
                        style: TextStyle(
                            fontSize: 30, fontWeight: FontWeight.bold),
                      ),
                    ),
...

PS: The Container is into a Column

My auto_size_text doesn't work too.

     SizedBox(
            height: SizeConfig.blockSizeVertical * 20,
            child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: [
                  AutoSizeText(
                    "buy-premium-verion_subtitle_1".tr(),
                    style: ThemeText.roboto_medium_18_white,
                    minFontSize: 0,
                  ),
                  AutoSizeText(
                    "buy-premium-verion_subtitle_1_1".tr(),
                    style: ThemeText.roboto_medium_26_brightgreen,
                    minFontSize: 0,
                  ),
                  AutoSizeText(
                    "buy-premium-verion_subtitle_2".tr(),
                    style: ThemeText.roboto_medium_18_white,
                    minFontSize: 0,
                  ),
                  AutoSizeText(
                    "buy-premium-verion_subtitle_2_1".tr(),
                    style: ThemeText.roboto_medium_26_brightgreen,
                    minFontSize: 0,
                  )
                ]),
            )

Am I doing something wrong?
This SizedBox is inside of a Column and a Container with Padding

It's pretty strange, I pass a variable to AutoSizeText widget and it not work, if i pass it a string it work!
Don't work
...
Container(
                      color: Colors.red,
                      height: 40,
                      child: AutoSizeText(
                        link,
                        maxLines: 1,
                        textAlign: TextAlign.center,
                        style: TextStyle(
                            fontSize: 30, fontWeight: FontWeight.bold),
                      ),
                    ),
...

Work:
...
Container(
                      color: Colors.red,
                      height: 40,
                      child: AutoSizeText(
                        'https://example.com/example',
                        maxLines: 1,
                        textAlign: TextAlign.center,
                        style: TextStyle(
                            fontSize: 30, fontWeight: FontWeight.bold),
                      ),
                    ),
...

PS: The Container is into a Column
Flutter Channel stable, v1.12.13+hotfix.8

You have fix that?
I have the same problem.


[Report enhancement] Change the awful purple background on title

@AxelCourt and @JimEtevenard do not like the purple background on report.
I create this issue to let them propose pull requests.

HTML report definitely needs aesthetic improvement. One of the candidates we have seen is Oxygen's former style (#92).


implementation of DeRec cryptography interface

This PR addresses the following:

uses elliptic curve cryptography instead of RSA. Signing uses ECDSA and encryption uses ECIES, both with p256 curve.
implements a sign-then-encrypt functionality, which implements a sign_then_encrypt function and a decrypt_then_verify function.
implements a JNI interface for all cryptography primitives.

 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.

Approved


Packages are not compatible with netcoreapp2.0

Hello,
Today this error ocurred again. Visual Studio does not recognize most of the packages instaled in Microsoft.AspNetCore.All but I'm also getting problems with:

Microsoft.Extensions.Logging.Debug
Microsoft.VisualStudio.Web.CodeGenerators.Mvc
Microsoft.EntityFrameworkCore.Tools.DotNet

The error message is like this for every package:

The Microsoft.VisualStudio.Web.CodeGenerators.Mvc 2.0.0 package is not compatible with netcoreapp2.0 (.NETCoreApp, Version = v2.0). The Microsoft.VisualStudio.Web.CodeGenerators.Mvc 2.0.0 package supports: netstandard2.0 (.NETStandard, Version = v2.0)

I got pass this issue before doing the following:

Updating VS to version 15.3.1
Updating SDK to version 2.0

Now, I have updated NuGet.Commandline to 4.3 but the problem persists.
I'm also getting this alert:

There is no way to resolve the conflict between "System.Collections.NonGeneric, Version = <IP_ADDRESS>, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" and "System.Collections.NonGeneric, Version = <IP_ADDRESS>, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a ". "System.Collections.NonGeneric, Version = <IP_ADDRESS>, Culture = neutral, PublicKeyToken = b03f5f7f11d50a3a" will be chosen arbitrarily. Application D: \ Visual Studio \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets 1964

Any other update I shall look into? Any help is welcome. Thanks

Solved by updating Visual Studio to version 15.3.3

Resolved the issue by updating nuget.commandline from 4.1.0 to 4.3.0.

Solved by updating from NuGet 4.0 to NuGet 4.6


bump android target version to 27

Motivation
bump target version to 27
Test Plan
pass all current ci.
Related PRs
none
Release Notes
[GENERAL] [ANDROID] [FEATURE] - bump android target version to 27

Please edit buckconfig and ReactAndroid build.gradle to target 27 👍

buckconfig is updated, is there am I missing ? ReactAndroid build.gradle don't need it, you can see https://github.com/facebook/react-native/pull/20846.

@gengjiawen oops

@dulmandakh Fixed the wrong rebase, and bump target sdk version to 27.

@facebook-github-bot  shipit

@facebook-github-bot shipit


perf(demo): change image source to baidu cdn

Codecov Report

Merging #93 into dev will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##              dev      #93   +/-   ##
=======================================
  Coverage   90.69%   90.69%
=======================================
  Files           3        3
  Lines          43       43
  Branches        3        9    +6
=======================================
  Hits           39       39
  Misses          4        4

Continue to review full report at Codecov.

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


Updated all dependencies

Issue Number
Link to issue this PR addresses.  If no issue exists, please provide reasoning for PR.
Overview of PR
I've updated all dependencies to latest versions available. So React 18, ditched create-react-context nom package and so on.
Only thing remaining  is testing support: enzyme is not up to date anymore.....
Use as you please.
Don't forget to update the CHANGELOG.md file with any changes that are in this PR

lets fork this project and merge all ?

@Remco4EF @remcoblumink @samuk190 If you would review and test this PR. I would be happy to merge and release these changes.

Big notice!
We completely moved it to using typescript and using vite as bundler.
As a consequence, most tests are broken atm. If someone can give us a pointer on how to get the tests up and running that would be awesome. Since Enzyme is 5 years old and not react 18 supported.
(though we just use this code in production for our use case)

I am planing to release this soon but if more people are willing to test the new changes on their apps that would be appriciated.

@Ilaiwi hey there, I'm doing a rewrite of my app with use of next.js 15 and react 19, however due to old context library I'm not able to use this library. Would you be able to share a new version as a beta possibly?

released as 0.30.0-beta.1
I will release this to latest as soon as more people test the new updates

I'll test as soon as I can. God's work!

@Ilaiwi I have following error while trying to render the basic example:
TypeError: Cannot read properties of undefined (reading 'ReactCurrentDispatcher'), maybe it's due to react version being >= 18 and I have 19 in my project?


Create added some aimation

added some animation to your website. when someone loads your website or refresh pages that will load animation
Pull Request
Proposed Changes

Give a summary of the changes made in the repository.
List the dependencies used.
Also mention the issue number [Fixes #(issue)].

Types of changes made

[ ] Fixed Bug
[ ] Added new Features
[ ] Edited Documentations
[ ] Enhanced the working of code
[ ] Additional Changes
Mention any Additional Change here

Additional Info
Provide additional information(if any) you want to convey.
Viability of Code
Describe the tests that you ran to verify the changes made. Mention the tests for easy reproducibility.

Test 1
Test 2

Mention(if any) specific Test Configurations used:

Filmware version:
Hardware:
Toolchain:
SDK:

Screenshots or GIFs (if any)
Attach screenshots of the changes made for easy reference.

Original
Updated

Attach_Original_Screenshot
Attach_Updated_Screenshot

Checklist:

[ ] My code follows the Mentioned Guidelines for the project
[x] I have self-reviewed the changes made
[ ] I have made the changes easy to understand by adding comments
[x] My changes does not generate new warnings/errors
[ ] I have attached relevant screenshots to display the changes made
[ ] I have made the required changes to the documentations

i have added some animation to your website on index page. when you load the website or refresh page animation will load


Rotating the screen while an app is fullscreen doesn't redraw the fullscreened application

Rotating from vertical to horizontal while having a youtube video opened fullscreen

Rotating from horizontal to vertical while having a terminal app fullscreen
The applications keep their last orientation's dimensions and don't adapt to the new one (they're 1920x1080 on a vertical 1080x1920, basically)

#1091


Allow PropertyTester to use protected methods

The current version of the PropertyTester can only use Getters and Setters when they are public. Nevertheless when generating tests the PropertyTester is used, even if the accessors of the Property are restricted.
I modified my PropertyTester to use Getters and Setters as long as they are accessible through means like inheritance, meaning as long as they are not private.
Current Version:
MethodInfo? getMethod = propertyInfo.GetGetMethod();
MethodInfo? setMethod = propertyInfo.GetSetMethod();

if (getMethod == null || setMethod == null)
    throw new ArgumentException("The lambda expression 'property' should point to a valid property that contains a getter and setter");

My Version:
MethodInfo? getMethod = propertyInfo.GetMethod;
MethodInfo? setMethod = propertyInfo.SetMethod;

if (getMethod == null || setMethod == null)
    throw new ArgumentException("The lambda expression 'property' should point to a valid property that contains a getter and setter");

if (getMethod.IsPrivate || setMethod.IsPrivate)
    throw new ArgumentException("Usage of private Setters or Getters is not allowed");

I'll get on that - unless you want to push a change yourself? There are three files that need changing under https://github.com/mattwhitfield/Unitverse/tree/master/src/Unitverse.Core/Resources

This is merged now
Thanks for the contribution ❤


Generate an updated ~/.ssh/config when using "advanced" regex in hostnames

Context
Today, assh will generate an Host entry in the ~/.ssh/config for:

hosts without regex: vm-5
hosts with simple regex (match): vm-*
but not for hosts with advanced regex: vm-[0-9]

So basically, assh knows how to proxy to an host, but all options except Host won't be written to ~/.ssh/config.
So there will be absolutely no entry in the ~/.ssh/config file if we call ssh vm-5, and all options except Host will be lost; Port will fallback to 22, IdentifyFile will use the global value, etc.

2 dummy solutions would be:

Find a way to generate the wildcard equivalent regex in the ~/.ssh/config file, so if you put vm-[0-9], I will generate vm-*: this will work for basic regex but it will fails as soon as you have advanced regex, i.e an entry with vm-[0-4], and another entry with vm-[5-9].
Analyze the ssh command-line parameters, so I can detect if you put a -p 22 manually or if the %p=22 is the default value. This solution will works for Port, but it won't let you use non-network related ssh option, as IdentityFile for instance.

One more promising solution is to a wrapper around ssh that will rebuild the ~/.ssh/config file if it detects an advanced regex in the current host.
The wrapper will just check if ~/.ssh/config needs to be rebuild before running the real ssh binary.
This wrapper won't be configurable everywhere outside of the command-line, for example a GUI program may use an hardcoded /usr/bin/ssh.
For this specific case, the solution is to call the ssh 2 times; One time to generate the ~/.ssh/config file and fail, and a second time to connect using the updated file.
The good point, is that this wrapper will stay optional and will only improve the use of assh in advanced cases.

Todo:

[ ] create a wrapper script for ssh, scp, ...
[ ] document how to install the wrapper + the limitation when using applications with hardcoded path to /usr/bin/ssh
[ ] automatically install the wrapper when installing assh using Homebrew
[ ] parse ~/.ssh/known-hosts and generate ~/.ssh/config entries for all the known hosts
[ ] assh proxy needs to continue to build the ~/.ssh/config file when using assh without the wrapper and needs to bypass this step when using the wrapper (the wrapper will do this step before calling ssh)
[ ] add a debug message at the beginning of assh telling if ssh is wrapped or not (for debugging)

I'm eager to have this wrapper finished, it will ease a lot the creation of new unique features :beers: !
Some ideas:

support raw password input (using pexpect)

use alternate ssh binary depending on the assh.yml configuration:

SSHProgram: docker run -it --rm ssh
SSHProgram: nice -10 ssh
SSHProgram: /path/to/alternative/ssh-binary
SSHProgram: chroot /chrooted-ssh /bin/ssh
SSHProgram: mosh     # probably a bad idea

configure custom environment variables

equivalent of https://github.com/icefox/git-achievements for ssh

dynamically create a new ssh RSA key per new host

support a default command to run
my-server:
  DefaultCommand: tmux a -t work

$ ssh my-server
# the wrapper will call "/usr/bin/ssh my-server -- tmux a -t work

$ ssh my-server bash
# the wrapper will call "/usr/bin/ssh my-server -- bash

automatically reconnect

automatically call ssh-copy-id on new hosts

support assh options directly in the command line

sshrc-like features

Related with #121, #39, #41, #127

I'm not too fond of the wrapper idea for a few reasons

I don't use brew/OS X
Needing to wrap all basics commands that use .ssh/config (scp, rsync, etc.)

I have tried (and seen others) make shell functions to replace ssh but that can get ugly depending on complexity, version of bash, version of ssh, etc. IMO a function is more maintainable than a separate external script that needs to be loaded in $PATH. It also gets hard when people use different shells and if they keep their own .dotfiles repo for configuration.
Also not sure about parsing ~/.ssh/known-hosts. In some situations that file can be very large. I often have hundreds of hosts in mine. Would you also parse /etc/ssh/ssh_known_hosts? In that case the file on my system changes regularly (every ~30 minutes) via config management and has many thousands of entries.
Why not have assh expand the advanced regex into .ssh/config so they are individual entries. Maybe that would expand to a lot (depending on the regex) for for some cases (eg. host[0-9]) it wouldn't be very hard.
As a side note, why is using mosh as a default command a bad idea? I'm assuming because not all flags are compatible with ssh but thought I'd ask. I was going to open an issue for allowing mosh to be used as default instead of ssh depending on what network I'm on. eg. connected via wifi or 3g use mosh instead of ssh but that's probably best for a shell function.
Default commands are probably best to be left to the shell post login. There is too much logic that may need to be considered.

Thank you @rothgar for your feedback :gift: !

I'm not too fond of the wrapper idea for a few reasons

I don't use brew/OS X
Needing to wrap all basics commands that use .ssh/config (scp, rsync, etc.)
I have tried (and seen others) make shell functions to replace ssh but that can get ugly depending on complexity, version of bash, version of ssh, etc. IMO a function is more maintainable than a separate external script that needs to be loaded in $PATH. It also gets hard when people use different shells and if they keep their own .dotfiles repo for configuration.

:+1: for also providing just a *sh function or an alias that people can keep in their own .dotfiles

Also not sure about parsing ~/.ssh/known-hosts. In some situations that file can be very large. I often have hundreds of hosts in mine. Would you also parse /etc/ssh/ssh_known_hosts? In that case the file on my system changes regularly (every ~30 minutes) via config management and has many thousands of entries.

Yes, as an alternative, I can build my own assh-known-hosts file without all the ssh key fingerprint stuff, just a list of hosts that already have been directly called using assh.
This file is already an optimization, if I don't use any caching system, the wrapper will always reload ssh on new hosts.
So we need to find the best approach to get at least .ssh/config regeneration as possible.

Why not have assh expand the advanced regex into .ssh/config so they are individual entries. Maybe that would expand to a lot (depending on the regex) for for some cases (eg. host[0-9]) it wouldn't be very hard.

I like the idea, we need to find a regex expander to give some tries and estimate how big would become a .ssh/config file with the different cases.
If we choose this method, we will probably need to add a new ⚠ message when the expander detects a too huge regex, so the user can adapt its regex to something smaller.

As a side note, why is using mosh as a default command a bad idea? I'm assuming because not all flags are compatible with ssh but thought I'd ask. I was going to open an issue for allowing mosh to be used as default instead of ssh depending on what network I'm on. eg. connected via wifi or 3g use mosh instead of ssh but that's probably best for a shell function.

I just opened #129, to discuss about this subject

Default commands are probably best to be left to the shell post login. There is too much logic that may need to be considered.

I think this feature makes sense, especially as I'm using Docker on a daily basis, now I love to have "images" that have a default behavior which can super-easily be bypass by specifying a command instead of not providing one.
:+1: to document this well in the README.md !

I use assh, which adds ProxyCommand to every connection, and I got it fully working with the following steps:

Create /usr/local/bin/mosh_fallback

#!/usr/bin/env bash
mosh --experimental-remote-ip=remote "$@"

status=$?

if [ $status -eq 5 ] || [ $status -eq 127 ] || [ $status -eq 10 ]; then
        ssh "$@"
fi

Just alias ssh with alias ssh "/usr/local/bin/mosh_fallback"

After that, it worked flawlessly on all my use cases, automatically falling back to ssh when mosh isn't installed on the remote.


Switch to JDK 17

The newer version of some of our major dependencies require Java 17 either for runtime (e.g., Spring) or for dev/compile (e.g., HAPI). But we are still using Java 11 which needs to be updated, both in our dev env and in our docker files (e.g., here).

This is now done as a side effect of PR #635.


Create To-James-from-Ian.txt

I had to rename your file to follow this open source project's naming standards.


Revert "Pin dependencies (#599)"

Looks like the branch protection was turned off so renovate automerged a broken update PR in #599
This reverts commit 0e384fd6e3d096f653ae2c0404fb2f6d0ff90992.
Fixes: https://github.com/pulumi/pulumi-command/issues/607

Please also turn on the requisite branch protections!
I did!


P0829 and freestanding implementations

P0829 proposes to update the requirements for freestanding implmentations of the C++ standard, with notably a plea to make most of the header <algorithm> available to those implementations. Since cpp-sort mostly provides algorithms, it would be interesting to make most of it available for freestanding implementations too once the committee agrees in what should be available. We could introduce a simple CPPSORT_FREESTANDING switch to require that cpp-sort builds with freestanding implementations.
A few things wouldn't be available anyway:

A few algorithms such a merge_sort allocate dynamic memory: those should either be excluded or be made to fallback to non-allocating versions, which might still be desirable. It would be a good reason to replace the deprecated std::get_temporary_buffer by a safer custom solution that would simply return nullptr in freestanding mode.
Algorithms specifically dealing with floating point should be excluded because freestanding implementations wouldn't be required to support floating point types.
The evolutions proposed in #22 wouldn't be available since they would rely on threads and standard execution policies.
A few math functions might have to be replaced by hand since most of them can set the thread_local variable std::errno.

On the other hand, we could introduce more compile time switches through macros to have more granularity: no floating point numbers, no memory allocation, no threads, etc...
I will keep track of the progress of P0829 and probably start working when the committee starts to get close to a new specification for freestanding implementations.

A simple solution that could be in scope for the library one is a library solution: adding a page to the documentation listing the features that are potentially missing in freestanding implementations, and which components of the library would be affected. Such a list could also easily be used as a TODO list for future improvements.


[Concurrency] Computed properties can't be async, don't even try

The fix-it was being a little too eager to label function decls async.
Computed properties, or AccessorDecls are function declarations, but
they don't have parentheses, so trying to add async to them causes
crashing. Furthermore, they can't be async at all, so suggesting that we
make them async is just wrong. We shouldn't give folks a glimmer of hope
where there is none to be had.
Resolves: rdar://75342132

@swift-ci please smoke test

@swift-ci please smoke test

@swift-ci please smoke test Windows

@swift-ci please smoke test macOS


HAWQ-537. Accept filenames with spaces

Without this fix, the make distdir target fails because files such as ./src/pl/pljava/.externalToolBuilders/Header\ generation.launch have spaces in their names

@radarwave I think this is still a valid PR; can you comment and close?

@cjcjameson Most looks good to me.
Please use this template file 'GNUMakefile.in' to generate 'GNUMakefile' and test the run result. They should be check-in together.  Thanks.

@cjcjameson Apologize to the review mistake, I must confused with the old way HAWQ used to be. In the past, HAWQ requires check-in Makefile beside Makefile.in when we put 'configure' inside Makefile.
Now we do not need to check-in GNUMakefile.
@xunzhang @paul-guo- Please help to review too, one more +1 I can merge this commit it.
Thanks.

+1

LGTM


[HEVCe]Need to increase performance

Need to use non blocking syncronization

The workaround has been reverted: https://github.com/Intel-Media-SDK/MediaSDK/pull/706


relabel 'Encrypt Wallet' to 'Startup PIN/Password'

Fixes a crash that occurs when trying to use startup pin at app startup.
Closes #258 & #285

says settting PIN when its actually password


configure: error: could not determine libv8 version

Hi,
An attempt to compile v8js on Ubuntu14.10 results in:
checking for gawk... gawk
checking for V8 Javascript Engine... yes, shared
checking for V8 files in default path... found in /usr
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking how to run the C++ preprocessor... g++ -E
checking for C standard version... c++11
checking for V8 version... NONE
configure: error: could not determine libv8 version

What could be wrong there?
Thanks!

./conftest: symbol lookup error: /usr/lib/libv8.so: undefined symbol: _ZTVN6icu_5413UnicodeStringE

this did the trick:
sudo cp out/native/lib.target/lib*.so /usr/lib/x86_64-linux-gnu/
v8js now compiles fine.

Well, after all that's what is already written in README.Linux.md file; despite that you've copied to /usr/lib/x86_64-linux-gnu/
I'd assume that you already had libicu installed by Ubuntu's package manager and didn't overwrite it with the version from v8 project (which makes sense); but as libv8 is compiled against its own libicu it doesn't work.  Hence the recommendation to place both libv8 as well as its dependencies into a folder off the normal library load paths.
I'm closing this issue now; please re-open if you think current README file doesn't make that clear enough
cheers
~stesie

Ran into this issue myself,
sudo cp out/native/lib.target/lib*.so /usr/lib/x86_64-linux-gnu/ solved my issue, thanks @temuri416 for pointing this out!
I was following all the instructions in https://github.com/preillyme/v8js/blob/master/README.Linux.md but it did not click that x86_64-linux-gnu was also a factor - maybe a quick side note should be added in?

Last time I used this to compile:
https://hub.docker.com/r/stesie/v8js/~/dockerfile/

Proper distro (ie. not Ubuntu) people might find this useful: https://github.com/rosmo/v8-rpm

@rosmo feel free to add a link to README.Linux.md or so, via a pull request.

in my case (debian stretch x64) - cp out.gn/x64.release/lib*.so /usr/lib/x86_64-linux-gnu/****


fix subgrid coordinate system for boundary grids

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (06a2f11) 73.01% compared to head (c3d6352) 72.74%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #38      +/-   ##
==========================================
- Coverage   73.01%   72.74%   -0.28%
==========================================
  Files          27       27
  Lines        4239     4241       +2
==========================================
- Hits         3095     3085      -10
- Misses       1144     1156      +12

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Challenge http://www.freecodecamp.com/challenges/waypoint-use-clockwise-notation-to-specify-the-margin-of-an-element has an issue

According to this waypoint's requirements, the green-box class should give the top of elements 20px of margin. However, in practice it marks that value as incorrect, accepting a value of 40px instead.

Thanks, closing this as a duplicate of #665


Finish projects revamping

This issue tracks progress of all issues needed to be solved to revamp our Projects support for Spyder 3.0

For those of you who are not seeing anything here, you need to use the latest Zenhub browser extension (i.e. the one that support Epics).


Changed to Azure CLI commands.

The Below is commands and text that in my opinion needs to be changed. Almost all attributes has the $ placed in the wrong place.

Create a new Azure AD application and get its appId value. This value is used in later steps as serverApplicationId.
$CLUSTER_NAME="<name-of-arc-connected-cluster>"
$TENANT_ID="<tenant>"
$SERVER_UNIQUE_SUFFIX="<identifier_suffix>"
$SERVER_APP_ID=(az ad app create --display-name "${CLUSTER_NAME}Server" --identifier-uris "api://${TENANT_ID}/${SERVER_UNIQUE_SUFFIX}" --query appId -o tsv)
echo $SERVER_APP_ID

Update the application's group membership claims. Run the commands in the same directory as the oauth2-permissions.json file. RBAC for Azure Arc-enabled Kubernetes requires signInAudience to be set to AzureADMyOrg:
az ad app update --id "${SERVER_APP_ID}" --set groupMembershipClaims=All
az ad app update --id ${SERVER_APP_ID} --set<EMAIL_ADDRESS>az ad app update --id ${SERVER_APP_ID} --set  signInAudience=AzureADMyOrg
$SERVER_OBJECT_ID=(az ad app show --id "${SERVER_APP_ID}" --query "id" -o tsv)
az rest --method PATCH --headers "Content-Type=application/json" --uri https://graph.microsoft.com/v1.0/applications/${SERVER_OBJECT_ID}/ --body '{"api":{"requestedAccessTokenVersion": 1}}'

Create a service principal and get its password field value. This value is required later as serverApplicationSecret when you're enabling this feature on the cluster. This secret is valid for one year by default and will need to be rotated after that. To set a custom expiration duration, use az ad sp credential reset:
az ad sp create --id "${SERVER_APP_ID}"
$SERVER_APP_SECRET=(az ad sp credential reset --id "${SERVER_APP_ID}"  --query password -o tsv)

Create a new Azure AD application and get its appId value. This value is used in later steps as clientApplicationId.
$CLIENT_UNIQUE_SUFFIX="<identifier_suffix>"
$CLIENT_APP_ID=(az ad app create --display-name "${CLUSTER_NAME}Client" --is-fallback-public-client --public-client-redirect-uris "api://${TENANT_ID}/${CLIENT_UNIQUE_SUFFIX}" --query appId -o tsv)
echo $CLIENT_APP_ID

Grant the required permissions for the client application. RBAC for Azure Arc-enabled Kubernetes requires signInAudience to be set to AzureADMyOrg:
    az ad app permission add --id "${CLIENT_APP_ID}" --api "${SERVER_APP_ID}" --api-permissions <oAuthPermissionId>=Scope
    $RESOURCE_APP_ID=(az ad app show --id "${CLIENT_APP_ID}"  --query "requiredResourceAccess[0].resourceAppId" -o tsv)
    az ad app permission grant --id "${CLIENT_APP_ID}" --api "${RESOURCE_APP_ID}" --scope User.Read
    az ad app update --id ${CLIENT_APP_ID} --set  signInAudience=AzureADMyOrg
    $CLIENT_OBJECT_ID=(az ad app show --id "${CLIENT_APP_ID}" --query "id" -o tsv)
    az rest --method PATCH --headers "Content-Type=application/json" --uri https://graph.microsoft.com/v1.0/applications/${CLIENT_OBJECT_ID}/ --body '{"api":{"requestedAccessTokenVersion": 1}}'

Create a new Azure AD application and get its appId value. This value is used in later steps as serverApplicationId.
$CLUSTER_NAME="<name-of-arc-connected-cluster>"
$TENANT_ID="<tenant>"
$SERVER_UNIQUE_SUFFIX="<identifier_suffix>"
$SERVER_APP_ID=(az ad app create --display-name "${CLUSTER_NAME}Server" --identifier-uris "api://${TENANT_ID}/${SERVER_UNIQUE_SUFFIX}" --query appId -o tsv)
echo $SERVER_APP_ID

Create a service principal and get its password field value. This value is required later as serverApplicationSecret when you're enabling this feature on the cluster. This secret is valid for one year by default and will need to be rotated after that. To set a custom expiration duration, use az ad sp credential reset:
    az ad sp create --id "${SERVER_APP_ID}"
    $SERVER_APP_SECRET=(az ad sp credential reset --name "${SERVER_APP_ID}" --credential-description "ArcSecret" --query password -o tsv)

Create a new Azure AD application and get its appId value. This value is used in later steps as clientApplicationId.
$CLIENT_UNIQUE_SUFFIX="<identifier_suffix>"
$CLIENT_APP_ID=(az ad app create --display-name "${CLUSTER_NAME}Client" --native-app --reply-urls "api://${TENANT_ID}/${CLIENT_UNIQUE_SUFFIX}" --query appId -o tsv)
echo $CLIENT_APP_ID

Run the following command to create the new custom role:
$ROLE_ID=(az role definition create --role-definition ./accessCheck.json --query id -o tsv)

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 55b2707d-7f51-554d-06dd-2cf71b906237
Version Independent ID: ab8a566c-adba-5c99-8a16-713f9c979774
Content: Azure RBAC on Azure Arc-enabled Kubernetes clusters (preview) - Azure Arc
Content Source: articles/azure-arc/kubernetes/azure-rbac.md
Service: azure-arc
Sub-service: azure-arc-kubernetes
GitHub Login: @JnHs
Microsoft Alias: jenhayes

@aaKomplex-IT Thanks for your feedback.
Assigning to content author @JnHs  for review.

Hi @aaKomplex-IT ,
Are you saying that "$" should be removed when setting the variables? If that is the case, I agree. For example, it should be 'CLUSTER_NAME=""' instead of '**$**CLUSTER_NAME=""'.
Let us know if this is not what you meant.

Hi
No I mean there should be a $ to set the variable. Right now there is no $ in the documentation :-)
Venlig hilsen / Best regards
Alexander Appelby
It-specialist
M +45 20214624
On 15 Aug 2023, at 20.16, msftjonw @.***> wrote:

Hi @aaKomplex-IThttps://github.com/aaKomplex-IT ,
Are you saying that "$" should be removed when setting the variables? If that is the case, I agree. For example, it should be 'CLUSTER_NAME=""' instead of '**$**CLUSTER_NAME=""'.
Let us know if this is not what you meant.
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftDocs/azure-docs/issues/113453#issuecomment-1679384873, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AWP6VQUC37H7UFCD7LRC2KTXVO4IDANCNFSM6AAAAAA3MY3P7A.
You are receiving this because you were mentioned.Message ID: @.***>

Oh I did not check the doc. If it is already without "$", it is what we were intended to have. The strange thing for me is that with the "$" in front of the command would not work for me. Could you let me know which environment you are testing in?

I'm testing in Azure Stack HCI environment and not directly from Azure, :-)
And are executing it from the Hosts, that might be the reason why i'm not able to get. I can only get it to work with $

That is interesting to know. Just so you know, it is the same for me to test in an UNIX system such as MacOS. I guess Azure Stack HCI is running on Windows OS and it could be more like PowerShell. As far as I know, PowerShell variable setup is like "$test="Jonathan" instead of "test=Jonathan".

Yes correct. Azure Stack OS is roughty the same as a Windows Server Core edition (just roughty)
When I followed the documentation i rewrote the commands to Powershell. Just to let you know, I have only attempted to execute THIS documenation and nothe the other Azure Arc AKS RBAC hybrid documenation pages.
I will of course try to attempt it when the rest of my Setup is ready.

Sounds good! Keep us posted!

Hi Jon
Just an update on this post. I have been successfully been able to enable Azure AD RBAC with the PowerShell commands I posted.
This has been done in conjunction with Jacek P from the High Available Team
It could be nice with a powershell opportunity available in the documenation aswell as the Azure CLI of course :-)

Thanks @aaKomplex-IT . We will take this feedback of an opportunity to improve for sure.

Thank you so much, @aaKomplex-IT. I've created a work item and will coordinate with @msftjonw to incorporate PowerShell commands into this topic. Since we are tracking this update internally, I'll close this GitHub issue now. Please continue to let us know if you have questions or suggestions for the docs!
#please-close


What should the correct HTTP exception code be?

Hello everyone. Currently, when we are unable to acquire the lock, we throw an UnprocessableEntityHttpException (status code 422). I am wondering if this is really the best choice. Would 423 be better? It seems odd to use either 422 or 423, since they are designed for WebDAV. I can't think which of the codes would be best.
Maybe we should just go for 429: too many requests?

I'd go with 423 (Locked) if that can be gracefully handled by the client app, as the client might want to retry the exact same operation after a while (few seconds for example).
422 Unprocessable Entity means the client is sending incomplete or invalid information, and should not be repeated with the exact same information.

The thing with 423 is it's meant to only be used by webdav. It implies the current resource is locked. The thing is, the resource is not locked, we're just wanting to limit the concurrent requests, which is why I think maybe sating 429 is better. Like, we're saying, the client is going too fast.
So yeh, d'no. It's between 423 and 429 I guess.

Alright. As of v5.0.0, we're now using HTTP 423 Locked. ;)


https://plugins.gradle.org/ API Rest

Expected Behavior
Do you have some API to query and search for plugins and their latest version? Similar to Maven central's API?
Current Behavior (optional)
Cannot find those API.
Context
Need to read latest plugin version given name or package.

shields.io has a badge for the Gradle Plugin Portal - the source essentially uses the same maven-metadata.xml file, used for Maven Central/any other Maven repository:
(source:)
  transformQueryParams: ({ pluginId }) => {
    const groupPath = pluginId.replace(/\./g, '/')
    const artifactId = `${pluginId}.gradle.plugin`
    const metadataUrl = `https://plugins.gradle.org/m2/${groupPath}/${artifactId}/maven-metadata.xml`
    return {
      metadataUrl,
      label: 'plugin portal',
    }
  },

You only need to append the .gradle.plugin suffix to the artifact's ID (so for e.g. the org.jetbrains.compose plugin would result in org.jetbrains.compose:org.jetbrains.compose.gradle.plugin, or org/jetbrains/compose/org.jetbrains.compose.gradle.plugin, similar to that of any other Maven repository)

If i understood well it should be something similar to this if you are looking for the researchgate gradle release plugin for example:
https://plugins.gradle.org/m2/net.researchgate/gradle-release.gradle.plugin/maven-metadata.xml
but what it happens in browser is that it redirects to
https://jcenter.bintray.com/net.researchgate/gradle-release.gradle.plugin/maven-metadata.xml
And then it gets a 403 forbidden.
Is some sort of authetincation needed?
Thanks.

https://plugins.gradle.org/m2/net.researchgate/gradle-release.gradle.plugin/maven-metadata.xml

This is not quite correct, the package name is supposed to be split with slashes (so net/researchgate instead of net.researchgate).
It also seems that the gradle-release variant doesn't have the .gradle.plugin suffix - some poking around on https://plugins.gradle.org/m2/net/researchgate shows 2 entries: gradle-release and release.
The "release" directory is the version that was published using the java-gradle-plugin, which appends .gradle.plugin to the resulting artifact ID (there's a sub-directory named net.researchgate.release.gradle.plugin), while the gradle-release directory is likely what you're looking for.

@EdricChan03 Thanks for the help!
FTR, for the Plugin Portal related issues, we have
https://github.com/gradle/plugin-portal-requests/issues


bug: WebSocket connection failed for URL: wss://relay.walletconnect.com

Is there an existing issue for this?

[X] I have searched the existing issues

Package Version
0.12
Current Behavior
Latest wagmi update (0.12.0 - https://github.com/wagmi-dev/wagmi/releases/tag/wagmi%400.12.0) breaks WS on WalletConnect.
On 0.11 we have no problems.
When using any of the connectors of the wallets with WalletConnect () we are having these issues:

No issues on<EMAIL_ADDRESS>We're not using wallet connect v1, as you might imagine.
Expected Behavior
Don't raise the error
Steps To Reproduce
No response
Link to Minimal Reproducible Example (StackBlitz, CodeSandbox, GitHub repo etc.)
No response
Anything else?
No response

same here after update to latest

After upgrade I had the same error with WalletConnect v1 because of using the WalletConnectConnector. I fixed it and now both versions work correctly. My code:
import { WalletConnectConnector } from 'wagmi/connectors/walletConnect';
import { WalletConnectLegacyConnector } from 'wagmi/connectors/walletConnectLegacy';

const walletConnectV1 = new WalletConnectLegacyConnector({
  chains,
  options: {
    qrcode: true,
  },
});

const walletConnectV2 = new WalletConnectConnector({
  chains,
  options: {
    qrcode: true,
    projectId: process.env.REACT_APP_WALLETCONNECT_PROJECT_ID,
    name: 'My app',
    relayUrl: 'wss://relay.walletconnect.org'
  },
});

const client = createClient({
  autoConnect: true,
  provider,
  webSocketProvider,
  connectors: [walletConnectV1, walletConnectV2],
});

Hope this helps!

Yep, have a look at the migration guide for 0.12: https://wagmi.sh/react/migration-guide#012x-breaking-changes
If the error still occurs, please open a minimal reproducible example via https://new.wagmi.sh!

I started using wagmi from v0.12 and WalletConnectConnector() causes this issue.


stop converting time to utc for FileLock. fixes #71

Codecov Report
Patch coverage: 100.00% and no project coverage change.

Comparison is base (245ece9) 93.56% compared to head (8a3efe2) 93.56%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master      #72   +/-   ##
=======================================
  Coverage   93.56%   93.56%
=======================================
  Files           2        2
  Lines         544      544
=======================================
  Hits          509      509
  Misses         35       35

Impacted Files
Coverage Δ

sherlock/lock.py
94.41% <100.00%> (ø)

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Implement (contextual) keywords and use their versioning from v2

Closes #568
There is still one outstanding issue where we return a Vec<TokenKind> from next_token; it'd like to return a more specialized type and ideally pass it on stack (2x2 bytes), rather than on-heap (extra 3x8 bytes for the Vec handle + indirection). We should name it better and properly show that we can return at most 2 token kinds (single token kind or identifier + kw combo).
To do:

[x] Return tokens from next_token via stack

Apart from that, I think this is a more correct approach than #598, especially accounting for the new keyword definition format in DSL v2.
The main change is that we only check the keyword trie and additionally the (newly introduced) compound keyword scanners only after the token has been lexed as an identifier. For each context, we collect Identifier scanners used by the keywords and attempt promotion there.
The existing lexing performance is not impacted from what I've seen when running the sanctuary tests and I can verify (incl. CST tests) that we now properly parse source that uses contextual keywords (e.g. from) and that the compound keywords (e.g. ufixedMxN) are properly versioned.
This adapts the existing codegen_grammar interface that's a leftover from DSLv1; I did that to work on finishing #638; once this is merged and we now properly parse contextual keywords, I'll move to clean it up and reduce the parser codegen indirection (right now we go from v2 -> v1 model -> code generator -> Tera templates; it'd like to at least cut out the v1 model and/or simplify visiting v2 from the existing CodeGenerator).
Please excuse the WIP comments in the middle; the first and the last ones should make sense when reviewing. I can simplify this a bit for review, if needed.

Instead of next_token returning Vec (first pass), we now introduce the following type:
pub enum ScannedToken {
    Single(TokenKind),
    IdentifierOrKeyword {
        identifier: TokenKind,
        kw: KeywordScan,
    },
}

Not only we don't go through heap for the often-called next_token, we now explicitly have to handle the case of identifiers/keywords and whether a keyword is strictly reserved or "present", so usable in both keyword and identifier position.
To keep the existing parser flow mostly the same, a helper fn ScannedToken::unambiguous(self) -> TokenKind is introduced, that tries to map back to a single token kind if possible (for the "present" keyword it falls back to a general "identifier" token kind).
This also introduces another helper fn ScannedToken::accepted_as(self, expected: TokenKind) -> bool that is used in the parser functions as a convenience, which returns whether the scanned token is accepted in a given position, streamlining the underlying additional kw reservation checks for identifier token kinds.