Errors from diff and import commands

I'm using mongodb-realm-cli version 1.1.0 and have no trouble logging in or running the export command. However, I get errors running the diff and export commands.
Export
✅ Works perfectly and generates a bunch of files.
node_modules/.bin/realm-cli export --app-id=my-app-id --output mongodb/realm --for-source-control

↪ tree mongodb/realm/
mongodb/realm/
├── auth_providers
│   ├── anon-user.json
│   └── api-key.json
├── config.json
├── functions
├── graphql
│   ├── config.json
│   └── custom_resolvers
├── services
│   └── mongodb-atlas
│       ├── config.json
│       └── rules
│           └── acronyms.acronyms.json
└── values

These same files are not working for the diff and import commands below.
Diff
I get this "could not find realm app" error even when I specify the app-id.
node_modules/.bin/realm-cli diff --app-id=my-app-id
could not find realm app

When I add the --path optional parameter to my exported config I get a different error:
node_modules/.bin/realm-cli diff --app-id=my-app-id --path mongodb/realm
failed to diff app with currently deployed instance: error: must specify unique names when importing Services; duplicate name: mongodb-atlas

I'm confused why this complaining about this service name because I'm not able to change it in the Realm Data Source Configuration screen in Atlas.

Import
node_modules/.bin/realm-cli import --app-id=acronyms-sandbox-kqpyx --path mongodb/realm --strategy=replace
failed to diff app with currently deployed instance: error: error validating Service: mongodb-atlas: only [wireProtocolEnabled, readPreference, readPreferenceTagSets] are allowed config options

It sounds like the import command doesn't like the sync entry in the config.json (below).
config.json
Below is the contents of the services/mongodb-atlas/config.json file that was exported by the tool:
{
    "name": "mongodb-atlas",
    "type": "mongodb-atlas",
    "config": {
        "readPreference": "primary",
        "sync": {
            "state": "enabled",
            "partition": {
                "key": "status",
                "type": "string",
                "permissions": {
                    "read": true,
                    "write": false
                }
            }
        },
        "wireProtocolEnabled": false
    },
    "version": 1
}

@phatblat what directory are you calling diff and import from ?

@ianpward I've been calling them from the root of my app repo and placing the config files 2 levels down in mongodb/realm, then specifying that in the --path argument.
When I cd into the realm config folder, I get the same error:
↪ ../../node_modules/.bin/realm-cli diff --app-id=my-app-id
failed to diff app with currently deployed instance: error: must specify unique names when importing Services; duplicate name: mongodb-atlas

↪ ../../node_modules/.bin/realm-cli import --app-id=my-app-id --strategy=replace
failed to diff app with currently deployed instance: error: error validating Service: mongodb-atlas: only [wireProtocolEnabled, readPreference, readPreferenceTagSets] are allowed config options

@phatblat -
exporting with --for-source-control  doesn't export the _id fields in the config. Therefore the only strategy you can use here for importing will be --strategy=replace-by-name. That should resolve

↪ .../../node_modules/.bin/realm-cli diff --app-id=my-app-id
failed to diff app with currently deployed instance: error: must specify unique names when importing Services; duplicate name: mongodb-atlas
This one is a bug, we're working on. It currently only works with the merge strategy

1
They should use  --strategy=replace-by-name when using --for-source-control  because we don't export _ids and the other strategies rely on _id to import successfully
The diff issue is a bug that we are going to fix

Thanks for the update @sumedham


Predictions change with input size

Following this example of an autoencoder, .predict() shows an unexpected behavior. The same input vector is encoded in slightly different ways depending on whether the input has exactly one row or more than one.
Code:
import numpy as np
from keras.layers import Input, Dense
from keras.models import Model
from keras.datasets import mnist

encoding_dim = 32
input_img = Input(shape=(784,))
encoded = Dense(encoding_dim, activation='relu')(input_img)
decoded = Dense(784, activation='sigmoid')(encoded)
autoencoder = Model(input_img, decoded)
encoder = Model(input_img, encoded)
autoencoder.compile(optimizer='adadelta', loss='binary_crossentropy')

(x_train, _), (x_test, _) = mnist.load_data()
x_train = x_train.astype('float32') / 255.
x_test = x_test.astype('float32') / 255.
x_train = x_train.reshape((len(x_train), np.prod(x_train.shape[1:])))
x_test = x_test.reshape((len(x_test), np.prod(x_test.shape[1:])))

autoencoder.fit(x_train, x_train,
                epochs=5,
                batch_size=256,
                validation_data=(x_test, x_test),
                verbose=0)

pred1 = encoder.predict(x_test[0:1])[0]
pred2 = encoder.predict(x_test[0:2])[0]

print 'Prediction of row 0 on one sample', pred1
print 'Prediction of row 0 on two samples', pred2
print 'Predictions are equal:', np.array_equal(pred1, pred2)
print 'Maximum difference:', np.max(pred1 - pred2)

Output:
Using TensorFlow backend.
Prediction of row 0 on one sample [2.76965594e+00 1.68126094e+00 8.42961311e-01 5.48994601e-01
 0.00000000e+00 3.70012021e+00 3.42059398e+00 7.24270105e+00
 5.25430739e-01 1.08950405e+01 6.82098436e+00 2.97752094e+00
 0.00000000e+00 2.67998934e+00 5.14734125e+00 2.22423840e+00
 8.53625000e-01 4.04000044e+00 9.02115405e-01 1.62442014e-01
 0.00000000e+00 1.48562109e+00 1.52160430e+00 0.00000000e+00
 6.51492310e+00 6.99255323e+00 0.00000000e+00 2.89665669e-01
 1.04156408e+01 3.26335430e-05 0.00000000e+00 4.85842645e-01]
Prediction of row 0 on two samples [2.7696559e+00 1.6812606e+00 8.4296155e-01 5.4899454e-01 0.0000000e+00
 3.7001197e+00 3.4205940e+00 7.2427006e+00 5.2543080e-01 1.0895040e+01
 6.8209858e+00 2.9775207e+00 0.0000000e+00 2.6799898e+00 5.1473403e+00
 2.2242384e+00 8.5362488e-01 4.0400009e+00 9.0211511e-01 1.6244198e-01
 0.0000000e+00 1.4856209e+00 1.5216043e+00 0.0000000e+00 6.5149217e+00
 6.9925547e+00 0.0000000e+00 2.8966567e-01 1.0415640e+01 3.2991171e-05
 0.0000000e+00 4.8584259e-01]
Predictions are equal: False
Maximum difference: 1.4305115e-06

Environment:

Keras==2.2.4
tensorflow==1.12.0
numpy==1.16.0
Python 2.7.15 on macOS Mojave

This result does not seem to depend on the particular Keras / Tensorflow / Python combination. Also, this implementation in pure tensorflow does not seem to display the same behavior.

@marcolagi, how did you ensure that the returned predictions are float64? My training data is float64, however when I do model.predict(), it gives me an array of float32 dtype.
I am using Tensorflow with Keras Backend


GNOME updates 2024-01-07

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

@ofborg build snapshot orca gvfs gnome.zenity gnome.gnome-sudoku gnome.gnome-software gnome.gnome-settings-daemon gnome.gnome-maps gnome.eog gitg evolution-ews epiphany cambalache


mirroring mode

We would like to be able to mirror existing logs, without altering the entries or the STHs, so that clients could verify SCTs from the original log against a mirror.

I'm picking this up on the basis of the hack that's in my test_fetcher branch, but it's pretty tenuous.
The main thing that's needed is tracking STHs. We can't just get the latest one and update to that, we need to regularly fetch a new STH, and queue it up, so that we can update our serving STH incrementally (new STHs appearing regularly might make it so that the fetching of entries never "catches up" with them, so if we don't remember intermediate STHs, we could be stuck on an old one for a long time).

This was done ages ago, closing this out now!


Introduce supervisor mode

This PR introduces supervisor mode to the demo script. Supervisor is responsible to check user's environment and adjust the run options and environment for the demo to work.
As implemented now, the supervisor will try to run a simple logo-only Qt application and terminate it after 10ms. This allows checking if the rendering backend works without disturbing the users' active window.
Next, the script will run itself again as a subprocess, with --noSupervisor flag, having options adjusted. In case of Qt run failure, the demo will try to run again but with OpenCV backend.
All other environment flags and cli options are preserved, so this change will allow using supervised mode the same we use demo currently. Will be testing it now, focusing on RPi and Ubuntu 18.04 as we have known issues there
This PR is built on top of https://github.com/luxonis/depthai/pull/571

Tried it on RPI4, latest Bullseye. After playing around with the GUI and clicking apply and restart, app often can't find the device after 10s. It does boot up the CV GUI (which is better than crashing), but we should fix this issue of not finding the device afterward.
t.qpa.xcb: QXcbConnection: XCB error: 148 (Unknown), sequence: 192, resource id: 0, major code: 140 (Unknown), minor code: 20
USB Connection speed: UsbSpeed.SUPER
Traceback (most recent call last):
  File "/home/pi/depthai/gui/main.py", line 49, in applyAndRestart
    instance.restartDemo()
  File "/home/pi/depthai/depthai_demo.py", line 682, in restartDemo
    self.stop()
  File "/home/pi/depthai/depthai_demo.py", line 679, in stop
    raise RuntimeError("Device not available again after 10 seconds!")
RuntimeError: Device not available again after 10 seconds!
Aborted
Error while running demo script... Command '/usr/bin/python3 depthai_demo.py --noSupervisor --guiType qt' returned non-zero exit status 134.
Waiting 5s for the device to be discoverable again...


updated the icon on TTS engine for android

As promised here at @csukuangfj I have updated the icon logo.
WARNING: to create the xml files I have vectorized the bitmap image provided with the pdf, especially for foreground start from a vectorial image would lead to less space, since that it should be done to the original author or he/she will send me the official .svg.
Since the space problem I have updated only SherpaOnnxTtsEngine icons, not the other on this repo, that I think would be updated too.
About the fastlane directory I will wait untill #569 is resolved.

Thanks!
Could you post a screenshot about the app after applying this pull request?

Honestly I have not yet compiled it, it's only an image change, not a code change, you can see the webp image raw directly on the repo, for example here:
https://raw.githubusercontent.com/paolo-caroni/sherpa-onnx/master/android/SherpaOnnxTtsEngine/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
If you want in the next days I will compile it (for the first time, but I have seen that is well documented) and then post here a screenshot :)

