No way to specify gateway url

Description
Hello wonderful people.
I usually start jupyter lab with a gateway url, but I can't seem to do that here :(
Reproduce

Open the jupyter lab app
Try to enter the gateway url somewhere

Expected behavior
The gateway url is entered somewhere, and I can use my shiny remote kernels.
Maybe this is feedback for jupyter lab and not the app itself, but it would be nice to add/remove kernel gateways from the launcher tab.
One possible solution is to have a server list on the left, similar to what Lens has:

This way one can create new instances of jupyter with different command line args and switch between them.
The photon list component could be used to make this: photonkit.com/components/
Context

Operating System and version:
Browser and version:
JupyterLab version:

Troubleshoot Output

Paste the output from running `jupyter troubleshoot` from the command line here.
You may want to sanitize the paths in the output.

Command Line Output

Paste the output from your command line running `jupyter lab` here, use `--debug` if possible.

Browser Output

Paste the output from your browser Javascript console here, if applicable.

I see that there is a command line now, could there be a way to add cmd line args to it?

you can now customize server launch arguments with the newest version 3.6.1-2. please install it and check the user guide for instructions.


Unresolved reference: BuildConfig

Fresh checkout
gradle build results in
kotlin-ir-plugin-template\kotlin-ir-plugin-native\src\main\kotlin\com\bnorm\template\TemplateCommandLineProcessor.kt: (36, 35): Unresolved reference: BuildConfig

FAILURE: Build failed with an exception.

Are you using the included Gradle wrapper or a local installed version of Gradle? If local, what version? The project includes wrapper version 6.7.1, builds fine via GitHub Actions, and locally for me using the wrapper. I wonder if it's not the Gradle version, if it could be something environmental?

Are you using the included Gradle wrapper or a local installed version of Gradle? If local, what version? The project includes wrapper version 6.7.1, builds fine via GitHub Actions, and locally for me using the wrapper. I wonder if it's not the Gradle version, if it could be something environmental?

Thanks for the answer!
It does indeed work from the command line.
It seems to be a bug in IntelliJ IDEA. The build fails if I have the option "Use Gradle from" set to "'gradle-wrapper.properties' file' and works fine if it is set to "'wrapper' task in Gradle build script". I don't think that should make a difference.
I filed https://youtrack.jetbrains.com/issue/IDEA-260181 for that.

Thanks for the answer!
It does indeed work from the command line.
It seems to be a bug in IntelliJ IDEA. The build fails if I have the option "Use Gradle from" set to "'gradle-wrapper.properties' file' and works fine if it is set to "'wrapper' task in Gradle build script". I don't think that should make a difference.
I filed https://youtrack.jetbrains.com/issue/IDEA-260181 for that.

Just FYI: It is either a bug in gradle itself or in the buildconfig plugin.
At least I can reproduce it on the command line as described here. It seemed to be caused by me having enabled org.gradle.parallel=true (which I have enabled by default in ~/gradle.properties),
I filed https://github.com/gradle/gradle/issues/15938

Just FYI: It is either a bug in gradle itself or in the buildconfig plugin.
At least I can reproduce it on the command line as described here. It seemed to be caused by me having enabled org.gradle.parallel=true (which I have enabled by default in ~/gradle.properties),
I filed https://github.com/gradle/gradle/issues/15938


Fix JupyterLab password

It's probably better (easier) to stick to JupyterHub + TOTP authentication. It also enable multi-user login.


Make net default input port kind

Default is -svinputport=relaxed, which defaults 4-state logic types to wire
and everything else to var. This allows us to use other types, like bit
(2-state logic), which we should never do in synthesizable logic.
Setting -svinputport=net defaults all input ports to wire, which
results in compilation errors if we use something incompatible with
the wire kind (4-state logic). This enforces sensible logic types in
synthesizable logic.
Also, this is the strictly LRM compliant behavior.

LGTM. Please merge, so that we do not have a backlog. The rules are actively being worked on.


Improved the font size of search input to base

Current behavior

Font size is less than 16px, due to which safari zooms into that input box
Expected behavior

We can inc the size to base
Steps to reproduce the issue

Open capaybara website on ios mobile
Click on search
Select input box of search

Can you handle fixing this bug by yourself?

[X] YES
[ ] NO

Environment details

Browser:  Safari
OS:  iOS
Code Version:  All

Additional information

The title here is not the issue. Add a relevant title.


Conditional mocking of dependencies issue

Related Issue

Info about Issue or bug
Conditional mocking of dependencies gave the user the ability to choose which dependency/ service (e.g.: SQL, Redis, http ...etc.) will be mocked.

Closes: #124
Describe the changes you've made
According to the user input in the environment variable, intercept the service or not.
default is all services are mocked.
I also added some initialization for future mock supports e.g.: for mongo DB
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Code style update (formatting, local variables)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] This change requires a documentation update

