Failed to run example on mac

Environment

LWJGL version: 3.2.3
LWJGL build: idk, from gradle
Java version: 1.8
Platform: macOS

Description
I tried to run the example from https://www.lwjgl.org/guide, but it fails when calling glfwCreateWindow with a native crash:
2021-01-22 15:31:07.688 java[36639:10414788] *** Assertion failure in +[NSUndoManager _endTopLevelGroupings], /BuildRoot/Library/Caches/com.apple.xbs/Sources/Foundation/Foundation-1575.300/Foundation/Misc.subproj/NSUndoManager.m:361
2021-01-22 15:31:07.688 java[36639:10414788] *** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: '+[NSUndoManager(NSInternal) _endTopLevelGroupings] is only safe to invoke on the main thread.'
*** First throw call stack:
(
	0   CoreFoundation                      0x00007fff5206e9ad __exceptionPreprocess + 256
	1   libobjc.A.dylib                     0x00007fff7c78ea17 objc_exception_throw + 48
	2   CoreFoundation                      0x00007fff520896ca +[NSException raise:format:arguments:] + 98
	3   Foundation                          0x00007fff5432b741 -[NSAssertionHandler handleFailureInMethod:object:file:lineNumber:description:] + 194
	4   Foundation                          0x00007fff5425e7be +[NSUndoManager(NSPrivate) _endTopLevelGroupings] + 473
	5   AppKit                              0x00007fff4f5a6661 -[NSApplication run] + 916
	6   libglfw.dylib                       0x000000011f21aa85 libglfw.dylib + 68229
	7   libglfw.dylib                       0x000000011f214416 libglfw.dylib + 42006
	8   ???                                 0x00000001081a47e8 0x0 +<PHONE_NUMBER>
)
libc++abi.dylib: terminating with uncaught exception of type NSException

Please also read the info "MacOS users should start their application passing "-XstartOnFirstThread" as a VM option." on said LWJGL page.

Please also read the info "MacOS users should start their application passing "-XstartOnFirstThread" as a VM option." on said LWJGL page.

That's what I did, and it didn't use anything. I use gradle, it is most likely related to it in this case.

That's what I did, and it didn't use anything. I use gradle, it is most likely related to it in this case.

If by "I use gradle" you mean that you invoke your application via the Gradle Application Plugin's run task, then "Option 2" of this answer is probably what you are looking for: https://stackoverflow.com/questions/35244961/how-do-i-add-default-jvm-arguments-with-gradle#answer-35248056
Else, simply google something like "Gradle how to add JVM argument to run".

If by "I use gradle" you mean that you invoke your application via the Gradle Application Plugin's run task, then "Option 2" of this answer is probably what you are looking for: https://stackoverflow.com/questions/35244961/how-do-i-add-default-jvm-arguments-with-gradle#answer-35248056
Else, simply google something like "Gradle how to add JVM argument to run".

Next question: You aren't actually doing something like new Thread(...).start(); as the first thing in your main() method, do you?
Or put another way: Does the glfwCreateWindow() call actually happen in the main thread (which invoked your main() method) or do you do everything in a spawned thread?

Next question: You aren't actually doing something like new Thread(...).start(); as the first thing in your main() method, do you?
Or put another way: Does the glfwCreateWindow() call actually happen in the main thread (which invoked your main() method) or do you do everything in a spawned thread?

As I stated above, I use the official code from the getting started page on  https://www.lwjgl.org/guide. No, this code doesn't start it in a separate thread

As I stated above, I use the official code from the getting started page on  https://www.lwjgl.org/guide. No, this code doesn't start it in a separate thread

Then, I'm sorry, this is simply a tooling issue that you need to solve. It has nothing to do with LWJGL itself and is not an issue related to it. It simply means: Whatever you use to run the Java application, it must use the -XstartOnFirstThread JVM argument (not program argument).

Then, I'm sorry, this is simply a tooling issue that you need to solve. It has nothing to do with LWJGL itself and is not an issue related to it. It simply means: Whatever you use to run the Java application, it must use the -XstartOnFirstThread JVM argument (not program argument).

True, it is not directly related, but somehow it is related, because I used the official instruction on how to setup a project with gradle

True, it is not directly related, but somehow it is related, because I used the official instruction on how to setup a project with gradle


[BUG] Disk partitions are not in correct order when it is created using SDK

Describe the bug
When we created a VM with unmanaged disk using SDK disk partitions are not in correct order. Below is the disk created using SDK. 1GB unallocated memory is at the end. Because of the recovery partition in the middle it is not easy allocating that 1GB to the C drive.

Below is the code used to create disk.
azureInstance.virtualMachines().define("vmName")
.withRegion(Region.fromName("region"))
.withExistingResourceGroup("resourceGroupName")
.withExistingPrimaryNetworkInterface(networkInterface)
.withSpecificWindowsImageVersion((VirtualMachineImage)marketPlaceImage.imageReference())
.withAdminUsername(adminUserName)
.withAdminPassword(adminPassword())
.withUnmanagedDisks()
.withoutAutoUpdate()
.withSize("Standard_DS2_v2")
.withOSDiskSizeInGB(128)
.withExistingStorageAccount(storageAccount)
.withBootDiagnostics(diagnsoticStorageAccount)
.withTag(tagKey1, tagValue1)
.withTag(tagKey2, tagValue2)
.defineNewExtension("ExtentionName")
.withPublisher("Microsoft.Compute")
.withType("CustomScriptExtension")
.withVersion("1.9")
.withPublicSetting("fileUris", "Script urls to download to the VM")
.withProtectedSetting("commandToExecute", "Command to run on VM start up")
.attach().create();
When the VM is created from azure portal partitions seems to be in correct order.

We create vm with unmanaged disk so that we can use create more VMs with managed disk by cloning this unmanaged disk.
After correcting partition order for the unamanged disk using external utility, we created vms by cloning it. partitions for the new VMs also not in correct order.

Below is the code we use to create managed disk by cloning.
VirtualMachine templateVM = azureInstance.virtualMachines().getById(templateUuid);
String vhdPath = templateVM.osUnmanagedDiskVhdUri()
azureInstance.disks().define(diskName).withRegion(region)
.withExistingResourceGroup(rg).withWindowsFromVhd(vhdPath)
.withStorageAccountName(vhdStorageAccountName).withSizeInGB(size).withSku(diskSkuType).create();
Exception or Stack Trace
No exceptions
To Reproduce
Create VM with unamanaged disk using SDK. Code mentioned above. Partitions are not in correct order.
Create another VM by cloning the unamanaged disk after correcting the partitions. Partitions for managed disk are also not in correct order.
Code Snippet
Code snippet mentioned above.
Expected behavior
If there is unallocated disk space, it should be beside C drive so that it is easy to extend the drive.
Screenshots
Gave screenshots above.
Setup (please complete the following information):

OS: [e.g. iOS] - Our production setup
IDE : [e.g. IntelliJ] - Not applicable
Version of the Library used - com.microsoft.azure1.33.0

Additional context
Add any other context about the problem here.
Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[x] Bug Description Added
[x] Repro Steps Added
[x] Setup information Added

Thanks for filing this github issue @Prudvidhard.  @yungezz could you please follow up on this Mgmt client library issue?

hi @xccc-msft could you pls have a look? thanks

@Prudvidhard The .withUnmanagedDisks() will not help the disk 0 in the screenshot. What's the image version you are using?
I would add the Service Attention so the service team can help verify how the unallocated memory comes from. Thanks.

@avirishuv can you take a look at this issue?

@xccc-msft  Disk is created using marketplace image.
marketplace image is passed in .withSpecificWindowsImageVersion((VirtualMachineImage)marketPlaceImage.imageReference()) in above code.

Hi @Prudvidhard,
I am trying to better understand the issue here. The first screen shot has 2 partitions within disk 0 while the 2nd screenshot has 3 partitions. How did the 3rd partition (of size 534MB) got introduced? Separately, can you please share the marketplace image that you used and the external utility you used to extend the disks?

@Vaibhav-Agar
I added 3 screenshots above. First 2 screenshots belong to the same VM. This VM is created from marketplace image. Marketplace image used is "MicrosoftWindowsDesktop:Windows-10:19h2-ent:latest". First snapshot is right after VM created in azure. Second snapshot is after extending the disk using external utility. I am not sure about the utility used. My colleague did this. I will get back on this.
Third snapshot is for different VM which was created by cloning first VM disk. We got 3 partitions here again even though we extended the disk for first VM.

Closing per the email conversation. Thanks!


Wrong Output of Brats 3D Segmentation

I ran your brats_segmentation_3d.ipynb and got results which are different from yours.
The versions of my environment are listed below and i attach the picture with final results.

MONAI version: 0.5.dev2113
Numpy version: 1.19.1
Pytorch version: 1.7.0a0+8deb4fe
MONAI flags: HAS_EXT = False, USE_COMPILED = False
MONAI rev id: b3cc668c924b2a7e6b822416f4d920a098c27704

Optional dependencies:
Pytorch Ignite version: NOT INSTALLED or UNKNOWN VERSION.
Nibabel version: 3.2.1
scikit-image version: 0.17.2
Pillow version: 8.1.2
Tensorboard version: 1.15.0+nv
gdown version: NOT INSTALLED or UNKNOWN VERSION.
TorchVision version: 0.8.0a0
ITK version: NOT INSTALLED or UNKNOWN VERSION.
tqdm version: 4.59.0
lmdb version: 1.0.0
psutil version: 5.7.2

Thanks for raising this. It looks like during the plotting we have the line val_output = model(val_input), which should probably be val_output = post_trans(model(val_input)).
Do you think you could try modifying it to this and seeing if this gives expected results?

Maybe I will have a chance to check it later. But for now I was able to solve it by the next change.
Your string:
plt.imshow(val_output[0, i, :, :, 20].detach().cpu())
My string:
plt.imshow(torch.sigmoid(val_output[0, i, :, :, 20]).detach().cpu()>0.5)

That will have the same effect as post_trans, glad it worked for you!


Cleanup NuGet dotnet feeds

Description
Following @ViktorHofer advice, I am trying to do some cleanup on the NuGet feeds of this repo.

Merge with latest main and the error should go away.

Merge with latest main and the error should go away.

Yeah sorry! Build on vstest is so long that I then forget to get back to it xD


CASMINST-6650 fix storage goss tests that should not run on storage node ncn-s004+

