Dynamic Html Element Attribute throws error

I know you aren't maintaining this but wondering if you have come across this before.
If you try to add content to an html element attribute from the model, it throws an error.
<a<EMAIL_ADDRESS>
Results in:
error CS0103: The name 'BeginWriteAttribute' does not exist in the current context
error CS0103: The name 'WriteAttributeValue' does not exist in the current context
error CS0103: The name 'EndWriteAttribute' does not exist in the current context
I think I may be missing a MetadataReference but none of the ones I have tried have made any difference.

Acknowledging that I could replicate the problem.
I think I have fixed this (but I rushed it have not tested it much!)
Within  RazorEngineBaseTemplate.cs there are a methods for rendering the markup.  When your example attempted to write an html attribute, the engine was attempting to call methods specific to rendering attributes - but they had not been implemented (hence the fail).
I've now create the additional methods, necessary to  get things moving again.  See change https://github.com/SiliconOrchid/RoslynRazorTemplating/commit/9aca102181fbd4996491b4a62a9601457ebb4c76
These MS Docs are relevant:

RazorPage.BeginWriteAttribute,

RazorPage.WriteAttributeValue

RazorPage.EndWriteAttribute

There are a swathe of other methods in the docs - I'm not sure which of these are entirely necessary, but it may be that this will need to be re-visited again in the future.
I think you should be good for now!

Thanks. That's done the trick, missed it completely. The docs are pretty concise..


Is this a 152 layer Resnet?

I do not dare to question your code and experiment design.
Is this a 152 layer Resnet?
With 1+3*(3+8+36+3)+1 =152 layer.

@tqchen

Looks like this is a 152 layer Resnet, but the
layers = [3, 24, 36, 3]
in example_resnet.py should be changed to
layers = [3, 8, 36, 3]


Another character data consolidation pass

This should be done after all the Unicode algorithms and their data are finished.

Done.


Fix CircleCI Contexts

This pull request was programmatically opened by the multi-repo-updater program. It should be adding the 'Gruntwork Admin' context to any Workflows -> Jobs nodes and should also be leaving the rest of the .circleci/config.yml file alone.
This PR was opened so that all our repositories' .circleci/config.yml files can be converted to use the same CircleCI context, which will make rotating secrets much easier in the future.

The code changes LGTM!
However, I just realized that cloud-nuke has several sets of credentials (one for Phx DevOps, one for sandbox) and the Gruntwork Admin context only has the Phx DevOps ones for now... But I can add those in using the same env vars after this is merged.

Thanks @brikis98 - do we need to coordinate on this timing to avoid any failures, issues?

I think it'll work fine to merge this... When, later, I go through and remove the env vars from each project, I'll need too remember to update Gruntwork Admin context accordingly.

I think it'll work fine to merge this... When, later, I go through and remove the env vars from each project, I'll need too remember to update Gruntwork Admin context accordingly.

Roger - merging!


here is my upgrade version of nifty analysis

sir this the upgraded version of nifty by using rnn so thats why i puuted in nifty folder

sir gait se hoagy hai ap what se remove kardo please

sir gait se hoagy hai ap what se remove kardo please

create a new PR

ok sir


Display events of type im.vector.modular.widgets

Matrix-static should match the events displayed by Riot probably. Splitting out from #41

Fankx!
will do this today
need small tasks like this whilst my tattoo heals

Fixed by 5c796ba6cb71309810be655c2192df8cc901a5cd


make XCTest optional on macOS for operations that do not require testing

motivation: users should be able to use SwiftPM on macOS without Xcode installed (with the exception of testing for now)
changes:

in UserToolchain make xctest lookup optional on macOS and only validate its exists when trying to perform tests
consolidate two different representations of xctest path (one was for Windows and the other for macOS)

rdar://88651484

@swift-ci please smoke test

@swift-ci please smoke test


mountOptions support for local storage

Address https://github.com/kubernetes/kubernetes/issues/68317
Follow-up https://github.com/kubernetes/kubernetes/pull/69211
let the plugin pass the mountOptions specified in storageclasses into the PVs to make it effective
/area local-volume
/kind feature
/assign @msau42

/lgtm


[misc] Set all GHA versions in environment variables

This does not work, environment variables can't be used in the "uses" clause :(


Updated docs for new features.

Hello everyone.
Looks like new features had been added for this lib, like using separate LLM server backend for generation (correct my if I'm wrong). However, I can't find any documentations about this.
Are there going to be any documentation updates?

Currently, the documentation is the notebook:
https://github.com/guidance-ai/guidance/blob/main/notebooks/server_anachronism.ipynb
(and also test_server.py

@riedgar-ms
I've looked at this code and it rises even more questions. Is that only possible to make server by using only this libs built in functionality? Is it possible to use different remote backends like VLLM, Ollama or Text Generation Web UI?

You can hook the library into whichever server you want.


3.8.0 Daily quest requiring Dogtag to be hand in problem

General information:
I am not sure if this is spedific for a daily or all dailies yet but I tried Handing a quest that requires a Dogtag, A USEC dogtag specifically and a problem appears, image linked bellow
How to reproduce:

Get a daily to hand in items "Specifically Usec Dogtag" Will include the profile for easy access
Try to hand in the item.

Profile:
Screenshots:

Attachments

image.png (1643 KiB)
659136ef0001840d7e57c68a.zip (28 KiB)

Originally written by Stealthsuit

Getting the same issue but with an Aluminum Splint. Seems to be any daily.

Attachments

65954c3b00029ef80e1fdfb3.zip (40 KiB)
2024-01-04[05-51] (0).png (6736 KiB)

Originally written by Jester_Stacks

This appears to be fixed with changes made to the quest system the last 4 days:

Attachments

image.png (1026 KiB)

Originally written by chomp


Remove Deprecation errors

Followed Atom guidelines of removing :host pseudo-selector and prefixing syntax-- to all syntax selectors. Successfully gets rid of deprecation errors and fixes  #1

@itamarjr Is there any impediment to accepting this pull request?

@itamarjr Any progress? I'd love to get rid of that warning ✌


Keybase "We're having a hard time loading this page" error on most pages

Keybase version 6.2.4-20231019211625+5cfcf6b41e
MacOs 14.3.1 Sonoma
All failing options "People/Teams/Git/Devices/Settings" show the same error: "We're having a hard time loading this page". Sending error report is also broken (#26165) so it is impossible to provide anymore information. This may the core reason no communication seems to be happening...?
In short: NOTHING works anymore!!!

You need to manually update to 6.2.5 or greater. 6.2.4 is utterly broken when trying to connect to its backend, which includes serrvices & updating.

I'm desperate to have it fixed that as well. Is  6.2.5 available for linux?

Also:
$ curl https://api-0.core.keybaseapi.com
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: https://curl.se/docs/sslcerts.html

curl failed to verify the legitimacy of the server and therefore could not
establish a secure connection to it. To learn more about this situation and
how to fix it, please visit the web page mentioned above.

Can you provide this CA?

See https://github.com/keybase/keybase-issues/issues/4241

@gonzalob Thanks... I found out in the mean time... chicken and egg type of situation, I guess.
Reinstalling/updating solved the issue. It would have been helpful if Keybase would have issued an announcement or something on their site, at least.
I think, unfortunately, KB has become too brittle as a solution to count on. As it wasn't the first time KB broke on MacOS after an update. I didn't think much of it at the beginning ("yah.. broken.., again"), until I really needed access to my local store...
Start looking for alternative, I guess.


Shell Script parsing/highlighting fails to detect closing quotation marks in certain situations

VSCode Version:

Version: 1.46.0-insider
Commit: da98a19a5d6724367bd99c8ec3b8f55054be37d1
Date: 2020-05-20T23:28:34.587Z
Electron: 8.3.0
Chrome: 80.0.3987.165
Node.js: 12.13.0
V8: 8.0.426.27-electron.0
OS: Darwin x64 18.7.0

OS Version:

macOS Mojave Version 10.14.6
CPUs | Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (16 x 2300)
-- | --
GPU Status |
2d_canvas: enabled
flash_3d: enabled
flash_stage3d: enabled
flash_stage3d_baseline: enabled
gpu_compositing: enabled
metal: disabled_off
multiple_raster_threads: enabled_on
oop_rasterization: disabled_off
opengl: enabled_on
protected_video_decode: unavailable_off
rasterization: enabled
skia_renderer: disabled_off_ok
video_decode: enabled
viz_display_compositor: enabled_on
webgl: enabled
webgl2: enabled
Load (avg) | 3, 3, 3
Memory (System) | 16.00GB (0.08GB free)
Process Argv | -psn_0_11553540
Screen Reader | no
VM | 0%
Extensions: none

Steps to Reproduce:

Create a file, temp.sh
Paste these contents:

#!/usr/bin/env bash
priority=5
random_priority=$((priority + $(python -S -c 'import random; print(random.randrange(3,10))')))
echo "Calculated a random priority: ${random_priority}"
'
echo "More stuff"

You should notice that line 4 is detected and colored by the editor as if it were still within a string. Once another single-quote is added (line 5) this "closes" that string and line 6 appears normal. This also works if you replace those single quotes with double quotes.

Here is how it looks in vscode:

And this is what it looks like in Sublime Text, as an example:

Does this issue occur when all extensions are disabled?: Yes

Thanks for reporting this issue! This is an issue with the shell script grammar we use from https://github.com/atom/language-shellscript. However, they aren't maintaining the textmate grammar anymore. I'll leave this issue open so that if we ever switch to a different grammar I can address it.

Linking and closing in favor of https://github.com/microsoft/vscode/issues/77675, which tracks considering a new shellscript grammar.


Add item class

In this pull request, we completed the following:
All Item class properties visible in the diagram should be defined and set up in the constructor method.
Exception: properties for the 1-to-many relationships should NOT be set in the constructor method. Instead, they should
have a custom setter method created - These will be added later once we have the associated classes.
Add all methods visible in the diagram.
Implement methods:
can_be_archived?() in the Item class

should return true if published_date is older than 10 years
otherwise it should return false

move_to_archive() in the Item class

should reuse can_be_archived?() method
should change the archived property to true if the result of the can_be_archived?() method is true
should do nothing if the result of the can_be_archived?() method is false

Great! Tks @DarkxDev - merging now


Build refactorings

I refactored a few little things around testing and builds to make them a bit more clear and user-friendly. Also added a couple of little improvements to the build process.

Thanks! The PHP 7 build may break, but we can easily remove it again when it does


Create meaningful next action for missing tools

Description

Create meaningful next action for missing tools
Motivation and Context
Additional changes needed for: #857
When an app is not on GH, we can't print a GH URL - i.e. kubectl and terraform.
How Has This Been Tested?

K3s for Darwin (doesn't exist)
go build && ./arkade get k3s --os darwin
Downloading: k3s
2023/02/20 17:56:09 Looking up version for k3s
2023/02/20 17:56:09 Found: v1.26.1+k3s1
Downloading: https://github.com/k3s-io/k3s/releases/download/v1.26.1+k3s1/k3s-darwin

The requested version of k3s is not available or configured in arkade for darwin/x86_64

* Check if a binary is available from the project for your Operating System
* View the k3s releases page: https://github.com/k3s-io/k3s/releases
* Feel free to raise an issue at https://github.com/alexellis/arkade/issues

Error: server returned status: 404

Kubectl version 10 - note that no GH URL was generated:
go build && ./arkade get<EMAIL_ADDRESS>Downloading: kubectl
Downloading: https://storage.googleapis.com/kubernetes-release/release/v10.0.0/bin/linux/amd64/kubectl

The requested version of kubectl is not available or configured in arkade for Linux/x86_64

* Check if a binary is available from the project for your Operating System
* Feel free to raise an issue at https://github.com/alexellis/arkade/issues

Error: server returned status: 404

Types of changes

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

@Jasstkn PTAL?

@Jasstkn PTAL?

Thanks for handling this! I was travelling this weekend - didn't have time for laptop.


Legion: Tasks not executing on GPU when using multiple ranks/node

When using multiple ranks/node tasks are only executing on CPU and not on GPU on the latest control_replication. According to @bandokihiro something seems to have changed in commit 3847f0c7.
Doing a bisection myself I also confirmed I am no longer able to run tasks on GPU when using multiple ranks/node after that commit. Running 1 rank/node works.

This is a duplicate of #1220. Read this first:
https://github.com/StanfordLegion/legion/issues/1220#issuecomment-1082221791
Then talk to @bandokihiro about what you want the right answer to be.


Direction type conversion

Converts some cases where directions where represented as strings to more explicit Direction (in/out/inout/consume/provide) and what I'm calling DirectionArrow(<-/->/=/consume/provide).This facilitates control conversion between the two more cleanly.
One side effect of doing this that we now use undefined to represent 'any direction' instead of '=' which was not a valid Direction (but is a valid DirectionArrow). Another is that I've moved some of our direction conversion maps and converted them to functions using switch statements (which the compiler can check for totality).
This also adds some type annotations to the shape matching code, adds a test for non-matching.

I had initially used '*' as the any direction and direction arrow (which why I have made some small modifications to the parser, allowing this kind of flexibility in future), should we return to this?
Also for consideration would be "any" : Direction and "<->" : DirectionArrow

Thinking about Shane's comment, I've realized that actually '=' is a very good syntax for a DirectionArrow that means 'any set of capabilities that are needed'. As such, I've rewritten a significant portion of this PR to use '=' and 'any' as an unrestricted direction, matching all other directions and being used as a default value when a direction is not specified.
'inout' will not be an explicit requirement that allows both being written to and read from.
There also needs to be a corresponding DirectionArrow, which is now '<->' (as it is fairly clear that this is a combination of '<-' and '->').
At some point more tests should be written to ensure that these directions match as expected, but I believe our current coverage is safe enough for now.


Constrain type vars / free variables to specific types

It would be good be able to constrain generic variables, just like common variables - exact same concept: (I'm skipping the meat of the classes just to show the concept.)
[ed: 2016-09-12, modified the example slightly]
class Foo(T)
end

class Fur(T < Float32 | Float64) < Foo(T)
end

class Bar(T1 < Float32 | Float64, T2 < Foo(_)) < Foo(T1)
end

class Baz(T1 < Float32 | Float64, T2 < Foo(_)) < Foo(T1)
end

Adding type intersections in addition to type unions could prove usable for constraints too:
class Foo(T < (SomeTrait & OtherTrait) | MoreCompleteTrait | SuperType)
end

ed: Below has its own issue now instead: #3298
Preferably, it should also be possible to "overload" the generic class matching to most specific type var constraint, thereby making specializations possible:
class Foo(T)
end

class Fur(T < Float32 | Float64) < Foo(T)
end

# Two Bar classes with different specializations depending
# on most specific generic constraint match
class Bar(T1 < Foo(_), T2 < Foo(_)) < Foo(T1)
end

class Bar(T1 < Float32 | Float64, T2 < Foo(_)) < Foo(T1)
end

I think code that involves generics is already pretty complex to want to make the type system more complex. But I think @waj likes these ideas so I'll leave this open as an enhancement. Personally, I feel code should be simpler, and generics should only be used for containers.

So there are two concepts in the proposal:

type restrictions in the generic args
class/code specialization.

If we think 1) alone, a usage I can think of is just to allow better errors to the user when using an invalid argument due to some interface assumtions ( Foo(T) where T includes MixinBar ). Based on how de compiler works, there is no information to take advantage of. There is no partial compilation of Foo(T). It is compiled on each concrete type: Foo(Int32), etc. So, if the type used for T does not includes the expected MixinBar, today the code won't compile when a method of the mixin is used. With 1) it might fail when instantiation Foo(T) on a wrong T.
Other usage of 1) is to express some dependency like Foo(T) where T includes Enumerable(S). And use S somewhere in the code. This is neat, attractive, yet I don't have a real use case today :-). But I love formality around the type system.
Regarding 2) It might be enough at the beginning to allow class/code specialization at least on concrete types. class Foo(Int32) ... end. If there is a specialization for many types, it might be addressed by macro expansion. I think the specialization feature is important, but I think this, allowing it only in concrete types, might be a way to see if it useful without going all the way down extending a lot the language.

Exactly. As you mention 1) is a great help to catch errors earlier and give more specific helpful error messages.
When it comes to 2)