How did you test your code changes?
Please describe the tests(if any). Provide instructions how its affecting the coverage.
Describe if there is any unusual behaviour of your code(Write NA if there isn't)
A clear and concise description of it.
Checklist:

[ ] My code follows the style guidelines of this project.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly in hard-to-understand areas and used java doc.
[ ] I have made corresponding changes to the documentation.
[ ] My changes generate no new warnings.
[ ] I have added tests that prove my fix is effective or that my feature works.
[ ] New and existing unit tests pass locally with my changes.

Screenshots (if any)

Original
Updated

original screenshot
updated screenshot

Please sign-off your commits , else the checks won't pass

Please self review the PR and fill the PR template and checklist


Create Period WIth Monthdays Failed

Could you please clairify why this command failed? With the following error:
Error: 24-6 is not a valid month days specification
instance-scheduler-cli-runner.py create-period --name test-workdays-period --monthdays 24-6 --months 7-8 --stack instance-scheduler --region us-east-1

hi @Idosegal
did you mean to use 2,4-6? (note the comma)
without the comma, Instance Scheduler is processing the monthdays as the 24th-6th, but it expects the first day in a range to be the smaller value (so it is expecting 6-24)

I meant 24-6.
And to be more clear, 24/07-06/08.
The above range isn't working as you mentioned that it expected the first day to be a smaller value.
Is there no way to achieve that without specifying two periods?

you would need 2 periods for that scenario, yes. The monthday and month fields act like filters that are independently applied to the current date:

monthday filters for specific days in the month
month filters for specific months

If you want to specify different sets of days in different months, you would need to create a separate period for each unique set of days. For example:

--monthdays 24-L  --months 7 for the 24th through to the end of July
--monthdays 1-6  --months 8 for the first 6 days of August

@CrypticCabub Thanks you.
You think it can be supported?
I can take it.

automatically recognizing that 24-6 refers to 7/26-8/6 is not really possible to do reliably.
Consider the case where you pass in 24-6 for monthdays and 7-9 for months. Which of the following is the correct set of running periods:

7/26-9/6
7/26-8/6, 8/26-9/6

it's impossible to know for sure
For instance scheduler, the correct way to handle scenarios like this is to apply multiple periods to the same schedule. complicated schedules like this can be hard to maintain using the CLI, but are much more managable using Infrastructure as Code via the CloudFormation custom resource. Take a look at the example I gave on https://github.com/aws-solutions/instance-scheduler-on-aws/issues/468#issuecomment-1629618180 to see an example of how you can manage multiple complex periods like this easily.


There is no sound after the video connection between iOS is successful

Hello LiveKit Team,
I am using the version "1.0.8" SDK source code, when the two iphones are connected to each other, they can hear each other talking at the beginning, but the sound disappears between 30 seconds and one minute after the video connection I can't hear the other party's speech, and the microphone-related permissions are confirmed to be turned on in the phone settings. When the sound disappears, print the data returned by room(_ room: Room, didUpdate speakers: [Participant]) and you will find that speakers.count becomes 0. It is strange that everything is normal with sound at the beginning, and then the call is basically in one session. Within minutes, the other party's voice was no longer heard, and this problem persisted after repeated attempts. And I made sure that the network status is good, because there is no problem with the display of the video screen. There is no sound when switching the mute state through self?.room.localParticipant?.setMicrophone(enabled: ). I don't know where the problem is, hope you can help me.

This is the code for room initialization.
var room = Room(
delegate: self,
roomOptions: RoomOptions(
defaultCameraCaptureOptions: CameraCaptureOptions(
position: .front,
dimensions: .h720_169,
fps: 30
),
defaultAudioCaptureOptions: AudioCaptureOptions(
echoCancellation: true,
noiseSuppression: true,
autoGainControl: true,
typingNoiseDetection: true,
highpassFilter: true
),
defaultVideoPublishOptions: VideoPublishOptions(
encoding: VideoEncoding(
maxBitrate: 1_500_000,
maxFps: 30
),
simulcastLayers: [
VideoParameters.presetH180_169,
VideoParameters.presetH360_169,
]
),
defaultAudioPublishOptions: AudioPublishOptions(
dtx: true
),
adaptiveStream: true,
dynacast: true
)
)
self.room = room
    print("token---------\(token)")
    room.connect(url, token).then { room in
        print("RoomDelegate--closure")
        room.localParticipant?.setCamera(enabled: true)
        room.localParticipant?.setMicrophone(enabled: true)
        self.cameraEnable = true
    }.catch { error in
        // failed to connect
        print(error.localizedDescription)
    }

Hi, are you using LiveKit Cloud or your own LiveKit server ?

I am not able to reproduce this one.

I removed the two parameters defaultAudioCaptureOptions and defaultAudioPublishOptions from RoomOptions, and then carried out the video test and found that there was no problem. Thank you very much for your help.

Hi @lifeng-Lee , I'm glad that worked for you.
Still interesting why it didn't work when you passed the options.
I will close this for now.


Fatal Error on Guzzle dependency

I just updated guzzle via composer:
guzzlehttp/guzzle (6.5.4 => 6.5.5)
Using WordPress 5.4.2, PHP 7.3 and wp-stateless 2.3.2
( ! ) Fatal error: Uncaught Error: Undefined class constant 'MAJOR_VERSION' in /var/www/html/vendor/guzzlehttp/guzzle/src/Utils.php on line 121
--
1 | 0.0324 | 3606504 | {main}( ) | .../plugins.php:0
2 | 0.0327 | 3655168 | require_once( '/var/www/html/web/wp/wp-admin/admin.php' ) | .../plugins.php:10
3 | 0.0328 | 3669808 | require_once( '/var/www/html/web/wp/wp-load.php' ) | .../admin.php:34
4 | 0.0329 | 3671464 | require_once( '/var/www/html/web/wp-config.php' ) | .../wp-load.php:42
5 | 0.0435 | 5185168 | require_once( '/var/www/html/web/wp/wp-settings.php' ) | .../wp-config.php:9
6 | 0.5137 | 59299824 | do_action( ) | .../wp-settings.php:403
7 | 0.5137 | 59300200 | WP_Hook->do_action( ) | .../plugin.php:478
8 | 0.5137 | 59300200 | WP_Hook->apply_filters( ) | .../class-wp-hook.php:311
9 | 0.8996 | 86941440 | wpCloud\StatelessMedia\Bootstrap->pre_init( ) | .../class-wp-hook.php:287
10 | 0.8996 | 86941440 | wpCloud\StatelessMedia\Bootstrap->init( ) | .../class-bootstrap-plugin.php:56
11 | 0.9105 | 87440344 | wpCloud\StatelessMedia\Bootstrap->is_connected_to_gs( ) | .../class-bootstrap.php:155
12 | 0.9214 | 88140416 | wpCloud\StatelessMedia\GS_Client->is_connected( ) | .../class-bootstrap.php:1180
13 | 0.9214 | 88140416 | wpCloud\StatelessMedia\Google_Client\Google_Service_Storage_Resource_Buckets->get( ) | .../class-gs-client.php:365
14 | 0.9214 | 88141168 | wpCloud\StatelessMedia\Google_Client\Google_Service_Storage_Resource_Buckets->call( ) | .../Buckets.php:70
15 | 0.9251 | 88516960 | wpCloud\StatelessMedia\Google_Client\Google_Client->execute( ) | .../Resource.php:233
16 | 0.9251 | 88518384 | wpCloud\StatelessMedia\Google_Client\Google_Client->authorize( ) | .../Client.php:797
17 | 0.9251 | 88518384 | wpCloud\StatelessMedia\Google_Client\Google_Client->getHttpClient( ) | .../Client.php:356
18 | 0.9251 | 88518384 | wpCloud\StatelessMedia\Google_Client\Google_Client->createDefaultHttpClient( ) | .../Client.php:1043
19 | 0.9258 | 88585112 | GuzzleHttp\Client->__construct( ) | .../Client.php:1069
20 | 0.9293 | 88947480 | GuzzleHttp\Client->configureDefaults( ) | .../Client.php:75
21 | 0.9297 | 88979296 | GuzzleHttp\default_user_agent( ) | .../Client.php:194
22 | 0.9297 | 88979296 | GuzzleHttp\Utils::defaultUserAgent( ) | .../functions.php:61

Please disregard as this was unrelated to wp-stateless. I was using spatie/crawler with dependencies unpinned, so it pulled in guzzle and few other updates that I think are related to:
https://github.com/guzzle/guzzle/pull/2678
https://github.com/guzzle/guzzle/pull/2678
I removed spatie/crawler and redeployed, site works fine.

I ran into this, and I think it's because Guzzle 7 recently was released.  I'm not using spatie/crawler, but my composer.lock shows quite a few other plugins supporting Guzzle 7, and when that was installed it conflicted with the version of Guzzle committed in this repo.
Maybe this issue should be re-opened... Is there a way to reorganize this plugin so Guzzle is a dependency installed by composer?
As a work-around, I added "guzzlehttp/guzzle": "6.5.5", to my own composer.json.

We also ran into this issue and needed to do the same workaround as @ckeeney . Weird that this didn't get any attention yet as it seems easy to avoid and completely breaks the functionality with a fatal error if it occurs. I opened a quick draft PR to add the depenency https://github.com/udx/wp-stateless/pull/618

I did overlook that we are still using 2.x, so I didn't test if the issue still occurs in the latest version, which my current draft PR targets.

@Inwerpsel can you elaborate on the workaround @ckeeney  mentioned I'm not able apply it


Upgrade to v0.9.43

Goal
The goal of this PR is upgrade the inner dependencies such as polkadot, substrate and cumulus to v0.9.43
Closes #1599
Change impact https://forum.polkadot.network/t/polkadot-release-analysis-v0-9-43/3158
Major inner changes

[x] removing of web-socket related cli params and merging them with Rpc ones. (Merging ports)
- everything that was calling port 9933 should be changed to call 9944
- 9934 -> 9945
- 9935 -> 9946
- 9936 -> 9947
[ ] adding sudo pallet weights in benchmarks
[x] Upgrading rust tool chain to rustc 1.71.0-nightly
[ ] testing runtime upgrade locally

Discussions

cli changes will break any tool that is calling those not supported ports
ed25519-dalek vulnerability is fixed in their repo but there is no official leases that have that (only rc ones)

I checked out the branch and ran 'make ci-local'. I ran make start and connected with Provider Dashboard and polkadot js ui. Notes: I needed to do rustup update, something failed when I tried to build the first time, also forgot to do make clean, after that, all was good.
I think we need to update parity-scale-codec, but let me know if I missing something and we don't need to.

Alternatively, if we are moving to 1.0.0, the codec will need to be upgraded again to 3.6.1, so we could skip this upgrade and do it in 1.0.0.


Dockerfile of a Docker Container for Calvin

It is based on Alpine Linux base image. Both Calvin 0.1 and the latest version (0.4) are installed.

To build the image:
sudo docker build -t imriss/calvin:1.0 .

ID=$(sudo docker run -d imriss/calvin:1.0 /bin/sh)
sudo docker export $ID | sudo docker import - imriss/calvin:1.5

Brilliant! Thanks.
I've been looking at dockerizing Calvin, but this is much better than my debian-based recipe. (I wasn't aware of Alpine-Linux.)
// Ola