Summary and Scope
Some storage node goss tests require the ceph.admin.keyring in order to run because the test contains 'ceph' commands. The admin.keyring is only present on ncn-s00[1-3] and not on ncn-s004+. Because the keyring is missing on ncn-s004+, the goss tests fail. This change avoids running goss tests that need the admin.keyring on ncn-s004+. The specific goss tests that are changed are goss-ceph-storage-config-files.yaml, goss-ceph-storage-health.yaml, and goss-rgw-health.yaml.
Issues and Related PRs

Resolves CASMINST-6650

Testing
Tested on:

Tyr
Dorian

Risks and Mitigations
Low risk
Pull Request Checklist

[ ] Version number(s) incremented, if applicable
[ ] Copyrights updated
[ ] License file intact
[x] Target branch correct
[ ] CHANGELOG.md updated
[x] Testing is appropriate and complete, if applicable
[ ] HPC Product Announcement prepared, if applicable

/backport release/1.5

/backport release/1.4


Add homebrew traits to shields

As of right now, the system does not have a way to add homebrew traits for shields, why not?

Certified 🦈🕺 moment


Running on KF tablet will result in operating with a strange green stripe

Hi Ravi,
Thank you for this insanely good library!
I've been using your library for QR code scanning/reading and I have run it on KF tablet. Initially, it didn't run because as you have known KF amazon tablet is de-googled and it has no default Google play services app installed but I have managed to install it manually through Google play store. Now, the app is running but it is showing a weird green stripe stuff at the top and it doesn't scan the QR code properly.
Please see below the snapshot attached.
Please advise as to how to resolve this issue.
Thank you very much!
Cheers,
Christian

just down load project and import as library.

I have the same green line (and even black background on most on my testing

devices)

Same here

Facing same issue. One plus 5t

having the same issue with my Samsung Active Tab 2.0 (7 inch)
Any solution??

i am also facing same issue any solution?


env_logger didn't have the feature anstream

Hi,
I can't compile it and don't find an solution:
Updating crates.io index
   error: failed to select a version for `env_logger`.
   ... required by package `hms-mqtt-publish v0.2.0 (/root/hms-whg1)`
versions that meet the requirements `^0.11.2` are: 0.11.3, 0.11.2

the package `hms-mqtt-publish` depends on `env_logger`, with features: `anstream` but `env_logger` does not have these features.
It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name.

failed to select a version for `env_logger` which could resolve this conflict

Thanks for your help.

if you are not using latest main branch, use git pull to fast forward. Then try issuing the following three command:
$ cargo clean
$ cargo update
$ cargo build

That should help.

Didn't work
cargo clean root@hms-w-2t:~/hms-whg1# cargo update     Updating crates.io index error: failed to select a version for env_logger.     ... required by package hms-mqtt-publish v0.2.0 (/root/hms-whg1)versions that meet the requirements^0.11.2are: 0.11.3, 0.11.2 the packagehms-mqtt-publishdepends onenv_logger, with features: anstreambutenv_loggerdoes not have these features.  It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name. failed to select a version forenv_loggerwhich could resolve this conflict root@hms-w-2t:~/hms-whg1# cargo build     Updating crates.io index error: failed to select a version forenv_logger.     ... required by package hms-mqtt-publish v0.2.0 (/root/hms-whg1)versions that meet the requirements^0.11.2are: 0.11.3, 0.11.2 the packagehms-mqtt-publishdepends onenv_logger, with features: anstreambutenv_loggerdoes not have these features.  It has an optional dependency with that name, but that dependency uses the "dep:" syntax in the features table, so it does not have an implicit feature with that name. failed to select a version forenv_logger which could resolve this conflict

okay fixed it by updating to rustc 1.7x - in debian 1.63 is stable and seems to be too old


stopWithApp doesn't work

    async componentDidMount() {
        await TrackPlayer.setupPlayer()
        TrackPlayer.updateOptions({
            stopWithApp: true
        });
}

Hi i have this code but when i kill my app while a song is running it doesn't stop the song, i have no error or whatever ...
Do you know why ? Thanks !

Which platform?

Android, last version of this player

so you don't know ?

@Aornn what is the version you are using ? 1.1.2 or 1.1.3?

I don't have this issue anymore with 1.1.3
thanks

@mkdotcom cool
@Aornn do you still have this issue in 1.1.3 ? if not can you close the issue ?

OK it's fixed for me too :D


How to create a mock for JoinGroupResponse ?

Versions

Sarama
Kafka
Go

v1.26.1
2.0.0
1.14.0

Configuration
What configuration values are you using for Sarama and Kafka?
config := sarama.NewConfig()
config.ClientID = viper.GetString(cfg.ServiceName)
config.Version = sarama.V2_0_0_0
config.Consumer.Group.Rebalance.Strategy = sarama.BalanceStrategyRange
config.Consumer.Group.Rebalance.Retry.Max = 2

Logs
logs: CLICK ME

Initializing new client
client/metadata fetching metadata for all topics from broker <IP_ADDRESS>:62364
Connected to broker at <IP_ADDRESS>:62364 (unregistered)
*** mockbroker/0/0: connection opened*** mockbroker/0/0: served &{0 testkafka 0xc0003a00f0} -> &{1 0 [0xc0003b8000] <nil> 0 [0xc0003b6040]}client/brokers registered new broker #0 at <IP_ADDRESS>:62364Successfully initialized new client
loop
client/metadata fetching metadata for [test_topic] from broker <IP_ADDRESS>:62364
*** mockbroker/0/0: served &{1 testkafka 0xc0003a0330} -> &{1 0 [0xc0003b82c0] <nil> 0 [0xc0003b6240]}client/coordinator requesting coordinator for consumergroup test from <IP_ADDRESS>:62364
*** mockbroker/0/0: served &{2 testkafka 0xc000412000} -> &{0 0s kafka server: Not an error, why are you printing me? <nil> 0xc000414000}client/coordinator coordinator for consumergroup test is #0 (<IP_ADDRESS>:62364)
*** mockbroker/0/1: connection openedConnected to broker at <IP_ADDRESS>:62364 (registered as #0)
*** mockbroker/0/1: ignored (*sarama.request)(0xc00040c1e0)({
 correlationID: (int32) 0,
 clientID: (string) (len=9) "testkafka",
 body: (*sarama.JoinGroupRequest)(0xc000408540)({
  Version: (int16) 1,
  GroupId: (string) (len=4) "test",
  SessionTimeout: (int32) 10000,
  RebalanceTimeout: (int32) 60000,
  MemberId: (string) "",
  ProtocolType: (string) (len=8) "consumer",
  GroupProtocols: (map[string][]uint8) (len=1) {
   (string) (len=5) "range": ([]uint8) (len=22 cap=22) {
    00000000  00 00 00 00 00 01 00 0a  74 65 73 74 5f 74 6f 70  |........test_top|
    00000010  69 63 ff ff ff ff                                 |ic....|
   }
  },
  OrderedGroupProtocols: ([]*sarama.GroupProtocol) (len=1 cap=1) {
   (*sarama.GroupProtocol)(0xc00040c240)({
    Name: (string) (len=5) "range",
    Metadata: ([]uint8) (len=22 cap=22) {
     00000000  00 00 00 00 00 01 00 0a  74 65 73 74 5f 74 6f 70  |........test_top|
     00000010  69 63 ff ff ff ff                                 |ic....|
    }
   })
  }
 })
})

Problem Description
I am using sarama.NewClient and then sarama.NewConsumerGroupFromClient to create a consumer group, it works smoothly when compiled.
Now the question is on the testing side, I want to be able to test my function safely using mocks. I've write the test like so:
func_test.go: CLICK

broker0 := sarama.NewMockBroker(t, 0)
defer broker0.Close()

var testMsg = sarama.StringEncoder("Foo")

mockFetchResponse := sarama.NewMockFetchResponse(t, 1)
for i := 0; i < 10; i++ {
	mockFetchResponse.SetMessage("test_topic", 0, int64(i+1234), testMsg)
}

broker0.SetHandlerByMap(map[string]sarama.MockResponse{
	"MetadataRequest": sarama.NewMockMetadataResponse(t).
		SetBroker(broker0.Addr(), broker0.BrokerID()).
		SetLeader("test_topic", 0, broker0.BrokerID()).
		SetController(broker0.BrokerID()),
	"OffsetRequest": sarama.NewMockOffsetResponse(t).
		SetOffset("test_topic", 0, sarama.OffsetOldest, 0).
		SetOffset("test_topic", 0, sarama.OffsetNewest, 1),
	"FetchRequest": mockFetchResponse,
	"FindCoordinatorRequest": sarama.NewMockFindCoordinatorResponse(t).
		SetCoordinator(sarama.CoordinatorGroup, "test", broker0),
	// "JoinGroupRequest": ----,
})

but when I run my test, my sarama.ConsumerGroupHandler won't invoke the Setup function. I suppose this is caused by the incomplete mocked handlers in SetHandlerByMap, this log suggested that:
JoinGroupRequest is ignored: CLICK

*** mockbroker/0/1: ignored (*sarama.request)(0xc00040c1e0)({
 correlationID: (int32) 0,
 clientID: (string) (len=9) "testkafka",
 body: (*sarama.JoinGroupRequest)(0xc000408540)({
  Version: (int16) 1,
  GroupId: (string) (len=4) "test",
  SessionTimeout: (int32) 10000,
  RebalanceTimeout: (int32) 60000,
  MemberId: (string) "",
  ProtocolType: (string) (len=8) "consumer",
  GroupProtocols: (map[string][]uint8) (len=1) {
   (string) (len=5) "range": ([]uint8) (len=22 cap=22) {
    00000000  00 00 00 00 00 01 00 0a  74 65 73 74 5f 74 6f 70  |........test_top|
    00000010  69 63 ff ff ff ff                                 |ic....|
   }
  },
  OrderedGroupProtocols: ([]*sarama.GroupProtocol) (len=1 cap=1) {
   (*sarama.GroupProtocol)(0xc00040c240)({
    Name: (string) (len=5) "range",
    Metadata: ([]uint8) (len=22 cap=22) {
     00000000  00 00 00 00 00 01 00 0a  74 65 73 74 5f 74 6f 70  |........test_top|
     00000010  69 63 ff ff ff ff                                 |ic....|
    }
   })
  }
 })
})

I tried to create the mock by myself by trying to implement sarama.MockResponse interface but it is cannot be done because func For( ) needs a sarama.versionedDecoder parameter which is not exported, also the return value is expected to be a sarama.encoder which is also not exported.
Should we create a new factory function to mock JoinGroupResponse ? or is there any other suggestion?
Thanks

I would be interessted in creating a NewJoinGroupResponse factory function. Is this still available?

@MichaHoffmann yes a factory function can also resolve this. I just looked at #1631 it seems it tries to solve this similar issue #1577 , maybe you can extend that PR because it got no activity for some months now. I might should close my issue then?

I'm closing this issue since #1750 had addressed this issue and #1577 cc @MichaHoffmann


Factrories And Pool Access

Hey! With pools you can bind:
Container.BindMemoryPool<PoolingTestClass, PoolingTestClass.Pool, PoolingTestClass.IPool>();
How can you do the same with Factories like:
Container.BindFactory<FactoryTestClass, FactoryTestClass.Factory, FactoryTestClass.IFactory>();
Is there a way resolve a factory or pool based on a TContract? For example
public IFactory<TContract> GetFactoryForType<TContract>() { // Code like: return diContainer.ResolveFactoryForTyoe<T>() }
I know that i can inject a factory but only if a know the type during object construction, which i don´t know. The same question for MemoryPools!
Thx for any help :)

Hey sorry for the late response.  A proper fix for this will be provided by #332 but in the meantime you can use BindFactoryContract


Pub Build, Exhausted heap space Probelm

I am following exactly the Quick Start Guide. When it moved to sudo /usr/lib/dart/bin/pub build, I met the Exhausted heap space problem, the result is like the following:
#Exhausted heap space, trying to allocate 2208 bytes.
Is there anyone know how to figure this out. I already tried all the possible methods I could find online.
Thank you.

The detailed information I got is like the following:

Cubuntu@ip-10-31-64-54:/usr/local/src/security_monkey/dart$ sudo /usr/lib/dart/bin/pub build
Loading source assets...
Loading dart_to_js_script_rewriter, di/module_transformer, initialize/build/loader_replacer, observe, smoke/src/default_transformer and initialize transformers...
Loading angular transformers... (2.5s)
Building security_monkey... (17.0s)
[Info from Dart2JS]:
Compiling security_monkey|web/main.dart...
Warning from Dart2JS on security_monkey|web/main.dart:
web/packages/angular/core/annotation_src.dart:3:44:
Library 'package:di/di.dart' doesn't export a 'Visibility' declaration.
Try removing 'Visibility' from the 'show' clause.
import "package:di/di.dart" show Injector, Visibility, Factory;
^^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/packages/angular/core/annotation_src.dart:3:56:
Library 'package:di/di.dart' doesn't export a 'Factory' declaration.
Try removing 'Factory' from the 'show' clause.
import "package:di/di.dart" show Injector, Visibility, Factory;
^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/packages/angular/core/annotation.dart:11:5:
Library 'package:angular/core/annotation_src.dart' doesn't export a 'ShadowRootAware' declaration.
Try removing 'ShadowRootAware' from the 'show' clause.
ShadowRootAware,
^^^^^^^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/packages/angular/core/module.dart:70:5:
Library 'package:angular/core/module_internal.dart' doesn't export a 'CacheStats' declaration.
Try removing 'CacheStats' from the 'show' clause.
CacheStats,
^^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/packages/angular/core/module.dart:71:5:
Library 'package:angular/core/module_internal.dart' doesn't export a 'ComponentCssRewriter' declaration.
Try removing 'ComponentCssRewriter' from the 'show' clause.
ComponentCssRewriter,
^^^^^^^^^^^^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/packages/angular/core/module.dart:50:5:
Library 'package:angular/core_dom/module_internal.dart' doesn't export a 'NgAnimate' declaration.
Try removing 'NgAnimate' from the 'show' clause.
NgAnimate,
^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/packages/angular/core/module.dart:54:5:
Library 'package:angular/core_dom/module_internal.dart' doesn't export a 'PendingAsync' declaration.
Try removing 'PendingAsync' from the 'show' clause.
PendingAsync,
^^^^^^^^^^^^
[Dart2JS]:
web/main.dart:

WARNING: dart:mirrors support in dart2js is experimental,

     and not recommended.

     This implementation of mirrors is incomplete,

     and often greatly increases the size of the generated

     JavaScript code.

Your app imports dart:mirrors via:
main.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors
main.dart => main_generated_type_factory_maps.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors
main.dart => main_static_metadata.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors
main.dart => main_static_type_to_uri_mapper.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors

You can disable this message by using the --enable-experimental-mirrors
command-line flag.

To learn what to do next, please visit:
http://dartlang.org/dart2js-reflection

Additional argument.
import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
Rect({this.left:0, this.top:0, this.width:0, this.height:0});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/main_generated_type_factory_maps.dart:368:62:
Additional argument.
import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
Rect({this.left:0, this.top:0, this.width:0, this.height:0});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/main_generated_type_factory_maps.dart:368:66:
Additional argument.
import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
Rect({this.left:0, this.top:0, this.width:0, this.height:0});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Warning from Dart2JS on security_monkey|web/main.dart:
web/main_generated_type_factory_maps.dart:368:70:
Additional argument.
import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
Rect({this.left:0, this.top:0, this.width:0, this.height:0});
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Dart2JS on security_monkey|web/main.dart]:
4 warning(s) and 1 hint(s) suppressed in package:security_monkey.
[Dart2JS on security_monkey|web/main.dart]:
4 warning(s) suppressed in package:angular.
Exhausted heap space, trying to allocate 672 bytes.
Exhausted heap space, trying to allocate 80 bytes.

