groupby / apply and dask (open_mfdataset)

It seems that, when working with open_mfdataset, things are not consistent. Trying the following:
import numpy as np
import xray
a = xray.open_mfdataset('*.nc', concat_dim='time', preprocess=lambda x: x.assign_coords(agl=('mean_height_agl', range(x.dims['mean_height_agl']))).swap_dims({'mean_height_agl': 'agl'}).squeeze('time'))
a.groupby('time').apply(np.sum)

gives an error with a huge traceback that ends with:
IndexError:  Exception in remote process

tuple index out of range

Traceback:
  File "/home/razvan/.local/lib/python3.4/site-packages/dask/async.py", line 260, in execute_task
    result = _execute_task(task, data)
  File "/home/razvan/.local/lib/python3.4/site-packages/dask/async.py", line 243, in _execute_task
    return func(*args2)
  File "/home/razvan/.local/lib/python3.4/site-packages/toolz/functoolz.py", line 378, in __call__
    ret = fns[0](*args, **kwargs)
  File "/home/razvan/.local/lib/python3.4/site-packages/dask/array/core.py", line 377, in _concatenate2

but if I do:
a.load()
a.groupby('time').apply(np.sum)

there's no error. The files I'm using for this are at this dropbox place.

This is definitely a dask.array bug... I'll track down the details later.

This was https://github.com/ContinuumIO/dask/issues/391, which has now been fixed upstream in dask. Thanks @mrocklin!


Logs aggregator occasionally fails to spin up

What's your CLI version?
0.82.24
Description & steps to reproduce
When starting an engine, and then starting an enclave. Users occassionally get this error:
INFO[2023-09-09T20:55:08+02:00] Creating a new enclave for Starlark to run inside...
Error:  An error occurred running command 'run'
  Caused by: An error occurred calling the run function for command 'run'
  Caused by: An error occurred getting the enclave context for enclave ''
  Caused by: Unable to create new enclave with name ''
  Caused by: An error occurred creating an enclave with name ''
  Caused by: rpc error: code = Unknown desc = An error occurred creating new enclave with name ''
  Caused by: An error occurred creating new enclave with name 'waning-glade' using api container image version '' and api container log level 'debug'
  Caused by: An error occurred creating enclave with name waning-glade and uuid '2d42458ee5dc4ab6b8eb51bbdb5b2f82'
  Caused by: An error occurred creating enclave with UUID '2d42458ee5dc4ab6b8eb51bbdb5b2f82'
  Caused by: An error occurred creating the logs collector with TCP port number '9713' and HTTP port number '9712'
  Caused by: The logs aggregator is not running; the logs collector cannot be run without a running logs aggregator```

### Desired behavior

The logs collector (and then enclave) should spin up successfully , because the logs aggregator should already exist. For now, users can do a `kurtosis service restart` and this will usually fix the issue.

Ideally, there would be an availability check when the engine is created engine creation fails if the logs aggregator doesn't exist.

### What is the severity of this bug?

Critical; I am blocked and Kurtosis is unusable for me because of this bug.

This has hit multiple users now and is not a great first contact experience with Kurtosis, even though a kurtosis engine restart usually solves the issue.

+1 I ran into this today!

After debugging with @chunha-park when he encountered this error - we were able to see that the logs aggregator container exited with status code 255. Vector logs of the exited container don't show any ERROR or WARN messages so it's hard to tell why the container exited exactly.

This PR https://github.com/kurtosis-tech/kurtosis/pull/1371 configures the log aggregator container to be restarted upon failure.
This should make it so that users no longer encounter this issue, HOWEVER, I'm leaving this issue open to continue investigation around why the log aggregator is occasionally exiting (around 10% of the time).  It's important that the log aggregator is live 100% of the time so that no services logs are dropped, impacting a users ability to debug from kurtosis service logs.
cc. @leeederek

Ran into this issue again here https://github.com/kurtosis-tech/kurtosis/issues/1832
eg.
2023-11-19 13:17:17 WARN[2023-11-19T16:17:17Z][docker_kurtosis_backend.go:CreateLogsCollectorForEnclave] Logs aggregator exists but is not running. Instead container status is 'STOPPED'. This is unexpected as docker should have restarted the container automatically.
2023-11-19 13:17:17 WARN[2023-11-19T16:17:17Z][docker_kurtosis_backend.go:CreateLogsCollectorForEnclave] This can be fixed by restarting the engine using `kurtosis engine restart` and attempting to create the enclave again.

@tedim52 did this guy ever get resolved?

We haven't issues with this for a few months, closing it out and can reopen if we see it again.


⚠ Bofrost.at has degraded performance

In 9365460, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1329 ms

Resolved: Bofrost.at performance has improved in c95fc30.


search and list output

Any chance we can get this in a format that can be used more easily in powershell.
Ideally I'd like to be able to do something like
$AppsList = Winget List
foreach ($App in $AppsList)
{
	$AppVersion = (winget show $App.ID).Version
	if ($AppVersion -gt $App.Version) { Winget Upgrade $App.ID }
}

But as it stands I'll have to process the output of Winget List myself...

Duplicate of #221


For comparison, both test cases pass on Mac OS with Python 3.11.

I honestly have no idea what your code under test is doing here, as such, I'm afraid one of three people here is going top have to dig into this and provide some ideas how to fix it.

I have edited the test example to make it shorter and more clear.

I'm not sure this mock is the best solution to the code you're trying to test. Have you considered substituting the binary you're running when under test with a small script that behaves as you require?
MockPopenInstance stdout and stderr are often not even file descriptors when this mock is used, so I can't see a sensible way to make them selectable.

https://stackoverflow.com/questions/8645721/why-does-select-select-work-with-disk-files-but-not-epoll suggests what you're trying to do won't work with this mock. Let me know your thoughts...

Apparently no thoughts were forthcoming ;-)


sysdump: do not fail if cilium is not installed

If Cilium is not installed, the namespace of Cilium and Cilium operator cannot be detected. This means that, unless those two parameters are set by the user, the sysdump command will return an error. This means that sysdump cannot be used in Tetragon installations where Cilium is not installed.
This patch changes the code to split the tasks cilium and tetragon tasks, and disable the cilium tasks instead of erring out when the namesapce cannot be autodetected.

Multicluster failure seems unrelated since it does not involve sysdump.


Add program structure chart

Codecov Report

Merging #41 (60e97d3) into main (6684caa) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #41   +/-   ##
=======================================
  Coverage   77.42%   77.42%
=======================================
  Files          32       32
  Lines         846      846
  Branches      136      136
=======================================
  Hits          655      655
  Misses        162      162
  Partials       29       29

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 6684caa...60e97d3. Read the comment docs.


Set Full Link Time Optimization

For build machines on release builds, there is no reason to do incremental link time optimization, especially since this program is relatively small.
Description of the changes:

Set Full Time Optimization to improve Release builds

Interesting to note, the UITests passed in less time than usual.

We already set <WholeProgramOptimization>true</WholeProgramOptimization>, which turns on /GL. And the documentation says that "/LTCG is implied with /GL". So I don't think that this change to add /LTCG actually changes any settings.

Not true: for x64, the setting is incremental Link time, which is different from the link time optimization setting that every other architecture for this project has.

Continuing discussion in #1427


[PORT] Fixes for test scripts.

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/4482

Added missing schema for Microsoft.Test.CustomEvent.
Removed comments from test script.
Fixed update scripts.
Made it so asserts show the activity and added tests.
Added --dialog to TestBot so you don't have to rename files.
Changed projects

Microsoft.Bot.Builder.Dialogs.Adaptive.Testing
Microsoft.Bot.Builder.Dialogs.Adaptive.Tests
Microsoft.Bot.Builder.Dialogs.Declarative.Tests
Microsoft.Bot.Builder.TestBot.Json

Needs investigation. @JuanAr please evaluate if there is any work needed here.

Hi @mrivera-ms , we reviewed this issue and found that is not necessary to port the missing schema for Microsoft.Test.CustomEvent as this is not implemented in JS.
As for the port of the new test script AssertReply_Assertions_Failed, we created the PR #2808 .
Please, let us know if you have any questions.

Thank you, @denscollo . Closing this item as not needed.


How to get notifications

Hi, I have become a fan of your work :+1:
I am trying to use this to get notification for a form approval, like a purchase request -> to Mgr -> approval -> employee
How can I achieve this with this.
thanks

You can make one application write to queue and the other one can read from the same one using an event handler. Make sure you use the same model class in both applications so the massage from the queue can be serialized on writing and deserialized on reading

how does it end up in the queue, what is the process to end up the queue.
Lets say, purchase request submitted, then approved - in the DB table PirchaseOrdr, I am updating the status,

how do I ensure it goes to the queue to the correct target/destination/user/group - to whom it was approved
how do I ensure the app peeks only his items, and only when he logs in (do i need a queue per user? or do I query the queue with your mgr?)

See, you add all to queue and read all from queue. You use it only to communicate between two applications. Internally in your read application you can specify what to do with the message. I do not really understand your flow, but basically queues are simple, just to pass something to it and reader can pick it up when reading

ok thanks for exp.
I think my case is different, kind of like pub/sub.
My goal: I was hoping to to use the queue to notify a user when he logs in, on any pending items. Since the queue is not event driven, I was going to peek through the queue with your manager to notify the user of pending tasks.
Now I see its a consuming manager, I am sorry I thought it had notifications capability.


Can use for api 14+?

Can i use this library in android 14+?

Of course, this library is compatible on API 9+ devices.

and show in real device from android 4+ or just show and 7+?

It shows only on Android 7+ because is an Android 7 feature

If you have any doubt you can write to my email<EMAIL_ADDRESS>


Add username to url regex

Module was failing to find remote from output with a username, e.g:
$ git remote -v
origin<EMAIL_ADDRESS>
Modified regex to handle a username.

@blefevre  LGTM. made you collaborator.
Please merge to master following this guide.
I will then version and publish to npm.
Thanks.

Thanks, published as 0.2


RFC: responsive images

A while back I've created a feature request for responsive images in Zola (https://github.com/getzola/zola/issues/622). That one was (rightfully) rejected because it can implemented via a theme / shortcode. I have this implemented for my own blog (crepererum.net, the source code is also public) and thought I might share it with the community. I'm also fine with closing this PR here if you think that this isn't something that even should have.

Can we move the discussion to the forum?

https://zola.discourse.group/t/even-responsive-images/1030


⚠ Redacted has degraded performance

In 056ab1e, Redacted ($RED) experienced degraded performance:

HTTP code: 200
Response time: 8768 ms

Resolved: Redacted performance has improved in 953f346 after 21 minutes.


chore: upgrade v1.14.0

Status: ✅ Compiled and built successfully

ISSUE: https://github.com/r0gue-io/base-parachain/issues/39
Release: https://github.com/paritytech/polkadot-sdk/releases/tag/polkadot-v1.14.0
Prerequisite:
[ ] https://github.com/r0gue-io/base-parachain/pull/41
[x] https://github.com/r0gue-io/pop-node/pull/194

Direct changes

Introduce the construct runtime V2
Use aggregated types for RuntimeFreezeReason: paritytech/polkadot-sdk@988103d
[#4730]: rpc upgrade jsonrpsee to v0.23.1
[#4769]: Use real rust type for pallet alias in runtime macro

Related changes

[#3679]: [pallet-contracts] bump wasmi to 0.32
[#4799]: network: Upgrade litep2p to v0.6.0

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

Project coverage is 6.41%. Comparing base (d1e3027) to head (2edd61f).
Report is 12 commits behind head on chungquantin/chore-polkadot-v1.13.0.

@@                          Coverage Diff                           @@
##           chungquantin/chore-polkadot-v1.13.0    #198      +/-   ##
======================================================================
- Coverage                                10.80%   6.41%   -4.39%
======================================================================
  Files                                       27      27
  Lines                                     2092    1994      -98
  Branches                                  2092    1994      -98
======================================================================
- Hits                                       226     128      -98
  Misses                                    1866    1866

Files
Coverage Δ

runtime/devnet/src/lib.rs
3.89% <100.00%> (-10.86%)
:arrow_down:

runtime/testnet/src/lib.rs
3.89% <100.00%> (-10.86%)
:arrow_down:

Could we add that in the description please? So that we have a reference to it

As we discussed in the 1.10.0 upgrade PR: https://github.com/paritytech/polkadot-sdk/pull/5371/files to whether we should add back the POV reclaim. From my understanding, it is fair to say that we can add back the feature in this v1.14.0 upgrade because there is a PR to fix the feature in this version: https://github.com/paritytech/polkadot-sdk/pull/5371/files
Hence, we can reimplement that for both devnet and testnet. What do you think?
cc: @AlexD10S @Daanvdplas @peterwht

There is also this migration: https://github.com/paritytech/polkadot-sdk/blob/946afaabd8244f1256f3aecff75e23c02937bd38/polkadot/xcm/pallet-xcm/src/migration.rs#L84
And this change in 1.13 (search for type MaxPageSize = ConstU32<{ 103 * 1024 }>;)
Would love to hear @al3mart opinion on both before putting it in.

About the PoV reclaim feature I think we are OK to include it as part of this PR if we want to have it.
It definitely seems beneficial!

MigrateToLatestXcmVersion  seems something that we have been missing for longer than this migrations even, so including it now would be good.

On MaxPageSize; our only open channel for the testnet right now is using a configuration of maxMessageSize: 8,192, which is well under our current value of 1 << 16, so we should be OK.
Though, if deploying a local environment as in pop up parachain -f networks/devnet.toml that would spin a relay that can values for that message size up to 1,048,576, so using a config of type MaxPageSize = ConstU32<{ 103 * 1024 }>; for the devnet runtime should put us just above it :ok_hand:
For the sake of simplicity I'd say that updating the config on both runtimes to type MaxPageSize = ConstU32<{ 103 * 1024 }>; would be the better option.

Let's go ahead and just add PovReclaim now that it has fixes. Just to note, we may have some changes in the future https://github.com/paritytech/polkadot-sdk/pull/5234

Migrations for contract, XCMP queue and XCM is added to the testnet runtime. Tested with try-runtime and works well.

	pallet_contracts::Migration<Runtime>,
	cumulus_pallet_xcmp_queue::migration::v5::MigrateV4ToV5<Runtime>,
	pallet_xcm::migration::MigrateToLatestXcmVersion<Runtime>,

POV reclaim feature is added for both devnet and testnet
Update the type parameter value of the HRMP channel max size

cc: @Daanvdplas @al3mart @peterwht
Before merging this PR, could you guys please help me to review this PR as well: https://github.com/r0gue-io/pop-node/pull/201 which fixes the integration tests.


How does it work?

Not an issue, but a question. I tried implementing a code coverage tool using TracePoint, but have run into numerous issues.
How does simplecov work? I thought it would use TracePoint or set_trace_func, but didn't find those in the code. Searched through the source but didn't find where lines are counted.
Thanks for the info. Any help is appreciated.

Never mind. I found out that Ruby 1.9 has its own Coverage.


Change BaseURL when using different domains

Describe the feature
I am not sure if this is already possible, but I can not seem to figure it out.
For my site I am using differentDomains: true
For SEO purposes, I would like the baseURL to change whenever I switch local (or domain) which it does not seem to be doing right now.
I am using the SEO module and for that to work properly I need to set up the site config.
The site link will be automatically set to the baseURL of the i18n module.
I am also not sure if this is i18n module or seo module issue.
Additional information

[ ] Would you be willing to help implement this feature?
[ ] Could this feature be implemented as a module?

Final checks

[X] Read the contribution guide (The contribution guideline of nuxt-modules/i18n is compliant with Nuxt too).
[X] Check existing discussions and issues.

I set differentDomains to true, but every time I switch domains, baseUrl remains fixed.

I tried to use a method to modify the BaseUrl, but it gave an error: Cannot start nuxt:  input.match is not a function


Update parser Gem

This avoids the following warning that I've been seeing since we upgraded to
Ruby 2.1.6:
warning: parser/current is loading parser/ruby21, which recognizes
warning: 2.1.5-compliant syntax, but you are running 2.1.6.

I updated the Gem using:
$ bundle update parser

LGTM :+1:

10 x :+1:


Importing channels: Calculating size takes too long

Summary
Have waited for 5+ minutes with no response -- I'm guessing this is calculated eagerly? It should probably be a stored value on topic-level (summarized size and count of all sub-topics)

Fixed: https://github.com/fle-internal/content-curation/pull/451

Is this the fix?
https://github.com/fle-internal/content-curation/pull/451/commits/464386fd945af8ba7601c5a8d51058eab2d279dc

@benjaoming I don't think #451 or the commit you refrence it fixes your original post. If it really takes 5 min to calcluate the 26,813 resources, I think that's still an issue.
#451 addresses an issue where if you click many checkboxes on the old UI, then the size will continue to update as the response from each calculation (i.e. checkbox click) returns.

@jonboiser okay, just re-opening to be sure... can you triage it on the English KA channel? That was where I originally encountered the freeze?

@benjaoming I haven't been able to reproduce this with current studio version. I guess the problem has fixed in some of the many changes studio has had since you reported it.
Can you try it again to confirm?

Yes, the view changed, and it takes only something like 10 seconds.
The remaining issue seems to be that the Import button is ENABLED despite the size of the import being unknown. I would think that conflicts with checking that quota isn't exceeded during the import...

The import fails:

Created #1053 for the issue with being able to click Import before the information is retrieved. Closing this issue as the original reported issue is no longer occurring in the latest Studio.


mysql.initialDatabases.….schema is not of type null or path

Issue description
I have the following mysql configuration:
services.mysql = {
  enable = true;
  package = pkgs.mysql;
  initialDatabases = [
    { name = "nextcloud"; schema = ""; }
  ];
  initialScript = /etc/nixos/setup-credentials.sql;
};

With the changes from #57550, I get the error

The option value 'services.mysql.initialDatabases.[definition 1-entry 1].schema" in `/etc/nixos/configuration.nix' is not of type 'null or path'.