Thanks! Is it possible to have a sub-folder for the container-related file? I would like to also add some notes about setting up docker, etc, to make it self sufficient.
Best, Reza


Better reporting when a form ID is bad

Also don't keep trying to retrieve the same one

Nice work! Much more efficient when a bad id comes across the wire.
:soccer:


Question about ConcurrentMessageListenerContainer

Hi,
Does this ConcurrentMessageListenerContainer behavior like DefaultMessageListenerContainer in Spring-JMS? DMLC will automatically spin up threads based on load.

No, it doesn't.
See Reference Manual: http://docs.spring.io/spring-kafka/docs/2.0.0.BUILD-SNAPSHOT/reference/html/_reference.html#_concurrentmessagelistenercontainer
Please, consider do not ask questions here. There is StackOverflow on the matter.
GitHub issues for bugs and feature requests.

The rationale is that, when you add/remove consumers, Kafka rebalances the partitions (if you are using group management), which can be expensive and cause interruptions.
If you are not using group management, spring-kafka would have to do the rebalancing, which would be equally expensive and cause interruptions.

Yes, I got it, Gary. I thought the same :)


Add new Github action for Rails tests

Coverage remained the same at 86.059% when pulling 440970716f7a02a5be9867195471a570f6fd954b on feature/github-actions into 0509a2e56c7a10dc0da58c284d4931097fb09f85 on master.

The motivation for this change is to migrate away from Travis, given their recent actions reducing access to Open Source projects.


using runtime-env-cra in React Hello World Application not working

Step: 1 -> I created .env file in root and pasted NODE_ENV=production REACT_APP_API_URL = Jamal Ashraf Awan
Step:2 -> using env variable in p tag

--- {window.RUNTIME_CONFIG.REACT_APP_API_URL}

Step:3 -> i created file in public named runtime-env.js and add
window.RUNTIME_CONFIG = {"NODE_ENV":"development","API_URL":"https://my-awesome-api.com"};
Step:4 -> modifiy start in package.json with :
"start": "cross-env NODE_ENV=development runtime-env-cra --config-name=./public/runtime-env.js && react-scripts start",
Now if i do npm start i got an error in command promt:

<EMAIL_ADDRESS>start
cross-env NODE_ENV=development runtime-env-cra --config-name=./public/runtime-env.js && react-scripts start

'cross-env' is not recognized as an internal or external command,
if i do npm start with cross-env then error is as below:

<EMAIL_ADDRESS>start
NODE_ENV=development runtime-env-cra --config-name=./public/runtime-env.js && react-scripts start

'NODE_ENV' is not recognized as an internal or external command,
Please help me , I am student and i want to use this library for the problem to make it possible to access a config file or environment variable during runtime on the server.

I found a solution later ...
npm install --save-dev cross-env
start: cross-env NODE_ENV=development runtime-env-cra --config-name=./public/runtime-env.js && react-scripts start
delete the file from public, it will be generated automatically


Python 3.8 compatibility

Using python3.8, with -Werror
>>> import datetime
>>> import isodate
>>> datetime.datetime.now() + isodate.parse_duration("P5Y")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "[...]/.tox/py38-std-sha256/lib/python3.8/site-packages/isodate/duration.py", line 183, in __add__
    newdt = other.replace(year=newyear, month=newmonth, day=newday)
DeprecationWarning: an integer is required (got type decimal.Decimal).  Implicit conversion to integers using __int__ is deprecated, and may be removed in a future version of Python.

It looks like casting to int explicitly would solve the warning, something like:
ewdt = other.replace(year=int(newyear), month=int(newmonth), day=newday)

According to the release notes:
https://docs.python.org/3.8/whatsnew/3.8.html

Many builtin and extension functions that take integer arguments will now emit a deprecation warning for Decimals, Fractions and any other objects that can be converted to integers only with a loss (e.g. that have the __int__() method but do not have the __index__() method). In future version they will be errors. (Contributed by Serhiy Storchaka in bpo-36048.)

Fixed in the fork at https://github.com/isodate/isodate/pull/1, also ditches Travis CI for GitHub Actions.

@hugovk Thanks for the fix!
In your commit you also converted newday to int whereas the original code seems to allow floats for days.
The check above seems to imply the day can be floats.
            if (not(float(self.years).is_integer() and
                    float(self.months).is_integer())):
                raise ValueError('fractional years or months not supported'
                                 ' for date calculations')

Also, maybe we should add a check for other here too. We mostly only add two values together, if we use int() in the end, one of them (e.g. self.months) is known to be integral, the other (other.month) has to be integral too in order to for the conversion to be lossless.
Could you please have another look?
Thanks again!

