Why Serializer and Deserializer implementors are missing in public API?

Majority of serde compatible data format crates export their Serializer/Deserializer implementors as opaque struct. Also serde documentation seems to mention that this is desired https://serde.rs/conventions.html
As i can see, currently the only way to obtain Serializer/Deserializer is through hidden SerializerAcceptor/DeserializerAcceptor which should not be considered stable API and also are not very convenient. Though for majority use cases user can be satisfied by wrapper functions, sometimes access to underlying trait implementors is needed(for example if you need to wrap in in some Serializer/Deserializer adapter with custom logic).

The reason for this is because the bincode Serializer and Deserializer are generic over many different "behaviors" for performance reasons.  These behaviors currently include "is there a byte limit" and "which endianness should I use", but bincode was designed to support more of them.
The reason that these options are done as generic parameters is because it's way faster than branching on every deserialization (pay only for what you use).  Unfortunately, because these parameters are generic, I can't make the structure public because then adding more parameters would be a breaking change.  I do plan on adding more parameters such as "size of enum tags" and "null terminate strings".
For these reasons, the raw internal Deserializer / Serializer can not be exported without making every change a breaking change.  However, it seems possible to use impl trait to return an impl Deserializer or impl Serializer.  This is technically possible, but not feasible until you can write impl Trait inside of another trait definition, so I'm waiting for that to land before I make any more changes to the API.

This is causing a problem for me as I'd like bincode to be compatible with my WIP crate serde_dyn.  Perhaps we could provide a wrapper type that internally uses a trait object to hide all the generics, i.e.
pub struct DeserializerWrapper {
    internal: Box<dyn Deserializer>,
}

As a user of bincode I'm not super concerned about branching performance personally because most of the time when I'm serializing and deserializing I'm sending it out to disk or the network, and both of those are much larger bottle necks than CPU branching.

Hm so I just tried to implement my idea and it's kind of a non-starter because even specifying the Serialize trait in use by this crate is border line impossible due to all the type specifications on it, which are all populated with types that have generics.  So making a trait object with Serialize is unreasonably difficult.
Unfortunately, the same problem also exists with the impl Trait approach as it won't give a consistent return type for the Config struct.  impl Trait doesn't allow the return type to be anything, like a trait object would, it just allows the type to not be explicitly specified. So we're stuck. We can't expose a Serializer and Deserializer without overhauling the code to use way less generics.

This also makes using serde_transcode impossible.

I would love to use erased_serde with bincode, but I can't because of this.

@TimonPost it looks like the workaround posted in #301 (using the currently unstable and undocumented serializeracceptor) would fix the issue. Would you be able to test that workaround to see if it solves your issue?

@ZoeyR thanks !! I saw that solution today as well. I am not sure yet. I will try it soon. And update this post if it does work.

Great! I'm working in parallel on a draft PR that would resolve this in a more traditional manner. If that ends up panning out we won't need the SerializerAccepter

Closed as of #310


(SERVER-2497) Extract job_id from request metadata

Previously, the save method of the catalog terminus would only save
job_id if it came in as part of the catalog. This commit ensures that
we also extract job_id from the extra request data if it is present,
and use that if job_id is not present in the catalog.

Let me know if there are any tests you think I should update for this.

I've tested this manually with my new catalog endpoint and seen that job_id is now correctly pulled out of the extra request data.

This has to go out in Kearney, right? Is this targeted correctly for that?

Yes, we have not yet cut a 6.3.x branch for Kearney so master is the correct place for it.

Test PASSed

CLA signed by all contributors.


Added project's ID to application tag.

Added project's ID so that the team can access the App Engine server.

Thanks for the code review, merging now.


Some minor addings for feature

Ok, i add some minor fixes for update features.

:-1: I do not think this should be merged.
It's a good idea to limit pull requests to one specific change/idea. There are quite a few disparate ideas here, most of which are use cases that are too specific. A lot of these can/should be handled in your specific app.
For example, it's very easy to add this custom style to your app:
legend {
  font-weight: $global-weight-bold;
}

And Foundation tries to stay away from !important declarations.
And "*" is not a universal way to indicate "required." But you can easily do this in your app.

Yes, the !important was solved change the components order.

Sorry for not getting to this sooner! I had a comment written for this but I'm not sure where it went.
Like @andycochran said, we don't encourage pull requests like this, that bundle multiple changes into one request. We want to be able to assess each change individually.
However, after reviewing this internally, unfortunately we won't be pulling in any of these changes right now. Let's break it down:

Badge radius: Badges are meant to be round, so we don't need a variable to adjust this.
!important on .float-center: this may be fixed by moving @include foundation-float-classes to the bottom of your app.scss file. In Foundation 6.2 we updated our recommended order for CSS exports to put utility classes last, lessening the need for !important. See here.
<legend> font weight: we don't add variables for CSS properties we don't set by default. We aim for as few settings variables as possible, so you can spend less time learning the framework and more time writing CSS.

The .required style is maybe a little specific, but it's no more harmless than .help-text, which is basically just small italicized text. If you want to submit a new PR with the .required class we can bring that in.
Let me know if you have any questions :)


Enhancement request: move multiple messages

Would it be possible to add a range of messages to himalaya move? That is,
himalaya move 1-10 Archive or himalaya move 1,3,6 Archive
The challenge is that the indices get renumbered after each move, but perhaps the program can keep track of that.

Duplicate https://github.com/soywod/himalaya/issues/119. It could be a nice feature indeed, but not so easy to set up!


Error storing access token with libsecret

There was a problem while deploying (graph auth https://api.thegraph.com/deploy/ b14e43...)
Cannot store the access token because dependencies are missing. If you
are on Linux, try installing 'libsecret-1-dev' (Debian, Ubuntu etc.) or
'libsecret-devel' (RedHat, Fedora etc.) and reinstalling Graph CLI
afterwards.
Installing the specified libraries does not solve the problem

I wish to add that installing the specified libraries and reinstalling Graph CLI does not solve the problem. And more specifically, on Ubuntu 20.04
Successfully installing dependency:
$ sudo apt-get install libsecret-1-dev

Successfully uninstalled graph-cli
$ sudo npm uninstall -g @graphprotocol/graph-cli
npm WARN optional SKIPPING OPTIONAL DEPENDENCY<EMAIL_ADDRESS>(node_modules/@graphprotocol/graph-cli/node_modules/chokidar/node_modules/fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for<EMAIL_ADDRESS>wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})

removed 454 packages in 4.797s

Successfully installed it again:
$ sudo npm install -g @graphprotocol/graph-cli
npm WARN deprecated<EMAIL_ADDRESS>request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated<EMAIL_ADDRESS>No longer supported for js-libp2p0.28.0 or later
npm WARN deprecated<EMAIL_ADDRESS>Unmaintained
npm WARN deprecated<EMAIL_ADDRESS>stable api reached
npm WARN deprecated<EMAIL_ADDRESS>Included in libp2p-crypto, use it instead. https://github.com/libp2p/js-libp2p-crypto
npm WARN deprecated<EMAIL_ADDRESS>this library is no longer supported
/usr/local/bin/graph -> /usr/local/lib/node_modules/@graphprotocol/graph-cli/bin/graph

><EMAIL_ADDRESS>install /usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/ursa-optional
> node rebuild.js

Still have the problem:
$ graph auth https://api.thegraph.com/deploy/ 1f5997fee622a06ef445d8668de292a873
Error: Error storing access token with libsecret (usually gnome-keyring or ksecretservice): Error:

Cannot store the access token because dependencies are missing. If you
are on Linux, try installing 'libsecret-1-dev' (Debian, Ubuntu etc.) or
'libsecret-devel' (RedHat, Fedora etc.) and reinstalling Graph CLI
afterwards.

The original error was: Cannot find module '../build/Release/keytar.node'

    at saveAccessToken (/usr/local/lib/node_modules/@graphprotocol/graph-cli/src/command-helpers/auth.js:70:13)
    at Command.run (/usr/local/lib/node_modules/@graphprotocol/graph-cli/src/commands/auth.js:61:13)
    at Runtime.<anonymous> (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/gluegun/build/runtime/run.js:118:58)
    at step (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/gluegun/build/runtime/run.js:44:23)
    at Object.next (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/gluegun/build/runtime/run.js:25:53)
    at fulfilled (/usr/local/lib/node_modules/@graphprotocol/graph-cli/node_modules/gluegun/build/runtime/run.js:16:58)
    at process._tickCallback (internal/process/next_tick.js:68:7)

I'm getting a similar error but on Mac:
graph auth https://api.thegraph.com/deploy/ 043b570ab1ef418924n4cc8a55e854c2
Error: Error storing access token in macOS Keychain: Error:

Cannot store the access token because dependencies are missing. If you
are on Linux, try installing 'libsecret-1-dev' (Debian, Ubuntu etc.) or
'libsecret-devel' (RedHat, Fedora etc.) and reinstalling Graph CLI
afterwards.

The original error was: Module did not self-register: '~/.config/yarn/global/node_modules/keytar/build/Release/keytar.node'.

    at saveAccessToken (~/.config/yarn/global/node_modules/@graphprotocol/graph-cli/src/command-helpers/auth.js:68:13)
    at Command.run (~/.config/yarn/global/node_modules/@graphprotocol/graph-cli/src/commands/auth.js:61:13)
    at Runtime.<anonymous> (~/.config/yarn/global/node_modules/gluegun/build/runtime/run.js:118:58)
    at step (~/.config/yarn/global/node_modules/gluegun/build/runtime/run.js:44:23)
    at Object.next (~/.config/yarn/global/node_modules/gluegun/build/runtime/run.js:25:53)
    at fulfilled (~/.config/yarn/global/node_modules/gluegun/build/runtime/run.js:16:58)
    at processTicksAndRejections (internal/process/task_queues.js:93:5)

For others hitting this issue, you can easily work around it by supplying your access token as an option to your deploy deploy:
graph deploy --debug --ipfs https://api.thegraph.com/ipfs/ --node https://api.thegraph.com/deploy/ --access-token <YOUR KEY>

Hey folks, if this helps- I was hitting this problem in node 12.18.2: my previous AUTH no longer worked, doing a new AUTH didn't work either,  but then I switched to 11.15.0 (which I had been using previously) and it worked.

I've hit this bug again on a brand new install (wiping hard drive) of OSX Big Sur. Tried switching to node v11.15.0 as I had done before but no luck.