It is compiled on each concrete type: Foo(Int32)
Each specific instantiation is compiled from class description, it simply will be based on the description matching the types better. So it "solves it self" as soon as the "overloading on typevar restrictions" matching is in place, so there's no special case for specialization requiring it to be limited to concrete types. And most of the logic for matching should be the same as for regular overloading, so a lot of the logic would already be available for revamping. Or am I missing something?

+1 for these features

+1 this also should work for modules, and abstract classes with abstract methods

As mentioned in OP, I've edited it slightly, added #3298 issue for 2) to keep tracking separate.

There's a workaround used in Atomic(T) here. A nicer syntax would probably be useful though.

@RX14 thanks for linking the macro example. Macros solve most things (Crystal rocks), and still, as you say: nicer syntax would be nice :-)
Also, for numbers as parametrization: (Z < Number#, T < SomeType) or something. To indicate that it is an instance of the type (maybe I've foolishly missed a reverse of T.class?). The other way around would be kinda ridiculous ((Z < Number, T < SomeType.class)), given type parametrizations are most common.
If I recall correctly (I don't code C#), C# defines constraints suffixed to typedef head. Perhaps that's a style that would suit Crystal: class Foo(T, U, Z) < SuupaFoo(T) where T < AbstractFoo, U > T, Z < Number#
Wonder if both constraints and specializations could be solved smoothly by a AST rewrite stage, making macro nodes from such statements, and then expand those as usual. In order to re-use and keep as much code as generic as possible in the compiler (mash all implementations of specialized defs into one def with macro conditionals to select actually used code, etc).

Cross-posting and elaborating on my comment from #3298:
I was hoping to do something like this (using the pseudo-syntax in this thread):
class Hash(K, V = Array(K))
  # ...
end

The use-case in my case is for topological sorting of certain enumerable types. For instance, if we wanted to topologically sort keys in a Hash by treating it as a DAG, it'd be incoherent for anything other than a map of K=>[K]:
class Hash(K, V = Array(K))
  include TSort(K)
end

dag = {1=>[2, 3], 2=>[3], 3=>[] of Int32}
non_dag = {:x=>42, :y=>99}

dag.tsort     #=> [3, 2, 1]
non_dag.tsort #!! wouldn't compile

+1 would love to restict generics based on type, for example, allowing only an inherited type.
class ClassA
end

class ClassB < ClassA
end

class Example(T : ClassA) #would only allow those of type class A
end

@RX14 Would a syntax like where T < CustomType be good? For example:
alias Foo = Int32 | String
alias Bar = Float64 | Char

class FooArray(T) where T < Foo
end

class FooBarHash(K, V) where K < Foo, V < Bar
end

This fits in with languages like Java and also conforms to the current forall syntax, although I'm not sure if this verbosity is worth it for readability. The main concern is how often this will be used, but I think just inserting the restrictions next to the argument is less readable and almost as verbose.

Would a syntax like where T < CustomType be good? For example:
alias Foo = Int32 | String
alias Bar = Float64 | Char

class FooArray(T) where T < Foo
end

class FooBarHash(K, V) where K < Foo, V < Bar
end

This fits in with languages like Java and also conforms to the current forall syntax, although I'm not sure if this verbosity is worth it for readability. The main concern is how often this will be used, but I think just inserting the restrictions next to the argument is less readable and almost as verbose.
I'm not sure if this is the right place or time to post this right now, but it's an idea to throw out in the open.

It could just be forall, don't need to add another keyword. Inline notation is also fine, though.

@straight-shoota So basically:
class FooArray(T) < Array(T) forall T < Foo

Shouldn't be too hard to parse, then.

@straight-shoota but forall on methods and the usage of forall here are entirely different semantics, so why use the same syntax.
Also, having the (T) and the forall is just weird, i'd rather just use class Foo(T : Class, K : Class) which fits the current syntax.

Also, having the (T) and the forall is just weird, i'd rather just use class Foo(T : Class, K : Class) which fits the current syntax.

Also it would allow to do class Foo(T : Bar = Baz) to add a type restriction with a default without adding too much new syntax

I wrote a lightweight (~100 LOC) implementation for this using the macro interpreter (see proposal: https://github.com/crystal-lang/crystal/issues/3298#issuecomment-500363243). It can handle (abstract) classes/structs and modules. Some examples:
class Foo(T) where T < Number
end

Foo(Int32).new # OK
Foo(String).new # Error: type var String doesn't satisfy restriction 'T < Number' of generic class Foo

struct MyTuple(*T) where T.size > 1
end

MyTuple(Bool, String, Int32).new # OK
MyTuple(Float64) # Error: type var Float64 doesn't satisfy restriction 'T.size > 1' of generic struct

struct NumberTuple(*T) where T.type_vars.all? &.< Number
end

NumberTuple(Int32, Float64).new # OK
NumberTuple(Int32, Float64, String).new # Error: type vars Int32, Float64, String don't satisfy restriction 'T.type_vars.all?(&.<(Number))' of generic struct NumberTuple

module Bar(T) where T < Int::Signed
end

class Foo(T)
  include Bar(T)
end

Foo(Int16).new # OK
Foo(UInt64).new # Error: type var UInt64 doesn't satisfy restriction 'T < Int::Signed' of generic module Bar

Changes: https://github.com/malte-v/crystal/commit/47351403c0ff32d9cda9481b73954eb437ac60c0
Do you think this could be a viable solution?

A while ago I was thinking that if constrained generic parameters use:
# `<=` for subtypes, `<` for proper subtypes
# ditto for supertypes
class Foo(T) forall T <= Int
end

then the unconstrained generics, which we already have now, would be written as:
class Proc(*T, R) forall T, R
end

Specializations would eventually not require any special syntax, as a lack of forall should indicate that the generic arguments are not formal parameters:
struct Slice(T) forall T
end

# okay, `UInt8` is not an unbound parameter
# requires `Slice` and `UInt8` to be defined prior to this point
struct Slice(UInt8)
  def hexstring; end
end

struct StaticArray(T, N)
end

# partial specialization
struct StaticArray(UInt8, N) forall N
end

The full macro language for the constraint is probably overkill, we should start with the subtyping operators first.
The equivalent issue for free variables in defs is #11908 (it proposes only <= but generic type instantiations can't "overload" so we have a bit more freedom here).

Any progress on this issue?

Not sure if this is something that is still planned/worked on but there is a pretty easy workaround to this issue, just in a slightly roundabout way. Generic variables are only available to macros inside a method in the class, I know at one point lib had a similar problem that was fixed by @asterite in #12848, so potentially this could get moved up and out of methods to allow for greater type restriction at compile time.
Example code: https://carc.in/#/r/heq9

It's not currently worked on, but I figure it should happen sometime.
Using macros for this could perhaps work - but I doubt it's feasible to do the same thing with def as we did for fun.
The great thing about havin constraints as part of the type grammar is that they're declarative. So they're available in the documentation, for example.


missing log output

I'm trying to log with the new script. My node, which I run for 7 days for the b2 task, generates 1 daily logs.  The log summary tool will summarize your entire log, so you should get one summary file, and optionally another file describing your system.
What is the problem you’re having?

as I mentioned above, I installed a new node for the b2 task and ran it for 7 days. Now I'm trying to get a log and it only produces me a 1-day log

@myasin59 can you please attach the summary log you are getting from the retrieve_minified_logs tool?

concordium-testnet-node-b2b3dbebf175aec28534841f0b68438f88e7ab382a3f0ac6d4c2a28151b8379f.log

@myasin59 so according to the logs you're submitting, this node was started for the first time at 2020-10-25T14:59 and run for approx 33 hours.
If you've run this node for 7 days and this is the log that's being produced, then it would seem you cleared/reset your data at some point, or those logs were removed/cycled for some reason, because those logs are not present on your system according to this summary.
One way to check would be to look at the Log sizes & rotation section and use that to see your logs location and the size/contents of those logs to see what might be going on.

No further analysis possible without details on logs.


Bitbucket: add the possibility to configure bitbucket server

Description
Give possibility to Bitbucket Server users to use this extension by configuring a different base URL. More details here: https://github.com/raycast/extensions/issues/706
TLDR: I've just added a preference to override the default base URL.
Type of change

improvement for my extension

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing

Looking good to me!

After some checks on slack with @icougil,
https://github.com/MunifTanjim/node-bitbucket/issues/29
https://community.atlassian.com/t5/Bitbucket-questions/REST-API-v2-for-Bitbucket-Server/qaq-p/941689
Seems like the bitbucket server implementation would be very different and would require a new extension for it (or to rewrite a lot of stuff) 😢 As the Rest API V2 won't be implemented by bitbucket.
I guess adding a way to change the base URL is now useless, and the PR closed...


Use pkg-config to determine linker options

libpulseaudio comes with .pc files. That means we can leverage pkg-config to determine the linker and compiler flags necessary to build a package dependent on it. It also figures out the path to the installed library and headers for us.
We can also get rid of the #[link(name="pulse")] in the code and have pkg-config do it for us in build.rs.

Thankyou for the patch, and apologies for the delay
Before I could give proper consideration to merging this, firstly there are a few changes that I must request, and secondly an assessment needs to be made of the viability and usefulness of switching to use pkg-config.
First, the changes:

I notice that in all three build files you've specified "libpulse" as the target. This is wrong for the simple & glib-mainloop cases, which target different system libraries to the main sys crate, and thus this change breaks those crates. I expect you simply forgot to amend after copy-pasting.
I am also curious as to whether it is correct to use "libpulse" rather than "pulse"

You've specified "12.0" as the 'at least' version, which breaks backwards compatibility with v11, and I've spoken to someone recently who is using this in a PA v11 environment.
This should be reduced to "11.0" for the simple and glib-mainloop crates.
For the main sys crate, the only compatibility difference between v11 and v12 is the pa_encoding_from_string symbol, and we have a feature control for that. Thus, if this feature IS given, "12.0" should be specified, otherwise "v11".
In fact it may be that the crates are backwards compatible for versions older than v11, which ideally should be looked into, since we should not casually block use with older versions for no reason.

The new pkg-config dependency is only used linux, and I would prefer that it is only pulled in when in fact building on/for linux. Please amend accordingly.
I.e. [target.'cfg(target_os="linux")'.build-dependencies] in the toml file
For the build.rs files, I would like the following for pulse-sys:
#[cfg(target_os="linux")]
extern crate pkg_config;

#[cfg(target_os="linux")]
fn main() {
    let version = match cfg!(feature="pa_encoding_from_string") {
        true => "12.0",
        false => "11.0",
    };
    pkg_config::Config::new().atleast_version(version).probe("libpulse").unwrap();
}

#[cfg(not(target_os="linux"))]
fn main() {
    println!("cargo:rustc-link-lib=pulse");
}

And the following (injecting the correct lib names) for the other two
#[cfg(target_os="linux")]
extern crate pkg_config;

#[cfg(target_os="linux")]
fn main() {
    pkg_config::Config::new().atleast_version("11.0").probe(<libname>).unwrap();
}

#[cfg(not(target_os="linux"))]
fn main() {
    println!("cargo:rustc-link-lib=<libname>");
}

You've specified "0.3.14" as the pkg-config version, which per semver rules equates to >=0.3.14 and <0.4.0. Is there any specific reason for blocking compatibility with older patch releases? I don't want to enforce restrictions without a reason.
My concern here is that if these crates were used in a project that includes one or more other crates that also use this dependency, that if such other projects have specific reasons to target a more specific older version of this dependency, that our minimum requirement would block dependency resolution.
Thus, please change to "0.3", unless there is a good reason to block certain older patch versions, e.g. they contain a security flaw, or we depend on an added feature.

Viability/usefulness assessment
Pkg-config is something I am not very familiar with, though I have some understanding of its usefulness. I will endeavour to do some reading up shortly.
I can imagine some usefulness here: a nice error if building on a system with too old a system-lib version; possibly more robust determination of location and lib filename; possibly useful linker flags brought into use?
However. On my system I do not have a libpulse.pc file, and running pkgconf --libs-only-l libpulse thus fails. I suspect (I'm writing this offline and so can't check right now) that I would need to install the PA dev package to get it. While this would be natural for C development, needing the headers anyway, it is much less so for Rust development, and I am reluctant to force users, myself included, to install this package, just for a tiny pc file.
We could hypothetically bundle pc files in the crates, but I have concerns with the viability of this idea:

We would have to specify the version number, and I don't know how that is used. Is it read instead of the version number embedded in the lib file itself? I suppose we could have the build file dynamically generate the pc file, injecting "11.0" or "12.0" as necessary...
Could we avoid specifying a directory location (as current) or would we need to (or should we) specify it, which requires generating a different file per target, and knowing the directory to specify for each platform (hopefully always standard across distros at least).

I am curious:

What the pkg-config crate offers, whether it helps with any of this stuff (I'll grab a copy to look at when I get internet access to post this response).
Whether there is any usefulness to the linker flags specified in pc files in our usage.

Hey, wow thanks for the thorough evaluation!
Changes

Yes, forgot to change those or well I thought they'd be resolved the same way by pkg-config. But pkg-config looks for *.pc files and libpulseaudio installs three different files:

├── lib
│   └── pkgconfig
│       ├── libpulse-mainloop-glib.pc
│       ├── libpulse.pc
│       └── libpulse-simple.pc

This is also why libpulse indeed is correct and pkg-config won't find it if you give it only pulse.

I just took the first version I thought was appropriate. I had a quick look around here to see what versions you support but couldn't find anything.
We can drop the version check and only add it later when we see some breakage with older versions. Debian seems to ship v10 for stretch and Ubuntu v11 so we should probably drop the requirement to at least v10.

Your proposals look good! I'm new to Rust and wasn't aware that you can have all these macros to include code and dependencies for specific platforms - that's great.
The official documentation of pkg-config says it works on MacOS and Windows as well but I'm not familiar with how people develop software there so I couldn't suggest that we use it for those as well.

Good point, I'll change it.

Assessment
Oh you're right..pc files come with -dev packages which include the headers which you don't need for the Rust bindings. The .pc file is tiny but so are the headers, in practice it wouldn't be a problem but I do see the purist's side - now everyone who wants to use these bindings has to install another package for it to work.
possibly more robust determination of location and lib filename That's the main reason why I want to use it. With the current configuration of my system the linker can't find the correct library on its own - only with pkg-config (or manually specifying the path). You could say that that's a problem with my system and you'd have a point but pkg-config makes it more robust, which is hard to argue against.
Currently libpulse doesn't use any special flags that would be useful for Rust but we would automatically get them in the future.
I checked that people in the Rust ecosystem actually use pkg-config and it seems that some big bindings do rely on it: https://crates.io/crates/pkg-config/reverse_dependencies
Hmm, no I don't think bundling the .pc files is a good idea since that doesn't provide the help to find the library. They should be build by the same people who ship the package that contains the shared library.
So I think it boils down having to install the -dev package in exchange for more robustness of locating files and correct compiler/linker flags.

How does Rust currently find glib for the pulse-sys-mainloop-glib crate?

I currently don't have a v10 to check if it's compatible but that's something we should do.

Thanks for the update, and again, apologies for the delay, I'm only getting internet access for a few hours once every few days/week currently.
One additional modification that may be required is dropping the removal of #[link(name="pulse")], since I don't believe it compiles without this (I'll need to check again when I properly try out your patch).
I read up on package config. I do think this patch is a good idea. I do not think "shipping" our own *.pc files would be a good idea. As I said before, I don't like the dependency on the *-dev linux package. I think the right solution would be to add a fallback to the old command when package-config returns Err. This way we prefer package-config, but still allow things to work for people (like me) without the *.pc files.
I may start a discussion on my distro mailing list about distributing *.pc files with libs instead of in dev packages, now that the situation has changed with Rust on the scene.

I just took the first version I thought was appropriate. I had a quick look around here to see what versions you support but couldn't find anything.
We can drop the version check and only add it later when we see some breakage with older versions. Debian seems to ship v10 for stretch and Ubuntu v11 so we should probably drop the requirement to at least v10.

Yeah, the version.rs files in the main sys & binding crates have some constants helping indicate the current major version supported/targetted, but I recognise that this is not very clear and is something to improve. I'll see about doing so and perhaps also documenting it in the readme's.
I'll review the PA git history to determine backwards API compatibility.

The official documentation of pkg-config says it works on MacOS and Windows as well but I'm not familiar with how people develop software there so I couldn't suggest that we use it for those as well.

Same
I've cherry-picked your patch, so later I'll see about getting final tweaks done to polish it off and publish a new version with it when I'm next online :)

How does Rust currently find glib for the pulse-sys-mainloop-glib crate?

It doesn't. The only glib related artefact is a pointer to an opaque "glib context" object. Ideally there needs to be a dependency on actual glib binding/sys crates and thus have a pointer to such an object in their package, but I did not get around to researching glib crates to see if there was an "official"/hugely-popular one to link to. Currently it would require a user to force a cast from my opaque type to the respective glib crate type.

Ok, published in bindings v2.3, sys crates v1.4. I also addressed the lack of clarity in version compatibility.
Annoyances

Warnings on compiling about redundant linker flags when pkg-config used
If pkg-config fails due to an error such as version incompatibility, this is hidden by the fallback. Unfortunately there does not seem to be an ideal way to resolve this - the string error output from actually running the pkg-config process is just returned, and while we could scan it for containing "version", that's not nice for other languages...


Include progress bar in backtesting

We have good libraries and thread-safe to display the backtesting progress: https://github.com/schollz/progressbar

Hi, Can i help to implement this feature?

Hi @panapol-p , shure.
A suggestion: use the number of candles to track the progress.


Add MIT license to project.

crates.io specifies the project is licensed MIT but no license exists in the Github repository. Add the MIT license taken from the rust lang project to the repository.

Hi @brandonedens
This project has never been published on crates.io. You may have confused this repo with another one named ftd2xx-embedded-hal.  On the other hand, MIT looks reasonable. Let me take a look at the dependencies (ftdi-rs and libftdi) and check if their licenses do not prohibit this choice.
Regards,
Sergey

Hi Sergey!
The licenses of the dependencies should not be a problem for this project itself. The terms do not apply transitively.
Any reason why this should not be published on crates.io besides the need to publish ftdi-rs as well?

Hi Diego,
Well, my changes to ftdi-rs have not been accepted. IIRC the author planned some significant changes, but that work stalled a while ago. I think I need to take a look at the current project state and probably do another attempt to submit my changes. On the other hand ftd2xx-embedded-hal has been released, so probably it makes sense to contribute to that project instead.
Regards,
Sergey

Ah, I see. Thank you for the insight. :)


Removing the logo from menu pannel and displaying the user's name instead.

It would be better if on first time start of the app user can give his/her name and  it displays on the menu pannel instead of twitter icon along with a circle icon with his/her first word from name.
@the-dagger @mananwason What do you think about this? I would love to work on this if you allow. :)

@saketkumar95 How do you plan to actually get the name of the user? We don't want him to login yet.

@mananwason We don't need a login. It's just on first run we can take the user's name and just display in the navigation bar.

@mananwason any suggestions? I think it's a better idea than just showing twitter logo.

@saketkumar95 That place is for the organisations logo. Right now let it be. In the future when we implement login, we can add name and other info there.

okay no problem. :) :+1:


Updating design.md template

I would like to work on this issue. Please assign this to me.

Sure @akshatvirmani 👍🏽
You can work on this one. Also please name the file as design_request.md instead of design.md.


Documents translation (Japanese)

I have translated the documentation files into Japanese ones and will keep them updated. Should I submit a PR? or is it better to leave them there?

This is wonderful! Thank you, @jesseclin. If you're still open to posting a PR, please do!

Dear @bmizerany:
Sure and I will post a PR after I update the documents, thanks.
Jesse

I'm going to close this out. Looking forward to your PR! Please feel free to reference this issue in the PR.


Toyota Corolla Hybrid 2021: Wrong Model Year

Describe the bug
I have a Toyota Corolla Hybrid 2021 but under my.comma.ai/useradmin it appears as a Toyota Corolla Hybrid 2019 model. I don't know if that affects performance in any way, just thought I would note that.
How to reproduce or log data
Not applicable.
Expected behavior
The right model and year should be recognized by Comma Two.
Device/Version information (please complete the following information):

Device: Comma Two
Dongle ID: cd21d47a9d46bdf3
Route: All
Timestamp: All
Version: 0.8.3
Car make/model: Toyota Corolla Hybrid 2021

Additional context

This is normal. The "Toyota Corolla Hybrid" supports 2019, 2020, and 2021 models as they are all the same vehicle and we only list one vehicle year in the code.


Port MQTT as s-c-s sink

As a developer, I'd like to move mqtt module from XD to s-c-s repo, so I can use it as sink to build streaming pipeline.
Acceptance:

mqtt as sink module is available in spring-cloud-stream-modules repo
maven repo includes mqtt module with respective group/artifact/version detail

This issue was moved to spring-cloud/spring-cloud-stream-app-starters#52


runner  gcp firewall quota

This is could be applicable for the other providers but using gcp I received a "Quota 'FIREWALLS' exceeded.  Limit: 100.0 globally." Should we query the API for an existing iterative / cml-qwerty ingress/egress rules to reuse before creating new ones?
ref; https://github.com/iterative/terraform-provider-iterative/blob/master/iterative/gcp/provider.go#L142
perhaps not prefixing with the instance name but something more generic can be the fix?

Potentially related to https://github.com/iterative/terraform-provider-iterative/pull/156#discussion_r668236748

@0x2b3bfa0 what do you think of:

perhaps not prefixing with the instance name but something more generic can be the fix?

Does that imply that the first run would create a firewall with a generic name (e.g. cml) and susequent runs would just reuse it? It's similar to what we do on AWS (create & reuse a security group) but it's controversial for sane use cases. We're creating resources and leaving them unmanaged; the only way of deleting them is knowing what to delete and ClickOps or CLIOps.

Sorry for the late reply, my radar was stuck. 📡

it's rather controversial for sane use cases.

can you elaborate? maybe its time for a more agnostic aws-security-group?

It would be creating resources and leaving them unmanaged;

It's already doing that, but this would make less of them.

can you elaborate?

Sure! I mean that we're creating resources that are being left unmanaged: cml runner is both responsible for ephemeral and long-lived resources, but has no means of managing the latter.

maybe it's time for a more agnostic aws-security-group?

Do you mean exposing a way of importing existing resources on all the supported backends? That would be great, in my opinion.

It's already doing that, but this would make less of them.

Yes, it is. 🙈 Although not by design, just because of the bug described on https://github.com/iterative/terraform-provider-iterative/pull/156#discussion_r668236748.

(Tangential topic: while it comes with its own set of issues,[^1] the approach suggested by the autoscaling with self-hosted runners GitHub documentation seems more solid in the long run, although the initial setup requires an extra step[^2])
[^1]: Not all runner solutions remove themselves after they have been deleted, which can be problematic, especially, if combined aith auto-scaling capabilities.
[^2]: Id est, either Terraform or “one-click deployment buttons” as provided by Amazon Web Services, Microsoft Azure or Google Cloud.


Impossible to login with SSH

Hello.
I wrote my cloud-config that set SSH port and keys for users, but i cant login with SSH key anyway,
the server prompts me enter some password.
what went wrong?
here is my config file:
#cloud-config

hostname: CoreOS01

users:
  - name: core
    # Password: password
    passwd: $6$Z7TyN/ZtOHm/O$6JYggxF6fxh3epWjItfdQLJNzjoCAOdXUsfOyQ1QflAEIimY5ZeyB2Ha2YW.TCztz.1BtPHYujiH4Js4tXES.1
  - name: camka
    # Password: password
    passwd: $6$Z7TyN/ZtOHm/O$6JYggxF6fxh3epWjItfdQLJNzjoCAOdXUsfOyQ1QflAEIimY5ZeyB2Ha2YW.TCztz.1BtPHYujiH4Js4tXES.1
    groups:
      - sudo
      - docker
    ssh-authorized-keys:
      - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCai45XB6SDrfRspSZTtkJoPsmBecIoLOveMpDJf5n25x/yo4ZH0EzlGZrCZkJfA8rqgiXGmp6kaaQ7rgN+E1KN43lkSKByrzfCrnfNAhgQrIsYYk2GdL1YxV9PL2zaCLu/uT+6/2gQIHyZ7RM5tQLVw1f7Kcug0LZafU7HN3LpPk13AtsmTqfphxXk/AfYSuTq2qqjOwZyjx3tj6D5pme8CmZySmcGUXJN423A3AsvVY6oIb/GuOldSkwp7XZKhta6M72R0pogmWeKPDZd5JYNx6IZLebHfII3/j5iVPBJwhnVo1VG39gHUjZOUbR+Lg8FcKTGB2tWLbWaowXT6TYB<EMAIL_ADDRESS>
ssh_authorized_keys:
  - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCai45XB6SDrfRspSZTtkJoPsmBecIoLOveMpDJf5n25x/yo4ZH0EzlGZrCZkJfA8rqgiXGmp6kaaQ7rgN+E1KN43lkSKByrzfCrnfNAhgQrIsYYk2GdL1YxV9PL2zaCLu/uT+6/2gQIHyZ7RM5tQLVw1f7Kcug0LZafU7HN3LpPk13AtsmTqfphxXk/AfYSuTq2qqjOwZyjx3tj6D5pme8CmZySmcGUXJN423A3AsvVY6oIb/GuOldSkwp7XZKhta6M72R0pogmWeKPDZd5JYNx6IZLebHfII3/j5iVPBJwhnVo1VG39gHUjZOUbR+Lg8FcKTGB2tWLbWaowXT6TYB<EMAIL_ADDRESS>
write_files:
  - path: /etc/ssh/sshd_config
    permissions: 0600
    owner: root:root
    content: |
      # Use most defaults for sshd configuration.
      UsePrivilegeSeparation sandbox
      Subsystem sftp internal-sftp
      PermitRootLogin no
      AllowUsers core camka
      PasswordAuthentication no
      ChallengeResponseAuthentication no

coreos:
  etcd:
      name: coreosnode001
      discovery: https://discovery.etcd.io/6a991fe781b0dc9ce27457879bfb7ab1
  units:
    - name: sshd.socket
      command: restart
      content: |
        [Socket]
        ListenStream=2211
        Accept=yes

SSH server listening port doe not change to 2211 anyway

I just tried your config on EC2 and it worked fine. What provider are you using?

i am run at VirtualBox 4.3.20, maybe it is problem?

Does the config work if you don't change the port number? That would indicate an issue with the VM to Host network.

config works, but partially, i can connect to 22 port but certificate does not work.

It sounds like you have an issue with your SSH keys. Make sure that your keys are present in ~/.ssh/authorized_keys and try running your SSH client in verbose mode. That should give us a hint.

I hit a problem that sounds a bit like this on AWS. If I make a machine which doesn't have a public IP address, then I cannot SSH to it. The connection is accepted and I can see the fingerprint of the server, but it rejects my SSH key. I wasn't able to get to the bottom of it.

can give you feedback monday, because i experimenting at my work pc.

hmm, today it was able to connect via ssh key, below is verbose logs
i generated new etcd key and ssh key
Mac-mini-Aleksandr:YaDisk camkadev$ ssh -p 2211 -A -v -i /Volumes/hd2/YaDisk/coreos01_rsa<EMAIL_ADDRESS>OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 102: Applying options for *
debug1: Connecting to <IP_ADDRESS> [<IP_ADDRESS>] port 2211.
debug1: Connection established.
debug1: identity file /Volumes/hd2/YaDisk/coreos01_rsa type 1
debug1: identity file /Volumes/hd2/YaDisk/coreos01_rsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6
debug1: match: OpenSSH_6.6 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr<EMAIL_ADDRESS>none
debug1: kex: client->server aes128-ctr<EMAIL_ADDRESS>none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA ab:61:60:c4:61:2c:f5:81:e0:44:f6:84:65:86:2b:ca
debug1: checking without port identifier
The authenticity of host '[<IP_ADDRESS>]:2211 ([<IP_ADDRESS>]:2211)' can't be established.
RSA key fingerprint is ab:61:60:c4:61:2c:f5:81:e0:44:f6:84:65:86:2b:ca.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '[<IP_ADDRESS>]:2211' (RSA) to the list of known hosts.
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey
debug1: Next authentication method: publickey
debug1: Offering DSA public key: /Users/camkadev/k24-sag-0-30
debug1: Authentications that can continue: publickey
debug1: Offering RSA public key: /Volumes/hd2/YaDisk/coreos01_rsa
debug1: Server accepts key: pkalg ssh-rsa blen 279
debug1: key_parse_private_pem: PEM_read_PrivateKey failed
debug1: read PEM private key done: type <unknown>
Saving password to keychain failed
debug1: read PEM private key done: type RSA
Identity added: /Volumes/hd2/YaDisk/coreos01_rsa (/Volumes/hd2/YaDisk/coreos01_rsa)
debug1: read PEM private key done: type RSA
debug1: Authentication succeeded (publickey).
Authenticated to <IP_ADDRESS> ([<IP_ADDRESS>]:2211).
debug1: channel 0: new [client-session]
debug1: Requesting<EMAIL_ADDRESS>debug1: Entering interactive session.
debug1: Requesting authentication agent forwarding.
debug1: Sending environment.
debug1: Sending env LANG = ru_RU.UTF-8
Last login: Mon Jan 26 05:36:11 2015
CoreOS beta (557.0.0)
core@coreos01 ~ $

It looks like it works now. Are you sure you didn't do anything differently this time around (other than the verbose flag)?

i am 	generated new etcd key and ssh key

The etcd discovery token shouldn't have any effect on SSH keys. I'm guessing there was a mistake with your previous setup. I'm going to close this for now, but please let me know if you run into this again.

Just an FYI, sorry to revive old thread but first entry in google.  After struggling for a while with this the solution was to read the docs.  All YAML values in quotation marks and it started working.  I tink the problem is that if entries before need to be escaped / quoted then the key never loads, so changing the setting of the token could well have an effect.


fix copy ctor & assignment op

for issue: Reusing http::client::response #552

You're doing this against the master branch, which is not related to any released versions of cpp-netlib.
Is this your intent?

Hi
Not my original intent sorry. I am not used to github so I just followed some tutorial and didn't check whether I am pulling against the right branch.
Tomas

Od: Dean Michael Berris<EMAIL_ADDRESS>Komu: "cpp-netlib/cpp-netlib"<EMAIL_ADDRESS>Datum: 02.10.2015 07:50
Předmět: Re: [cpp-netlib] fix copy ctor & assignment op (#561)
You're doing this against the master branch, which is not related to any released versions of cpp-netlib.
Is this your intent?

Reply to this email directly or view it on GitHub:
https://github.com/cpp-netlib/cpp-netlib/pull/561#issuecomment-144931421

LGTM
Thanks @tpecholt -- I'll merge it anyway.


Get-PWApplicationToken' is not recognized as the name of a cmdlet

I am getting this error while running the script.
"Get-PWApplicationToken : The term 'Get-PWApplicationToken' is not recognized as the name of a cmdlet, function, script file, or operable
program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At C:\Scripts\PWExpireNotification.ps1:29 char:10

$token = Get-PWApplicationToken @param"

I've done Install-module PWExpireNotification which should have fixed it.

This was because I imported the module in PowerShell 7 and not the built-in Powershell.


use my own button

Issue Description
hi, I'd like to be able to present the LinkedInModal after my own button widget gets a press. The way my code works, the button I am passing in to the LIM ends up fighting over the onPress with the LinkedInModal. So I'd like the option of being able to cause LIM to just appear w/out it doing anything to manage any button.
if that makes any sense.
Steps to Reproduce / Code Snippets
not much to show since i want to do something that afaict isn't supported :-)
Expected Results
see description above.
Additional Information

Nodejs version: v6.11.1
React version: n/a
React Native version: 0.51.0
Expo version: n/a
react-native-linkedin version: 1.3.1
Platform(s) (iOS, Android, or both?): both

Hello,
it’s already possible:
https://github.com/xcarpentier/react-native-linkedin/blob/21f86a60d42a15eff6b326069d77aac079fee27f/example/App.js#L121

thanks!

Maybe it's better to include a prop like "openImmediately" or something like that to go to the linkedin form without passing through "linkText". Or, much better, if the linkText = null --> go directly to the linkedin form.


Kevin/Localization:EU Footer

Description
Summary
Changes:

Eu Footer

Type of change

[ ] Bug fix
[ ] New feature
[ ] Update feature
[ ] Refactor code
[ ] Translation to code
[x] Translation to crowdin
[ ] Script configuration
[ ] Improve performance
[ ] Style only
[ ] Dependency update
[ ] Documentation update
[ ] Release

Closing this as it's no longer valid now 🙏


linalg::Svd() outputs NaN when the input tensor contains only zeros

linalg::Svd() outputs NaN when the input tensor contains only zeros. This issue only happens on GPU and doesn't happen when the data type is float. This bug is the culprit of the broken Svd.gpu_U1_zeros_test test case.
Below is the minimal test case to reproduce the bug.
#include <vector>

#include "cuda_runtime_api.h"
#include "gtest/gtest.h"

#include "Generator.hpp"
#include "linalg.hpp"
#include "Tensor.hpp"
#include "Type.hpp"
#include "Device.hpp"

  TEST(Svd, GpuZeros) {
    cudaSetDevice(Device.cuda);
    Tensor all_zeros = zeros(64, Type.Double, Device.cuda);
    all_zeros.reshape_(16, 4);
    std::vector<Tensor> svd_output = linalg::Svd(all_zeros, /* is_UvT */ true);
    cudaDeviceSynchronize();
    ASSERT_EQ(svd_output.size(), 3);
    Tensor& singular_values = svd_output[0];
    ASSERT_EQ(singular_values.shape().size(), 1);
    ASSERT_EQ(singular_values.shape()[0], 4);
    EXPECT_EQ(singular_values.at({0}), 0);
    EXPECT_EQ(singular_values.at({1}), 0);
    EXPECT_EQ(singular_values.at({2}), 0);
    EXPECT_EQ(singular_values.at({3}), 0);
  }

current output:
: Failure
Expected equality of these values:
  singular_values.at({0})
    Which is: < -nan > dtype: [Double (Float64)]
  0

: Failure
Expected equality of these values:
  singular_values.at({1})
    Which is: < -nan > dtype: [Double (Float64)]
  0

: Failure
Expected equality of these values:
  singular_values.at({2})
    Which is: < -nan > dtype: [Double (Float64)]
  0

: Failure
Expected equality of these values:
  singular_values.at({3})
    Which is: < -nan > dtype: [Double (Float64)]
  0

Only when the size of singular values are 4, 23, 28, and 33, the output
  TEST(Svd, GetZerosWhenInputtingZeros) {
    cudaSetDevice(Device.cuda);
    auto any_non_zero = [](const Tensor& tensor) -> bool {
      Storage storage = tensor.storage();
      size_t size = storage.size();
      double* ptr = reinterpret_cast<double*>(storage.data());
      for (int i = 0; i < size; ++i) {
        if (*ptr++ != 0) {
          return true;
        }
      }
      return false;
    };
    std::vector<std::pair<size_t, size_t>> shapes_get_nan;
    for (size_t m = 1; m < 61; ++m) {
      for (size_t n = 1; n < 61; ++n) {
        Tensor all_zeros = zeros(m * n, Type.Double, Device.cuda);
        all_zeros.reshape_(m, n);
        std::vector<Tensor> svd_output = linalg::Svd(all_zeros, /* is_UvT */ true);
        Tensor& singular_values = svd_output[0];
        if (any_non_zero(singular_values)) {
          shapes_get_nan.emplace_back(m, n);
        }
      }
    }
    std::cout << "{";
    for (const std::pair<size_t, size_t>& shape : shapes_get_nan) {
      std::cout << std::dec << "{" << shape.first << ", " << shape.second << "}, ";
    }
    std::cout << "}" << std::endl;
  }

Should we force the SVD function to output all zeros when the input values are all zeros?

I have posted so many bug reports for cusolver SVD ... it is very disappointing that 6 years later there are still lots of bugs in it.  Their test infrastructure must be pathetic.
It is actually useful in some situations if the SVD of a matrix of zeros gives random unitaries for the U and V matrices.  The reason is that if you need to select from a vector that has a zero singular value, then you should get a random choice, rather than (1,0,0,0,..), which is a rather biased selection!  But probably not something that you want to incorporate into the SVD unconditionally ...


Add spectre configuration for PureLib

Resolves build issues related to BinSkim for PureLib.
Microsoft Reviewers: Open in CodeFlow

/azp run

We should probably modify the binskim task search pattern to be more specific.


Slightly nicer error message when a body is all definitions.

Currently, this program:
#lang dssl2
def foo():
    def bar():
        3

raises an error in terms of the Racket expansion.
The PR catches these kinds of errors, and produces a slightly nicer error message.
Two issues that remain:

I couldn't get it to print the actual DSSL2 surface syntax where the error is, but rather the AST version.
I didn't add the above program as a test; do you have tests for syntax errors? I didn't find any.

I don't think I do have syntax error tests…

Is it necessarily wrong to end with a definition? Instead of improving this error message, maybe we should make the result None in that case.

Is there a non-mistake situation where you have definitions, but no expression in the body?
I'd imagine that that error would catch a lot of oversights, e.g., missing recursing starting point.

It’s never ultimately useful, but there are definitely cases where you could temporarily have a definition last in a block. And notably, Python allows it.

Alright, either way works for me.
The more time-sensitive PR is the other one anyway. Any ETA on that one?

So it turns out it wasn’t just def that did this—let-with-no-RHS, struct, class, and interface did as well. I implemented my solution on a branch, block-end-fix. If you’re happy with that then I’ll merge it.

That looks fine, I'm happy with that.
No tests?

Yeah, okay, a couple tests.


fix buttion tutorial type

#7  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @benschac and the rest of your teammates on  Graphite


Rpc bugfix

bugix for rpcwrapper
Internal cache for active rpclients was not cleaned up after destroying the rpc client.

Codecov Report

Merging #161 into master will increase coverage by 0.1%.

@@           Coverage Diff            @@
##           master    #161     +/-   ##
========================================
+ Coverage    57.2%   57.3%   +0.1%
========================================
  Files          30      30
  Lines        3797    3797
========================================
+ Hits         2172    2176      +4
+ Misses       1478    1475      -3
+ Partials      147     146      -1

Impacted Files
Coverage Δ

monitor/linuxmonitor/linuxMonitor.go
72% <ø> (+4%)
:white_check_mark:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 47188cf...bea399c. Read the comment docs.


lisa_shell: Reset terminal colours in PS1

So we don't mess up the terminal too much for people with pale backgrounds.

Don't merge, doesn't work properly on $colleague's machine

This should be fixed now and works on my machine.. couldn't see any problems on $colleague's but should probably have someone test it


EVERYTHING ABOUT MATPLOTLIB

Description 📜
Here I have made a jupyter notebook file to describe everything about Matplotlib library in Python
Fixes #6221

Type of change 📝

[x] Documentation (Content Creation in the form of codes or tutorials)

Domain of Contribution 📊

[x] Python_Domain

Checklist ✅

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

Screenshots / Gif (Optional) 📸

@Rijudas149 Would you like this update the changes mentioned by a mentor or can we close this pr?

@adityabisoi Close this pr


ci: enable circleci golang lint and test

Enable golang CI linting and testing.
CI will fail until we merge the fix in https://github.com/ethereum-optimism/superchain-registry/pull/16

Force-pushed a committer-time change to trigger CI, seems to work now. Got to merge the test-fix before it turns green though.

Fixed working directory issue, rebased on main with test fix.


大写字母后报错，图片格式仍为100*60，新模型训练

求大佬指定：
报错内容
-->使用测试集为 sample/train/
-->使验证集为 sample/test/

Start model test
input batch images shape: (100, 6000)
input batch labels shape: (100, 372)
input x: Tensor("Reshape:0", shape=(?, 60, 100, 1), dtype=float32)
Instructions for updating:
Use the retry module or similar alternatives.
convolution 3:  (?, 8, 13, 128)
input batch predict shape: (?, 372)
End model test
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1327, in _do_call
return fn(*args)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 516, in exit
c_api.TF_GetCode(self.status.status))

During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "train_model.py", line 276, in
main()
File "train_model.py", line 271, in main
tm.train_cnn()  # 开始训练模型
File "train_model.py", line 165, in train_cnn
saver.restore(sess, self.model_save_dir)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1775, in restore
{self.saver_def.filename_tensor_name: save_path})
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 905, in run
run_metadata_ptr)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1140, in _run
feed_dict_tensor, options, run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1321, in _do_run
run_metadata)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/client/session.py", line 1340, in _do_call
raise type(e)(node_def, op, message)
Caused by op 'save/Assign_14', defined at:
File "train_model.py", line 271, in main
tm.train_cnn()  # 开始训练模型
File "train_model.py", line 158, in train_cnn
saver = tf.train.Saver()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1311, in init
self.build()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1320, in build
self._build(self._filename, build_save=True, build_restore=True)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1357, in _build
build_save=build_save, build_restore=build_restore)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 809, in _build_internal
restore_sequentially, reshape)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 470, in _AddRestoreOps
assign_ops.append(saveable.restore(saveable_tensors, shapes))
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 162, in restore
self.op.get_shape().is_fully_defined())
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/state_ops.py", line 281, in assign
validate_shape=validate_shape)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/ops/gen_state_ops.py", line 61, in assign
use_locking=use_locking, name=name)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/op_def_library.py", line 787, in _apply_op_helper
op_def=op_def)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 3290, in create_op
op_def=op_def)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 1654, in init
self._traceback = self._graph._extract_stack()  # pylint: disable=protected-access
InvalidArgumentError (see above for traceback): Assign requires shapes of both tensors to match. lhs shape= [372] rhs shape= [216]
[[Node: save/Assign_14 = Assign[T=DT_FLOAT, _class=["loc:@Variable_4"], use_locking=true, validate_shape=true, _device="/job:localhost/replica:0/task:0/device:CPU:0"](Variable_4/Adam_1, save/RestoreV2:14)]]