Ok, I have corrected it, the problem was that the resolution was too high, too much vectorial points, on android studio I see the previews but on compiling give an error (string too large), sorry.
Here you have the screenshots. I have removed much details from the logo, I would be happy to redone all with the support of the original desiner.

@csukuangfj I'm really sorry that I assumed everything would work just by looking at the preview. I'm sure that you have noticed it and asked me a screenshot because of this.

Great!
Thank you for your contribution!


fix: avoid fetching favorite status for anonymous user

Note: this fix won't be visible because since 1.2.0 there is a bug where anonymous users receive an Unexpected Error when viewing a dashboard, however, it will be fixed in #15585
SUMMARY
This problem had already been fixed in #8527, however, the value of dashboard.userId is now being converted into a string here, so in cases of an anonymous user, its value will be "undefined".
With this, the fav star component will render due to this condition.
My changes:
Since hydrate.js says that dashboard.userId is legacy, I pass the value of user.userId as a prop to the header component, which is value is undefined when there is no user logged in.
TESTING INSTRUCTIONS

Add the permission mentioned in this comment to the public role OR set PUBLIC_ROLE_LIKE = "Gamma"
Create a dashboard if don't have any
Copy the URL for the dashboard
Logout or enter an anonymous browser session
Enter in the dashboard's URL
Check if the error message doesn't appear

ADDITIONAL INFORMATION

[x] Has associated issue: #14720
[ ] Changes UI
[ ] Includes DB Migration (follow approval process in SIP-59)

[ ] Migration is atomic, supports rollback & is backwards-compatible
[ ] Confirm DB migration upgrade and downgrade tested
[ ] Runtime estimates and downtime expectations provided

[ ] Introduces new feature or API
[ ] Removes existing feature or API

Thanks for the fix! I opened a PR to change the offending behavior in hydrate.js as well.

Thanks for the tests. LMK when you're ready for this to be merged!

All good for me now, you can merge :wink:


Fix save unopenable raw file issue

RAW file saved through RAWLIB is not readable by any modern application, implement proper support for other applications.

Isolated files, will fix with full rewrite of RAWLIB.


how to access onStateChange event? or any of the native youtube api events

computed: {
    player () {
      return this.$refs.youtube.player
    }
},

mounted () {
    this.player.addEventListener('onStateChange', this.youtubStateChange)
},

methods: {
    youtubStateChange (youtubeState) {
        console.log('youtubeState:', youtubeState)
    }
}


[Feature Request] for Portable Teleporter

Hello;
First I would like to say thanks for a great mod, I can't imagine Minecraft without it.
Please consider upgrading the Portable Teleporter with memory presets.
I find myself wishing every time I use it that I didn't have to change the dial because I am constantly teleporting all over the place and changing the dial all the time is kind of frustrating, it's like having a old dial radio with no presets and every time you want to change the station you have to tune it in..
Having memory presets would greatly increase efficiency and reduce time fiddling with the personal teleporter.
Thank you for your consideration.

I'm planning for a teleporter overhaul too, don't worry :)


Investigate and document exposing Druid DataSource and Planner in JDBC

How to register the DruidPlanner as part of startup of the server.

Added with commit: 53f44d22cc67d8feaa5188f01f15117f92af822d
For instructions see https://github.com/SparklineData/spark-druid-olap/wiki/Running-the-ThriftServer-with-Sparklinedata-components


add escape regex chars to DB Presence Verifier

add preg_quote to value in getCount for Unique validation with DatabasePresenceVerifier.php in order to correctly escape regex chars in values from DB (eg. "+")

Codecov Report

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

@@            Coverage Diff            @@
##             master    #1992   +/-   ##
=========================================
  Coverage     86.75%   86.75%
  Complexity      666      666
=========================================
  Files            31       31
  Lines          1518     1518
=========================================
  Hits           1317     1317
  Misses          201      201

Impacted Files
Coverage Δ
Complexity Δ

...rs/Mongodb/Validation/DatabasePresenceVerifier.php
76.92% <100.00%> (ø)
7.00 <0.00> (ø)

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 279b18c...eae84ce. Read the comment docs.

Codecov Report

Merging #1992 into master will not change coverage.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #1992   +/-   ##
=========================================
  Coverage     86.75%   86.75%
  Complexity      666      666
=========================================
  Files            31       31
  Lines          1518     1518
=========================================
  Hits           1317     1317
  Misses          201      201

Impacted Files
Coverage Δ
Complexity Δ

...rs/Mongodb/Validation/DatabasePresenceVerifier.php
76.92% <100%> (ø)
7 <0> (ø)
:arrow_down:

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 279b18c...eae84ce. Read the comment docs.

…h regex

@andrei-gafton-rtgt, Update description please

@andrei-gafton-rtgt add additional test case for this PR

Codecov Report

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

@@            Coverage Diff            @@
##             master    #1992   +/-   ##
=========================================
  Coverage     86.88%   86.88%
  Complexity      671      671
=========================================
  Files            31       31
  Lines          1556     1556
=========================================
  Hits           1352     1352
  Misses          204      204

Impacted Files
Coverage Δ
Complexity Δ

...rs/Mongodb/Validation/DatabasePresenceVerifier.php
76.92% <100.00%> (ø)
7.00 <0.00> (ø)

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 828982f...ebde4c0. Read the comment docs.

@Smolevich anything is left here?

Codecov Report

Merging #1992 (f92da85) into master (a9c7410) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##             master    #1992   +/-   ##
=========================================
  Coverage     87.01%   87.01%
  Complexity      664      664
=========================================
  Files            33       33
  Lines          1556     1556
=========================================
  Hits           1354     1354
  Misses          202      202

Impacted Files
Coverage Δ
Complexity Δ

...rs/Mongodb/Validation/DatabasePresenceVerifier.php
76.92% <100.00%> (ø)
7.00 <0.00> (ø)

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 a9c7410...f92da85. Read the comment docs.


Use local switch by default

opam 2.0 introduced a cool new feature: local switches[1]. These are very useful for project specific sandboxes. Would it be possible for jbuilder to support these local switches? I'm thinking of jbuilder defaulting to the project local switch rather than the current switch for example.
[1] https://www.ocamlpro.com/2017/04/27/new-opam-features-local-switches/

If i read the post correctly, as long as the user calls eval $(opam config env), this is what will happen. What would you do differently?

I think jbuilder should consider giving the local switch a higher priority
than the current switch. I.e without having the user set the env vars as
you said.
My motivation is to simplify the workflow with project sandboxes. I know I
can already accomplish this by writing workspace files. But it seems like
unnecessary boilerplate when I really want the same behavior in every case.
On Thu, May 11, 2017, 1:21 AM Jérémie Dimino<EMAIL_ADDRESS>wrote:

If i read the post correctly, as long as the user calls eval $(opam
config env), this is what will happen. What would you do differently?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/janestreet/jbuilder/issues/71#issuecomment-300717961,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIe-5QXA0qc3uM-oEEAut8xdXqmmfK5ks5r4sUHgaJpZM4NXLCa
.

Well, unless you have workspaces configured by a jbuild-workspace file, jbuilder doesn't use opam at all. I think it's a good default. Implicitly using a different environment by default mightl lead to confusing problems for users, especially ones new to ocaml/opam.
You can already select a different default with:
$ alias jbuilder="jbuilder --workspace=$HOME/.jbuild-workspace"

However, you still have to write an explicit switch name in the workspace file. We could simply make the (switch ...) field optional so that it is selected automatically.

Implicitly using a different environment by default mightl lead to confusing problems for users, especially ones new to ocaml/opam.

I disagree with this. I think most users are accustomed to installing dependencies inside sandboxes that are isolated from other projects. See how npm, cargo, stack, etc. all work. While I witnessed many new users being confused by opam's share by default model. Furthermore, it's hard to imagine a new user creating a local switch and being confused by its existence.

However, you still have to write an explicit switch name in the workspace file. We could simply make the (switch ...) field optional so that it is selected automatically.

If that makes it so that I can use the local opam switch without any configuration I think that's a good compromise. Happy to make that happen if so.

I think it'd be weird if jbuilder behaves in a certain way but running commands directly does something different.

If that makes it so that I can use the local opam switch without any configuration I think that's a good compromise. Happy to make that happen if so.

You need to change the switch argument of Context.create_for_opam to an optional one. Then you need to make the Context.Kind.Opam.switch and Workspace.Context.Opam.switch field options.

Here is another idea:
$ export PROMPT_COMMAND='eval $(opam config env)'

then changing switch becomes as simple as changing directory and it will affect all tools, not just jbuilder.

It's not good enough unfortunately. Here's a motivating use case:
I'm working on 2 different projects that have their own switches within one emacs instance. I'd like to switch working on these projects from inside my editor without this manual dance of changing the environment. I understand that I can accomplish this with clever use of emacs. But not everybody knows how to extend their editors, and there are many editors that are popular now.

OK, well I don't mind having this as a command line option, that would solve the editor problem

Actually, I'm not sure if what I've proposed is at all the correct approach. For the simple reason that doing
$ opam exec jbuilder build

already accomplishes exactly what I'm talking about. However, there's one small and unrelated problem: jbuilder seems to recognize the jbuild files from the downloaded sources in the _opam directory. Could we add the _opam directory to the list of paths jbuilder doesn't descend into by default?

yes, we should do that indeed

Is there still something to do for this issue or can it be closed?


Allow to specify a timeout parameter

as per tittle (in addition, we advanced code version)

LGTM


Facebook login doesn't return user's email field - maybe due to API changes?

Hi, it appears Facebook login is not returning the user's email field - maybe due to recent API changes.
From https://developers.facebook.com/blog/post/2015/07/08/graph-api-v2.4/
"Fewer default fields for faster performance: To help improve performance on mobile network connections, we've reduced the number of fields that the API returns by default. You should now use the ?fields=field1,field2 syntax to declare all the fields you want the API to return."
Another affected plugin https://wordpress.org/plugins/super-socializer/changelog/
"[Bugfix] Facebook Login was unable to fetch email and some other profile data of user due to recent changes introduced in FB JS SDK by Facebook"
The issue results in WordPress Social Login creating a new account for existing users instead of logging them in, as noted here https://wordpress.org/support/topic/fb-login-creates-new-account-instead-of-logging-in
When connected to Facebook via WordPress Social Login's Authentication Playground, I can see Provider user ID, Photo URL, Display name are being returned, however Email is empty.
From reading the plugin code it seems WordPress Social Login uses the hybridauth library's Facebook provider to connect to https://graph.facebook.com/v2.0/me for user profile data.
If I request https://graph.facebook.com/v2.0/me via the Authentication Playground's Connected Adapter Console, this returns an array containing only name and id, not email.
If I request https://graph.facebook.com/v2.0/me/?fields=name,email this returns an array containing name, id and email. Hoping this will be a minor fix to resolve.
Regards, David