node-keytar, the package that we're using for storing access tokens securely in the user's system keyring, has been the bane of my existence ever since we introduced it. I would love to find a good replacement because it only seems to work for a fraction of the users out there.
The good news is: You can work around it by passing the access token straight to graph CLI:
graph deploy ... --access-token ...

@Jannis What about ditching keytar completely and migrate to a different auth flow: Either via GRAPH_ACCESS_TOKEN env-var with support for .env files or via command line argument as described above.
It would make also make the use case easier, where a developer works on subgraphs with different accounts: The .env file would be in each project root.

Yeah, I agree we should ditch node-keytar. It's a pain. I would like to be able to store access tokens in a secure way though. Perhaps it's not so important but perhaps there's an alternative that we could use?

As far as I know, env-vars can be quite secure if handled properly.

If anyone else is still hitting this, it was due to a change in node version for me. Flushing all npm packages and reinstalling with the newer version fixed it.


Deleting last VLAN in VCMP scenario results in all VLANs being removed from guest

@jlongstaf @dflanigan
What issues does this address?
Fixes #447 and #381
What's this change do?
Found that the VLANs were being wiped by a bad modify call in the vcmp
module. Changed the code to capture the existing vlan list, then remove
the element we want, and perform the modify call.
Where should the reviewer start?
Code change is rather minor. The other changes in the vcmp module should only be related to log output. This is for more consistent output messages.
The tests changed quite a bit, in that they no longer have hard-coded values for our vcmp hosts and guests. The parameters are now all fed in from the test environment file.
Any background context?
In a vCMP enabled scenario we are seeing an issue that when the last
load balancer in the system is deleted then all VLANs assigned to the
VCMP guest are removed, including those not managed but the Openstack
agent.
This leads to a situation where the management VLAN is removed and the
guests are left in a disconnected state.

@dflanigan: I had check look at the code change, and I'd like you and I to walk through the test change, and have you actually run the tests, if you have time.

Dennis and I ran these tests multiple times and the first time Dennis ran, one of the tests hung. We never saw it give up, so we don't know the actual failure. After rerunning multiple times, we saw nothing but passes for all tests.


Refactoring URLExtension.swift

[x] I've read, understood, and done my best to follow the Contributing guidelines before opening this issue.
What did you do?

I was reading queryValue extension method in URLExtensions.swift, i found some refactoring can be done in this method.

What did you expect to happen?

Refactor the extension method.

What happened instead?

Existing code is too verbose, and too much check is done and not straight forward.

SwifterSwift Environment

SwifterSwift version:
Xcode version:
macOS version running Xcode:
Swift version:
Platform(s) running SwifterSwift:

Demo Project
The current implementation is looks like following
    func queryValue(for key: String) -> String? {
        let stringURL = absoluteString
        guard let items = URLComponents(string: stringURL)?.queryItems else { return nil }
        for item in items where item.name == key {
            return item.value
        }
        return nil
    }

But the refactored version will look like following
   func queryValue(for key: String) -> String? {
        return URLComponents(string: self)?.queryItems?.filter({ (queryItem) -> Bool in
            return queryItem.name == key
        }).first?.value
    }

Is this refactored version make sense ? if so, i can create a pull request about this.

Hi @ratulSharker, thanks for spotting this refactor. Your code won't actually work because self is a URL, not a string. I think a better refactor would be:
func queryValue(for key: String) -> String? {
    return URLComponents(url: self, resolvingAgainstBaseURL: true)?
        .queryItems?
        .first(where: { $0.name == key })?
        .value
}

What do you think? If you like it you're welcome to create a PR.

I was using this as an extension of string thats why missed the absoluteString instead of self, Otherwise everything is good to go with the extension written. Then the code would be like following
   func queryValue(for key: String) -> String? {
        return URLComponents(string: absoluteString)?.queryItems?.filter({ (queryItem) -> Bool in
            return queryItem.name == key
        }).first?.value
    }

@guykogus i agree your code segment is better refactored in case of using short notation for filtering.
I was unaware of the method init(url:resolvingAgainstBaseURL:), i checked the appledoc which show me no useful info, then this answer put some light about what it means. What is the reason for using this initializer in particular ?

It doesn't really matter which initialiser you use, I just liked the idea of passing the URL object itself rather than the string representation. Either way is fine.

Yes using the first(where:) is faster rather than filter, so the final code portion is like following
func queryValue(for key: String) -> String? {
    return URLComponents(string: absoluteString)?
    .queryItems?
    .first(where: { $0.name == key })?
    .value
}

is it good to go ? @guykogus

Sure, go ahead and create the PR ;)

I would second @guykogus recommendation to initialize URLComponents with URL instead the unrelated type String.  Additionally, it appears to be more performant to initialize with an instance of URL.


How to get mobilenetV2 normalization values?

1. System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
TensorFlow installation (pip package or built from source): pip
TensorFlow library (version, if pip package or github SHA, if built from source): 2.9.2

2. Code
Provide code to help us reproduce your issues using one of the following options:
Same problem as #47559:
Input tensor has type kTfLiteFloat32: it requires specifying NormalizationOptions metadata to preprocess input images.
So I added metadata:
from tflite_support.metadata_writers import object_detector
from tflite_support.metadata_writers import writer_utils

# Create metadata writer
writer = object_detector.MetadataWriter.create_for_inference(
    writer_utils.load_file(tflite_file),
    [127.5],
    [127.5],
    label_file_paths=[label_file])

print("Identified metadata: ", writer.get_metadata_json())

# Write metadata
writer_utils.save_file(writer.populate(), tflite_file)

3. Failure after conversion
When running, it still complains about not having normalization values. Tried both [127.5],[127.5] and [255],[0] as values, but neither work. How can i find out what the models expects as normalization values?
I loaded the saved model in the netron.app and the input just says type: float32[1,640,640,3]

Hi @Regenhardt !
Could you check with input_norm_mean = 0 ,input_norm_std = 255 and ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/model.tflite

LABEL_PATH = 'label_map.txt'
MODEL_PATH = "ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/model.tflite"
SAVE_TO_PATH = "ssd_mobilenet_v2_fpnlite_640x640_coco17_tpu-8/model_with_metadata.tflite"

# Step 1: Specify the preprocessing parameters and label file
writer = object_detector.MetadataWriter.create_for_inference(
    writer_utils.load_file(MODEL_PATH), input_norm_mean=[0],
    input_norm_std=[255], label_file_paths=[LABEL_PATH])

# Step 2: Export the model with metadata
writer_utils.save_file(writer.populate(), SAVE_TO_PATH)

Reference.
Thank you!

It works! Tried with my model, and it also works. My guess is I copied or wrote the wrong file somewhere between exporting the model and adding it to the android project.
So now, again, I tried with both [127.5],[127.5] and [0],[255] - both work the same, as far as I can tell. Any idea why? Shouldn't one of them crash or something?
How do I know what values my specific model needs?

@Regenhardt !
Thanks for the udpate.
@sachinprasadhs !
Could you look at this issue.
Thank you!

Hi @Regenhardt
The normalization which the TFLite model expects depends upon the model from which it is being converted.
The Mobilenetv2 from keras application applies the tf normalization which normalizes to the output range [-1,1]. So we may have provide [127.5],[127.5] values in metadata.
https://github.com/keras-team/keras-applications/blob/06fbeb0f16e1304f239b2296578d1c50b15a983a/keras_applications/mobilenet.py#L84
https://github.com/keras-team/keras-applications/blob/06fbeb0f16e1304f239b2296578d1c50b15a983a/keras_applications/imagenet_utils.py#L42
Where as the input images for the tensorflow hub MobileNetV2 model are expected to have color values in the range [0,1] (provide [0],[255] values in metadata).
Thanks.


chore: remove or migrate references

Closes #22

The X.509 use case was migrated to PR #25
identinet-plugin was added as a reference implementation


add editorconfig config, fix issues (only whitespace changes)

add editorconfig config
add make checkeditorconfig subcommand
fix issues (only whitespace changes)
might add CI action later

is it possible to exclude vendor?

is it possible to exclude vendor?

