Create the PokemonResources Activity

Create the XML and Java class for the PokemonResource Activity.
This will be loaded from the main menu. It should successfully link to the websites we have used to source assets as well as Nintendo's own website (and perhaps a Google Shopping search where the games can actually be bought)
To load the websites, you can execute a call to either the default web browser or prepare a SubActivity using the WebView element.

What needs to be added for Pokemon Resources activity:

A textView for "resources used"
Logos of the various websites that were used/scrapped (Bulbapedia, Smogon, and extra sites for the sprites)
The websites that were used for scrapping, as well as a link where you can be directed to a webpage where you can buy Pokemon games (Google Shop?)

Linear Layout will be used.

DONE. Waiting for Code Review.

The issue should get automatically closed when the Pull Request is successfully passed


Update JSX page

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


Issue Regarding Benchmark Results Accuracy Of Medusa

System Info
v1.3.3
Information

[X] Docker
[X] The CLI directly

Tasks

[ ] An officially supported command
[x] My own modifications

Reproduction
I hope this message finds you well. I am writing to bring to your attention a potential bug I encountered while working with TGI v1.3.3. Specifically, I noticed some discrepancies in the benchmark results that seem to be indicative of a bug.
when I run the benchmark of medusa based on vicuna-7b, the result looks wrong:

(tokens/secs)
Batch Size
medusa
vicuna
medusa
vicuna

Decode
1
80.51
89.71
79.24
88.16

2
156.50
178.40
153.56
174.80

4
291.84
348.89
282.71
339.99

8
518.82
659.90
492.36
632.43

16
805.12
1199.34
739.26
1112.74

32
1015.27
2042.94
910.53
1841.44

When batch_size=1, medusa should output tokens faster than the original model. Are there errors in the statistics on the number of tokens?
Expected behavior
Can you show me your results and fix the bug? Thank you for taking the time to consider this matter. I am looking forward to your response and am happy to provide any further information that might be helpful.

Hello, I want to know how to test medusa in tgi？Such as vicuna-33b-v1.3. I have the two folders as follows:

Should I convert the ".pt" medusa model in safetensors?

I think it's not reasonable to use the text-generation-benchmark since the speed depends on the prompt. I have tested the single batch inference speed and the results looks good, 1.6x speed up on my 13B codellama. However, when I benchmark the throughput via sending asynchronous requests, the throughput becomes lower.


Please add support for Filecoin FIL-USD/EUR/GBP/BTC

Thank you.

@JensKDK all set. please upgrade to https://github.com/dougdellolio/coinbasepro-csharp/releases/tag/v1.0.41 on nuget

You are quick :-)
Thank you very much!


Adding new Vm Scaleset compute quota properties.

@BrianLPeterson,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Custom blade components within modules directory

I'm using Laravel Modules in in most of my projects nowadays. In order to avoid duplicate codes I've added some reusable custom blade components, e.g. an admin section as an example:
/resources/views/components/admin.admin-section.blade.php:

Called within a blade template as follows:

Now I would love to move the admin blade components to Modules/Admin/Resources/views/components, because logically they belong to the admin module and I would like to have them there too.
Unfortunately this doesn't seem to work, is there anyone who has had this problem and can help with a solution?
Regards,
Sven

Haven't used this package yet as I am planning to use it and from docs what I got, I think you can register namespaced blade components. From the docs of this package, it says when we create a new module it registers namespaces as well and from laravel docs, we can register components like so
   Blade::componentNamespace('Modules\\Admin\\Views\\Components', 'admin');

Blade Components
You might have to move from anonymous components to class components as well and from the render method of the component class, you will return view('admin::path-to-view')
As I said I haven't tried it myself and I am yet going through the docs, Do post the update as well
Thanks

All you need to do is reference the module as a prefix <x-Module:: for example:
<x-app::auth-card>

This loads from an App module.
the file is located at Modules\App\Resources\views\components\auth-card.blade.php
If you're using PHPStorm then I highly recommend getting https://laravel-idea.com/ provides auto-completion that's compatible with this package.

AWESOME! + 10000 points, exactly what I've been looking for! Thank you very much!


Bug related to deduplication of vectorized pipeline inputs

I stumbled onto some error recently where the vectorized engine does not seem able to "guess" the dimensions of a matrix and then crashes.
Minimal (non) working example
# mwe.daph
N = 100000;
G = rand(N, N, 1.0, 1.0, 0.000001, -1);
p = fill(1.0, N, 1);

alpha = 0.85;
one_minus_alpha = 1.0 - alpha;

p = alpha * (G @ p) + one_minus_alpha * p;

print(p[0,0]);

Error message
When i run the above script without the vectorized engine: no problem
But with the vectorized engine (daphne --vec --select-matrix-repr mwe.daph) i get:
terminate called after throwing an instance of 'std::runtime_error'
  what():  EwBinaryMat(Dense) - lhs and rhs must either have the same dimensions, or one of them must be a row/column vector with the width/height of the other
./daphne-src/bin/daphne(+0x16e4e22)[0x5576b879de22]
/lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x2b06dbee8090]
/lib/x86_64-linux-gnu/libc.so.6(gsignal+0xcb)[0x2b06dbee800b]
/lib/x86_64-linux-gnu/libc.so.6(abort+0x12b)[0x2b06dbec7859]
/lib/x86_64-linux-gnu/libstdc++.so.6(+0x9e8d1)[0x2b06dbbf78d1]
/lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa37c)[0x2b06dbc0337c]
/lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa3e7)[0x2b06dbc033e7]
/lib/x86_64-linux-gnu/libstdc++.so.6(+0xaa699)[0x2b06dbc03699]
/users/staff/dmi-dmi/guillo0001/daphnesched2/daphne-src/bin/../lib/libAllKernels.so(+0x72401c)[0x2b06f9dc401c]
[0x2b06da54c0ef]
/users/staff/dmi-dmi/guillo0001/daphnesched2/daphne-src/bin/../lib/libAllKernels.so(_ZN20CompiledPipelineTaskI11DenseMatrixIdEE7executeEjj+0x31f)[0x2b06f9ecdbef]
/users/staff/dmi-dmi/guillo0001/daphnesched2/daphne-src/bin/../lib/libAllKernels.so(+0x811b89)[0x2b06f9eb1b89]
/lib/x86_64-linux-gnu/libstdc++.so.6(+0xd6df4)[0x2b06dbc2fdf4]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8609)[0x2b06da562609]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x43)[0x2b06dbfc4353]
[error]: Got an abort signal from the execution engine. Most likely an exception in a shared library. Check logs!
[error]: Execution error: Returning from signal 6
Segmentation fault (core dumped)

The error message comes from:
https://github.com/daphne-eu/daphne/blob/e7649ba6bdc629a03936e49c27ed876efbce6db4/src/runtime/local/kernels/EwBinaryMat.h#L103
IR
The IR given by daphne --vec -explain=vectorized --select-matrix-repr mwe.daph:
IR after vectorization:
module {
  func.func @main() {
    %0 = "daphne.constant"() {value = 1 : index} : () -> index
    %1 = "daphne.constant"() {value = 100000 : index} : () -> index
    %2 = "daphne.constant"() {value = 1 : si64} : () -> si64
    %3 = "daphne.constant"() {value = 0.15000000000000002 : f64} : () -> f64
    %4 = "daphne.constant"() {value = true} : () -> i1
    %5 = "daphne.constant"() {value = 0 : si64} : () -> si64
    %6 = "daphne.constant"() {value = false} : () -> i1
    %7 = "daphne.constant"() {value = 8.500000e-01 : f64} : () -> f64
    %8 = "daphne.constant"() {value = 1.000000e+00 : f64} : () -> f64
    %9 = "daphne.constant"() {value = 9.9999999999999995E-7 : f64} : () -> f64
    %10 = "daphne.constant"() {value = -1 : si64} : () -> si64
    %11 = "daphne.randMatrix"(%1, %1, %8, %8, %9, %10) : (index, index, f64, f64, f64, si64) -> !daphne.Matrix<100000x100000xf64:sp[9.9999999999999995E-7]:rep[sparse]>
    %12 = "daphne.fill"(%8, %1, %0) : (f64, index, index) -> !daphne.Matrix<100000x1xf64>
    %13 = "daphne.vectorizedPipeline"(%11, %12, %6, %3, %7, %1, %0) ({
    ^bb0(%arg0: !daphne.Matrix<?x100000xf64:sp[9.9999999999999995E-7]:rep[sparse]>, %arg1: !daphne.Matrix<100000x1xf64>, %arg2: i1, %arg3: f64, %arg4: f64):
      %16 = "daphne.matMul"(%arg0, %arg1, %arg2, %arg2) : (!daphne.Matrix<?x100000xf64:sp[9.9999999999999995E-7]:rep[sparse]>, !daphne.Matrix<100000x1xf64>, i1, i1) -> !daphne.Matrix<?x?xf64>
      %17 = "daphne.ewMul"(%arg1, %arg3) : (!daphne.Matrix<100000x1xf64>, f64) -> !daphne.Matrix<?x?xf64>
      %18 = "daphne.ewMul"(%16, %arg4) : (!daphne.Matrix<?x?xf64>, f64) -> !daphne.Matrix<?x?xf64>
      %19 = "daphne.ewAdd"(%18, %17) : (!daphne.Matrix<?x?xf64>, !daphne.Matrix<?x?xf64>) -> !daphne.Matrix<?x?xf64>
      "daphne.return"(%19) : (!daphne.Matrix<?x?xf64>) -> ()
    }, {
    }) {combines = [1], operand_segment_sizes = array<i32: 5, 1, 1, 0>, splits = [1, 0, 0, 0, 0]} : (!daphne.Matrix<100000x100000xf64:sp[9.9999999999999995E-7]:rep[sparse]>, !daphne.Matrix<100000x1xf64>, i1, f64, f64, index, index) -> !daphne.M
atrix<100000x1xf64>
    %14 = "daphne.sliceRow"(%13, %5, %2) : (!daphne.Matrix<100000x1xf64>, si64, si64) -> !daphne.Matrix<1x1xf64>
    %15 = "daphne.sliceCol"(%14, %5, %2) : (!daphne.Matrix<1x1xf64>, si64, si64) -> !daphne.Matrix<1x1xf64>
    "daphne.print"(%15, %4, %6) : (!daphne.Matrix<1x1xf64>, i1, i1) -> ()
    "daphne.return"() : () -> ()
  }
}

It seems that at %16 the dimension of the resulting vector should be known but isnt...
trick
for now, my "trick" is to reshape the vector to its actual size:
N = 100000;
G = rand(N, N, 1.0, 1.0, 0.000001, -1);
p = fill(1.0, N, 1);

alpha = 0.85;
one_minus_alpha = 1.0 - alpha;

- p = alpha * (G @ p) + one_minus_alpha * p;
+ p = alpha * (G @ p) + one_minus_alpha * reshape(p, N, 1);

print(p[0,0]);