Since this repo is far ahead of the current release, I tried to fix this issue on wordpress.org dev repo. Would you give it a try and see if it works for you.
https://wordpress.org/plugins/wordpress-social-login/developers/ > Other Versions :  Development Version.
Thank you!

Same issue when using the development version... WordPress Social Login creates a new account for existing users when authenticating using Facebook. The new users emails look like this<EMAIL_ADDRESS>

Possibly related: https://github.com/hybridauth/hybridauth/issues/509

This issue is related to commit miled/wordpress-social-login@720aaae311, isn't it?
But I don't see the plugin updated in wordpress.org and there are some bug reports opened (https://wordpress.org/support/plugin/wordpress-social-login) talking about this issue.
Any update planned?

I'm not using WordPress; instead, I'm using the CakePHP framework along with HybridAuth for social_login, but a I also experience the exact same problem - only Provider, user ID, Photo URL, Display name are being returned while Email is empty.
Any word on an update to HybridAuth that circumvents this issue?
Thanks

Just answered my own question above: The affected HybridAuth PHP functions used by WordPress (as well as CakePHP in my case) have been recently updated to properly deal with this issue related to the Facebook v2.4 API... you can download the corrected HybridAuth Facebook.php component here:
https://github.com/hybridauth/hybridauth/blob/master/hybridauth/Hybrid/Providers/Facebook.php
Use the contents of the above Facebook.php HybridAuth component to replace your "Facebook.php" file.  I'm using the CakePHP 2.x framework, so I replaced my "Facebook.php" file located here:
/var/www/html/app/Vendor/hybridauth/Hybrid/Providers/Facebook.php
Based on your configuration and which software HybridAuth is interfacing with, your path may be different.  After updating "Facebook.php" with the latest, corrected version, I am now able to retrieve ALL of the Facebook User Fields, including email, etc.
Happy Coding!
~ / 1 // C 3

So is this going to be fixed or not? Seems vmetzger09 has solution for this

@miled if you're busy I can update it and run some tests, followed by a PR (have some free time this week). Let me know what you think so we don't do the same work.

@ihorvorotnov , @miled I'm facing the same problem. Are there any news about it?
I can help too.

I'm having the same issue using the latest version, any idea how to resolve this?
Facebook is not sending email but instead<EMAIL_ADDRESS>Thanks

@miled  I am reading this thread for a long time since last posted. But, I would like to draw attention of authors and my observations. I think the plugin is setting a default email i.e<EMAIL_ADDRESS>when the provider is not returning email. When I tried to create a user using facebook id which was registered using mobile, the email registered in website was like<EMAIL_ADDRESS>Possible Solution
Can it be done by adding a condition by which the email input field should appear in the bouncer page if the provider did not return any email. Once the user fills email, we can send a confirmation mail to the user account and redirect to the account active page similarly as buddypress does during the time of registration.
Any lead would be appreciated. I think this issue is very important to consider..


[Bug] Updated Purview target location

Description

Updated Purview region to US as some defaults (e.g. WestEurope) are not supported

Pipeline references

Pipeline

Type of Change

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Update to documentation

What happened here :S :S How was this working in the past

What happened here :S :S How was this working in the past

Wasn't able to find out. It has been like this for a while now and I wouldn't know either. But in the docs it explicitely calls the mentioned locations out. No idea :/


Can I use this package with DateTime input?

Hi,
I had some problem using this package with DateTime value (can't provide a const DateTime).
Do you have any advice for me?
Thank you in advance.

Hi @mmadtop 👋
Thanks for opening an issue!
I believe this is a duplicate of #3 so closing for now but feel free to comment if you’re still having trouble or have additional questions 👍


drivers: modem: gsm_ppp: Add support for Quectel modems w/ CMUX

Add support for Quectel modem in gsm_ppp modem driver.
The CMUX cmd is based on MUX application notes v1.0(2020-09-22) for BG95, BG77 and BG600L. Tested and working on EC21e.
As the gsm_ppp doesn't do power control, it is required to power on the modem manually in the application.
The CMUX document is available publicly on the internet.
fixes #38653

@rlubos @jukkar @mniestroj

@ycsin - have you considered becoming maintainer or collaborator of the drivers/modem area?

Hey @ycsin, have you been using default configuration for gsm mux for Quectel EC21-E? I'm trying to test your patch using the same module but the modem setup fails with the following errors:

[00:04:32.074,000]  modem_gsm: PPP channel 2 connected to GSM_1
[00:04:32.075,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:04:32.075,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:04:32.076,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:04:34.076,000]  modem_gsm: modem setup returned -116, retrying...

Hey @ycsin, have you been using the default configuration of gsm mux for Quectel EC21-E? I'm trying to test your patch using the same module but the modem setup fails with the following errors:
[00:04:32.074,000]  modem_gsm: PPP channel 2 connected to GSM_1
[00:04:32.075,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:04:32.075,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:04:32.076,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:04:34.076,000]  modem_gsm: modem setup returned -116, retrying...

Yeah, this PR only misses out those GNSS things and gpio ctrl, which are harder to get upstreamed.
You can refer to my branch here.

[00:04:34.076,000]  modem_gsm: modem setup returned -116, retrying...

Do you know which line returned this? There are a few lines that prints the same thing when error. #38317 / #38596 is aimed to fix this.
And can you try this without the mux enabled? And are you using the recent/latest firmware? Should be around 2020

@cfriedt I appreciate the offers, but TBH I think I know too little of gsm_ppp itself, let alone the drivers/modem area.

That error is returned from line 600 ->

	if (IS_ENABLED(CONFIG_GSM_MUX) && gsm->mux_enabled) {
		ret = modem_cmd_send_nolock(&gsm->context.iface,
					    &gsm->context.cmd_handler,
					    &response_cmds[0],
					    ARRAY_SIZE(response_cmds),
					    "AT", &gsm->sem_response,
					    GSM_CMD_AT_TIMEOUT);
		if (ret < 0) {
			LOG_ERR("modem setup returned %d, %s",
				ret, "retrying...");
			(void)k_work_reschedule(&gsm->gsm_configure_work,
						K_SECONDS(1));
			return;
		}
	}

I've tested my setup without gsm mux enabled and everything works good. Regarding to the quectel fw version tbh. I have no idea because I haven't checked that.

Configuraiton:

# SHELL
CONFIG_SHELL=y
CONFIG_SHELL_PROMPT_UART="shell:~$ "

# # LOG
CONFIG_LOG=n

# UART support
CONFIG_SERIAL=y

# GSM modem support
CONFIG_MODEM=y
CONFIG_MODEM_GSM_PPP=y

CONFIG_ENTROPY_GENERATOR=y
CONFIG_TEST_RANDOM_GENERATOR=y
# PPP networking support
CONFIG_NET_PPP=y
CONFIG_NET_L2_PPP=y
CONFIG_NET_NATIVE=y
CONFIG_NETWORKING=y

# CONFIG_NET_L2_PPP_TIMEOUT=10000

# IPv4 enables PPP IPCP support
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=n

# Network management events
CONFIG_NET_CONNECTION_MANAGER=y

# Log buffers, modem and PPP
CONFIG_LOG=y
CONFIG_NET_LOG=yy
CONFIG_LOG_BUFFER_SIZE=16384
CONFIG_LOG_STRDUP_BUF_COUNT=200
CONFIG_MODEM_LOG_LEVEL_DBG=y
CONFIG_NET_PPP_LOG_LEVEL_DBG=y
CONFIG_NET_L2_PPP_LOG_LEVEL_DBG=y
CONFIG_NET_MGMT_EVENT_LOG_LEVEL_DBG=y
CONFIG_NET_CONNECTION_MANAGER_LOG_LEVEL_DBG=y
CONFIG_GSM_MUX_LOG_LEVEL_DBG=y

CONFIG_NET_SHELL=y
CONFIG_MODEM_SHELL=y

CONFIG_MODEM_GSM_APN="iot.1nce.net"
CONFIG_GSM_MUX=y
CONFIG_MODEM_GSM_QUECTEL=y
CONFIG_DNS_RESOLVER=y
CONFIG_DNS_SERVER_IP_ADDRESSES=y
CONFIG_DNS_SERVER1="<IP_ADDRESS>"

@bbilas That is the first "AT" check after enabling CMUX, I have no idea how the underlying uart_mux works tbh, @jukkar can you shed some light here?
Are you able to upgrade your Quectel EC21E to the latest firmware?
My modem related configs:
# PPP modem
CONFIG_MODEM=y
CONFIG_MODEM_GSM_PPP=y
CONFIG_GSM_MUX=y
CONFIG_MODEM_GSM_QUECTEL=y

Network related configs:
###################################################################
#################         Configures Net          #################
# PPP networking support
CONFIG_NET_PPP=y
CONFIG_NET_L2_PPP=y
CONFIG_NET_NATIVE=y
CONFIG_NETWORKING=y

CONFIG_NET_L2_PPP_TIMEOUT=10000
CONFIG_UART_MUX_RINGBUF_SIZE=512
CONFIG_NET_PPP_RINGBUF_SIZE=512

# IPv4 enables PPP IPCP support
CONFIG_NET_IPV4=y
CONFIG_NET_IPV6=n

# Required for multiple MQTT clients and HTTP client to work
CONFIG_POSIX_MAX_FDS=8
CONFIG_NET_BUF_RX_COUNT=16
CONFIG_NET_BUF_TX_COUNT=32
CONFIG_NET_PKT_RX_COUNT=8
CONFIG_NET_PKT_TX_COUNT=8

CONFIG_NET_BUF_DATA_SIZE=256

One interesting thing, when I switch the modem off I get:

[00:00:27.924,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:00:27.924,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:00:27.924,000]  gsm_mux.gsm_mux_recv_buf: Received 1 bytes
[00:00:27.924,000]  gsm_mux.gsm_mux_recv_buf: Received 1 bytes
DD0:29.[00:00:30.924,000]  modem_gsm: PPP channel 2 connected to GSM_1
[00:00:30.925,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:00:30.926,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:00:30.926,000]  gsm_mux.hexdump_packet: Sending: DLCI 2 cmd UIH (F)
[00:00:30.926,000]  gsm_mux.gsm_mux_recv_buf: Received 19 bytes
[00:00:30.926,000]  gsm_mux.gsm_mux_change_state: [0x20000c10] state Start-Of-Frame (0) => Address (1)
[00:00:30.926,000]  gsm_mux.gsm_mux_process_data: [0x20000c10] recv 11 address 2 C/R 1
[00:00:30.926,000]  gsm_mux.gsm_mux_change_state: [0x20000c10] state Address (1) => Control (2)
[00:00:30.926,000]  gsm_mux.gsm_mux_process_data: [0x20000c10] recv UIH (0xef) control 0xef P/F 0
[00:00:30.926,000]  gsm_mux.gsm_mux_change_state: [0x20000c10] state Control (2) => Len0 (3)
[00:00:30.926,000]  gsm_mux.gsm_mux_change_state: [0x20000c10] state Len0 (3) => Data (5)
[00:00:30.926,000]  gsm_mux.gsm_mux_process_data: [0x20000c10] data len 1
[00:00:30.926,000]  gsm_mux.gsm_mux_change_state: [0x20000c10] state Data (5) => FCS (6)
[00:00:30.926,000]  os: ***** MPU FAULT *****
[00:00:30.926,000]  os:   Stacking error (context area might be not valid)
[00:00:30.926,000]  os:   Data Access Violation
[00:00:30.926,000]  os:   MMFAR Address: 0x20004f88
[00:00:30.926,000]  os: r0/a1:  0xaaaaaaaa  r1/a2:  0xaaaaaaaa  r2/a3:  0xaaaaaaaa
[00:00:30.926,000]  os: r3/a4:  0xaaaaaaaa r12/ip:  0xaaaaaaaa r14/lr:  0xaaaaaaaa
[00:00:30.926,000]  os:  xpsr:  0xaaaaaa00
[00:00:30.926,000]  os: Faulting instruction address (r15/pc): 0xaaaaaaaa
[00:00:30.926,000]  os: >>> ZEPHYR FATAL ERROR 2: Stack overflow on CPU 0
[00:00:30.926,000]  os: Current thread: 0x20000ca0 (uart_mux_workq)
[00:00:31.121,000]  os: Halting system

One interesting thing, when I switch the modem off I get:

Current gsm_ppp_stop doesn't cancel the gsm_configure_work nor the rssi work, I'm not sure if that is the reason.
My current application turn on and off the modem every 1~2 minutes repeatedly.

[00:00:30.926,000]  os: ***** MPU FAULT *****
[00:00:30.926,000]  os:   Stacking error (context area might be not valid)
[00:00:30.926,000]  os:   Data Access Violation
[00:00:30.926,000]  os:   MMFAR Address: 0x20004f88
[00:00:30.926,000]  os: r0/a1:  0xaaaaaaaa  r1/a2:  0xaaaaaaaa  r2/a3:  0xaaaaaaaa
[00:00:30.926,000]  os: r3/a4:  0xaaaaaaaa r12/ip:  0xaaaaaaaa r14/lr:  0xaaaaaaaa
[00:00:30.926,000]  os:  xpsr:  0xaaaaaa00
[00:00:30.926,000]  os: Faulting instruction address (r15/pc): 0xaaaaaaaa

This means that you ran out of stack.

[00:00:30.926,000]  os: ***** MPU FAULT *****
[00:00:30.926,000]  os:   Stacking error (context area might be not valid)
[00:00:30.926,000]  os:   Data Access Violation
[00:00:30.926,000]  os:   MMFAR Address: 0x20004f88
[00:00:30.926,000]  os: r0/a1:  0xaaaaaaaa  r1/a2:  0xaaaaaaaa  r2/a3:  0xaaaaaaaa
[00:00:30.926,000]  os: r3/a4:  0xaaaaaaaa r12/ip:  0xaaaaaaaa r14/lr:  0xaaaaaaaa
[00:00:30.926,000]  os:  xpsr:  0xaaaaaa00
[00:00:30.926,000]  os: Faulting instruction address (r15/pc): 0xaaaaaaaa

This means that you ran out of stack.

Ouch, you are right. Definitely not enough coffee ;)