解决了么


"Strong" property should be documented

Thanks for a great tool, it saved me a lot of time. I had a problem with file being referenced by object to be garbage collected (so, without any references from other live objects), and leak detector was not showing the file to me. I've set "strong" property and it worked for me. Please add a documentation for this property.

Fixed in #61.


Don't remove overlay views when the rasterizer is being torn down

Internal bug: http://b/217540786
When FlutterFragment is used, ViewGroup#dispatchDetachedFromWindow is called by the Android framework:
   at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3948)
        at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:3948)
        at android.view.ViewGroup.endViewTransition(ViewGroup.java:7194)
        at android.support.v4.app.DefaultSpecialEffectsController$4$1.run(DefaultSpecialEffectsController.java:281)
        at android.os.Handler.handleCallback(Handler.java:938)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loopOnce(Looper.java:201)
        at android.os.Looper.loop(Looper.java:288)
        at android.app.ActivityThread.main(ActivityThread.java:7842)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:548)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)

However,  ViewGroup#dispatchDetachedFromWindow expects no view to be removed from the hierarchy, but some views are actually removed in https://github.com/flutter/engine/blob/65dfc9e3bf1927bf555ffb073ea5e7a9f3607e4d/shell/platform/android/io/flutter/plugin/platform/PlatformViewsController.java#L967.
This causes a method to be called on a null instance.
This was likely started after https://github.com/flutter/engine/pull/28894