Thanks for reporting this bug, @GuilloteauQ. I can reproduce it.
The problem is not that some size (#rows/#cols) is unknown at compile-time. Such unknowns can always happen for various reasons and DAPHNE can usually tolerate that. As you correctly found out, the exception is thrown in the EwBinaryMat-kernel (elementwise binary operation on two matrices). The check in this kernel uses actual runtime shape information, i.e., it definitely knows the correct shapes of its inputs, because they have already been calculated at that point in time (no unknowns anymore).
Instead, the problem is related to the deduplication of pipeline inputs. Let's look at the following simpler example, which triggers the same bug:
N = 100;
G = fill(1.0, N, N);
p = fill(1.0, N, 1);
y = (G @ p) + p;
print(sum(y));

The expression (G @ p) + p gets vectorized (double-check with --explain vectorized). At runtime, the matrix G (lhs input to the mat mul) is split into row segments of size (k x N) (where k is determined by the runtime scheduler). Currently, the rhs input of mat mul is always broadcasted (sth we should anyway improve at some point, since it can be done more smartly), i.e., p is still (N x 1) in the pipeline. The result of the mat mul has shape (k x 1), and we want to add p to it next. This elementwise addition assumes that it works on row segments, which is true for its lhs input (result of the mat mul), but not for its rhs input (since p is broadcasted). At runtime, the elementwise addtition ends up to be (k x 1) + (N x 1), which is not valid. Hence the error.
The bug is in the canonicalization of VectorizedPipelineOp (see src/ir/daphneir/DaphneDialect.cpp: mlir::LogicalResult mlir::daphne::VectorizedPipelineOp::canonicalize(...)). This function deduplicates the pipeline inputs. If we comment out everything except for the return success(); at the end, the program runs fine even with --vec. A look at --explain vectorized reveals that %6, the SSA value corresponding to p, appears as a pipeline input twice ("daphne.vectorizedPipeline"(%5, %6, %3, %3, %6, ...)), but with different splits (splits = [1, 0, 0, 0, 1], 0: broadcast and 1: by-rows), and these different inputs (arg1, arg4) are used accordingly within the pipeline.
IR after vectorization:
module {
  func.func @main() {
    %0 = "daphne.constant"() {value = 1 : index} : () -> index
    %1 = "daphne.constant"() {value = 100 : index} : () -> index
    %2 = "daphne.constant"() {value = true} : () -> i1
    %3 = "daphne.constant"() {value = false} : () -> i1
    %4 = "daphne.constant"() {value = 1.000000e+00 : f64} : () -> f64
    %5 = "daphne.fill"(%4, %1, %1) : (f64, index, index) -> !daphne.Matrix<100x100xf64>
    %6 = "daphne.fill"(%4, %1, %0) : (f64, index, index) -> !daphne.Matrix<100x1xf64>
    %7:2 = "daphne.vectorizedPipeline"(%5, %6, %3, %3, %6, %1, %1, %0, %0) ({
    ^bb0(%arg0: !daphne.Matrix<?x100xf64>, %arg1: !daphne.Matrix<100x1xf64>, %arg2: i1, %arg3: i1, %arg4: !daphne.Matrix<?x1xf64>):
      %9 = "daphne.matMul"(%arg0, %arg1, %arg2, %arg3) : (!daphne.Matrix<?x100xf64>, !daphne.Matrix<100x1xf64>, i1, i1) -> !daphne.Matrix<?x?xf64>
      %10 = "daphne.ewAdd"(%9, %arg4) : (!daphne.Matrix<?x?xf64>, !daphne.Matrix<?x1xf64>) -> !daphne.Matrix<?x?xf64>
      "daphne.return"(%9, %10) : (!daphne.Matrix<?x?xf64>, !daphne.Matrix<?x?xf64>) -> ()
    }, {
    }) {combines = [1, 1], operand_segment_sizes = array<i32: 5, 2, 2, 0>, splits = [1, 0, 0, 0, 1]} : (!daphne.Matrix<100x100xf64>, !daphne.Matrix<100x1xf64>, i1, i1, !daphne.Matrix<100x1xf64>, index, index, index, index) -> (!daphne.Matrix<100x1xf64>, !daphne.Matrix<100x1xf64>)
    %8 = "daphne.sumAll"(%7#1) : (!daphne.Matrix<100x1xf64>) -> f64
    "daphne.print"(%8, %2, %3) : (f64, i1, i1) -> ()
    "daphne.return"() : () -> ()
  }
}

To solve this problem, the canonicalization of VectorizedPipelineOp must be fixed. I haven't looked into it in detail, but I assume it does not take the splits into account correctly. A duplicate input value may only be removed if both occurrences of the value are associated with the same split mode (broadcast or by-row). In that sense, I assume the problem is quite isolated to that function. Would you like to give fixing it a try, @GuilloteauQ?

By the way, the reason why the workaround with reshape() works is that ReshapeOp is currently not vectorized. Thus, there is no duplicate input to the pipeline, since the original p and the result of reshape(p) are technically different SSA values.
IR after vectorization:
module {
  func.func @main() {
    %0 = "daphne.constant"() {value = 1 : index} : () -> index
    %1 = "daphne.constant"() {value = 100 : index} : () -> index
    %2 = "daphne.constant"() {value = true} : () -> i1
    %3 = "daphne.constant"() {value = false} : () -> i1
    %4 = "daphne.constant"() {value = 1.000000e+00 : f64} : () -> f64
    %5 = "daphne.fill"(%4, %1, %1) : (f64, index, index) -> !daphne.Matrix<100x100xf64>
    %6 = "daphne.fill"(%4, %1, %0) : (f64, index, index) -> !daphne.Matrix<100x1xf64>
    %7 = "daphne.reshape"(%6, %1, %0) : (!daphne.Matrix<100x1xf64>, index, index) -> !daphne.Matrix<100x1xf64>
    %8:2 = "daphne.vectorizedPipeline"(%5, %6, %3, %3, %7, %1, %1, %0, %0) ({
    ^bb0(%arg0: !daphne.Matrix<?x100xf64>, %arg1: !daphne.Matrix<100x1xf64>, %arg2: i1, %arg3: i1, %arg4: !daphne.Matrix<?x1xf64>):
      %10 = "daphne.matMul"(%arg0, %arg1, %arg2, %arg3) : (!daphne.Matrix<?x100xf64>, !daphne.Matrix<100x1xf64>, i1, i1) -> !daphne.Matrix<?x?xf64>
      %11 = "daphne.ewAdd"(%10, %arg4) : (!daphne.Matrix<?x?xf64>, !daphne.Matrix<?x1xf64>) -> !daphne.Matrix<?x?xf64>
      "daphne.return"(%10, %11) : (!daphne.Matrix<?x?xf64>, !daphne.Matrix<?x?xf64>) -> ()
    }, {
    }) {combines = [1, 1], operand_segment_sizes = array<i32: 5, 2, 2, 0>, splits = [1, 0, 0, 0, 1]} : (!daphne.Matrix<100x100xf64>, !daphne.Matrix<100x1xf64>, i1, i1, !daphne.Matrix<100x1xf64>, index, index, index, index) -> (!daphne.Matrix<100x1xf64>, !daphne.Matrix<100x1xf64>)
    %9 = "daphne.sumAll"(%8#1) : (!daphne.Matrix<100x1xf64>) -> f64
    "daphne.print"(%9, %2, %3) : (f64, i1, i1) -> ()
    "daphne.return"() : () -> ()
  }
}

Thank you @pdamme for the detailed explanation of the real problem 🙂
I can give it a try, yes!
But that would only be in a few weeks (~mid-May I reckon)


add volume backingstore testcases

improve codecoverage for backingstore volume

What are you exactly testing here?
I think the test should then retrieve the volume definition from libvirt and check that the base volume was in fact used as a backingStore element..

@dmacvicar ok thx for hint

@dmacvicar  thank you for your remark.
I addressed your comment and we check in the libvirtxml definition if the volume is a backingstore now.

@dmacvicar feel free to review it. Now make more sense, we are checking the backinstore xml
TIA :sun_with_face: :lemon: :seedling: :tropical_fish:

@dmacvicar  i am merging this in hope to make our review lightweight especially for testacc.
I mean since this is not a huge major new-feature, is ok that i don"t wait to much for it, since it can improve our testcoverage/stability of provider.
On the testcase, i adressed your review/comment, with https://github.com/dmacvicar/terraform-provider-libvirt/pull/363/files/5b8287c04fd2c8bf2053174d1963fe9afe44ac45#r213265837, which we are really testing now the xml defintion.


FEATURE: Resizable panel

I don't know if this is possible, but it would be great if we could resize the project viewer panel; as what can be done on the tree view.
Thanks for this awesome package!

that would be really cool! on the TODO 📖

@Hammster any luck?

sadly i had no time left, but i'll assign it to me.

Hey guys,
Any updates on the progress of this feature? I LOVE project viewer and plan to continue using it extensively but the tiny panel is making it harder lol :)

@hey @codeitco,
I will pick this up and try to make it released today!

@codeitco can you please validate this on 0.3.33 version?

Hi,
Unfortunately its still doing this on 0.3.33.
Even just a simple group name change removes the color setting. Could it be
something related to the "Set Color" checkmark at the bottom of the dialog?
Whenever I make a change and hit update, the next time I open it, that
checkmark is no longer green and disabled which in theory could be why the
color is removed but that might also be happening as a result of the color
being reset to default I suppose.
If you need any further information from me, I would be happy to help. :)
On Sun, Dec 4, 2016 at 12:03 PM, João Guimarães<EMAIL_ADDRESS>wrote:

@codeitco https://github.com/codeitco can you please validate this on
0.3.33 version?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jccguimaraes/atom-project-viewer/issues/37#issuecomment-264715939,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ATz3HnlLamAMx901WNCmPdvY4_R7k13Cks5rEvJQgaJpZM4IP3Fo
.

@codeitco?!? wrong issue? :)

WHOOPS! I obviously didn't read properly :( Sorry my friend, you can delete the unrelated comment or move it to my color issue if thats possible. Thx

BTW, its working for me! The panel resizes nicely! Thanks so much for adding this feature!

no worries, although i think i have resolved this current one. can you validate?

cool

Works perfectly, thanks!


Vogen generates invalid namespace in SystemTextJsonConverterFactory_g.cs

Describe the bug
It seems that when a namespace contains a hyphen ( - ), an invalid namespace is generated in the file SystemTextJsonConverterFactory_g.cs. The namespace "CRM_API" ends up being "CRM - API".
The namespace is however correct in the value-object's generated partial struct.
Steps to reproduce

Download the following project https://github.com/Healios/vogen-namespace-error
Build it

Expected behaviour
I was expecting the namespace to be "CRM_API".

Thanks for bug report @Healios, and thanks for the repro! It's actually taking the assembly name, which can have a hyphen, and using that without escaping it.
Doing a fix now.

Ah, got it 👍  Thank you so much for the prompt response @SteveDunn - really appreciate it!

This is now in 6.0.0-beta.1. I've upped the major version as it includes a breaking change (albeit as small one), as a result of this fix.
The release notes are here: https://github.com/SteveDunn/Vogen/discussions/719
Thanks again for the feedback. Would welcome your thoughts in the discussion


⚠ Bofrost.de has degraded performance

In 144015c, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 956 ms

Resolved: Bofrost.de performance has improved in 5d1d347 after 6 minutes.


fix CI.yaml

#682 introduced parsing errors in .github/workflows/CI.yaml: matrix.cfg.os in this line is no longer defined in the matrix.
Thus, tests are failing for subsequent PRs.
I fixed the matrix.cfg.os lines based on this commit, however, the current CI.yaml in master has other differences from that commit, so I'm not sure if there are more undesired changes introduced by #682.