Perhaps it would help to open a new issue and include example code showing how this worked before and what the expected output would be before compared to now?


Add TipSeason AI Tools directory

Adding Trending AI Tools directory from TipSeason. Best tool directory to launch your AI / SaaS startup.

Name Your Website name not a SEO title


Update README.md

First line had a spelling mistake.

Great Job! Congrats on your first Open Source Contribution! . . . We Wish you the best of luck Ahead. Happy Coding :)
ps - We would highly appreciate if you star this Repo.


hplip udev rules

Basic info

Kernel: 3.18.26
System: NixOS 16.09pre79463.d88ae10 (Flounder)
Nix version: 1.11.2
Nixpkgs version: 16.09pre79463.d88ae10

Issue
When adding hplip to CUPS and SANE drivers:
# Enable CUPS to print documents.
services.printing = {
 enable = true;
 drivers = [ pkgs.hplip ];
};

# Enable SANE for scanners
hardware.sane = {
 enable = true;
 extraBackends = [ pkgs.hplip ];
};

Then nixos-rebuild switch fails with:
/nix/store/acr5li34vir6vjypx924whcakr9riyrg-udev-rules/56-hpmud.rules
(originally from /nix/store/k2gyds3b93bg0addsys75rvxw4isyqj3-hplip-3.15.9/etc/udev/rules.d/56-hpmud.rules)
contains references to /bin/sh, /bin/sh, /usr/bin/nohup and /usr/bin/hp-config_usb_printer

I'm not sure how to solve that, the source would have to be changed.

/cc @nckx @jgeerds

@guaraqe: does this patch fix the problem?

Sorry for the delay, first time testing someone else's patch :)
Works ok here, builds without problems!

@guaraqe: Thanks! I'll merge it in.
Don't hesitate to ping me about other hplip issues you might have. I'm not currently using it but would like to keep it working for future me & others.


Virtual Slides Parameters doesn't work with Swiper Element

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/p/sandbox/swiper-react-virtual-slides-forked-vtmwzm?file=/src/App.jsx:38,18-42,11
Bug description
Virtual Slides Parameters don't work for Swiper Element.
https://swiperjs.com/swiper-api#virtual-slides-parameters
I tried with these options:
    <swiper-container
      ref={swiperElRef}
      zoom={true}
      virtual={{
        enabled: true,
        addSlidesBefore: 2,
        addSlidesAfter: 2
      }}
     >

Expected Behavior
No response
Actual Behavior
No response
Swiper version
^10.2.0
Platform/Target and Browser Versions
Chrome, macOS
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

https://swiperjs.com/blog/using-swiper-element-in-react

https://swiperjs.com/blog/using-swiper-element-in-react

It looks like downgrade O_O I tried and can't get this to work.

I guess you haven't implemented it yet => created a feature request... https://github.com/nolimits4web/swiper/issues/6993
This is not as easy as it looks.


correct pub_date field to pub_date_tmsp

James from Parse.ly here. I made a mistake regarding the pub_date field name; that actually needs to be pub_date_tmsp.
cc: @sperand-io

thanks james! #16

@sperand-io thank you! mind pinging me when this is deployed? wanna keep our publisher pals up to date


The latest (0.3.3) release is empty.

Binary ZIP files are about 100 bytes in size.

😳 This is strange. I can't imagine how this could happen, at the time of publication everything was OK there.
I will start the build again...

The files have been updated.


[feaLib] support backslash-escaped glyphs in FEA

Backslash-prefixed glyph name can be used in a Feature file to distinguish them from identically-named keywords.
From section "2.f.i. Glyph name" of Adobe's Feature File Specification:

An initial backslash serves to differentiate a glyph name from an identical keyword in the feature file language. For example, a glyph named "table" must be specified in the feature file as: \table

Thus, when we parse a glyph name that begins with a backslash, we need to ignore the first character.
Note that makeotf rejects feature files with glyph names that start with or contain backslashes escaped with another backslash.
feature liga {
    sub \\glyphWithBackslash by A;
} liga;