One potential solution is to move the code that removes the view to detachFromView in PlatformViewsController.


Ollama is not running in your IDE

Installed the model locally via Ollama, and ran the ollama serve successfully in the command line.
but keep seeing Ollama is not running in your IDE error on VScode and chat/other functionalities are disabled

Hi @mgorjis , let us know if you have gotten past this issue after removing the conflicting extension in your vscode, thanks .

.


determining sender window of IPC messages in browser

I'm wondering if it's possible to know which window sent an IPC message.
For example, say I create 2 browser-window instances, and they both call ipc.send('foo', 'bar').
In the browser, is there any way to know which window triggered the ipc.on('foo', cb) events that get triggered?
Maybe you should be able to do webContents.on in addition to webContents.send to be able to get messages from a specific window

Why not just do this yourself by sending extra information in the send message?

@paulcbetts thats what I'm doing now (https://github.com/maxogden/find-data/blob/master/client.js#L7-L10, https://github.com/maxogden/find-data/blob/master/client.js#L26-L32) but I figured this functionality might be something core-worthy

The event.sender references to the WebContents that sent the message.

Why not just do this yourself by sending extra information in the send message?

Because we're lazy. It could be solved in the API once and for all.


[ Backend ]Create Get Testimonial API

Closes: #1024
Get Testimonial API to fetch testimonials from the database.
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update (Documentation content changed)
[ ] Other (please describe):