Ok, that did it. @zhang-ivy there's a single error due to some stereochemistry issues. I'll let you take over from here :)


Mixpanel set people properties is not working in ionic 2

import {Mixpanel} from 'ionic-native';
Mixpanel.init('Token').then(()=> {
Mixpanel.track("Application in Running");
Mixpanel.people.set({
"$email"<EMAIL_ADDRESS>})
its through Property 'set' does not exist on type 'MixpanelPeople'.
My system information:
Cordova CLI: 6.3.1
Ionic Framework Version: 2.0.0-rc.3
Ionic CLI Version: 2.1.12
Ionic App Lib Version: 2.1.7
Ionic App Scripts Version: 0.0.45
ios-deploy version: 1.9.0
ios-sim version: 5.0.11
OS: macOS Sierra
Node Version: v6.6.0
Xcode version: Xcode 7.3.1 Build version 7D1014

Hello! Thanks for opening an issue with us! As this seems like more of a support question i will urge that you ask this question on our forum or on our slack channel. Thanks for using Ionic!

I am still facing the same problem mixpanel set people properties
Is it fixed?


feature request: enhance swarm example to add optional TLS termination

The swarm example works for me, but i'm not sure how to do TLS termination. I've probably missed something in the documentation. It might be useful if optionally enabling termination was added to the swarm example at https://docs.traefik.io/user-guide/swarm/ .

I'll close the issue due to inactivity but feel free to re-open if needed.


Failed to reactivate intl_utils 2.6.1: Could not find a file named "pubspec.yaml"

Hi,
I am trying the command:
flutter pub cache repair

but I get the error:

Failed to reactivate intl_utils 2.6.1: Could not find a file named "pubspec.yaml"

I do not howto solve it

It seems it was a network error


[DROOLS-1369] avoid calculating property reactive bitmasks when using…

… update with property names on non-propreactive objects

About the failing CI test, I would argue the test assertion should be modified from exactly 1 error to >0 errors.
Wrong usage of @Watch annotation on class org.drools.compiler.integrationtests.B that is not annotated as @PropertyReactive : [Rule name='R1']
Unknown property s in @Watch annotation : [Rule name='R1']
Unknown property on in @Watch annotation : [Rule name='R1']


[gardening] Remove unused code: ContainsFunc(…) + RemoveFunc(…)

What's in this pull request?
ContainsFunc(…) and RemoveFunc(…) (added by @nkcsgexi in May 2015: https://github.com/apple/swift/commit/be33b9edb3dfd2341d5756a82eee7cdddf7f1cbf) appear not to be in use since @lattner's SE-0049 related commit https://github.com/apple/swift/commit/a0c5d2a7df8e6723d8e826cb5ec78f8d1e2e034c yesterday.
Resolved bug number: –

Before merging this pull request to apple/swift repository:

[ ] Test pull request on Swift continuous integration.

Triggering Swift CI
The swift-ci is triggered by writing a comment on this PR addressed to the GitHub user @swift-ci. Different tests will run depending on the specific comment that you use. The currently available comments are:
Smoke Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please smoke test
    OS X platform               | @swift-ci Please smoke test OS X platform
    Linux platform              | @swift-ci Please smoke test Linux platform

Validation Testing
    Platform     | Comment
    ------------ | -------------
    All supported platforms     | @swift-ci Please test
    OS X platform               | @swift-ci Please test OS X platform
    Linux platform              | @swift-ci Please test Linux platform

Note: Only members of the Apple organization can trigger swift-ci.

@practicalswift  67e031cf8e319e80e86e02ef714fe668f6876b66 is already in apple/master.
I know it's pushed after this PR.

Excellent!
Thanks to @slavapestov for noticing and fixing :-)


Removed Activity Log solution from Terraform RI

Overview/Summary
As per ADO USER STORY 25142

Remove Activity Log solution from Terraform RI
Update and Terraform documentation referencing this

This PR fixes/adds/changes/removes

Fixes #553

Breaking Changes

Need validation from team

Testing Evidence
Please provide any testing evidence to show that your Pull Request works/fixes as described and planned (include screenshots, if appropriate).

As part of this Pull Request I have

[x ] Checked for duplicate Pull Requests
[ x] Associated it with relevant issues, for tracking and closure.
[x ] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x ] Performed testing and provided evidence.
[ x] Updated relevant and associated documentation.
[X ] Updated the "RELEASE" page with details needed for when this code change is released.

/azp run update

@krowlandson, sure, so the idea is to remove some of the solutions and have a different image for custom management solutions, right? Anything else for the new image?

@krowlandson, Ill fix the Code Review/Lint errors so it can finish the checks

/azp run update

/azp run unit


can't generate g.dart

[INFO] Generating build script...
[INFO] Generating build script completed, took 602ms
[INFO] Precompiling build script......
[WARNING] .dart_tool/build/entrypoint/build.dart:9:8: Error: Error when reading '../../Documents/flutter/flutter/.pub-cache/hosted/pub.dartlang.org/web3dart-2.5.0/lib/src/builder/builders.dart': The system cannot find the path specified.
import 'package:web3dart/src/builder/builders.dart' as _i2;
^
.dart_tool/build/entrypoint/build.dart:21:10: Error: Undefined name 'abiGenerator'.
[_i2.abiGenerator],
^^^^^^^^^^^^
.dart_tool/build/entrypoint/build.dart:131:9: Error: Undefined name 'deleteSource'.
_i2.deleteSource,
^^^^^^^^^^^^
[INFO] Precompiling build script... completed, took 12.2s
[SEVERE] Failed to precompile build script .dart_tool/build/entrypoint/build.dart.
This is likely caused by a misconfigured builder definition.

Please check this -> https://pub.dev/packages/web3dart_builders
Using the steps in readme you'll be able to generate it

@Sangza autogenerator is returned in web3dart fork https://github.com/devopsdao/webthree


[Bug]: Currency & phone input widgets don't show a dropdown even when the option to change country/currency is enabled

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Currency input and phone input widgets do not show a dropdown list of options when change country code/allow currency change options are toggled on. This doesn't work on any view (edit, preview, deployed)
Steps To Reproduce

Drop a currency and phone widget on the latest Anvil DP
Turn on the option to change currency/country as seen in the video and observe no dropdown list of countries/currencies shows up

Behavior on production:

Public Sample App
No response
Environment
Deploy Preview
Severity
Medium (Frustrating UX)
Issue video log
No response
Version
cloud

decision: remove the property


Remove sign_http_request

The GRPC code takes care of this, and this method is no longer needed.

Right on, way to keep things lean and mean.


Why not just completely open source ESP Rainmaker? (MEGH-2878)

Why don't you just completely open source ESP Rainmaker, including the server side code? Espressif is after all a silicon vendor. The pricing is just too much for small to medium projects. Also, I have open issues from almost 18 months ago that require server side updates, which has not been done as only espressif can make those changes. If it was actually open source it might have been done by someone else. You can put a clause in the license or create a new license that states that it may only be used with espressif chips.

I agree - open sourcing Rainmaker would be great.   We are developing IOT using ESP32/S2/S3/C3 and that would be super helpful and great for Espressif.

At the very least there should be some public information about expected costs of using it. One gets the impression it will be cheap or free for small commercial use. Now I'm worried that I'm wasting my time investigating it!

I have enquired about pricing and it is prohibitive for a small company, minimum 5000usd per year for usage plus 5000usd upfront for the first year. If your are a new venture and you are not sure whether to use rain maker then I would say you are better to invest that 10,000usd and just use the aws examples with amplify, iot core etc and build your own infrastructure that you can own going forward. For a larger company adding cloud to an existing product then this may make sense for you.
To save someone the time of enquiring the costs are below:

License (Espressif pays AWS bill) - our recommended model
In this model, if the amount of communication from the device is known, then Espressif can provide an option of one-time per device license fee and then Espressif pays the AWS bill directly. Please note that there is not much customisability for the cloud backend in this case and you get standard RainMaker deployment. If your device sends data to cloud 5 times a day, indicative license pricing is USD 0.40 per device.

Subscription (You pay your AWS bill)
In this model, you pay AWS bill directly and pay subscription fee to Espressif towards using ESP RainMaker. Annual recurring subscription fee is 0.10 USD per year per device (minimum of USD 5000 per year). You can also customise the RainMaker backend to add your own code (e.g. in this case to process the data).

Please note that there is one-time fee of USD 5000 that is applicable for both the models. RainMaker will be deployed in your own AWS account and you’ll get to choose which region of AWS to choose.

Okay! Thanks @halfn0rmal. I guess that kills that idea then. I posted on the forum asking about licensing and limitations of operating on the free platform.

Another thing to note is that the pricing changed quite a bit since I enquired about it. My quote was that when deploying on your own AWS account, the upfront cost was $10k but no yearly subscription. I just can't see this working. Bigger companies that can afford this probably has the resources to implement their own, and for smaller companies that don't have the resources, these prices are exorbitant. It also completely takes startups and entrepreneurs out of the picture.

I would have thought it would be in espressifs interest to make it no upfront costs to onboard new customers to their hardware platform. It would be a good motivation to use their hardware.
For me I think it isn't worth it. There is a bit of work in rolling your own but long term it would pay off.

I agree with all of that. We actually have some of the cloud infrastructure already set up for ota, telemetry etc using free tier of firebase. The easy and secure provisioning is a major draw. At the moment we use the wifi local access point and a web page. A bit old school and complex for a lot of our customers.

@felixcollins you can use the Unified provisioning component (supports both SoftAP and BLE transports) with open-source phone apps. Please check out https://github.com/espressif/esp-idf/tree/master/examples/provisioning

Is there a table which shows list of boards that support SoftAP, BLE or both?

@chaudhariatul , basically all chips that support BLE can support both SoftAP as well as BLE provisioning viz. esp32, esp32c3, esp32s3, esp32c2. However, only one of these can be kept enabled at a time (using menuconfig options)
esp32s2 does not have BLE and so it can support only SoftAP provisioning.

this topic is very interesting, but i think is best solution try to change endpoint to a private MQTT broker ,OTA via private server  and Give up some features Of course if he doesn't disagree with License of opensource rainmaker.
I think is the best way , i dont know if someone try to do this?  share with us

I think Espressif, if could not complete open the code, they can partly open the code (Community version), like there are some limitation set of advance feature and then charge for advance feature with fully version (Professional version) like many project. So developer can fix the bug and improve the platform.


Feature request : Support more indexers

First of all, thanks for this great tool !
Many other trackers allow music uploads, and some of them are also based on gazelle, with very similar API schema. Only to name a few : GGn, LzTr, DiC. Others are not based on Gazelle but still allow music uploads.
So it would be quite nice to be able to cross-seed music to those trackers as well !

This would introduce the potential for requiring matching, given that I'm not entirely sure how those trackers would standardize naming across the board - which is something currently relied on with the RED/OPs functionality.


Catch externally opened links on Firefox startup

Currently it's still possible that websites load in "No Container" when in Automatic Mode or configured to "Always open in Temporary Container per Website" if an user clicks an external link while Firefox isn't started yet. That's because when starting the registering of necessary events takes too long. To increase the chance to catch such requests there should be a fast path.

Just published version 0.63 with the feature.


WIP - Response to Issue #292: Pandas Pickle data reader and writer

Response to Issue #292 which required the implementation of classes for reading and writing Pickle files with Pandas
Changes
Implemented the PandasPickleReader and PandasPickleWriter classes in pandas_extensions.py
How I tested this
I looked for the polars tests and couldn't find them and am unsure how to test these classes, please provide some assistance.
Notes
Implementation closely followed the Pandas Pickle documentation and the example Polars classes provided
Checklist

[x] PR has an informative and human-readable title (this will be pulled into the release notes)
[x] Changes are limited to a single goal (no scope creep)
[x] Code passed the pre-commit check & code is left cleaner/nicer than when first encountered.
[ ] Any change in functionality is tested
[x] New functions are documented (with a description, list of inputs, and expected output)
[x] Placeholder code is flagged / future TODOs are captured in comments
[ ] Project documentation has been updated if adding/changing functionality.

I looked for the polars tests and couldn't find them and am unsure how to test these classes, please provide some assistance.

Yep so good point 😅 .
Here's what I think:

create a folder plugins under tests/.
create a file test_pandas_extensions.py
create  a function (we use pytest) def test_pandas_pickle(tmp_path):, that uses the writer to write to a file in tmp_path (see pytest docs for tmp_path), and the the reader to read it. The test will exercise the code, and then validate that things are equivalent.
create a folder pandas/materialization under examples. Write a simple example that uses the materializers here. My thought here is you can take the hello_world example's my_notebook.ipynb and adjust it to be more like this notebook that uses  your new writer to pickle a dataframe.

How does that sound?

How robust would you like the testing?

How robust would you like the testing?

I think the test you have is fine; the PR is looking great!
How about point (4) above? I think all that we need now is an example of usage.

Should have the full request completed tomorrow/Wednesday. I'm a little more confused about point 4 so would appreciate feedback.

Should have the full request completed tomorrow/Wednesday. I'm a little more confused about point 4 so would appreciate feedback.

Sounds good. Yeah once you have something up, happy to comment.

@benhhack  https://github.com/benhhack/hamilton/pull/1 shows the fix. If you merge it I think this PR should also update.

I'm calling this complete! Good job @benhhack 🚀 . Do you have a twitter or linkedin we can use for social media purposes when we talk about the release this will go out in?

Thanks @skrawcz ! I really appreciate the support and active communication. Do you have any feedback on my work style/code/anything you can think of that could help me improve?
For social media purposes, my LinkedIn is https://www.linkedin.com/in/benjaminhhack.

I really appreciate the support and active communication. Do you have any feedback on my work style/code/anything you can think of that could help me improve?

 -- Nothing really of note. You did well with little instruction! Code passed our formatter, looked like our other code. You added a test for it. I tested it, it worked.  So I can ask for that next time :)