reverted the changes in lnbits/static/vendor/* and updated .editorconfig to ignore the contents in 9be26f9


Net::ReadTimeout Error when running system specs with chrome/firefox drivers

What Ruby, Rails and RSpec versions are you using?
Ruby version: 2.7.1
Rails version: <IP_ADDRESS>
RSpec version: 3.9
Observed behaviour
When I run rails test:system the system test is run successfully using selenium and chrome
When I run rspec spec/system I get a Net::ReadTimeout with #<TCPSocket:(closed)> error.
Expected behaviour
To successfully be able to run system tests on a real browser using selenium.
Can you provide an example app?
Yes. https://github.com/fedegl/example_app
All I did is create a brand new app, then I installed Rspec and created both a minitest system test and a rspec system test that the only thing they do is check for the H1 text in the root url.
The rails default system tests ran fine by opening up the browser and displaying the root url and then closing the browser.
The Rspec system tests opens the browser but it always shows a blank page. The root url is never loaded. On the terminal after a few minutes I get a Net::ReadTimeout with #<TCPSocket:(closed)> error
Thanks!

Hello @fedegl
We reuse the same driven_by than rails, so Selenium webdriver config is the same (we set default to selenium).
I think the error is somewhere else on your app.
--- a/spec/system/home_spec.rb
+++ b/spec/system/home_spec.rb
@@ -2,7 +2,7 @@ require 'rails_helper'

 RSpec.describe 'Home', type: :system do
   it 'invited user sets password and creates first order' do
-    visit root_url
+    visit '/'

     expect(page).to have_content 'Hola'
   end

And no more timeout, green test suite.
Closing because it is not related to rspec-rails itself.
😊

Thanks, for the quick response!
Indeed, changing root_url to / made it work. So does that mean I can't use rails routes helpers?
I also didn't understood your comment regarding the reuse of the driven_by method. What impact does that have in this case?
With the rails default system tests, I am able to use the route helpers.

Hello
At the moment we do not load url_helpers in system specs. We want the developer to test all layers, including urls and routing.

Request specs provide a thin wrapper around Rails' integration tests, and are designed to drive behavior through the full stack, including routing
source

In feature (routing, and view also) specs it should work. https://github.com/rspec/rspec-rails/blob/main/lib/rspec/rails/example/feature_example_group.rb#L15
For driven_by you should not be impacted. By default we reuse what has been done in Rails ActionDispatch::SystemTestCase https://github.com/rspec/rspec-rails/blob/main/lib/rspec/rails/example/system_example_group.rb#L100

Thanks again, really appreciated! 😄

Indeed, changing root_url to / made it work. So does that mean I can't use rails routes helpers?

root_url is subject to configuration for where the server is, and we don't know that, it may be that Rails is doing some dynamic configuration that we are not.
root_path should work, as it requires no endpoint configuration.


Weather layoutv2.0

-changed styles
-css
-weathercomponent
-created new fetch for forecast
-deleted old forecast.js

I will merge this after I have set the deployments properly.


Bluefin command line with some bling for bazzite

Please make 'ujust bluefin-cli' also work on bazzite like in the video https://youtu.be/H8-rLe6fXYw?si=NDEz1RcI_qZTrfaB
Thx!

What error message are you getting?

The error message is:
error: Justfile does not contain recipe ‚bluefin-cli‘
this because there isn’t such an option yet. 😉

Trying to get this put into the build as I enjoy the selected cli tools as well and I feel it would be a good step toward bazzite possibly supporting a "bazzite-dx" in the future.
Currently I have all the enable functionality working but I'm missing the disable to feel complete.

Thx for updating bazzite too.


Google Calendarの連携

Google Calendarで計測内容を表示できるようにする。

Dear ktmouk; Thanks for your super service hackaru !
As for the linkage with Google Calendar, is there any way to import Google calendar data to hackaru, in addition to export hackaru schedule data to Google Calendar ?  As I'm a quite new user, I've just actually started learning hackaru. Thanks a lot !
Best regards,
Takashi Kurosawa


[Monitoring V2 UI, RKE2] ingressNginx.enabled is set instead of rke2IngressNginx.enabled

Setup

Rancher version: 2.6-head (b7c9b89)
Browser type & version: Brave Version 1.33.106 Chromium: 96.0.4664.110 (Official Build) (x86_64)

Describe the bug

The wrong setting is enabled by default on the UI for an RKE2 cluster with Windows nodes. Not sure if this also impacts an RKE2 cluster without Windows nodes, but in both cases rke2IngressNginx.enabled should be set, not ingressNginx.enabled.
To Reproduce

Spin up a Rancher 2.6-head and have a downstream RKE2 cluster with the latest version (I'm using v1.22.7+rke2r2)
Go to Apps & Marketplace
Go to Monitoring (from dev-v2.6)

Result
ingressNginx.enabled is auto-detected and set.
Expected Result

rke2IngressNginx.enabled should be auto-detected and set.
Screenshots

Additional context

Detailed Description

Context

Related Issue: https://github.com/rancher/rancher/issues/35595

This is also overridden on a Edit / Upgrade but not shown in the Compare Changes view...

Validated in v2.6-head (6f9c19d), RKE2 1.22.7+rke2r2
PASS - Values after installing/upgrading monitoring in a cluster with Linux nodes only:
global:
  cattle:
    window:
      enabled: false

rke2ControllerManager:
  enabled: true
rke2Etcd:
  enabled: true
rke2IngressNginx:
  enabled: true
rke2Proxy:
  enabled: true
rke2Scheduler:
  enabled: true

rkeControllerManager:
  enabled: false
rkeEtcd:
  enabled: false
rkeIngressNginx:
  enabled: false
rkeProxy:
  enabled: false
rkeScheduler:
  enabled: false

ingressNginx:
  enabled: false

PASS - Values after installing/upgrading monitoring in a cluster with Linux and Windows nodes:
global:
  cattle:
    window:
      enabled: true

rke2ControllerManager:
  enabled: true
rke2Etcd:
  enabled: true
rke2IngressNginx:
  enabled: true
rke2Proxy:
  enabled: true
rke2Scheduler:
  enabled: true

rkeControllerManager:
  enabled: false
rkeEtcd:
  enabled: false
rkeIngressNginx:
  enabled: false
rkeProxy:
  enabled: false
rkeScheduler:
  enabled: false

ingressNginx:
  enabled: false

Rancher 2.6.5
v1.23.7+rke2r2
Actually, an rke2 cluster deployed without ingress-nginx default install, the monitoring stack still set rke2IngressNginx.enabled to true. The namespace may have been already created though when installing the monitoring... how is the detection done ?
Then it creates PushProx stuff that fails the helm install (this pod never deploys).
We have to enforce rke2IngressNginx.enabled to false
NB:
We do have ingress-nginx deployed separately (deployed after Monitoring), as a Deployment / behind metallb LB. It is deployed with official helm``chart . metrics and service monitor is deployed with helm chart allowing us to have effective monitoring on the Monitoring stack.


Started mapping again :crab:

Looks good! Next time, please use the "copy permalink" option in GitHub though instead of linking the classes in the master branch directly


build(android): upgrade version of play services tasks

closes #293

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

The PR Title is conventional check will continue failing because it is a single commit and github handles those differently, that's okay, it is just a big warning for maintainers here to merge it via squash and to edit the title. No problem
We do need the CLA signed though - if you could follow the details link there sign it? Thanks!

Thanks @mikehardy!!

Running the Android tests again, hopefully they pass 🤞


Undo/redo should coalesce changes correctly by platform

Support for text undo/redo was added in https://github.com/flutter/flutter/pull/96968, but the coalescing isn't exactly correct on each platform.  In that PR, we used a simple time-based throttle on all platforms (code), but the actual behavior is much more nuanced and slightly different on each platform (some analysis).  Ideally, Flutter should perfectly match the behavior of each platform.
By coalescing, I mean where the editor separates one undoable chunk of text from the next.
To reproduce

Run any app with a text input, such as the one given below.
Type one or two lines of text.  Enough that it takes you a few seconds to finish.
Press ctrl/cmd + Z to undo a few times and notice how the text is grouped.

Expected behavior: The amount of text that is undone at each step exactly matches the native platform.
Actual behavior: It's likely to be off on all platforms.

Code
import 'package:flutter/material.dart';

void main() => runApp(const MyApp());

class MyApp extends StatelessWidget {
  const MyApp({
    Key? key,
  }) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Flutter Demo'),
        ),
        body: const Center(
          child: TextField(),
        ),
      ),
    );
  }
}

TODO

[ ] Figure out what the exact algorithms are for coalescing text input on Windows, Mac, and Linux.

If your app is negatively affected by this, please give a 👍  and maybe leave a comment to help us gauge how this is affecting people.

Hi @justinmc, Thanks for filing the issue. I could see there's a slight difference in how undo-redo works on native platforms and in the flutter app.
MacOS

On native platforms, each change seems to be related to delay between text entered if a text is typed fast without any delay whole text (fastly typed) seems to be removed on undo. While incase of flutter text typing doesn't seem to make a difference and undo operation looks more granular (always deletes a single/partial word never a set of words ) as compared to native platforms.

https://user-images.githubusercontent.com/31410839/155958459-68d4f2f4-646f-4204-8a77-102c157f23b8.mov

In the native macOS app sometimes a word is highlighted on undo (This is unclear when this happens) while this doesn't happen on the flutter side at all

https://user-images.githubusercontent.com/31410839/155958351-6c39f143-7bb5-4df1-8eff-66402de2cd51.mov
Linux
On Linux undo seems to happen word by word regardless of how slow or fast you type, and Redo (ctrl+shift+z) doesn't seem to work in a flutter app

Flutter
Native

if you randomly type some text undo doesn't seem to remove the first set of characters added to stack.

https://user-images.githubusercontent.com/31410839/155960751-ab2a62b3-7fd2-4ab4-ac52-319a7a288ada.mp4
Windows

flutter doctor -v (Linux)
✓] Flutter (Channel master, 2.11.0-0.0.pre.633, on Ubuntu 20.04.3 LTS 5.13.0-28-generic, locale en_GB.UTF-8)
    • Flutter version 2.11.0-0.0.pre.633 at /home/mahesh/Development/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 54a9d65282 (9 days ago), 2022-02-19 10:09:26 -0800
    • Engine revision f6ea6186ee
    • Dart version 2.17.0 (build 2.17.0-125.0.dev)
    • DevTools version 2.11.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /home/mahesh/Android/Sdk
    • Platform android-31, build-tools 31.0.0
    • Java binary at: /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio/jre/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)
    • All Android licenses accepted.

[✓] Chrome - develop for the web
    • Chrome at google-chrome

[✓] Linux toolchain - develop for Linux desktop
    • clang version 10.0.0-4ubuntu1
    • cmake version 3.16.3
    • ninja version 1.10.0
    • pkg-config version 0.29.1

[✓] Android Studio (version 2020.3)
    • Android Studio at /home/mahesh/Downloads/android-studio-2<IP_ADDRESS>-linux/android-studio
    • Flutter plugin version 63.2.1
    • Dart plugin version 203.8452
    • Java version OpenJDK Runtime Environment (build 11.0.10+0-b96-7249189)

[✓] VS Code (version 1.63.2)
    • VS Code at /usr/share/code
    • Flutter extension version 3.34.0

[✓] Connected device (3 available)
    • Android SDK built for x86 (mobile) • emulator-5556 • android-x86    • Android 11 (API 30) (emulator)
    • Linux (desktop)                    • linux         • linux-x64      • Ubuntu 20.04.3 LTS 5.13.0-28-generic
    • Chrome (web)                       • chrome        • web-javascript • Google Chrome 97.0.4692.99

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

flutter doctor -v (mac)
[✓] Flutter (Channel master, 2.11.0-0.0.pre.681, on macOS 12.1 21C52 darwin-arm, locale en-GB)
    • Flutter version 2.11.0-0.0.pre.681 at /Users/mahesh/Documents/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision a288bd5e3f (2 hours ago), 2022-02-24 23:06:19 -0600
    • Engine revision 1012ac4b5a
    • Dart version 2.17.0 (build 2.17.0-141.0.dev)
    • DevTools version 2.11.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-31, build-tools 31.0.0
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS (Xcode 13.2.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    ! CocoaPods 1.10.2 out of date (1.11.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your
        plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6916264)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.63.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.34.0

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 14F40EC6-3B73-469A-A1C0-8CF0B152290F • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.1 21C52
      darwin-arm
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome
      98.0.4758.109

[✓] HTTP Host Availability
    • All required HTTP hosts are available

! Doctor found issues in 1 category.

@maheshmnj You are a hero for doing all of this platform specific investigation, thank you!


User logs for all read queries

Re: https://github.com/uselagoon/lagoon/issues/3519

@timclifford thanks very much for this, this is super great, couple of questions:

in my understanding this logs each individual query of a full graphql query, which is great. But would it also be possible to log the original graphql query itself?
Is there any possibility to get some timing data for each of these individual queries? This might be too complex and happy to ditch this for the first version, but was wondering if this is maybe easy to add

Discussed with Lagoon team, we would want a new meta.level field for these read queries: user_query to be able to easily filter for them in the logs.

It might be an idea to wrap these in a feature, so it can be enabled/disabled as required?

To be addressed in a Lagoon API audit logging overhaul


feat: make command for Jupyter with extensions

This is a command I use in my own projects. I always have to look up how to properly install jupyter with all its extensions so now I have it bundled. Maybe useful for you guys, too.

I think all other other PRs improving the Makefile (#84, #85, #86) were on point but this one pushes the boundaries between what is general to all use cases and what may be overly specific.
We use Jupyter all the time and I've never had to use these commands - am I missing out on something good? What do these do?

I would say none of them are essential but certainly some goodies in there:

An example of how to use ipywidgets for letting your users explore a little bit of parameter space with sliders when you turn your notebook into a report. Widgets are very powerful and can let you achieve a lot of custom interactive elements.
Notebook extensions can customize the look of your notebooks and add a lot of extra functionality (see the full list). Some of my favorites below:

Let's start with the configurator which let's you toggle all other extensions via a graphical menu once you start a notebook server.
Format code in the cell with the click of a button.
Fold/unfold sections by headings.
Easily create exercises for your students.
Embed variable values in markdown cells
A simple table of contents avoids a lot of scrolling.
The runtools for more fine-grained control of what cells to run.

I'm sure you'll discover more depending on your needs 😉


pox can't listening on OpenWrt

I want to create ovs bridge to add controller listening on Router wirelessly
any suggestion for this please ?

It looks likely to me that this version of POX has been modified, so it's hard to provide much help.
The error message indicates that it looks like you're running POX on a machine that doesn't have address <IP_ADDRESS>, though.  If you do "ifconfig", do any interfaces have <IP_ADDRESS>?

It looks likely to me that this version of POX has been modified, so it's hard to provide much help. ;;;

which version is stable?
what is the possible solution?
the outout of ifconfig:

If you do git status in the POX directory, does it show no modifications?
Regarding your ifconfig... I am guessing that's the output of ifconfig on the OpenWRT device.  Is that right?  That's not the one that matters.  The one that matters is where you're running POX, which I suspect is not the same device.
You want to configure OVS to connect to POX.  You give it the remote address where the controller is.

If you do git status in the POX directory, does it show no modifications?

yes, you are right,  I running pox on VirtualBox ,  and ovs on the router

You want to configure OVS to connect to POX. You give it the remote address where the controller is

is that mean, need to give ovs' configuration the IP's of POX controller or vice versa?
also, how can know the default IP of POX?
I'm sorry for asking multiple questions

Right, so you've made some modifications to POX.  That makes it hard for me to give good advice, especially since I'm not sure your modifications are correct (it looks to me like maybe you've hardcoded it to bind to <IP_ADDRESS>, which is probably wrong and also not necessary even if it's right, since you could specify this on the command line).  Unless you really know what you're doing, I suggest you revert to POX without changes.

You want to configure OVS to connect to POX. You give it the remote address where the controller is

is that mean, need to give ovs' configuration the IP's of POX controller or vice versa?

You're using ovs-vsctl's set-controller command, and currently telling it the address of the controller is <IP_ADDRESS>.  But I don't think that's the address of the controller.  The controller is POX.  The address given to OVS via set-controller should be the address where POX is running.  The usual case for OpenFlow is that the controller (e.g., POX) listens for connections, and the switches make active TCP connections to the controller.

also, how can know the default IP of POX?

There is no such thing.  The IP for POX is the address for the machine where POX is running.  You could use ifconfig from the machine where POX is running to see what IP addresses it has.  In your case, things may be slightly complex because you're running POX in a virtual machine.  I think VirtualBox's default network configuration is to use NAT, so the IP addresses inside a VM is not directly accessible from outside the VM.  You need to add a port forwarding rule in the VM configuration (e.g., to forward port 6633), or use a bridged connection instead of a NAT connection or something.  This is general network/VM configuration stuff, outside the scope of POX.

thank you for replying
I revert openflow.of_01 file to orginal with address:<IP_ADDRESS>

and the openvswitch with out change is :

even when I use ovs-vsctl set-controller tcp:<IP_ADDRESS>:6633
it does not connect to pox
I use opkg install openvswitch command to install ovs
this is the openvswitch script as it is :

what is your suggestion?

I don't know your network setup, so I can only be just so helpful here.
You need to know the IP address of the machine where the controller is running, and that address needs to be reachable with an active connection from the switch.
As I said, a good first step is running ifconfig on the (virtual?) machine where POX runs.  Have you done that?

I don't know your network setup, so I can only be just so helpful here.
You need to know the IP address of the machine where the controller is running, and that address needs to be reachable with an active connection from the switch.
As I said, a good first step is running ifconfig on the (virtual?) machine where POX runs. Have you done that?

here it is  :

I have MacBook Pro
and the POX controller is on the Ubuntu VM

So it looks like OVS should be set for a controller running on <IP_ADDRESS>.

yeah Mr. MurphyMc , this is great,

So it looks like OVS should be set for a controller running on <IP_ADDRESS>.

The controller starts listening when setting the same IP of the VM
thank you so much, Mr


Add compression crossplatform support

zip and unzip commands arenot builtin on Windows.
As still mentioned #37
Use rs-zip crate for compression.
Add is_compressed column to database.
As a backward compatibility,
When the setup_structure function is called, is_compressed column is also added to the existing database.
#L49-L63
Some emoji are added to indicate the storage status of elements in the trash.
・is_encrypted => 🔒
・is_compressed => 📦

Thank you very much for your contribution! However, I have a few small concerns. Firstly, you should fix your commits. Currently, they display modifications across the entire code, which makes the review quite complicated. Additionally, I really like the idea of emojis, but I think it would be interesting to add an option in the config file to enable or disable them (as some font types do not have emojis, causing error characters to be displayed in the terminal).
Thank you again for your contribution, and I look forward to your modifications!

There are differences in all codes due to EOL.
please check the following URL that ignore diff caued by EOL
https://github.com/AmineZouitine/rmt.rs/pull/46/files?w=1

Thank you for your contribution, and I'm sorry for the delay. I had a lot of projects going on!


[CET-4523] Break up Backstage sync into separate chunked requests

Background
We're getting timeouts from our current job as of a month ago. So this PR will start sending chunked requests over instead, to improve fault tolerance of the sync job.
This PR

Start chunking sync request into separate POSTs
Fix bug where backend tasks at 100% but IN_PROGRESS keep PollingProgressBar in DOM
Show loader when sending over Backstage entities, instead of frozen UI until the progress bar mounts

Checklists
Development

[ ] Lint rules pass locally
[ ] Application changes have been tested thoroughly
[ ] Automated tests covering modified code pass

Security

[ ] Security impact of change has been considered
[ ] Code follows company security practices and guidelines

Code review

[ ] Pull request has a descriptive title and context useful to a reviewer. Screenshots or screencasts are attached as necessary
[ ] "Ready for review" label attached and reviewers assigned
[ ] Changes have been reviewed by at least one other contributor
[ ] Pull request linked to task tracker where applicable

Are you not doing this in chunks anymore? I thought we were only going to roll out to 1 or 2 customers first.

chunking for all, but new job vs old job is gonna be feature flagged


Is there a way to manipulate incoming SIP messages in any way ?

Hi, investigating if routr will actually help me on something that I am building. I was wondering if there is a way to manipulate SIP messages (requests or responses) in some way.. ?

Hi @vasilakisfil
Unfortunately, the current version of Routr is not customizable at that level. I'm working on a spec to allow for plugins, but I can't give a roadmap for when it will be ready.
What's your use case?

Well many things, I want to implement a custom SIP extension/feature through rfc6809, implement a custom blocklist based on a 3rd party system (so, dynamic), etc. It would be super cool to build something using routr, in Kamailio the whole development process is extremely outdated and painful.

Wao! That's exactly what I have in mind for v1.1. Kamailio offers a lot of flexibility (which Routr at the moment lacks) but it is very outdated. I know v1.1 is going to reshape the SIP Server space.

Let's take the conversation to Slack. In think the community will be interested in a more modular/flexible Routr :)


Compile rippled with "-pie"

High Level Overview of Change
Add gcc position independent executable flag for added binary hardening.

Context of Change

Type of Change

[x] New feature (non-breaking change which adds functionality)

Looks like this may need -pie added to the linker invocation so this isn't quite done.
Slew of CMake issues discussing PIE
Can manually do it

Hmm, rippled doesn't build with CMake 3.9 anymore because of the updated rocksdb version.
Let's just bump the minimum as high as we date.

(notes: would be good to merge)
@RichardAH does this interfere with any work you're doing with Hooks or any other project?

Almost none of these files even exist anymore


i18n translations for labels

I don't understand why this does not work?
Rails 5.1.2
bootstrap_form 2.7.0
ru:
  activerecord:
    attributes:
      email_queue:
        name: Название

When I replace attributes with help it works but it is a different thing, I need labels. Readme says "bootstrap_form follows standard rails conventions so it's i18n-ready" but it does not.
Of course I could do:
= f.text_field :name, label: t('activerecord.attributes.email_queue.name')
but it makes forms heavy.

I have written a small module as a workaround:
module BootstrapFormTranslation
  BootstrapForm::FormBuilder::FIELD_HELPERS.each do |method_name|
    define_method(method_name) do |name, options = {}|
      options.merge!(
        label: I18n.t("activerecord.attributes.#{object_name}.#{name}")
      )
      super(name, options)
    end
  end
end

BootstrapForm::FormBuilder.send(:prepend, BootstrapFormTranslation)

Error messages are in english regardless my settings in application.rb:
    config.i18n.default_locale = :ru

Thanks for the detailed bug report! I've used bootstrap_form with i18n in the past and it worked as expected. Perhaps a bug has crept in or Rails 5.1 changed something recently. I'll try to find time to investigate this further this week.

I don't understand, where does it come from "is not present". This exact phrase cannot be found in rails source or in this gem. It means even in english a yaml file is not loaded. Is it built dynamically? I believe normally rails should say "can't be blank".

I researched this and found that the correct way to translate the labels is as follows:
ru:
  helpers:
    label:
      email_queue:
        name: Название

This is according to the documentation here: http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-label
I tested this with bootstrap_form and it works for me.
The "is not present" vs "can't be blank" problem is probably unrelated to bootstrap_form.

Nice, thanks. So it works on Rails 5.1 with ActiveRecord and does not with Sequel.
The documentation also says:

Localization can also be based purely on the translation of the attribute-name (if you are using ActiveRecord)

and it does not work with bootstrap_form. So all together is confusing, some variants work with activerecord attributes but without ActiveRecord installed and vice versa. I think I will use my little patch for now.
Yes, error messages are not related to bootstrap_form, as I told earlier, they are generated by the model.

There is one more problem. :) In my view I added:
= t('helpers.label.email_queue.description')
= t('flash.email_queue.create')

First line is in english, second is in russian. But both translations are in the same yml file. Now I am finally confused. And if I change my patch to use helpers.label it explicitly says on inputs translation missing: ru.helpers.label.email_queue.name. So better to avoid helpers hash, I don't know what kind of magic is there.

activerecord/attributes also should work

That's what the documentation says, but I couldn't get it to work even with plain Rails (i.e. no bootstrap_form). The helpers approach definitely works.
I'll close this because I don't believe it is a bootstrap_form-specific issue.

Ok, sure, so it is a Rails bug, not yours.

I am using Rails 5.1.3 and still having this problem where setting:
en:
  activerecord:
    attributes:
      user:
        display_name: 'Your display name'

don't work. However not using bootstrap_form_for works just fine.
I ended up using sekrett workaround.
module BootstrapFormTranslation
  BootstrapForm::FormBuilder::FIELD_HELPERS.each do |method_name|
    define_method(method_name) do |name, options = {}|
      key = "activerecord.attributes.#{object_name}.#{name}"
      options.merge!(label: I18n.t(key)) unless translation_missing?(key)
      super(name, options)
    end
  end
end

BootstrapForm::FormBuilder.send(:prepend, BootstrapFormTranslation)

def translation_missing?(key)
  I18n.t(key)[0..20] == 'translation missing: '
end


add sources to pypi

Hi!
Can you please upload the source ti pypi server in addition to the wheel files? It can be useful for some use cases. Thanks in advance!
Btw, if I am trying to install the source from the releases the tab I am getting en error when building the package. I am using win10.

What error do you get when building?

@flit This is the output:
Installing collected packages: milksnake, cmsis-pack-manager
  Running setup.py install for cmsis-pack-manager ... error
    Complete output from command c:\users\shlomi\appdata\local\programs\python\python37\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\shlomi\\AppData\\Local\\Temp\\pip-req-build-qa6pp_wp\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\shlomi\AppData\Local\Temp\pip-record-mbx2ps5x\install-record.txt --single-version-externally-managed --compile:
    fatal: not a git repository (or any of the parent directories): .git
    running install
    running build
    running build_py
    creating build\lib
    creating build\lib\cmsis_pack_manager
    copying cmsis_pack_manager\pack_manager.py -> build\lib\cmsis_pack_manager
    copying cmsis_pack_manager\__init__.py -> build\lib\cmsis_pack_manager
    error: [WinError 2] The system cannot find the file specified

    ----------------------------------------
Command "c:\users\shlomi\appdata\local\programs\python\python37\python.exe -u -c "import setuptools, tokenize;__file__='C:\\Users\\shlomi\\AppData\\Local\\Temp\\pip-req-build-qa6pp_wp\\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record C:\Users\shlomi\AppData\Local\Temp\pip-record-mbx2ps5x\install-record.txt --single-version-externally-managed --compile" failed with error code 1 in C:\Users\shlomi\AppData\Local\Temp\pip-req-build-qa6pp_wp\

I'm not sure what that error could be caused by since it doesn't say what file could not be found. Do you have Rust installed? It could be complaining about not finding the cargo tool.

Hello @flit :-) I was about to write the same issue / question - could you please provide source package to pip/pypi ? At the moment only binary packages are provided. This package is a mandatory requirement of mbed-os. On FreeBSD this package is unavailable, so using mbed-os is not possible. Having source package at pypi would make it possible to compile the dependency during pip install..

@shlomow The reason that I don't upload source packages is because they are not immediately usable on every platform without an installation of rustc + cargo. Uploading the source could cause pip to try to download and run cargo (giving you the error you described) on these systems.

Hey there @theotherjimmy :-) Binary only distribution limits usage of CMSIS Pack Manager to provided platforms - for instance I cannot use it at all on FreeBSD..
Can we work out the build automation please? I am eager to help :-)

@cederom I forgot to respond here. Yes, I'm the author; Yes we can work out build automation for more platforms. I don't know of a service that would be able to provide me with a way to build binary wheels for freebsd.

Hey @theotherjimmy, this is some old thread, the work is already done in https://github.com/ARMmbed/cmsis-pack-manager/issues/97, build well, just need to add source package to pypi (https://github.com/ARMmbed/cmsis-pack-manager/issues/112) and thing should work with some local os dependencies for build (such as Rust) :-)

I actually din this yesterday, but the source packages contain a bug. I'll  close this issue when I can get a working 0.2.x release of CPM with source that installs as the same release version.


Tweak hyper params so that lstm on IMDB trains well

The hyper paramters selected in train_clas don't work that well :/
The pretrained LM was a toy example trained on wikitext-2, but i guess we will have similar issues with regular models.
python -m ulmfit.train_clas --data_dir data --model_dir data/en/wikitext-2/models  --pretrain_name=wt-2-q
Dataset: imdb. Language: en.
Loading the pickled data...
Train size: 22500. Valid size: 2500. Test size: 25000.

No, I don't see exploding gradients as you do above.
I use a much smaller batch size (bs=50 or 70) though.
If I have some spare compute, I'll try the hyperparams from LM training as suggested by @sebastianruder in the previous comment.

I've changes the train_clas to use the hyper parameters froms lesson3 notebook. We are getting  0.89 instead of 0.94.
After having a closer look it seems that we aren't adoption to the vocab to the words in imdb. Which might explain why we are getting such low predictions.
Here is how it trains now:
python -m ulmfit.train_clas --data_dir data --model_dir data/wiki/wikitext-103/models --pretrain_name=wt-103 --qrnn=True --name 'lm-ft'
Dataset: imdb. Language: en.
Using QRNNs...
Loading the pickled data...
Train size: 22500. Valid size: 2500. Test size: 25000.
Fine-tuning the language model...
epoch  train_loss  valid_loss  accuracy
1      5.866822    5.248559    0.201249
epoch  train_loss  valid_loss  accuracy
1      5.111968    4.840785    0.228520
2      4.809690    4.604379    0.252575
3      4.701472    4.467322    0.265213
4      4.589730    4.377279    0.274301
5      4.508160    4.316603    0.280446
6      4.426814    4.273273    0.284935
7      4.373527    4.241864    0.288155
8      4.352810    4.222559    0.290361
9      4.322117    4.212354    0.291765
10     4.344737    4.210043    0.292047
Starting classifier training
epoch  train_loss  valid_loss  accuracy
1      0.520813    0.364728    0.862000
epoch  train_loss  valid_loss  accuracy
1      0.464576    0.318856    0.872800
epoch  train_loss  valid_loss  accuracy
1      0.431815    0.290399    0.886000
epoch  train_loss  valid_loss  accuracy
1      0.390448    0.272815    0.892000
2      0.406103    0.296245    0.890000

The tokenization is adopted automatically :/, but the drop out values are different and the LM model that is fetched from fast ai seems to be better (trained for longer perhaps).

I'll run some experiments on this. One other factor: As I mentioned here, the model in the paper was trained on the full training set of 25k reviews.

1      4.706873    4.410843    0.260319
epoch  train_loss  valid_loss  accuracy
1      4.455386    4.312750    0.270096
2      4.321627    4.221711    0.279955
3      4.251776    4.153905    0.286282
4      4.142951    4.091608    0.292828
5      4.017664    4.047887    0.296991
6      3.981570    4.018512    0.300651
7      3.895004    3.998859    0.302972
8      3.827237    3.987072    0.304241
9      3.792438    3.985511    0.304870
10     3.775744    3.986526    0.304800
Starting classifier training
epoch  train_loss  valid_loss  accuracy
1      0.497570    0.365657    0.836800
epoch  train_loss  valid_loss  accuracy
1      0.401359    0.291795    0.876400
epoch  train_loss  valid_loss  accuracy
1      0.294043    0.241850    0.910800
epoch  train_loss  valid_loss  accuracy
and  OOM  but we are on the good path```

We had to large drop-out multiplier. I've just committed the fixes.

@sebastianruder do you know why we set  learn.true_wd = False in pretrain_lm If I'm not mistaken this turns on L2 regularization that does not work with Adam.

The default weight decay will be wd, which will be handled using the method from Fixing Weight Decay Regularization in Adam if true_wd is set (otherwise it's L2 regularization).
https://docs.fast.ai/basic_train

After  I've resumed training we got:
Starting classifier training
epoch  train_loss  valid_loss  accuracy
1      0.409820    0.316805    0.868400
epoch  train_loss  valid_loss  accuracy
1      0.381355    0.275650    0.892800
epoch  train_loss  valid_loss  accuracy
1      0.309496    0.229822    0.910800
epoch  train_loss  valid_loss  accuracy
1      0.269082    0.221403    0.917200
2      0.272700    0.217910    0.920400
Saving models at data/wiki/wikitext-103/models
accuracy: tensor(0.9204)

It is still not 0.944 accuracy that Jeremy got during lesson 3 and it isn't 0.954 accuracy that you got when the paper was published, but we are getting closer.
Some guess why we can have lower performance:

[ ] No unk preprocessing, my LM was trained directly from wikitext-103
[ ] training on a part of the training set
[ ]

@sebastianruder  why don't we split out a validation set out from a test set ? It is not that the test set. I understand that the idea is not to overfit to the test set, but it is being done anyway by comparing with SOTA .

Re the weight decay: @sgugger had set this option in a script for training with the one cycle policy, but   I haven't experimented with its effect yet.
Yes, people are indirectly overfitting to the test set by comparing against SOTA, but we should still never use part of the test set for validation.

Training BiLM helps a lot with an accuracy of language models but this does not translate to the accuracy of a classifier when the classifier is a simple concatenation of results from two rnns (including max and avg pooling).

Be careful to adjust the weight decay when turning off an on true_wd. A good value in the case of WT-103 is wd=1e-7 with true_wd=False and it's 0.01 with true_wd=True.

I had a look through different learning rates and weight decays (I've tested 50 different scenarios). true_wd=False and wd=1e-7 seem to get the slightly better results more often.  I was training a bidirectional classifier and the best result I've got so far is 92.5% accuracy, way below the original ULMFiT (architecture might be flawed). But my current best guess is that Moses Tokenization is not performing as well as the fastai tokenization, I will run some experiments, and keep you posted.

Yes, we tried to remove the spacy tokenizer in fastai but I didn't get any good results by using a different tokenizer (92.5% too for our alternative), so that part is important too.

Good to know and thank you for watching this thread closely!

Thanks for commenting, Sylvain. XNLI is already pre-tokenized with Moses, so I don't think using spacy will help much here.

I haven't yet tweak hyper-params, just learning rate, the best what was working is put into the train_clas script on bilm branch. It gets me to 0.923 of accuracy on the validation set, using qrnn and full text for LM model.
I'm cleaning up and I will create a pull request so that we can merge this thing. I have some issues with the new fastai changes though, the datasets started return np.arrays that are of object type, and pytorch is complaining that it can't put them on the gpu :)

I've spent whole day try to fix small issues with datasets / dataloader on small size data sets. It takes ages as debugging pytest doesn't work well with pycharm. I need a break today, I will come back on the issues later.

@PiotrCzapla just looked at the classification results you are getting with the new model.
I've had this conversation with some of my colleagues at work who have used the original ULMFiT and their common complaint has been that while it clearly excels at Language Modeling tasks, getting results on the final downstream classification requires a lot of careful (and tedious!) tuning of the hyper-parameters. This, of course, is somewhat alleviated by the fact that the training is a lot faster than most of the other options out there.
Even so, I think there is potential for improvement at the classification stage. Here are some things I have considered but haven't had the reason to experiment with until now:

The "pooling" step in the pooling linear classifier gives an inaccurate representation of the learned language model. Moreover now that we have a Bidirectional LM, a simple concatenation may not be the most suited way to pass the features (the language model) to the classifier. What may be a better way to do this is an open question.

The actual classifier itself is also an arbitrary number of fully connected layers decided by a hyper-parameter. To me that seems a little un-intuitive — and I could be wrong here — but what is the need for 3/4 consecutive linear transformations (spaced with non-linearity, of course)? What I am trying to say is if we can get the feature representation (the "pooling") right, we should be able to classify with reasonable accuracy in just 1/2 fully connected layers as is the case with most popular convolution-net based architectures.

re. 1. I want to add a dropout after the rnn so that we have hyper-parameter to tune and I will run experiments.  This is the reason why I want to do a bit of refactoring so that I can easily add new heads and train a lot of classifiers to see which one work well.
re. 2.  I'm not sure why we need so many FC layers, I will make it easy to play with that hyper-parameter. Then we can run together some experiments.
@dust0x  do you want to help out here?  I can think of the following things to do:

[ ] fix the way we save and store models and the way we select hyper params (that is on my as I have it thought out I'm going to describe the idea here: https://github.com/n-waves/ulmfit-multilingual/issues/17)
[ ] figure out a way to use a single RNN from biLM to test it classification accuracy, I think it might be the same quality as lager birnn classifier
[ ] go through the papers for classification and xnli and implement and test multiple heads and report how they are doing.
[ ] figure out a way to test different tokenisation strategies, without waiting for 18h for the LM to train

fix the way we save and store models and the way we select hyper params

Agreed.

figure out a way to use a single RNN from biLM to test it classification accuracy, I think it might be the same quality as lager birnn classifier

Are you saying you want to test the classification accuracy with only a forward or a backward QRNN? Could you please elaborate more on this?

go through the papers for classification and xnli and implement and test multiple heads and report how they are doing.

This will be important if we want to work with XNLI. What are the ideas you have in mind for the multiple heads?

figure out a way to test different tokenisation strategies, without waiting for 18h for the LM to train

This can just be one of our experiments as we had originally planned. I can't think of  a better way here than to just experiment and find out what works and what doesn't, but there might be.

Are you saying you want to test the classification accuracy with only a forward or a backward QRNN? Could you please elaborate more on this?
The biLM are two separate LM's forward and backward. When they are trained they get higher accuracy than in case of a single LM trained thanks to the shared embedding weights. So It makes sense to try to use one LM (let's say forward) to do classification and see if it is any higher than when a normal LM training is being used.

What are the ideas you have in mind for the multiple heads?
Haven't thought much about it yet. I think @sebastianruder will have the most ideas

Regarding performance on IMDb, I think the best we can do is leave the architecture as it is and tune the unfreezing and learning rate schedule. Jeremy and I tried a lot of different variants for the pooling and the classifier, so I think it'll be hard to find a combination that performs significantly better.
Regarding XNLI, if simply concatenating the premise and hypothesis and directly feeding them into a classifier doesn't work, we should add a self-attention layer on top of the concatenation. See here for other attention-based approaches for SNLI.

Cool. I don't think I received an invite so far..

@sebastianruder it is an invitation for a team, I've canceled it and added you again.

Ah, thanks! Didn't realize you meant an invite for the org. Accepted it now.

I think I spot the issue we don't use the unlabelled data of imdb reviews, so our language model is trained on dataset of 50k while lesson3 uses 100k reviews. So our accuracy of 92% isn't that bad after all :)

Perfect! Thx, will add EOS to fastai code and BOS to the plain Moses implementation.
Once I've started training on full articles and turned off dropout I've got the same accuracy on imdb using LSTM as reported by Sylvain (94%) and slightly worse (93.5%) using QRNN (3 and 4 layers). Most likely the issue was caused by training the LM on short sentences. The tokenization (moses, moses+fastai, fastai) is not that important. Fast.ai model wt103_1 can be moved to any tokenization and it still performs well: Moses (94.5%), Moses+Fastai preproc (94.9%), Fastai (94.8%)
All of this is working in the refactor branch,  which should be used with lastest fastai (not the ulmfit_multlingual branch).
I haven't updated moses and sentencepiece training, so they still use old split of wikipedia text to lines instead of articles.

Awesome! That's great news! :)

This is fantastic news @PiotrCzapla! Does this mean that we move completely to FastAIv1.0 on conda?

Not yet, I think fastai is still under active development.

I've updated sentence-piece and I'm getting 94.6% on imdb, so we are almost ready to merge the refactoring branch. The only missing tokenization is Moses I'm going to run some tests next year :)

Happy new year! :) I've updated and simplified the Moses tokenization to work on longer articles and I'm testing it on imdb I should have results tomorrow.  I'm pretty sure it will work fine so let's close this issue.
btw. I've merged the refactor branch into master.


Updated README with additional details and badges

https://github.com/user-attachments/assets/ef2ac859-a78f-471a-9fbd-172af64b34bf
Please label this PR with:

gssoc-ext for contributions under GirlScript Summer of Code Extended.
hacktoberfest-accepted to ensure it counts towards Hacktoberfest.

Dear @Luson045  ,
I hope this message finds you well. I kindly request you to review and merge my pull request at your earliest convenience. Additionally, if the contribution meets your standards, please provide the hacktoberfest-accepted label.
Thank you for your time and consideration.
Best regards,
@Ganeshmoorthii

Mention the issue no.

Issue #510


#106 detgeometric linearity

[ ] Change text in book -> det(u,v+w). Since .... they have equal areas
[ ] Make negative red -> positive blue
[ ] Make u, v & w all different colours

closes #106

Linear 1

[ ] make area green
[ ] remove grey dot
[ ] u -> black
[ ] w -> red
[ ] v -> green
[ ] v + w -> blue
[ ] oabc -> green
[ ] cbde -> red
[ ] oade -> blue

linear 2

[ ] u -> black
[ ] w -> red
[ ] v -> green
[ ] v + w -> blue
[ ] obda -> red
[ ] oafc -> green
[ ] oaeg -> blue


Feature/git integration

Creates support for git based diff files and namespaced clover.xml classes.

Merged as b759f7130ef462c4295d98a8fb3867e9f15a5726. Thanks!


feat(SearchType.Accordion): implement displaying result counts

Signed-off-by: Phil Kuang<EMAIL_ADDRESS>Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Looks good to me! @camilaibs any objections?


New documentation-site

We got a new WIP documentation site.
It's available here: Spotify-API .NET Docs
They're built with mkdocs, the branch for the "raw" docs is docs
Travis-CI automatically builts them on push and pushes the new changes to the gh-pages-branch
It's pretty much empty by now, but I will fill it the next weeks.
If you have any ideas or suggestions, feel free to post them :+1:

I think a changelog or an upgrade guide would be nice. I lost some time upgrading to version 2.0 :)

I will see if I can get something on the docs-page :)


ui: unexpected behaviour with middle-click on aspects links

From the "default" (==image for now I suppose) aspect of an image permanode,
if I middle-click on the permanode, or blob aspect, a new tab is opened with the image
aspect, while the desired aspect (permanode, or blob) is opened in the current tab
(instead of in the new tab).

Chrome Version 34.0.1847.116 on linux

camli at 384b627b5ef652c4ee31ba4a6340468237442ae6

This is long since fixed ... there are unique URLs for each aspect now.


0.4.0 Release

As agreed: Release 0.4.0 and then merge deprecated interfaces out and release 0.5.0


"Error detecting the version of libcrypto"

Hi,
Thank you for this tool.
Upon testing this today on the latest version of Kali I get the below error. I have installed PKINITools as per your instructions here. I believe that https://github.com/wbond/oscrypto/issues/78 is the issue. I also reported the same issue for LdapRelayScan but the fix I found there does not work here. Perhaps because oscrypto is installed during installation of minikerberos and therefore cannot be commented out and replaced.

This is becoming an epidemic. Vital tools are no longer working.
Update 1: Found a temporary fix for this issue. After installing as per the official instructions, execute pip3 install -I git+https://github.com/wbond/oscrypto.git which will install the current master of oscrypto in which this issue is fixed.

Can confirm, I encountered this issue as well and the temporary fix from @jsdhasfedssad of installing as per the official instructions, pip3 install -I git+https://github.com/wbond/oscrypto.git worked and I was able to run the tooling.


FR: Make save button bigger

Sometimes it's really hard to hit the "save button" if you move the mouse across the regex button. An example:

Not sure if this is just a theme issue—I can file a bug request at Minimal if it is. I remember it being an issue on Primary too tho

Maybe even move the Save button to below the Custom CSS text box?  That way it will never be overrun by the Regex toggle.

Actually you can add this css snippet to fix it:
.highlighter-settings-regex input[type="checkbox"] {
    width = 30px;
    height = 20px;
}

Add from here:

And then the button zone is normal:


hvsrinv

the hvsrinv.exe file not found

Dear Sayed Mohamed Ali Hussein Mohamed,
Thank you for this information. I will upload the exe file today. I am sorry for this lack.
Best regards.
iPhone’umdan gönderildi
Sayed Mohamed Ali Hussein Mohamed @.***> şunları yazdı (2 Şub 2022 13:46):

the hvsrinv.exe file not found
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you are subscribed to this thread.

Thanks for uploading exe file.


Initial changes for Narrator known issue

I finally got around to writing this Known Issue found by a bug we fixed for vNext.

@merriemcgaw, you mentioned that you'd updated your PR, but no additional commit appears here.

@rpetrusha , there's another commit from yesterday that has the changes. I can see that there are 3 commits total for this PR. Can you check to see if you can see them?

Yes, I can see them, @merriemcgaw. This looks good. You can merge when you're ready.


Fixed constness for lapack function declarations

This brings const correctness for lapack function parameters, according to the documentation provided by netlib.
I was not sure about code formatting and west const/east const, because I found some mixed styles. For the latter, I decided to keep all the changes with east const. Anyway, if you want me to format the code in a different way, it is not a problem.
P.s.: ironically, I sent a similar patch to armadillo because some lapack functions in dlib were const correct and it created some conflicts armadillo declarations. Now that the patch is in trunk and there is a release candidate, I noticed that exact same problem for dlib.

Sweet, thanks for the PR :)
The style in dlib is const type rather than type const, so change that and the PR is ready to merge.

@davisking I start wondering if github sent a notification for my update. Nevertheless, I changed the style for the const. Let me know if it is necessary to do something else :blush:

Oh yeah, thanks for the update.  Github didn't email me :/
Anyway, looks good.  Thanks for the PR :)


Update all gather tests to use t3k_device_mesh fixture

Closed with recent PR https://github.com/tenstorrent/tt-metal/pull/13262


Split the different charts in their respective branches

Right now, all Helm Charts (eap74, eap-xp3) are developed in the main branch.
This is not suitable for maintenance as it is difficult to track which commits affect one or the other charts (that have different lifecycle).
Instead, each chart should be maintained in its own branch (eap74, eap-xp3).
They would still all be made available from https://jbossas.github.io/eap-charts/.
The release workflow would have to change: for all maintained branches, we will use the Helm Chart Releaser action to release a new chart every time a chart version is updated.
During maintenance, we would contribute PR to fix issues as usual.
The last step before release will be the update of the Chart version to trigger the release of the new Helm Chart.
Actions:

[ ] create a eap74 branch
[ ] create a eap-xp3 branch
[ ] create a eap-xp4 branch (for the development of https://github.com/jbossas/eap-charts/pull/27
[ ] move the chart and examples for the eap74 branch into the eap74 branch (and keep the history)
[ ] move the chart and examples for the eap-xp3 branch into the eap-xp3 branch (and keep the history)
[ ] reopen https://github.com/jbossas/eap-charts/pull/27 against eap-xp4
[ ] delete the main branch
[ ] update the helm.yaml GH action to run it against eap74, eap-xp3, eap-xp4`
[ ] delete the release branch

@jmesnil I see lots of actions items on the list are already done, can this issue be updated?/What are the plans for the future?

@spriadka thanks for the bump, I've updated the checklist. The only outstanding issue is to remove the eap74 code from the main branch

thanks to @soul2zimate, the issue is completed.


Create coverage CI

The use of Codecov is confirmed to be allowed according to our Mentor's e-mail on Nov. 16 at 2:10 PM.


[WFLY-7893] RegistryTestCase and ServiceProviderRegistrationTestCase fail with security manager

Issue: https://issues.jboss.org/browse/WFLY-7893

The downstream variant wasn't needed any more so I'm assuming the same is true here and closing.


Calendar does not default to the current date

When opening the Calendar tab, it should scroll to the current date but it does not. This is defined in CalendarView.initialize() but  it doesn't seem to be working. Maybe it's trying to scroll to the current date before the items have finished loading?

This might have been fixed with the calendar refactor in 1.1.1 (223).

https://github.com/ruddarr/app/commit/15708faa6e2276091d4b70d29eacc22b3d1bcfe4


Missing function SevicePointManager.EnsureConfigurationLoaded

Source includes definition
partial class ServicePointManager
but this does not include the function EnsureConfigurationLoaded, which is presumably, defined in another partial class not in this repository.
Is there a way to get access to this code?

Appears to be there with 4.7.2 release:  https://referencesource.microsoft.com/#System/net/System/Net/ServicePointManager.cs

I see calls to EnsureConfigurationLoaded but I don't see its definition.

I'm wondering the same thing and only seeing the calls in the source mentioned above.
In our very large web application, something is overwriting the security protocols that should've come from the registry.  (There are no references to ServicePointManager.SecurityProtocol anywhere in our codebase, so perhaps one of the third-party libraries that we're using is messing with it.)
To force it to use the registry settings, I wanted to emulate what is being done in ServicePointManager.EnsureConfigurationLoaded(), but I can't seem to find the source for it anywhere.  I assume that the other partial for ServicePointManager is being treated as proprietary, but if not, does anyone know where it can be found?
Of course, I can write it all from scratch, but I was hoping to not have to do that, especially if it contains some subtleties that I wouldn't want to miss.


[TASK] Migrate Loghorn upgrade responder server version from 0.0.x to longhorn-head

What's the task? Please describe.
At the moment creating this issue, Longhorn is using the upgrade responder of version 0.0.x. This version has many hardcoded variable specific to Longhorn. We want to migrate to the generic version longhorn-head that is similar to 0.1.x that are being used by other projects
Describe the items of the task (DoD, definition of done) you'd like.

[x] Migrate the InfluxDB database
[x] Migrate Upgrade responder server
[ ] Update Private Garafana in the livestock cluster
[x] Cleanup the unnecessary measurements in the DB
[x] Cleanup the unnecessary deployment/svc/configmap/secrete in bigmac
[ ] Build Growth rate graph for Harvester
[x] Update Longhorn client to send appVersion and extraInfo.kubernetesVersion
[x] Update release process in Confulence

Additional context
https://github.com/longhorn/upgrade-responder

Longhorn Upgrade Responder Migration
Prepare

Scale down the current upgrade repsonder deployment in Bigmac cluster

Migrate InfluxDB database
Migrate measurements

measurement byLonghornVersion_1h => by_app_version_down_sampling
We need to do 2 things for this measurement: change measurement name from byLonghornVersion_1h => by_app_version_down_sampling and the tag key from longhorn_version to app_version.
Because InfluxDB  v1.8 doesn't support measurement/tag renaming (See here), we need to build a script to copy the data over by our self by the following steps:

Create a new directory
mkdir migration && cd migration
Creating a virtual environmentpython3 -m venv env

Activating a virtual environmentsource env/bin/activate

Install dependency packagepip3 install aioinflux
pip3 install pandas
pip3 install numpy

Create migration.py with the following content. This script copy data from byLonghornVersion_1h to new measurement by_app_version_down_sampling and rename tag longhorn_version by app_versionimport asyncio
from aioinflux import InfluxDBClient

async def main():
    print("migrating byLonghornVersion_1h to by_app_version_down_sampling")
    async with InfluxDBClient(host='localhost', db='longhorn_upgrade_responder', output='dataframe',username='rancher',password='kb6TT0onDGHH6rzjvs9idGaK') as client:
        df = await client.query("SELECT longhorn_version as app_version,* FROM byLonghornVersion_1h")
        del df['longhorn_version']

        n = 0
        step = 10000
        while n < len(df):
            await client.write(df[n:n + step], measurement="by_app_version_down_sampling", tag_columns=["app_version"])
            n = n + step
            print(" %d/%d points" % (n+step, len(df)))

        print("migrated byLonghornVersion_1h to by_app_version_down_sampling")

asyncio.get_event_loop().run_until_complete(main())

Exec into the influxdb instance. Verify that the data are fully copied and the tags are not accidentally changed to field

measurement byTime_1h => upgrade_request_down_sampling

Copy dataSELECT * INTO upgrade_request_down_sampling FROM byTime_1h  GROUP BY *

Exec into the influxdb instance. Verify that the data are fully copied and the tags are not accidentally changed to field

measurement byCountryCode_1h => by_country_code_down_sampling

Copy dataSELECT * INTO by_country_code_down_sampling FROM byCountryCode_1h GROUP BY *

Exec into the influxdb instance. Verify that the data are fully copied and the tags are not accidentally changed to field

measurement byK8sVersion_1h => by_kubernetes_version_down_sampling

Copy dataSELECT * INTO by_kubernetes_version_down_sampling FROM byK8sVersion_1h  GROUP BY *

Exec into the influxdb instance. Verify that the data are fully copied and the tags are not accidentally changed to field

Check grafanar and update the queries
Public Garafana
https://metrics.longhorn.io/
Private Garafana
In the live stock cluster
Upgrade the upgrade responder server code base
See PR: https://github.com/longhorn/upgrade-responder/pull/37
Update the upgrade responder deployment
Deploy the new version of the upgrade responder by deploying the helm chart with the following helm values
# Specify the name of the application that is using this Upgrade Responder server
# This will be used to create a database named <application-name>_upgrade_responder
# in the InfluxDB to store all data for this Upgrade Responder
# The name must be in snake case format
applicationName: longhorn

image:
  repository: longhornio/upgrade-responder
  tag: longhorn-head
  pullPolicy: Always

secret:
  name: upgrade-responder-secrets
  # Set this to false if you don't want to manage these secrets with helm
  managed: true
  influxDBUrl: "<url>"
  influxDBUser: "<username>"
  influxDBPassword: "<password>"

# This configmap contains information about the latest release
# of the application that is using this Upgrade Responder
configMap:
  responseConfig: |-
    {
      "Versions": [
        {
          "Name": "v1.1.3",
          "ReleaseDate": "2021-12-17T00:00:00Z",
          "Tags": [
            "stable"
          ]
        },
        {
          "Name": "v1.2.4",
          "ReleaseDate": "2022-03-17T00:00:00Z",
          "Tags": [
            "stable"
          ]
        },
        {
          "Name": "v1.3.0",
          "ReleaseDate": "2022-06-15T00:00:00Z",
          "Tags": [
            "latest"
          ]
        }
      ]
    }

Create continuous query for Kubernetes field
CREATE CONTINUOUS QUERY "cq_by_kubernetes_version_down_sampling" ON "longhorn_upgrade_responder" BEGIN SELECT count("value") as total INTO "by_kubernetes_version_down_sampling" FROM "upgrade_request" GROUP BY time(1h),"kubernetes_version" END
Check to make sure everything is running OK
curl -X POST http://<IP_ADDRESS>.nip.io/v1/checkupgrade   -d '{ "appVersion": "v0.1.1", "extraInfo": {"kubernetesVersion":"v1.25.0"}}'
Cleanup
Cleanup the unnecessary measurements in the DB
Cleanup the unnecessary deployment/svc/configmap/secrete in bigmac

TODO:

Update Private Garafana in the livestock cluster
Cleanup the unnecessary measurements in the DB
Cleanup the unnecessary deployment/svc/configmap/secrete in bigmac
Build Growth rate graph for Harvester
Update Longhorn client to send appVersion and extraInfo.kubernetesVersion

Test steps:

Trigger Longhorn manager to send request to the upgrade respoder server by on of the following ways:

Kill Longhorn manager pods
Turn on and off Enable Upgrade Checker settings

Verify the logs of Longhorn manager time="2022-07-11T22:21:04Z" level=info msg="Latest Longhorn version is v1.3.0" controller=longhorn-setting node=phan-v170-pool2-088b1150-7h9fj


[BUG] Node-specific ConnectTimeout not caught properly during federated query

Is there an existing issue for this?

[X] I have searched the existing issues

Expected Behavior
When one of the nodes that a federated query is sent to times out, we expect a successful f-API response to still be returned which includes results for the nodes for which the query succeeded, and simply wrap any timeouts/errors in the "errors" field in the f-API response.
Current Behavior
When the connection to a node times out with a ConnectTimeout, the f-API errors out with an internal server error 😢
Error message
Error from f-API logs:
INFO:     <IP_ADDRESS>:48332 - "GET /query/?is_control=true&image_modal=https%3A%2F%2Fapi-bic.neurobagel.org%2F HTTP/1.0" 500 Internal Server Error
ERROR:    Exception in ASGI application
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/uvicorn/protocols/http/h11_impl.py", line 407, in run_asgi
    result = await app(  # type: ignore[func-returns-value]
  File "/usr/local/lib/python3.10/site-packages/uvicorn/middleware/proxy_headers.py", line 78, in __call__
    return await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/fastapi/applications.py", line 276, in __call__
    await super().__call__(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/starlette/applications.py", line 122, in __call__
    await self.middleware_stack(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/starlette/middleware/errors.py", line 184, in __call__
    raise exc
  File "/usr/local/lib/python3.10/site-packages/starlette/middleware/errors.py", line 162, in __call__
    await self.app(scope, receive, _send)
  File "/usr/local/lib/python3.10/site-packages/starlette/middleware/cors.py", line 83, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 79, in __call__
    raise exc
  File "/usr/local/lib/python3.10/site-packages/starlette/middleware/exceptions.py", line 68, in __call__
    await self.app(scope, receive, sender)
  File "/usr/local/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 21, in __call__
    raise e
  File "/usr/local/lib/python3.10/site-packages/fastapi/middleware/asyncexitstack.py", line 18, in __call__
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 718, in __call__
    await route.handle(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 276, in handle
    await self.app(scope, receive, send)
  File "/usr/local/lib/python3.10/site-packages/starlette/routing.py", line 66, in app
    response = await func(request)
  File "/usr/local/lib/python3.10/site-packages/fastapi/routing.py", line 237, in app
    raw_response = await run_endpoint_function(
  File "/usr/local/lib/python3.10/site-packages/fastapi/routing.py", line 163, in run_endpoint_function
    return await dependant.call(**values)
  File "/usr/src/./app/api/routers/query.py", line 14, in get_query
    response = await crud.get(
  File "/usr/src/./app/api/crud.py", line 94, in get
    for result in response:
TypeError: 'ConnectTimeout' object is not iterable

Environment

OS:
Python/Node version:

How to reproduce
No response
Anything else?
Most likely, this is because the category of request errors we're currently trying to catch (which we hoped would capture timeouts) is too narrow - it includes ConnectError, but not ConnectTimeout: see https://www.python-httpx.org/exceptions/#the-exception-hierarchy
https://github.com/neurobagel/federation-api/blob/3e76fd0e5700519c03d5aae8c6b7df6ff5d0c982/app/api/utility.py#L241-L245
We should broaden this to RequestError and see if that fixes things.

:rocket: Issue was released in v0.1.0 :rocket:


docs: add environmental-variables guide

Summary:
This PR adds a file called environmental-variables.md into the docs/guides folder. This guide is aimed at providing the users a clear picture about the whereabouts of environmental variables and how to use them in Tailcall.
Issue Reference(s):
Fixes #852
/claim #852
Build & Testing:

[ ] I ran cargo test successfully.
[x] I have run ./lint.sh --mode=fix to fix all linting issues raised by ./lint.sh --mode=check.

Checklist:

[ ] I have added relevant unit & integration tests.
[x] I have updated the documentation accordingly.
[x] I have performed a self-review of my code.
[x] PR follows the naming convention of <type>(<optional scope>): <title>

Made the changes!

@tusharmath made the requested changes!

/tip 50$


Custom Mappings - only 4 entires possible - character limit?

In Custom Mappings only 4 entries for blacklisting possible
Custom Mappings Field to small in UI for handover data?
e.g. my current blacklist has 361 characters w/o spaces / 703 characters with spaces

What exactly do you mean? There shouldn't be any limit.

Closing due to inactivity. Please open another issue if still relevant.


Iinitial rpc response types

Description
Closes #11
Type of change

[ ] New feature (non-breaking change which adds functionality)

Checklist

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

Pull Request Test Coverage Report for Build e77da9e0b057a11a8341305b5a3dc7b0c52a73b5-PR-25

103 of 103 (100.0%)  changed or added relevant lines in 18 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 648fb8c6118b61a77c3cd23cd66f74e1ef8d2804:
0%

Covered Lines:
104

Relevant Lines:
104

💛  - Coveralls


Flex-layout is causing performance issues

Takes several seconds to re-calculate layout for complicated pages, which is not acceptable.

Started migrating layout library to Bootstrap, reason:

Preliminary experiments showed that if we use pure css to manage layout, this performance issue will be solved
Bootstrap 4 is a mature css library, for most functionalities in flex-layout, we can find an alternative in Bootstrap 4
Boorstrap 4 can be partially imported to only use its grid system and utilities (a customizeable css library!)

Other candidates(prefer flexbox-based libraries):

Bulma: Promising enough, easy to use(i.e. class name is human-readable, Hero and Tile are pretty handy)
Flexbox Grid: Neat, small, but probably to simple

Recents commits should have fixed the issue, marking as closed.
Possible root cause: nested flex-layout shouldn't be used(nested flexbox layouts are fine, nested flex-layout directives are probbaly not) but without using nested flexbox layout it's not possible to write a sophisticated page... hasn't the Angular team been aware of this issue?


Model-free alignment of isomorphous maps (alternative origins problem)

This PR is still in progress, but I wanted to upload my initial classes to support this. The problem is broken down into two cases:

Non-Polar spacegroups: easier case because they have a finite number of cases to evaluate
Polar spacegroups: more challenging because of the continuous alternative origins.

These classes use the sum of the squared phase residual between two sets of phases as a loss function to minimize, which has been pretty effective in my hands.
The NonPolarTranslator does a brute-force search of the 64 possible cases to evaluate the optimal translation vector. The PolarTranslator does a global optimization to determine the optimal translation vector. This is a bit non-trivial -- its a bumpy loss landscape -- but I've found the scipy dual_annealing optimizer to work very well. Another trick has been to start at low-resolution and gradually increase to full resolution. After discussion with @kmdalton, we can also use a FFT-based method to come up with a sensible initial value for optimization.
My todo items:

[ ] Add user-facing method that takes two datasets, and uses the proper class based on the spacegroup to determine the translation vector that gives a common phase origin.
[ ] Add a suite of tests for common spacegroups that cover the polar/non-polar cases
[ ] (optional improvement) Add initialization code based on FFT-method to speed things up

As per the comment in #31, this PR seems better suited for the rs-booster project because this is an application that uses rs, rather than a new core feature of the library. I am closing this PR here, and will add this via a PR in rs-booster.


Incorrect stub generation

How to reproduce
namespace Foo;

class Bar
{
    /**
     * @var array
     */
    protected _foobar = ["a": "A", "b": "B", "c": "C"];
}