Checklist
Put an x in the boxes that apply

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] My changes does not break the current system and it passes all the current test cases.

Screenshots

@Kajol-Kumari please review and let me know if any changes required

@Kajol-Kumari Can I create separate issues for the POST, UPDATE, and DELETE APIs in the backend?

@shivamgaur99 Testimonials can be directly entered by admins so create and delete API will be required and will be good to be integrated on the admin panel.

@Kajol-Kumari Can I create the issue ?

yes, for create and delete please feel free to create, also we will need frontend issues for integrating it to admin dashboard, i will create them if you don't get time


Issue with double tabs (text not cleared)

When I press 'cd re' and 'tab' 'tab'
It seems the previous text has not been cleared.

Please retest again with platformio-atom-ide-terminal 2.9.0.
These type issues all so far seem fixed with this release due to using node-pty-prebuilt instead unmaintained and outdated pty.js


⚠ Bofrost.at has degraded performance

In 14102fd, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1171 ms

Resolved: Bofrost.at performance has improved in 0fe1804 after 7 minutes.


Bind mount failed

Trying to run teslamate for the first time, docker-compose had an error
ERROR: for teslamate  Cannot start service teslamate: Bind mount failed: '/volume2/docker/teslamate/import' does not exists

Expected behavior

How to reproduce it (as minimally and precisely as possible):