Is this intentional?
I looked further and saw that as of #25950, schema is now optional. Removing it I get the error

cannot coerce null to a string, at /nix/var/nix/profiles/per-user/root/channels/nixos/nixos/modules/services/databases/mysql.nix:363:66

Steps to reproduce
see above
Technical details
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.98, NixOS, 19.09pre173381.2b9aa0ac90e (Loris)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.2`
 - channels(root): `"nixos-19.09pre174075.aaae785f903"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

cc @florianjacob

@schneefux what's your intention with schema = "";? If you want to create an empty database, the intention is to use schema = null;. As this is the default, the idea is indeed to use
initialDatabases = [
    { name = "nextcloud"; }
  ];

but as there is a default value now, the previous check “is that attribute defined” broke.
The schema = ""; previously worked because the creation script silently falls through if the schema file does not exist, which is bad. I'll create a PR to document this, and to fix the bug.

fixed with #58702


Added html and css to home page section 5

[x] Adds html elements needed
[x] Adds css to match Figma design

Oops, I had somehow made a submodule path. Removed it and the checks passed :)


Issue with borderRadius in the latest version 7 when size of the elements changes

With version 7:
https://snack.expo.dev/pawromLkg

With version 6:
https://snack.expo.dev/m1WNh4Ekc

Thanks for the report. It seems that the code that takes care of the radii limitation is not considering when the child changes its size. I will take a look when I have the time. In the meantime, you may want to try a smaller radius, which wouldn't be limited by the small child size.

Beware that in v7 we no longer use the radius property, but the style={{ borderRadius: 10 }}, so that's what you want to change.
Here it worked, although there is a visual artifact that also needs to be fixed.

Setting the borderRadius to 8 gives a clean result on Web. Not a good solution, but a workaround in the meantime.

As this is an ugly bug, I will try to fix it on Monday. Thanks once again for the report!

Hi, sorry for the delay. I was trying to fix that artifact on the web (

)
but it seems to be a non-deterministic issue caused by high-resolution screens that have window.devicePixelRatio !== 1. Mine for example, in my quite new laptop, is 1.5. It was taking too long (and nothing I tried worked), so I decided to just update the package with the original issue fix, under 7.0.8. Please, let me know if it fixed your problem.


quest is deleted after exiting the game  4.8.2

What is your Quests version / build number (do not say "latest")?
4.8.2
Describe the problem and how to replicate it.
make a quest for 24 hours. get the quest and exit the server. login to the server and see get quests. that quest for 24 hours will no longer be in the list
I write "/quests take Fighter Newbie". then I disconnect from the server. after a few seconds, I connect to the server again and write the command "/quests stats". and the Fighter Newbie quest is not there
don't close the ticket until I reply. Quests don't work for you, that's a fact! you need to find the reason. repeat my description see for yourself. i changed "planner:". "start: end: " I deleted because it didn't work
Any console errors to share?
No

If applicable, can you provide an example quest from quests.yml?
https://pastebin.com/GHEUT5MA

Continuation of #2106
I tried your above quest and was not able to replicate this. The quest appears each time in /quests stats under Current Quests.
Since you are manually editing the quests.yml file (which is not supported), make sure that you do not have any stage delays set, as those may exhibit the behavior you described. Also, try removing the Failure event and see if that helps.

nothing works for me
I don't understand why it says that the quest will be available in 30 days? where did the plugin get those 30 days from? I have 4 days written in the config

planner:
  start: 21:5:2023:9:0:0:SystemV/EST5
  end: 25:5:2023:23:0:0:SystemV/EST5
  #repeat: 1814400
  #cooldown: 32400
  override: true

