Error - Synchronized Realms cannot be opened in immutable mode

Goals
To be able to open a read-only synchronized realm.
Actual Results
An error stating:

Domain=io.realm Code=1 "Synchronized Realms cannot be opened in immutable mode" UserInfo={NSLocalizedDescription=Synchronized Realms cannot be opened in immutable mode

Steps to Reproduce
Open a read-only synchronized realm not created by you.
Code Sample
SyncUser.current!.retrievePermissions { (permissions, error) in
            if let error = error {
                print(error)
            } else if let permissions = permissions {
                    // loops through each permission object, opens the corresponding user's realm, and finds and appends appropriate object
                    for p in permissions {
                        let url = URL(string: "realm://<server>" + p.path)!
                        let id = p.path.components(separatedBy: "/")[1]
                        let config = Realm.Configuration(
                            syncConfiguration: SyncConfiguration(user: SyncUser.current!, realmURL: url),
                            readOnly: true)

                        Realm.asyncOpen(configuration: config, callbackQueue: DispatchQueue.main, callback: { (realm, error) in
                            // finds object and appends it to the array
                            if let otherUser = realm?.object(ofType: User.self, forPrimaryKey: id) {
                                otherUsers.append(otherUser)
                            }
                        })

                    }
                }
            }

Version of Realm and Tooling
Realm framework version: 3.0.2
Realm Object Server version: 2.4.2
Xcode version: 9.2.0
iOS/OSX version: Running the app on iOS 11.2.1. Xcode running on MacOS High Sierra 10.13.2
Dependency manager + version: Carthage 0.27.0

Actually I was able to confirm that opening the readonly Realm synchronously I was able to observe changes made to the Realm within Realm Studio via the Realm's owner (default admin account).
@morteg What I'm doing is both setting the autorefresh property to true on the loaded realm as well as registering to handle requiresRefresh and didChange notifications. In the notification handler logic I'm explicitly calling the refresh() method on the current realm before querying the realm for data.

Note: after resetting the simulator, I'm not able to load any of the data from the realm that was originally sync'd up from the mobile app before changing the permissions back to readonly.

I'm also seeing that if you register for didChange/requireRefresh notifications, they're not fired if you load the realm synchronously.

You'll also see a connection failure if you try to register for upload notifications when loading a realm synchronously.

I think this problem stems from a misunderstanding of what Realm.Configuration's readOnly property means. To quote the documentation (emphasis mine):

Whether to open the Realm in read-only mode.
This is required to be able to open Realm files which are not writeable or are in a directory which is not writeable. This should only be used on files which will not be modified by anyone while they are open, and not just to get a read-only view of a file which may be written to by another thread or process. Opening in read-only mode requires disabling Realm’s reader/writer coordination, so committing a write transaction from another process will result in crashes.

It doesn't make sense to open a synced Realm using this read-only mode as such a Realm could never see any data from the server.
If what you're after is opening a synced Realm that the sync user doesn't have permission to write to, then you should simply open the Realm using Realm.asyncOpen and then don't ever write to the Realm.

Ok, so how can I get notifications from a realm which I don't have write permissions?
Realm.asyncOpen = crash
Realm(configuration:) = no notifications to objects\collections observers.

@morteg how does it crash? Can you post the code you use to build the configuration and open the realm with asyncOpen?

@nirinchev
 var verificationRealmConfiguration = Realm.Configuration(
            syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "\(baseRealmPath)/protected/userVerification")!), encryptionKey: getKey()
        )

        verificationRealmConfiguration.objectTypes = [VerificationResult.self]

            Realm.asyncOpen(configuration: verificationRealmConfiguration, callbackQueue: DispatchQueue.main) {
                [weak self] realm, error in
                if let error = error {
                    completion(false, error)
                    return
                }
                self?.verificationRealm = realm
                completion(true, nil)
            }
            completion(true, nil)

Sorry, I haven't got a crash, but I have got an error.

With

 var verificationRealmConfiguration = Realm.Configuration(
            syncConfiguration: SyncConfiguration(user: user, realmURL: URL(string: "\(baseRealmPath)/protected/userVerification")!), encryptionKey: getKey(), readOnly: true
        )

I get "Operation canceled" error.

Without readOnly flag I've got :
"Synchronized Realms cannot be opened in immutable mode"

I think I don't need exactly asyncOpen, I need to receive updates from my "user-verification" realm, but in sync mode, i don't receive any updates from that realm until I make reconnect.

The only way you can see an error that says "Synchronized Realms cannot be opened in immutable mode" is when specifying readOnly: true on the Realm.Configuration. As I described above, the error message indicates that readOnly is not compatible with sync. If it happens to not throw an error when using Realm(configuration:), that's a bug that we'd like to fix. From looking at the code I don't immediately see how it could be possible as both Realm(configuration:) and Realm.asyncOpen use the configuration in the same way.
Operation canceled means that the sync session was torn down before the callback was invoked. It's not clear how that could happen from the code snippet you've shared. I'd suggest enabling debug logging (add SyncManager.shared.logLevel = .debug before you use any sync related functionality in Realm).

Ok, so how can I get notifications from a realm which I don't have write permissions?

I'm not clear on what code you're using when notifications are not working. If you're trying to use readOnly: true and are seeing notifications not work, then that's expected per the documentation I quoted above. If you're not using readOnly: true and you're having issues with notifications, I'm not clear why you're sharing that fact on this issue. I'd suggest filing a new issue specifically about the problem you're experiencing.

Sorry I'm late to the party. I can confirm this was fixed by removing readOnly: true on the Realm.Configuration.

Thanks for confirming, @michael-mckenna.
The original problem reported in this issue has been addressed so I'll close this issue, and I'll ask that anyone else that is experiencing any problems please file a new issue about it.

I can also confirm that for a user who only has read access to a synced realm, when opening the realm asynchronously without readonly set, the user is able to see changes made to the realm by a user who does have write privileges.


🐛 [BUG] -

🐛 Bug Report Form

Description
Please provide a clear and concise description of the bug

Reproduction URL
Please provide your GitHub URL to reproduce the issue

Reproduction Steps
1. Step 1...2. Step 2...3. Step 3...4. Step 4...

Screenshots

Logs
Relevant log output goes here

Additional Context
Please provide any other relevant information about the problem

🌐 Browsers
Which browsers are you experiencing the problem on? (Select all that apply)

[ ] Chrome
[ ] Firefox
[ ] Safari
[x] Microsoft Edge
[ ] Opera
[ ] Brave

💻 OS
What is the impacted environment (operating system)? (Select all that apply)

[x] Windows
[ ] Linux
[ ] Mac
[ ] iOS
[ ] Android

📝 Sections Completed
Check the box of the sections you have completed:

[x] Description
[ ] Reproduction URL
[ ] Reproduction Steps
[x] Screenshots
[ ] Logs
[x] Browsers
[ ] OS
[ ] Additional Context

🔍 Priority
Please select the priority of the bug:

[ ] High
[ ] Medium
[x] Low

📜 Code of Conduct
By submitting this issue, you agree to follow our Code of Conduct:

[x] I follow Contributing Guidelines of this project.
[ ] I have checked the current issues for duplicate problems.
[x] I have read the readme.

Well, according to the guidelines given a typo can't be considered as a contribution. Sorry.
Thanks for making me aware about it, really appreciate it.


Roomsettings: Add enabling/disabling tournaments

The main reason I think this should be added is that a lot of people don't know this command, and so having it in the roomsettings should make it better-known to the relevant users that it's actually a thing.

Request: If we could sort out https://github.com/Zarel/Pokemon-Showdown/pull/2767 before this PR, that would be just dandy.  Thanks!


[MongoDB Parsing 3/3] Add support to parse MongoDB frames

Summary: This is the final PR for MongoDB protocol parsing. It adds the logic to parse frames and includes corresponding tests. The initial parsing functionality currently supports frames of type OP_MSG.
Related issues: https://github.com/pixie-io/pixie/issues/640
Type of change: /kind feature
Test Plan: Included tests

@kpattaswamy this lgtm from my end. Please ensure @etep has no further comments as well.


Make configurable gRPC server and gateway dial options

WHY
WHAT
REF

Codecov Report

Merging #29 into master will decrease coverage by 0.23%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master      #29      +/-   ##
==========================================
- Coverage   21.99%   21.76%   -0.24%
==========================================
  Files          34       34
  Lines        1041     1052      +11
==========================================
  Hits          229      229
- Misses        796      807      +11
  Partials       16       16

Impacted Files
Coverage Δ

pkg/grapiserver/config.go
0% <0%> (ø)
:arrow_up:

pkg/grapiserver/builder.go
0% <0%> (ø)
:arrow_up:

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 8a87245...fb09900. Read the comment docs.


improve message for out-of-thread requests

flake8 seems to randomly enable different style checks with new version, fixing them later...


Set Dapr Log Level

How is it possible to set the log level for Dapr in an Aspire project?
When running Dapr projects from the command line, it can be done as follows:
dapr run --app-id api --app-port 5096 --log-level debug --enable-api-logging -- dotnet run

Can this, for example, be performed via config in the Aspire AppHost project?

You can do this today by setting the DaprSidecarOptions in the call to WithDaprSideCar

Here is the code from Program.cs in the .AppHost project.
builder.AddProject<Projects.AspireWithDapr_ApiService>("apiservice")
       .WithDaprSidecar(new DaprSidecarOptions { AppId = "api", LogLevel = "debug", EnableApiLogging = true });

builder.AddProject<Projects.AspireWithDapr_Web>("webfrontend")
    .WithDaprSidecar(new DaprSidecarOptions { AppId = "web", LogLevel = "debug", EnableApiLogging = true });


Add option to disable CSS extraction

For JS extensions, CSS can be difficult, so this adds an option to disable CSS extraction from the webpack config.  It defaults to true, which is the ideal option in most cases.

Thanks for the PR! Be sure to add to the docs here: https://github.com/ntucker/anansi/tree/master/packages/webpack-config-anansi#htmloptions
Also please follow the convention of plugin options like htmlOptions, svgoOptions, etc. These disable the plugin using an exactly false value. Unset value means just use defaults otherwise its spreads to override defaults.


Draw to world scale and coordinates