Create docker-compose.yml then run docker-compose up on Synology DS218+ with Docker version 18.09.8, docker-compose version 1.24.0
Relevant entries from the logs

Environment

TeslaMate version:
Type of installation: Docker or Manual
OS TeslaMate is installed on:
User OS & Browser:
Others:

It's kind of self evident.... this folder doesn't exist, but its defined in the error....
'/volume2/docker/teslamate/import'

Agh, I'm such a noob. Sorry for time-wasting, it's working now! Very impressed with teslamate :+1:


Canvas click not firing when item is selected

Not sure if this is a bug or by design
I have a timeline and specify
onCanvasClick={(e) => console.log('canvas clicked')}
onItemSelect={(e) => console.log('item selected')}

When I select an Item and item is displayed as being selected, I need to click two times on the canvas to fire the event. The first click on canvas deselects the item, but does not fire the event, the second click fire the onCanvasClick event.
Is this a bug? I would expect onCanvas click to fire the first time
EDIT: Here is a super simple repro based on your template, just added the props mentioned above

Is this issue occurring in the base example (the link that is in the issue template)?
Any reason you didn't use the issue template for this issue? 😀

Sorry, my bad…  here we go: https://codesandbox.io/s/l211p68z6m

Yea, that's a bug. Thanks for posting the code!