That is the first "AT" check after enabling CMUX, I have no idea how the underlying uart_mux works tbh, apart from some general knowledge, @jukkar can you shed some light here?

Muxing works by creating a virtual UART (drivers/console/uart_mux.c) that runs on top of the real UART. So when some entity writes to the virtual UART, the proper muxing headers are written to the data and then it is passed to real UART, and vice versa when unmuxing.


Add image description to nextcord.File

Summary
Add image description to nextcord.File
What is the feature request for?
The core library
The Problem
Not being able to write little text below images/gifs (and blind people).

The Ideal Solution
Add to nextcord.File an argument to add descriptions.
The Current Solution
No response
Additional Context
No response

Working on it :+1:


Run All Chain Tests work on both Producer and Validator Nodes

Just because a transaction sequence works on a "sole producer" node, does not mean that the resulting block will validate if pushed to another node. A recent example of this discovered that scopes on the shard failed checks after-the-fact that passed during generation.
We have a tester framework, this tester framework needs to create "two chains".  Every time a block is produced on the main chain, it needs to be copied and pushed to the second chain. The two chains should be identical.
Unit testers should not see this behavior as it should all be behind the scenes of the tester.

@andriantolie
ATC:

verify that both chains running properly and that blocks being produced on the main chain are pushed to the secondary chain
verify that blocks are accepted and are valid on the second chain
verify that the scopes on the shard (see description) are valid


ng-show/hide doesn't work in template?

A simple
Hello
 doesn't work for me. Upgrading to Angular 1.5 fixes the issue, which means angular-component is to blame here.

Can you provide a code example to demonstrate the issue?


[Feature]: JavaScript/TypeScript Port

Python is obviously the ecosystem to be in for ML at the moment, but offering an easy interface for JavaScript/TypeScript (which is extremely common to use for both frontend and backend) could help increase library adoption.
I'd be curious to hear thoughts on the best approach for this, or if it's even a good idea, from those more knowledgeable. Would basically embedding this library be the best way, so that the code generally only needs written once? Or would a full port in JS probably be worth it, as to my understanding this isn't actually doing anything data-intensive or ML-intensive like creating the embeddings or the database system, and it would mostly just be syntactical changes instead of creating anything new?

Good idea, we will try to support it. please stay tuned. Of course, we also welcome contributions.

I'm happy to contribute and get started on it, would just need a bit of guidance on high-level architecture. Would a full rewrite make sense, or would basically embedding this library and calling via node's child_process be better?