Hi,
I stumbled upon your excellent work here, thinking to use it on my project. After spending a day tinkering with it, I sadly concluded that it may not be possible, since it seems to be based on a pixel format.
I'm using LibGDX where my game world is logically scaled to 1 world unit: 32 pixels. When I try to render a grid, for example, 100 world units long and wide, with a radius of 0.7, the library fails to resolve the hexes, drawing lines and triangles of what I think are what's supposed to be the hex. I have to use the pixel size, to get it to draw, but then, the hexes and grid are too large. The only way I got things to draw at the appropriate scale is to affect the polygon drawer, scaling its matrix down, to draw smaller.
Needless to say, while I finally got the grid to draw to size, the rest of the library can't work under these conditions. Stuff such as getting the grid coordinates, or coordinates through pixel, resolve wrongly due to the scaling, especially getting the center of each hex, which I need to properly place objects within hexes.
I know it's likely a lot of work on your part, so this is just a suggestion to have the library be able to use world coordinates, instead of pixels units. Most, if not all, game development frameworks strongly urge developing under world coords, to simplify development, and not have to worry about resolution etc, across platforms such as mobile devices. This would make your library a perfect fit as a drop-in solution for Java-based game dev, as there aren't any existing solutions out there, and people have to, basically, roll their own.
After saying all this, I realize that, if this works for Android dev, it might already have a means to work in world scale. If so, please advise.
Thanks, and great job regardless!

Hi there,
Can we speak about this in more detail? I've never done any game development so far but I'm willing to put the work in if you think it would be more useful. Sorry for the late reply I was not working actively on the project but there were some forks/pull requests and I'll do a major refactor in the near future.
Do you have a Skype or a Hangouts account?


error when requesting more than 50 Wikidata qids

My Groovy Cheminformatics books has more than 50 citations using Wikidata now, and I just got this error:
getEntities accepts 50 ids max to match Wikidata API limitations:
      this request won't get all the desired entities.
      You can use getManyEntities instead to generate several request urls
      to work around this limitation

The patch seems trivial: s/getEntities/getManyEntities/ ?

The patch seems trivial: s/getEntities/getManyEntities/ ?

Mostly yep, but also (from wikidata-sdk):

:warning: This limitation policy was probably there for a reason, right? This should be the exception, make sure to set an interval between your requests (500ms, 1s?)

This code:
const parseWikidata = function (data) {
  const list = Array.isArray(data) ? data : data.trim().split(/(?:[\s,]\s*)/g)
  return [].concat(wdk.getEntities(list, ['en']))
}

Also this and the async counterpart, although that should happen less often and should be modified anyway.

Closed in https://github.com/citation-js/citation-js/pull/11


Add NavMeshes to each world

Describe the new feature you'd like
Currently the NavAgent can only be used in CyberPunkCity since that is the only world that has a NavMesh. It would be nice to be able to use the NavAgent in any world, we'd just need to add NavMeshs to each world.

The nav mesh has been added to some worlds (Mazeworld, UrbanCity) but not others. Worlds that contain non-flat terrain like the European forest can have a nav mesh, but the nav agent is currently restricted to the Y plane would not be able to traverse elevated terrain(see BYU-PCCL/holodeck#212). The infinite forest world would require a dynamic nav mesh, which would need to be recalculated each tick, so this may not be optimal.


Remove redundant/buggy badges from readme display.

Coverage remained the same at 100.0% when pulling b7af992e28aa8b89d1130d48220976df762714a2 on cleanup_readme_badges into 384dcf1c03e42451cce22f2832a3048aee1bbd1c on master.

Coverage remained the same at 100.0% when pulling 4fc3505bc56598356897edf3622d116ebb6f294f on cleanup_readme_badges into 384dcf1c03e42451cce22f2832a3048aee1bbd1c on master.

Coverage remained the same at 100.0% when pulling 4fc3505bc56598356897edf3622d116ebb6f294f on cleanup_readme_badges into 384dcf1c03e42451cce22f2832a3048aee1bbd1c on master.


Error on React fragments short syntax

Hi, I'm seeing the tool exits with an error when it gets to a React fragment written in short syntax (<> ... </>):
! SyntaxError: Unexpected token (17:3) in src/components/[ ... ].js

https://reactjs.org/docs/fragments.html#short-syntax

The same problem. Is anybody going to fix it?

Hi, I'll have a look at it. I'm pretty sure this can be easily fixed by updating the dependencies 🤞.

Alright, we need to use the new @babel/parser & @babel/traverse modules since everything has been reworked in the Babel ecosystem. Hopefully, I've it already working in a branch, just need a small additional tweak for the decorators plugin (not sure to keep it...). It should then parse React Fragments right without any issue 🚀.

@Eugen-Ask & @underblob sorry for the late support... The issue has been addressed in https://github.com/yamafaktory/shrimpit/releases/tag/v0.21.0. Please give it a try so that I can close that issue 👍.

@yamafaktory thanks

Hi @yamafaktory sorry for the delay getting back to you. I did a quick run with...
npx shrimpit ./src

...still seeing the syntax error on fragment tags. Was the NPM registry updated to the latest?

OK seems like that's the problem. The NPM registry has version 0.20: https://www.npmjs.com/package/shrimpit

npx https://github.com/yamafaktory/shrimpit\#v0.21.0 ./src

LGTM, thanks @yamafaktory!

Oh my bad... @underblob https://github.com/yamafaktory/shrimpit/tree/v0.21.1 has been released & published to NPM this time 😅.


ids-messaging: Add aditional validations

Feature Request
The ids messaging could be improved by extending the validation of incoming messages.
Which Areas Would Be Affected?
ids multipart handler
Why Is the Feature Desired?
Prevent identity theft and IDS infomodel incompatibilities.
Solution Proposal
This list could be extended:

[ ] Compare DAT claims to message values (e.g. referringConnector == issuerConnector; check hostname of incoming request)
[ ] Check IDS Infomodel version against inbound versions

Type of Issue
improvement
Checklist

[x] assigned appropriate label?
[x] Do NOT select a milestone or an assignee!

I propose SHACL for the second task (Check IDS Infomodel version against inbound versions). The IDS IM ships with SHACL schemas (aka shapes) out of the box, and there is a pretty widely used open source library: https://github.com/TopQuadrant/shacl

For the (dat-)referringConnector == (message-)issuerConnector and hostname validation, please watch out for Catena-X, because the DAT claim is currently used for the BPN at the moment
https://github.com/catenax-ng/product-edc/blob/1708db02372a2e85ec6e888ecbd3efeae9139b9b/edc-extensions/business-partner-validation/src/main/java/net/catenax/edc/validation/businesspartner/functions/AbstractBusinessPartnerValidation.java#L85

If a BPN instead of the connectors URL is used for referringConnector field, no interoperability with other data spaces will be possible. Or another service must be present, which allows a lookup of further details.
I ask myself how EDC in case of using BPN is able to avoid DAT reply attacks.


Option to not follow symlinks

It appears from my testing that if a folder (Linux) contains a symlink, then the file pointed to by the symlink is included in an archive.  If the file linked to doesn't exist, then an exception is thrown.
There should be an option to include the symlink itself, so that the contents of the actual file is not included in the archive.

The default behavior of listing directories in .NET Core must be following symlinks.
Sounds like a good PR to override this.


v1.2.7 Unauthorized Problem

I am using Unity 2021.3.9f1 (latest stable) and i created empty project. And i added moralis v1.2.7 (latest). Also, i created ropsten test server with moralis. But when i try to connect with my metamask wallet, it has many errors. How can i fix? I tested Unity 2021.3.3f1, 2021.3.4f1, 2021.3.8f1, 2021.3.9f1, 2020.3.0f1. Also, i used moralis 1.2.5 and 1.2.7. Same error on all of them. Metamask wallet did not connect. But , i have tested with moralis old sdk (v1.1.0) and unity 2021.3.9f1, there is no problem and wallet connection is working. I don’t understand :(

First error:
Target: https://dhwor46zhuia.usemoralis.com:2053/server/users
UnityEngine.Debug:LogError (object)
MoralisUnity.Platform.Services.UniversalWebClient/d__7:MoveNext () (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/Platform/Services/ClientServices/UniversalWebClient.cs:87)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2<MoralisUnity.Platform.Services.UniversalWebClient/d__7, System.Tuple2<System.Net.HttpStatusCode, string>>:Run () (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:313)
Cysharp.Threading.Tasks.Internal.PooledDelegate`1<UnityEngine.AsyncOperation>:Run (UnityEngine.AsyncOperation) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/Internal/PooledDelegate.cs:46)
UnityEngine.AsyncOperation:InvokeCompletionEvent ()
Second error:
Error: HTTP/1.1 403 Forbidden
{"error":"unauthorized"}
UnityEngine.Debug:LogError (object)
MoralisUnity.Platform.Services.UniversalWebClient/d__7:MoveNext () (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/Platform/Services/ClientServices/UniversalWebClient.cs:88)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2<MoralisUnity.Platform.Services.UniversalWebClient/d__7, System.Tuple2<System.Net.HttpStatusCode, string>>:Run () (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:313)
Cysharp.Threading.Tasks.Internal.PooledDelegate`1<UnityEngine.AsyncOperation>:Run (UnityEngine.AsyncOperation) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/Internal/PooledDelegate.cs:46)
UnityEngine.AsyncOperation:InvokeCompletionEvent ()
Warning error:
LogInAsync failed: {"error":"unauthorized"}
UnityEngine.Debug:Log (object)
MoralisUnity.Platform.Services.ClientServices.MoralisUserService1/d__19<MoralisUnity.Platform.Objects.MoralisUser>:MoveNext () (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/Platform/Services/ClientServices/MoralisUserService.cs:106) Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2<MoralisUnity.Platform.Services.ClientServices.MoralisUserService1/d__19<MoralisUnity.Platform.Objects.MoralisUser>, MoralisUnity.Platform.Objects.MoralisUser>:Run () (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:313) Cysharp.Threading.Tasks.AwaiterActions:Continuation (object) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/UniTask.cs:21) Cysharp.Threading.Tasks.UniTaskCompletionSourceCore1<System.Tuple2<System.Net.HttpStatusCode, string>>:TrySetResult (System.Tuple2<System.Net.HttpStatusCode, string>) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/UniTaskCompletionSource.cs:139)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2<MoralisUnity.Platform.Services.ClientServices.MoralisCommandRunner1/d__17<MoralisUnity.Platform.Objects.MoralisUser>, System.Tuple2<System.Net.HttpStatusCode, string>>:SetResult (System.Tuple2<System.Net.HttpStatusCode, string>) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:328)
MoralisUnity.Platform.Services.ClientServices.MoralisCommandRunner1/d__17<MoralisUnity.Platform.Objects.MoralisUser>:MoveNext () (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/Platform/Services/ClientServices/MoralisCommandRunner.cs:88) Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2<MoralisUnity.Platform.Services.ClientServices.MoralisCommandRunner1/d__17<MoralisUnity.Platform.Objects.MoralisUser>, System.Tuple2<System.Net.HttpStatusCode, string>>:Run () (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:313)
Cysharp.Threading.Tasks.AwaiterActions:Continuation (object) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/UniTask.cs:21)
Cysharp.Threading.Tasks.UniTaskCompletionSourceCore1<System.Tuple2<System.Net.HttpStatusCode, string>>:TrySetResult (System.Tuple2<System.Net.HttpStatusCode, string>) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/UniTaskCompletionSource.cs:139) Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2<MoralisUnity.Platform.Services.UniversalWebClient/d__7, System.Tuple2<System.Net.HttpStatusCode, string>>:SetResult (System.Tuple2<System.Net.HttpStatusCode, string>) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:328)
MoralisUnity.Platform.Services.UniversalWebClient/d__7:MoveNext () (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/Platform/Services/ClientServices/UniversalWebClient.cs:114)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2<MoralisUnity.Platform.Services.UniversalWebClient/d__7, System.Tuple2<System.Net.HttpStatusCode, string>>:Run () (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:313)
Cysharp.Threading.Tasks.Internal.PooledDelegate`1<UnityEngine.AsyncOperation>:Run (UnityEngine.AsyncOperation) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/Internal/PooledDelegate.cs:46)
UnityEngine.AsyncOperation:InvokeCompletionEvent ()
Third error:
NullReferenceException: Object reference not set to an instance of an object
MoralisUnity.Platform.Services.ClientServices.UserServiceExtensions.LogInWithAsync[TUser] (MoralisUnity.Platform.Abstractions.IServiceHub1[TUser] serviceHub, System.String authType, System.Collections.Generic.IDictionary2[TKey,TValue] data, System.Threading.CancellationToken cancellationToken) (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/Platform/Services/ClientServices/UserServiceExtensions.cs:202)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2[TStateMachine,T].GetResult (System.Int16 token) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:342) MoralisUnity.MoralisClient.LogInAsync (System.Collections.Generic.IDictionary2[TKey,TValue] data, System.Threading.CancellationToken cancellationToken) (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/MoralisClient.cs:221)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask2[TStateMachine,T].GetResult (System.Int16 token) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:342) MoralisUnity.Moralis.LogInAsync (System.Collections.Generic.IDictionary2[TKey,TValue] authData, System.Int32 chainId) (at Packages/io.moralis.web3-unity-sdk/Runtime/Core/Moralis.cs:320)
Cysharp.Threading.Tasks.CompilerServices.AsyncUniTask`2[TStateMachine,T].GetResult (System.Int16 token) (at Packages/io.moralis.web3-unity-sdk/Runtime/External/UniTask/Runtime/CompilerServices/StateMachineRunner.cs:342)
MoralisUnity.Kits.AuthenticationKit.AuthenticationKit.WalletConnect_SignAndLoginToMoralis (WalletConnectSharp.Unity.WalletConnectUnitySession session) (at Packages/io.moralis.web3-unity-sdk/Runtime/Kits/AuthenticationKit/Scripts/AuthenticationKit.cs:387)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.b__7_0 (System.Object state) (at <6073cf49ed704e958b8a66d540dea948>:0)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at :0)
UnityEngine.UnitySynchronizationContext.Exec () (at :0)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at :0)