Want to pick up more materializers? They should look pretty similar to what you just did. I can also think of a harder task.... 😀

You can see your contribution now showed up in our docs too  --https://hamilton.dagworks.io/en/latest/reference/io/available-data-adapters/#data-savers

You're welcome! -- Nothing really of note. You did well with little instruction! Code passed our formatter, looked like our other code. You added a test for it. I tested it, it worked.  So I can ask for that next time :)
Want to pick up more materializers? They should look pretty similar to what you just did. I can also think of a harder task.... 😀

Thanks for the feedback, always good to learn and grow. I'll get back to you re picking up other materialisers, am currently deep in the job hunt so I don't have too much spare time. Hopefully will chat again soon.

@benhhack hi. how did you decide which kwargs (e.g., compression, storage_options) to include in the Pandas pickle data reader/writer?

@benhhack hi. how did you decide which kwargs (e.g., compression, storage_options) to include in the Pandas pickle data reader/writer?

Hey, @bryangalindo , I used all of them! Or, at least, I gave the option for the user to use them all while setting defaults. I'm not really sure how this translates to practical use, you'd have to ask @skrawcz about that.
My process was to give a type hint for each of the kwargs depending on what was written in the pandas io docs. The typing library came in very handy here. I'd then just set the variables in the _get_saving_kwargs  function which is called from save_data in the class.
Hope this helps, let me know if I can clarify anything else.


Date vs string

I think the build errors are unrelated.

Upstream: https://github.com/hendrikmuhs/ccache-action/issues/184


Handling of never-seen peers