The detailed information is like the following:
/usr/local/src/security_monkey/dart$ sudo /usr/lib/dart/bin/pub build
Loading source assets...
Loading dart_to_js_script_rewriter, di/module_transformer, initialize/build/loader_replacer, observe, smoke/src/default_transformer and initialize transformers...
Loading angular transformers... (2.5s)
Building security_monkey... (17.0s)
[Info from Dart2JS]:
Compiling security_monkey|web/main.dart...
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular/core/annotation_src.dart:3:44:
Library 'package:di/di.dart' doesn't export a 'Visibility' declaration.
Try removing 'Visibility' from the 'show' clause.
import "package:di/di.dart" show Injector, Visibility, Factory;
                                           ^^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular/core/annotation_src.dart:3:56:
Library 'package:di/di.dart' doesn't export a 'Factory' declaration.
Try removing 'Factory' from the 'show' clause.
import "package:di/di.dart" show Injector, Visibility, Factory;
                                                       ^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular/core/annotation.dart:11:5:
Library 'package:angular/core/annotation_src.dart' doesn't export a 'ShadowRootAware' declaration.
Try removing 'ShadowRootAware' from the 'show' clause.
    ShadowRootAware,
    ^^^^^^^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular/core/module.dart:70:5:
Library 'package:angular/core/module_internal.dart' doesn't export a 'CacheStats' declaration.
Try removing 'CacheStats' from the 'show' clause.
    CacheStats,
    ^^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular/core/module.dart:71:5:
Library 'package:angular/core/module_internal.dart' doesn't export a 'ComponentCssRewriter' declaration.
Try removing 'ComponentCssRewriter' from the 'show' clause.
    ComponentCssRewriter,
    ^^^^^^^^^^^^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular/core/module.dart:50:5:
Library 'package:angular/core_dom/module_internal.dart' doesn't export a 'NgAnimate' declaration.
Try removing 'NgAnimate' from the 'show' clause.
    NgAnimate,
    ^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular/core/module.dart:54:5:
Library 'package:angular/core_dom/module_internal.dart' doesn't export a 'PendingAsync' declaration.
Try removing 'PendingAsync' from the 'show' clause.
    PendingAsync,
    ^^^^^^^^^^^^
[Dart2JS]:
web/main.dart:

****************************************************************
* WARNING: dart:mirrors support in dart2js is experimental,
*          and not recommended.
*          This implementation of mirrors is incomplete,
*          and often greatly increases the size of the generated
*          JavaScript code.
*
* Your app imports dart:mirrors via:
*   main.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors
*   main.dart => main_generated_type_factory_maps.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors
*   main.dart => main_static_metadata.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors
*   main.dart => main_static_type_to_uri_mapper.dart => package:security_monkey/security_monkey.dart => package:security_monkey/model/hammock_config.dart => dart:mirrors
*
* You can disable this message by using the --enable-experimental-mirrors
* command-line flag.
*
* To learn what to do next, please visit:
*    http://dartlang.org/dart2js-reflection
****************************************************************

[Warning from Dart2JS on security_monkey|web/main.dart]:
web/main_generated_type_factory_maps.dart:368:58:
Additional argument.
  import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
                                                         ^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
  Rect({this.left:0, this.top:0, this.width:0, this.height:0});
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/main_generated_type_factory_maps.dart:368:62:
Additional argument.
  import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
                                                             ^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
  Rect({this.left:0, this.top:0, this.width:0, this.height:0});
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/main_generated_type_factory_maps.dart:368:66:
Additional argument.
  import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
                                                                 ^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
  Rect({this.left:0, this.top:0, this.width:0, this.height:0});
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Warning from Dart2JS on security_monkey|web/main.dart]:
web/main_generated_type_factory_maps.dart:368:70:
Additional argument.
  import_44.Rect: (a1, a2, a3, a4) => new import_44.Rect(a1, a2, a3, a4),
                                                                     ^^
[Info from Dart2JS on security_monkey|web/main.dart]:
web/packages/angular_ui/utils/position.dart:100:3:
This is the method declaration.
  Rect({this.left:0, this.top:0, this.width:0, this.height:0});
  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Dart2JS on security_monkey|web/main.dart]:
4 warning(s) and 1 hint(s) suppressed in package:security_monkey.
[Dart2JS on security_monkey|web/main.dart]:
4 warning(s) suppressed in package:angular.
Exhausted heap space, trying to allocate 672 bytes.
Exhausted heap space, trying to allocate 80 bytes.

Are you on a t1.micro or something?

You can download the compiled javascript from the latest release:
https://github.com/Netflix/security_monkey/releases/tag/v0.8.0
Grab the static.tar.gz and extract it into the security_monkey package.

@monkeysecurity Thank you for the reply. I'm using t2.micro, and another guy in our company successfully used this to set up the security monkey. Btw, it's really a nice tool, thank you for the contributions and your suggestions!

Hey @hobbits49 - Thanks for the complement.
I've heard from someone else that the t2.micro doesn't have the memory to compile the dart.  Options are to pull the tar file from the last release, or compile the dart into JS on a machine with more memory and scp the files to your micro.
#60 has a comment towards the end about the micro.

That make sense. Thanks a lot!


Bugfix/pandas df reference in mock