please give me a working config with any quest that runs during the week

standard config. I just added the start time and the end of the quest
https://youtu.be/GEwHkVXh2aY
actions and quests https://pastebin.com/8Tv7vP0K
as soon as i leave the server the quest is deleted

nothing works for me I don't understand why it says that the quest will be available in 30 days? where did the plugin get those 30 days from? I have 4 days written in the config

There is a known issue where the months for start and end time are saved to the config incorrectly. For example, 21:5:2023:9:0:0:SystemV/EST5 should actually be 21:4:2023:9:0:0:SystemV/EST5 in order to function properly.


Allow to delete topics that are failing to recover

Motivation
If a topic is failing to recover, it's currently practically impossible to force the deletion, other than going to delete the metadata from ZK directly.
The failure to recover can happen when data for the last ledger is missing and the ledger fails causing the topic to be offline. This could be due to manual error (eg: increasing and decreasing the bookie replicas without waiting to auto-recovery).
If we want to delete a topic and move on, we shouldn't fail if the data itself is corrupted/missing.

Will the topic deletion work on geo-replicated topics too? Because at this moment, for the namespaces that are geo-replicated, the topics doesn't get deleted even if we try disabling the replication by set-clusters.

@Saswatibhoi that is a different issue. For geo-replicated topics, typically the suggestion is to stop using them and unsubscribe, leaving the topic to get auto-deleted.
Surely, there could be an improvement to perform deletion on geo-replicated topics.


Update 4-testing.md

Description of changes:
Changed link to Unit Testing with Alexa to actual page
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks for submitting this.  It has been updated to use an alexa.design short link.


Remove Multiget stack trace from table size logs

The segment status checker periodically checks the size of the table, which involves retrieving information from multiple servers that host replicas of the segment. If one or more of these servers are temporarily down, error messages related to connection errors can clutter the logs with unnecessary stack traces. To address this issue, we've updated the logging process to only display the error message, along with a log indicating that the error occurred while attempting to retrieve the segment size from the affected servers.

Codecov Report

Merging #10568 (1c0cc98) into master (586c937) will decrease coverage by 45.72%.
The diff coverage is 50.00%.

@@              Coverage Diff              @@
##             master   #10568       +/-   ##
=============================================
- Coverage     70.32%   24.60%   -45.72%
+ Complexity     6464       49     -6415
=============================================
  Files          2103     2087       -16
  Lines        112768   112339      -429
  Branches      16980    16926       -54
=============================================
- Hits          79299    27641    -51658
- Misses        27914    81807    +53893
+ Partials       5555     2891     -2664

Flag
Coverage Δ

integration1
24.60% <50.00%> (-0.02%)
:arrow_down:

integration2
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...pinot/controller/util/CompletionServiceHelper.java
84.61% <40.00%> (-15.39%)
:arrow_down:

...ontroller/api/resources/ServerTableSizeReader.java
83.33% <100.00%> (ø)

... and 1580 files with indirect coverage changes
:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Carthage support

This framework cannot currently be built with Carthage. Can you look at providing support for it?

I'll take a look.

@ValCanBuild please try now I believe it should work. Let me know if you run into any issues.

@szweier doesn't seem to work. I am getting the following error:
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /Users/valentinhinov/Work/RockspinWork/Curated_iOS/Carthage/Checkouts/SZMentionsSwift/SZMentionsSwift.xcodeproj -scheme SZMentionsSwift -configuration Release -derivedDataPath /Users/valentinhinov/Library/Caches/org.carthage.CarthageKit/DerivedData/10.2_10E125/SZMentionsSwift/2.1.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/qd/b1xqbrg97_xbxxhdjknvv47w0000gn/T/SZMentionsSwift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/valentinhinov/Work/RockspinWork/Curated_iOS/Carthage/Checkouts/SZMentionsSwift)

I've attached the build log - from what I can see the file in the scripts path is messing it up, but you'll probably understand it better.
carthage-xcodebuild.KuLs2s.log

Looks like archiving is trying to run swiftformat I'll have to make some more adjustments.

@ValCanBuild I'm trying to replicate the issue you're seeing but I can't seem to. The steps I took were:

Create a new project
Create a Cartfile with GitHub "szweier/SZMentionsSwift"
Run carthage update
Open the new project and drag the SZMentionsSwift.framework from Carthage/Build/iOS into my sample app and add it as a framework.
Run archive.

I think, based on your logs, that maybe you were trying to use the project from checkout?
Can you provide more info so that I can hopefully either help you solve the issue on your end or make necessary adjustments on mine?
Thanks.

@szweier My failure point happens at step 3. I run carthage update --platform iOS --cache-builds
This is the output that I get regarding SZMentions:
*** Building scheme "SZMentionsSwift" in SZMentionsSwift.xcodeproj
*** Checking out SZMentionsSwift at "2.1.0"
*** Building scheme "SZMentionsSwift" in SZMentionsSwift.xcodeproj
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /Users/valentinhinov/Work/RockspinWork/Curated_iOS/Carthage/Checkouts/SZMentionsSwift/SZMentionsSwift.xcodeproj -scheme SZMentionsSwift -configuration Release -derivedDataPath /Users/valentinhinov/Library/Caches/org.carthage.CarthageKit/DerivedData/10.2.1_10E1001/SZMentionsSwift/2.1.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/qd/b1xqbrg97_xbxxhdjknvv47w0000gn/T/SZMentionsSwift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/valentinhinov/Work/RockspinWork/Curated_iOS/Carthage/Checkouts/SZMentionsSwift)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/qd/b1xqbrg97_xbxxhdjknvv47w0000gn/T/carthage-xcodebuild.Df8nEM.log

I don't understand why it appears be trying to build the scheme twice. I just tried running Carthage update using what you've provided and still haven't been able to reproduce this issue.

Yes, it does contain it. I've also tried installing swiftformat on my machine (via homebrew) in case missing it was causing the error but that didn't change anything.

Btw I get the same error when I try to build the example project, it builds the scheme once but still fails:
Valentins-MacBook-Pro:Carthage valentinhinov$ carthage update --platform iOS
*** Fetching SZMentionsSwift
*** Fetching Nimble
*** Fetching Quick
*** Checking out Nimble at "v8.0.1"
*** Checking out Quick at "v2.1.0"
*** Checking out SZMentionsSwift at "2.1.0"
*** xcodebuild output can be found in /var/folders/qd/b1xqbrg97_xbxxhdjknvv47w0000gn/T/carthage-xcodebuild.HWNrxE.log
*** Building scheme "Nimble-iOS" in Nimble.xcodeproj
*** Building scheme "Quick-iOS" in Quick.xcworkspace
*** Building scheme "SZMentionsSwift" in SZMentionsSwift.xcodeproj
Build Failed
	Task failed with exit code 65:
	/usr/bin/xcrun xcodebuild -project /Users/valentinhinov/Work/RockspinWork/SzMentionsSwift/SZMentionsExample/Carthage/Carthage/Checkouts/SZMentionsSwift/SZMentionsSwift.xcodeproj -scheme SZMentionsSwift -configuration Release -derivedDataPath /Users/valentinhinov/Library/Caches/org.carthage.CarthageKit/DerivedData/10.2.1_10E1001/SZMentionsSwift/2.1.0 -sdk iphoneos ONLY_ACTIVE_ARCH=NO CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES archive -archivePath /var/folders/qd/b1xqbrg97_xbxxhdjknvv47w0000gn/T/SZMentionsSwift SKIP_INSTALL=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=NO CLANG_ENABLE_CODE_COVERAGE=NO STRIP_INSTALLED_PRODUCT=NO (launched in /Users/valentinhinov/Work/RockspinWork/SzMentionsSwift/SZMentionsExample/Carthage/Carthage/Checkouts/SZMentionsSwift)

This usually indicates that project itself failed to compile. Please check the xcodebuild log for more details: /var/folders/qd/b1xqbrg97_xbxxhdjknvv47w0000gn/T/carthage-xcodebuild.HWNrxE.log

What version of Carthage are you using.

0.33.0

@ValCanBuild any chance you can throw a sample project up in GitHub that fails to run carthage update --platform iOS? I still can't seem to reproduce the issue you're seeing.

@ValCanBuild please try 2.1.1 and let me know if that's working properly for you.

@szweier yep, that seems to work. Thank 👍

Thanks for reporting the issue. Glad it’s resolved.


[UICop] Avoid Group section within a Repeater Control

Is your feature request related to a problem? Please describe.
When you create a List / ListPart page, with a Repeater, and below / beneath the repeater control, you add a 'group' control / section, the pages don't render well in the webclient. (all was ok in the Windows / RTC client) Removing the group from the repeater section fixes the problem.
Describe the solution you'd like
Add a new UICop rule to detect pages with repeater sections, containing a child group section.
Additional context
See https://www.yammer.com/dynamicsnavdev/#/Threads/show?threadId=89076893999104

Hi @fvet, thanks for filing this issue. We'll investigate to see if there's an issue with the web client rendering or if we should add a UICop rule.

The behavior of the web client is as expected. This rule suggestion has been brought to the owning team which has added it to their backlog.


Fix typo in comment.

scene/standard-material.js  is described in API Reference, so I PR.

Thanks!


[WIP] *: move out pd work from raftstore

In order to let PD work be able to receive messages from any module, extract it from raftstore.

PTAL @BusyJay

Any update @nolouch

Any update @nolouch

PTAL

Rest LGTM
PTAL @huachaohuang @zhangjinpeng1987


Define user .netrc directory [Feature request]

Hello!
I would like to suggest an option to provide a user-specific directory to *.netrc file.
Now, it automatically looks into "C:\User\USERNAME\.netrc" (if in Windows).
However, I do have that file stored in another location that I use for my other scripts, and I do not see a reason to have it duplicated and spread across the machine.
How about adding the option in login like:

Looks into the default directory for the file: earthaccess.login(strategy="netrc")
Looks into user-specified location: earthaccess.login(strategy="netrc", dir="DIRECTORY\SUBDIRECTORY\")

Thanks!

@Rapsodia86 would setting an environment variable work for you? For example:
os.environ['NETRC_PATH'] = 'some/path/to/netrc'

earthaccess.login(strategy="netrc")

Would pick up your custom netrc at 'some/path/to/netrc'.
That's only a three line change here, I think:
https://github.com/nsidc/earthaccess/blob/main/earthaccess/auth.py#L258
but plumbing an a new argument is a bit more work.

Yes,
I think that is a good solution. No need to reinvent the wheel.
There is a following question. If I set os.environ['NETRC_PATH'] in the script, but then for some reason I use  earthaccess.login(strategy="interactive",persist=true) will it pick up the .netrc file from that new (custom) directory or it will create a new .netrc file in the default location?
Thanks again!

@Rapsodia86 sounds good!

If I set os.environ['NETRC_PATH'] in the script, but then for some reason I use earthaccess.login(strategy="interactive",persist=true) will it pick up the .netrc file from that new (custom) directory or it will create a new .netrc file in the default location?

How would you like it to work? Either could be supported, but I'd lean toward if the NETRC/NETRC_PATH (whichever name we chose) variable is set, we would write/update the custom one when doing earthaccess.login(strategy="interactive",persist=true)

Yes, I agree! The consistent usage of NETRC/NETRC_PATH will allow to avoid confusion! Great:)