Today, i tried on Mac OS. I created new empty project and installed 1.2.7 game kit. Wallet connection is working perfectly on Unity Editor with metamask scanning.
Unity version: 2021.3.9f1 apple silicon
Game kit version: 1.2.7
After that, I switched target to WebGL. But, i do not have moraliswebgl template in player settings.

So i build webgl and open with chrome. Now, i have this errors:

@newbiedev1
I am not able to reproduce with a clean build.
Please check the moralis serverlogs. Any errors when you attempt login?
Debug through LoginAsync - is the Application Id (DappId) header being set?

@newbiedev1
I am not able to reproduce with a clean build.
Please check the moralis serverlogs. Any errors when you attempt login? Debug through LoginAsync - is the Application Id (DappId) header being set?

ArgumentNullException: Value cannot be null.

Please check the moralis serverlogs. Any errors when you attempt login? Debug through LoginAsync - is the Application Id (DappId) header being set?

Server Logs:
Get all logs in your terminal: Learn about Moralis CLI
2022-09-19T11:19:58.812Z - Ran cloud function coreservices_getChains for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chainId":"0x3","exchange":"ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T11:19:58.798Z - Ran cloud function coreservices_getProviders for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chain":"Eth","name":"Ropsten","network":"testnet","exchange":"ropsten","chainId":"0x3","lookups":["testnet","0x3","ropsten"],"token":{"name":"Ether","symbol":"ETH"},"httpProviderUrl":"eth/ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T11:19:58.447Z - Ran cloud function coreservices_listEventSyncStatus for user undefined with:
Input: {}
Result: {"status":200,"data":{"results":[]}}
2022-09-19T11:19:51.353Z - Ran cloud function coreservices_getChains for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chainId":"0x3","exchange":"ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T11:19:51.341Z - Ran cloud function coreservices_getProviders for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chain":"Eth","name":"Ropsten","network":"testnet","exchange":"ropsten","chainId":"0x3","lookups":["testnet","0x3","ropsten"],"token":{"name":"Ether","symbol":"ETH"},"httpProviderUrl":"eth/ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T11:00:43.431Z - Ran cloud function pluginsReady for user undefined with:
Input: {}
Result: true
2022-09-19T11:00:43.416Z - Create new client: 11a360d0-512d-4ce4-8ec7-77a2db755b74
2022-09-19T11:00:24.631Z - Initialized Function plugin customUserPlugin
2022-09-19T11:00:24.629Z - Initialized customUserPlugin
2022-09-19T11:00:24.624Z - Initialized plugin ./convenience/tracker
2022-09-19T11:00:24.615Z - Initialized plugin ./convenience/index
2022-09-19T11:00:24.400Z - Initialized plugin ./server
2022-09-19T11:00:24.394Z - Initialized plugin ./evm/watchContractEvent
2022-09-19T11:00:24.283Z - Initialized plugin ./evm/historical/accountApiFunctions
2022-09-19T11:00:24.278Z - Initialized plugin ./evm/historical/historicalApiFunctions
2022-09-19T11:00:24.241Z - Initialized plugin ./coreservices/index
2022-09-19T11:00:24.238Z - Ran cloud function coreservices_getProviders for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chain":"Eth","name":"Ropsten","network":"testnet","exchange":"ropsten","chainId":"0x3","lookups":["testnet","0x3","ropsten"],"token":{"name":"Ether","symbol":"ETH"},"httpProviderUrl":"eth/ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T11:00:24.225Z - Ran cloud function coreservices_getOrganization for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":{"id":"185492","speedyTokenSignature":"cce3ecf02d66d721b7ca1bf7ed68c4e2307112dafb21f93baa41e69a5ec2858a"}}}
2022-09-19T11:00:24.192Z - Initialized Function plugin loadPlugins
2022-09-19T11:00:24.112Z - Ran cloud function checkSessionToken for user DGnLVGzXfsyerHSELMOIPl1P with:
Input: {}
Result: true
2022-09-19T11:00:24.029Z - Plugin coreservices is healthy.
2022-09-19T11:00:23.975Z - Migration 0.0.1 Applied Correctly
2022-09-19T11:00:21.485Z - Parse LiveQuery Server starts running
2022-09-19T10:00:34.758Z - Ran cloud function pluginsReady for user undefined with:
Input: {}
Result: true
2022-09-19T10:00:34.743Z - Create new client: 22bab817-724c-420d-838e-e3480c2f181c
2022-09-19T10:00:32.232Z - Initialized Function plugin customUserPlugin
2022-09-19T10:00:32.231Z - Initialized customUserPlugin
2022-09-19T10:00:32.225Z - Initialized plugin ./convenience/tracker
2022-09-19T10:00:32.216Z - Initialized plugin ./convenience/index
2022-09-19T10:00:31.988Z - Initialized plugin ./server
2022-09-19T10:00:31.980Z - Initialized plugin ./evm/watchContractEvent
2022-09-19T10:00:31.869Z - Initialized plugin ./evm/historical/accountApiFunctions
2022-09-19T10:00:31.863Z - Initialized plugin ./evm/historical/historicalApiFunctions
2022-09-19T10:00:31.822Z - Initialized plugin ./coreservices/index
2022-09-19T10:00:31.818Z - Ran cloud function coreservices_getProviders for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chain":"Eth","name":"Ropsten","network":"testnet","exchange":"ropsten","chainId":"0x3","lookups":["testnet","0x3","ropsten"],"token":{"name":"Ether","symbol":"ETH"},"httpProviderUrl":"eth/ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T10:00:31.805Z - Ran cloud function coreservices_getOrganization for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":{"id":"185492","speedyTokenSignature":"cce3ecf02d66d721b7ca1bf7ed68c4e2307112dafb21f93baa41e69a5ec2858a"}}}
2022-09-19T10:00:31.777Z - Initialized Function plugin loadPlugins
2022-09-19T10:00:31.663Z - Ran cloud function checkSessionToken for user DGnLVGzXfsyerHSELMOIPl1P with:
Input: {}
Result: true
2022-09-19T10:00:31.555Z - Plugin coreservices is healthy.
2022-09-19T10:00:31.500Z - Migration 0.0.1 Applied Correctly
2022-09-19T10:00:29.225Z - Parse LiveQuery Server starts running
2022-09-19T09:13:54.406Z - Ran cloud function coreservices_getChains for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chainId":"0x3","exchange":"ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T09:13:54.377Z - Ran cloud function coreservices_getProviders for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chain":"Eth","name":"Ropsten","network":"testnet","exchange":"ropsten","chainId":"0x3","lookups":["testnet","0x3","ropsten"],"token":{"name":"Ether","symbol":"ETH"},"httpProviderUrl":"eth/ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T09:00:37.039Z - Ran cloud function pluginsReady for user undefined with:
Input: {}
Result: true
2022-09-19T09:00:36.711Z - Initialized Function plugin customUserPlugin
2022-09-19T09:00:36.710Z - Initialized customUserPlugin
2022-09-19T09:00:36.704Z - Initialized plugin ./convenience/tracker
2022-09-19T09:00:36.695Z - Initialized plugin ./convenience/index
2022-09-19T09:00:36.463Z - Initialized plugin ./server
2022-09-19T09:00:36.455Z - Initialized plugin ./evm/watchContractEvent
2022-09-19T09:00:36.332Z - Initialized plugin ./evm/historical/accountApiFunctions
2022-09-19T09:00:36.326Z - Initialized plugin ./evm/historical/historicalApiFunctions
2022-09-19T09:00:36.290Z - Initialized plugin ./coreservices/index
2022-09-19T09:00:36.286Z - Ran cloud function coreservices_getProviders for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chain":"Eth","name":"Ropsten","network":"testnet","exchange":"ropsten","chainId":"0x3","lookups":["testnet","0x3","ropsten"],"token":{"name":"Ether","symbol":"ETH"},"httpProviderUrl":"eth/ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T09:00:36.275Z - Ran cloud function coreservices_getOrganization for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":{"id":"185492","speedyTokenSignature":"cce3ecf02d66d721b7ca1bf7ed68c4e2307112dafb21f93baa41e69a5ec2858a"}}}
2022-09-19T09:00:36.252Z - Initialized Function plugin loadPlugins
2022-09-19T09:00:36.137Z - Ran cloud function checkSessionToken for user DGnLVGzXfsyerHSELMOIPl1P with:
Input: {}
Result: true
2022-09-19T09:00:36.070Z - Plugin coreservices is healthy.
2022-09-19T09:00:36.039Z - Migration 0.0.1 Applied Correctly
2022-09-19T09:00:35.928Z - Create new client: 98ef7e60-2887-4c01-80c4-4c34d603d6b9
2022-09-19T09:00:33.661Z - Parse LiveQuery Server starts running
2022-09-19T08:23:25.065Z - Ran cloud function getServerTime for user undefined with:
Input: {}
Result: {"dateTime":1663575805063}
2022-09-19T05:00:29.127Z - Ran cloud function pluginsReady for user undefined with:
Input: {}
Result: true
2022-09-19T05:00:29.112Z - Create new client: 45754420-546d-4732-b787-0926a023b191
2022-09-19T05:00:22.048Z - Initialized Function plugin customUserPlugin
2022-09-19T05:00:22.047Z - Initialized customUserPlugin
2022-09-19T05:00:22.042Z - Initialized plugin ./convenience/tracker
2022-09-19T05:00:22.035Z - Initialized plugin ./convenience/index
2022-09-19T05:00:21.841Z - Initialized plugin ./server
2022-09-19T05:00:21.834Z - Initialized plugin ./evm/watchContractEvent
2022-09-19T05:00:21.718Z - Initialized plugin ./evm/historical/accountApiFunctions
2022-09-19T05:00:21.711Z - Initialized plugin ./evm/historical/historicalApiFunctions
2022-09-19T05:00:21.674Z - Initialized plugin ./coreservices/index
2022-09-19T05:00:21.671Z - Ran cloud function coreservices_getProviders for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":[{"chain":"Eth","name":"Ropsten","network":"testnet","exchange":"ropsten","chainId":"0x3","lookups":["testnet","0x3","ropsten"],"token":{"name":"Ether","symbol":"ETH"},"httpProviderUrl":"eth/ropsten","maxRecordsPerCategory":50,"userSync":true}]}}
2022-09-19T05:00:21.658Z - Ran cloud function coreservices_getOrganization for user undefined with:
Input: {}
Result: {"status":200,"data":{"success":true,"result":{"id":"185492","speedyTokenSignature":"cce3ecf02d66d721b7ca1bf7ed68c4e2307112dafb21f93baa41e69a5ec2858a"}}}
2022-09-19T05:00:21.635Z - Initialized Function plugin loadPlugins
2022-09-19T05:00:21.506Z - Ran cloud function checkSessionToken for user DGnLVGzXfsyerHSELMOIPl1P with:
Input: {}
Result: true
2022-09-19T05:00:21.422Z - Plugin coreservices is healthy.
2022-09-19T05:00:21.374Z - Migration 0.0.1 Applied Correctly
2022-09-19T05:00:19.339Z - Parse LiveQuery Server starts running