Hi,
I have some messed up values and I suspect prepared but never seen peers to be the cause of:
here the current output of a curl-request:
# HELP go_gc_duration_seconds A summary of the pause duration of garbage collection cycles.
# TYPE go_gc_duration_seconds summary
go_gc_duration_seconds{quantile="0"} 1.9725e-05
go_gc_duration_seconds{quantile="0.25"} 2.3676e-05
go_gc_duration_seconds{quantile="0.5"} 6.993e-05
go_gc_duration_seconds{quantile="0.75"} 8.4456e-05
go_gc_duration_seconds{quantile="1"} 0.000141767
go_gc_duration_seconds_sum 0.001022327
go_gc_duration_seconds_count 16
# HELP go_goroutines Number of goroutines that currently exist.
# TYPE go_goroutines gauge
go_goroutines 9
# HELP go_info Information about the Go environment.
# TYPE go_info gauge
go_info{version="go1.13.8"} 1
# HELP go_memstats_alloc_bytes Number of bytes allocated and still in use.
# TYPE go_memstats_alloc_bytes gauge
go_memstats_alloc_bytes 5.623336e+06
# HELP go_memstats_alloc_bytes_total Total number of bytes allocated, even if freed.
# TYPE go_memstats_alloc_bytes_total counter
go_memstats_alloc_bytes_total 4.238964e+07
# HELP go_memstats_buck_hash_sys_bytes Number of bytes used by the profiling bucket hash table.
# TYPE go_memstats_buck_hash_sys_bytes gauge
go_memstats_buck_hash_sys_bytes 1.451718e+06
# HELP go_memstats_frees_total Total number of frees.
# TYPE go_memstats_frees_total counter
go_memstats_frees_total 190924
# HELP go_memstats_gc_cpu_fraction The fraction of this program's available CPU time used by the GC since the program started.
# TYPE go_memstats_gc_cpu_fraction gauge
go_memstats_gc_cpu_fraction 4.356183458568052e-06
# HELP go_memstats_gc_sys_bytes Number of bytes used for garbage collection system metadata.
# TYPE go_memstats_gc_sys_bytes gauge
go_memstats_gc_sys_bytes 2.377728e+06
# HELP go_memstats_heap_alloc_bytes Number of heap bytes allocated and still in use.
# TYPE go_memstats_heap_alloc_bytes gauge
go_memstats_heap_alloc_bytes 5.623336e+06
# HELP go_memstats_heap_idle_bytes Number of heap bytes waiting to be used.
# TYPE go_memstats_heap_idle_bytes gauge
go_memstats_heap_idle_bytes 5.9867136e+07
# HELP go_memstats_heap_inuse_bytes Number of heap bytes that are in use.
# TYPE go_memstats_heap_inuse_bytes gauge
go_memstats_heap_inuse_bytes 6.520832e+06
# HELP go_memstats_heap_objects Number of allocated objects.
# TYPE go_memstats_heap_objects gauge
go_memstats_heap_objects 14295
# HELP go_memstats_heap_released_bytes Number of heap bytes released to OS.
# TYPE go_memstats_heap_released_bytes gauge
go_memstats_heap_released_bytes 5.926912e+07
# HELP go_memstats_heap_sys_bytes Number of heap bytes obtained from system.
# TYPE go_memstats_heap_sys_bytes gauge
go_memstats_heap_sys_bytes 6.6387968e+07
# HELP go_memstats_last_gc_time_seconds Number of seconds since 1970 of last garbage collection.
# TYPE go_memstats_last_gc_time_seconds gauge
go_memstats_last_gc_time_seconds 1.6142455188876886e+09
# HELP go_memstats_lookups_total Total number of pointer lookups.
# TYPE go_memstats_lookups_total counter
go_memstats_lookups_total 0
# HELP go_memstats_mallocs_total Total number of mallocs.
# TYPE go_memstats_mallocs_total counter
go_memstats_mallocs_total 205219
# HELP go_memstats_mcache_inuse_bytes Number of bytes in use by mcache structures.
# TYPE go_memstats_mcache_inuse_bytes gauge
go_memstats_mcache_inuse_bytes 6944
# HELP go_memstats_mcache_sys_bytes Number of bytes used for mcache structures obtained from system.
# TYPE go_memstats_mcache_sys_bytes gauge
go_memstats_mcache_sys_bytes 16384
# HELP go_memstats_mspan_inuse_bytes Number of bytes in use by mspan structures.
# TYPE go_memstats_mspan_inuse_bytes gauge
go_memstats_mspan_inuse_bytes 46104
# HELP go_memstats_mspan_sys_bytes Number of bytes used for mspan structures obtained from system.
# TYPE go_memstats_mspan_sys_bytes gauge
go_memstats_mspan_sys_bytes 65536
# HELP go_memstats_next_gc_bytes Number of heap bytes when next garbage collection will take place.
# TYPE go_memstats_next_gc_bytes gauge
go_memstats_next_gc_bytes 7.515136e+06
# HELP go_memstats_other_sys_bytes Number of bytes used for other system allocations.
# TYPE go_memstats_other_sys_bytes gauge
go_memstats_other_sys_bytes 1.266226e+06
# HELP go_memstats_stack_inuse_bytes Number of bytes in use by the stack allocator.
# TYPE go_memstats_stack_inuse_bytes gauge
go_memstats_stack_inuse_bytes 720896
# HELP go_memstats_stack_sys_bytes Number of bytes obtained from system for stack allocator.
# TYPE go_memstats_stack_sys_bytes gauge
go_memstats_stack_sys_bytes 720896
# HELP go_memstats_sys_bytes Number of bytes obtained from system.
# TYPE go_memstats_sys_bytes gauge
go_memstats_sys_bytes 7.2286456e+07
# HELP go_threads Number of OS threads created.
# TYPE go_threads gauge
go_threads 13
# HELP process_cpu_seconds_total Total user and system CPU time spent in seconds.
# TYPE process_cpu_seconds_total counter
process_cpu_seconds_total 0.85
# HELP process_max_fds Maximum number of open file descriptors.
# TYPE process_max_fds gauge
process_max_fds 1024
# HELP process_open_fds Number of open file descriptors.
# TYPE process_open_fds gauge
process_open_fds 11
# HELP process_resident_memory_bytes Resident memory size in bytes.
# TYPE process_resident_memory_bytes gauge
process_resident_memory_bytes 1.8489344e+07
# HELP process_start_time_seconds Start time of the process since unix epoch in seconds.
# TYPE process_start_time_seconds gauge
process_start_time_seconds 1.61424306631e+09
# HELP process_virtual_memory_bytes Virtual memory size in bytes.
# TYPE process_virtual_memory_bytes gauge
process_virtual_memory_bytes 9.495552e+08
# HELP process_virtual_memory_max_bytes Maximum amount of virtual memory available in bytes.
# TYPE process_virtual_memory_max_bytes gauge
process_virtual_memory_max_bytes -1
# HELP promhttp_metric_handler_requests_in_flight Current number of scrapes being served.
# TYPE promhttp_metric_handler_requests_in_flight gauge
promhttp_metric_handler_requests_in_flight 1
# HELP promhttp_metric_handler_requests_total Total number of scrapes by HTTP status code.
# TYPE promhttp_metric_handler_requests_total counter
promhttp_metric_handler_requests_total{code="200"} 110
promhttp_metric_handler_requests_total{code="500"} 0
promhttp_metric_handler_requests_total{code="503"} 0
# HELP wireguard_device_info Metadata about a device.
# TYPE wireguard_device_info gauge
wireguard_device_info{device="wg1",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_device_info{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
# HELP wireguard_peer_allowed_ips_info Metadata about each of a peer's allowed IP subnets for a given device.
# TYPE wireguard_peer_allowed_ips_info gauge
wireguard_peer_allowed_ips_info{allowed_ips="<IP_ADDRESS>/32",device="wg1",family="IPv4",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_allowed_ips_info{allowed_ips="<IP_ADDRESS>/32",device="wg0",family="IPv4",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_allowed_ips_info{allowed_ips="<IP_ADDRESS>/32",device="wg0",family="IPv4",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_allowed_ips_info{allowed_ips="<IP_ADDRESS>/32",device="wg0",family="IPv4",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_allowed_ips_info{allowed_ips="<IP_ADDRESS>/32",device="wg0",family="IPv4",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
# HELP wireguard_peer_info Metadata about a peer. The public_key label on peer metrics refers to the peer's public key; not the device's public key.
# TYPE wireguard_peer_info gauge
wireguard_peer_info{device="wg1",endpoint="xxxxxxxxxxxxxxxxxxxx",name="1",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_info{device="wg0",endpoint="",name="2",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_info{device="wg0",endpoint="",name="3",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_info{device="wg0",endpoint="xxxxxxxxxxxxxxxxxxxx",name="4",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
wireguard_peer_info{device="wg0",endpoint="xxxxxxxxxxxxxxxxxxxx",name="5",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1
# HELP wireguard_peer_last_handshake_seconds UNIX timestamp for the last handshake with a given peer.
# TYPE wireguard_peer_last_handshake_seconds gauge
wireguard_peer_last_handshake_seconds{device="wg1",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1.614245584e+09
wireguard_peer_last_handshake_seconds{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 0
wireguard_peer_last_handshake_seconds{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1.614245545e+09
wireguard_peer_last_handshake_seconds{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 0
wireguard_peer_last_handshake_seconds{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 1.61424557e+09
# HELP wireguard_peer_receive_bytes_total Number of bytes received from a given peer.
# TYPE wireguard_peer_receive_bytes_total counter
wireguard_peer_receive_bytes_total{device="wg1",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 995296
wireguard_peer_receive_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 0
wireguard_peer_receive_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 520388
wireguard_peer_receive_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 0
wireguard_peer_receive_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 3.951876e+06
# HELP wireguard_peer_transmit_bytes_total Number of bytes transmitted to a given peer.
# TYPE wireguard_peer_transmit_bytes_total counter
wireguard_peer_transmit_bytes_total{device="wg1",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 501912
wireguard_peer_transmit_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 0
wireguard_peer_transmit_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 182336
wireguard_peer_transmit_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 0
wireguard_peer_transmit_bytes_total{device="wg0",public_key="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} 2.3659596e+07

Yep, also experiencing this. Ends up being something like 50+ years in the dashboard. Likely a math error somewhere down the line?


measurement concern of the system

hello, you have done a great job on this project! I'm working on a sanning lidar based on polygon mirror, I have a critical question. Did you ever meet an issue that when laser rays emit to the mirror, some rays are then directly deflected to the APD lens and received by APD? In that case the distance measured is not right due to this kind of light interference. In my design, I have to use a plastic isolator to block this interference. I don't know is there such interference in your design, or the lidar system is not effected by this kind of interference due to TIA threshold, or TDC principle, etc.
Thank you and good luck!
Kind regards,
Clint

hello,
I upload a structure picture,

You can also watch this teardown video of valeo ibeo used on audi, the structure is very similiar.
https://www.bilibili.com/video/BV1dL411A77G?spm_id_from=333.999.0.0&vd_source=899f9c339bd72b974a002ec80689d231.
Did you ever make optical simulation with zemax or tracepro? It's important but very difficult.
By the way, I see MAX3658 is not good enough for your design, maybe you can try MAX3665.

"did you ever think about any commercial possiblity of your design or product?"
I think that similar or best Lidars are already exists at the market. LD06 is an example.
Yes, I'm living in Russia now. I don't know about commercial Russian Lidars. I know that non-scanning laser rangefinders are produced here, I heard that a custom-made special Lidars are produced for special industrial devices.
I think that this is because it is to hard to compete with USA/Europe/China Lidars here.

I think the advantage of LD06 is small size and cheap price, it's a very competitive product, but the technical design is poor, the parameters and performance are not clear enough or as good as they say.
I know very less about Russia than USA/Europe, but I know Europe and the world need oil and gas from Russia, and Russia is powerful because you have very strong weapon, and everything is in a dramatic change now. I also think your hard work for open lidar is worthy of respect.

hello, I'm here again and I met an issue in evaluation. I measured START and STOP signals with oscilloscope, in close distance(<30cm), when i moved the target object, the gap between these two pulses was not changed. I use hamamatsu APD and MAX3665. What's the possible reason of this issue, does it possibly caused by TIA? Thank you

!

Hello.
"when i moved the target object, the gap between these two pulses was not changed"
What is the distance of movement?
You can write me directly to the<EMAIL_ADDRESS>


Incorrect NavBar behaviour

I noticed that when tableview has less than three cells FacebookStyleBar misbehaves. I got this behaviour in my code as well as the provided demo code in this repository. However it works fine when there are lot of cells
Am i missing something?

You're not missing something - it's definitely a bug in the behavior definer. I'll have a look and get this fixed!

thanks

https://github.com/bryankeller/BLKFlexibleHeightBar/commit/f95f746c96ffac618fa0ed4bfdf6524ef3b3b484 fixes this. Thanks again for pointing this out to me!

thanks, it works nicely


Difference between encoding empty user states and abi.encode(0)

Encoding a StateLeaf struct with all zeros produces a different output then abi.encode(0). We've noticed that abi.encode(0) is used to represent a vacant state leaf.
An example where this differences may be exploited is a TRANSFER transaction where receiver is an empty state leaf.
The disputer would have to provide a witness for the receiver state leaf in:
https://github.com/thehubbleproject/hubble-contracts/blob/003235445e3b625211ed19de49bff6575a8bc94e/contracts/libs/Transition.sol#L157
But that's impossible to do since the witness leaf value is passed as a struct and it would be impossible to pass a struct which would have the same leaf hash as abi.encode(0).

Some examples to better understand this issue:
1. It is impossible to dispute a transfer from a nonexistent state leaf
In order to do so, you would provide the following UserState struct representing the sender state before transfer to the dispute method:
UserState {
    pubkeyID: 0,
    tokenID: 0,
    balance: 0,
    nonce: 0
}

Encoding of such UserState produces a different value than abi.encode(0) which is used to represent an empty state leaf.
Therefore the following require statement would fail, reverting the dispute transaction:
https://github.com/thehubbleproject/hubble-contracts/blob/003235445e3b625211ed19de49bff6575a8bc94e/contracts/libs/Transition.sol#L127-L135
Possible fix to no. 1
Encode zero UserStates as abi.encode(0). This fixes the problem with the failing state tree inclusion check. A transfer must have a nonzero amount therefore the balance check will fail approving the dispute:
https://github.com/thehubbleproject/hubble-contracts/blob/003235445e3b625211ed19de49bff6575a8bc94e/contracts/libs/Transition.sol#L182-L183
2. It is impossible to dispute a transfer to a nonexistent state leaf.
Similarly as in no. 1 the following require would fail, reverting the dispute transaction:
https://github.com/thehubbleproject/hubble-contracts/blob/003235445e3b625211ed19de49bff6575a8bc94e/contracts/libs/Transition.sol#L155-L162
The Possible fix to no. 1 would stop the require statement from failing but would not make such transfer disputable.
3. It is impossible to dispute a fraudulent transfer that in the same commitment is preceded by a transfer from/to a nonexistent state leaf
The failing require statements mentioned in no. 1 and 2 would prevent a dispute transaction to finish.
The Possible fix to no. 1 would solve this issue.

Another possible fix could be changing the representation of a vacant state leaf to a hash of abi.encodePacked(0, 0, 0, 0) (current encoding of a zero UserState). This would however require changes to other pieces of the SCs. For instance, SubtreeVacancyProofs passed to submitDeposits relay on the fact that abi.encode(0) is the vacant state leaf.

Making a zero'd user state (0, 0, 0, 0) encode to abi.encode(0) appears to solve this issue https://github.com/thehubbleproject/hubble-contracts/pull/655/files#diff-f2cdceb56d3a8c8a457906a15fe58b0cdc283d6202375c7afeb61b2f485d6979 . However, a zero user state leaf is a valid state leaf. It points to the first pubkey, for the first token, with no balance and no txs. This state leaf is commonly created in tests, and is likely to be created as a fee receiver for the first proposer on a hubble network. There also is no reason why someone could not create more of them to have multiple balances for the first token. This might be more common in mainnet deploys where we would provide an option to skip the ExampleToken (now CustomToken with Example/EMP constructor params) and something like WETH or DAI is the first registered token at tokenID 0.
Ideally, we could allow a watcher to call disputeTransitionTransfer where instead of a UserState being part of a proof, they instead can pass in the empty leaf state (abi.encode(0)). But this would break a lot of validation logic as other steps depend on that proof having user state data.
Another option is to have a zero state encode to 0 per workaround at top, and ban/prevent contract callers from creating deposits, bulk deposits, or c2t's that are zero user states. This adds complexity/gas costs to other contract function calls, but would also have the benefit of preventing callers from accidentally passing in likely bad data after initial hubble network setup.
Thoughts? @ChihChengLiang your input would be appreciated as well.

Another thing to add, working on the test case for the non-existent toIndex. I think the initial requires in Transition.sol.processSender and processReceiver should to switch to become new Result enum values, such as BadFromIndex and BadToIndex. This would allow disputes on invalid L2 txs that are submitted on L1 to successfully trigger a rollback rather than fail the dispute L1 txn. This would also impact Create2Transfer and MassMigration which I am less familiar with.

a zero user state leaf is a valid state leaf. It points to the first pubkey, for the first token, with no balance and no txs. This state leaf is commonly created in tests, and is likely to be created as a fee receiver for the first proposer on a hubble network.

There are other options we can use for empty states.
# pubkeyID ranges from [0, 2^32-1], 2^32 is a pubkeyID no one can get
(2^32, 2^32, 0, 0)
# This is -1 in uint256
(2^256 - 1, 2^256 - 1, 0, 0)

For pubkeyID, we can choose a number that's larger than the biggest possible pubkey tree index.
For tokenID, we can set the largest tokenID possible and bound that number in the TokenRegistry.
For balance, choose 0 to rule out any chance of printing out money.
For nonce, probably doesn't matter.

Another possible fix without defining the preimage empty state is letting the disputer submit the stateHash.
// disputer first justify the inclusion of stateHash
require(
    MerkleTree.verify(
        stateRoot,
        stateHash,
        senderStateIndex,
        proof.witness
    ),
    "Transition: Sender does not exist"
);
// check if sender is empty
if (stateHash == ZERO_BYTES32) return Types.Result.TransferFromNonexistentSender;
// sender is non-empty, the disputer now have to justify the preimage of the state
require(stateHash == keccak256(proof.state.encode(), "stateHash mismatch");
... other checks

This alternative comes with additional costs of witnessing a stateHash and a separate require check for stateHash.

From offline discussion of tradeoffs with @ChihChengLiang :
If we use a special value for empty states (preimage), we will need to update all zero hashes and default state roots to match the new value. This keeps the interface to disputeTransitionTransfer and other dispute calls intact, but will also require clients to update those zero values and initial states as well if they are not pulling them from contracts at startup.
If we let the disputer submit the stateHash as part of the dispute, we do not need a special value and can add the additional check pseudocode above. This will break the Rollup contract interface as it is an require updates in clients/components to match the new function signature and args. It will also increase dispute gas cost.
Going to let this bake for a bit before deciding on a path forward. Additional input/feedback appreciated.

... can add the additional check pseudocode above.

Just want to add that we still need to check stateHash == ZERO_BYTES32 if we do the preimage approach.
The code would look similar but the benefit is no change in function signatures.
stateHash = keccak256(proof.state.encode());
// disputer first justify the inclusion of stateHash
require(
    MerkleTree.verify(
        stateRoot,
        stateHash,
        senderStateIndex,
        proof.witness
    ),
    "Transition: Sender does not exist"
);
// check if sender is empty
if (stateHash == ZERO_BYTES32) return Types.Result.TransferFromNonexistentSender;


Use standard traits for FromStr

Motivation
FromStr helps a lot of other tools properly parse types without having to go find the functions related.  Since these already exist, it should make it easier.
Also, allow AccountAddress to load with 0x in front.  I'm not going to try to deal with the output path in this PR.
Have you read the Contributing Guidelines on pull requests?
Yes
Test Plan
The current unit tests

Please consider you can't update aptos to this change yet because there are incompatibilities in the core apis which meed to be resolved first. @vgao1996


Add tests for the watcher

The watcher test has been added by @pana-cc. Tests for the windows platform are still missing due to issues with terminating the external process. We need to investigate this in the future.


Optional Blobstore agent creds

What is this change about?
Here we have the agent credentials for local Blobstore become optional, because implementing signed URLs means they are not required anymore.
Please provide contextual information.
When operators opt for signed URLs, they should not be forced to specify any username and password for the agent to access the blobstore.
Maybe worth to note, Pivotal/VMware has had a similar related story, left unfinished though: https://www.pivotaltracker.com/n/projects/956238/stories/169966865
Related PRs

cloudfoundry/bosh-deployment#423
cloudfoundry/docs-bosh#755

What tests have you run against this PR?
Unit tests for the BOSH Release templates are passing, as executed with (cd src && bundle exec rspec ../spec).
How should this change be described in bosh release notes?

When using signed URLs, the credentials for the agent to access the local Blobstore are not required anymore.

Does this PR introduce a breaking change?
No breaking change is introduced here, but missing agent credentials with a blobstore.enable_signed_urls of false is a new potential pitfall.
Tag your pair, your PM, and/or team!
Co-Authored-By: @OliverMautschke

I've pushed some changes to take your remarks into account @beyhan


Weird behaviour when NetworkManager is running

cos-toolkit version:
main
CPU architecture, OS, and Version:
ALL - Teal
Describe the bug
Looks like when NetworkManager is in the base image, it can cause issues. For example creating 2 different connections for the same device:
cos:~ # nmcli con
NAME                UUID                                  TYPE      DEVICE
eth0                5e8e5efe-d8f3-4f14-acbe-2adcaddd558d  ethernet  eth0
Wired connection 1  0ccf4fa6-498c-3272-8c39-e8cfb566a1d6  ethernet  --

This is NOT correct as only an automatic connection should be created. Usually is called Wired connection but as you can see on the log, it has no device.
This also seems to make resolv.conf empty
If the device eth0 is disconnected and connected then everything goes back to normal.
cos:~ # nmcli dev disconnect eth0; nmcli dev connect eth0
cos:~ # nmcli con show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  0ccf4fa6-498c-3272-8c39-e8cfb566a1d6  ethernet  eth0
cos:~ # cat /etc/resolv.conf
### /etc/resolv.conf is a symlink to /var/run/netconfig/resolv.conf
### autogenerated by netconfig!
#
# Before you change this file manually, consider to define the
# static DNS configuration using the following variables in the
# /etc/sysconfig/network/config file:
#     NETCONFIG_DNS_STATIC_SEARCHLIST
#     NETCONFIG_DNS_STATIC_SERVERS
#     NETCONFIG_DNS_FORWARDER
# or disable DNS configuration updates via netconfig by setting:
#     NETCONFIG_DNS_POLICY=''
#
# See also the netconfig(8) manual page and other documentation.
#
### Call "netconfig update -f" to force adjusting of /etc/resolv.conf.
nameserver <IP_ADDRESS>

NM journal
Oct 07 07:57:41 cos systemd[1]: Starting Network Manager...
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.1626] NetworkManager (version 1.38.2) is starting... (for the first time)
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.1627] Read config: /etc/NetworkManager/NetworkManager.conf (run: 10-dracut-dhclient.conf)
Oct 07 07:57:41 cos systemd[1]: Started Network Manager.
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.1904] bus-manager: acquired D-Bus service "org.freedesktop.NetworkManager"
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.1927] manager[0x55c187a07010]: monitoring kernel firmware directory '/lib/firmware'.
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3146] hostname: hostname: using hostnamed
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3146] hostname: static hostname changed from (none) to "cos"
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3149] dns-mgr[0x55c1879e2430]: init: dns=default,systemd-resolved rc-manager=netconfig (auto)
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3226] manager[0x55c187a07010]: rfkill: Wi-Fi hardware radio set enabled
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3226] manager[0x55c187a07010]: rfkill: WWAN hardware radio set enabled
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3251] Loaded device plugin: NMWifiFactory (/usr/lib64/NetworkManager/1.38.2/libnm-device-plugin-wifi.so)
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3251] manager: rfkill: Wi-Fi enabled by radio killswitch; enabled by state file
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3252] manager: rfkill: WWAN enabled by radio killswitch; enabled by state file
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3252] manager: Networking is enabled by state file
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3253] settings: Loaded settings plugin: keyfile (internal)
Oct 07 07:57:41 cos NetworkManager[1075]: <warn>  [1665129461.3259] dhcp-init: DHCP client 'dhclient' not available
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3259] dhcp-init: Using DHCP client 'internal'
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3259] device (lo): carrier: link connected
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3260] manager: (lo): new Generic device (/org/freedesktop/NetworkManager/Devices/1)
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3265] device (eth0): carrier: link connected
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.3266] manager: (eth0): new Ethernet device (/org/freedesktop/NetworkManager/Devices/2)
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6061] manager: startup complete
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6073] device (eth0): state change: unmanaged -> unavailable (reason 'connection-assumed', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6079] settings: (eth0): created default wired connection 'Wired connection 1'
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6080] device (eth0): state change: unavailable -> disconnected (reason 'connection-assumed', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6084] device (eth0): Activation: starting connection 'eth0' (478766a3-2979-44b0-b0d8-c585b2b0b896)
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6085] device (eth0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6086] device (eth0): state change: prepare -> config (reason 'none', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6087] device (eth0): state change: config -> ip-config (reason 'none', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6087] device (eth0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6139] device (eth0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6140] device (eth0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'external')
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6142] manager: NetworkManager state is now CONNECTED_LOCAL
Oct 07 07:57:41 cos NetworkManager[1075]: <info>  [1665129461.6144] device (eth0): Activation: successful, device activated.
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.3842] device (eth0): state change: activated -> deactivating (reason 'user-requested', sys-iface-state: 'external')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.3851] manager: NetworkManager state is now DISCONNECTED
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.3869] audit: op="device-disconnect" interface="eth0" ifindex=2 pid=1343 uid=0 result="success"
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4157] device (eth0): state change: deactivating -> disconnected (reason 'user-requested', sys-iface-state: 'external')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4633] agent-manager: agent[30ac388b71e629e9,:1.16/nmcli-connect/0]: agent registered
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4659] device (eth0): Activation: starting connection 'Wired connection 1' (0ccf4fa6-498c-3272-8c39-e8cfb566a1d6)
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4660] audit: op="connection-activate" uuid="0ccf4fa6-498c-3272-8c39-e8cfb566a1d6" name="Wired connection 1" pid=1354 uid=0 result="success"
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4661] device (eth0): state change: disconnected -> prepare (reason 'none', sys-iface-state: 'managed')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4666] manager: NetworkManager state is now CONNECTING
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4668] device (eth0): state change: prepare -> config (reason 'none', sys-iface-state: 'managed')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4679] device (eth0): state change: config -> ip-config (reason 'none', sys-iface-state: 'managed')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4686] dhcp4 (eth0): activation: beginning transaction (timeout in 45 seconds)
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4771] dhcp4 (eth0): state changed new lease, address=<IP_ADDRESS>
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4802] device (eth0): state change: ip-config -> ip-check (reason 'none', sys-iface-state: 'managed')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4885] device (eth0): state change: ip-check -> secondaries (reason 'none', sys-iface-state: 'managed')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4889] device (eth0): state change: secondaries -> activated (reason 'none', sys-iface-state: 'managed')
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4908] manager: NetworkManager state is now CONNECTED_LOCAL
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4960] manager: NetworkManager state is now CONNECTED_SITE
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.4965] policy: set 'Wired connection 1' (eth0) as default for IPv4 routing and DNS
Oct 07 07:58:35 cos NetworkManager[1075]: <info>  [1665129515.8213] device (eth0): Activation: successful, device activated.
Oct 07 07:58:36 cos NetworkManager[1075]: <info>  [1665129516.1988] manager: NetworkManager state is now CONNECTED_GLOBAL