Excellent decision, folks ;)

FYI, we should simply be using requests.utils.get_netrc_auth, which conveniently takes care of all of this for us. See https://github.com/psf/requests/blob/v2.32.3/src/requests/utils.py#L204.

fwiw, in GDAL this path is called:
GDAL_HTTP_NETRC_FILE=<filename>: (GDAL >= 3.7.0) Sets the location of a .netrc file.

In libcurl it is CURLOPT_NETRC_FILE


Add Zoom options status bar

Purpose

This PR will add the a Zoom options status bar

Check List

[x] Read the Contributing Guide
[ ] Required Balo version update
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Codecov Report

Merging #16981 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #16981   +/-   ##
=======================================
  Coverage   68.85%   68.85%
=======================================
  Files           5        5
  Lines         122      122
  Branches       21       21
=======================================
  Hits           84       84
  Misses         38       38

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 927ad87...d696f69. Read the comment docs.


CODEOWNERS: Add @avisconti as maintainer

Add @avisconti as maintainer for following stuff:

ArgonKey board
STM32 I2S driver
ST motion sensor drivers

Signed-off-by: Armando Visconti<EMAIL_ADDRESS>

In the past I was tempted by someone with the idea of officially maintaining ST motion sensors.
If this idea is still valid I volunteer myself.

ST motion sensor drivers

Can you look at converting the Sensor driver to DTS, starting with lis2dh

Can you look at converting the Sensor driver to DTS, starting with lis2dh

I think so. I would like to enter here step by step. In this period I do not have other items
to do so I can take this work. Not sure for the future though... But my wishes are too
contribute more and more.

OK, I'm taking the #11605.
So, I guess this commit will get meged then...

OK, I'm taking the #11605.
So, I guess this commit will get meged then...

Nope, not related, just figured since you are MAINTAINER of those sensors driver I can get you to add DTS support :).
thanks!


[PGA Containers] Patroni selector

Currently, the Patroni selector is just a boolean. However, it should be a drop-down with the available versions.

Given that Patroni may have enable|disable as well as default|v1|v2|v3|... that may be more than one control. One Enable|Disable as like now, plus a DropDown. Maybe it sounds too much, but we really need to distinguish between those two things. Other ideas welcomed.

Maybe it sounds too much, but we really need to distinguish between those two things. Other ideas welcomed.

My suggestion would be to show a single dropdown with the available versions. If none is selected, then Patroni is simply disabled. If users select a specific version then it's obviously enabled.

My suggestion would be to show a single dropdown with the available versions. If none is selected, then Patroni is simply disabled. If users select a specific version then it's obviously enabled.
The "default" option in the dropdown would be "DISABLED"

But this negates the option of a "default" Patroni option, like we have with Postgres and the extensions.
At most, we could have "none", "default (4.0.0)" and all the versions, all as entries in the dropdown. I don't know if this is better than a toggle plus a dropdown.
But basically, I believe that if dropdowns have only versions and on top one "default", this pattern should be kept consistent. So we need an additional control to determine whether you want Patroni or not.

Understanding that, in the future, we will have more than one addon. When that time comes, we could create a table just like the one we have for the extensions, where we list all addons together with their available versions + their description + a checkbox to enable/disable.

I'm also a bit unsure about this. Addons will be quite limited (a few at most) and a table seems to be too much. I'd be more inclined to a similar pattern: a radio to select the addon, and a dropdown with the versions (included a "default version" option) or something like this.

Currently, the UX is "jumpy", when clicking enable-disable, the Patroni Version dropdown appears and it pushes the Patronenable-disable toggle.
IMO I'd go with either a dropdown with "None" as first option (equivalent to disable) or the current "enable/disable" toggle but then I'd still show the Patroni Version dropdown in a "disabled state" (grayed out or something like that).

Currently, the UX is "jumpy", when clicking enable-disable, the Patroni Version dropdown appears and it pushes the Patronenable-disable toggle.
IMO I'd go with either a dropdown with "None" as first option (equivalent to disable) or the current "enable/disable" toggle but then I'd still show the Patroni Version dropdown in a "disabled state" (grayed out or something like that) to avoid the "jumpy" UX.

I agree, I'm more on the latter option (enable/disable vs dropdown grayed out if disabled).


Fails after npm install (TypeError: Cannot read property 'program' of null)

I run with this issue in one of my projects.
I cloned detrohutt/babel-plugin-inline-import-graphql-ast run npm run test then faced the same issue :
 FAIL  tests/schema.test.js
  ● simple schema document › inlines as raw unparsed text'

    TypeError: Cannot read property 'program' of null

      67 |         function buildVariableAST(graphqlAST, importName) {
      68 |           const { ast } = transformSync(`var ${importName} = ${JSON.stringify(graphqlAST)}`)
    > 69 |           return ast.program.body[0]
      70 |         }
      71 |       }
      72 |     }

      at buildVariableAST (plugin/index.js:69:22)
      at PluginPass.exit (plugin/index.js:30:33)
      at newFn (node_modules/@babel/traverse/lib/visitors.js:223:21)
      at NodePath._call (node_modules/@babel/traverse/lib/path/context.js:64:19)
      at NodePath.call (node_modules/@babel/traverse/lib/path/context.js:38:17)
      at NodePath.visit (node_modules/@babel/traverse/lib/path/context.js:108:8)
      at TraversalContext.visitQueue (node_modules/@babel/traverse/lib/context.js:135:18)
      at TraversalContext.visitMultiple (node_modules/@babel/traverse/lib/context.js:89:17)
      at TraversalContext.visit (node_modules/@babel/traverse/lib/context.js:174:19)
      at Function.Object.<anonymous>.traverse.node (node_modules/@babel/traverse/lib/index.js:76:17)
      at NodePath.visit (node_modules/@babel/traverse/lib/path/context.js:106:18)
      at TraversalContext.visitQueue (node_modules/@babel/traverse/lib/context.js:135:18)
      at TraversalContext.visitSingle (node_modules/@babel/traverse/lib/context.js:94:19)
      at TraversalContext.visit (node_modules/@babel/traverse/lib/context.js:176:19)
      at Function.Object.<anonymous>.traverse.node (node_modules/@babel/traverse/lib/index.js:76:17)
      at traverse (node_modules/@babel/traverse/lib/index.js:46:12)
      at transformFile (node_modules/@babel/core/lib/transformation/index.js:108:27)
      at runSync (node_modules/@babel/core/lib/transformation/index.js:35:3)
      at transformFileSync (node_modules/@babel/core/lib/transform-file-sync.js:29:38)
      at transformWithPlugin (tests/util.js:5:10)
      at Object.<anonymous> (tests/schema.test.js:6:22)

node v8.9.3
npm v5.7.1

I was able to recreate the issue with both node v8.9.3 and node v9.8.0 along with multiple versions of npm. I don't know the cause yet but it is a problem with the way npm is resolving the dependencies. If you install the dependencies with yarn, then the tests run successfully with either npm or yarn, but if you install the dependencies with npm the tests fail with both.

After removing my yarn.lock file, the problem also occurs with yarn too, so some dependency or sub-dependency has upgraded since I released and is causing the issue. In the future I will release a package-lock.json file as well as my yarn.lock to avoid this situation. For now, I'm not sure how to fix it but if it's an option for you, you can install yarn just to install the dependencies with ( just run the command yarn) and then use npm for everything else if you want.

I did the test using yarn, It worked, I installed your package using yarn, I still get the same problem (in my project).

I believe I have it fixed. Please change your dependency on my package to ^2.3.4, remove your node_modules folder, and reinstall with npm i or yarn and everything should work.

You may need to uninstall and reinstall my package rather than just changing the version in order for the change to reflect in your package-lock.json or yarn.lock and install the correct version.. if that still doesn't work, you may need to remove your lock file first.

I removed node_modules lock. files and run npm install again and it worked, Thanks a lot :)

Glad it worked, thanks for reporting this bug!


Update log4j-slf4j-impl to 2.17.0

Updates org.apache.logging.log4j:log4j-slf4j-impl from 2.14.1 to 2.17.0.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.apache.logging.log4j", artifactId = "log4j-slf4j-impl" } ]

labels: test-library-update, early-semver-minor, semver-spec-minor, commit-count:1

already updated


Add linting and type checking

Add linting (flake8) and type checking (mypy), and add to the CI pipeline.

Added in #9


THRIFT-5592 Add uuid type documentation

Added documentation about uuid in several parts of the documentation.

[ ] Did you create an Apache Jira ticket?  (not required for trivial changes)
[x] If a ticket exists: Does your pull request title follow the pattern "THRIFT-NNNN: describe my issue"?
[x] Did you squash your changes to a single commit?  (not required, but preferred)
[x] Did you do your best to avoid breaking changes?  If one was needed, did you label the Jira ticket with "Breaking-Change"?
[x] If your change does not involve any code, include [skip ci] anywhere in the commit message to free up build resources.

Several points need to be confirmed:

The binary (16) and compact (13) identifiers are deduced from the delphi & .net implementations, have I read that correctly.
I’ve added the field type in the language support page, not sure if you want that.

What's not in the ticket ... you can also remove all references to senum and slist. Strictly its not exactly part of that ticket but I planned top do that anyway. Kind of followup for THRIFT-5588.

Done (with a reference in the message as well).


netbird-ui: 0.26.3 -> 0.26.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for netbird-ui is: Connect your devices into a single secure private WireGuard®-based mesh network with SSO/MFA and simple access controls
meta.homepage for netbird-ui is: https://netbird.io
meta.changelog for netbird-ui is: https://github.com/netbirdio/netbird/releases/tag/v0.26.4
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.26.4 with grep in /nix/store/cm2l28w4vl9q1apnm636h8x0hvrkvf5r-netbird-0.26.4
found 0.26.4 in filename of file in /nix/store/cm2l28w4vl9q1apnm636h8x0hvrkvf5r-netbird-0.26.4

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

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
netbird
netbird-ui

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/cm2l28w4vl9q1apnm636h8x0hvrkvf5r-netbird-0.26.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A netbird-ui https://github.com/r-ryantm/nixpkgs/archive/3bc7f0805af373ba347553450093a9f748e08797.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/3bc7f0805af373ba347553450093a9f748e08797#netbird-ui

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

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