This yields:
makeotfexe [FATAL] <Backslash-Regular> invalid token (text was "\") [features 2]

Fixes https://github.com/fonttools/fonttools/issues/457
/cc @brawer @adrientetar

similarly, feaLib.lexer only recognizes \ at the start of a character name token, but not in its continuation.
So basically the backslash is a special reserved character and cannot/should not appear in real glyph names (ie. the post or CFF  table ones).


Update go_test rules to use embed instead of library. [phab:D2131]

Created by fromberger at 2018-01-19 19:26:28:
This silences deprecation warnings, at the cost of some additional burden on
import. I've given up trying to debate compatibility with them.

zarko wrote at 2018-01-19 20:42:50:
thank you for making the warnings "go" away

zarko accepted this revision at 2018-01-19 20:42:50

fromberger wrote at 2018-01-19 21:02:01:
I shan't submit this yet, since it introduces an annoying problem on the import side.  I filed https://github.com/bazelbuild/buildtools/issues/192 to propose possible improvements.
shahms points out we could also work around it with a macro, but that seems to just move the brittleness around. So, we'll see. For now I'll hold off.

schroederc wrote at 2018-01-22 22:52:31:
I vote to expedite submitting this.  The deprecation warnings are quite annoying, especially when trying to find an actual Bazel error in the log output.

schroederc accepted this revision at 2018-01-22 22:52:31

fromberger wrote at 2018-01-22 23:37:32:

! In (earlier comment), schroederc wrote:
I vote to expedite submitting this.  The deprecation warnings are quite annoying, especially when trying to find an actual Bazel error in the log output.

I'm willing to submit it, if you're willing to deal with fixing the import.

shahms wrote at 2018-01-23 17:13:33:
I'm still in favor of wrapping this in a macro.  While it does "just move the brittleness around" it moves it to a single location rather than scattered throughout every BUILD file (well, other than the load statement).  The import then becomes a simpler matter of removing a load() unless/until we can get buildozer to support our use case here.

fromberger wrote at 2018-01-23 17:17:34:

! In (earlier comment), shahms wrote:
I'm still in favor of wrapping this in a macro.  While it does "just move the brittleness around" it moves it to a single location rather than scattered throughout every BUILD file (well, other than the load statement).  The import then becomes a simpler matter of removing a load() unless/until we can get buildozer to support our use case here.

I'll look into that once #2596 is resolved.

fromberger wrote at 2018-01-23 20:57:33:
Abandoned in favour of #2599.

fromberger abandoned revision at 2018-01-23 20:57:33


Connecting to drive takes a very long time

I just installed the software and I think it's great. The only weird thing is the unusually long time it takes to actually connect to drive (or at least to figure out what it has to do).
Some examples of how long it takes (the following examples were done when drive and my synchronized folder were exactly the same, so no changes were made):
$ time drive push
Resolving...
Everything is up-to-date.

real	2m30.282s
user	0m16.332s
sys	0m19.752s

$ time drive diff
 /
real	2m25.013s
user	0m18.328s
sys	0m18.100s

I'm not sure, but comparing to git and how long it takes for me to access my google drive account in my browser (one or two seconds), this seems like an extremely long time. Is this normal? If not, how can I fix this?
PS: both of my computers (work and home) have the same behavior. I have 8Gb in the syncd folder.

I suspect that the time required would be proportional to the number of files(size of API responses) and folders(number of API calls) and how nested they might be. It might be useful if you have an estimate of the numbers, or order of magnitudes, of files and folders. ie hundreds of folders each with hundreds of files.

I can't give you an average of files per folder and etc, but I can give you the total numbers. For the files:
$ find -type f | wc -l
6271

and for the directories:
$ find -type d | wc -l
249

It's a lot of files, sure, but the time it takes still seems like a lot to me.

Hello there @tomchor, thank you for reporting this issue and welcome to drive.
Yap, I agree with @sselph, it is proportional to the number of files being checked. When you use your browser, it is merely accessing one page of meta data that could easily be computed, whereas on a push we check each file's differences. There are definitely ways that we could improve the time, like grabbing in bulk a manifest of changes since the last time a change was made locally, and then comparing those changes locally(constant time in the number of remote fetches/pages) instead of a remote call per file/object(linear time in the number of remote fetches) using a function this https://github.com/odeke-em/drive/blob/master/src/remote.go#L111-L140 already in drive. This is something definitely to look into as it will speed up all these checks.
Thank you for raising it.

@odeke-em No problem. If you need some more tests let me know. I don't offer myself to directly help improving this since I know zero of golang, but I'll help the way I can.


python311Packages.aiomysensors: 0.3.10 -> 0.3.11

Diff: https://github.com/MartinHjelmare/aiomysensors/compare/refs/tags/v0.3.10...v0.3.11
Changelog: https://github.com/MartinHjelmare/aiomysensors/releases/tag/v0.3.11
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.05 Release Notes (or backporting 23.05 and 23.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 280236 run on x86_64-linux 1

4 packages built:

python310Packages.aiomysensors
python310Packages.aiomysensors.dist
python311Packages.aiomysensors
python311Packages.aiomysensors.dist

Result of nixpkgs-review pr 280236 run on aarch64-linux 1

4 packages built:

python310Packages.aiomysensors
python310Packages.aiomysensors.dist
python311Packages.aiomysensors
python311Packages.aiomysensors.dist


Device config for button and led are almost identical

Is your feature request related to a problem? Please describe.
The UI for the device config of buttons and leds has no way of differentiating one from another.  Only the icon in the device list can tell whether it is a button or a led, and both icons also look too similar.
Describe the solution you'd like
Just clearly mark the Button UI as "Button" and Output/LED as "Output"
Describe alternatives you've considered
None.
Additional context
The two UIs without a distinguishing label or mark are identical.  The icons are too similar.
User in the Discord support forum showed what he did and we couldn't tell if it is an input or an output.
We had to refer to our own MF installation to see more clearly the icons in order to be able to tell an input from an output device config.
This can be confusing even to support people.

Yeah, the device name of course defaults to "Button N" and "Output N", but you might still name them similarly and it might make sense to show the device type in the settings area title.

Hey @tigert, we have #434  - as i said : we should add color coding to it and simplify the shapes of the icons - basically you are using shape and letters.
Maybe you could rework the icons one more time?
I will close this issue in favor of #434


Admin Application - Implement Auth0 authentication

Implement Auth0 authentication as to utilize the token to authenticate to the Function Apps in the middle tier.

@codingbandit , is this issue reserved for any code hackathon live stream or open for anyone? I'm interested to take this if it is open to anyone? Thanks.

Hi Neil, this one is all yours :) thank you for contributing!

@codingbandit @dpaquette I should have asked this question before starting my work on this issue. Please correct me if I'm going in the wrong direction for authentication/authorization in the admin app and in azure functions api.
I'm following RBAC approach based on this recommendation from Auth0 - https://auth0.com/docs/authorization/rbac

Define a role (let's say admin) : We will check if logged in user has this role or not when he/she will sign into the admin app. The reason I'm choosing a role is that if same login (SSO) is used for both 2wr-app (Vue) and 2wr-admin, we can control who is allowed to make changes in admin app by specifically assigning "admin" role to the logins via Auth0 dashboard. (I'm assuming we don't allow anyone to sign up through admin app?)
In the API, there are two choices.

In CUD operations, we can check if ApiAuthenticationResult's user is in "admin" role or not and only allow CUD if it is admin.
Define permissions for API (ex: write:basekits, write:hazardinfo, write:hazardhunt) and these permissions will be assigned to "admin" role. Azure functions will check if the access token has policy write:<resource_name> in CUD operations. This option provides less code changes in the future if we want to add additional role in the application and they are limited to only specific resource operations. However, this requires some permissions set up in Auth0 Dashboard. Which option do you think is best for MVP?

Thanks!

Thanks for your help with this @neelmallepally. I'm going to close this issue and create a new one to put some documentation in place (perhaps in a README for the Admin project) so folks know how to work on the admin app.


Update move-environment-tenant.md

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

File
Status
Preview URL
Details

power-platform/admin/move-environment-tenant.md
:white_check_mark:Succeeded

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


Property 'className' does not exist on type 'IntrinsicAttributes & SelectPortalProps'.

Bug report
Current Behavior
Getting this typescript error when using Select.Portal
"Property 'className' does not exist on type 'IntrinsicAttributes & SelectPortalProps'."

Expected behavior
Since className is actually passed down to Portal component and the DOM. Since it is used, this prop should be accepted in the Select.Portal props
Reproducible example
Replit Template
Suggested solution
Revert the changes made in this PR
interface SelectPortalProps extends Omit<PortalProps, 'asChild'> {
Your environment
"devDependencies": {
  "@types/react": "^18.0.15",
  "@types/react-dom": "^18.0.6",
  "@vitejs/plugin-react": "^2.0.0",
  "react": "^18.2.0",
  "react-dom": "^18.2.0",
  "typescript": "^4.7.4",
  "vite": "^3.0.4"
},
"dependencies": {
  "@radix-ui/colors": "^3.0.0",
  "@radix-ui/react-icons": "^1.3.0",
  "@radix-ui/react-select": "^2.0.0",
  "classnames": "^2.5.1"
}

why do you want to pass className to Select.Portal? Selected.Portal will be merged with Select.Content so you can pass the className directly to Select.Content


[WIP] feat: implement gov token unit test

Removed as written on wrong branch, and refactoring test suite is needed before starting test for Locker.


Signing raw transaction support

Would be cool if a) the wallet could sign raw ethereum transactions if i say pasted one in and also b) if the wallet supported something like https://github.com/LedgerHQ/ledger-wallet-api but for ethereum.
That'd be great as then we could use ledger wallet for things like reporting and trading on Augur!

We can easily do a), but chose not to do it to display more information for specific contracts. This could be changed, but we'd rather have more details than not enough whenever possible - so if you can point me to the contracts you use (other than ERC-20) I can have a look.
Regarding b) we'll be on it.