tested directly from the iso, same behaviour so this is not vagrant related. The iso doesnt have the same problem though....on the iso only the automatic connection shows up.

ok, found out that the state value of the eth0 connection which is connected (externally) means that NM thinks that something else is managing that interface so it doesnt touch it, just adds it to the list and assumes its connected.
Im not sure what the hell is touching that interface or managing it...wicked is not involved anymore...same thing doesnt happen on something like elemental-teal ....weird stuff.

this was fixed and the issue was expected.


E621 not working/displaying image results

When I search for something, nothing comes up displayed under E621, I click the link to the search page and there are indeed images on that character present.
This started occurring some time back but I decided to wait to see if an update would fix it, no improvement.

Marking as duplicate of issue #1895.
Please post there if you have additional questions. FYI, e621 is already fixed in nightly releases 👍


chip_io.def contains 0.5nm real coordinate despite UNITS .. MICRONS 1000

Even though it seems that the si2 based def parsers reads this def file, it leads to ambiguity.
a) what tool writes coordinates as real numbers ?
b) why write 0.5um coordinates when the units are set to 1000dbu (1=1nm) ?
def/chip_io.def
6    UNITS DISTANCE MICRONS 1000 ;
7667       NEW met3  ( 3354120 2322992.5 ) ( 3384240 * )

(a) Probably magic.
(b) Probably obscure reasons.
Sometime recently, someone did a search on how to read an arbitrary layout into DEF using open source tools, and the only useful result showed how to do it in magic.  So apparently magic is the only open source tool that can do this.  I wrote the LEF/DEF parser and generator decades ago but never had any particular use for the DEF generator, so it has remained in a development state for many years.  It did manage to do the job of converting the partly hand-placed, hand-routed padframe design back into a DEF file, though.  Some quirks are to be expected.