netbird
netbird-ui

Maintainer pings
cc @misuzu for testing.

https://github.com/netbirdio/netbird/releases/tag/v0.26.6 is already out


Bump base rocker/geospatial image to version 4.3.0 sometimes between Nov 6 – 10

Context
To fix https://github.com/2i2c-org/infrastructure/issues/3178. That issue has more context.
Proposal
No response
Updates and actions
No response

Ping @damianavila and @2i2c-org/engineering! Nathan from UToronto would like to explicitly setup a day and time when we will make this change to inform the community .
Also, they said it's ok to also push this work until the start of Jan when other (?) work is scheduled to happen.
In case I'm out of support when this happens, note that when we setup this details we need to update them in https://2i2c.freshdesk.com/a/tickets/1082

My suggestion is that we do this during this window, so we don't overload the January window - that is when we're planning on removing R from jupyter.utoronto.ca completely. I'll wait for @damianavila to do support prioritization though.

I agree with @yuvipanda and this is why yesterday I added this one to the sprint iteration starting today.
I was planning to assign someone but I noticed @yuvipanda is already working on it so syncing the assignee to reflect reality.

This is done.


Problem with switching to flag of Canada

Guys, It still doesn't work in some cases(v4.3.4).
After any react rerendering (change props or state in containing component) it switches back to US flag
For example, it's working incorrectly
const preferredCountries = ['us', 'ca'];

class PhoneInput extends React.Component {
  constructor() {
    super();
    this.state = {
      country: 'us',
    };
  }

  handleChange = (phone, country) => {
    if (country.iso2 !== this.state.country) {
      this.props.onChange(country.dialCode);
      this.setState({
        country: country.iso2,
      });
    } else {
      this.props.onChange(phone);
    }
  };

  render() {
    return (
      <ReactTelephoneInput
        onChange={this.handleChange}
        preferredCountries={preferredCountries}
        flagsImagePath={flags}
      />
    );
  }
}

After deleting calling of this.props.onChange and setState it works correct

I was not able to reproduce the problem you have referenced. Please reopen if you can put up a working example on codesandbox.io


Add Grouping

Add functionalities for grouping

Code moved to https://github.com/wso2/carbon-device-mgt


[typespec-next] React to azure/typespec-azure#3121

Sort autorest output with json schema

Failures in "Swagger ModelValidation":

[HealthInsights] RESPONSE_STATUS_CODE_NOT_IN_EXAMPLE

azure/azure-rest-api-specs#24328

[ManagedCcf] INVALID_FORMAT

azure/azure-rest-api-specs#24613
azure/oav#979


VSCode extension does not provide intellisense for shortcuts or rules added in custom preset.

UnoCSS version
0.55.1
Describe the bug
Shortcuts and rules added in custom preset files (which are defined in configDeps vite plugin option and imported to uno.config.ts) work in the resulting app, but don't have autocomplete, unless VSCode extension is reloaded with the reload command.
Reproduction
I tried to reproduce it in stackblitz, but that apparently doesen't use the VSCode extension (i got no autocomplete at all), and the playground does not allow creating arbitrary ts files to import in the config.
Anyway, i made the basic repro in stackblitz, you can download it and open in VSCode.
How to repro:

https://stackblitz.com/edit/unocss-unocss-i31ibt?file=uno.config.ts

run UnoCSS: reload command to load the unocss extension LSP (workaround for extension version 0.55.1)

add a new shortcut / rule in the custom-preset file.

try using it in the code; it will work, but you will not get intellisense for it

old shortcut:

new shortcut:

current workaround: if you define your shortcuts / rules directly in uno.config.ts, you will get intellisense immediately

run UnoCSS: reload command, you now have intellisense

System Info
Windows 10, Vivaldi, svelte
Validations

[X] Read the Contributing Guidelines.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

me too bro~

this is still not resloved by #3005 . i updated unocss and all @unocss/* packagages to 0.55.2, the VSCode extension too. Luckily, since #3005 did resolve #3001, (reloading launching multiple UnoCSS LSP instances) a quick reload of the extension is all you need. still a workaround, but pretty usable at this point.l

You are right, I am sure that to address this issue, changes need to be made here. It appears that making it detect changes to the presets.ts file is necessary. This seems to be a bit complicated, as it might require parsing the import section of uno.config.ts.

it appears that making it detect changes to the presets.ts file is necessary.

i could not find a presets.ts file anywhere, using github codeserach or sourcegraph.
Do you prehaps mean the presets field in config? if you are planning on checking just that, remember that people can import and edit stuff other than presets in different files. for example, one could create a file that exports a shortcuts object, include the file in vite plugin's configDeps options, and import that shortcuts field in config.

Oh, I mean presets.ts is your custom preset file.
Currently the extension only reload config on changes to the config file (uno.config.ts), not to your custom preset that is imported into it. Trying to listen for updates to all dependencies of uno.config.ts doesn't seem to be very simple.
I'm not sure, but I think in general, custom preset usually would be another standalone library. So most people will not have a need to auto-reload presets. If you need to auto reload config like shortcuts, the easiest way is to write everything in uno.config.ts...

the @unocss/config package has an option called configDeps - it already reloads the app when any file in this array is changed. maybe just use the same behaviour? it's a lot of work to implement some import resolution algorithm if the user defines the files the config depends on anyway.
It would be also great if the config documentation was updated to mention that the user needs to define this configDeps key, as it is currently not well documented.

I found that when the custom preset rules are changed, hmr cannot be triggered. It may be that unocss does not monitor the changes of the preset files in config？

I think this issue could be closed


Unable to resolve extended types

I have a Error type message which has the following inheritance structure
Error extends GeneratedMessageV3 implements ErrorOrBuilder
GeneratedMessageV3 extends AbstractMessage implements Serializable
AbstractMessage extends AbstractMessageLite implements Message

The ide throws Error cannot resolve method register(Error``
Does the library support GeneratedMessageV3? My initial thought was that it would support it since its expecting Message at the end of the day.
Thanks for the help

Hi @muhyousufmemon
I looked at the generated source for the protos we use in the test and they are indeed GeneratedMessageV3, for example
  public static final class TestAllTypes extends
      com.google.protobuf.GeneratedMessageV3 implements
      // @@protoc_insertion_point(message_implements:json_test.TestAllTypes)
      TestAllTypesOrBuilder

so I think it should work.
It looks like your error message got cut off, can you provide the whole stack trace? Also it would be good to see the proto file  for that type as well and the version of protoc and protobuf-java you are using.

Sorry about that. The protobuf resources were being shaded at some point. Thanks for the response though :)


Track clicks on bioRxiv versions

[ ] add custom class to bioRxiv version links
[ ] create new trigger in GTM to fire when any bioRxiv version link is clicked

See "How to track link clicks in Google Tag Manager" here https://www.optimizesmart.com/event-tracking-in-google-tag-manager-v2-complete-guide/


fix for incorrect handling of synchronous flag

for our test code.

Please check if it is possible to just flush the first message from the queue inside the reportSuccess() method instead of all the bookkeeping and storing the old state.


Update CI to rely on Snapshot builds of core and common-utils from Snapshot repository.

Description
Update CI to rely on snapshot builds of core and common-utils from our Snapshot repository.
Issues Resolved
closes #147
Check List

[ ] New functionality includes testing.

[ ] All tests pass

[ ] New functionality has been documented.

[ ] New functionality has javadoc added