Result:
<?php

namespace Foo;

class Bar
{
    /**
     * @var array
     */
    protected $_foobar = array(A, B, C);
}

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/8019946-incorrect-stub-generation?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github).

Also if I have subarray:
class Test
{

    protected _options = [
        "success": ["class": "alert alert-success"],
        "info": ["class": "alert alert-info"],
        "warning": ["class": "alert alert-warning"],
        "danger": ["class": "alert alert-danger"]
    ];

PHP Notice:  Undefined index: value in /home/mruz/Dropbox/git/ice/framework/vendor/phalcon/zephir/Library/ClassProperty.php on line 104
NULL

and

protected $_options = array( , , , );

@ovr any progress on this?

@mruz
I will push fix ASAP, in 3 days When I will be at home

Start working on this ;)


List items with no parent

Working with various accessibility plugins and continuously testing our site, we noticed that when we include the tota11y.js plugin, the appended area is created as a <div> with <li>s inside. This causes the various accessibility testing we're doing to fail, as it's not valid HTML.

The plugin should probably create a valid HTML structure.

Hey @roalexander,
You're absolutely right, thanks for catching this. Making .tota11y-plugins a <ul> should fix this (maybe a few lines of CSS too). I'll get to this ASAP.


Update repo description

Currently it says "Menubar IPFS Application", which is factually correct but not very exciting. Actually, is it factually correct for all OSes? Windows seems like that'd be called something different, by looking at the screenshot. It's been a while since I've used Windows 😅
Maybe something like:

An unobtrusive and user-friendly desktop application for IPFS on Windows, Mac and Linux. https://ipfs.io"

???

Completely agreed! Just stole your sentence :P