Please answer these questions before submitting your pull requests. Thanks!

What GitHub issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SNOW-1358494

Fill out the following pre-review checklist:

[x ] I am adding a new automated test(s) to verify correctness of my new code
[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency

Please describe how your code solves the related issue.
Previously, the mock plan attempted to replace np.nan with None for certain data types. However, this code had no effect. This caused a warning to be raised by pandas. This non-effective code should be removed if current code works without it. This will silence the warning and reduce confusion.

I have read the CLA Document and I hereby sign the CLA

Fixes Issue #1474 .

@sfc-gh-aling : It looks like you committed the original code. Perhaps you would be able to determine what the original design intent of this line was.

See #1476 : for an alternative solution which attempts to implement what I think the original intended behavior is rather than just maintain the current behavior.


PR Aliases for Prerelease Registry

Adds PR aliases to the prerelease registry which point at the latest commit's workflow run, for a given PR. You may still need to purge your node_modules and/or package-lock.json if installing to a project with this URL in order to detect changes.
So you're able to reference a specific build like so:
npm install --save-dev https://prerelease-registry.developers.workers.dev/runs/1869117354/npm-package-wrangler-496

And a PR like so:
npm install --save-dev https://prerelease-registry.developers.workers.dev/prs/496/npm-package-wrangler-496

This alias might fail if we have more than 100 workflows on an identically named head branch of a competing PR (it will return a 404). Should be pretty easy to add pagination if we ever get to that sort of activity, or we can try to store state in the Worker in KV. We could also filter by actor, but I haven't tested how PR author/latest committer/latest author all intersect with that.

finally, I think we should look into how this Worker gets deployed: I think we should deploy it from a GH Action that is run on the same schedule as the prereleases workflow (i.e. we attempt to redeploy this worker every time we merge a PR into master.

I'm not an admin on this repo. Do you have permissions to add me? I can add a API token and use the newly built wrangler to publish.

whether we could cache the workflows found for a particular PR so that we don't have to hit the GH API every time
or perhaps we could cache the HEAD workflow, and bust the cache from the github action that generates the comment?

Looks like the GitHub API already attaches the following header:
cache-control: public, max-age=60, s-maxage=60

This should automatically be respected. But you did just make me think about how we're caching the artifact. Think we need to add headers to make that more aggressive. I'll open a separate PR.


How to use write_aiger ?

hi,
How to use write_aiger correctly?
When I call it, it crashes with
6. Executing AIGER backend.
ERROR: Unsupported cell type: $_ORNOT_ ($abc$646$auto$blifparse.cc:346:parse_blif$648)

The full sequence of commands I use is:
./yosys
read_verilog ./tests/simple/fsm.v
flatten
write_aiger /tmp/hoho.aag

(I use the latest version from the repo). Thanks!

When I call it, it crashes with

It's not crashing. It's quitting with an error message. That's a very very different thing. A program that is crashing is doing something wrong, i.e. the guy who programmed it did something wrong. A program that terminates with an error message is telling the user that they are doing something wrong.
Accusing programmers of having written a buggy program, when in fact the program is telling you that you are using it incorrectly, can be a very effective way of making programmers angry. I recommend avoiding this scenario. :)

ERROR: Unsupported cell type: $ORNOT ($abc:346$646$auto$blifparse.cc:parse_blif$648)

Quoting the write_aiger help message (that is printed by help write_aiger):

[..] The design must be flattened and must not contain any cell types except $AND, $NOT, simple FF types, $assert and $assume cells, and $initstate cells. [..]

Thus the error message: $_ORNOT_ is not one of those cell types. Use for example abc to map the design to AND and NOT gates only.

The full sequence of commands I use is:

I seriously doubt that. The script you have posted does not call ABC, neither directly nor indirectly. But the cell name $abc$646$auto$blifparse.cc:346:parse_blif$648 is a name generated by the ABC pass, and nothing else in Yosys currently maps anything to ORNOT gates. There is no way this script produced the error message you posted. Oh, and since write_aiger is the third command in that script, the aiger backend log message would be prefixed with 3., not 6..
But looking at the script you posted: You do not seem to bother at all to run hierarchy, proc or anything else that resembles a synthesis script. I'm not sure what exactly you expect the tool to do here. You might want to read some of the Yosys documentation, or at least this post on stack overflow.
The following script does what I think you want to do:
read_verilog ./tests/simple/fsm.v
synth -flatten -top fsm_test
abc -g AND
write_aiger -ascii hoho.aag

Notice that I first bring the design all the way from the output of the HDL front-end into a gate-level representation by calling synth, then I convert the gate level representation into an explicit and-inverter graph circuit by mapping it to AND and NOT gates using the abc command and only then I write it to the aiger file.
In your script you have a .aag file, so I assume you are interested in generating the ASCII variant of the AIGER file format.
Whatever, thanks for providing the detailed, precise, and helpful answer!
(all I wanted is to convert verilog into aiger)

wow, you seemed to be pissed off with "crashes".

It's definitely a communication pattern that triggers something.. :)

Whatever, thanks for providing the detailed, precise, and helpful answer!
(all I wanted is to convert verilog into aiger)

Glad that I could help.

When I execute the script file
read_verilog ./tests/simple/fsm.v synth -flatten -top fsm_test abc -g AND write_aiger -ascii hoho.aag
I encounter the error as following
ERROR: Unsupported cell type: $_SDFF_PP0_ ($auto$simplemap.cc:527:simplemap_adff_sdff$289)
What can I do to solve the question?

I'm also getting the same error:
abc -dff -g AND
write_aiger -ascii -symbols -zinit out.aag
[00000.270353] ERROR: Unsupported cell type: $SDFF_PP0 ($auto:527$simplemap.cc:simplemap_adff_sdff$87)

Run dffunmap before abc.

Run dffunmap before abc.

Thanks! Seems like this is a new feature as I did not have this in my scripts which worked with an older yosys version.

Run dffunmap before abc.

Thanks! Seems like this is a new feature as I did not have this in my scripts which worked with an older yosys version.

Can you please note down the yosys version that you were able to run and map to an AIG?

Can you please note down the yosys version that you were able to run and map to an AIG?

One of my yosys generated aiger files have  this comment:
c
Generated by Yosys 0.9+932 (git sha1 304e5f9e, clang 6.0.1 -fPIC -Os)


Add authorization to scim2/me create test cases

According to the previous test implementation, there are configuration changes to make the scim2/me create endpoint unsecured.
With this PR, that test case is modified to call the endpoint with authorization header.

Requesting changes based on the failed Jenkins job https://jenkins-support-all.wso2.com/jenkins/job/DEV_PR_BUILDER/99/, started by Pamoda Wimalasiri,

This has failed due to an issue with Jenkins.


[younow] Add new extractor

Please follow the guide below

You will be asked some questions, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your pull request (like that [x])
Use Preview tab to see how your pull request will actually look like

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

In order to be accepted and merged into youtube-dl each piece of code must be in public domain or released under Unlicense. Check one of the following options:

[x] I am the original author of this code and I am willing to release it under Unlicense
[ ] I am not the original author of this code but it is in public domain or released under Unlicense (provide reliable evidence)

What is the purpose of your pull request?

[ ] Bug fix
[ ] Improvement
[x] New extractor
[ ] New feature

Description of your pull request and other information
Support for live streams on YouNow.
This should close issues #11310 #9432 #9255

Bumping. Would like to see.

@dstftw This is ready to go on my end.


It quit working

Getting this error now even though it worked this morning after updating:
https://imgur.com/a/1cRr6uC

As a troubleshooting step, try removing your chain.cache file. I have seen this error, but it is very rare.

Worked. Modifying the description to make this error searchable. Thanks!

Text of the error:
<username>:skepticoin-mine Reading cached chain Reading chain from disk, starting height=85329, fresher=3619 Traceback (most recent call last): File "/home/<username>/bin/skepticoin-mine", line 33, in <module>     sys.exit(load_entry_point('skepticoin==0.1.16', 'console_scripts', 'skepticoin-mine')()) File "/home/<username>/lib/python3.9/site-packages/skepticoin/scripts/mine.py", line 6, in main     miner_watcher() File "/home/<username>/lib/python3.9/site-packages/skepticoin/mining.py", line 107, in __call__     self.coinstate = read_chain_from_disk() File "/home/<username>/lib/python3.9/site-packages/skepticoin/scripts/utils.py", line 135, in read_chain_from_disk     coinstate = coinstate.add_block_no_validation(block) File "/home/<username>/lib/python3.9/site-packages/skepticoin/coinstate.py", line 179, in add_block_no_validation     unspent_transaction_outs = self.unspent_transaction_outs_by_hash[block.previous_block_hash] KeyError: b"<somekeyname>"
The fix is to delete chain.cache:
rm chain.cache


SQL: Selecting column names that are keywords always needs to be escaped

I have a datasource with a dimension called year, which becomes a VARCHAR column name in the SQL schema.
The following SELECT statement fails:
SELECT year FROM mydatasource LIMIT 1

This results in a org.apache.calcite.sql.parser.SqlParseException.
The workaround is to escape all column names in Druid SQL queries like so:
SELECT "year" FROM mydatasource LIMIT 1

But other flavors of SQL that I've worked with do not share this problem (i.e. MySQL, Postgres tend to recognize that year is a column name based on the surrounding syntax).
The same issue also occurs with other columns that are keywords, such as count which appears on all Druid SQL schemas.

Hi @hetul, as far as I know we inherit this behavior from Calcite (which we use for SQL parsing & planning). I don't know if it's customizable. If it is, I'd definitely merge a PR that changed the behavior to be less finicky. Otherwise I think we should close this wontfix.
Do you (or anyone else listening) happen to know?

Thanks @gianm, it does sound like a Calcite issue. I don't have experience with Calcite, so I don't know if it's configurable.
Totally fair to close as wontfix since the workaround is simple enough, though mildly surprising. I just wanted to point it out if it was an unknown issue!

Hmm, I checked the Calcite SQL parser config briefly and don't see an obvious way to change this. So I'll close this. Hope it's not too bad of an inconvenience!


A few updates

Add Docker to the adoptions list, linking to their DockerCon 2023 announcement
Replace the reference implementation link with an implementations page, which links to python-tuf, go-tuf, and tuf-js, as well as tuf-on-ci and RSTUF
Fix my contact details

@kairoaraujo and @jku, I'm adding a page here which mentions RSTUF and tuf-on-ci, can you lmk if the (brief) descriptions seem accurate? https://deploy-preview-47--theupdateframework.netlify.app/implementations/
@kipz I've listed Docker as an ongoing adoption here, is that OK? https://deploy-preview-47--theupdateframework.netlify.app/adoptions/

@kipz I've listed Docker as an ongoing adoption here, is that OK? https://deploy-preview-47--theupdateframework.netlify.app/adoptions/

Absolutely! Thanks.

Thanks all! Updated website should be available real soon now.


Add functionality similar to isEqualToIgnoringNullFields for Optional.empty()

Summary
I am really digging the ability to ignore null fields in the actual based on null fields of the expected since it provides a very flexible way to build highly reusable tests in our BDD framework. It would be really nice if this functionality was extended to include Optional.empty() as well.
Hope it could land as another part of the #1002.
Example
class Animal {
    String nickName;
    Integer tailCount;

    Animal(String nickName, Integer tailCount) {
        this.nickName = nickName;
        this.tailCount = tailCount;
   }

    Optional<Integer> getTailCount() {
        Optional.ofNullable(tailCount);
    }

    Optional<String > getNickname() {
        Optional.ofNullable(tailCount);
    }
}

And such assertion would pass:
assertThat(new Animal("Fluffers", 9)
    .usingRecursiveComparison()
    .ignoringActualNullFields()
    .isEqualTo("Fluffers", null) ;

It would better to add ignoringEmptyOptional, WDYT?

Yeah, you're right. It makes more sense semantically to add it as a separate option. Shouldn't "Actual" be included in naming thought? I thinks it may sound a bit confusing as it is.

yes it should, good point!

For consistency with other configuration parameter, I'll go with ignoringAllActualEmptyOptional

for consistency with the existing api, we will go with ignoringActualOptionalEmptyFields

oh and also going to ignore OptionalInt, OptionalLong and OptionalDouble


Change PlutusMap from BtreeMap to Vec

I noticed that Berry's fork of CML changed the PlutusMap to use a Vec instead of a BtreeMap. Not sure what the rationale for this was, but just creating an issue to track this since there may have been a good reason

So it sounds like it's because when constructing a transaction offchain, PlutusTx maintains insertion order whereas CML isn't because it uses a BtreeMap. Sounds like the solution may be to use a LinkedHashMap? The cddl type does use a map type though and I'm not sure what the implications of the regeneration are on this type

This was likely done due to duplicate keys. I'll close this now that we have #241


[No QA] Missing propType in SettlementButton

Details
This is just a small amount of cleanup to add a missing prop declaration.
Fixed Issues
$ n/a
Tests
None.

[ ] Verify that no errors appear in the JS console

QA Steps
None.

[ ] Verify that no errors appear in the JS console

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by @nkuoch in version: 1.1.56-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @francoisl in version: 1.1.56-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Remove all checked exceptions from Method signature

Fixed by https://github.com/ShaileshSurya/edgedb-java/commit/6f905859ee266d2adfb38ea409b6f24a1c9b5789


feat(workflows): Add workflow to merge dependabot PRs

Prerequisite checklist

[x] Read the contribution guidelines regarding submitting new changes to the project;
[x] Tested your changes against relevant architectures and platforms;
[x] Ran make fmt on your commit series before opening this PR;
[ ] Updated relevant documentation.

Description of changes

Will close this as it is better to check notes before merging each dependabot PR


animate marker on updateLatest

Created an animation when the device marker is updated. Please check the video.
Video 2019-07-08 at 10.03.18.mp4.zip

What would happen if you get updates every second?

I can put the duration of the movement configurable. In that case I would set duration to 500 ms.

I think the right solution is to cancel old animation.

you mean "cancel all animation"?
yes, which would be done setting the value to 0.

If new update is triggered earlier than animation finished, we need to cancel old animation. That's what I meant.

Oh ok, that makes sense. Gonna work on that.
Should I still put the duration of the movement configurable? Any suggestion for the name of the setting?

We usually put constants like this into "Style.js". Not ideal, but better than hardcoded.

Can you take a look again?

Yes, instead of canceling the old animation and starting a new one I'm updating the path.
When a new event comes in and the old animation hasn't finished, the marker will jump to the latest event. The animation will finish in the newest position.

Thanks Anton, I think we're ok now. I also reused the rotateMarker function with the 'self' trick, the function had 0 usages with the previous change.

Merged, thanks for the pull request.

@jcardus looks like the change broke map centering:
https://www.traccar.org/forums/topic/follow-behavior-and-webshockets/#post-50650
Would you be able to fix that?

Hi Anton,
Sorry, just saw this now.
I will fix it.
On Tue, 25 Feb 2020 at 18:29, Anton Tananaev<EMAIL_ADDRESS>wrote:

@jcardus https://github.com/jcardus looks like the change broke map
centering:
https://www.traccar.org/forums/topic/follow-behavior-and-webshockets/#post-50650
Would you be able to fix that?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/traccar/traccar-web/pull/748?email_source=notifications&email_token=AHTMWFJFB2CEOUKKO4VCNZ3REVPQRA5CNFSM4H62RX22YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEM4627I#issuecomment-590998909,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHTMWFIQMF4TAPLH6CI6RQDREVPQRANCNFSM4H62RX2Q
.


Make it possible to send mail without AWS SES

Add possibility to send mail through other services than SES.
Simplest option would be to add mail capability via SMTP with nodemailer.
That first. Then maybe support some "send-mail-as-a-service" -services.

done


A "default camera" timeout.

Describe what you are trying to accomplish and why in non technical terms
I would like for my live view to return to the preset camera after a certain amount of time.
Describe the solution you'd like
A time out option for the camera view ( Like the timeout for the views )
Describe alternatives you've considered
I tried using the view time out, but it doesn't seem to trigger when I change camera while remaining on "live"

I think it may be simpler to just have the existing timeout set both the view and camera (to the first in the list), as long as they camera cycle option is not set. Would that work for you?


Pin ACK runtime to v0.21.0

Pin ACK runtime to v0.21.0
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm


TypeError: Cannot read property 'maxSockets' of undefined

var availableSockets = instance.options.maxSockets - instance.activeSockets;
^
TypeError: Cannot read property 'maxSockets' of undefined
at startNext (/home/rodrigo/projects/node/spyder/node_modules/limited-request-queue/lib/index.js:220:42)
at Timeout.RequestQueue.resume [as _onTimeout] (/home/rodrigo/projects/node/spyder/node_modules/limited-request-queue/lib/index.js:96:2)
at ontimeout (timers.js:498:11)
at tryOnTimeout (timers.js:323:5)
at Timer.listOnTimeout (timers.js:290:5)

Do you experience it with v0.14.0-beta (from git) ?


annotation.index wrong if in the title or subtitle is a ","

In Italy in the address field it is almost always present "," it is but 'used as a key field to create various fields including the index.
This method:
-(NSArray *)dropPinsWithData:(NSArray )data {
NSMutableArrayannotationArray= [NSMutableArray new];
for (int i = 0; i < data.count; i++) {
NSDictionary *d = data[i];
NSMutableString *line = [NSMutableString new];
[line appendString:[NSString stringWithFormat:@"%@, ", [d valueForKey:kLongitude]]];
[line appendString:[NSString stringWithFormat:@"%@, ", [d valueForKey:kLatitude]]];
[line appendString:[NSString stringWithFormat:@"%@, ", [d valueForKey:kTitle]]];
[line appendString:[NSString stringWithFormat:@"%@, ", [d valueForKey:kIndex]]];
[line appendString:[NSString stringWithFormat:@"%@",   [d valueForKey:kSubtitle]]];
[annotationArray addObject:line];
}
Add "," for separated string used by
HACQuadTreeNodeData HACDataFromLine(NSString *line)
{
NSArray *components = [line componentsSeparatedByString:@","];
In the subtitle field, putting an address like: "Corso Italy, 47"
This generates an error in the calculation of the various fields.
Currently I replaced the "," with the "|" to be used as a separator in the 2 methods mentioned above

This is a mistake, when I have time I will solve it without fail, thanks


New Widget : autocomplete Select2 Js Library type

the idea is to dispose of a widget able to search in a secondary index ( lets say an index of project for the sake of this example) with an autocomplete feature and a select2 kind of look. i think it should be pretty easy to build ?
maybe the issue is coming from the fact that the user need to be able to select a value (here a project) and then perform a new search in the real index ( which is a company listing that had worked on one or many projects)

:+1:

Just to make sure I understand the issue, could you confirm this is the workflow you have in mind?

Users selects a project in a dropdown list (helped with an autocomplete so they do not have to scroll into the whole list).
Results are filtered, so only hits that matches this project are displayed
Users can type a query to further refine the list of results

In your example, the dropdown is populated through a secondary index, but this is actually used as a list of facets. How many projects (approx.) do you have in this list? Just to see if we're talking about a dropdown on a small list of facets, or a full search in another index.

my use case is as follows:
i have 36 000 projects linked to 40 000 companies.
Client requirement is to find companies that has worked on this or that project (with other facets also)
so i imagined the flow :
there is input allowing the user to search in the projet list. there is some kind of autocomplete or more likely a results list (capped to a maximum result i guess)
the user can click and select a project from the result list to add it to the search. Here companies results listing is refined
he can then search another projet and click and select it to add it to the search.Here companies results listing is refined
the 2 previous selected project should be easily removable as well.

As of today, I think you could be able to build something like this using our autocomplete.js library (this is a fork of Typeahead that uses Algolia) and the instantsearch.helper property (that maps to our javascript helper.
This will require a bit of plumbing, but the main idea would be to listen to the autocomplete:selected event of autocomplete.js, and here add a new facetRefinement to the helper, that matches the value selected in autocomplete...
We have plans to add search into facets values directly at the API level, but no ETA at the moment. I don't think we're going to add this feature like this directly into instantsearch core (because of file size, and custom setup requirements in term of indices), but maybe we should write a detailed guide on how our two libraries could work together.
Any other thoughts @redox @vvo @bobylito ?

We could definitely create a community widget that given the user as the right configuration would provide a refinementList sort widget with an input search on top of it and custom behavior to add remove refinements.
Would that work?

:+1: From my POV, this would work. It only requires a bit of specific index configuration on the user side. But we could explain all that in this widget specific readme.

We could definitely create a community widget that given the user as the right configuration would provide a refinementList sort widget with an input search on top

this is not really like select2...

Indeed @bobylito, we have two different widgets here (that's why a GIF/screenshot is worth 6 github comments :D).

@pixelastic @vvo
solution proposed seems good implementation for my case.
where can i find (if exist ofc) more details about the implementation ?

@chrisvidal There's no current implementation of what you really want. If you want to go further on creating a specific widget, I would advise you to:

build a graphical mockup of the widget (how would it look in a simple way)
list the features available for the user
design a JavaScript API listing the widget options

Then once you have all this design setup we can walk you through internal implementation.
You can do so in a new issue, it will be easier.
Thanks a lot!

@vvo yes im trying to implement the solution presented by pixelastic which fits my requirements.

The autocomplete part is almost done after setting up all the required index in algolia side.
Now im digging in the algolia instant helper documentation to see how to add the selected value in the autocomplete widget.

now the tricky part i guess, is to link the object named 'client' in the helpers which look like an instance of the old algolia search with the new 'serachclient' coming from the instantsearch API

@chrisvidal

"algoliasearch" is the JS API client (just handling requests to the API).
The helper (algoliasearch-helper) is the search state holder (what are the current refinements/query). It wraps the algoliasearch client
instantsearch is then wrapping helper

If you have a test repository I can have a look and help you out.

i can the skeleton of the related code here

// instantsearch api, set up a refinementList
var categoriesRefinementList = instantsearch.widgets.refinementList({
            container: '#facet-categories',
            attributeName: 'categories',
            operator: 'or',
            limit: 8,
            autoHideContainer: false,
            sortBy: ['isRefined', 'count'],
            cssClasses: {
              root: 'root',
              header: 'facet-title',
              item: 'facet-value checkbox',
              count: 'facet-count uk-float-right',
              active: 'facet-active'
            },
            templates: {
              header: getHeader('Categories'),
            }
          });
        window.categoriesRefinementList = categoriesRefinementList;
        search.addWidget(
          categoriesRefinementList
        );
      // start
        search.start();

Then creating the autocomplete

   var client = algoliasearch('UIXXXXXX', '1241342342352524');
    var index = client.initIndex('CATEGORIES');
    setTimeout(autocompleteCategories, 250);

function autocompleteCategories() {
        $('#autocomplete-categories').autocomplete({ autoselect: true, openOnFocus: true, hint: false, minLength: 2 }, [
            {
              source: function(q, cb) {
                index.search(q, { hitsPerPage: 10 }, function(error, content) {
                  if (error) {
                    cb([]);
                    return;
                  }
                  cb(content.hits, content);
                });
              },
              displayKey: 'name',
              templates: {
                suggestion: function(suggestion) {
                  return suggestion._highlightResult.name.value;
                }
              }
            }
          ]).on('autocomplete:selected', function(event, suggestion, dataset) {
            console.log(suggestion, dataset);
 // here, not sure which client variable should be refered to ?
            var helper = algoliasearchHelper( client, 'COMPANIES_production', {
                disjunctiveFacets: ['ORcategories']
            });
            helper.setQuery(suggestion.name).addDisjunctiveFacetRefinement('ORcategories');
            helper.search();
            helper.on('result', function(results) { updateUI(results); });
          });
        }

awesome, found the solution after digging in the widget examples. thanks again guys for pointing out a solution :+1:
.on('autocomplete:selected', function(event, suggestion, dataset) {
            var helper = search.helper; // search is an instance of instantsearch
            helper.addDisjunctiveFacetRefinement('categories', suggestion.name);
            helper.search();
          });

Cool cool!

I am wondering though, how is this select2?

I do not see how the solutions herein proposed solve any of this?

Here's what I came up with - I am sure there are better ways, but this works.
Note, it is presumed you do add relevant libs on your own, and I use this with Typesense, but it should also work with Algolia since it uses instantsearchJS
const customMenuSelect = instantsearch.connectors.connectMenu((renderOptions, isFirstRender) => {
            const { refine, items, widgetParams } = renderOptions;

            if (isFirstRender) {
                const select = document.createElement('select');
                widgetParams.container.appendChild(select);

                select.addEventListener('change', event => {
                    refine(event.target.value || '');
                });
            }

            const select = widgetParams.container.querySelector('select');
            select.innerHTML = '';

            // Add an 'All' option at the top of the select element
            const allOption = document.createElement('option');
            allOption.value = '';
            allOption.text = 'All';  // Adjust this label if needed
            allOption.selected = items.every(item => !item.isRefined);
            select.appendChild(allOption);

            // Add other options with counts
            items.forEach(item => {
                const option = document.createElement('option');
                option.value = item.value;
                option.text = `${item.label} (${item.count})`;  // Including count here
                option.selected = item.isRefined;
                select.appendChild(option);
            });

            // Re-initialize Select2 after updating options
            $(select).select2({
                placeholder: 'Select a Category',
                allowClear: true,
                width: '100%',
            }).on('select2:select select2:unselect', function (e) {
                refine(e.target.value || '');
            });
        });

And in the addWidgets:
...
customMenuSelect({
					container: document.querySelector('#categories-refinement-list'),
					attribute: 'Category'
				}),
...

This does produce a working select2 that is populated with values from the attribute, and updates accordingly when values are changed.


Time for a 3.2 release?

Hi,
Release 3.1 is already 2 years old. As the packages maintainers rely on the Github releases, the CentOS and Debian packages are totally out of date.
Do you plan to release a 3.2 soon?
Merci!

Damned, I don't realized that it was two years old, thanks for the reminder, I will publish a new release asap.

ha, funny

I think the Covid thing change my perception of time :-)

New released v3.2 published, see https://github.com/darold/pgcluu/releases/tag/v3.2

MErci !


Bump snips-nlu-ontology to 0.54.0

Fixes #534

Codecov Report

Merging #536 into develop will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #536   +/-   ##
========================================
  Coverage    93.53%   93.53%
========================================
  Files           38       38
  Lines         2368     2368
  Branches       483      483
========================================
  Hits          2215     2215
  Misses          92       92
  Partials        61       61

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 e26589a...7fc7a03. Read the comment docs.


New API family proposal - MaaS(Model as a Service)

Proposal to create a MaaS(Model as a Service) API family:
MaaS (Model as a Services) refers to the packaging of AI models and their associated capabilities into reusable services, enabling users to quickly and efficiently build, deploy, monitor, and invoke models without the need to develop and maintain underlying foundational capabilities.
Based on the large model capabilities provided by the model provider integrated with the CSPs, it supports the construction of large model applications according to the needs of the developers.
MaaS offers convenient large model services for users who need simple and quick access to big models.
Related to #84

NOTE: This issue should actually be labeled as “API Proposal”, but we couldn't find it, hence we selected the incorrect label.

MaaS Introduction-ChinaMobile.pdf
Those slides can help you further understand our API proposal.

Pending to create repo

Pending to create repo

@jgarciahospital The repository is available since November 4th, mailing list and wiki page are also created. The repository is waiting for a codeowner and start of the work. Would it make sense to create an onboarding issue, and close the proposal issue here?


Fix windows paths in dep files

Building LLVM on windows errored out when finding a windows path
tools/clang/include/clang/AST/TypeNodes.inc: C:/code/llvm/llvm-project/clang/include\clang/Basic/ASTNode.td
In one of the files, the parser in depfile didn't account for : in the drive letter. This fixes that.

One thought I had here was that we could just always treat colon as a valid character in a path, and then down when we call read_path the first time, check the path we just parsed had a trailing colon and drop it there.
It's a little funny how the file syntax is path1: path2 path3 and the colon is really superfluous.

https://github.com/evmar/n2/commit/738e5641f169d96ac634c9437373a9ce4f1f6c61

It turns out android already makes this an error: https://cs.android.com/android/platform/superproject/main/+/main:build/soong/ui/build/ninja.go;l=78;drc=ded796030ba24c6ea096c26067890884825f9ebb
So we'd need the option to turn it into an error again if we were to switch to n2.


In 0.13 and 0.13.1, mouse_area doesn't activate on_move message

Is your issue REALLY a bug?

[X] My issue is indeed a bug!
[X] I am not crazy! I will not fill out this form just to ask a question or request a feature. Pinky promise.

Is there an existing issue for this?

[X] I have searched the existing issues.

Is this issue related to iced?

[X] My hardware is compatible and my graphics drivers are up-to-date.

What happened?
The mouse_area element with on_move seems to be broken in 0.13 and 0.13.1.  It worked in 0.12.
The following code dispatches the OnMove message in 0.12 but not in 0.13.
mouse_area("Hello world").on_move(Message::OnMove),

on_press still works.
It looks related to the change made here: https://github.com/iced-rs/iced/commit/c711750be7ccca6a6852d0222169ebfea04ee864#diff-2b3d8bbc11ac699d4e936dac3b987950f3d1a63b5345395c14541a1021322e14R322.
From some brief debugging, the mouse move does not activate the following if-condition: if state.cursor_position != cursor_position && state.bounds != bounds {.
What is the expected behavior?
I'm expecting the mouse_area element to dispatch an OnMove message when I move the cursor over that mouse area element, but it doesn't since 0.13.
Version
crates.io release
Operating System
Windows
Do you have any log output?
No response

I'm quite confident I fixed this in https://github.com/iced-rs/iced/commit/1f8dc1f3dda25c699b94c653d5d569f4142e9b83, which was released in 0.13.1.
Try running cargo update to make sure your Cargo.lock is using the latest patch for all the subcrates.

Thanks for replying, confirming it's fixed after cargo update.


Fix #6812: Add shape attributes to "CreateElementTagBuilder"

Add shape attributes to "TagBuilderExtensions.CreateElementTagBuilder()", to give developers the ability to add there new attribute from custom layout elements drivers.

Hi @mdameer, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

@sfmskywalker ?

Can you also file an issue for this one?

@sebastienros, this fix for issue #6812.


feat(ndt_omp): migrate a package into universe

Signed-off-by: kminoda<EMAIL_ADDRESS>Description
Migrating ndt_omp package from https://github.com/tier4/ndt_omp into universe.
Since we are planning to make a radical change to this package (as well as ndt_scan_matcher), the package is no longer necessary to be a forked repository. So I would like to migrate the package in universe so that the modification on this package would be easier to handle.
Note:

I would like to make the modification from the original package as little as possible for easier reviewing, so the package is NOT modified except

an additional license description in Readme
removing apps
applying pre-commit

As a next step, I am planning to modify the CMakeLists.txt and packages.xml so that they will align with the other Autoware packages (e.g. including autoware_cmake).

Related links
Should be merged at the same time with...

https://github.com/autowarefoundation/autoware/pull/2975

Tests performed

Notes for reviewers

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.
[ ] The PR has been properly tested.
[ ] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.
[ ] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

I asked AWF community for the opinions on this PR. I will wait for about a week and move on with this PR afterwards.
https://github.com/orgs/autowarefoundation/discussions/2995


Component health

Pull Request Checklist
Is this in reference to an existing issue?
General

[x] Update Changelog following the conventions laid out on Keep A Changelog

[ ] Update README with any necessary configuration snippets

[ ] Binstubs are created if needed

[x] RuboCop passes

[x] Existing tests pass

New Plugins

[x] Tests

[x] Add the plugin to the README

[x] Does it have a complete header as outlined here

Purpose
Extend the functionality by adding DC/OS component health checks
Known Compatablity Issues

kitchen test is failing:
(...)
-----> Running bats test suite
 ✓ Check process count, OK
 ✓ Check dummy1 interface bytes in, CRITICAL
 ✓ Check ping, OK
 ✓ Check container count, OK
 ✓ Check container cpu throttle, WARNING
 ✗ Check process count, OK
          (in test file /tmp/verifier/suites/bats/check-dcos-system-health.bats, line 26)
            `[ $status = 0 ]' failed
 ✗ Check dummy1 interface bytes in, CRITICAL
          (in test file /tmp/verifier/suites/bats/check-dcos-system-health.bats, line 32)
            `[ $status = 0 ]' failed

       7 tests, 2 failures
       !!!!!! Command [/tmp/verifier/vendor/bats/bin/bats /tmp/verifier/suites/bats] exit code was 1
>>>>>> ------Exception-------
>>>>>> Class: Kitchen::ActionFailed
>>>>>> Message: 1 actions failed.
>>>>>>     Verify failed on instance <default-ubuntu-1604>.  Please see .kitchen/logs/default-ubuntu-1604.log for more details
>>>>>> ----------------------
>>>>>> Please see .kitchen/logs/kitchen.log for more details
>>>>>> Also try running `kitchen diagnose --all` for configuration

@majormoses do you think we can merge this now?

released: https://rubygems.org/gems/sensu-plugins-dcos/versions/0.0.2


Add more Extra variables to be allowed to be referenced in module manifest

PR Summary
Module Manifest can contain the following special variables : PSScriptRoot, PSEdition and EnabledExperimentalFeatures.
The aim of this PR is to extend the allowed variable list to :

PSHome
PSCulture,
PSUICulture,
IsCoreCLR,
IsLinux,
IsMacOS,
IsWindow

PR Context
As a PowerShell developper, I deal with cross platform and cross language, to allow more special variables let me handle more heterogeneous within the module manifest.
This PR is a followup of

Allow automatic variable Is* inside PowerShell module manifest file
Current module manifest schema is not adequate to properly support cross-platform modules

PR Checklist

[X] PR has a meaningful title

Use the present tense and imperative mood when describing your changes

[X] Summarized changes
[X] Make sure all .h, .cpp, .cs, .ps1 and .psm1 files have the correct copyright header
[X] This PR is ready to merge and is not Work in Progress.

If the PR is work in progress, please add the prefix WIP: or [ WIP ] to the beginning of the title (the WIP bot will keep its status check at Pending while the prefix is present) and remove the prefix when the PR is ready.

Breaking changes

[X] None
OR
[ ] Experimental feature(s) needed

[ ] Experimental feature name(s):

User-facing changes

[] Not Applicable
OR
[X] Documentation needed

[ ] Issue filed:

Testing - New and feature

[ ] N/A or can only be tested interactively
OR
[X] Make sure you've added a new test if existing tests do not effectively test the code changed

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

@PoshChan Please rerun windows

@fMichaleczek, you are not authorized to request a rebuild

@fMichaleczek seems to be a widespread issue with Azure's windows agents. Nothing to do but wait on that one, I'm afraid. 🙂

Close and reopen the PR to force Windows CI build working properly.

To answer your question about what cmdlets to add, I'm going share details about something related that I have planned.
I have a PR planned that I want to submit once I get some of the other debugging work I have ongoing finished is to prevent the debugger from stepping into a module manifest by default (i.e. treat them as if they have the DebuggerHidden attribute set on them -- something that you cannot do manually to a manifest at this time because it does not support the param statement).
The reason:
I'm trying to improve debugging efficiency in PowerShell, and if I am stepping through code that invokes a command from a module that is not loaded, and I want to step into that command, I end up stepping into the manifest, and it can take a very long time to go through that process. I find debugging a manifest to be pretty useless because it's not really code (there really isn't much to see/do here).
This PR adds a bunch more variables and some additional commands to the manifest, but in my mind it's still not enough to warrant debugging.
I think that this approach (that a manifest is not cannot be debugged) is a good measure for whether or not additional commands should be added to the manifest. The more we add, the more we open the opportunity for wanting to debug it, but it shouldn't be "code" per se...it should just be module metadata specified in a PowerShell-ish way.
With that in mind, I would avoid adding support for any commands other than those that we deem absolutely necessary in a manifest.

@KirkMunro
Ok, I don't changed Permitted Cmdlets and will make an issue if it's necessary.
For our context, this code is valid with PS5+
Set-Content -Path .\Test5-Dependencies.psm1 -Value @'
    $env:IsLinux = $IsLinux -eq $true
    $env:IsMacOS = $IsMacOS -eq $true
    $env:IsWindows = (-not $IsLinux -or -not $IsMacOS) -and -not [System.Environment]::Is64BitProcess
    $env:IsWindows64 = (-not $IsLinux -or -not $IsMacOS) -and [System.Environment]::Is64BitProcess
'@

Set-Content -Path .\Test5.psm1 -Value @'
    Remove-Module Test5-Dependencies
'@

Set-Content -Path .\Test5.psd1 -Value @'
@{
    RootModule = "Test5.psm1"
    ModuleVersion = '0.1.0'
    NestedModules = "Test5-Dependencies.psm1"
    RequiredAssemblies   = @(
        if($env:IsLinux -eq 'true') {
           Write-Host "IsLinux" -Foreground Green
        }
        elseif($env:IsMacOS -eq 'true') {
            Write-Host "IsMacOS" -Foreground Green
        }
        elseif($env:IsWindows64 -eq 'true') {
            Write-Host "IsWindows64" -Foreground Green
        }
        elseif($env:IsWindows -eq 'true') {
            Write-Host "IsWindows" -Foreground Green
        }
    )
}
'@
Import-Module .\test5.psd1 -Force
Get-Module test5*

After this change, this code is valid with PS7+
Set-Content -Path .\test7.psd1 -Value @'
@{
    ModuleVersion = '0.1.0'
    RequiredAssemblies   = @(
        if($IsLinux) {
           Write-Host "IsLinux" -Foreground Green
        }
        elseif($IsMacOS) {
            Write-Host "IsMacOS" -Foreground Green
        }
        elseif($IsWindows) {
            Write-Host "IsWindows" -Foreground Green
        }
    )
}
'@
Import-Module .\test7.psd1
Get-Module test7

So this PR is a beginning to handle 3 cases : Linux/MacOS/Windows but doesn't resolve all the problems like compatibility with 5.1 and native dll loading problems.

It's possible to restart the CI ? The macos failed for an external reason.
In this kind of problem, do you prefer I ask or I submit a new  commit ?

@fMichaleczek 	I restarted the PR but it does not look like external reasons.

@PoshChan please get failures

@fMichaleczek you might try rebasing off of the current master branch here, by the looks of those.

I do not like this trend - after some time this file will turn into a script. I would prefer to keep the declarative nature of this file, which was originally meant in manifest design. Perhaps https://github.com/PowerShell/PowerShell-RFC/pull/188 could address this directly or indirectly.

I second @iSazonov's opinion. I don't see the need to expand the allowed cmdlets. As for the variables, it makes sense to add $IsWindows, $IsLinux, $IsMacOS, but I don't see why a module manifest cares $PSHome.

We have never even discussed alternatives to these variables in manifest file. The direction in RFC 188 seems more correct.
If the main intention is to make ported modules, then I would even say that there should not be anything related with the OS type in the manifest. The engine should be so smart to do the rough work for us.
.Net Core allows us to control how native assemblies to load and we could make enhancements to benefit from this. For the rest we could maintain simplicity in the manifest and file structure.

The engine should be so smart to do the rough work for us.

There is a possibility that a module want to expose certain functions/cmdlets only on certain platforms, not all. In that case, $IsWindows, $IsLinux and $IsMacOS could be useful.

The engine should be so smart to do the rough work for us.

There is a possibility that a module want to expose certain functions/cmdlets only on certain platforms, not all. In that case, $IsWindows, $IsLinux and $IsMacOS could be useful.

Indeed, I have one module that comes to mind where I need to do this.

There is a possibility that a module want to expose certain functions/cmdlets only on certain platforms, not all. In that case, $IsWindows, $IsLinux and $IsMacOS could be useful.

My thoughts is that never discuss alternatives publicly and that preferred way is declarative, not script, manifests.
Currently in the repo we have to use #if !UNIX to exclude code from compilation and a manifest per platform. It seems there is no better way in the case - we can not expose a cmdlet which is not compile. If a cmdlet compiled but can not be used on a platform (or we don't want to expose it), for the case (it is true for script cmdlet too) we could use an attribute (new parameter in existing attributes) to inform engine to load the cmdlet/function/alias only on platform specified in the attribute. (Verbose message could inform users that the cmdlet is not compatible.)
Or we could have platform sections in manifests like:
Windows {
    CmdletsToExport = @()
}

Or we could have platform sections in manifests like:
Windows {
    CmdletsToExport = @()
}

Interesting. My original thinking was if that was implemented to be additive, such that the platform-specific properties are combined with the platform-agnostic properties in the manifest, I'd like it much better than having conditional logic here and there. It would also make it easier to view as a property file, which is its intent, and it would be easier to author correctly as well since it would be more about defining properties and less about conditional logic.
There is a problem though. What do you do for metadata that you want to define for multiple platforms, but not all platforms? Do you define it once for each platform, resulting in duplication? That's not great. So how could we specify properties for multiple platforms this way? That's where conditional logic comes in handy, because then I can do this:
# ...
CmdletsToExport = @(
    'Out-String'
    'Out-File'
    'Out-Host'
    'Out-Null'
    if ($env:IsWindows) {'Out-Printer'}
)
# ...

Since we already support conditional logic in manifest, I think this is probably the easiest path forward to success.
That said, I think we need to be minimalistic and only add the bare minimum variables that we know would be useful, i.e. $IsWindows, $IsLinux, and $IsMacOS. Others can be added in separate PRs if there is a driving need for them.
I would also drop $PSHome from this PR, because module authors shouldn't be doing anything directly with that path, and if they do have that need, that may point to issues that should be addressed in a different manner.

CmdletsToExport = @() # For all platforms
RequiredAssemblies = @()
Windows {
    CmdletsToExport = @() # Additions for Windows platform
    RequiredAssemblies = @()
}

If we want more features we could consider definitions like runtime.config.json.

If a cmdlet is compatible with Linux x64 and not with Linux arm, this PR doesn't help. The only workaround is to test if a path exist. At a moment, the RID should be available in the system (I understand it's not a powershell's priority)
I will update the PR before the end of the week.

Restarted CI-macos.

This seems to have stalled.
Unresolved discussion/decision points:

$PSHome and $Home -- should those be added?
Recommendation: Unless there is a specific use case that these are needed for right now, I would err on the conservative side and keep it simple for now.
Rationale: Those can be added later should the need arise.

$IsWindows, $IsLinux, and $IsmacOS vs a more declaritive manifest style that doesn't use variables?
Recommendation: Taking the variable approach for now solves the immediate need, so go with that to allow other modules such as Microsoft.PowerShell.GraphicalTools to start using it.
Rationale: Making manifests more declarative and less programmatic is worthy of a discussion, but that discussion should not get in the way of solving the immediate need. As long as we keep the list of variables and commands very small, we should be good for now. Also, as has been demonstrated on other discussion threads, the bar is very high for manifest format changes, and that's without introducing new syntax/keywords.

If we can agree with those recommendations, let's remove $Home and $PSHome from this PR and set it up to be merged in.
If someone disagrees with the removal of $Home and $PSHome because those are needed for a scenario right now, or if we really need to make this more complicated by discussion bigger manifest changes today, please chime in.

cc @TylerLeonhardt Do you have an opinion here?

I agree with Kirk that it would be nice to have $Is* variables to fill the immediate need of helping with crossplat modules that have different native libraries for each platform.
That said, what are we going to do when we need to pull in native libs that only work on linux-arm or some other specific runtime?
In those cases, $Is* is not enough.
What we'll need to truly help cross-platform module dev is a change in PowerShellGet, the PowerShell Gallery, and PowerShell itself to handle bits that are specific to a runtime. That will be a lengthy change and something that's not coming in PSGet 3.0... So in the meantime, I'm in favor of allowing $Is* because of the utility and easy of use.

Personally, i agree with @KirkMunro - for this PR - add just $IsWindows, $IsLinux, and $IsMacOS.
But I would like this to get reviewed by PS Committee to ensure that allowing new vars in manifests won't backfire in the future.

@PowerShell/powershell-committee reviewed this and have concerns about usage that would limit cross-PowerShell modules supporting older versions of PowerShell.  Also, there have been other asks for changes in module manifest, so if we were to make such a breaking change, we should it holistically rather than just this aspect.  Although having these variables in the module manifest will make it simpler, you can replicate the same capability in a psm1 file while maintaining downlevel compatibility.

@SteveL-MSFT an important scenario here is on install time.
By allowing the $Is* variables, you give the ability for a module to require different dependencies for different platforms and only install the needed ones.
This is impossible to replicate by putting it in a psm1 because installing required dependencies would then be forced at import time instead of install time. Then the initial import will be forced to fetch dependencies (which will be harder to install in the correct scope)
I urge @PowerShell/powershell-committee to reconsider as this is a very important scenario, especially for the future of xplat modules.

I'd also like to point out that such a feature is entirely opt-in. So any module author using the feature should be well aware that its use restricts their module to v7+
I don't see a reason to raise compatibility concerns over an explicitly opt-in feature? 🤔

By allowing the $Is* variables, you give the ability for a module to require different dependencies for different platforms and only install the needed ones.

@TylerLeonhardt What is the dependencies? Can you share examples?

I'm specifically talking about module dependencies.
Look at this hack that we had to do in PoshNotify. That should not be the behavior we ask our customers to depend on if they want to write xplat models with different dependencies.
Not only that, but the first import is slow having to install dependencies which is sad considering the module is about doing something in real time (notifications).
I also think about the GraphicalTools module. We could probably leverage this feature (thus pulling down less junk) which will bring the size down drastically. That module only supports PowerShell 6+ so I would definitely opt-in to this behavior if given the opportunity.

Related: https://github.com/PowerShell/PowerShell/issues/10958#issuecomment-553700107.
And: https://github.com/PowerShell/PowerShell/issues/10251#issuecomment-553701465.
Y'all seem to want to keep manifests stagnant, with a focus on legacy support, but history has shown that manifest changes do happen and are necessary. The changes that have happened over the past few years were not anticipated, but they still happened. Stop being the blocker for progress in this area so much, please, so that we can be forward thinking and move forward with better solutions. Otherwise we're going to be looking back again thinking gee, wouldn't it have been great if we fixed that problem before.
Also related, although in the other direction (this one is about backwards compatibility, and is an issue because not enough thought was put into manifest changes over time in the past): https://github.com/PowerShell/PowerShell/issues/10931.

#11032 would not fix either of these because it's at the install time that I care about.

@TylerLeonhardt  My proposal is to put all in one nuget using subfolder named as portable RID - PowerShell could be load right components in runtime based on current environment.
notify.psd1
    |
    |--- linux-x64
    |        |
    |        |--- notify.psm1, notify.so
    |
    |--- osx-x64
    |        |
    |        |--- notify.psm1, notify.dylib

@iSazonov that still has a significant disadvantage of requiring components for all platforms to be present in the nupkg, whereas if we have the ability to do an install-time check, we can have PSGet only pull dependencies for the platform required. 🙂
This is typically relatively minor, but for modules like GraphicalTools where the dependency is quite large, it would make a very big difference.

@vexx32 I don't see problems. You could split a project to some nugets, only keep proposed folder tree.

@fMichaleczek, why was this closed?


[Hub Generated] Review request for Microsoft.BotService to add version stable/2022-09-15

This is a PR generated at OpenAPI Hub. You can view your work branch via this link.
ARM (Control Plane) API Specification Update Pull Request
PR review workflow diagram
Please understand this diagram before proceeding. It explains how to get your PR approved & merged.

[1] ARM review queue (for merge queues, see [4])
The PRs are processed by time opened, ascending. Your PR may show up on 2nd or later page.
If you addressed Step 1 from the diagram and your PR is not showing up in the queue, ensure the label ARMChangesRequested
is removed from your PR. This should cause the label WaitForARMFeedback to be added.
[2] https://aka.ms/azsdk/support/specreview-channel
[3] List of SDK breaking changes approvers in pinned Teams announcement
[4] public repo merge queue, private repo merge queue (for ARM review queue, [1])
If you need further help with anything, see Getting help section below.
Purpose of this PR
What's the purpose of this PR? Check all that apply. This is mandatory!

[x] New API version. (Such PR should have been generated with OpenAPI Hub, per this wiki doc.)
[ ] Update existing version for a new feature. (This is applicable only when you are revising a private preview API version.)
[ ] Update existing version to fix swagger quality issues in S360.
[ ] Other, please clarify:

edit this with your clarification

Due diligence checklist
To merge this PR, you must go through the following checklist and confirm you understood
and followed the instructions by checking all the boxes:

[x] I confirm this PR is modifying Azure Resource Manager (ARM) related specifications, and not data plane related specifications.
[x] I have reviewed following Resource Provider guidelines, including
ARM resource provider contract and
REST guidelines (estimated time: 4 hours).
I understand this is required before I can proceed to Step 2, "ARM Review", for this PR.

Breaking changes review (Step 1)

If the automation determines you have breaking changes, i.e. Step 1 from the diagram applies to you,
you must follow the breaking changes process.
IMPORTANT This applies even if:

The tool fails while it shouldn't, e.g. due to runtime exception, or incorrect detection of breaking changes.
You believe there is no need for you to request breaking change approval, for any reason.
Such claims must be reviewed, and the process is the same.

ARM API changes review (Step 2)

If this PR is in purview of ARM review then automation will add the ARMReview label.
If you want to force ARM review, add the label yourself.
Proceed according to the diagram at the top of this comment.

Viewing API changes
For convenient view of the API changes made by this PR, refer to the URLs provided in the table
in the Generated ApiView comment added to this PR. You can use ApiView to show API versions diff.
Suppressing failures
If one or multiple validation error/warning suppression(s) is detected in your PR, please follow the
Swagger-Suppression-Process
to get approval.
Getting help

For general PR approval workflow, see the diagram at the top of this comment.
For guidance on fixing this PR CI check failures, see the hyperlinks provided in given failure
and https://aka.ms/ci-fix.
If the help provided by the previous points is not enough, post to https://aka.ms/azsdk/support/specreview-channel and link to this PR.

/pr RequestMerge

You are at step 2. If u have addressed the review comments, pl remove the ARMChangesRequested label as indicated in the PR workflow diagram. Pl request a merge again once u get to step 4

The first commit needs to be an exact copy of the previous api version. All new changes should only be added in the subsequent commits.
This is explained in detail here (If using Open API which is recommended)  https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/208/OpenAPI-Hub-Adding-new-API-version or here(For manual process) :  https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/83/Manual-Process-Adding-new-API-version . Please remove the "ARMChangesRequested" label once you have fixed this issue.

Can you also please fix the newly introduced warnings here for swagger Lintdiff : https://github.com/Azure/azure-rest-api-specs/pull/25441/checks?check_run_id=17093575949

"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/networkSecurityPerimeterConfigurations/{associationName}": {

please name this accourding to the resource type ... i.e  {networkSecurityPerimeterConfiguration}

Refers to: specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/botservice.json:1511 in 19269d4. [](commit_id = 19269d43c6c146fa60572fdfb68d0f6e8f834708, deletion_comment = False)

      "202": {

please include the final response 200

Refers to: specification/botservice/resource-manager/Microsoft.BotService/preview/2023-09-15-preview/botservice.json:1633 in 19269d4. [](commit_id = 19269d43c6c146fa60572fdfb68d0f6e8f834708, deletion_comment = False)

One small pending comment about the versions from commontypes

please fix Duplicate Schema to make sdk generation work

/pr RequestMerge

/azp run


refactor: apply missing type definitions

Description

This PR removes the linter errors by applying missing type definitions.
Related Issue

Motivation and Context

How Has This Been Tested?

By performing a checkout pass
Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[x] All new and existing tests passed.

@fpdrozd could you resolve conflicts in this PR? We can merge it after that