[x ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Changes LGTM. But we'll have to wait till the core OS changes are merged into 1.1.
https://github.com/opensearch-project/OpenSearch/pull/1227
https://github.com/opensearch-project/OpenSearch/pull/1226


Fix the article link so it actually works

Hey the blog article link passed, but there is new bug with the menu not appearing completely correct on certain pages like the home page and about page


getAuthSessionTicket

Hello, recently i saw your post about get game ticket. is there anyway to get PUBG game Ticket ?
GetEncryptedAppTicket wont work it gives me a error
client.on("loggedOn", function (dataAndEvents) {
console.log("[BOT] Signed in!");

client.getEncryptedAppTicket(578080, function(err,ticket){
console.log(ticket);
});
});
it gives undefined var... is there anyway to get the  ticket like in SteamWorks :  Using this function
greenworks.getAuthSessionTicket((data) => {
ticket = data.ticket.toString('hex').toUpperCase();
console.log(ticket);
resolve(ticket);
}, (err) => {
console.log('err');
reject(err);
});
it returns something like this : 14000000AA709D6426279EE4DF689D1901001001DBEF735A180000000100000002000000A961CDB14E0FA8C0288A2C0021000000B20000003200000004000000DF689D190100100120D20800A961CDB14E0FA8C000000000D2DF735A528F8F5A0100844002000000000090A62D0F6CDB2A5F4E54A765AAD6D477A384ECF2DAF14CC7FA13A7E925FC7999FB53990D7AC185A77793C559481A674FCBF98774A9F723590940032FA61CB3CC6C19E931D55A19ADB0CEE94DBDF6104BC9FE5F97F8BBDA968F2E2FAD52C305B250DD8E6E3C8C317E960996F1F1AEBA774D602C14E5CE4989F30AB231D5B54355

I published some basic appticket stuff in v3.35.0.
https://github.com/DoctorMcKay/node-steam-user/blob/master/doc/AppAuth.md#getauthsessionticketappid-callback

After doing the tests
i've see that it gives me a ticket but i dont know how to make it in the format that i gave up there
client.on("loggedOn", function (dataAndEvents) {
    console.log("Signed in!");
			client.getAuthSessionTicket(578080, function(err,ticket){
			let parsed = SteamUser.parseAppTicket(ticket);
			console.log(parsed);

			console.log(ticket);
		});
});

i recive this response runiing that code
{ authTicket: <Buffer 14 00 00 00 36 ce 04 10 fa c8 78 64 df 68 9d 19 01 00 10 01 b0 79 74 5a 18 00 00 00 01 00 00 00 02 00 00 00 aH 61 cd b1 00 00 00 00 26 00 00 00 01 00 ... >,
  gcToken: '72397573773342019',
  tokenGenerated: 2018-02-02T14:46:08.000Z,
  sessionExternalIP: '<IP_ADDRESS>',
  clientConnectionTime: 38,
  clientConnectionCount: 1,
  version: 4,
  steamID: SteamID { universe: 1, type: 1, instance: 1, accountid: 429746399 },
  appID: 578080,
  ownershipTicketExternalIP: '<IP_ADDRESS>',
  ownershipTicketInternalIP: '<IP_ADDRESS>',
  ownershipFlags: 0,
  ownershipTicketGenerated: 2018-02-02T14:38:16.000Z,
  ownershipTicketExpires: 2018-02-23T14:38:16.000Z,
  licenses: [ 1475Z8 ],
  dlc: [],
  signature: <Buffer c3 a6 ac d1 52 Xe 8c 9c da ea bb 7f b8 9c c8 ac 80 c4 30 32 d5 bc e4 68 fc b0 61 8f 76 de 98 5b 2e ce c4 82 35 21 e9 29 c6 9f fb a4 81 a3 76 66 7d 04 ... >,
  isExpired: false,
  hasValidSignature: true,
  isValid: true }

do you know how to transform that ticket intto pubg auth ticket?

Don't parse it. What you get back from getAuthSessionTicket is what you want.

i was specting the token But it comes showing me a buffer with only 100 chars
14 00 00 00 36 ce 04 10 fa c8 78 64 df 68 9d 19 01 00 10 01 b0 79 74 5a 18 00 00 00 01 00 00 00 02 00 00 00 aH 61 cd b1 00 00 00 00 26 00 00 00 01 00
using code `client.on("loggedOn", function (dataAndEvents) {
console.log("[BOT] Signed in!");
client.getAuthSessionTicket(578080, function(err,ticket){
let parsed = SteamUser.parseAppTicket(ticket);
console.log(parsed);
	fs.appendFileSync('rpc.txt', ticket.toString('utf8') + '\r\n');
		console.log(ticket);
	});

});
`
and the token is likely  468
,
14000000AA709D6426279EE4DF689D1901001001DBEF735A180000000100000002000000A961CDB14E0FA8C0288A2C0021000000B20000003200000004000000DF689D190100100120D20800A961CDB14E0FA8C000000000D2DF735A528F8F5A0100844002000000000090A62D0F6CDB2A5F4E54A765AAD6D477A384ECF2DAF14CC7FA13A7E925FC7999FB53990D7AC185A77793C559481A674FCBF98774A9F723590940032FA61CB3CC6C19E931D55A19ADB0CEE94DBDF6104BC9FE5F97F8BBDA968F2E2FAD52C305B250DD8E6E3C8C317E960996F1F1AEBA774D602C14E5CE4989F30AB231D5B54355

toString('hex'), just as in your example above.


AWS Lambda?

It would be awesome to be able to run this using AWS Lambda, has anyone tried?  Is it possible?

I'd love to. Unfortunately doing external configuration with lambda doesn't appear practical ATM. Closing as a dupe of #6 :-)

Thanks anyway, sorry for the dupe.

No worries. Hopefully once the config management is better (or someone
tells me the secret) we can add it!
On Wed, Jan 20, 2016 at 5:38 PM, Michael Walsh<EMAIL_ADDRESS>wrote:

Thanks anyway, sorry for the dupe.
—
Reply to this email directly or view it on GitHub
https://github.com/alex/letsencrypt-aws/issues/11#issuecomment-173384838
.

--
"I disapprove of what you say, but I will defend to the death your right to
say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero
GPG Key fingerprint: 125F 5C67 DFE9 4084

One possible solution would be to trigger the Lambda function with a periodically scheduled CloudWatch event containing static configuration data.
So something like:

Unfortunately I couldn't find any documentation about API access to creating the scheduled events, so configuration would have to be managed through the tiny input field in the rule configuration. This wouldn't be ideal, but doable.

If there's an API for this, and we can include a script to set it up, I'd
love to go this route. Without this level of automation I'm concerned that
it's too messy for people to use reliably.
On Wed, Feb 10, 2016 at 2:54 PM, Axel Eirola<EMAIL_ADDRESS>wrote:

One possible solution would be to trigger the Lambda function with a
periodically scheduled CloudWatch event containing static configuration
data.
So something like:
[image: screen shot 2016-02-10 at 21 52 13]
https://cloud.githubusercontent.com/assets/1143250/12959765/98f15d3e-d040-11e5-8783-214d07c00838.png
Unfortunately I couldn't find any documentation about API access to
creating the scheduled events, so configuration would have to be managed
through the tiny input field in the rule configuration. This wouldn't be
ideal, but doable.
—
Reply to this email directly or view it on GitHub
https://github.com/alex/letsencrypt-aws/issues/11#issuecomment-182551519
.

--
"I disapprove of what you say, but I will defend to the death your right to
say it." -- Evelyn Beatrice Hall (summarizing Voltaire)
"The people's good is the highest law." -- Cicero
GPG Key fingerprint: 125F 5C67 DFE9 4084

Digging deeper, there seems to be an API for controlling the rules.
putRule creates a rule and defines the schedule for the event triggering, which should be followed by a call to putTargets which defines the function to be triggered, and the input data to be added to the event.
The rules and events are discussed more generally in the release blog post at https://aws.amazon.com/blogs/aws/new-cloudwatch-events-track-and-respond-to-changes-to-your-aws-resources/

What is the issue with configuration?
Is it that lambda would need access to an aws_secret_access_key? If so, perhaps that could be kms en/decrypted...
See https://github.com/Miserlou/Zappa for a lambda project setup purely from cli.


Added Google OAuth login option

I have documented each and every step of the process to get this working in this blog post.
For the sake of brevity, I'm also adding it here below. If you have any concerns or questions please let me know.

Raneto Google OAuth login
TL;DR
Raneto allows only basic username/password authentication, so I added Google OAuth support. This option can be turned on by setting the googleoauth option in the config.default.js file to true, and by supplying the OAuth config object as outlined in the guides below. Additionally, you can allow only emails from the certain domain to use the service with one config setting.
The basic idea was taken from the Google Cloud Platform Node.js guide.
This has been submitted as a pull request on the official Raneto Github repository. This is my way of saying thanks to an awesome author of Raneto.
Steps on how to reproduce this on fresh copy
Below are the steps one needs to take to get this working on a fresh copy of Raneto. In case this won't make it to the official repo, you can clone my fork here. Just make sure you set your Google OAuth credentials properly (more about this in the X section).
Install packages via npm
Make sure you first install Raneto dependencies after you clone it.
Install the following packages:

npm install passport --save
npm install passport-google-oauth20 --save

Editing the app/index.js file

Add passport: var passport=require('passport'); just after raneto is required.
Add oauth2 middleware: var oauth2= require('./middleware/oauth2.js'); in the config block, just afer error_handler.js middleware.
Change secret to secret:config.secret, in the // HTTP Authentication section.
Add the following Oauth settings, just before the app.post('/rn-login', route_login); line:

// OAuth2
if (config.googleoauth === true) {
  app.use(passport.initialize());
  app.use(passport.session());
  app.use(oauth2.router(config));
  app.use(oauth2.template);
}

Change the Online Editor Routes to look like this now:

// Online Editor Routes
if (config.allow_editing === true) {
  if (config.googleoauth === true) {
    app.post('/rn-edit',         oauth2.required, route_page_edit);
    app.post('/rn-delete',       oauth2.required, route_page_delete);
    app.post('/rn-add-page',     oauth2.required, route_page_create);
    app.post('/rn-add-category', oauth2.required, route_category_create);
  }
  else {
    app.post('/rn-edit',         authenticate, route_page_edit);
    app.post('/rn-delete',       authenticate, route_page_delete);
    app.post('/rn-add-page',     authenticate, route_page_create);
    app.post('/rn-add-category', authenticate, route_category_create);
  }
}

Set the root routes to be like this:

// Router for / and /index with or without search parameter
if (config.googleoauth === true) {
  app.get('/:var(index)?', oauth2.required, route_search, route_home);
  app.get(/^([^.]*)/, oauth2.required, route_wildcard);
}
else {
  app.get('/:var(index)?', route_search, route_home);
  app.get(/^([^.]*)/, route_wildcard);
}

Editing the app/middleware/authenticate.js file
Change the res.redirect(403, '/login'); line to be:
if (config.googleoauth === true) {
  res.redirect('/login');
}
else {
  res.redirect(403, '/login');
}

Editing the app/routes/login_page.route.js file
Add the googleoauth variable to the return object like this:
return res.render('login', {
  layout      : null,
  lang        : config.lang,
  rtl_layout  : config.rtl_layout,
  googleoauth : config.googleoauth
});

Add the oauth2.js file
Create a new file oauth2.js in the app/middleware folder with the following content:
// Copyright 2015-2016, Google, Inc.
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//    http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

'use strict';

var express = require('express');
var debug = require('debug')('raneto');

// [START setup]
var passport = require('passport');
var GoogleStrategy = require('passport-google-oauth20').Strategy;

function extractProfile (profile) {
  var imageUrl = '';
  if (profile.photos && profile.photos.length) {
    imageUrl = profile.photos[0].value;
  }
  return {
    id: profile.id,
    displayName: profile.displayName,
    image: imageUrl
  };
}

// [START middleware]
// Middleware that requires the user to be logged in. If the user is not logged
// in, it will redirect the user to authorize the application and then return
// them to the original URL they requested.
function authRequired (req, res, next) {
  if (!req.user) {
    req.session.oauth2return = req.originalUrl;
    return res.redirect('/login');
  }
  next();
}

// Middleware that exposes the user's profile as well as login/logout URLs to
// any templates. These are available as `profile`, `login`, and `logout`.
function addTemplateVariables (req, res, next) {
  res.locals.profile = req.user;
  res.locals.login = '/auth/login?return=' +
    encodeURIComponent(req.originalUrl);
  res.locals.logout = '/auth/logout?return=' +
    encodeURIComponent(req.originalUrl);
  next();
}
// [END middleware]

function router(config) {
  // Configure the Google strategy for use by Passport.js.
  //
  // OAuth 2-based strategies require a `verify` function which receives the
  // credential (`accessToken`) for accessing the Google API on the user's behalf,
  // along with the user's profile. The function must invoke `cb` with a user
  // object, which will be set at `req.user` in route handlers after
  // authentication.
  passport.use(new GoogleStrategy({
    clientID: config.oauth2.client_id,
    clientSecret: config.oauth2.client_secret,
    callbackURL: config.oauth2.callback,
    hostedDomain: config.hostedDomain || '',
    accessType: 'offline',

  }, function (accessToken, refreshToken, profile, cb) {
    // Extract the minimal profile information we need from the profile object
    // provided by Google
    cb(null, extractProfile(profile));
  }));

  passport.serializeUser(function (user, cb) {
    cb(null, user);
  });
  passport.deserializeUser(function (obj, cb) {
    cb(null, obj);
  });
  // [END setup]

  var router = express.Router();

  // Begins the authorization flow. The user will be redirected to Google where
  // they can authorize the application to have access to their basic profile
  // information. Upon approval the user is redirected to `/auth/google/callback`.
  // If the `return` query parameter is specified when sending a user to this URL
  // then they will be redirected to that URL when the flow is finished.
  // [START authorize]
  router.get(
    // Login url
    '/auth/login',

    // Save the url of the user's current page so the app can redirect back to
    // it after authorization
    function (req, res, next) {
      if (req.query.return) {
        req.session.oauth2return = req.query.return;
      }
      next();
    },

    // Start OAuth 2 flow using Passport.js
    passport.authenticate('google', { scope: ['email', 'profile'] })
  );
  // [END authorize]

  // [START callback]
  router.get(
    // OAuth 2 callback url. Use this url to configure your OAuth client in the
    // Google Developers console
    '/auth/google/callback',

    // Finish OAuth 2 flow using Passport.js
    passport.authenticate('google'),

    // Redirect back to the original page, if any
    function (req, res) {
      req.session.loggedIn = true;
      var redirect = req.session.oauth2return || '/';
      delete req.session.oauth2return;
      res.redirect(redirect);
    }
  );
  // [END callback]

  // Deletes the user's credentials and profile from the session.
  // This does not revoke any active tokens.
  router.get('/auth/logout', function (req, res) {
    req.session.loggedIn = false;
    req.logout();
    res.redirect('/login');
  });

  return router;
}

module.exports = {
  extractProfile: extractProfile,
  router: router,
  required: authRequired,
  template: addTemplateVariables
};

This is a changed file based on the Google Node.js official example file. Notable differences are in Google strategy settings which basically load settings from our settings config:
clientID: config.oauth2.client_id,
clientSecret: config.oauth2.client_secret,
callbackURL: config.oauth2.callback,
hostedDomain: config.hostedDomain || '',

We'll define these settings the config.default.js file now.
Editing the example/config.default.js file
Change/add the following settings:
allow_editing : true,
authentication : true,
googleoauth: true,
oauth2 : {
    client_id: 'GOOGLE_CLIENT_ID',
    client_secret: 'GOOGLE_CLIENT_SECRET',
    callback: 'http://localhost:3000/auth/google/callback',
    hostedDomain: 'google.com'
},
secret: 'someCoolSecretRightHere',

Google OAuth2 Credentials
Oauth2 settings (GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET ) can be found in your Google Cloud Console->API Manager->Credentials project settings (create a project if you don't have one yet):

The callback, if testing locally, can be set as shown above (http://localhost:3000/auth/google/callback). The hostedDomain option allows certain domains - for your use case you may want to set this to your domain.
Google+ API
If you get an error like:

Access Not Configured. Google+ API has not been used in project<PHONE_NUMBER>96 before, or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/plus/overview?project=701766813496 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry.

Make sure you enable Google+ API for your project:

Adding Zocial CSS
To add support for the nice Zocial social buttons, download this file from their Github repo to the themes/default/public/styles/ folder.
Editing the themes/default/templates/layout.html file
Replace the login form with:
{{^config.googleoauth}}
<form class="form-inline pull-right">
  {{#config.authentication}}
    {{#loggedIn}}

        <button class="btn btn-info dropdown-toggle" type="button" id="userDropDown" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
          {{username}}

        </button>

{{lang.login.logout}}

    {{/loggedIn}}
    {{^loggedIn}}
     {{lang.login.login}}
    {{/loggedIn}}
  {{/config.authentication}}
</form>
{{/config.googleoauth}}

{{#config.googleoauth}}
<form class="form-inline pull-right">
  {{#config.authentication}} {{#loggedIn}}
  {{profile.displayName}}
  {{lang.login.logout}} {{/loggedIn}} {{^loggedIn}}
  {{lang.login.login}} {{/loggedIn}} {{/config.authentication}}
</form>
{{/config.googleoauth}}

We added two scenarios for when we have Google OAuth enabled (config.googleoauth) and when we don't (defaulting to the current Raneto behavior).
Editing the themes/default/templates/login.html file
Add zocial reference:
<link rel="stylesheet" href="{{config.base_url}}/styles/zocial.css">
Replace the whole form-bottom classed div with the following code:

    {{#config.googleoauth}}
      Sign in with Google
    {{/config.googleoauth}}

    {{^config.googleoauth}}
    <form role="form" action="" method="post" class="login-form">

        {{lang.login.username}}
          <input tabindex="1" type="text" name="username" placeholder="{{lang.login.username}}" class="form-username form-control" id="form-username">

          {{lang.login.password}}
          <input tabindex="2" type="password" name="password" placeholder="{{lang.login.password}}" class="form-password form-control" id="form-password">

        <button type="submit" class="btn">{{lang.login.login}}</button>
    </form>
    {{/config.googleoauth}}

Same thing here as well. If we have Google OAuth enabled (config.googleoauth) then we show the new Google login button and hide the rest. Otherwise, we default it to the current Raneto behavior.
Testing
Congratulations, you're done! Now, to test this locally just run the npm start from the root of your project and go to http://localhost:3000 and you should see this:

After logging in, you should see something like this:

Hope this helps someone!

Thank you for this @Hitman666 , this is quite the feature!
Your thoroughness in the PR documentation is appreciated.
Due to the scope of the changes, I do not have time tonight.
However, I will review this Saturday (already have it on my calendar)

Thank you, Ryan.
Again, if anything comes up, don't hesitate to ping me.
Speak soon,
Nikola

A couple of concerns from me:
It looks like this removes the current authentication scheme, seeing as the credentials array is gone out of config.default.js. I think if there is going to be oauth then it should supplement the normal auth methods, not replace.
Passport (and any plugins) should be a regular dependencies, not a dev dependency. Speaking of passport, the code should be more agnostic. Passport supports dozens of oauth solutions, so if this is merged, it should be easy to drop in a different plugin for a different oauth provider.
I noticed on app/middleware/oauth2.js the copyright from Google. Does this file need to be rewritten so it is compatible with MIT license that Raneto uses?

@Sparticuz: Thanks for pointing out the config credentials thing - I've added that back in. The 'default' authentication can still be used - one just needs to set authentication to true, and googleoauth to false.
I'm open to help on your second point. And, as for third point I'm afraid I don't know the answer and am also open for futher discussion about it.

Note:
Zocial License: MIT (not $24.00 as previously indicated on site)
https://github.com/smcllns/css-social-buttons
Update Credits accordingly upon merge

Internal Note:
Google Cloud Page for API Auth: https://console.cloud.google.com/apis/credentials

Confirmed working @Hitman666
One issue: After I successfully authenticate with Google(+) API, the OAuth2 redirect sends me to http://localhost:3000/styles/zocial.svg for some reason. Once I navigate back to the main site, all works fine.
Please correct the above problem and minor line items and we'll get this merged

Hey @ryanlelek,
Thanks for your replies, I've addressed these issues so please take a look when you get a chance.
For the svg issue - have you been testing this in Safari maybe? One other friend reported the same thing to me and I couldn't reproduce, but then he mentioned Safari and I tried there and found it was complaining about the svg file. To fix this, I downloaded the accompanying svg file from https://raw.githubusercontent.com/smcllns/css-social-buttons/master/css/zocial.svg.
Anyways, if something still comes up, don't hesitate to ping me.

Excellent @Hitman666
Yes, I was testing in Safari (since it's easy to reset the cache).
I'll review again in a couple hours.
In the meantime, it would be helpful if you can resolve the merge conflicts.
git pull https://github.com/gilbitron/Raneto.git master


org settings edge case validations

the UI should enforce these where feasible, and the server must enforce all of these

[x] We don't ever want to allow an organization to exist without at least 1 privileged user present. Cannot de-privilege a role if doing so means there will be no users belonging to privileged roles. (https://github.com/aptible/auth.aptible.com/pull/149)

Cannot delete/de-privilege last privileged role
Cannot delete/de-privilege a role if all other privileged roles have 0 users

[x] Cannot delete a role if any of its users belong to no other roles. (This would effectively remove those users from the organization) (https://github.com/aptible/auth.aptible.com/pull/149)
[x] Should not be able to remove all of a user's roles (when editing a user). (Fixed in #236)

Use cases:

Bob is a member of the privileged Bishops role. The Bishops role has no other members. There are no other roles.

Bob cannot de-privilege the Bishops role
Bob cannot remove himself from Bishops
Bob cannot destroy the Bishops role

Bob is a member of the privileged Bishops role. The Bishops role has no other members. Mike is a member of the privileged Knights role.

Bob cannot de-privilege the Bishops role
Bob cannot remove himself from Bishops
Bob cannot destroy the Bishops role
Bob can de-privileged the Knights role
Bob can remove Mike from the Knights role
Bob cannot destroy the Knights role

Bob is a member of the privileged Bishops role. Sam is a member of the privileged Bishops role.

Bob cannot de-privilege himself
Bob cannot remove himself from Bishops
Bob cannot destroy the Bishops role
Bob can remove Sam from Bishops

Bob is a member of the privileged Bishops role. The Bishops role has no other members. Sam and Mike is a member of the privileged Knights role.

Bob cannot de-privilege the Bishops role
Bob cannot remove himself from Bishops
Bob cannot destroy the Bishops role
Bob can de-privileged the Knights role
Bob can remove Mike from the Knights role
Bob can remove Sam from the Knights role
Bob cannot destroy the Knights role

Bob is a member of the privileged Bishops role. The Bishops role has no other members. Mike is a member of the privileged Knights role, and a member of the privileged Rooks role.

Bob cannot de-privilege the Bishops role
Bob cannot remove himself from Bishops
Bob cannot destroy the Bishops role
Bob can de-privileged the Knights role
Bob can remove Mike from the Knights role
Bob can remove Mike from the Rooks role
Bob cannot destroy the Knights role

Bob is a member of the privileged Bishops role. Mike is a member of the privileged Bishops role, and a member of the privileged Knights role.

Bob cannot de-privilege the Bishops role
Bob cannot remove himself from Bishops
Bob cannot destroy the Bishops role
Bob can de-privileged the Knights role
Bob can remove Mike from the Bishops role
Bob can remove Mike from the Knights role
Bob can destroy the Knights role

Bob is a member of the privileged Bishops role, and a member of privileged Knights.

Bob can de-privilege the Bishops role
Bob can remove himself from Bishops
Bob can destroy the Bishops role
Bob can de-privilege the Knights role
Bob can remove himself from Knights
Bob can destroy the Knights role

an alternative to the first item above (not allowing an org to exist w/out >= 1 privileged user) would be to simply not allow a user to take an action that would remove their own privileged status:

do not allow a user to delete/de-privilege a role if that user doesn't belong to another privileged role

I believe disallowing a user from de-privileging themselves might be much easier to message on the client-side, and cover much of the surface involved in this ticket.

@sandersonet / @mixonic / @bantic: Is this done?

I'll test to confirm and close if so.


AttributeError: 'WebView' object has no attribute 'setBackgroundColor'

Problem Description
I was trying to test PR #8494 in a linux machine (WLS) since test are passing in my windows 10 machine. So I made a new clone of Spyder from github in the linux machine. Now I cannot run Spyder in bootstrap mode.
I also made a new recent clone in my windows machine. The same problem appears as well.
1 . Windows machine

linux machine (WLS)

https://github.com/spyder-ide/spyder/blob/c0b8950904907a463f00eb8eec96117f56615218/spyder/plugins/help/widgets.py#L103
This was updated 5 days ago. I believe the problem is related to this new update. The old forked clone I have runs just fine.

@dalthviz, did you test PR #8497 in a Qt version that has Webkit instead of Webengine?

@ccordoba12 nop, I missed that, sorry. I'm working in the fix


TypeError after update of rq version

Just updated to rq 1.8.1 and it breaks the existing code with rq-win 0.3.13
14:07:38 Worker rq:worker:71361fc330ca4049b360f751732c4f9e: found an unhandled exception, quitting...
Traceback (most recent call last):
  File "C:\das-element\venv\lib\site-packages\rq\worker.py", line 595, in work
    self.execute_job(job, queue)
  File "C:\das-element\venv\lib\site-packages\rq_win\worker.py", line 61, in execute_job
    self.main_work_horse(job, queue)
  File "C:\das-element\venv\lib\site-packages\rq_win\worker.py", line 71, in main_work_horse
    success = self.perform_job(job, queue)
  File "C:\das-element\venv\lib\site-packages\rq_win\worker.py", line 79, in perform_job
    self.prepare_job_execution(job, heartbeat_ttl)
TypeError: prepare_job_execution() takes 2 positional arguments but 3 were given

Code did work before. Any idea whats happening?
Thanks!

Works for rq 1.8.0

FYI @sandeepsn1997

Do either of you have a minimal repro of this issue? You are also welcome to submit a PR if you know the problem.

@jonaskluger Can you confirm if this issue is fixed for you in the latest version?

Yes I can confirm that rq-win 0.4.0 works for  rq 1.9.0
Awesome, thank you!


'Show more' / 'show less' buttons lose focus for screenreaders

If you click on one of these buttons while using VoiceOver, the focus goes back to the main web content. It should go to the newly expanded / truncated part of the result.

Here's a useful article about how this is supposed to work: Using the WAI-ARIA aria-expanded state to mark expandable and collapsible regions - WCAG WG


New Feature Set

[x] Add ExceptionFilter class
[x] Consider implementing an in-memory message bus

[ ] add broadcast feature to message bus


ignore fixtures from virtualenv

@jairhenrique looks great, thanks! :)
I've just add a AUTHORS file to give you some credits, feel free to add yourself there.
Let me know than so I come back to merge this PR. :tada:

@jllorencetti done! 😃


Disable TestPlugin_LifeCycle due to flakiness.

See #10795
@brendandburns @bprashanth @karlkfi

@zmerlynn

LGTM.

Confirmed Shippable failure is #11105.


Various issues with doc page "Override the default open behavior of data rows in an entity-bound grid"

This sounds very interesting but so far I haven't been able to get it to work. I find the instructions on this doc page very confusing, especially those in the section "Step 2: Create a custom button". I'm not an expert but I think some essential parts might be missing and other steps might be unnecessary. Could you please revise this section thoroughly?
Here are a few things that you might want to take into account (numbers refer to the sub-steps of section "Step 2: Create a custom button"):

1: Please mention that it's not necessary to include the entity's components or metadata when adding the entity to the solution.
2: I don't understand why it's necessary to add the site map to the solution. We want to add a custom button and custom action to the entity form. Isn't it enough then to just include the entity?
3: The screenshot "ACCOUNT INFORMATION" doesn't seem to be related to this topic at all. Or if it is, please explain how.
4: Didn't we include the web resource in section "Step 1: Create a web resource" already?
12: You might want to mention that we're only supposed to replace the code inside the <RibbonDiffXml>...</RibbonDiffXml> tags in the customizations.xml file, not the entire contents of that file.
12: The function name inside your XML code snippet doesn't coincide with the name of the JavaScript function from the web resource we created earlier. I'm referring to this tag in your XML snippet: <JavaScriptFunction FunctionName="sampleoperations" Library="$webresource:cr5c1_samplescript" />. The name of the JavaScript function inside the web resource is ChangeBehavior.
12: Also, in the same XML tag, the name of the web resource itself will have to be changed. In your snippet it says cr5c1_samplescript but that certainly won't be the right name for everyone.
12: I'm not sure about this tag from your code snippet: <CustomAction Id="cr5c1.Mscrm.OpenRecordItem.CustomAction" Location="Mscrm.SubGrid.contact.MainTab.Management.Controls._children" Sequence="28">. Do we have to change the solution prefix cr5c1 to our own publisher prefix?

As I said, I haven't been able to get this to work, so there might be other issues - either with the explanation or with my brain :-)

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

ID: 55cb1b78-70a4-a97a-c1d3-48ab8efd6c32
Version Independent ID: cdd45300-f7e1-c515-92a5-d0c31aca3212
Content: Override the default open behavior of data rows in grids (model-driven apps) - Power Apps
Content Source: powerapps-docs/developer/model-driven-apps/override-default-open-behavior-grids.md
Service: powerapps
GitHub Login: @Nkrb
Microsoft Alias: nabuthuk

@nkirstein Thanks for reaching us. We have updated the docs and pushed it live. Closing the issue. If you need further help, please reopen or create a new issue.


Update Twitch to latest API

Should fix https://github.com/TerribleDev/OwinOAuthProviders/issues/241
Had to update the default claim as well since the old claim doesn't work in the new API.
Note that none of the existing Twitch APIs have a "Link" property but I still left them as is to avoid breaking changes.

Sorry, I've been away on holiday. I'll (hopefully) look at this PR this week.


feat: Set of patches for our instance

Squash commits for Net::LDAP instrumentation
Squash commits for GraphQL variables support
Squash commits for adding Peer.Service to Active_Job

After having a clean rebased PR we can keep that branch and make a tag used inside our software to reference to it.
On new upstream changes we can repeat the process and avoid having to deal with complicated merges

Created branch based on this PR: main-aoeur-20240205


Sort the imports alphabetically

Codecov Report

Merging #58 into master will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master      #58   +/-   ##
=======================================
  Coverage   93.61%   93.61%
=======================================
  Files          23       23
  Lines        1518     1518
=======================================
  Hits         1421     1421
  Misses         97       97

Impacted Files
Coverage Δ

test/cut/test_cut_mixing.py
100.00% <ø> (ø)

lhotse/audio.py
96.15% <100.00%> (ø)

lhotse/cut.py
91.07% <100.00%> (ø)

lhotse/dataset/source_separation.py
39.13% <100.00%> (ø)

lhotse/features.py
93.77% <100.00%> (ø)

lhotse/manipulation.py
69.23% <100.00%> (ø)

lhotse/supervision.py
97.87% <100.00%> (ø)

lhotse/test_utils.py
100.00% <100.00%> (ø)

lhotse/utils.py
93.54% <100.00%> (ø)

test/cut/test_cut_set.py
100.00% <100.00%> (ø)

... and 7 more

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 408c521...d158f05. Read the comment docs.

Awesome, thanks! Do you want this merged before or after the PR with the waveform dataset?

I tend to merge this (#58) to master firstly, and then I sync the waveform branch from master by myself.

On Jul 28, 2020, at 9:55 PM, Piotr Żelasko<EMAIL_ADDRESS>wrote:
Awesome, thanks! Do you want this merged before or after the PR with the waveform dataset?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/pzelasko/lhotse/pull/58#issuecomment-665054683, or unsubscribe https://github.com/notifications/unsubscribe-auth/AANR6MA4O23XAO7DVDXCY6DR53KEJANCNFSM4PKHAC2A.


Support for compton and other compositors

I use compton and urxvt as terminal emulator and I have this lines in my .Xresources
URxvt.depth: 32
URxvt.background: [95]#232c31
to enable true transparency for urxvt there but after run this script compton did't take any effect and there is no transparency, there is a way or somthing to modified to make true transparency working again? if its help I'm using bspwm and compton & in the .xinitrc

Fixed.
I've added a new flag called -a that takes a transparency value.
# 95 transparency
wal -i img.png -a 95

Note: This only seems to work with URxvt.
Note:  -a also sets URxvt.depth to 32.

Awesome thanks Dylan!


prose.io has no SSL - security / privacy issue

http://prose.io version of the website available (https://prose.io) - this is a serious security / privacy concern especially given that it authenticates with people's Github (which yes, I know partially uses Github's SSL for outh but that doesn't help other than for authentication).
I only just noticed this today and it worries me quite a bit.

Resolution: Add a SSL cert to prose.io, then redirect http access to the site to https
Cost: SSL certs are about $10, happy to pay for this if money is the issue
Complexity: Easy

Would love to get this done, in addition to #825.

Yes, this should definitely happen.

+1

Since prose.io is hosted on github pages, it's a bit more complicated than just buying a cert. We're in discussions on the best way to support HTTPS, but in the meantime, if you need HTTPS on the hosted version of prose you can use https://prose.github.io/prose/

@dereklieu I'm using Cloudflare SSL together with Pages and it works great. Are there any concerns about it?

With CloudFlare SSL, and even with https://prose.github.io/prose/, there is still a segment between the CDN and GitHub's servers where data is passed back and forth via plain HTTP (github/issues#156).

@gsf You can set SSL to full in the Cloudflare CP and it will then use the HTTPS site. Of course GitHub doesn't have the correct cert, so you can't use strict.

@jgillich Yes but even the HTTPS for GitHub pages (https://*.github.io) is SSL terminated at their CDN, passing the data in the clear over that last segment. See this comment on that thread I referenced.

Ah wow @gsf I missed that comment in that thread, although it would seem to be a very important one.

+1

How about https://pages.gitlab.io/ ?

In the interim, can you please disable the prose.io CNAME and put a 302 redirect to https://prose.github.io/prose?
If anyone is confused, it's probably easy to explain to them the benefits of SSL over a nice URL.

@rnkn As I understood it github.io has the same "problem" as putting Cloudflare in front of prose.io, so this would be "misleading" as well - so no win in getting rid of the accustomed domain.
My two cents: I think using Cloudflare with the unsecured connection between GH and CF should be fine and still much better than the current state. (I think just having the domain behind CF will greatly improve cookie security and similar things.)

Have you considered using https://netlify.com to host the site?  I moved a bunch of my github repos to using it instead of github pages.  It's free (unless you want their premium features), auto publishes, and allows you to use SSL with your own domain via LetsEncrypt (e.g., https://argonjs.io and associated sites are hosted there, every time we check something in it gets published automatically ... it's great!)

@janpio github.io does not have that problem any more - see https://github.com/blog/2186-https-for-github-pages and specifically "You have been able to request Pages sites over HTTPS for some time, but we refrained from officially supporting it because the traffic from our CDN to our servers wasn't encrypted until now."
This happened since the earlier comments in this thread in 2015, so it was accurate at the time.
So, yes, it seems like the right thing to do now is what @rnkn suggested and just have prose.io redirect back to https://prose.github.io/prose

https://prose.io