Should be fixed in next release

released with 0.16.2


InfluxDB starts consuming all available disk space / compaction errors

Bug report
System info:
Nighlty build from 2017-05-18
Running in docker container under Rancher
EBS gp2 storage backend (separate devices for WAL and TSM)
Using telegraf to inject stats from different rancher environments
Steps to reproduce:

Clear data and wal directories
Start influxdb
Let it run for a while
This error starts to appear on the log

[I] 2017-05-22T12:35:34Z Snapshot for path /data/influxdb/data/telegraf-internal-prod/autogen/3 written in 128.902839ms engine=tsm1
[I] 2017-05-22T12:35:34Z error writing snapshot: compaction in progress engine=tsm1
[I] 2017-05-22T12:35:34Z error writing snapshot from compactor: compaction in progress engine=tsm1

Leave it running for 6 hours, and it consumes 100GB of space

Expected behavior:
These errors should not appear
Disk space usage seems exagerated in one of the databases (telegraf-dev, the one with highest usage)
Actual behavior:
Errors start appearing on the logs
Disk space utilization skyrockets
Additional info:
vars.txt

Can your show how you started the container?  Is the data dir writeable? That error indicates that we could create a tmp file in the data dir to write a snapshot to disk.  The root error looks like it's masked unfortunately.  Your disk may be filling up due to wal segments not being able to be compacted.  What does the contents of you wal dir (/data/influxdb/wal/telegraf-internal-prod/autogen/3) look like?

The errors on the OP were logged about 30 minutes after starting InfluxDB with clean data/wal directories.
Both directories are being actively written by InfluxDB, i left it running overnight and this morning it had consumed all 250GB of space in the data directory:
Here is the data dir usage
root@cc35be712981:/data/influxdb/data# du -sh *
908K	_internal
12K	rancher
6.6M	telegraf
245G	telegraf-dev

And wal:
root@cc35be712981:/data/influxdb/wal# du -sh *
22M	_internal
26M	rancher
168M	telegraf
5.0G	telegraf-dev

The data directory for telegraf-dev, under the autogen/13 directory is full of tsm and tsm.tmp files:
...
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024171-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024172-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024173-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024174-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024175-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024176-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024177-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024178-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024179-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024180-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024181-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024182-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024183-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024184-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024185-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024186-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:10 000024187-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:11 000024188-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:11 000024189-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:11 000024190-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:11 000024191-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:11 000024192-000000001.tsm
-rw-r--r-- 1 root root 10855292 May 23 09:11 000024193-000000001.tsm
-rw-r--r-- 1 root root  9719808 May 23 09:11 000024194-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024195-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024196-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024197-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024198-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024199-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024200-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024201-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024202-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024203-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024204-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024205-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024206-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024207-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024208-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024209-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024210-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024211-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024212-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024213-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024214-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024215-000000001.tsm.tmp
-rw-r--r-- 1 root root        0 May 23 09:11 000024216-000000001.tsm.tmp
...

Here is the count of files
root@cc35be712981:/data/influxdb/data/telegraf-dev/autogen/13# find *.tsm |wc -l
24193
root@cc35be712981:/data/influxdb/data/telegraf-dev/autogen/13# find *.tmp |wc -l
8365

Log was full of these errors before running out of disk space
[I] 2017-05-23T08:44:21Z Snapshot for path /data/influxdb/data/telegraf-dev/autogen/13 written in 285.264169ms engine=tsm1
[I] 2017-05-23T08:44:21Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:21Z Snapshot for path /data/influxdb/data/telegraf-internal-prod/autogen/11 written in 9.128µs engine=tsm1
[I] 2017-05-23T08:44:21Z error writing snapshot: error opening new segment file for wal (1): invalid argument engine=tsm1
[I] 2017-05-23T08:44:22Z error adding new TSM files from snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:22Z Snapshot for path /data/influxdb/data/telegraf-dev/autogen/13 written in 282.545818ms engine=tsm1
[I] 2017-05-23T08:44:22Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:22Z Snapshot for path /data/influxdb/data/telegraf-internal-prod/autogen/11 written in 12.319µs engine=tsm1
[I] 2017-05-23T08:44:22Z error writing snapshot: error opening new segment file for wal (1): invalid argument engine=tsm1
[I] 2017-05-23T08:44:23Z error adding new TSM files from snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:23Z Snapshot for path /data/influxdb/data/telegraf-dev/autogen/13 written in 274.55072ms engine=tsm1
[I] 2017-05-23T08:44:23Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:23Z Snapshot for path /data/influxdb/data/telegraf-internal-prod/autogen/11 written in 9.242µs engine=tsm1
[I] 2017-05-23T08:44:23Z error writing snapshot: error opening new segment file for wal (1): invalid argument engine=tsm1
[I] 2017-05-23T08:44:24Z error adding new TSM files from snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:24Z Snapshot for path /data/influxdb/data/telegraf-dev/autogen/13 written in 283.661506ms engine=tsm1
[I] 2017-05-23T08:44:24Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:24Z Snapshot for path /data/influxdb/data/telegraf-internal-prod/autogen/11 written in 11.222µs engine=tsm1
[I] 2017-05-23T08:44:24Z error writing snapshot: error opening new segment file for wal (1): invalid argument engine=tsm1
[I] 2017-05-23T08:44:25Z error adding new TSM files from snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:25Z Snapshot for path /data/influxdb/data/telegraf-dev/autogen/13 written in 275.902009ms engine=tsm1
[I] 2017-05-23T08:44:25Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-23T08:44:25Z Snapshot for path /data/influxdb/data/telegraf-internal-prod/autogen/11 written in 12.154µs engine=tsm1
[I] 2017-05-23T08:44:25Z error writing snapshot: error opening new segment file for wal (1): invalid argument engine=tsm1

This is the compose file used to start the container:
version: '2'
volumes:
  ebs_influxdb-data:
    external: true
    driver: 'rancher-ebs'
  ebs_influxdb-wal:
    external: true
    driver: 'rancher-ebs'
  ebs_influxdb-meta:
    external: true
    driver: 'rancher-ebs'
services:
  influxdb:
    image: pythiant9shared/influxdb:nightly_20170518
    ulimits:
      memlock:
        hard: -1
        soft: -1
    volumes:
    - ebs_influxdb-data:/data/influxdb/data
    - ebs_influxdb-meta:/data/influxdb/meta
    - ebs_influxdb-wal:/data/influxdb/wal
    ports:
    - 2003:2003/tcp
    - 8086:8086/tcp

Here is the df output from inside the container
root@cc35be712981:/# df -h
Filesystem      Size  Used Avail Use% Mounted on
overlay          30G   11G   19G  36% /
tmpfs           7.5G     0  7.5G   0% /dev
tmpfs           7.5G     0  7.5G   0% /sys/fs/cgroup
/dev/xvda1       30G   11G   19G  36% /.r
shm              64M     0   64M   0% /dev/shm
/dev/xvdh       4.8G   10M  4.6G   1% /data/influxdb/meta
/dev/xvdg       197G  5.3G  182G   3% /data/influxdb/wal
/dev/xvdf       246G  246G     0 100% /data/influxdb/data
tmpfs           7.5G     0  7.5G   0% /sys/firmware

And PS output as well
root@cc35be712981:/# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1 60.7 47.7 264020284 7481028 ?   Ssl  May22 572:39 influxd
root        30  0.0  0.0  20260   504 ?        Ss+  May22   0:00 bash
root       142  0.0  0.0  20260  3236 ?        Ss   14:19   0:00 bash
root       152  0.0  0.0  17500  2048 ?        R+   14:24   0:00 ps aux