I'm adding this feature on our roadmap, and we'll do all follow up/comments there.

Regarding the support of specific contracts we also have a discussion on this feature here.


Fixed corrupted gradle files

When attempting compilation, I found that the gradle files were corrupt. This should fix it.

LGTM


unsupported algorithm "Scrypt"

I'm building a pool for swsicoin and  had issues unsupported algorithm "Scrypt"
Please help me issues

2016-12-12 18:32:33 [POSIX]     [Connection Limit] (Safe to ignore) Must be ran as root to increase resource limits
2016-12-12 18:32:33 [Master]    [swiscoin] Cannot run a pool for unsupported algorithm "Scrypt"
2016-12-12 18:32:33 [Master]    [PoolSpawner] No pool configs exists or are enabled in pool_configs folder. No pools spawned.
2016-12-12 18:32:33 [Master]    [CLI] CLI listening on port 17117

## this's main config (config.json)
"logLevel": "debug",
  "logColors": true,

  "cliPort": 17117,

  "clustering": {
      "enabled": true,
      "forks": "auto"
  },

  "defaultPoolConfigs": {
      "blockRefreshInterval": 30,
      "jobRebroadcastTimeout": 55,
      "connectionTimeout": 600,
      "emitInvalidBlockHashes": false,
      "validateWorkerUsername": true,
      "tcpProxyProtocol": false,
      "banning": {
          "enabled": true,
          "time": 600,
          "invalidPercent": 50,
          "checkThreshold": 500,
          "purgeInterval": 300
      },
      "redis": {
          "host": "<IP_ADDRESS>",
          "port": 6379
      }
  },

  "website": {
      "enabled": true,
      "host": "10xxxxxx",
      "port": 8080,
      "stratumHost": "10xxxxx",
      "stats": {
          "updateInterval": 60,
          "historicalRetention": 43200,
          "hashrateWindow": 300
      },
      "adminCenter": {
          "enabled": true,
          "password": "xxxx"
      }
  },

  "redis": {
      "host": "<IP_ADDRESS>",
      "port": 6379
  },

  "switching": {
      "switch1": {
          "enabled": false,
          "algorithm": "sha256",
          "ports": {
              "3333": {
                  "diff": 10,
                  "varDiff": {
                      "minDiff": 16,
                      "maxDiff": 512,
                      "targetTime": 15,
                      "retargetTime": 90,
                      "variancePercent": 30
                  }
              }
          }
      },
      "switch2": {
          "enabled": false,
          "algorithm": "scrypt",
          "ports": {
              "4444": {
                  "diff": 10,
                  "varDiff": {
                      "minDiff": 16,
                      "maxDiff": 512,
                      "targetTime": 15,
                      "retargetTime": 90,
                      "variancePercent": 30
                  }
              }
          }
      },
      "switch3": {
          "enabled": false,
          "algorithm": "x11",
          "ports": {
              "5555": {
                  "diff": 0.001,
                  "varDiff": {
                      "minDiff": 0.001,
                      "maxDiff": 1,
                      "targetTime": 15,
                      "retargetTime": 60,
                      "variancePercent": 30
                  }
              }
          }
      }
  },

  "profitSwitch": {
      "enabled": false,
      "updateInterval": 600,
      "depth": 0.90,
      "usePoloniex": true,
      "useCryptsy": true,
      "useMintpal": true,
      "useBittrex": true
  }

## this's  coins config ( file swiscoin.json in directory coins)
    "name": "Swiscoin",
    "symbol": "SCN",
    "algorithm": "Scrypt",
     "peerMagic": "b3a1d1bd",
    "peerMagicTestnet": "c1a2d7dc"