@stefanottili :  I'd appreciate it if you could open this as an issue in github.com/RTimothyEdwards/magic, for the issue of generating an off-grid point.  I put in code to write out a fractional value to be able to catch any instance like this of magic thinking a point is not on the grid.  Everything in the design must be on-grid by definition in magic, so I don't know what it thought it was doing when it generated that value.

@stefanottili :  And yes, the problem that I was trying to solve when I generated the DEF was that I had modified parts of the routing manually and wanted to read the DEF file back into OpenROAD with the manual modifications, and at least for the purpose needed, the DEF output from magic was good enough.


🐛 [firebase_crashlytics] Plugin is ignoring firebase_crashlytics_collection_enabled manifest flag

Bug report
Describe the bug
The plugin is initializing the data collection in the first app launch even if the firebase_crashlytics_collection_enabled meta tag is set to false in AndroidManifest.
Steps to reproduce
Steps to reproduce the behavior:

Create a flutter app with firebase_crashlytics
Disable automatic data collection in AndroidManifest:

<meta-data
            android:name="firebase_crashlytics_collection_enabled"
            android:value="false" />

The app must be configured to catch all kind of errors, in the main.dart file:

Future<void> main() async {
  runZonedGuarded<Future<void>>(() async {
    WidgetsFlutterBinding.ensureInitialized();

    await Firebase.initializeApp();
    FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterError;

    runApp(App());
  }, (error, stack) => FirebaseCrashlytics.instance.recordError(error, stack));
}

Launch app with Firebase initialization

Expected behavior
Crashlytics data collection should be disabled until FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true) is explicitly called. Watching at his logs one can see that the data collection is disabled because of the manifest setting, but is inmediatelly enabled by API internally:

08-24 10:10:33.154 28254 28254 I FirebaseCrashlytics: Initializing Firebase Crashlytics 18.0.1 for x.x.x
08-24 10:10:33.158 28254 28254 D FirebaseCrashlytics: Crashlytics automatic data collection DISABLED by firebase_crashlytics_collection_enabled manifest flag.
08-24 10:10:33.174 28254 28254 D FirebaseCrashlytics: Registered Firebase Analytics listener.
08-24 10:10:33.175 28254 28254 D FirebaseCrashlytics: Mapping file ID is: bafb2a7b0ead4da8847a88dc782c1e34
08-24 10:10:33.182 28254 28254 D FirebaseCrashlytics: Checking for cached settings...
08-24 10:10:33.183 28254 28254 D FirebaseCrashlytics: No cached settings data found.
08-24 10:10:33.194 28254 28254 D FirebaseCrashlytics: Successfully configured exception handler.
08-24 10:10:33.194 28254 29875 D FirebaseCrashlytics: Crashlytics automatic data collection DISABLED by firebase_crashlytics_collection_enabled manifest flag.
08-24 10:10:33.215 28254 29875 D FirebaseCrashlytics: Opening a new session with ID 6124A97900C200016E5E9D7F147F7B98
08-24 10:10:33.287 28254 29875 D FirebaseCrashlytics: Registered Firebase Analytics event receiver for breadcrumbs
08-24 10:10:33.705 28254 28254 D FirebaseCrashlytics: Crashlytics automatic data collection ENABLED by API.

The last entry that is enabling the data collection is done without any intervention from the implementing app.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.3, on Linux, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2020.3)
[✓] Android Studio (version 2020.3)
[✓] IntelliJ IDEA Community Edition (version 2021.1)
[✓] VS Code (version 1.59.1)
[✓] Connected device (3 available)

• No issues found!

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.13.4
Flutter SDK 2.2.3
wifi_qr_connect_flutter 2.7.0+39

dependencies:
- app_settings 4.1.0 [flutter]
- app_tracking_transparency 2.0.1 [flutter]
- async_preferences 0.5.0 [flutter]
- barcode_parser 0.1.0 [flutter validators]
- billing_lib 3.0.0+4 [flutter cupertino_icons intl flutter_platform_widgets]
- common_lib 8.0.0+24 [flutter cupertino_icons intl package_info url_launcher flutter_platform_widgets webview_flutter open_store logger]
- connectivity 3.0.6 [flutter meta connectivity_platform_interface connectivity_macos connectivity_for_web]
- cupertino_icons 1.0.3
- device_info 2.0.2 [flutter device_info_platform_interface]
- devicelocale 0.4.2 [flutter flutter_web_plugins]
- firebase_analytics 8.3.0 [firebase_analytics_platform_interface firebase_analytics_web firebase_core flutter meta]
- firebase_core 1.5.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_crashlytics 2.2.0 [firebase_core firebase_core_platform_interface firebase_crashlytics_platform_interface flutter stack_trace]
- firebase_remote_config 0.10.0+4 [firebase_core firebase_core_platform_interface firebase_remote_config_platform_interface flutter]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection meta path typed_data vector_math]
- flutter_platform_widgets 1.9.5 [flutter]
- google_mobile_ads 0.13.2+1 [meta flutter]
- in_app_review 2.0.2 [flutter in_app_review_platform_interface]
- intl 0.17.0 [clock path]
- introduction_screen 2.1.0 [flutter dots_indicator]
- logger 1.0.0
- open_store 0.2.4 [flutter url_launcher]
- package_info 2.0.2 [flutter]
- path 1.8.0
- path_provider 2.0.2 [flutter path_provider_platform_interface path_provider_macos path_provider_linux path_provider_windows]
- permission_handler 8.1.3 [flutter meta permission_handler_platform_interface]
- privacy_lib 0.0.1 [flutter intl flutter_platform_widgets common_lib async_preferences]
- provider 5.0.0 [collection flutter nested]
- purchases_flutter 3.4.1 [flutter collection]
- qr_code_scanner 0.5.1 [js flutter flutter_web_plugins]
- qr_flutter 4.0.0 [flutter qr]
- share 2.0.4 [meta mime flutter]
- sqflite 2.0.0+3 [flutter sqflite_common path]
- wakelock 0.5.2 [flutter meta wakelock_macos wakelock_platform_interface wakelock_web wakelock_windows]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]
- lint 1.6.0
- mocktail 0.1.4 [collection matcher test]

transitive dependencies:
- _fe_analyzer_shared 22.0.0 [meta]
- analyzer 1.7.1 [_fe_analyzer_shared cli_util collection convert crypto glob meta package_config path pub_semver source_span watcher yaml pedantic]
- args 2.2.0
- async 2.6.1 [meta collection]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.1.0
- charcode 1.2.0
- cli_util 0.3.3 [meta path]
- clock 1.1.0
- collection 1.15.0
- connectivity_for_web 0.4.0 [connectivity_platform_interface flutter_web_plugins flutter]
- connectivity_macos 0.2.0 [flutter]
- connectivity_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- convert 3.0.1 [typed_data]
- coverage 1.0.3 [args logging package_config path source_maps stack_trace vm_service]
- crypto 3.0.1 [collection typed_data]
- device_info_platform_interface 2.0.1 [flutter meta plugin_platform_interface]
- dots_indicator 2.0.0 [flutter]
- fake_async 1.2.0 [clock collection]
- ffi 1.1.2
- file 6.1.2 [meta path]
- firebase 9.0.1 [http http_parser js]
- firebase_analytics_platform_interface 2.0.1 [flutter meta]
- firebase_analytics_web 0.3.0+1 [firebase firebase_analytics_platform_interface flutter flutter_web_plugins meta]
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_crashlytics_platform_interface 3.1.1 [collection firebase_core flutter meta plugin_platform_interface]
- firebase_remote_config_platform_interface 0.3.0+4 [firebase_core flutter meta plugin_platform_interface]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- glob 2.0.1 [async collection file path pedantic string_scanner]
- http 0.13.3 [async http_parser meta path pedantic]
- http_multi_server 3.0.1 [async]
- http_parser 4.0.0 [charcode collection source_span string_scanner typed_data]
- in_app_review_platform_interface 2.0.2 [flutter url_launcher plugin_platform_interface platform]
- io 1.0.3 [meta path string_scanner]
- js 0.6.3
- logging 1.0.1
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- mime 1.0.0
- nested 1.0.0 [flutter]
- node_preamble 2.0.1
- package_config 2.0.0 [path]
- path_provider_linux 2.0.0 [path xdg_directories path_provider_platform_interface flutter]
- path_provider_macos 2.0.0 [flutter]
- path_provider_platform_interface 2.0.1 [flutter meta platform plugin_platform_interface]
- path_provider_windows 2.0.1 [path_provider_platform_interface meta path flutter ffi win32]
- pedantic 1.11.1
- permission_handler_platform_interface 3.6.1 [flutter meta plugin_platform_interface]
- platform 3.0.0
- plugin_platform_interface 2.0.1 [meta]
- pool 1.5.0 [async stack_trace]
- process 4.2.1 [file path platform]
- pub_semver 2.0.0 [collection]
- qr 2.1.0 [meta]
- shelf 1.2.0 [async collection http_parser path stack_trace stream_channel]
- shelf_packages_handler 3.0.0 [path shelf shelf_static]
- shelf_static 1.1.0 [convert http_parser mime path shelf]
- shelf_web_socket 1.0.1 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_map_stack_trace 2.1.0 [path stack_trace source_maps]
- source_maps 0.10.10 [source_span]
- source_span 1.8.1 [collection path term_glyph]
- sqflite_common 2.0.0+2 [synchronized path meta]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- synchronized 3.0.0
- term_glyph 1.2.0
- test 1.16.8 [analyzer async boolean_selector collection coverage http_multi_server io js node_preamble package_config path pedantic pool shelf shelf_packages_handler shelf_static shelf_web_socket source_span stack_trace stream_channel typed_data web_socket_channel webkit_inspection_protocol yaml test_api test_core]
- test_api 0.3.0 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- test_core 0.3.19 [analyzer async args boolean_selector collection coverage glob io meta package_config path pedantic pool source_map_stack_trace source_maps source_span stack_trace stream_channel vm_service yaml matcher test_api]
- typed_data 1.3.0 [collection]
- url_launcher 6.0.9 [flutter meta url_launcher_linux url_launcher_macos url_launcher_platform_interface url_launcher_web url_launcher_windows]
- url_launcher_linux 2.0.0 [flutter]
- url_launcher_macos 2.0.0 [flutter]
- url_launcher_platform_interface 2.0.4 [flutter plugin_platform_interface]
- url_launcher_web 2.0.1 [flutter flutter_web_plugins meta url_launcher_platform_interface]
- url_launcher_windows 2.0.0 [flutter]
- validators 3.0.0
- vector_math 2.1.0
- vm_service 6.2.0
- wakelock_macos 0.1.0+1 [flutter flutter_web_plugins wakelock_platform_interface]
- wakelock_platform_interface 0.2.1+1 [flutter meta]
- wakelock_web 0.2.0+1 [flutter flutter_web_plugins js wakelock_platform_interface]
- wakelock_windows 0.1.0 [flutter wakelock_platform_interface win32]
- watcher 1.0.0 [async path pedantic]
- web_socket_channel 2.1.0 [async crypto stream_channel]
- webkit_inspection_protocol 1.0.0 [logging]
- webview_flutter 2.0.10 [flutter]
- win32 2.2.5 [ffi]
- xdg_directories 0.2.0 [meta path process]
- yaml 3.1.0 [collection source_span string_scanner]