Serve updates over https

Sparkle is deprecating unencrypted http for updates (changelog and packages.)
As we're using AWS S3 with a custom domain name, we can't use TLS. The only solution is to create a separate new S3 bucket without dots (".") and serve it as e.g. fbmacmessenger.s3.amazonaws.com.
We could also use AWS CloudFront with custom domain, though that seems overkill.
Maybe there's a way to publish updates to github pages? I think github pages with custom domain (which I use for my account) doesn't support TLS either.

https://github.com/rsms/fb-mac-messenger/tree/v<IP_ADDRESS>6-02-24_03-51-21/


slug field is empty, if source not in english !

Thanks guys for your great package :)
if i use slug source as english, slug create nicely. But if i use another language, slug field is empty.
my slug source, english or bangla or both in same source.
if i edit method like this
'method' => function( $string ) {
      return $string;
}

slug generate with bangla language, but don't have separator, white space between all words.
So please guys help me how to create slug for different language.

You will need to configure the underlying cocur/slugify engine to tell it what language you are using.  Adding something like this to your models should work:
/**
 * @param \Cocur\Slugify\Slugify $engine
 * @param string $attribute
 * @return \Cocur\Slugify\Slugify
 */
public function customizeSlugEngine(Slugify $engine, $attribute)
{
    $engine->activateRuleset('bangla');

    return $engine;
}

Unfortunately, it doesn't look like Slugify has a Bangla ruleset though.  Take a look at the contributions section of their repository.  I'm sure they would appreciate adding a new language to their package!
In the meantime, you could replace the activateRuleset call above with a series of addRule calls.  Something like:
public function customizeSlugEngine(Slugify $engine, $attribute)
{
    $engine-> addRule('ক', 'ka');
    $engine-> addRule('খ, 'kha');
    $engine-> addRule('গ', 'ga');
    // ...etc.

    return $engine;
}

(I don't speak or write Bangla or Bengali, so apologies if I am confusing two distinct languages.  Those examples were taken from https://www.loc.gov/catdir/cpso/romanization/bengali.pdf, which might be of help if you are creating a ruleset for Slugify.)

@cviebrock thanks bro for your great reply :)
I temporarily fixed my issue by adding this method in config file
'method' => function ($string, $sep) {         return preg_replace('/[?]|\p{P}|\s+/u', $sep, trim($string));     },
It create both english and bangla slug, but in english, i couldn't convert slug into lowercase

Can you run that whole result through mb_strtolower()?

@cviebrock sorry for late reply. It's working :)
Now method like this -
'method' => function ($string, $sep) {         return mb_strtolower(preg_replace('/[?]|\p{P}|\s+/u', $sep, trim($string)));     },
It create both english and bangla and also all lowercase in english.
Thanks for your great package.

Awesome!  But also feel free to make a PR to Slugify so that they have more language support!

@cviebrock sorry for commenting on the closed issues. I have been using this approach in a while to make slug in both English and Bangla. But problem is, as I had to modify config file, I can't use php artisan config:cache due to the closure method in the configuration file.
Do you have any better idea, how to solve this problem?
Appreciate your help :)


west.yml: Update BLE libraries

Add options for MAC address generation without saving

The following west manifest projects have been modified in this Pull Request:

Name
Old Revision
New Revision
Diff

hal_telink
https://github.com/telink-semi/hal_telink/commit/439208c46aa98297066cba042c605770c07280d8 (develop)
https://github.com/telink-semi/hal_telink/pull/69
telink-semi/hal_telink#69/files

Note: This message is automatically posted and updated by the Manifest GitHub Action.


List flattens complex object

Reproduction
https://formkit.link/036e72e7f1268061a82f9803438c168b
Describe the bug
I need to create a form that contains a dynamic list of subforms. This requires to use the type 'list'.
I could not find a way of looping through the list (array) of objects and bind the appropriate fields to the form fields. The list flattened my objects into a one dimensional array.
Environment
• OS: Windows 10
• Browser MS Edge
• Version  112.0.1722.68

Lists always produce simple arrays. If you want more depth, you can use more lists or groups. For example:
https://formkit.link/517046ed94a622dd55140ca301b53a4d
Good luck 👍


Failed to read byte from socket(MQTT::ProtocolException)

hi @njh
sorry to comment in other issues.
the code of mqtt client :
require "mqtt"

c = MQTT::Client.connect(
  host: '<IP_ADDRESS>',
  port: 1883,
  username: 'guest',
  password: 'guest')

loop do
  m = "Message mqtt sended @ #{Time.now.to_i} "
  c.publish("builds", m)
  puts "=> Published #{m}"
  sleep 0.2
end

the error is :
railpc@railpc-VirtualBox:/media/sf_ProjectRubyLinux/Ruby/Semillero$ ruby producer_mqtt.rb
=> Published Message mqtt sended @<PHONE_NUMBER>
/home/railpc/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mqtt-0.3.1/lib/mqtt/packet.rb:283:in `read_byte': Failed to read byte from socket (MQTT::ProtocolException)
	from /home/railpc/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mqtt-0.3.1/lib/mqtt/packet.rb:31:in `read'
	from /home/railpc/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mqtt-0.3.1/lib/mqtt/client.rb:454:in `receive_packet'
	from /home/railpc/.rbenv/versions/2.1.1/lib/ruby/gems/2.1.0/gems/mqtt-0.3.1/lib/mqtt/client.rb:283:in `block in connect'

the broker have is configuration in rabbitmq.config :
[
 {rabbit, [
        %%=====================================
        %%----Configuration of AMQP protocol----
        %% =====================================

        {tcp_listeners, [{"<IP_ADDRESS>", 5672}]},
        {default_user, <<"guest">>},
        {default_pass, <<"guest">>},
        {default_permissions, [<<".*">>, <<".*">>, <<".*">>]},
        {default_vhost, <<"/">>},
        {loopback_users, []}
 ]},
        %%-----------------------------------------------------

        %%======================================
        %%----Configuration Of MQTT protocol----
        %%======================================
 {rabbitmq_mqtt,[
        {vhost,<<"semillero">>},
        {default_user, << "guest">>},
        {default_pass, <<"guest">>},
        {exchange, <<"amp.topic">>},
        {tcp_listeners,[{"<IP_ADDRESS>", 1883}]},
        {allow_anonymous, true}

 ]}
        %%-----------------------------------------------------
].

Thanks @njh .

Hi @njh
sorry
I 'm new in github.
Did you can to see some bad in the code?
Thanks :+1

Hello,
Unfortunately 'Failed to read byte from socket (MQTT::ProtocolException)' is a bit of a cryptic error, that actually means the server closed the network socket - I have tried to improve this error message but not found a way of doing it.
Other than when first establishing the connection, MQTT does not have a mechanism for telling the client when it has done something wrong - it will just disconnect the client. In order to know what went wrong, you have to look at the servers logs.
I have modified your code slightly to work on my machine, and it is working fine with Mosquitto:
require "mqtt"

c = MQTT::Client.connect(
  host: '<IP_ADDRESS>',
  port: 1883
)

loop do
  m = "Message mqtt sent @ #{Time.now.to_i} "
  c.publish("builds", m)
  puts "=> Published #{m}"
  sleep 0.2
end

Things to try to solve you problem:

Check the Rabbit MQ server logs - does it give a reason why it is disconnecting the client? Perhaps the client doesn't have permission to post to that topic?
Can you send messages using a command line tool, instead of in ruby? Mosquitto provides the mosquitto_pub and mosquitto_sub shell commands.
Have you tried using a different server, such as Mosquitto?

I hope this helps,
nick.