I'm not an expert on both nodejs and python but what about another wrapper?
@SimFG @aacitelli @shanghaikid (https://www.npmjs.com/package/node-calls-python)

From performance perspective, calling python from nodejs is not a good option,  personally I agree with @SimFG, a server is a better option.

does it really matters for a 100ms responses?

does it really matters for a 100ms responses?

Personally i want to keep GPTCache light before we moved to C/S style

My idea is to wrap it into a very simple docker service, so that other languages can experience GPTCache through the interface.

works for me. just a very simple python with grpc or restful?

works for me. just a very simple python with grpc or restful?

yes, provide two restful interfaces, the names are search and save, or like redis, called get and set

does it really matters for a 100ms responses?

Agree that performance shouldn't be a primary concern, more just a bonus. Seems to me like, seeing as a network round-trip is core to this library, optimizing for performance isn't really worth it, especially considering the library itself isn't doing the heavy computation.

does it really matters for a 100ms responses?

Agree that performance shouldn't be a primary concern, more just a bonus. Seems to me like, seeing as a network round-trip is core to this library, optimizing for performance isn't really worth it, especially considering the library itself isn't doing the heavy computation.

I agree with you, anyway, calling python from node is not a good practice and its scope will be limited within backend and it's hard to debug.  Personally I prefer a typescript rewrite, but some features are not portable for node, because they are not available in node, for example faiss.

I'd ultimately prefer a full TypeScript rewrite as well. Probably better for the long/term future and maturity of the project, and decoupling the two so they can make different decisions if necessary is probably a good idea.

@andenacitelli We have implemented a simple version of the server (similar match), but currently requires a python environment to run. After installing gptcache, you can directly run the gptcache_server.py file. Further development we are in progress, such as packaging into binary and docker

we have published the docker image, which means you can use GPTCache in any language, details: https://github.com/zilliztech/GPTCache/blob/main/docs/usage.md#use-gptcache-server
so i will close the issue

I prefer a typescript rewrite, but some features are not portable for node, because they are not available in node, for example faiss.

That is not true nowadays:
  const embedding = new OpenAIEmbeddings()
  const store = await FaissStore.loadFromPython('vectorstore', embedding)
  retriever = store.asRetriever(5)

we have published the docker image, which means you can use GPTCache in any language, details: https://github.com/zilliztech/GPTCache/blob/main/docs/usage.md#use-gptcache-server
so i will close the issue

that is like saying everybody should start using microservices...


Add .swiftlint.yml and clean up project

An initial pass to make working here more pleasant.

LGTM. Merging.


Chart API displayed

Simple pie chart is displayed on portfolio page

This looks good but can you include a screenshot on this pull request?


Handle max frame size

We've been repeatedly running into the message frame size restrictions of internet-2 on our project. Between our running microservices we want to send messages that exceed the maximum frame size, while still respecting it for any p2p comms.
@dr-orlovsky would you be open to a contribution from us to either remove it or making it configurable? I wanted to gauge what your preference for handling this is before diving into a potential patch. Could this restriction be moved a layer up to the lnp crates?

Just last week I had already add support for this in 0.8 beta version by introducing new version of the session called "Brontozaur" (the lightning-style limited version has a name "Brontide"). You can already use it from the master. An example how to use it can be found in https://github.com/Internet2-WG/rust-internet2/blob/master/tests/noise_xk.rs; you just need to replace BrontideSession with BrontozaurSession.
The max message size for Brontozaur session is increased from 64kb to 16MB

Thank you for the speedy answer. As I can see on the latest branch has a RpcSession type defined with the Brontozaur transcoder. I additionally saw that there a bunch of TODO's with regards to replacing the LocalSession with the RpcSession in the esb Controller. If this replacement is still planned I could try to understand what is blocking the remaining implementation of the RpcSession. I have not yet grasped what challenges the zmq socket types introduced there.

Ok, I think we are talking about different connections and probably I didn't understand your request in full.
To clarify, there are two types of connections provided by this library: (1) on top of TCP sockets and (2) using ZMQ sockets.
TCP socket connection is used exclusively to establish P2P sessions, in lightning-style. ZMQ is not used in these sessions, and these sessions always use encryption and messsage size limits. Before, it was just a 64kb limit (Brontide protocol as described in BOLT-8), now with v0.8 I have added Brontozaur encryption having 16 MB size limit. These two sessions can be created with BrontideSession and BrontozaurSession types respectively, used by PeerConnection type in upstream rust-microservices. To establish this type of connection NodeAddr is used from inet2_addr, providing full information about both peer TCP socket and node key used in establishing encrypted session.
ZMQ socket sessions are used only for RPC interface and inter-service ESB messaging - and not for P2P protocols. By default, they are unencrypted - and this type of ZMQ session is named LocalSession and the address used to establish this session named ServiceAddr. It MUST NOT restrict size of the messages - and if it does, it is a bug. The name LocalSession implies that it is safe to use this type of connection only if two services are running on the same machine - i.e. as a part of the same process (inproc ZMQ socket), as different processes (IPC socket) or via local TCP interface. If the services communicate across non-loopback network, the communication must be encrypted with Brontozaur protocol - and this connection will be named RpcSession. For obvious reasons it will support only tcp:// ZMQ sockets and again use NodeAddr (since we need both IP address, TCP port and node key).

This clarifies everything neatly, so I'll focus on the LocalSession now, since I indeed only meant the internal, non-P2P communication. LocalSession uses the PlainTranscoder and zeromq::Connection types. Connection uses an implementation of WrappedSocket for sending and receiving and in this implementation there are size checks that seem to restrict the size of messages. Is this a bug then and these checks can be removed, or am I looking at the wrong source of our errors here?

Will get to it soon, thank you for hashing everything out.

Closed by #26.
Released to crates.io as 0.8.0-rc.3


feat: expose hmac in secrets module

Description
Exposed the hmac variable in the secrets module.
Git Issue: https://github.com/terraform-ibm-modules/terraform-ibm-secrets-manager/issues/238
Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline


ncl: error while loading shared libraries: libgsl.so.25: cannot open shared object file: No such file or directory

Hi all,
I am trying to get a domain plot from wrf out file using postWRF. I have 3 domains. But I am getting the error:
'ncl: error while loading shared libraries: libgsl.so.25: cannot open shared object file: No such file or directory'.
I tried 'sudo apt-get install gsl-bin' to install gsl in my ubuntu 20.04, but still it is showing this same error.
Kindly help me solve this issue.
Looking forward to any kind of help
Thank you

Hi,
The error you mentioned about libgsl.so.25 is a NCL installation issue.
Also please note that PostWRF is developed in CentOS/Fedora OS, and there might be some issues while running it in Ubuntu.
What do you get if you run the command bellow?
find /usr/lib64/ | grep libgsl

kindly find the screenshot attached

It seems no libgsl is installed on you machine.
How did you install NCL?

i installed ncl with 'conda'
conda create -n ncl_stable -c conda-forge ncl

Install it by apt-get, as bellow:
sudo apt-get -y install ncl-ncarg
Do not use any conda environment for PostWRF.

yes

I installed ncl as suggested. Now its showing some other error.
pfa screenshot.

Also, it is asking for only 2 domains, whereas I have 3 domains.!

In the namelist.wrf section, the value of +number_of_domains (topography) must be equal to the number of domains (for your case is 3):
Domain_On-Off                    = 0

namelist.wps_path (schematic)   = /home/anikfal/WRF4.2.2/WPS/namelist.wps
background_color (schematic)    = forestgreen
lables_On-Off (schematic)       = 0

+Domain_on_off (topography)      = 1
 +number_of_domains (topography) = 3
 +box_color                      = white

Also you can use your namelist.wps to plot the domains by setting +Domain_on_off (topography) to 0
Domain_On-Off                    = 1

namelist.wps_path (schematic)   = /home/anikfal/WRF4.2.2/WPS/namelist.wps
background_color (schematic)    = forestgreen
lables_On-Off (schematic)       = 0

+Domain_on_off (topography)      = 0
 +number_of_domains (topography) = 3
 +box_color                      = white

You must set namelist.wps_path (schematic) to the path of your namelist.wps.
Please note that PostWRF is best to be run on CentOS or Fedora.

okay. Thanks for the help


regression in 3.4.3: ArgumentError: The property structurize! clashes with an existing method.

Running tests on my app, now against hashie 3.4.3, I'm getting errors from Hashie::Mash.
ArgumentError: The property structurize! clashes with an existing method.
    hashie (3.4.3) lib/hashie/extensions/mash/safe_assignment.rb:6:in `custom_writer'
    hashie (3.4.3) lib/hashie/extensions/mash/safe_assignment.rb:11:in `[]='
    hashie (3.4.3) lib/hashie/mash.rb:188:in `assign_property'
    confstruct (1.0.1) lib/confstruct/hash_with_struct_access.rb:144:in `method_missing'
    confstruct (1.0.1) lib/confstruct/hash_with_struct_access.rb:137:in `block in method_missing'
    confstruct (1.0.1) lib/confstruct/hash_with_struct_access.rb:137:in `collect'
    confstruct (1.0.1) lib/confstruct/hash_with_struct_access.rb:137:in `method_missing'

I have not yet debugged to figure out what's going on.
Looking at travis log (thanks travis!), I can see that last time tests were run and passed, it was using hashie 3.4.2.  Running my tests against to make sure tests do pass with no code changes but hashie 3.4.2 instead of 3.4.3...
Yes, they do. So there is a regression of some kind in 3.4.3. For now I'm going to lock to 3.4.2, but I'll try to find time to create an isolated reproduction.

Travis failures for hashie are all Rubinius Segmentation faults, so that's something else.

I am doing something weird with my own manual method_missing. I will try to isolate it to a nice repro.

Hmm, my code is really weird and confusing (as always seems to happen when I try to do weird things with Hashie, I'm learning).  I don't have a repro yet. But:
Is there a method structurize! somewhere?
Cause my code has a Hashie::Mash descended object (which also has SafeAssignment and DeepMerge mixed in).
My code tries to call self.structurize! some_hash. A one-arg structurize!. Which seems to work and return hash with all structs for keys (instead of strings) in Hashie 3.4.2. Although i can't figure out why, I can't seem to find this structurize! method in Hashie source anywhere, and #source_location doesn't work on it.  (Hmm, is it actually from Rails? I can't find it there either)
With, I think, nothing changed but Hashie 3.4.3 instead of 3.4.2, calling self.structurize! triggers method_missing instead (it didn't with Hashie 3.4.2), which then confuses my custom method_missing code to trying to add a property called structurize!... which then conflicts with an existing structurize! method because of my SafeAssignment. But if there's an existing structurize! method, why the heck is method_missing being called? Only in 3.4.3 and not 3.4.2?  And why can't I find where structurize! is defined?
Any ideas what might be going on?  If you have any ideas from this confusing report, appreciated. I'm awfully confused at this point, but still trying to debug.

okay, I see structurize! came from my own code.
It's possible that the reason my tests passed in 3.4.2 was actually a bug in Hashie, it was doing the wrong thing but my tests didn't catch it, and now in 3.4.3 it's behaving properly but causing a problem for my own buggy code. Maybe. It's very confusing. But I think it could be.

Okay, I think it was my bug, I can't fully explain why my own tests passed with hashie 3.4.2 but not 3.4.3, but I think it was my bug. And I have my code working under both versions of Hashie now.  Confusing stuff.

You should tell us what you changed in your code :)

We just ran into a similar problem with hashie 3.4.3. This code worked fine in 3.4.2:
require 'timeout' # stdlib; creates deprecated Object#timeout method
require 'hashie'

class HashWithStructAccess < Hashie::Mash
  include Hashie::Extensions::Mash::SafeAssignment
  include Hashie::Extensions::DeepMerge

end

h = HashWithStructAccess.new
h.timeout = 5

I like the change in add20277a389e97b3f9c0a2005a3d79b967bb4dd and fully admit we probably didn't  code is in the wrong, but having this break in a patch release was unexpected.

@dblock it doesn't make a lot of sense outside the context of our code.
At some far past version of our code, our local object (which now inherits Hashie::Mash, but used to have it's own independent implementation unrelated to Hashie) had it's own structurize! method.
In a less past version of my own code, we removed the structurize! method, but we actually still had some code that was calling it. In Hashie 2.4.2, I guess our attempt to call the non-existing method wound up handled by Hashie somehow as a property assignment/lookup, which is not what was intended, but somehow our tests passed anyway (I think this was a bug in our own tests). In Hashie 2.4.3, it started failing (as it probably should have all along).
I don't entirely understand what was going on. The code is convoluted, involving a custom method_missing in our part too. But here's my commit. shrug. https://github.com/mbklein/confstruct/commit/889c2d4f58c732272d4f9149526e03a0a8761f08

@cbeer Agreed. Let us know if there's something you think we should do from here.

I am definitely looking at this thread for someone to contribute an update to UPGRADING that explains everything.

@dblock Do you understand what was going on exactly -- is it that Hashie::Extensions::Mash::SafeAssignment was buggie and not doing what it was supposed to do until 3.4.3?  That's my impression, but I don't understand the details.

Ah, okay, looking at the compare: https://github.com/intridea/hashie/commit/add20277a389e97b3f9c0a2005a3d79b967bb4dd
I think the issue is that SafeAssignment didn't used to protect against conflict with private methods, but now it does.
Is that an appropriate change for a patch release?  I'm not even entirely sure if it's correct to guard against clashes with private methods or not, I'm not sure if over-riding private methods is really a problem.
The SafeAssignment block in the README says:

When mixed in, the Mash will raise an ArgumentError if you attempt to write a property with the same name as an existing method.

Which, yeah, I guess means it maybe always should have been protecting against private method clash too.
But yeah, that was a somewhat big change for a patch release.

Yes, the new behavior is more "correct". Overriding private methods causes the same problems as with non-priviate methods. It's too late to undo the patch release, so lets move forward, should have been a major bump, my bad.


GrumPHP Task

Hi,
Is there exist task for GrumPHP to use Pint ?

We don't know of anything like that. Feel free to create your own 👍


[REQUEST] RESTful API

Is your feature request related to a problem? Please describe.
I need to query an API endpoint for my clients whilst using my proxies and CAPTCHA solving without exposing the underlying API endpoint to the client
Describe the solution you'd like
RESTful API for starting jobs, both batch jobs (where there'll be a final collection URL (i.e. will say "NOT READY" till job is complete) and a different URL that'll provide the current status and the output thus far) and "debugger" style single run jobs, whereby it'll stall the HTTP request till the job is finished and respond in the user's desired format.
Describe alternatives you've considered
Intermediate NPM script with REST API that uses OpenBullet 2 CLI.
Additional context
Ruri is <3

This is something I always intended to implement sooner or later.

This is something I always intended to implement sooner or later.

😏😏😏

This is something I always intended to implement sooner or later.

😏😏😏

The context provided by the op is somewhat unclear. Therefore, I've added a proposal of the API below.
OB2 API
REST API that provides the option to share data and execute commands.
Endpoint

/api - The endpoint of the API.

Routes

/jobs - Get the status of all current jobs. Outputs the amount of hits, progress, cpm and status (idle/running)
/jobs/:controls - Start, pause or stop all the jobs by passing a parameter (start/pause/stop)
/jobs/hits - Get the hits data of all the jobs and output as json format
/job/:id - Get the status of a specific job. Same output as the /jobs/ route
/job/:id/:controls - Start, pause or stop a specific job. Similar to the /jobs/:controls route
/job/:id/hits - Get the hits data of a specific job. Same output as the /jobs/hits route

To access a route, send a request in this format: [endpoint][route]
Authentication
A route can only be accessed if a valid Authorization header is present in the request headers. This can be:

Authorization: API_KEY - Configurable on the OB Settings page. Used by default if no admin account.
Authorization: Basic BASE_64 - Where BASE_64 is USER:PASS encoded in base64 format.

Note
The API can also be extended further by adding more routes.
If you have any route suggestions, feel free to share them below.

Me like, but get it done RURI @@@@

@openbullet Any update on this?

@openbullet Any update on this?

Ruri is a busy man and doesn't have much free time lately to go on and implement this.
I can make an unnoficial api if people really need it, but back when I talked to him, he wanted to take care of this feature by himself.
And regarding the api's concerns, a few more routes would be required, such as an route to register proxies, proxy groups, another one to be able to tweak OB2's settings, and the list goes on...

@openbullet Any update on this?

Ruri is a busy man and doesn't have much free time lately to go on and implement this. I can make an unnoficial api if people really need it, but back when I talked to him, he wanted to take care of this feature by himself.

If you could implement a functional API that would be great. Normally I would do it myself, but unfortunately I don't have much experience when it comes to C#.
I am confident this feature will be greatly appreciated by the OB2 community. I for one would appreciate it a lot, as it really opens a lot of new possibilities, which is currently not possible as of today.

And regarding the api's concerns, a few more routes would be required, such as an route to register proxies, proxy groups, another one to be able to tweak OB2's settings, and the list goes on...

Essentially yes, there are some factors to consider when creating the API architecture.
What's important to remember is security and scalability. The API must be secure and able to support concurrent requests without impact on performance.

This feature is confirmed to be coming in 2023, so stay tuned. Sadly I cannot work at a fast pace because of my full time job, but I already started working on this so it is definitely coming.

It's coming?

@openbullet It's coming?

I am almost done with the API, but I will only release it after I rewrite the frontend client as well, moving away from Blazor in favor of a different SPA which will use the API. I will start working on the frontend next month. A temptative release date for this feature to be released is May 2023.

any updates? are we close to get this feature?

any updates? are we close to get this feature?

It's still work in progress and it will most likely take a while for ruri to finish the beta development of this. He is putting in some good hard work.

any news?

Nothing yet
Cartel de Sinaloa
Sent from Proton Mail mobile
-------- Original Message --------
On Sep 27, 2023, 5:33 PM, pitagoras530 wrote:

any news?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Any update on this?

The API is finished, I also completely rewrote the web client from scratch. It's on a private fork for now until everything is properly tested to make sure the release is stable.
Please be patient, sadly I can only develop OB2 as a hobby nowadays since I have a full time job.

The new client is going to be released soon and has a rich API so I'm going to close this, just wait for the release


dump1090: lat/lon should be floats

ATTN: @Noltari
Signed-off-by: Roger D<EMAIL_ADDRESS>

merged, thanks!

Thanks @roger-!


Follow-up questions

Would it be possible to implement per-user context to allow follow-up questions from each user separately?

Hey, yeah I'm planning to implement something like RAG/LanChain at some point in the future.


Error: cannot find newuidmap

https://github.com/containers/podman/blob/master/troubleshooting.md#9-newuidmap-missing-when-running-rootless-podman-commands
Is there some way to install these tools with conda so that podman Just Works out of the box?

sudo apt install uidmap

Seemed to work, but it would still be good to be able to install that with conda as well


python310Packages.unifi-discovery: 1.1.5 -> 1.1.6

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.unifi-discovery is: "Module to discover Unifi devices"
meta.homepage for python310Packages.unifi-discovery is: "https://github.com/bdraco/unifi-discovery"
meta.changelog for python310Packages.unifi-discovery is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.1.6 with grep in /nix/store/s990ncfmkiswz6bi5s21895clqp1mrhq-python3.10-unifi-discovery-1.1.6
found 1.1.6 in filename of file in /nix/store/s990ncfmkiswz6bi5s21895clqp1mrhq-python3.10-unifi-discovery-1.1.6

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
home-assistant-component-tests.unifiprotect
python310Packages.unifi-discovery
python39Packages.unifi-discovery

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/s990ncfmkiswz6bi5s21895clqp1mrhq-python3.10-unifi-discovery-1.1.6 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/s990ncfmkiswz6bi5s21895clqp1mrhq-python3.10-unifi-discovery-1.1.6
ls -la /nix/store/s990ncfmkiswz6bi5s21895clqp1mrhq-python3.10-unifi-discovery-1.1.6/bin

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

3 packages built:

home-assistant-component-tests.unifiprotect
python310Packages.unifi-discovery
python39Packages.unifi-discovery

Maintainer pings
cc @fabaff for testing.

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

3 packages built:

home-assistant-component-tests.unifiprotect
python310Packages.unifi-discovery
python39Packages.unifi-discovery


No way to delete emails

Can't delete duplicate email for Sunflower Hill Child Care location.

This org currently has no locations.


Can we support TS?

I just very needed

Currently the community is working on it -> react-i18next already got it's typedefinitions, i18next will get them added with next major version.
If you like you can add those typescript definitions for this package? I personally do not use typescript...so would have first to learn that proper before being able to do on my own.
PR very welcome 👍

OK, Thank you very much.I will try.


Refactor(pdf generation): replace quicktype, add static getter of pdf parameters

removes quicktype dependency, instead export our own types
also export static getBeratungshilfePdfFromContext(), which cleanly returns a new object to fill PDFs with (no await, no need to parse pdf etc)

@pgurusinga I had to adapt a few pdf unit tests, mostly where the tests previously relied on false instead of undefined. I think the new behaviour is correct but please double-check 🙏🏼
Also, I think the unit tests are now much quicker (4-5 s on my machine, instead of ~10s)
some more stats on the /pdf endpoint (using 10s autocannon):

before: avg latency: 468 ms, avg req/sec: 21
after: avg latency: 352 ms, avg req/sec: 28

@chohner I'm missing some context. I noticed that the getBeratungshilfeParameters function returns a mapping of field names to structured names. Do I need to manually add the mapping for future documents?

Hopefully not, thats the output of the pdf generator script!


Um...your domain is dead

The link to your domain is dead. Think I will steer clear of anything to do with this.

Yes @tjhunkin this project is no longer maintained. It only serves as a proof of concept now. There are plenty of great frameworks out there. Thanks for checking this one out. :)


libevent intgration and subscription callback

I am trying to understand how libevent integration and subscription callbacks work together.
as I understand the current approach in cnats library is allow using single libevent loop by sharing event base created in the application.
but the (libevent adapter) feeds the read messages back to nats library and then cnats library invokes appropriate subscription callback function (probably in some separate thread then we fed the message?)
if this is the case then does this mean that onMsg (typical name for subscription callback) and libevent main thread still need to handle concurrency?
Every new connect would have a separate subscription callback calling thread?
Is there way from application perspective to make everything single threaded and let cnats send/ receive messages using it's own threads?

If you decide to use libevent, what this does is suppress the need for the c nats own thread to read data from the socket. Some callbacks are registered so that when there is read/write events, libevent will invoke those callbacks, which in turn will parse the byte array and then invoke appropriate calls in the NATS library. For instance, parsing a message results in that message being given to appropriate subscriptions (if any).
You are correct that in the case of an async subscription, the NATS library will still have its own thread to dispatch the message. Therefore, the onMsg callback as you describe will be invoked from a different thread than the libevent event loop.

Okay, so application has to be thread aware to use cnats.
I am trying to get cnats work in a single thread setup. Let’s see how I can achieve it.
Thanks for your reply.

You can explore the use of synchronous subscriptions (natsConnection_SubscribeSync(&sub, nc, "foo"); and natsSubscription_NextMsg(&msg, sub, <timeout>);) if somehow you are breaking out of the even loop, etc and can call NextMsg with very small timeout because message will have been put in the subscription's internal queue during processing of read events and so will be available, or if there was no message for this subscription, NextMsg() will return timeout. But I don't think this would perform very well..

Closing for now. Will re-open if you have further questions.


Crashed on Elementary OS

I got the following error while tracking some requests from my android phone.
This is the crash report:
mitmproxy --host

(mitmproxy:3429): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(mitmproxy:3429): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(mitmproxy:3429): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(mitmproxy:3429): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",

(mitmproxy:3429): Gtk-WARNING **: Unable to locate theme engine in module_path: "pixmap",
Gtk-Message: Failed to load module "canberra-gtk-module"
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/libmproxy/console/__init__.py", line 499, in run
self.loop.run()
File "/usr/local/lib/python2.7/dist-packages/urwid/main_loop.py", line 278, in run
self._run()
File "/usr/local/lib/python2.7/dist-packages/urwid/main_loop.py", line 375, in _run
self.event_loop.run()
File "/usr/local/lib/python2.7/dist-packages/urwid/main_loop.py", line 678, in run
self._loop()
File "/usr/local/lib/python2.7/dist-packages/urwid/main_loop.py", line 715, in _loop
self._watch_files[fd]()
File "/usr/local/lib/python2.7/dist-packages/urwid/raw_display.py", line 392, in <lambda>
event_loop, callback, self.get_available_raw_input())
File "/usr/local/lib/python2.7/dist-packages/urwid/raw_display.py", line 492, in parse_input
callback(processed, processed_codes)
File "/usr/local/lib/python2.7/dist-packages/urwid/main_loop.py", line 399, in _update
self.process_input(keys)
File "/usr/local/lib/python2.7/dist-packages/urwid/main_loop.py", line 499, in process_input
k = self._topmost_widget.keypress(self.screen_size, k)
File "/usr/local/lib/python2.7/dist-packages/libmproxy/console/window.py", line 38, in keypress
k = super(self.__class__, self).keypress(size, k)
File "/usr/local/lib/python2.7/dist-packages/urwid/container.py", line 1116, in keypress
return self.footer.keypress((maxcol,),key)
File "/usr/local/lib/python2.7/dist-packages/libmproxy/console/statusbar.py", line 123, in keypress
return self.ab.keypress(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/libmproxy/console/statusbar.py", line 85, in keypress
self._w.keypress(size, k)
AttributeError: 'Text' object has no attribute 'keypress'

mitmproxy has crashed!

Thanks. Can you tell us what you did/which keys you pressed to trigger this?

I don't remember the keys as I was navigating through requests and responses.
May be some combination of keys as I was using the keyboard shortcuts to navigate.


Implement nested sources

After merging, slug sources will be able to access nested properties.
Example
var schema = new Schema({
  slug: { type: String, index: true, unique: true, trim: true },
  person: {
    firstname: String,
    lastname: String,
  }
});

schema.plugin(sluggable, {
  field: 'slug',
  unique: true,
  source: ['person.firstname', 'person.lastname'],
});

I will look into it this weekend. I need to cover this one in tests and get back to maintaining it. I didn't have time recently.


Add Devise

Project Requirements

Remove current_user method in ApplicationController.
Install and setup devise.

Can register a new user.
User logs in with a combination of email and password.
password should be stored in the database.
Ask for confirmation of email.
Can reset password.

Modify the views in devise for registration and login to match the wireframes from the Sneak Peek and your styling.

Hello @
rloterh,How are you?Kindly can you tell me the reason that the request is
invalid?
On Thu, 1 Sept 2022 at 07:24, Robert Loterh @.***>
wrote:

@.**** requested changes on this pull request.
Invalid Code Review Request does not count into the code reviews limit.
Hi Stanley,
While you made a great effort in this project, unfortunately, I cannot
proceed to review your code.
Invalid Code Review Request
You have submitted a project, whereby a linter check is failing. Kindly
ensure that all checks are passing.
[image: image]
https://user-images.githubusercontent.com/12745474/187845689-89a77a24-c318-4390-a85d-12952f0df529.png
Your Code Review Request will be marked as invalid in your Dashboard, so
please submit a new one once you are ready 🙏
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something
is not 100% clear.
Please, do not open a new Pull Request for re-reviews. You should use the
same Pull Request submitted for the first review, either valid or invalid
unless it is requested otherwise.
Invalid Code Review Request does not count into the code reviews limit.
—
Reply to this email directly, view it on GitHub
https://github.com/stanleySimeon/blog-app/pull/13#pullrequestreview-1092828192,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVYCZFIWGCCR42KRY3VZCGDV4BDYHANCNFSM6AAAAAAQBCMRDQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

@rloterh, kindly git GitGuardian Security checks is not part of linters
and the project requirements

@rloterh, kindly git GitGuardian Security checks is not part of linters and the project requirements

Hello @stanleySimeon
All checks needs to pass, therefore kindly ensure to remove any redundant linter(s).
Cheers!


Remove Duplicate (Linux DC++)

Might it be better to keep the one with the more detailed description?


CI suite

Why: make it as easier to use and modify, harder to break accidentally

[x] PyPI release
[x] run tests

[x] incl. in develop mode
[ ] incl. in install mode
[ ] python version matrix

[ ] sphinx docs

[ ] build docs as a github action

[ ] measure codecov
[ ] black/isort with valid line length
[ ] Issue template
[ ] Ask hivemind maintainers about possible missing checks

@mryab : let's take a look at lucidrains' repos and find out what else can we add


Update app-service-mobile-cordova-get-started-push.md

Added a note so that people know not to bother about sender_id and install the google-services file.

@ggailey777 - Please review the proposed changes.  Thanks


patch-services test failing

patch-services test failing with below error
2022/11/17 14:49:00 Fatal - Unable to create Service: %!(EXTRA *errors.Error=status is 502, identifier is '24', code is 'OCM-MS-24' and operation identifier is '2HgAq3EOffKnOrllJyqV5WrNrC3': Unable to create cluster : status is 400, identifier is '400', code is 'CLUSTERS-MGMT-400' and operation identifier is 'ded178cd-27d6-4ca1-83d3-e477a3603753': Could not find provided zone 'us-west-2' in the AWS Region: 'us-west-2')
Below fixes needed in https://github.com/cloud-bulldozer/ocm-api-load/blob/main/pkg/tests/handlers/services.go

Append 'a' to region while creating the cluster i.e

                          Nodes(v1.NewClusterNodes().AvailabilityZones(ccsRegion)).

                          Nodes(v1.NewClusterNodes().AvailabilityZones(fmt.Sprintf("%sa", ccsRegion))).

Use ServiceID instead of ClusterID in patch path

          serviceIds[i] = clusterID

          serviceIds[i] = serviceID

As we are creating 2 clusters for patching, we should append iterator number (i.e i ) in cluster name rather than 'idx', which is always 0 (to avoid creating duplicate cluster)

                          Name(fmt.Sprintf("perf-%s-%d", id, idx)).

                          Name(fmt.Sprintf("perf-%s-%d", id, i)).

fakeClusterProps are overriden by  rosaCreatorProps while passing it to cluster create method. So better merge fakeClusterProps inside rosaCreatorProps instead of passing "Properties" twice                                 .
Cluster(v1.NewCluster().
Name(fmt.Sprintf("perf-%s-%d", id, idx)).
AWS(
v1.NewAWS().
AccessKeyID(ccsAccessKey).
SecretAccessKey(ccsSecretKey).
AccountID(ccsAccountID),
).
Nodes(v1.NewClusterNodes().AvailabilityZones(fmt.Sprintf("%sa", ccsRegion))).
Properties(fakeClusterProps).
Properties(rosaCreatorProps).
Region(v1.NewCloudRegion().ID(ccsRegion))).

Avoid passing service and cluster arguments for PATCH method as ocm-managed-services validations are not accepting them i.e only pass Parameters
body, err := v1.NewManagedService().
Parameters(v1.NewServiceParameter().ID("has-external-resources").Value("false")).
Build()

However after all these changes, patching is failing as patching is allowed only when service is in "waiting for addon" state. But our service is stuck in 'waiting for cluster' state as cluster is a fake-cluster and will be in always in "installing" state. We also can't patch cluster state as ocm validations won't allow it. We need to check with ocm team regarding this issue.

After fakeClusterProps properly passed i.e step 4 above, cluster is moved to "ready" state and service is moved to 'waiting for addon'. So now we can patch the service and no need to talk to ocm team :)

Fix https://github.com/cloud-bulldozer/ocm-api-load/pull/93 proposed


Return on error and close the response body

Your code was trying to read from the response body even if there was error, so I've added return after printing the error. It should fix error #1. It's also good practice to close response body after you're done with it. Hope it helps!

Thanks, looks like I forgot to check these logic errors


Troubleshooting guide for meta node split brain

In InfluxDB Enterprise, we recently had an issue with a meta node split brain. This is an exceptional state that we believe is caused by incorrect steps while performing operational maintenance tasks on the meta cluster (e.g. incorrect procedures when migrating the meta nodes to new hosts).
Detailed steps for how to resolve can be found here:https://github.com/influxdata/plutonium/issues/3677#issuecomment-957875104 . It would be nice to publish these as a troubleshooting guide for InfluxDB Enterprise.

I wholeheartedly support this. :)

For the recent (current) situation with Fox, it's not actually a split brain, instead they have data corruption on two meta nodes out of three and needed to kill the bad nodes and refresh the cluster from the good one. The diagnosis is different but the resolution is the same.

Diagnosis for the other issue (non-split-brain case):
One meta node appears to be good (comes up successfully), but other meta nodes have some problem that prevents them from coming up (bad machine environment, disk corruption, etc), so the good node cannot assume leadership as it does not have enough votes.

Solution for some meta nodes being good and some 'bad' by not coming up is the same as some being 'bad' because of a split brain (the resolution steps are linked above, but basically kill the bad nodes, make sure the good one(s) elect a leader, clean out the bad state, and re-join fresh nodes to the meta cluster to get desired availability).

Also when we formalize this doc, "edit the start script" especially needs some explanation. For many customers this probably means overriding ExecStart in their systemd config, which can be tricky.


Remove A: Asset bound from struct Handle definition

Objective
The Asset trait doesn't have any associated types or constants used in the struct definition, so this bound is just making things more strict for no benefit.
Solution
Remove the A: Asset bound in the definition of struct Handle.

The restriction on the struct allows catching errors earlier. I think it was deliberate from @cart.
While it forces adding the bound on every impl and anything that has a Handle as field, argument, etc. I personally can see the both the advantages and disadvantages.

Personally I like this style, but I know it goes against standard Rust "best practices". Were you interested in using handles for things that aren't assets?

Unless there you can describe some use-case for Handles to types that don't implement Asset (I can't think of any), we shouldn't do this because it will just gives us worse type errors.
I hope no one's going to argue we should also remove the Resource trait bound from Res :smiling_face_with_tear:

catching errors earlier

If that's the main concern, we could keep the trait bound on all constructors of Handle without having it on the struct definition.

@alice-i-cecile

Were you interested in using handles for things that aren't assets?

No but I recently ran into a case of using Handle on a generic struct, and the mandatory trait bound gets propagated to a lot of places where it isn't relevant.
#[derive(Asset)]
struct Foo<T> {
    handle: Handle<Bar<T>>,
}

^ In this code, if T requires some bounds for Bar to implement Asset, then you end up propagating all of those bounds for T everywhere that it's used, even when they're not really needed for the impl. The best you can do is create an aggregate supertrait for your bounds to make it less painful.

catching errors earlier

If that's the main concern, we could keep the trait bound on all constructors of Handle without having it on the struct definition.

The problem there is Handle is an enum, so there are many locations where Handle is constructed directly (~60 across Bevy). Not an impossible change at all, but still represents a not-insignificant amount of churn.

No but I recently ran into a case of using Handle on a generic struct, and the mandatory trait bound gets propagated to a lot of places where it isn't relevant.

Strictly speaking, it is relevant, since the data is contained. Either your deeply nested structure needs access to the handle, in which case it has to be a valid handle, or it doesn't need access to the handle, in which case why include it? At some point you're either interacting with the handle, or you're carrying dead weight. If you know that Handle<A> is for a valid asset type, then you equally know that for UntypedHandle. Why not use that (with or without a wrapper) instead?
struct SlightlyTypedHandle<A> {
    handle: UntypedHandle,
    _phantom: PhantomData<A>
}

impl<A: Asset> SlightlyTypedHandle<A> {
    fn new(&self, handle: Handle<A>) -> Self {
        Self {
            handle: handle.untyped(),
            _phantom: PhantomData
        }
    }

    fn get(&self) -> Handle<A> {
        self.handle.clone().typed()
    }
}

struct Bar<T> {
    _phantom: PhantomData<T>
}

// Happily compiles with no trait bounds, and all the data of a `Handle<Bar<T>>` is equally accessible
struct Foo<T> {
    handle: SlightlyTypedHandle<Bar<T>>,
}

The above solution is small enough that I think it is reasonable to require end users to make this if they want this behaviour. I don't think it's something Bevy should encourage by including it.

@bushrat011899

The problem there is Handle is an enum, so there are many locations where Handle is constructed directly (~60 across Bevy). Not an impossible change at all, but still represents a not-insignificant amount of churn.

That sounds like a trivial find and replace refactor.

Strictly speaking, it is relevant, since the data is contained. Either your deeply nested structure needs access to the handle, in which case it has to be a valid handle, or it doesn't need access to the handle, in which case why include it?

It's not so black and white. For one struct, there can be some impl blocks (or functions) that use the handle and some that don't. It's those places that don't use the handle where the bound is irrelevant. The more that you nest the struct containing a handle, the more irrelevant it becomes to the abstractions built on top of it, and yet the bound is still propagated everywhere, including on any new structs.

It's not so black and white. For one struct, there can be some impl blocks (or functions) that use the handle and some that don't. It's those places that don't use the handle where the bound is irrelevant. The more that you nest the struct containing a handle, the more irrelevant it becomes to the abstractions built on top of it, and yet the bound is still propagated everywhere, including on any new structs.

Again, for this use case, I think you would be better served using the SlightlyTypedHandle wrapper I proposed above. This is almost the exact use case for UntypedHandle already.

Relevant to this PR is RFC 2089, which would also resolve the underlying issue this is trying to address.

I know multiple people are opposed to this, and I'm definitely interested in hearing about practical reasons that we should keep the trait bound. I'm not persuaded by anything I've heard so far. My opinion is that developer experience is worse by having a viral trait bound than by being allowed to construct useless Handle<NotAnAsset> values which would cause a compile error as soon as you actually try to use them to get and asset. That's not even considering the fact that we could in principle make Handle constructors require the trait bound, but I just didn't see a simple way to do that.
But if I'm also not being persuasive, I don't mind too much working around this pain point. It's probably cost me more time responding on this PR already than it will cost me having to type out trait bounds in my code.


Update MD file on new branch 2017-26-28_07-11-25

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


CM-253 updated Mind to use networkx

Not sure exactly what is needed here, but gave it my best shot. There were 0 code comments included and some of the old make_network function imports don't exist now so I don't know what this originally returned.
Endpoint currently returns a specified node (or series of nodes) and all of its data, which is what this did before if I'm not mistaken.
If it needs updating, lemme know.

This should not have any OWL file requirements. Only should read in the networkx object gpickle file. The parts that work with the OWL file should be removed.

This should not have any OWL file requirements. Only should read in the networkx object gpickle file. The parts that work with the OWL file should be removed.

This should not have any OWL file requirements. Only should read in the networkx object gpickle file. The parts that work with the OWL file should be removed.

I've removed all ontology references from this file. A couple of notes
The NetworkX Graph is now loaded into the app config. This happens in two possible places

If the pickle file exists, it will be set upon loading the app (via the config file)
If the pickle does not exist, it will be set after the new ontology file is processed.

When we want to use the NetworkX object now, all we have to do is
G = app.config['G']
Meaning it is only loaded from the file once in the entire app, but can be accessed quickly from any files.

This should not have any OWL file requirements. Only should read in the networkx object gpickle file. The parts that work with the OWL file should be removed.

I've removed all ontology references from this file. A couple of notes
The NetworkX Graph is now loaded into the app config. This happens in two possible places

If the pickle file exists, it will be set upon loading the app (via the config file)
If the pickle does not exist, it will be set after the new ontology file is processed.

When we want to use the NetworkX object now, all we have to do is
G = app.config['G']
Meaning it is only loaded from the file once in the entire app, but can be accessed quickly from any files.

I reviewed all this and it looks great! Good job.
This should be fine to merge and another PR can be raised for replacing all the times gpickle is loaded into the app in other places.

On Jan 11, 2021, at 6:06 PM, seanmajorpayne<EMAIL_ADDRESS>wrote:

External Email
This should not have any OWL file requirements. Only should read in the networkx object gpickle file. The parts that work with the OWL file should be removed.
I've removed all ontology references from this file. A couple of notes
The NetworkX Graph is now loaded into the app config. This happens in two possible places
If the pickle file exists, it will be set upon loading the app (via the config file)
If the pickle does not exist, it will be set after the new ontology file is processed.
When we want to use the NetworkX object now, all we have to do is
G = app.config['G']
Meaning it is only loaded from the file once in the entire app, but can be accessed quickly from any files.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or unsubscribe.

I reviewed all this and it looks great! Good job.
This should be fine to merge and another PR can be raised for replacing all the times gpickle is loaded into the app in other places.

On Jan 11, 2021, at 6:06 PM, seanmajorpayne<EMAIL_ADDRESS>wrote:

External Email
This should not have any OWL file requirements. Only should read in the networkx object gpickle file. The parts that work with the OWL file should be removed.
I've removed all ontology references from this file. A couple of notes
The NetworkX Graph is now loaded into the app config. This happens in two possible places
If the pickle file exists, it will be set upon loading the app (via the config file)
If the pickle does not exist, it will be set after the new ontology file is processed.
When we want to use the NetworkX object now, all we have to do is
G = app.config['G']
Meaning it is only loaded from the file once in the entire app, but can be accessed quickly from any files.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub, or unsubscribe.


A weird behavior

I installed adminlte and I generate a scaffold to make a test so when I click to go to the test_path and I click on my name profile on top thats don't open so if I click in the same link (that is in the sidebar) the options on top work, it's seems that I need to reload the page every time if I go back to my index the same occurs, so i reload the page and that come back to work. Thats really weird.

That was working that way because I was using ajax as turbolinks to load the pages, I disable that and work fine;

similar to #5 ?


Add distribution selector to promotion workflows artifacts

Signed-off-by: Peter Zhu<EMAIL_ADDRESS>Description
Add distribution selector to promotion workflows artifacts
Issues Resolved
#3012
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #3175 (12d9830) into main (1eb20f6) will decrease coverage by 0.31%.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main    #3175      +/-   ##
==========================================
- Coverage   93.19%   92.89%   -0.31%
==========================================
  Files         167      167
  Lines        4614     4614
==========================================
- Hits         4300     4286      -14
- Misses        314      328      +14

Impacted Files
Coverage Δ

src/system/temporary_directory.py
64.44% <0.00%> (-28.89%)
:arrow_down:

src/system/os.py
94.73% <0.00%> (-5.27%)
:arrow_down:

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


chore(main): release 1.0.0

:robot: I have created a release beep boop
1.0.0 (2024-01-22)
⚠ BREAKING CHANGES

rename the bin name
rename the bin name

Bug Fixes

rename the bin name (0706f61)
rename the bin name (29212aa)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ProxityStudios/freshland/releases/tag/v1.0.0 :sunflower:


[libtorch] Fix core dependencies

Fixes #35509, solve the following errors:
CMake Error at cmake/vcpkg-dependencies.cmake:26 (find_path):
  Could not find FP16_INCLUDE_DIRS using the following files: fp16.h

CMake Error at cmake/vcpkg-dependencies.cmake:28 (find_path):
  Could not find FXDIV_INCLUDE_DIRS using the following files: fxdiv.h

CMake Error at C:/Users/PatrikHuber/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package):
  Could not find a package configuration file provided by
  "unofficial-pthreadpool" with any of the following names:

    unofficial-pthreadpoolConfig.cmake
    unofficial-pthreadpool-config.cmake

  Add the installation prefix of "unofficial-pthreadpool" to
  CMAKE_PREFIX_PATH or set "unofficial-pthreadpool_DIR" to a directory
  containing one of the above files.  If "unofficial-pthreadpool" provides a
  separate development package or SDK, be sure it has been installed.

fp16 should be included as a libtorch[core] dependency because caffe2 depends on it: cmake/Dependencies.cmake#L955

Fix vcpkg-dependencies.cmake to make dependency fxdiv required under the following conditions: cmake/Dependencies.cmake#L375
if(USE_NNPACK OR USE_QNNPACK OR USE_PYTORCH_QNNPACK OR USE_XNNPACK)

Fix vcpkg-dependencies.cmake to make dependency pthreadpool required under the following conditions: cmake/Dependencies.cmake#L400-L402
if(INTERN_BUILD_MOBILE OR USE_NNPACK OR USE_QNNPACK OR USE_PYTORCH_QNNPACK OR USE_XNNPACK)

[x] Changes comply with the maintainer guide
[ ] ~SHA512s are updated for each updated download~
[ ] ~The "supports" clause reflects platforms that may be fixed by this new version~
[ ] Any fixed CI baseline entries are removed from that file.~
[ ] ~Any patches that are no longer applied are deleted from the port's directory.~
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

It looks like this PR fixes the dependency error on a clean vcpkg install libtorch[core] for me too!
It's an unrelated issue, but I wonder whether it actually successfully compiles/install till the end for you? I end up getting an internal compiler error (ICE). But that's unrelated and I've already reported it to Microsoft (https://developercommunity.visualstudio.com/t/Internal-compiler-error-when-compiling-l/10539393). It happens with both libtorch 1.12 and 1.13.1.

It happens with both libtorch 1.12 and 1.13.1.

I also observed the ICE with 2.1. The way to solve is to revert to a previous toolset e.g. 17.7

I also observed the ICE with 2.1. The way to solve is to revert to a previous toolset e.g. 17.7

Ouch, good to hear. I managed to make it work on my end by using the official pre-built libtorch 2.1. Had to hack into their massively outdated cuda.cmake/FindCUDAToolkit CMake scripts though (issue with nvtoolsext (NVTX), which is now header-only, but libtorch's cmake scripts search for it both in a hard-coded wrong location as well as for a .lib file that no longer exists...). Anyway, that's a different problem on PyTorch/libtorch's end...
Thanks for the extra info!