#8416 fixes some issues where tmp files could linger which should help here.  There is something else going on that is preventing snapshots from getting written though.  I'll need to fix the error that is returned so that the root issue is not masked.

#8420 will fix the error getting masked so we can see why the snapshot is failing to be written.  There are some other fixes in there for problems that occur when this error occurs.

@garceri From you comment, can you attach one of recent -00000001.tsm files from /data/influxdb/data/telegraf-dev/autogen/5?  Something is odd in that the it looks like the snapshot was written successfully, but it could not be opened immediately after writing it.  That hints at a file system/hardware/OS issue.

Here is the TSM file
000029152-000000001.tsm.zip.
Is there any way to increase log debug output to unmask the error ?
This is EBS storage using the rancher-ebs Storage Engine:
https://docs.rancher.com/rancher/v1.6/en/rancher-services/storage-service/rancher-ebs/
https://github.com/rancher/storage/tree/master/package/ebs

@garceri I found the issue.  Do you know how the orientdb_stats measurement is written?  Is it through the graphite endpoint?  The issue is that a series key that is too large has managed to be accepted. When it's snapshotted to a TSM file it's overflowing the field length which causes it to fail to load.  I'm wondering if these writes are coming in from something other than the HTTP line protocol endpoint because I can't seem to reproduce the issue via that endpoint.

I figured it out.  It can occur via the HTTP API as well.  The orientdb_stat is writing a field name that is very large which is causing the series key to overflow.  The field name seems to be well over 65k.   It looks like it's using a query as the field name.  The length of the field name is not part of the series key check currently in the write end points.
As a workaround until this is fixed, I would disable whatever is writing orientdb_stat for now.

Okey, yeah, that measurement is taken from Telegraf using the http_json input, i'm going to check the output directly to see if there is an error with telegraf or orientdb itself.

@garceri You won't see an error as the write is accepted by the DB, but it shouldn't be.

Okey, but i should be seeing the irregularly-formatted data in the http output from orientdb, right ?

Yeah, you should be able to see the writes to the DB.  The field name starts with realtime_chronos_db.service_point_group_db.command.sql.select createWhitelist and is then followed by many GUIDs.

@jwilder should some kind of checking be implemented in InfluxDB to prevent these errors ? Maybe discarding improperly formatted metrics or something ?

@garceri Yes, #8425 should fix this now.  Would you be abel to test that branch?

Yep, let me check

Compiled your branch, still no luck, keep getting:
[I] 2017-05-25T02:45:53Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-25T02:45:54Z error adding new TSM files from snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-25T02:45:54Z Snapshot for path /data/influxdb/data/telegraf-dev/autogen/3 written in 269.148722ms engine=tsm1
[I] 2017-05-25T02:45:54Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-25T02:45:55Z error adding new TSM files from snapshot: indirectIndex: not enough data for max time engine=tsm1
[I] 2017-05-25T02:45:55Z Snapshot for path /data/influxdb/data/telegraf-dev/autogen/3 written in 266.584342ms engine=tsm1
[I] 2017-05-25T02:45:55Z error writing snapshot: indirectIndex: not enough data for max time engine=tsm1

after 6 hours, not a single message indicating that compaction has taken place and it  has consumed already 90GB of space.

You probably need to remove the wal segments for that problem shard.  They still have the bad writes and won't be dropped on  their own at this point.  They are reloaded at startup and still will be attempted to be snapshotted.  If you see that error for tsm files at startup, those files would need to be removed as well.

I cleaned up the whole data/meta/wal directories before starting InfluxDB

Hmm. Can you attach another one of the 00001.tsm files?

Ah. I think I know what I missed. I need to update the PR.

@garceri Were you able to verify the build commit you are testing?

@jwilder , i figured out i was using an older commit, i confirm that commit 62a9325e79ba266e355bb4ad06d7d821676dcb32 solves the issue

@garceri Great! Thanks for your help!

I'm experiencing this bug with InfluxDB 1.3, via the influxdb:latest Docker image.
I get these for a while, and eventually I get too many files open, Chronograf stops showing new data, and my storage fills up rapidly.
[I] 2017-11-02T14:19:38Z Snapshot for path /var/lib/influxdb/data/telegraf/autogen/2 written in 19.637876ms engine=tsm1
[I] 2017-11-02T14:19:38Z error writing snapshot: sync /var/lib/influxdb/data/telegraf/autogen/2: invalid argument engine=tsm1
[I] 2017-11-02T14:19:39Z error adding new TSM files from snapshot: sync /var/lib/influxdb/data/telegraf/autogen/2: invalid argument engine=
tsm1

This appears to only happen when my volume is backed by a samba mount. I'll create a new issue for this.


CMSIS-DAP and bitbanging ARM interface differs in error handling

          > I guess we should get the CMSIS-DAP implementation aligned with arm_debug_interface, there are a few differences in fault/wait handling.

Is it worth creating an 'tracking' issue for this work?
Originally posted by @noppej in https://github.com/probe-rs/probe-rs/issues/2539#issuecomment-2152377965

Wait handling is done by the probe itself, so this is not something we can actually touch. See https://arm-software.github.io/CMSIS-DAP/latest/group__DAP__TransferConfigure.html.


fix uninstall in cri-install.sh

removed extra space that was breaking the uninstall case

Coverage increased (+0.05%) to 59.241% when pulling f9b18f08545f3954324dd531bf959dd7b75e7856 on gilesheron-patch-1 into 30deedc80fe9c95dd04bfbf8240ef617f496f672 on master.


zooming in on the canvas with two fingers triggers drawing

On my phone, zooming in on the canvas with two fingers triggers drawing
https://user-images.githubusercontent.com/4253172/167809726-c65d994d-3c28-4bdd-817a-bcb6706e08a1.mp4

One solution is to remove the element if you start zooming (or simply when we detect 2+ fingers). Any other ideas?

I think that will work

I think that will work

I think the essential problem is that 2-finger drawing interferes with zooming.  is it possible to simply provide an option to completely disable 2-finger drawing for mobile version

It seems that google keep has this way,
if there is no 2nd finger for approximately 50 milliseconds,
it's ok,
if there is,
delete the item.

I think this is a good solution.

@anatoliibakhtin @dwelle How would this be implemented？ We really hope to get this fixed.   Will something along the following line work?
In Asp.tsx,  handleCanvasPointerDown(), when we find (1) it becomes 2 fingers, and  (2) when we are in pen mode, and (3) this event happens too soon, then undoOnce() to remove the previous element we draw?
We are new to Excalidraw and are still slowly reading the source code, so any help / advice is extremely welcome.

@yin-zhang hi, I can explain what I want to do, but what to change in the code I don't know (I'm a total zero here). If you need to try changing something and see the reaction I would try here once again, I'm a complete zero at code creation.

Along the above line, we made a patch that seems to solve the problem reasonably well.  @nxboo will try to create a PR when he gets a chance.

Gays, @nxboo, @yin-zhang, what are you waiting for ? Can you create a PR or is this no longer an issue for you ?

@nxboo @yin-zhang ?

@nxboo @yin-zhang ??

@dwelle 🙏 Could you please raise the priority of this problem and appoint someone to deal with it? For easy recollection of everything we've talked about on this subject, I've attached a link below: https://discord.com/channels/723672430744174682/1007602994663133224

@dwelle, would You be comfortable if I sent notifications about this problem every week, so that it is always in your sight?

This problem can be quite tricky to fix

@LukaHietala thank you so much for the answer !! Looking at the comments above from @nxboo, @yin-zhang, I thought everything was resolved pretty easily...  (but I'm a complete 0 in code), thanks again for stopping by to see this problem.
If its too time consuming to solve at this point of application development, I'll wait for a better time and write in anniversary, 1.5, 2, etc. (it should definitely be solved or modified someday, otherwise it's a hell of a torture for newbies when you first go from an app that lets you draw and move around the canvas without changing your tool to excalidraw).

@anatoliibakhtin Small update here; I have a possible solution to the zooming problem. Maybe we should temporarily remove the event listener ontouchstart when onmousedown fires so that it doesn't fire the start event twice. I'll test this when I'm on my main machine

I have a bit of a problem. The context.canvas.id is null and events won't be triggered like onmousedown. Known issue?


move toggle for Abfall to headline

one would expect the toggle also for Abfall to be right next to the card title. maybe use wording like this:
Abfall > Übersicht [toogle] Biotonne vs Gartenabfall

we would need two descriptions then, too

change button for Abfall to make it more different from data level toggle


Invoice Extraction

PR Checklist
Model Interaction

[x] Flexible LLM platform support The platform should be easily switchable. Use LangChain or LlamaIndex.
[x] Use prompt guide corresponding to the model  For example for Granite 3.x Language Models

Data

[x] Example data: Follow the example data guidance.

Notebook requirements

[x] Notebook outputs cleared: Ensure all notebook outputs are cleared.
[x] Automated testing: Add the recipe to the automated tests as described here
[x] Test in Google Colab:

[x] Test that it works in Google Colab (Python 3.10.12).
[x] Colab has its own package set and Python version, so ensure compatibility.

[x] Test locally:

[x] Ensure the code works in a fresh Python virtual environment (venv).

[x] Standard access to secrets and variables Include !pip install git+https://github.com/ibm-granite-community/utils in the first code cell in order to make get_env_var available to accessing secrets and variables in the recipe.

Incoming References

[x] README.md updates:

[x] Add a link to the recipe in the Table of Contents (ToC).
[x] Include a Colab button after that link.

GitHub

[x] Commits signed: All commits must be GPG or SSH signed.
[ ] DCO Compliance: Developer Certificate of Origin (DCO) applies to the code, documentation, and any example data provided. Ensure commits are signed off.

Also, please add this notebook's path to .github/notebook_lists/vanilla_notebooks.txt so the notebooks will be tested in the build.

I have changed the invoice path as mentioned above and added the notebook path to the vanilla_notebooks.txt file.

@adampingel I think this is ready to merge.

@SinghSuryaDeep

Where are the invoice pdfs from?  We need to be able to distribute all data under CDLA Permissive 2.0
Please create an entry in the top-level README.md for these -- I think under the first section of recipes

@adampingel

The invoice PDF contains mocked-up data. The numbers and names are not real.
I have added an entry in the README.md file for invoice extraction.