hi nick.
thanks.
I saw Rabbit MQ file server logs and found the problem. I found that topic to default is "amq.topic" and my file rabbitmq.config had "amp.config"


Fixes crashes and errors in iOS Share Extension and Notification Service

Summary
For the Share extension we added a small cache to retrieve the session token and also reduce the amount of calls to retrieve it. At the same time, if we fail to retrieve the token we now display an error screen in the Extension asking the user to Retry.
Also, clean some code and addressed all the related sentry reports about the share extension and notification service.
Ticket Link
https://mattermost.atlassian.net/browse/MM-50004
Release Note
Fixed some potential crashes in the iOS Share Extension and Notification Service

Building app in separate branch.

@esethna as you were able to reproduce the issue with the share extension it would be good for you to take it for a spin an report back. I've already triggered the build of the PR.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/27703
https://circleci.com/gh/mattermost/mattermost-mobile/27702

Android builds seems to be broken in main cause of an issue with calls. I'm going to look into it

/update-branch

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/27746
https://circleci.com/gh/mattermost/mattermost-mobile/27745

Artifact links:
https://output.circle-artifacts.com/output/job/ea966901-858e-48a6-914e-edbf68b0890c/artifacts/0/tmp/artifacts/Mattermost_Beta.ipa
https://output.circle-artifacts.com/output/job/665a654b-f934-4bb1-8be3-cfb75b2e2702/artifacts/0/tmp/artifacts/Mattermost_Beta.apk

Cherry pick is scheduled.

Error trying doing the automated Cherry picking. Please do this manually
+++ Updating remotes...
Fetching upstream
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
From github.com:mattermost/mattermost-mobile
   a535728d5..ca1463148  main        -> upstream/main
   0a1c1a8bf..ec99c8bc0  release-2.0 -> upstream/release-2.0
   055c9109e..511525c9e  release-2.1 -> upstream/release-2.1
Fetching origin
Failed to add the RSA host key for IP address '<IP_ADDRESS>' to the list of known hosts (/app/.ssh/known_hosts).
+++ Updating remotes done...
!!! 'upstream/release-2' not found. The second argument should be something like upstream/release-0.21.
    (In particular, it needs to be a valid, existing remote branch that I can 'git checkout'.)

+++ Returning you to the master branch and cleaning up.

/cherry-pick release-2.0

Cherry pick is scheduled.

/cherry-pick release-2.1

Cherry pick is scheduled.


[Ophys Support] Ophys metadata

Ecephys is the initial early focus of the NWB GUIDE, but ophys will soon follow
First step will be to adopt and polish the NeuroConv ophys metadata and implementation here, similar to what's going on with the ecephys metadata in #161

Completed with #505


Consider adding a deprecated section in README.md

Some samples/libraries are either a very old preview or deprecated making them unusable and filling the README.md with noise.
Would you consider adding a Deprecated section (at the bottom?), so that stuff that are considered deprecated can be moved in there?
I suppose there could be some kind of process that the author of the link is notified for the deprecation and is given the opportunity to either update or remove the link.

Hello,
Your point is interesting. I agree, adding a 'Deprecated' section for the libraries and samples makes sense.

Section added. I think we will need a "procedure" to deprecate a resource, like creating an issue first like "Considering deprecate the library X".

#105 #106 #107 #108 #109 #110 #111 #112 #113 #114 #115 #116 #117 #118 #119 #120 #121 #122 #123 #124

The cleaning is in progress. I close this issue, feel free to reopen it if you want.


Cannot focus edge when node gets too small

There is a bug in the code /src/misc/sigma.misc.bindEvents.js line 166
s = edge[prefix + 'size'] ||
edge['read_' + prefix + 'size'];
when edge[prefix + 'size'] === 0 && edge['read_' + prefix + 'size'] === undefined (not sure why the first value gets 0)
s could not get the value 0 but undefined.
Math.max(s, maxEpsilon)  is NaN
and the edge could not get focus&&hover.

We might change it to something like
s = edge[prefix + 'size'] ||
edge['read_' + prefix + 'size'] || 0;


Update atom-beta to 1.21.0-beta0

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] sha256 changed but version stayed the same (what is this?).
I’m providing public confirmation below.

Closing in favour of #4421.


Consider marking terminal ligatures stable

Feature https://github.com/microsoft/vscode/issues/34103, PR https://github.com/microsoft/vscode/pull/232829

I'm not seeing them work at all

@rossipedia looks like that font is paid so unfortunately I can't test it


Starting inobugliblist.py gives me error

I tried to run ino bug list now but it gives me this error:
C:\Users\rojto\Desktop\Arduino\inobuglist>python inolibbuglist.py --github_login TomasRoj --ghtoken 14f9c114fc93a68851aa153d19b2318e59452d1b --browser_command "\"/c/Program Files/Mozilla Firefox/firefox.exe\" -new-tab" --arduino_ci_script_branch master --arduino_ci_script_application_folder "C:\Program Files (x86)\Arduino\arduino.exe" --arduino_ci_script_arduino_ide_version 1.8.8 Requirement already satisfied: codespell in c:\users\rojto\appdata\local\programs\python\python37-32\lib\site-packages (1.14.0) Cloning into 'tools/arduino-ci-script'... remote: Enumerating objects: 13, done. remote: Counting objects: 100% (13/13), done. remote: Compressing objects: 100% (10/10), done. remote: Total 13 (delta 1), reused 7 (delta 1), pack-reused 0 Unpacking objects: 100% (13/13), done. Traceback (most recent call last):   File "inolibbuglist.py", line 1184, in <module>     main()   File "inolibbuglist.py", line 471, in main     process_inoliblist(inoliblist_path=default_inoliblist_path)   File "inolibbuglist.py", line 652, in process_inoliblist     function_parameters=arduino_ci_script_arduino_ide_version)   File "inolibbuglist.py", line 974, in arduino_ci_script_wrapper_handler     return run_bash_command(commandline)   File "inolibbuglist.py", line 985, in run_bash_command     stderr=subprocess.PIPE)   File "C:\Users\rojto\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 775, in __init__     restore_signals, start_new_session)   File "C:\Users\rojto\AppData\Local\Programs\Python\Python37-32\lib\subprocess.py", line 1178, in _execute_child     startupinfo) FileNotFoundError: [WinError 2] Systém nemůže nalézt uvedený soubor
This last sentence in czech means that system windows cannot find file.
Maybe is it problem of arduino ide file?

I'll try to look into this soon but I wanted to immediately warn you that you appear to have exposed your GitHub personal access token. Although my instructions would have led you to have given that token the minimum level of privileges, it is still be security practices to immediately delete that token to avoid having some malicious user abuse it. It is a common practice to scan GitHub repositories for such secrets that were inadvertently exposed.
You can delete it like this:

Click your avatar at the top right corner of the GitHub website
Settings > Developer Settings > Personal access tokens
Click the "Delete" button next to the token.

You can always create a new token as needed.

Ok I created new, thanks for this. There is problably problem in the arduino ide path I think.

Closing as invalid since this is about inolibbuglist, not about inoliblist, and from the forum discussion seems to have been caused by user error anyway.


Set timezone inside VNM to the timezone of the host machine

Right now it is set to UTC. I'm using VNM version 20210130

unclear how to achieve is closing for now


Named parameters (parameter placeholders) and Parameter vs PropertyParameter