## this's  pool config (file swiscoin.json in pool_configs)
{
    "enabled": true,
    "coin": "swiscoin.json",

    "address": "SiPzZUFP4rsodEEFxj5uaWVGL2sm5qxASC",
    "_comment_address": "a transparent address to send coinbase rewards to and to transfer to zAddress.",

    "_zAddress": "ztqgT4xsouCyjHXrFtXnDVgtvPRmURMgHQw2gd39dLdtoYkmPACScHturZjqsNdAPtP6JCLaWmZmYDqbjCMRgdCfQ2vjY2K",
    "_comment_zAddress": "a private address used to send coins to tAddress.",

    "_tAddress": "SiPzZUFP4rsodEEFxj5uaWVGL2sm5qxASC",
    "_comment_tAddress": "transparent address used to send payments",

    "walletInterval": 12,

    "rewardRecipients": {
    },

    "paymentProcessing": {
        "enabled": true,
        "paymentInterval": 20,
        "minimumPayment": 0.00001000,
        "daemon": {
            "host": "<IP_ADDRESS>",
            "port": 9228,
            "user": "swiscoinrpc",
            "password": "59iPqqXroFJR61Dv2QgHHgAjcvS1Gm15dDLn3jPWM2E5"
        }
    },

     "ports": {
        "3032": {
            "diff": 0.125,
            "varDiff": {
                "minDiff": 0.125,
                "maxDiff": 16,
                "targetTime": 15,
                "retargetTime": 90,
                "variancePercent": 30
            }
        }
    },

    "daemons": [
        {
            "host": "<IP_ADDRESS>",
            "port": 9228,
            "user": "swiscoinrpc",
            "password": "59iPqqXroFJR61Dv2QgHHgAjcvS1Gm15dDLn3jPWM2E5"
        }
    ],

    "p2p": {
        "enabled": false,
        "host": "<IP_ADDRESS>",
        "port": 19333,
        "disableTransactions": true
    },

    "mposMode": {
        "enabled": false,
        "host": "<IP_ADDRESS>",
        "port": 3306,
        "user": "me",
        "password": "mypass",
        "database": "zcl",
        "checkPassword": true,
        "autoCreateWorker": false
    }

}
`

and this's file config for wallet

`rpcuser=swiscoinrpc
rpcpassword=59iPqqXroFJR61Dv2QgHHgAjcvS1Gm15dDLn3jPWM2E5
rpcallowip=<IP_ADDRESS>
daemon=1
server=1
listen=1
rpcport=9228
gen=0`

Right now this fork only supports zclassic and similar cyptocurrenices. If you are trying a scyrpt coin, use the original software
https://github.com/zone117x/node-open-mining-portal

I can make the modifications only apply to equihash coins on a later date so this can run with other currencies

please fix it so we can use multiple coins, not only zcash, tanks!

wich files did you modify for z-nomp??, maybe i can join n-omp with z-nomp.

Mainly the payment processor

@aayanl is right and that z-zomp is relatively unchanged.
But there's been significant changes to node-stratum-pool that were done to add Equihash support. https://github.com/joshuayabut/node-stratum-pool/commits/master


Updating free5gc packages + move to catalog repo

Updating free5gc packages + move to catalog repo
For details :
https://nephio.slack.com/archives/C03MB5GRATS/p1702481453779489

@arora-sagar will submit the last package.

Sagar will push the PR for @henderiw .

All packages are now in the catalog repository.


Fix | V1 Encoded Files In Fixtures

There was an issue which was raised in discussion #148 where if a request returned a downloadable file, the fixture could not be recorded because it threw an exception "Malformed UTF-8 characters, possibly incorrectly encoded"
@derheyne Came up with a brilliant idea to base64_encode() the response body if it cannot detect UTF-8 encoding. This is also backwards compatible because of the added encoding option.

@derheyne Let me know if you're happy with this and I'll roll it out

Looks good to me! Thank you so much for the fast implementation :)
Before you merge it let me quickly test it out in our code base.

Works perfectly in our code base!

Great thank you for testing!


Possible issue with "% Increased Life Leeched per second" mod

It seems the "% Increased Life Leeched per second" mod isn't being calculated into the "Life Leech/On Hit Rate" value.
Example: In the Hematophagy cluster taking the Left node that gives "% of maximum Life per second to maximum Life Leech rate" will increase the value, but the Right node gives no change.
Thank you to all contributors for your work on this amazing tool.

Seems fine for me:
without 2 nodes in Hematophagy cluster

and with them

http://i.imgur.com/eEYoaqW.png

http://i.imgur.com/eEYoaqW.png
http://i.imgur.com/7H6fYbj.png

http://i.imgur.com/Ji9tgdy.pnghttp://i.imgur.com/Ji9tgdy.png

Whoops, Seems I was hitting cap, so Rate doesn't help. Sorry for the confusion.


Good first issues - update details please

Description
Hi there,
I am keen to further contribute to Waltz, and after fixing small documentation issues and adding a howto guide on mac building / running Waltz, I am after the next issue to solve.
I've been through a few with the label 'good first issue' but found them either lacking detailed description or being a bit old, so I'm not sure which one to pick.
@davidwatkins73 can I kindly ask you to go through these issues below and give me a prioritised list or the top 3 issues most valuable to work on / fix?
Surveys: Run admin screen instance list should display the 'issued on' value of the instance'
Surveys: add authors notes to questions in templates
Enum Value:  enum type should be declared in it's own table
Involvement: should filter out removed users by default
System Admin UI: Display contents of System_Job_Log
Measurables tree: rollup counts can be misleading

Hi,
It's great that you want to get involved.  We'll be delighted to help you!
I have updated #6048 (filtering out removed people from the involvement section) with some more detail.
I'll review and update/remove the tags on the other issues as they may not be needed (likely because we are slowly moving components over to Svelte and therefore not too much point patching the old angular code).
@JWoodland-Scott may be able to provide more details on #6440.
The enum-value issue, #5322, would be a good one to tackle if you want to work with the waltz database, liquibase and Java code.   I'll look to flesh that out with more details tomorrow.
Other
There are also a couple of (short) videos which may be worth watching which go through making changes:

Developers: getting started
Developers: UI sections
Developers: Schema changes

Just added a new good-first-issue:

#6057

This one is mostly simple ui work.  Shouldn't need any backend changes/knowledge.


xmrig-proxy: 2.11.0 -> 2.14.0

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/xmrig-proxy/versions.
meta.description for xmrig-proxy is: '"Monero (XMR) Stratum protocol proxy"'.
Release on GitHub
Compare changes on GitHub

Checks done (click to expand)

built on NixOS
/nix/store/l5k2l3jkqqhsya72p5ya4nr3h5gn7dki-xmrig-proxy-2.14.0/bin/xmrig-proxy passed the binary check.
1 of 1 passed binary check by having a zero exit code.
0 of 1 passed binary check by having the new version present in output.
found 2.14.0 with grep in /nix/store/l5k2l3jkqqhsya72p5ya4nr3h5gn7dki-xmrig-proxy-2.14.0
directory tree listing: https://gist.github.com/bc496ca837b1898cf4d2776c16f1be14
du listing: https://gist.github.com/e921fa43163af812da4c7629f607a4b1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)
1 package rebuild(s)
1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
xmrig-proxy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/l5k2l3jkqqhsya72p5ya4nr3h5gn7dki-xmrig-proxy-2.14.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
Or, build yourself:
nix-build -A xmrig-proxy https://github.com/r-ryantm/nixpkgs/archive/a5e96b01764b6328d7864b758b6e6f3e2a64b2a7.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/l5k2l3jkqqhsya72p5ya4nr3h5gn7dki-xmrig-proxy-2.14.0
ls -la /nix/store/l5k2l3jkqqhsya72p5ya4nr3h5gn7dki-xmrig-proxy-2.14.0/bin

cc @aij for testing.

This pull request has been mentioned on Nix community. There might be relevant details there:
https://discourse.nixos.org/t/prs-already-reviewed/2617/10


Added support for restreaming to Facebook

I found this project really clean and easy to use for the needs of my group streaming online meetup. But it lacked Facebook Live support. So I decided to extend it and share it with others via PR.
The main issue with providing restreaming to Facebook is that the service only allows connections via rtmps (secured) connection, which is not easy to achieve as with Twitch/YouTube or others. I have extended this project by adding stunnel4 tool which is tunnelling the connection from the regular to the secure one on the selected ports. This version does not support setting up the Server URL, but for Facebook, it is constant.

added Dockerfile for building stunnel4 service for Facebook support
added proper entry for service in the docker-compose
added nginx configuration section
added README section on Facebook configuration

Tested and used by @pykonik - our local Python Community in Krakow, Poland :)

LGTM! Thanks for adding support for Facebook :tada:


Support for other types of regressions other than Spearman?

I think although spearman is a great way to measure correlation, it might be convenient to allow the user to specify alternative methods (maybe by allowing some lambda input?). Pointing it out here to see if anyone else feels the same.

I am closing this for lack of use cases. Feel free to reopen the issue if required


Bucket creation race

Sometimes if the deployment bucket does not exist, the plugin will create the bucket, but Serverless will think the bucket still doesn't exist and give this error:
Serverless: Creating deployment bucket 'test-serverless-associate-waf-us-east-1-development'...
Serverless: Applied SSE (AES256) to deployment bucket
Serverless: Packaging service...
Serverless: Excluding development dependencies...

  Serverless Error ---------------------------------------

  The serverless deployment bucket "test-serverless-associate-waf-us-east-1-development" does not exist. Create it manually if you want to reuse the CloudFormation stack "test-serverless-associate-waf-development", or delete the stack if it is no longer required.

This doesn't always happen and isn't reproducible 100% of the time. I believe this is because the execution of the plugin happens asynchronously and Serverless does not wait for the plugin to finish creating the bucket before it performs its check for whether the deployment bucket exists.

Is it fixed yet ?

@mayurdanger no it is not, it happened to me today with the latest version. I could even see the two "Creating deployment bucket..." lines in the log.

@MikeSouza any idea why the plugin uses the validate event to create the deployment bucket?
Subscribing to before:deploy:deploy removes the need for the if-check (the event is called right before deploy, not during package) here: https://github.com/MikeSouza/serverless-deployment-bucket/blob/f02d14e203128eaae58250b893b7be22b8966a0e/lib/index.js#L38-L40
I can submit a PR if you confirm this would work.

@coyoteecd For historical context, originally under Serverless v1, the hook before:package:setupProviderConfiguration and then later before:aws:common:validate:validate was used because before:deploy:deploy would not work for a serverless deploy:
Serverless: command = deploy, options = {}
 IN: before:package:cleanup
 IN: before:aws:common:validate:validate
 IN: after:aws:common:validate:validate
 IN: before:aws:common:cleanupTempDir:cleanup
 IN: after:aws:common:cleanupTempDir:cleanup
 IN: after:package:cleanup
 IN: before:package:initialize
 IN: after:package:initialize
 IN: before:package:setupProviderConfiguration
 IN: after:package:setupProviderConfiguration
 IN: before:package:createDeploymentArtifacts
Serverless: Packaging service...
 IN: after:package:createDeploymentArtifacts
 IN: before:package:compileLayers
 IN: after:package:compileLayers
 IN: before:package:compileFunctions
 IN: after:package:compileFunctions
 IN: before:package:compileEvents
 IN: after:package:compileEvents
 IN: before:package:finalize
 IN: before:aws:package:finalize:mergeCustomProviderResources
 IN: after:aws:package:finalize:mergeCustomProviderResources
 IN: before:aws:package:finalize:saveServiceState
 IN: before:aws:common:moveArtifactsToPackage:move
 IN: after:aws:common:moveArtifactsToPackage:move
 IN: after:aws:package:finalize:saveServiceState
 IN: after:package:finalize
 IN: before:aws:common:validate:validate
 IN: after:aws:common:validate:validate

  Serverless Error ---------------------------------------

  Could not locate deployment bucket. Error: The specified bucket does not exist

  Get Support --------------------------------------------
     Docs:          docs.serverless.com
     Bugs:          github.com/serverless/serverless/issues
     Issues:        forum.serverless.com

  Your Environment Information ---------------------------
     Operating System:          darwin
     Node Version:              12.14.1
     Framework Version:         1.83.3 (local)
     Plugin Version:            3.8.4
     SDK Version:               2.3.2
     Components Version:        2.34.9

However, after some preliminary investigation, sometime in v2 it looks like the lifecycle hooks were changed or fixed so that fixed such thatbefore:deploy:deploy` should work now.