Hi @svprdga
Have you called
FirebaseCrashlytics.instance.setCrashlyticsCollectionEnabled(true);

at any point in the app?
What device does this occur on?
Thank you

@markusaksli-nc
I have done further tests in both Android and iOS and I have discovered that the behaviour of the library is correct, I was confused because of the log trace.
Thanks anyway.


Slow performance

Hi,
I'm running some experiments to evaluate the time needed to create a list of pairs to compute. Using the python sample code given in the notebook, with a random matrix of size 100 it takes 2 sec on GPU and after 10 minutes on CPU, I stopped it.
Given that I would like to use it on matrices of size > 1000,  my questions are:

Am I doing something wrong with it?
Is the example running in approximate mode? (the MatLab folder has an approx version, while the python no)
Would be possible to parallelize the code? In the sense, is the algorithm parallelizable, without much effort, on CPU, with something like numba for example?

Thanks for the info

Here is the code i use:
import time
import asap_gpu
import asap_cpu
import numpy as np
GPU = False
for i in [70]:

    pwc_mat = np.random.randint(low=20, size=(i, i))
    t1 = time.perf_counter()
    if GPU:
        pairs = asap_gpu.ASAP(pwc_mat, mst_mode=True, cuda=True)
    else:
        N = np.shape(pwc_mat)[0]
        asap = asap_cpu.ASAP(N, selective_eig = True)
        pairs_to_compare = asap.run_asap(pwc_mat, mst_mode=True)
    t2 = time.perf_counter()
    print("Indeces from pwc_mat to compare:")
    print(pairs)

    print(f'Size {i} - Finished in {t2-t1} seconds')

Hi Cezar,
Thanks for raising the issue! So with regards to your questions:

Yes! You are doing everything right.
I am planning to release an approximate version in the coming week. Although it does bring the computational speed up, it is achieved it the cost of accuracy. So if the computational performance is of concern I would strongly advice using the GPU version.
Yes the code is very easy to parallelise on CPU. In fact, the heaviest computations happening in these two nested loops are completely independent  and can be very easily parallelised https://github.com/gfxdisp/asap/blob/ff71f49a1e508136a1a8fcc738fa238e2472f016/python/asap_cpu.py#L124

I will have a chance to have a deeper look into parallelising on CPU next weekend.
Otherwise please let me know if there is anything else I can help you with :)
Best,
Aliaksei

Hi Aliaksei, thanks for the reply!
I will try to parallelize it and see if it runs faster; I'm currently checking all parallel libraries in Python, and will be a nice real case task. In case I get something before the weekend, I will make a PR.
I currently switched to the GPU code without CUDA, so I run Torch on the CPU and work super fast (almost as the laptop GPU). So I'm now looking for ways to reduce the memory footprint, as I'm having issues with memory usage. 100x100 matrix uses 12GB of RAM.
A bit of an OT question, I read the paper, and from it, I understand that ASAP works faster and converges sooner to the optimum. However, this requires heavy computations and is not designed to be run on desktops (non-server machines). Therefore, as I'm not familiar with the domain, and I only (I know I'm asking for a lot) want to have a fast and easy way to reduce the workload on annotators (as they are volunteers), and also don't have fundings for a large server with GPU, can you suggest, if there is any quick and dirty solution for CPU with  > 1K of samples?
I was thinking of having a sliding matrix (size ~300 or ~500) run over the > 1K matrix. However, the picked 'best' pairs will be local and might end in a worse place than a naive approach.
Thanks!

Hi Cesar,
By all means you are very welcome to create a PR! We would be very grateful for your contribution!
As for a quicker less optimal solution, a sliding window might not be such a bad idea. You could also reduce the number of iterations in the posterior estimation of the trueskill algorithm, however that will also come at the cost of accuracy. Potentially you could also make selective EIG evaluations more aggressive. If the time waits I will be able to add these modifications over the weekend.
Thanks,
Aliaksei


Write a Kotlin program to find sum of cubes of numbers

Description
Write a Kotlin program to find sum of cubes of numbers
Suppose you have a list of numbers, and you want to find the sum of the cubes of those numbers. For example, if you have the list [1, 2, 3], you want to find the sum of the cubes of those numbers, which is 1^3 + 2^3 + 3^3 = 36.
Input  : 1 2 3 4 5
Output : 225

How to contribute

Save the solution in FindSumOfCubesOfNumbers.kt file
Add FindSumOfCubesOfNumbers.kt file in find-sum-of-cubes-of-numbers folder

!assign


Database Disk Image Is Malformed: Query Record was not Recorded as Expected

Every time I try running a query in SQLLab I receive the following error:
` sqlite3.DatabaseError: database disk image is malformed
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/pcuser/venv/lib/python3.8/site-packages/superset/views/core.py", line 2508, in sql_json_exec
session.flush()
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2536, in flush
self._flush(objects)
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2678, in flush
transaction.rollback(capture_exception=True)
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/util/langhelpers.py", line 68, in exit
compat.raise(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise
raise exception
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/orm/session.py", line 2638, in _flush
flush_context.execute()
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/orm/unitofwork.py", line 422, in execute
rec.execute(self)
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/orm/unitofwork.py", line 586, in execute
persistence.save_obj(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/orm/persistence.py", line 239, in save_obj
_emit_insert_statements(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/orm/persistence.py", line 1135, in _emit_insert_statements
result = cached_connections[connection].execute(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1011, in execute
return meth(self, multiparams, params)
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/sql/elements.py", line 298, in _execute_on_connection
return connection._execute_clauseelement(self, multiparams, params)
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1124, in _execute_clauseelement
ret = self._execute_context(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1316, in _execute_context
self.handle_dbapi_exception(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1510, in handle_dbapi_exception
util.raise(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/util/compat.py", line 182, in raise
raise exception
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/engine/base.py", line 1276, in _execute_context
self.dialect.do_execute(
File "/home/pcuser/venv/lib/python3.8/site-packages/sqlalchemy/engine/default.py", line 593, in do_execute
cursor.execute(statement, parameters)
sqlalchemy.exc.DatabaseError: (sqlite3.DatabaseError) database disk image is malformed
[SQL: INSERT INTO "query" (extra_json, client_id, database_id, tmp_table_name, tmp_schema_name, user_id, status, tab_name, sql_editor_id, schema, sql, select_sql, executed_sql, "limit", select_as_cta, select_as_cta_used, ctas_method, progress, rows, error_message, results_key, start_time, start_running_time, end_time, end_result_backend_time, tracking_url, changed_on) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]
[parameters: ('{}', 'hecOT_KU5', 2, '', 'dbo', '1', <QueryStatus.RUNNING: 'running'>, 'Query dbo.Query dbo.admin ds-Signals/Full - General ( METER exclusive)-

03/10/2021 07:57:17', '4jVFSPyE-t', 'dbo', "SELECT optimized.name, optimized.signalname, origin.signalname as signame2, optimized.optval, optimized.DateCreatedUTC, optimized.WeekDay, optimized. ... (1985 characters truncated) ... ed.WeekDay=origin.weekday2\r\nWhere optimized.testerr = origin.test \r\n\r\nAND optimized.DateCreatedUTC > DATEADD(dd, -7, GetDate())\r\n\r\n\r\n\t\r", None, None, None, 0, 0, 'TABLE', 0, None, None, None, None, None, None, None, '2021-03-16 05:56:20.511112')]
(Background on this error at: http://sqlalche.me/e/13/4xp6)`
###Actual Results
Even when I try a simple SELECT * FROM ____ I get a "Query Record was not recorded as expected" with an instant timeout.
The issue just started happening last week. Oddly enough the current dashboard seems to be pulling data from the datasource fine, SQLLab however cannot.
Worth mentioning that SQL Lab recognizes the tables in my database, just cannot pull any of it.
Screenshots
If applicable, add screenshots to help explain your problem.
How to reproduce the bug

Go to SQL LAB
Type in Query
Run Query

Environment
(please complete the following information):

superset version: 1.0.1
python version: 3.8
node.js version: 10.19.0

Checklist
Make sure to follow these steps before submitting your issue - thank you!

[x] I have checked the superset logs for python stack traces and included it here as text if there are any.
[x] I have reproduced the issue with at least the latest released version of superset.
[x] I have checked the issue tracker for the same issue and I haven't found one similar.

@linkparabole this looks like a problem with SQLite, can you query it outside of Superset?


Automate StopLight.io's Prism mock server on Travis CI and locally

Issue Summary
In the Travis CI and local environment:

Download the appropriate Prism binary (if it does not exist on the system)
Start Prism, using SendGrid's swagger (oai) definition
Run the Unit Tests
Shut Down Prism

References
https://stoplight.io/prism
https://raw.githubusercontent.com/sendgrid/sendgrid-oai/master/oai_stoplight.json
We have already done this in these libraries:
Python:
https://github.com/sendgrid/sendgrid-python/blob/master/.travis.yml#L14
https://github.com/sendgrid/sendgrid-python/blob/master/test/prism.sh
https://github.com/sendgrid/sendgrid-python/blob/master/test/test_sendgrid.py#L22
PHP:
https://github.com/sendgrid/sendgrid-php/blob/master/.travis.yml#L3
https://github.com/sendgrid/sendgrid-php/blob/master/test/prism.sh
https://github.com/sendgrid/sendgrid-php/blob/master/test/unit/SendGridTest.php#L13
C#:
https://github.com/sendgrid/sendgrid-csharp/blob/master/.travis.yml#L9
https://github.com/sendgrid/sendgrid-csharp/tree/master/prism
https://github.com/sendgrid/sendgrid-csharp/blob/master/SendGrid/UnitTest/UnitTest.cs#L23
Go:
https://github.com/sendgrid/sendgrid-go/blob/master/.travis.yml#L4
https://github.com/sendgrid/sendgrid-go/blob/master/prism.sh
https://github.com/sendgrid/sendgrid-go/blob/master/sendgrid_test.go#L35

I'd like to take this up!

Thanks @tsriram! That's awesome!
Could you please send over a signed CLA so that we will be able to merge your changed? Thanks!

@thinkingserious do I need to physically sign the CLA, scan and send it by email? Or just filling in the details & sending it by email will do?

Hello @tsriram,
You can scan and email it. You can also use a PDF app that allows you to digitally sign or a service like www.docusign.com.

@thinkingserious I'm going to be on vacation till Oct 23 and couldn't start work on this yet. Will start once I'm back if nobody is taking it up till then.

@tsriram,
Congrats on the vacation, see you when you get back. Enjoy!

Hi @tsriram,
How are things going? Is there anything I can do to help?

@thinkingserious sorry for responding late. Have been caught up with a lot of work after vacation as we have a release in early November. I'm afraid if I'll be able to work on this till then :frowning_face:

@tsriram,
No worries, thanks for following up!

Hello @tsriram,
Are you still interested in continuing this work? We are currently beginning work on a redesign and completing this would be very helpful.
With Best Regards,
Elmer

Hey @SendGridDX, I won't be able to work on this now as I've too many things to look after. Sorry guys :(

No problem @tsriram,
Thanks for letting us know.

Completed with this release: https://github.com/sendgrid/sendgrid-nodejs/releases/tag/v5.1.0