Our data store does not support named parameters (a.k.a. parameter placeholders) -- we use question marks ("?") instead in DbCommand.CommandText, and we expect the DbCommand.Parameters collection to contain all the parameters in order.
This presents some challenges for implementing an EntityFrameworkCore provider. First we had to allow for duplicate parameters via #12347. Second, it looks like CommandText is generated independently in multiple places (DefaultQuerySqlGenerator, UpdateSqlGenerator), so the best place I found where I can rearrange command parameters and update command text is by overriding the RelationalCommand.CreateCommand method.
Does this make sense, or is there a better way to solve this?
Assuming that the above makes sense, consider the SimpleQueryTestBase.Where_poco_closure() test case:
            var customer = new Customer
            {
                CustomerID = "ALFKI",
            };

            await AssertQuery<Customer>(
                isAsync,
                cs => cs
                    .Where(c => c.Equals(customer)
                    .Select(c => c.CustomerID));

It's the only test case that fails when using my CreateCommand override method. It fails because I assumed that propertyValues.Keys can be easily matched up with parameter placeholders, but this is not true for PropertyParameters. In the example above, the Key is "__customer_0", while the placeholder is "__customer_0_CustomerId".
I'd rather not go through each TypeMappedRelationalParameter to look at its Name, but I can't think of another way to do it. And I suspect there may be other parameter types with the same problem. Is there an easier solution to this?

#14645 is related in that it also can't easily be fixed without looking at the Name.

@AndriySvyryd @smitpatel @roji to look at this as part of 3.0 query (but also impacts update pipeline)
@MaxG117 Which database provider are you working on?

@MaxG117  - Can you tell where is propertyValues.Keys lives?

@ajcvickers We haven't publicly announced yet, so I'm not at liberty to disclose at this time.
@smitpatel apologies, I meant parameterValues.Keys, not propertyValues.Keys. parameterValues is a dictionary passed in to RelationalCommand.Execute methods. I'm still figuring out how it gets generated.

Thanks for additional info. I can see why those keys being mismatched. In 3.0 pipeline I will see any other way to improve what you want to achieve but it is likely to be on the lines of doing something with PropertyParameter rather than RelationalCommand.
@AndriySvyryd - Can you comment if modifying RelationalCommand as mentioned in first post is a good way to go or there is a better way to achieve this (w.r.t. Update pipeline).

It would also be possible to override ReaderModificationCommandBatch.CreateStoreCommand() if that's the base class this provider uses. But there's no easy way to make EF generate the expected command text.

Note: moved this to the 3.0.0 milestone.


back-end: integration with vscale CDN for loading files there and getting by url

back-end: integration with Selectel CDN for loading files there and getting by url
Artem Sushchev added a comment - 6/Nov/19 10:32 AM
Other option is to use Selectel CDN – https://selectel.ru/en/services/additional/cdn/
Why:
usually cheaper than using S3
data centers located closer to end user
Rough price calculation:
Average exercise traffic consumption: 250kb (50kb per audio file)
Active users: 1000 (thats aaaa lot! )
Exercises done by user daily: 10
Estimated traffic per month: 0.00025 * 1000 * 10 * 30 = 75 gb
Estimated price: 75 * 1.5 = 112.5 ₽
I believe when we achieve 1000 active users we can easily find some funding to pay bills. Until then I'm ready to donate 100 ₽ per month =)
https://jira.epam.com/jira/browse/EPMLABSBRN-135

done with aws


Polymorphism

Description 📜
Polymorphism in C++ (OOPS) , Types of Plymorphism, Explaination by Document
Fixes #1670

Type of change 📝

[ ] Au#dio (Should be in mp3 format Includes speech clarity, Concise ,Low distortion)
[ ] Vi#deo (Animations, screen-recordings, presentations and regular explanatory films are all possibilties etc)
[x] Documentation (Content Creation in the form of codes or tutorials)
[ ] Other (If you choose other, Please mention changes below)

Domain of Contribution 📊

[x] C/CPP
[x] Competitive Programming

Checklist ✅

[x] I follow Contributing Guidelines & Code of conduct of this project.
[x] I have performed a self-review of my own code or work.
[x] I have commented my code, particularly in hard-to-understand areas.
[x] My changes generates no new warnings.
[x] I'm GWOC'21 contributor

Screenshots / Gif (Optional) 📸

yes i update readme.,md and added index line.

@aman34503
Mistakes :

Solution :

Fetch & Merge from C_CPP branch
Make PR's base to C_CPP instead of main

Other than that, this issue is a duplicate of  #1169 and issue #835
So, this time pick an issue thats not taken... Thanks the PR was good otherwise :octocat:


Create game controller and service methods to start the next round

closed https://github.com/sopra-fs24-group-12/PeekSeek-server/commit/bd17d39f84a3921f63fb988c82461f7a97bb3156


css class "filestyle" not found

Hi,
in your samples you use a css-class "filestyle". so, when i try this it doesn't work.
am i missing a css file? did not find one in your zip. even in bootstrap (3.3.6) it can't be found.
or am i thinking in a wrong way, and the css-class is nowhere defined becaus it's not needed...
thanx for info!
Best regard from Austria
Werner

Problem is, I do not even know what's going on. Be clearer when defining a problem. Explaining in detail what happens.
Example in jsfiddle, please.

Hi Markus,
the problem is very simple. You use in all your samples a css class
filestyle! but in your githib project is no css file included. so where do
get the class from?
thx for the info.
Regards
Werner
On Nov 17, 2016 11:17 AM, "Markus Lima Luthier"<EMAIL_ADDRESS>wrote:

Problem is, I do not even know what's going on. Be clearer when defining a
problem. Explaining in detail what happens.
Example in jsfiddle, please.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/markusslima/bootstrap-filestyle/issues/124#issuecomment-261208631,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHOgg8u4A3yJKXqE1cdWQqllPxpfFmNZks5q_Cm2gaJpZM4K0-VB
.

There is no css included in the filestyle class, it only serves as a mandatory selector for the script.
Your problem should probably be file upload, but as there is no example I can not solve your problem more efficiently.


S3 Amazonaws allow to create a user to bind to the bucket

Only if the hostname ends with .amazonaws.com:
After the Test method is called on the backend, the FE should check via the IAM webmodule if the user has permissions to create a new user. If so, the FE should suggest creating a new user that only has access to the given bucket and replace the credentials with the newly generated credentials. Methods for this are in the webmodule.

@kenkendk could you add some words on specifically where in the flow we want this to happen?
Test connection -> Test con error (or??) -> if has create user feature in webmodule -> dialog if they want that -> if yes do it and replace credentials on auth-password and auth-username

The "test connection" should call the regular "test" method.
If successfull, and the hostname ends with .amazonaws.com it should check if the user can create a new user (operation is CanCreateUser)
If the result is a success, then offer to create a non-privileged used.
If the result is a failure, ignore it.
To create the non-privileged user, call with operation CreateIAMUser.
After the operation succeeds, the result will contain accessid and secretkey.
After changing the credentials, call the "test" method again.
There is another operation in the webmodule called GetPolicyDoc.
If we decide to add this, it should only be possible if the hostname ends with .amazonaws.com.
The result of the operation is a JSON document that can be uploaded manually to AWS S3 with the correct permissions.

We have decided not to do it for now since AWS has a different strategy where to create access keys you have to create a separate user for it which kind of defeats the purpose for this feature
We can fairly easily add it back in if we think it makes sense


Steps to build sui using clang vs gcc on Fedora due to rocksdb compile issue

When attempting to build on fedora, the rocksdb compilation steps utilizing gcc fail due to a dependency mismatch.
In order to work around this, I ended up using clang/clang++ instead of gcc.
I added the following to my .bashrc and re logged in, and successfully built using cargo build --release:
export USE_CLANG=1
export RUSTC_LINKER=lld
export RUSTFLAGS="-C linker=clang -C link-arg=-fuse-ld=lld -C link-arg=-lc++ -C link-arg=-lc++abi"
export CXXFLAGS=-stdlib=libc++
export LDFLAGS="-stdlib=libc++"
export CC="clang"
export CXX="clang++"

Thanks for the work-around and it works! I hope it can be added to the official document.

@ronny-mysten should we add this to our docs? This seems useful in a section like Debugging Installation Errors?


Vercel deployment: Cn we reuse the other build to upload ?

For the Vercel deployment, can we use the html built in python-package.yml instead of rebuilding.

Yes, indeed. We can upload that as GitHub Artifact and use that in the preview step.


[fix] file view failure on member

Coverage remained the same at 0.0% when pulling dce09e90aadc16954226d0aed899efc39f723139 on fix-failure-for-member into 6cb450203a2b233ca285cc9b9f8cb8629525b497 on master.


Fancy Zones and multiple monitors

Microsoft PowerToys version
0.60.0
Running as admin

[X] Yes

Area(s) with issue?
FancyZones, FancyZones Editor
Steps to reproduce
As I tried to assign a Fancy Zones layout using the editor to one of my 3 monitors, the assignment applied itself to all the monitors. The same thing happens after I right click while dragging a window to activate Fancy Zones and hit the number keys that I've assigned to my different zone layouts: the assigned zone applies itself to all 3 monitors. This wasn't an issue before I installed the update today, and I was on the newest version before this update was released
PowerToysReport_2022-07-08-09-01-51.zip
.
✔ Expected Behavior
The zone layout to be assigned to only one monitor at a time when selected.
❌ Actual Behavior
The zone layout selected for a single monitor was applied to each of the 3.
Other Software
No response

/dup of https://github.com/microsoft/PowerToys/issues/19203
Working on a fix. Thank you.


Added age ranges

Just to confirm, did you run gofmt on these files after saving them? Most of us setup our IDE to automatically run gofmt each time we save.


Sidebar bad behavior and scrollbar

Fix #827
Change this

to this

I will just go ahead and test this out in different browsers.

Thanks! 👍


Fix crash in all OAuth2::Client#get_token

def build_access_token as not found as it was implemented on OAuth2 instead of OAuth2::Client
This error is quite bad as it will happen on each invocation of OAuth2::Client#get_token and is suppressed by the fact that the call to build_access_token is wrapped in a rescue discarding the exception.

Test failure in a rubocop issue unrelated to this change.

Pull Request Test Coverage Report for Build 1116

11 of 11 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.703%

Totals

Change from base Build 1113:
0.0%

Covered Lines:
352

Relevant Lines:
364

💛  - Coveralls

I'm trying to figure out why the this is not an issue while running tests - it's definitely happening for me in actual use.

This does not break tests due to:
# This is dangerous - HERE BE DRAGONS.
# It allows us to refer to classes without the namespace, but at what cost?!?
# TODO: Refactor to use explicit references everywhere
include OAuth2

in spec_helper.rb

WOW.  I knew that would bite us eventually.  I added the DRAGONS comment, and knew that when I removed the include Oauth2 a ton of shit broke, and I never got around to figuring it out...


If entities renamed the switches won't report the state

When switches renamed,
they will become unavailable when showers enabled from app.
Example:
I renamed the switches to switch.dolphin_1_showers - switch.dolphin_4_showers (I have 150L boiler)
If I trigger the number of showers from HA it appears as on
If I trigger the number of showers from the app all switches become unavailable.
**Edit
Not sure if this behavior is related to changing the id.
It seems to me that when turning on dolphin from the app the drop switches become unavailable, even if in the app it turned on.
It seems to  me that these drop switches either need to be compared to current temp. and turn on in case the temp is equal or they should be exposed as services.

Hi @ShayGus,
The switches are currently under development.
As soon as the boiler is on, the switches become unavailable. When the boiler is off, the switches are available. For now, when using the switches the data will be updated in the thermostat entity but will change all the switches states to unavailable. The switches state return to available when the boiler reaches the  temperature and will turn off.

Are you developing the official to be integration or is this a private initiative?

This project was developed in collaboration with dolphin


Harden the way the task look for upstream causes

With multijob plugin, the first action is no longer the "causes".  We need to loop through the entire "actions" list to find the "causes".

Looks good.


 Thanks

Hi @betht1220 - we do not support this currently - but are working on adding this in an upcoming release. Will update this thread when this is available.

@sdawson-pivotal have taken the survey. Thanks. Any update on the request here on this thread? Would be great have the ability to start/stop the VM w/out destroying it completely.

@krishbiswas I'd like to address the concerns around suspend/resume since it has come up before. The architecture of CF Dev is largely dependent on the Docker (Docker Desktop). Thus, core VM features like suspend/resume would have to come from upstream before we could easily incorporate it.
That being said, perhaps a better way to track the progress of this feature is to see when they can address it for their product:
https://github.com/moby/hyperkit/issues/20

@sdawson-pivotal I don't know if it is still time but I also completed the survey

Hi @betht1220 - we do not support this currently - but are working on adding this in an upcoming release. Will update this thread when this is available.

Hi, @ssisil do you have any updates regarding support of suspend/resume feature?

Hi @dmytropetryk - I have not been closely involved with the project over the past year.  Tagging @aemengo - do you know if this feature made it into cfdev?


V12: False Trojan detection by Edge/Win 10

https://i.imgur.com/dv2txeP.png

Hi
You'll find the explanation in this wiki page.

Thank you for the reminder. I read the wiki page the first time I downloaded v11.1 portable edition and bypassed at that time the common Edge warning. This time, v12 is flagged as "Severe" by Defender and I had to disable/bypass at antivirus level. I thought it was worth mentioning. I understand there is little you can do to solve the issue.
Thank you for your dedication to BeefText and fast response.
This morning, we had a professional training for new managers of large healthcare public organizations in Québec; "we" being École de santé publique de l'Université de Montréal. I made a point to present BeefText to increase significantly productivity !

Thank you for the free advertisement :)


added daily journal website

Closes: #497

Title : Daily Journal Website
Name: : Aditya Bhaumik
Idenitfy yourself: : GSSOC

Describe the add-ons or changes you've made 📃
How Has This Been Tested? ⚙

Screenshots 📷

Type of change ☑

What sort of change have you made:

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

Checklist: ☑

[ ] My code follows the Contributing Guidelines & Code of Conduct of this project.
[ ] This PR does not contain plagiarized content.
[ ] I have performed a self-review of my own code.
[ ] I have commented my code, particularly wherever it was hard to understand.
[ ] My changes generate no new warnings.