Implement POST /run

As requested, my implementation of the run() method. I would prefer to call the method runCommand(), but am waiting for your comments on #15.
I'm not sure if my handling of return values is the best possible solution, it seems overkill to wrap them into even more tiny classes, but now the user needs to know which kind of composite Collection object is returned. I like it best as it is now, but your suggestions would be very welcome.

This method will execute one command in a synchronous way, so runCommand() could be a good name, as opposed to for instance scheduleCommand() for what we currently have as minions(). It is then just a bit unexpected that two methods with very similar names behave very differently regarding the session handling: scheduling a command will require to login first, while running a command needs the credentials every time. But maybe this is OK (as long as it is documented)?
The result type is IMO a bit too generic (List<Map<String, String>>), and why it even needs to be a list? It seems that this list always contains only one item, at least when looking at the example response, where there is results for several minions (ms-0 through ms-4). I guess in this case getResults() could return results.get(0) to simplify this a bit, but we might want to verify that. It further needs to be documented that the map keys are the minion ids and the values are the result.
The patch looks quite good, please find some comments inline about minor things to fix. Thanks!

Thanks again for your comments. I will work on this one first and then return to #15

Good, but let's keep on using just run() as the name of this method, following the general naming policy from [#15] (https://github.com/SUSE/saltstack-netapi-client-java/pull/15#issuecomment-74485966).

I checked against a running salt-api, and you are right: the list always has only one element, and the map has one entry per minion, so I handle it now exactly as minion() does.
If returning a Map is too generic, I can also wrap the result into a separate class, but would then propose SaltStackRunResultList and SaltStackRunResult (or even SaltStackResult{,List}?) and rename the wrapper class for the /minions response SaltStackJobList to be consistent.
As the netapi offers both /minions and /run I think this library should offer access to both endpoints, too. I could imagine that for short-running commands and when a bit of latency doesn't matter the synchronous, all-in-one-call run() method is convenient to have.

(I see that this needs more work after #14 and #18, I'm working on it...)

As the name SaltStackResult is already taken, I've renamed my return values to SaltStackReturnValues to reduce confusion. I think these should be reusable for parsing the results from /jobs too, once this is implemented.
SaltStackReturnValues is just a HashMap now. The keys are always Strings, but the type of the value Object is whatever Gson picks from the json string, and only the user of the method will know what these should be. If it's not a single value (as it is with test.ping) I'm not yet sure whether it's better to deserialize it here into whatever composite collection object, or better pass the json representation up to the caller.
So still work in progress, but I wanted to share what I have now.

I would say there is no need to introduce a new object that is exactly the same as HashMap, let's not do that. It was actually fine as it was before, so just keep the former SaltStackRunResults and return only the Map<..> instead of List<Map<..>> from the getResults() in there. It would even be OK to return this map directly from run() I guess, as you prefer.

If I use the abstraction provided now by SaltStackParser, I really only need a HashMap to be filled by Gson. The previous construct with SaltStackRunResults having (instead of being) a Map containing the return values doesn't work any more, and I wanted to handle my json parsing the same as the other methods. So, one class less, SaltStackReturnValues is gone altogether.

@skhtmp, thanks for this work and for the patience of going through multiple rounds of comments!
This looks good to me now, and since @renner's comments have all been dealt with I'm merging now :-)

Thanks @moio!


Run Notebooks with Parameters fails silently if notebook is Untitled

Running Notebooks with Parameters (from the notebook toolbar) is unsupported for Untitled notebooks, but currently we don't throw an error when the user tries to do so. They can go through the steps of setting the parameters, but then a new notebook doesn't open and there's no error notification as to why. Additionally, if you keep all the parameters the same, a new notebook will be opened that's exactly the same, but has no Injected Parameters cell.

@VasuBhog is this expected behavior?

@chlafreniere yes we do not support untitled notebooks. But can make this experience better.


Change retry and batching timing calculations

This patch changes the requeue behaviour to requeue messages that are 30 seconds past their retry time. Batching now includes messages that are any amount past their retry time. This change avoids batching messages before their graylisting time, but maintains efficient batching.
See #1789

This solves #1789


Apply compression filter to service routes if specified

Signed-off-by: Marcin Zaremba<EMAIL_ADDRESS>

:+1:

👍