Note to reviewers 📄

@Avdhesh-Varshney please review and merge my pull request


[Proposal] Merge Xchange project with bitrich-info project

Hello,
i would like to propose the merge of those 2 projects. Bitrich-info is a very good project which i believe it is a must for every developer that wants real-time prices and response time. That merge will create a huge amount of value for everyone. Right now most of us, that we use this library on our projects, have a major issue with rate limits. This will help us eliminate most of them just by using websockets instead of the classic REST calls, as every exchange suggest to do if the offer such. What do you think?

Did you know that Bitrich-info originally started as XChange code? XChange used to support streaming as well, but we peeled out the streaming part to form Bitrich-info because it was just way too much to maintain in one project. Plus the streaming dependencies were not at all robust back then, and it was a real headache.

Thanks for the response @timmolter . I didn't know that. Do you believe that now it is much simpler with the dependencies? Is the project more mature now? Thanks

I honestly do not know because I haven't been following that project. From a quick look however it looks waaaay more advanced now than it was before and many more exchanges are supported.  I started doing monthly XChange releases specifically for the bitrich-info project meaning the two projects are very closely coupled. It looks like they are looking for a maintainer right now, which might be something you'd be interested in.

@timmolter i have already talked with today maintainers about becoming one, but because i don't have the experience or the knowledge they have, i am not ready for it yet. It is a shame that bitrich project don't have the maintainers it deserves. That is why i propose a merge. More people will work for the same project and PRs will be merge much faster.

Merging the two projects won't change much in the matter how much work is being devoted to them. Most ppl contribute only the modules / features they use. That said refactoring done to xchange-core would be easier to keep in sync with streams.
If an eventual merge was supposed to happen I think streaming features should still be kept in a separate module. For example you would have xchange-binance and xchange-binance-stream. This is because they usually have additional dependencies like websockets that may be undesired by people that don't need streams - and lots of use cases don't need them.

The thing that will change is how fast the PR will be merge.This is the pain in the ass, on the bitrich-info project. If we merge the projects this will change. I totally agree with your second point, i also was thinking something like this, definitely separate modules. So what do you thing?

I can do all the work of merging.

Have you had PRs there that aren't getting any attention?
I personally cannot dedicate any time to reviewing streaming PRs or anything related to the streaming API.

@walec51 or anyone here, are you willing to review streaming PRs? Right now on bitrich project there are only 2 persons (i am not sure) which review and merge. I can review them, but i cannot merge them because i don't have the privilege.

Have you had PRs there that aren't getting any attention?
I personally cannot dedicate any time to reviewing streaming PRs or anything related to the streaming API.

There are many PRs which will hang there for days. I totally understand that you don't have that extra time to do it. At least there will not be any version issues with the merge.  I am more than happy to review streaming PRs, although i am not expert or very good. I am dedicating a lot of my time on these 2 projects, so i will definitely be a reviewer.

I don't use streaming currently in my projects so no, I will not review streaming PRs.
I'm against merging projects until someone that actively maintains bitrich comes here personally and says that he thinks that merging is a good idea and that he will continue maintaining  that code after the merge.
@makarid if you want to be that person then please gain some experience first by contributing to the bitrich project in its current form.

I don't use streaming currently in my projects so no, I will not review streaming PRs.
I'm against merging projects until someone that actively maintains bitrich comes here personally and says that he thinks that merging is a good idea and that he will continue maintaining that code after the merge.
@makarid if you want to be that person then please gain some experience first by contributing to the bitrich project in its current form. After some time of working together they should give you contributor status.

@badgerwithagun what do you thing about the merging? Will you continue to contribute to the bitrich project if we make the merge?

Merging the two projects would make a huge difference to me and others, I'm sure.  I can't be the only one that has to maintain synchronised forks of both libraries to keep a production app stable. There are some differences in project structure which would need to be fixed to get the streaming project ready for a merge, but that's all achievable if someone has the time.
I would continue to review & merge PRs after a merge, but like most contributors to the xchange-stream project, I don't use all exchanges.  I won't be able to review BitMex PRs, for example (which covers most of the long, outstanding unreviewed PRs).
I certainly can't guarantee long-term support (who can? Including @timmolter, I'm sure!), but have no plans to stop my involvement in the near future.  However, to split hairs: I'm not a maintainer; I'm just a collaborator.  @dozd is the only (semi) active maintainer.
Broadly: I'm in favour of it, but the challenge xchange-stream has is a lack of committed maintainers, and that won't be immediately solved by merging projects (at least immediately - I suspect more people would get involved pretty quickly if streaming were more obviously available).

Thank you @badgerwithagun for your input.I would love to be a maintainer when i am fit. So @timmolter and @walec51 what do think?

I remember when Xchange library supported streaming and also when and why they dropped it. Their implementation was not good mainly due to bad design choices as well as bad technologies for the streaming implementation. When I started the implementation of the streaming interfaces, usage of rxjava was a crucial point to make it as simple as possible and solved a lot of bad choices from the past.
But as I am in favor of a loosely coupled architecture I think these two libraries benefits from their separation. Modular approach is much more easier to maintain for a long term. Maybe I don't see that but what would be the benefits of merging them together? If you need the basics, use Xchange. If you need streaming, add Xchange-stream on top of it. Big all-in-one libraries are obsolete.
The bad thing is that I'm not using any of these two libraries anymore and I don't have a time (and energy) to maintain xhcnage-stream just without any of my need. But I do not think that merging with Xchange will solve this problem. But maybe I am wrong.
Anyway, if there will be an opinion that these two libraries should be merged, I'm happy to assist you if needed.

@dozd the main issue with bitrich project is the luck of maintainers as you correctly told us. I have a lot of code in my local branch which i cannot merge because of that.  Bitrich project depend on Xchange but cannot keep up with the versioning of Xchange. Without Xchange bitrich cannot exists and that is way it is crucial to have always the latest version of Xchange on bitrich project.This is not what is happening now. For example, lets say that i want to fix an issue on Bitrich library. After searching on the code i found a solution, but this solution needs to add a feature on Xchange library first. So i make the PR to Xchange and they merge. But because bitrich doesn't use the latest version on Xchange,i cannot use the new feature. I need to wait for the new release in order to see the new Xchange feature on Bitrich library. This is at minimum frustration. I believe that the merge will at least fix that issue and maybe will attract more devs on streaming version. There are developers from exchanges that support Xchange with new implementation from their APIs but don't do it for bitrich because of that.

xchange-stream suffers from a lack of attention.  People find XChange, it does what they need, done.  If streaming were a more first-class citizen, more people might use it. More users means more interest, more eyes on the problem, more PRs, more collaborators, more predictable release cycle.  I don't see any element of this that stands as a benefit for the XChange project though; it's purely to the benefit of xchange-stream.  I wouldn't try and pretend otherwise!
I fully understand if others want to maintain the separation, but for the sake of argument if nothing else, I will try and make an architectural case.
In principle, @dozd is absolutely right; smaller, focused libraries are the "right" way to work, but it's important to apply appropriate domain-driven-design if you're going to enforce modularity, and having worked in parallel on both XChange and xchange-stream, it feels to me that "not streaming" and "streaming" are not the bounded contexts; the exchanges are.
It would make more sense to me if there were:

A clear "core xchange api"
A clear "core streaming api" which builds on the core API
Exchange A (implements core and streaming API)
Exchange B (implements only core API)
Exchange C...

In an ideal world, each would be a standalone project (for the very reasons @dozd describes - and because each exchange implementation is likely to have completely different userbases).
However, of course, XChange and xchange-stream are both monorepos covering all the different supported exchanges - the reason being that it allows the API to remain loose because developers can change it at any time by updating all the exchange implementations at the same time.  To move away from this to individual projects would mean being much more careful with API design and rollout and probably slow down a lot of people.
One could argue that in a mature project that would be the right thing to do anyway; by splitting out the exchange implementations it would force the core project to apply better, more sustainable API designs - but I don't think this is the kind of project in which such rigour is realistic. It survives on lots of small, disconnected, ad-hoc enhancements, not longer-running design projects.
So - the monorepo has enormous benefit in practice for most people - and I think for those of us that use xchange-stream, that benefit would be double if it covered both libraries.  In practice, xchange-stream is regularly broken by XChange API changes and this is every bit as much of a pain as it would be if XChange Exchange A and XChange Exchange B were in separate projects from the XChange core.  They would benefit from being in one library for the same reason.
Anyway, I fully understand either way, but that's the best case I can make.

Thank you all for taking part in this discussion.
After reading it I came to the conclusion that there are only two small benefits to merging:

one could propose changes / fixes to xchange-core and streaming functionality in one PR
streaming functionality would get more attention from xchanges users

This will not solve the problem of lack of maintainers because if someone really needs streaming (to the point he would be willing to contribute to make it work) then he will have no problem finding out that Bitrich-info exists and creating a PR there. The only inconvenience is that if some changes in xchange-core are required then he has to have two PRs instead of one.
Secondly I still oppose creating modules suggested by @badgerwithagun that will force me to import streaming dependencies for a given exchange. Modules do not only separate business domains, they are also technical artefacts. If I don't use streaming then I don't want to be forced to import RxJava and other libraries to integrate with Binance for example.
If this merge was supposed to happen then proper dependencies should look like this:

If this type of module separation was to be kept then I'm personally neither in favour nor against of this merge. This is simply because my use cased do not require it, I just don't want it to get in my way ;)

@walec51 I was not talking about modules/JARs; I was talking about projects. Absolutely the modules WITHIN the project should be as you describe. My point was that there is a good reason that Binance is in the same project as the API: they often change together. The same logic applies to the streaming API and the streaming implementations: they often change at the same time as the XChange API.

Thank you all for the inputs. Can we vote in order to see how many we are in favor and against?
I am in favor of a merge.

Just one question. Why you don't want to use websockets in order to get realtime market data? It is blazing fast and you solve the rate limit problem also. I really cannot understand that.

As @walec51 pointed out it's critical that users don't need to import streaming libs if using the polling API. His proposed module separation makes this a non issue though.
I think if xchange-stream was actually actively developed and maintained and synced with xchange regularly, this merger wouldn't be necessary, but a @dozd said he doesn't have the time and energy to dedicate to it. The issue is less of a technical one and more of a practical one. Therefore a merge would definitely benefit those users who really want to use the xchange-stream project as a critical part of their projects because changes will get merged faster and smoother. So for the benefit of those users (which I personally am not) this merger does make sense. Therefore my vote is to do the merge.
I would hesitate to vote "yes" if @dozd would be upset but it seems he's ok with a merge:

Anyway, if there will be an opinion that these two libraries should be merged, I'm happy to assist you if needed.

If we decide yes, I'm quite happy to do a bunch of the work needed. I'd need @dozd's help to get a bunch of laggard PRs pushed through first and a final release done and would aim to conduct the merge in a series of smaller PRs to make it manageable.
I think it'll be important to work on maintaining reversibility throughout and being disciplined enough to resist the urge to do any refactoring whatsoever.

@makarid many of us don't you web sockets because getting data via a request - response method is much easier and less error prone then caching data from a stream. For example if I getOrderbook after a placeOrder I know this order book reflects it state after my orders ware matched. If I have a cache asynchronously build from a stream I have no way of telling did the events representing my order get applied already or nor.

@walec51 method is much easier and less error prone - that's because you have probably not seen my stream implementation with rxJava :-).
@timmolter You know, if the merge makes a better open source project, that's the whole reason of the contribution to open source. No reason to be upset. Our apache 2 is compatible with your MIT so everything's OK.
@badgerwithagun i have zero to minus one time because of a work on this game... so I hope it will OK. But I will surely find some spare (from minus one to minus two there is some nice negative space here)

Hi @timmolter & @walec51. We're slowly working towards cleaning up xchange-stream for the merge. The current plan is:

Clear outstanding pull requests
Clear compiler warnings
Add coveo-fmt and format the code to match XChange
Rename the Maven modules to fit the naming patterns discussed above
Create merge PR

The merge PR will be too big to usefully review in one go. Are we happy to get it merged and go incrementally from there?

I'm strongly in favor of merging the two projects since I use both streaming and REST calls, and syncing XChange and XChange-stream versions is painful.
For me streaming is really helping, for the both fresh data but and for the API calls restrictions we have on a lot of exchanges. Some exchanges give much higher api private calls limits for like placing orders with websocket: for example bitfinex which give close to infinite place/cancel limit, and only allows something like 1/sec with rest, not the exact numbers, but the difference is huge. All of the exchanges strongly encourage users to use the streaming api too.

@cymp have no fear; that seems to be the general conclusion too.  It will happen.  If you'd like to help, clearing compiler warnings on xchange-stream would be very welcome!

BTW: try to research how to do the "merge" of these projects correctly in terms of git. It would be very beneficial not to loose the commit history for the future development.
Doing it through the regular pull request by copying the files would delete this valuable info. You surely know the situation: "Why this line of code is here?" I'll check the blame lines. Ah, it was just committed with the another thousands of lines :).

@dozd indeed. I was thinking on this yesterday!

sounds good!

I just saw this thread, and tend to agree with a merge, as I too often have to make changes in both XChange and XStream, and managing the dependencies is painful and thawrt with risks.  My only concern is that XChange feels slower paced, concentrating on breadth of exchanges over depth of functionality, but working with one snapshot must be better than having two,

One other thing to note: I feel that due to the nature of REST calls, and their rate limits, XChange is much less concerned about GC, and for me that is a problem since I subscribe to multiple exchanges and feeds simultaneously.

I've made a provisionary/experimental PR #3436 which is a draft attempt at merging the two projects. It's been marked at DO NOT MERGE because the green light has not been fully given by all involved parties, so this is a draft of what one possible future might look like available to brave souls who wish to test the two projects building and testing together.
There remain a few open PR's in XChange-stream which should still be merged, and I would love to see some discussion regarding the merge choices made, so as to better inform what an actual merge would look like in the future when both projects are ready.

Not sure if this is relevant, but is the streaming part of this project still looking for maintainers? If so what is the general process to bring someone on as such?

I'd be happy to take on a maintainer for the streaming part.

FYI, I just added @badgerwithagun

@timmolter sounds good, I want to go through a few more reviews maybe some that are more invasive and if you guys are comfortable with that I would like to become one.

also I figure this thread can be closed right?


Fix connect_response packet

reject_with_reason in plugins/core/player_manager/plugin.py is broken, clients with "bad" character names are not rejected - they are online but bypass the wrapper (do not appear in the list of players and so on). Bad stuff.
Possible fix: https://gist.github.com/Zwergengraf/bbaeb39ac5af27bdcbb4

KK, thanks for the help. I applied your patch, and it looks like it definitely works for names like '     ' (all spaces). I haven't been able to get accented names to work, since starbound keeps rejecting them before I can log in. May need to borrow someone international to test.


feat: add dictionary sources as a data migration

Inserts bibliographic information as a data migration. Why a data migration?

so it automatically appears when creating a test database
it appears in the production site the next time migrate is run

Codecov Report

Merging #685 (abe30ed) into master (e471f71) will increase coverage by 0.06%.
The diff coverage is 85.71%.

@@            Coverage Diff             @@
##           master     #685      +/-   ##
==========================================
+ Coverage   85.11%   85.18%   +0.06%
==========================================
  Files          63       64       +1
  Lines        2425     2436      +11
  Branches      362      364       +2
==========================================
+ Hits         2064     2075      +11
+ Misses        300      299       -1
- Partials       61       62       +1

Impacted Files
Coverage Δ

CreeDictionary/DatabaseManager/xml_importer.py
98.75% <ø> (+1.20%)
:arrow_up:

...onary/migrations/0001_insert_bibliographic_data.py
85.71% <85.71%> (ø)

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 e471f71...abe30ed. Read the comment docs.


[Formater] Replace black with ruff

Reason for PR:

ruff is faster
ruff is PEP compliant
ruff is much saner than black: black sometimes like to create new lines or bloat code into multiple lines for no logical reason
ruff is compatible with black rules

The PR diff shows the improvements while staying both PEP compliant and retain/improve legibility.
# ruff version 0.3.4
pip install ruff==0.3.4

@Qubitium Why ruff --fix format code like this ?
https://github.com/sgl-project/sglang/pull/335/files#diff-192192a73b4db4b25f305dc49a35aeb3e86789d78b07c01b589243e2f2da9b18R8-R9
I tested but it does not compress the lines.

@Qubitium Why ruff --fix format code like this ?
https://github.com/sgl-project/sglang/pull/335/files#diff-192192a73b4db4b25f305dc49a35aeb3e86789d78b07c01b589243e2f2da9b18R8-R9
I tested but it does not compress the lines.

ruff removed all the imports that were never used in the file and thus the reduced lines. Is this what you are referring to?
ruff tries to merge as much imports into a single line (88 chars) as possible if legibility rule is not broken. It will use single line for multiple imports for cases where single merge imports does not make sense. This is what I have observed.

@Qubitium Yeah, I like it removing unused things. But I used ruff --fix to format the interpreter.py files, it did not merge multiple imports into a single line.
My ruff version is 0.3.4, and I do not know why.

@hnyls2002 We have the same ruff version so not sure the diff. I will investigate and check back. Did you run ruff python --fix or on a specific file?

Oh, I just found out why... I did not run isort as isort will merge the imports at first...

@hnyls2002  ruff has isort builtin. I will test, if result same or similar, we can remove isort and directly use ruff.
https://github.com/astral-sh/ruff/issues/465

@Qubitium
ruff python
warning: `ruff <path>` is deprecated. Use `ruff check <path>` instead.

It seems that your usage is not formatting but linting the repos, no wonder why it is likely to compress multiple imports into one line, this is actually done by isort and has no relationship with ruff.
I tested ruff format and it still expands multiple imports into multiple lines, I also think this is the correct way. We need mode exploration about this.

@hnyls2002  Confirmed. isort is dong the import merges and russ is only fixing the safe lints errors. I will work on this more.


Server Crash [Mekanism Server Tickloop]

Please use the search functionality before reporting an issue. Also take a look at the closed issues!
Issue description:
Mekanism Server tickloop crash?
Server randomly got crashed and it says something about mekanism,
Steps to reproduce:

(x)
(x)
Check the logs

Version (make sure you are on the latest version before reporting):
Forge: 2749 - 1.12.2
Mekanism: 1.12.2-<IP_ADDRESS>9.jar
Other relevant version:
If a (crash)log is relevant for this issue, link it here: (It's almost always relevant)
https://pastebin.com/xVKSdYPU

I dont think that should be possible, you'll want to try without coremods

I dont think that should be possible, you'll want to try without coremods

Core mods like? My server keeps crashing everytime with the same error idk why and what could be the reason.. i dont think it really is the core mods? not sure

The core mods are listed in the crash log. I'm not blaming anything at this stage; nothing should be iterating that list while modifying it during a tick loop.
I will have a more detailed look at the error point when back at my normal workstation

Yeah I can't see any place in the erroring code which would be modifying the list while its being looped, so it appears you have something that's doing normal tick things while the tick event is being run, or someone is messing with stuff

Yeah I can't see any place in the erroring code which would be modifying the list while its being looped, so it appears you have something that's doing normal tick things while the tick event is being run, or someone is messing with stuff

Yep you're right, i already figured it out.. It was a mod called Sleeping Overhaul and it had a mod dependency called Tickrate changer and that caused the problem with mekanism.. i removed it and its now fixed.. no more crashes :)


get attributes of JBOD disk in server profiles - Erase on delete and permanent

Scenario/Intent
Get attributes 'erase on delete ', 'permanent' of  logicalJBOD in server profile (template)
Environment Details

**OneView SDK Version:**4.80
OneView Appliance Version: 4.20
OneView Client API Version: 1000
**Python Version:**3.7
**Platform:**RedHat

Steps to Reproduce
Create a profile template with local storage and embedded controller from the GUI
Check 'erase on delete'and 'permanent for the logical disk attributes
Use OneView python and call oneview_client.server_profile_templates.get_by_name(SAS-template)
Check the output JSON file and cannot find attributes on logical disk
Expected Result
See attributes in JSON file
Actual Result
No attribute
SAS-JSON.txt

@DungKHoang , Don't compare the fields available in different versions of OneView, it will be different.  I can see these fields are available in API version 500 but not in API version 800.


Add link to Skill plans on the Application Page

Give new apps a chance to check their skills. Use the in game link? or actually use the skill check feature? probably just an in game link, that way they dont have to referesh or re-add characters.

Dup #51 (but I appreciate you adding it so we didn't forget).


No docstrings for TypedDict on hover

Code Snippet

from typing import TypedDict

Repro Steps

Hover TypedDict

Expected behavior
hover tooltip shows docstring
Actual behavior
hover tooltip doesn't show docstring

When I "go to def" on TypedDict it takes me to the definition of the TypedDict function in typing.py. I guess it's the docstring on that function that you are referring to?
TypedDict isn't a type, it's a special form. So I think if we were going to do this it would be a special case in the hover provider.

the docstring appears to be in typing_extensions.py source

the docstring appears to be in typing_extensions.py source

You're also referring to the docstring on the TypedDict function though, right?

yes

@heejaechang is this fixed by any chance?

I think this is fixed.