Flow failing to find shipped type definitions

🐛 Bug Report
Flow does not seem to be finding the shipped flow type definitions after upgrading to v6. I can get flow to find the type definitions by running:
cp node_modules/immer/dist/{immer,index}.js.flow

Link to repro
https://github.com/esturcke/immer-flow-bug
To Reproduce

Run flow
yarn flow

Observed behavior
Warning ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/App.js:3:8

Importing from an untyped module makes it any and is not safe! Did you mean to add // @flow to the top of immer?
(untyped-import)

     1│ // @flow
     2│ import React from "react";
     3│ import produce from "immer";
     4│ import logo from "./logo.svg";
     5│ import "./App.css";
     6│

Found 1 warning
✨  Done in 4.57s.

Expected behavior
No flow warnings.
Environment

Immer version: 6.0.2

Interested in PR-ing a fix? Probably the copy command that copies the flow
types is outdated
On Wed, Mar 18, 2020 at 3:06 AM Erik J. Sturcke<EMAIL_ADDRESS>wrote:

🐛 Bug Report
Flow does not seem to be finding the shipped flow type definitions after
upgrading to v6. I can get flow to find the type definitions by running:
cp node_modules/immer/dist/{immer,index}.js.flow
Link to repro
https://github.com/esturcke/immer-flow-bug
To Reproduce

Run flow
yarn flow
Observed behavior
Warning ┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈┈ src/App.js:3:8
Importing from an untyped module makes it any and is not safe! Did you mean to add // @flow to the top of immer?
(untyped-import)
 1│ // @flow

 2│ import React from "react";

 3│ import produce from "immer";

 4│ import logo from "./logo.svg";

 5│ import "./App.css";

 6│

Found 1 warning
✨  Done in 4.57s.
Expected behavior
No flow warnings.
Environment

Immer version: 6.0.2

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/immerjs/immer/issues/554, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAN4NBCKXVNPJCYTM6KDVLTRIA3E5ANCNFSM4LODQGOA
.

Sure, let me give that a try.

:tada: This issue has been resolved in version 6.0.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Compile with PlatformIO  - warnings being treated as errors [-Werror=reorder]

Hello Tobias,
using your nice client with PlatformIO - i get this warning  treated as errors.
I fix would be nice ..
Regards Stefan
Workaround:
build_unflags = -Werror=reorder
In file included from .pio/libdeps/esp32dev/ESP8266 Influxdb/src/query/FluxTypes.cpp:28:0:
.pio/libdeps/esp32dev/ESP8266 Influxdb/src/query/FluxTypes.h: In constructor 'FluxString::FluxString(String, String, const char*)':
.pio/libdeps/esp32dev/ESP8266 Influxdb/src/query/FluxTypes.h:131:12: error: 'FluxString::value' will be initialized after [-Werror=reorder]
     String value;
            ^
.pio/libdeps/esp32dev/ESP8266 Influxdb/src/query/FluxTypes.h:127:17: error:   'const char* FluxString::_type' [-Werror=reorder]
     const char *_type;
                 ^
.pio/libdeps/esp32dev/ESP8266 Influxdb/src/query/FluxTypes.cpp:147:1: error:   when initialized here [-Werror=reorder]
 FluxString::FluxString(String rawValue, String value, const char *type):FluxBase(rawValue),value(value),_type(type)
 ^
cc1plus: some warnings being treated as errors

fix: cleared compiler warnings #176


Convenient syntax for "list of type"

When working with ISL recently I had several occasions where I had to define a list of a given type of things.
E.g.:
type::{
    name: TodoList,
    type: {
        type: list,
        element: text,
    },
}

I can define my own list types, but this grows cumbersome as types multiply:
type::{
    name: texts,
    type: list,
    element: text,
}

type::{
    name: TodoList,
    type: texts,
}

It would be more convenient if there was an easy way to express "list of something", e.g. something like:
type::{
    name: TodoList,
    type: list_of::text,
}

The same syntactic sugar could exist for other container types as appropriate, and should be usable in any context where a type might be expected.

Another possible solution that is more succinct, but also more specialized (and therefore limited in applicability), would be a syntactical sugar that expands to a union of the type or a list of that type. E.g. Foo and Bar are equivalent:
type::{
  name: Foo,
  type: list_of_or::number,
}

type::{
  name: Bar,
  type: { one_of: [ number, { type: list, element: number } ] },
}

If we want to go ahead with any annotation-based solution, we need to be careful to define how this would interact with $null_or. The easiest choice would be to say that these annotations are mutually exclusive, but if they are not mutually exclusive, does the order of the annotations matter? Consider, for example, $null_or::list_of::number vs list_of::$null_or::number. (What about $null_or::list_of::$null_or::number?)
On the other hand, if we use a S-Exp based syntax, then we can avoid any confusion around annotation ordering. E.g.:
type::{
  name: Foo,
  type: $null_or::(list_of number),
}

type::{
  name: Bar,
  type: (list_of  $null_or::number),
}

We could even take this premise a step further and define a macro system that would allow you to create your own syntactical sugar. For example:
schema_header::{
  macros:[
    (list_of
      ($type)
      { type: list, element: $type }),
    (sexp_of
      ($type)
      { type: sexp, element: $type }),
  ]
}

But that would complicate things because people might want to import macros (or do other things with them that I can't think of right now), and we'd need to figure out how to handle importing macros and whatever else.

I think that this can be solved by Ion 1.1 macros, but if we release a new version of Ion Schema before that, we can add list_of::<type> that is mutually exclusive with $null_or::.


SGD documentation - small changes

In  https://tomographicimaging.github.io/CIL/nightly/optimisation/#stochastic-gradient-descent-example the example doesn't work atm (the sampler needs stride to be passed)

In  https://github.com/TomographicImaging/CIL/blob/040f214cabaad620eeee0a51108fd0974bb01933/NOTICE.txt is ever so slightly wrong, it should be Kereta 😅

Many thanks @zeljkozeljko

Closed by #1776


Bump copyright year

In general the guidance I've seen is to bump the year if you're touching the file. Bulk commits to update the year everywhere aren't great for history/blame tracking, but keeping it up to date is slightly better than not.
Originally posted by @dlorenc in https://github.com/tektoncd/pipeline/pull/3391#discussion_r507724933

The truth is that we don't bump the year after touching the file since I see no 2021 copyright in the repo 😅
I wonder if we should update all the files in a once, if so, I can help


Expose Parser/AST Internals

Hi all, I'm trying to root around and see if I can re-use the parser and intermediate-representation (perhaps an AST?) that the Cython project uses for a separate project of mine.
I've been able to find several wiki pages proposing changes to the system (ref1, ref2), but no up-to-date (read: 2016) summary of the system.
It's been awhile since I've used Cython, but I remember really enjoying the commented-out Python code printed above each block of generated C code, it greatly helped with debugging. The Python ast module doesn't support such a thing, although I believe the lib2to3 module does (although it seems a bit more heavy-weight).

Cython's internal AST isn't really for public consumption... Nothing on
this front has changed much since those links (other than the grammar being
checked in, but it's still not used by default).
On Sun, Mar 12, 2017 at 6:43 AM, Alex Wiltschko<EMAIL_ADDRESS>wrote:

Hi all, I'm trying to root around and see if I can re-use the parser and
intermediate-representation (perhaps an AST?) that the Cython project uses
for a separate project of mine.
I've been able to find several wiki pages proposing changes to the system (
ref1 https://github.com/cython/cython/wiki/enhancements-Parser, ref2
https://github.com/cython/cython/wiki/enhancements-Ast), but no
up-to-date (read: 2016) summary of the system.
It's been awhile since I've used Cython, but I remember really enjoying
the commented-out Python code printed above each block of generated C code,
it greatly helped with debugging. The Python ast module doesn't support
such a thing, although I believe the lib2to3 module does (although it
seems a bit more heavy-weight).
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cython/cython/issues/1628, or mute the thread
https://github.com/notifications/unsubscribe-auth/ATqe4s317hhRkgNn_SHEzSqTQyx5ycd1ks5rk_aMgaJpZM4MaivP
.
--
You received this message because you are subscribed to the Google Groups
"cython-github-notifications" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to<EMAIL_ADDRESS>To post to this group, send email to cython-github-notifications@
googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/
msgid/cython-github-notifications/cython/cython/issues/1628%40github.com
https://groups.google.com/d/msgid/cython-github-notifications/cython/cython/issues/1628%40github.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

Has there been any update since mid 2017? Such Parser may be helpful for code-formatters. See https://github.com/ambv/black/issues/359 https://github.com/google/yapf/issues/175

No, there hasn't been any update. The justification to base this on
CPython's grammar was to easily see the diff from Python itself.
On Thu, Nov 8, 2018 at 7:09 AM Leonard Lausen<EMAIL_ADDRESS>wrote:

Has there been any update since mid 2017? Such Parser may be helpful for
code-formatters. See ambv/black#359
https://github.com/ambv/black/issues/359 google/yapf#175
https://github.com/google/yapf/issues/175
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/cython/cython/issues/1628#issuecomment-436884221, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAdqgW6K7IA75ptZAXeuG1FpkbfEm2yOks5us8qTgaJpZM4MaivP
.

Also note that the grammar wasn't updated with the latest syntax enhancements, especially the new features in Py3.5/6/7.

I'm not sure I want to commit to a stable, public AST based on our current parse tree since it might hinder us in modifying it in the future. Maintaining an official grammar, however, might already be a helpful step for some projects.

Moving the off-topic part of #2825 conversation here.
TL;DR: I think to accomplish this goal there needs to be a non-trivial refactoring.

An Attempt to Summarize The Status Quo
For discussion purposes, I'm going to focus on cythonize as called from within a setup.py module.  The mental model I had for cythonize before actually looking at the code was that it operated in roughly four stages:

Use user-passed information and file-system lookups to build a CompilationOptions object and collect all the relevant source files.
Parse the cython source files into some sort of internal representation, call it a Pseudo-AST (pAST)
Apply optimizations to the pAST.
Convert the pAST into C code.

The goal for this Issue as I understand it is to expose the pAST at the end of Step2 (or 3).  So two questions:

Is this an accurate characterization of the goal?
Does there currently exist an object that corresponds to the pAST?  AFAICT the answer is "no" because steps 2-4 are intertwined.

(NB: I've spent enough time trying to understand the code to have opinions about it, but not well-informed opinions.  Take all statements below with an implicit "If I understand correctly...")
You have to squint and tilt your head a bit to see the correspondence between the code and these four steps.
Step 1 would include most of Build.Cythonize, Build.Dependencies, parts of Compiler.Main, and all of Compiler.Options, Compiler.DebugFlags, Compiler.CmdLine.  Also Tempita I guess.
Step 2 would include Plex and Compiler.Scanning (possibly Errors and Future for the sake of the dependency graph).  There are other Compiler modules that might belong here conceptually (e.g. Parsing), but I have a really hard time telling because of the dependencies within Compiler.
Step 3 I'm pretty sure would include Pipeline and Optimize.  Everything else I can't really tell where Step 3 stops and Step 4 starts.

Brainstorming A GamePlan
I claim that it is possible to refactor the code such that Step 1 is self-contained and returns a CompilationOptions object.  The remainder of Cython.Build would then have an entrypoint that just takes a CompilationOptions object as its sole input.
From there I'm not sure what to do.  The first thing Step 2 would do is create a Context object from the passed CompilationOptions.  After that I haven't tracked down how it gets from there to Scanning and Plex.

You might be interested in
https://github.com/cython/cython/wiki/DevDocs
The main entry point for 2. is the parser in Parsing.py, which also creates and executes the scanner. The parser (usually) returns a ModuleNode, which is the main syntax tree node for a module. The syntax tree is then further processed (tranformed) in multiple traversals in the following steps, which modify and specialise it. See Pipeline.py. In the last step, the tree is traversed to generate C code from it. You can enable the "verbose pipeline" mode to see the different steps during a compiler run.
What this ticket essentially wants is to expose the parse tree with a stable API. The word "stable" is the problem here, because so far, the parse tree always was an internal implementation detail of Cython that is subject to change at any time.

You might be interested in [...]

Thanks.  I read through the ppt slides and skimmed some of the other pages in the wiki.  It seems like separation of stages and contributor learning curve is a recurring topic.

The main entry point for 2. is the parser in Parsing.py, which also creates and executes the scanner. The parser (usually) returns a ModuleNode

That's helpful, thank you.  It may be the case that an API that lets me get back a ModuleNode will be good enough for my purposes.  @alexbw what do you think?
@scoder would you be open to the refactor of Step 1 mentioned above?  I think simplification of the dependency structure would soften the learning curve for newcomers.  Both the learning curve and the refactor are mentioned in the Wiki you linked.  The general idea of making the separation between Steps 2 and 3 explicit seems to be similar to CEP 901, CEP 905

CEP 901 is essentially how things work today, using a multi-step pipeline with transformations that use the visitor pattern. You can chain pipeline steps to get whatever outcome you want (although many steps depend on previous ones – and before you ask, yes, for good reason: it's a pipeline). Note that the Wiki pages are much older than the current implementation.
Also look at the TreeFragment module, it's a way to run a user defined pipeline against a code string. We use it in a couple of places (also in tests) to compile and integrate code fragments.
I agree that most of the modules in Cython.Build do not exactly shine from their design. They mostly work and get their job done. Dependencies implements most of cythonize(), for example, which is weird. Still, most of that isn't really important for the problem at hand. If all you want is a parse tree, then look at Main.py and its parse() function. That module is the original entry point of the cython frontend tool.
The newer cythonize() implementation is written in a way that mostly avoids touching the original code, which IMHO is the wrong trade-off. There is quite a bit of obfuscation going on when it comes to finding files, also relative to the current source file or in the Python path. Lots of jumping back and forth between methods. If you want to try a refactoring, that's a good target. But it's not in this ticket.
To get to know the parse tree it's probably best to follow the HackerGuide, enable the debug_trace_code_generation debug option, and then look at the C code that Cython generates.

As a note, after dabbling a bit on the cython code, I'm using
from Cython.Compiler.TreeFragment import parse_from_strings
mod = parse_from_strings(name, source)

to obtain the AST and it seems it's working properly for me (as a note, I started with TreeFragment but went for parse_from_strings because with TreeFragment changes the source code removing empty lines, which means that lines don't match with that API).

Thanks @fabioz - I'm also using parse_from_strings in https://github.com/MarcoGorelli/cython-lint and it seems to be working fine
The hardest thing is not having something like ast.walk, so I'm having to do
https://github.com/MarcoGorelli/cython-lint/blob/f7c6be2aa098ec2f9bd256a7eacb6be6db3e83fd/cython_lint.py#L381-L415

The hardest thing is not having something like ast.walk

I suggest subclassing a TreeVisitor, as implemented in Cython.Compiler.Visitor.

Thanks @scoder ! My issue is that that would still miss some types - for example:
from Cython.Compiler.Visitor import CythonTransform
from Cython.Compiler.TreeFragment import parse_from_strings

class MyVisitor(CythonTransform):
    def __init__(self):
        super().__init__(context=None)
        self.my_names = set()

    def visit_CSimpleBaseTypeNode(self, node):
        self.my_names.add(node.name)
        return node

content = (
    'from foo cimport bar, baz, bat\n'
    '\n'
    'ctypedef fused MyType:\n'
    '    bar\n'
    '    baz\n'
    '\n'
    'cdef void myfunc():\n'
    '    cdef int a = 0\n'
    '    a = 3\n'
    '\n'
)

tree = parse_from_strings('t.pyx', content)

my_visitor = MyVisitor()
my_visitor(tree)
print(my_visitor.my_names)

prints
{'void', 'int'}

, rather than registering 'bar' and 'baz' because FusedTypeNode.childattrs is empty
I have to patch this by adding 'types' to child_attrs - would this (and the other patches in the link) be OK to do here in Cython directly? I asked about this one in the mailing list and was told

The effect of not including it in child_attrs is that types isn't processed by ParseTreeTransforms but just left as is. As far as I can tell nothing interesting actually gets done with CSimpleBaseTypeNode or CBaseTypeNode by anything in ParseTreeTransforms. Therefore leaving it out practically makes no difference.
It possibly is an omission, but not one that has any consequence for Cython itself.

Hi @scoder
I'm coming across more example of when nodes exist, but aren't visited by such a visitor
For example, in
def __getstate__():
    cdef np.intp_t size = cself.tree_buffer.size() * sizeof(ckdtreenode)
    cdef np.ndarray tree = np.asarray(<char[:size]> cself.tree_buffer.data())

then size within char[:size] wouldn't be visited.
This is because CythonArrayNode has a base_type_node attribute, but it doesn't appear in child_attrs, so it doesn't get traversed:
(Pdb) tree.body.body.stats[-1].expr.args[0]
<Cython.Compiler.ExprNodes.CythonArrayNode object at 0x7fce9077bb80>
(Pdb) tree.body.body.stats[-1].expr.args[0].child_attrs
['operand', 'shapes']
(Pdb) tree.body.body.stats[-1].expr.args[0].base_type_node
<Cython.Compiler.Nodes.MemoryViewSliceTypeNode object at 0x7fce9077bac0>

Would you be open to a PR to add this and other missing nodes to child_attrs of some classes, or might it cause issues somewhere else in Cython?

Would you be open to a PR to add this and other missing nodes to child_attrs of some classes, or might it cause issues somewhere else in Cython?

Sounds good, pr is surely welcome


Make anchor point jump around less on modifications

Adding or removing connections can resize function blocks and move anchor point by a lot.
This is due to changing types requiring more area for them, which adds up for multi argument functions.
This problem can't be solved completely, but it should be reduced enough that it does not annoy/confuse.
First part of solving this is setting larger minimum/default sizes for type area, especially for type variables.
And maybe very large types can be scaled in font size, so that size increases can be bounded.

There's always room for improvement but the combination of midpoint resizing and vertical currying has reduced to problem to a level it is not annoying anymore.


fix bench ci error and enable ci lint github action

除了test目录之外的ci error基本修复完成，现为了防止在修复test过程中，其他模块新增又额外新增，先把CI lint的Action打开，并修改.golangci-lint的配置文件，将test目录跳过，带test修完之后，可关闭该配置项

Codecov Report

Merging #170 (b725c21) into main (a905b05) will decrease coverage by 0.09%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #170      +/-   ##
==========================================
- Coverage   96.84%   96.75%   -0.10%
==========================================
  Files          44       44
  Lines        2158     2158
==========================================
- Hits         2090     2088       -2
- Misses         37       38       +1
- Partials       31       32       +1

Impacted Files
Coverage Δ

dtmgrpc/type.go
100.00% <ø> (ø)

dtmgrpc/dtmgimp/grpc_clients.go
100.00% <100.00%> (ø)

dtmgrpc/tcc.go
100.00% <100.00%> (ø)

dtmsvr/trans_type_saga.go
96.52% <0.00%> (-1.74%)
:arrow_down:

Continue to review full report at Codecov.

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


Question about features

Hi,
Have you the notification "tracker updated" as proposed on http://www.redmine.org/issues/18209 ?
Greetings, Jean-Louis.

Hi,
This feature exists in this plugin.
You get notification whenever a specific marked tracker is updated or created.
Thanks.


correct ColorPicker/Dropzone/Carousel class name

Closes #1481
Closes #1482
Closes #1483

Thanks!


New idea: Interview campaign with underrepresented groups in Open Source

Summary
Create an informal process / template for someone to conduct a qualitative interview about Diversity and Inclusion in Open Source
Background
In the 2020-06-24 CHAOSS D&I Working Group meeting, a new metric idea for Closed Captioning was mentioned for virtual events, since they are becoming more common in the times of COVID-19. On #a11y Twitter, there have been voices calling for Closed Captioning at events (local and virtual) for a while.
I feel like D&I metrics in open source have the most potential impact for underrepresented groups. So, the best way to design and iterate on inclusive metrics might be to conduct informal interviews on what we measure and how we could better capture the value of diversity and inclusion in a community.
Details
This is a forecast of the work I think is required to carry out this task:

Create clear messaging / conversation resources about current D&I work
Brainstorm some common questions to encourage conversation and critique on the metrics
Organize call for participants / share among our personal networks with explicit invitations to underrepresented groups in Open Source
Collate feedback and map out next iteration

Outcome
Better feedback loops on value added to ecosystem with metrics and discover gap areas that may be overlooked

@jwflory This is a great writeup. Just to be clear, are you specifically looking at a11y issues, or D&I efforts in general? I really love the idea of partnering with other groups and individuals who are domain experts in these areas and asking for their input as we develop these metrics. I vote that we add this to the agenda for the next D&I Working Group meeting, and hopefully get an action plan in place and talk about this more. Will you be attending?

I'll join the next D&I call :slightly_smiling_face:

When is this D&! call and how can I join too :D @ElizabethN
I love this issue but in general, I think this repo could benefit from some labels that might help researchers/UX researchers discover this issue?
Also, I highly recommend looking into the Secure UX checklist for a guide/resource on how to do well...secure UX research!
https://www.secureux.design/

Hey @Erioldoesdesign, the D&I call is at 10am CDT Wednesdays. Connection information here: https://chaoss.community/participate/
Thanks for the suggestion of tags (agreed) and the Secure UX checklist. I'm not familiar with that but would love to learn more :)

Today in the DEI Working Group, we revisited this idea and decided that it still holds value, especially with the review of the older metrics. It would be great to interview others to see where we can improve our DEI metrics and where the areas are that have remained unaddressed. Let's keep this idea alive and revisit early 2022.

Happy to help on this again if it's being re-visited 😄

In today's DEI call, we discussed the depth of a project like this and that it will be relatively time intensive. It's a big ask to have people schedule, run, and reflect on a set of interviews. We are going to pose this to the DEI Audit team for some guidance and potentially having that team direct this initiative.

We talked about this again today, and decided to put this on the back burner for now, only because we do have a lot of metrics already in the queue, and this project could surface even more. We think we should resurface this maybe in about 6 months. It's still an awesome idea!

@germonprez Seems like a good idea. Will there be an official CHAOSS presence there, either through speakers or with a booth? This could be one way to facilitate engagement around the interviews.

Yes. We are going to have a 1/2 day CHAOSScon in Dublin. So there should be a few of us there.

@germonprez Super. Then I think as part of the CHAOSScon, it would make sense to include this as part of the event planning to think on how we engage folks there. Especially if we have newcomers who are new to the project and our work.

@Anita-ihuman has expressed interest in moving this forward! HOORAY! 🎉  She will start an initial first draft document with her thoughts on how this could roll out.

Awesome! Thanks @Anita-ihuman on exploring this one. 🚀 When you are ready, we can share feedback with you on a draft in the weekly D.E.I. working group meeting. 😃

https://docs.google.com/document/d/1_Gb6QNGL4b9lGc1xqpl9nEw4ub0edC-WwgiKR50MIfk/edit#

@Anita-ihuman This draft proposal is amazing! Kudos!
We had a good feedback/editing session in the D.E.I. Working Group call today. We can always take a look at this again for another pass when you are ready. I would also be interested in helping conduct these interviews with people outside of the CHAOSS community using this structure as a model.

I volunteer to help out with these interviews @Anita-ihuman

@jwflory / @Anita-ihuman / @Preshh0 : I have a lot of papers and research experience spanning interview and trace data integration.

Sweet. Can they be made available to us?

@jwflory / @Anita-ihuman / @Preshh0 : I have a lot of papers and research experience spanning interview and trace data integration.
I made a more detailed comment in the doc.

Awesome. Please do share these resources with us.

I will aim to catch next week's (21 September) working group meeting. It would be great for an update on this one! I haven't been able to make the last couple of meetings.

@jwflory currently, we are wrapping up the interview questionsand preparing for the IRB process.

Just popping in here to say this project is still ongoing and the data is being analyzed. Thanks for all that you've done with this @Anita-ihuman! 😍

@Anita-ihuman posted a lovely and thorough analysis of this on the CHAOSS Blog, so I'm going to close this issue. Thank you once again for all your work here @Anita-ihuman!


OS specific run_cmd

since terragrunt support multi platforms including windows, linux, and macOS.
Is there a way I can determine the the platform before run_cmd function? For example it should run the .bat rather than the .sh in windows, a different version of the .sh on macOs.. etc.

We currently don't support this. I think the way to support this would be to add a terragrunt helper function that returns the current OS platform information. Then you can use conditionals logic for this:
get_platform() == "windows" ? run_cmd("powershell.exe") : run_cmd("bash")

@sleungcy @yorinasub17
This issue/enhancement has been done and can be closed!
https://terragrunt.gruntwork.io/docs/reference/built-in-functions/#get_platform

That's right! Thanks to @edgarsandi, you can now use the get_platform() helper to solve this issue with the v0.23.21 release!


Logs In Release Mode

Hi guys!
I was just wondering if you were printing out some logs in Release mode without knowing. We have just had someone who came up with this stuff (below) in our App, which is live on the App Store.
{"timestamp":,"type":"http","category":"fetch","data":{"method":"GET","url":"","status_code":200}}
{"timestamp":,"type":"http","category":"xhr","data":{"method":"GET","url":"","status_code":200}}
{"timestamp":,"type":"http","category":"fetch","data":{"method":"POST","url":"","status_code":422}}
{"timestamp":,"type":"http","category":"xhr","data":{"method":"POST","url":"","status_code":422}}]},"event_id":""}

From this conversation (https://github.com/getsentry/sentry/issues/2632), this seems to be a stacktrace from raven-js; but I have no idea where it comes from and how to read it.

Do you have set logLevel: SentryLog.Debug?

I only have:
Sentry.config(sentry, {
deactivateStacktraceMerging: true
}).install();
Do I need to specify not to log in prod?

nope ... will check that

@HazAT is there a way I can reach you in private?

<EMAIL_ADDRESS>

Update to latest version 0.6.0 should fix the problem


Why can't I detach the config request from the rest of my code?

This is working:

But this ain't:

The error I get:

Can someone tell me and help me why I can't create a function that does the initial configuration request? I'm using streaming_transcribe

Can someone tell me and help me why I can't create a function that does the initial configuration request? I'm using streaming_transcribe

Because gRPC requires the grpc::ClientContext to remain alive until the stream is closed (and you call Finish()).  I have not been able to find detailed documentation about this, but it is implicit in some of the other documentation, for example this:
https://grpc.github.io/grpc/cpp/classgrpc__impl_1_1internal_1_1_client_streaming_interface.html#a010a28c3d4428fae26c5e7f6866e502c
states that the ClientContext is updated when you call Finish(), so it better still be around.

Can someone tell me and help me why I can't create a function that does the initial configuration request? I'm using streaming_transcribe

Because gRPC requires the grpc::ClientContext to remain alive until the stream is closed (and you call Finish()). I have not been able to find detailed documentation about this, but it is implicit in some of the other documentation, for example this:
https://grpc.github.io/grpc/cpp/classgrpc__impl_1_1internal_1_1_client_streaming_interface.html#a010a28c3d4428fae26c5e7f6866e502c
states that the ClientContext is updated when you call Finish(), so it better still be around.

I call Finish() add the end of my code. But this is not shown in the screenshot, because I assumed this wasn't the problem.

The problem is (I think) not whether you call Finish() the problem is that you created a context, and it went out of scope before the streamer does:
void SendFirstRequest() {
  // snip snip snip
  grcp::ClientContext context; // <- you create a client context here.
  streamer = speech->StreamingRecognize(&context); // <- associate it with a streamer here.
  streamer->Write(configRequest);
}  // <- the context is destructed around here but `streamer` still wants to use it.

Okay, how can I solve this?

Well, I guess you need to rewrite your code so the client context remains in scope.
Create an object that holds both the streamer and the context (but grpc::ClientContext is a non-copyable, non-moveable class, so you will need to use std::unique_ptr<grpc::ClientContext>).
Or allocate the context and streamer and pass them as reference parameters to your function.
I do not know what your application looks like, so really cannot design the code for you.


Allow slicing on BufferAccess?

I have buffers containing different vertex formats, but I want to store them in a single data structure, which necessitates storing them as dyn BufferAccess to erase the type. However, this means that I am no longer able to create slices of the buffers, because that requires TypedBufferAccess.
It seems to me that the type parameter of buffers and slices isn't really needed, and is sometimes even counterproductive. Vulkano doesn't check the type of vertex inside the buffer against the pipeline layout, so you can put anything in the buffer and Vulkano will accept it. This makes sense, because you may want to load vertex information dynamically and construct a buffer of [u8] without having the "correct" static Rust type to use, and Vulkano shouldn't choke on that.
From the Rust side of things, all that really matters for slices is getting the element size correct to avoid cutting vertex elements in half. The Rust type of the buffer elements is totally irrelevant because they are never accessed from Rust code. So I think it would make sense if buffers simply store their element size instead of relying on the Rust type. That would allow them to become untyped, making TypedBufferAccess obsolete and allowing slicing directly with BufferAccess.

I found another related issue. It's apparently not possible to draw with a Arc<TypedBufferAccess>, the draw function requires a Arc<BufferAccess>. I can, however, get around this by creating a slice.

The BufferAccess trait provides the method as_buffer_slice . For creating a slice from a TypeBufferAccess the BufferSlice struct provides a method called from_typed_buffer_access.
Perhaps you overlooked something or I didn't answer your question.

You still need a TypedBufferAccess for that to work, though. If you erase the type entirely by using a dyn BufferAccess, you lose the ability to slice, even though it would be very much feasible to allow this.

I read your original question again. Perhaps dropping the type from these traits would be a good idea although would leave out some dummy checks for simple users. I myself am guilty of transmuting to another type for uploads. So I guess maybe we should implement a typ like ```RawBufferAccess`` that doesn't care about type as long as the data len matches.


Exit demo mode option added

A feature that @tg_kroening174 on Discord and I miss:
Dismissing the "When you're done trying out the demo, [...]" message without wiping the database clean.
I also added a .gitignore line for PyCharm project settings.

Thank you very much!  I’ll add an extra check before merging it, I’ll just pull your branch. Thanks for the contribution, it’s a good one.

Works great, and makes sense as a user with the messages shown.  Thanks very much!


Added an element symbol parser to the tree generation process

Element symbol is store in the metadata of the normalized tree

Looks will. I will wait to merge until you make the performance optimization.


Fort Zumwalt South High School

@NourElhasan I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host zumwalt.k12.mo.us not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for understanding!


Update to latest utp-native library

Old version had an issue where close wasn't be called correctly, the new version does!

Signed-off-by: Cody W. Eilar<EMAIL_ADDRESS>

Fixed in latest


AAC decode frame error: Transport sync error

Playing a simple WAV from one device running bluealsa to another running bluealsa-aplay I get the subject error at the receiving end about every 100ms and no sound.  At the sending device everything appears OK:
osmc@vero4kp2:~$ aplay -D plug:bluealsa:CC:4B:73:77:7E:0B -v /usr/share/sounds/alsa/Front_Center.wav
2029.287098884: D: ../../../src/asound/bluealsa-pcm.c:624: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Setting constraints
Playing WAVE '/usr/share/sounds/alsa/Front_Center.wav' : Signed 16 bit Little Endian, Rate 48000 Hz, Mono
2029.289715050: D: ../../../src/asound/bluealsa-pcm.c:344: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing HW
2030.975855843: D: ../../../src/asound/bluealsa-pcm.c:370: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: FIFO buffer size: 4096
2030.975910134: D: ../../../src/asound/bluealsa-pcm.c:376: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Selected HW buffer: 12 periods x 16380 bytes <= 196568 bytes
2030.975939259: D: ../../../src/asound/bluealsa-pcm.c:391: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing SW
2030.976013926: D: ../../../src/asound/bluealsa-pcm.c:391: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing SW
2030.976325426: D: ../../../src/asound/bluealsa-pcm.c:391: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing SW
2030.976360176: D: ../../../src/asound/bluealsa-pcm.c:391: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing SW
2030.976384176: D: ../../../src/asound/bluealsa-pcm.c:413: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Prepared
2030.976406218: D: ../../../src/asound/bluealsa-pcm.c:391: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing SW
Plug PCM: Rate conversion PCM (96000, sformat=S16_LE)
Converter: libspeex (external)
Protocol version: 10002
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 1
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 16
  buffer_size  : 24570
  period_size  : 2047
  period_time  : 42666
  tstamp_mode  : NONE
  tstamp_type  : GETTIMEOFDAY
  period_step  : 1
  avail_min    : 2047
  period_event : 0
  start_threshold  : 24570
  stop_threshold   : 24570
  silence_threshold: 0
  silence_size : 0
  boundary     : 805109760
Slave: Route conversion PCM (sformat=S16_LE)
  Transformation table:
    0 <- 0
    1 <- 0
Its setup is:
  stream       : PLAYBACK
  access       : MMAP_INTERLEAVED
  format       : S16_LE
  subformat    : STD
  channels     : 1
  rate         : 96000
  exact rate   : 96000 (96000/1)
  msbits       : 16
  buffer_size  : 49142
  period_size  : 4095
  period_time  : 42666
  tstamp_mode  : NONE
  tstamp_type  : GETTIMEOFDAY
  period_step  : 1
  avail_min    : 4095
  period_event : 0
  start_threshold  : 49140
  stop_threshold   : 49142
  silence_threshold: 0
  silence_size : 0
  boundary     :<PHONE_NUMBER>
Slave: BlueALSA PCM: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink
BlueALSA BlueZ device: /org/bluez/hci1/dev_CC_4B_73_77_7E_0B
BlueALSA Bluetooth codec: 0x2
2031.004184301: D: ../../../src/asound/bluealsa-pcm.c:264: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Starting
2031.004859384: D: ../../../src/asound/bluealsa-pcm.c:137: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Starting IO loop: 8
2031.945741760: D: ../../../src/asound/bluealsa-pcm.c:391: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing SW
2031.945864760: D: ../../../src/asound/bluealsa-pcm.c:391: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Initializing SW
2032.412612802: D: ../../../src/asound/bluealsa-pcm.c:169: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: IO thread paused: 4
2032.713195677: D: ../../../src/asound/bluealsa-pcm.c:305: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Stopping
2032.713579677: D: ../../../src/asound/bluealsa-pcm.c:105: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: IO thread cleanup
2032.714238469: D: ../../../src/asound/bluealsa-pcm.c:305: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Stopping
2032.714676969: D: ../../../src/asound/bluealsa-pcm.c:383: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Freeing HW
2032.714786927: D: ../../../src/asound/bluealsa-pcm.c:334: /org/bluealsa/hci1/dev_CC_4B_73_77_7E_0B/a2dpsrc/sink: Closing

I'll upload some tcpdump logs if that will help explain what's going on - does it matter which device I get them from?

Have you checked bluealsa logs on the receiver side? I see that you have bluez-alsa compiled with debug enabled, so some info might be there. Preferably post logs here.

Thanks for the feedback - here you go. I issued aplay -Dplug:bluealsa: /usr/share/sounds/alsa/Front* so there are three files attempting to play.  I cut out most of the AAC error messages
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.740173016: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.740268849: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.740300224: D: ../../src/ba-transport.c:885: State transition: 0 -> 1
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.744620308: D: ../../src/ba-transport.c:1014: New transport: 8 (MTU: R:672 W:672)
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.744731599: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.744813391: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.744843849: D: ../../src/ba-transport.c:885: State transition: 1 -> 2
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.745051849: D: ../../src/ba-transport.c:1199: Created new thread [ba-a2dp-aac]: A2DP Sink (AAC)
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.745535558: D: ../../src/a2dp.c:1139: Starting IO loop: A2DP Sink (AAC)
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.797636891: E: AAC decode frame error: Transport sync error
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.800001724: E: AAC decode frame error: Transport sync error
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.802721558: E: AAC decode frame error: Transport sync error
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.836435183: E: AAC decode frame error: Transport sync error
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.838885266: E: AAC decode frame error: Transport sync error
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.845135558: E: AAC decode frame error: Transport sync error
Feb 18 11:58:05 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4753.878878099: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.142628475: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.146353392: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.180079392: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.182534183: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.185015433: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.497420350: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.497531392: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.497562767: D: ../../src/ba-transport.c:885: State transition: 2 -> 0
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.497980517: D: ../../src/ba-transport.c:1041: Releasing transport: A2DP Sink (AAC)
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.498015017: D: ../../src/ba-transport.c:1070: Closing BT: 8
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.498046600: D: ../../src/ba-transport.c:1221: Exiting IO thread: A2DP Sink (AAC)
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.505315767: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.505410017: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.505441059: D: ../../src/ba-transport.c:885: State transition: 0 -> 1
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.508503934: D: ../../src/ba-transport.c:1014: New transport: 8 (MTU: R:672 W:672)
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.508644684: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.508722809: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.508757600: D: ../../src/ba-transport.c:885: State transition: 1 -> 2
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.508982934: D: ../../src/ba-transport.c:1199: Created new thread [ba-a2dp-aac]: A2DP Sink (AAC)
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.509195309: D: ../../src/a2dp.c:1139: Starting IO loop: A2DP Sink (AAC)
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.562552892: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.563757225: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.565123809: E: AAC decode frame error: Transport sync error
Feb 18 11:58:07 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4755.599886059: E: AAC decode frame error: Transport sync error
Feb 18 11:58:08 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4756.951357643: E: AAC decode frame error: Transport sync error
Feb 18 11:58:08 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4756.953424934: E: AAC decode frame error: Transport sync error
Feb 18 11:58:08 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4756.961611851: E: AAC decode frame error: Transport sync error
Feb 18 11:58:08 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4756.986239351: E: AAC decode frame error: Transport sync error
Feb 18 11:58:08 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4756.987476934: E: AAC decode frame error: Transport sync error
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.321089518: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.321183643: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.321217893: D: ../../src/ba-transport.c:885: State transition: 2 -> 0
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.321436143: D: ../../src/ba-transport.c:1041: Releasing transport: A2DP Sink (AAC)
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.321468184: D: ../../src/ba-transport.c:1070: Closing BT: 8
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.321501476: D: ../../src/ba-transport.c:1221: Exiting IO thread: A2DP Sink (AAC)
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.328926976: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.329022434: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.329053476: D: ../../src/ba-transport.c:885: State transition: 0 -> 1
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.332105851: D: ../../src/ba-transport.c:1014: New transport: 8 (MTU: R:672 W:672)
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.332252393: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.332332601: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.332367226: D: ../../src/ba-transport.c:885: State transition: 1 -> 2
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.332584018: D: ../../src/ba-transport.c:1199: Created new thread [ba-a2dp-aac]: A2DP Sink (AAC)
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.332784809: D: ../../src/a2dp.c:1139: Starting IO loop: A2DP Sink (AAC)
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.386253684: E: AAC decode frame error: Transport sync error
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.387504684: E: AAC decode frame error: Transport sync error
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.388717309: E: AAC decode frame error: Transport sync error
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.421307143: E: AAC decode frame error: Transport sync error
Feb 18 11:58:09 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4757.423716643: E: AAC decode frame error: Transport sync error
Feb 18 11:58:10 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4758.822523060: E: AAC decode frame error: Transport sync error
Feb 18 11:58:10 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4758.824987893: E: AAC decode frame error: Transport sync error
Feb 18 11:58:10 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4758.828751018: E: AAC decode frame error: Transport sync error
Feb 18 11:58:10 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4758.862551435: E: AAC decode frame error: Transport sync error
Feb 18 11:58:10 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4758.865113393: E: AAC decode frame error: Transport sync error
Feb 18 11:58:11 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4759.173528227: D: ../../src/bluez.c:1346: Signal: org.freedesktop.DBus.Properties.PropertiesChanged()
Feb 18 11:58:11 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4759.173620935: D: ../../src/bluez.c:1380: Signal: PropertiesChanged: org.bluez.MediaTransport1: State
Feb 18 11:58:11 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4759.173655644: D: ../../src/ba-transport.c:885: State transition: 2 -> 0
Feb 18 11:58:11 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4759.173878519: D: ../../src/ba-transport.c:1041: Releasing transport: A2DP Sink (AAC)
Feb 18 11:58:11 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4759.173911060: D: ../../src/ba-transport.c:1070: Closing BT: 8
Feb 18 11:58:11 vero4kp1 bluealsa[3959]: /usr/bin/bluealsa: 4759.173944685: D: ../../src/ba-transport.c:1221: Exiting IO thread: A2DP Sink (AAC)

@Arqk Any thoughts on this?  I don't really know how to interpret these logs.
I thought of limiting the codec to SBC - am I right there's no way to do that at runtime?
Still it would be nice to know AAC worked between devices that support it.

Unfortunately, I don't know why it's not working. Also, runtime codec selection for A2DP is not supported. Could you confirm with e.g. Android, that aac works with this headset (you will need to dump bt hci logs on Android)?

I can send audio to this sink from android and it works but no idea whether it's AAC and no idea how to grab logs from android.
The other thing I'd like to try is limiting the sample rate to 48k (it's defaulting to 96k).  Is there a way to do that in the bluealsa code or at runtime?
Just to be clear, the sink is not a headset but a media player box running bluealsa-aplay.

Sorry... I've responded to your email but I thought about different issue.... the Android logs part is invalid for this one :)
So now the relevant comment.
Selected coded should be visible in the sink logs (if that's bluealsa as well). If you've got iPhone it will most likely select AAC, Android might select it too, but it has to be one of top models (AAC codec requires license).
You can lower bitrate with --a2dp-force-audio-cd. I will try to check this on my side, but within a month timeslot.

I did try force-audio-cd and it had no effect.  I'll check again.

OK, by setting both source and sink to cd quality, I get AAC at 44.1k :)

Hi @graham8 , @arkq
I have the same problem with AAC, 96000Hz sample rate. But, audio plays very slowly in the external BT speaker when our device is a2dp source. I could restrict this by applying --a2dp-force-audio-cd. but I also need to have 48000 Hz for our requirement. What do you think could be the solution here?

@Asikbct you will have to add a patch to the code if you want to remove suport for rates > 48000. With latest release you can do that by adding "if" to this loop: https://github.com/arkq/bluez-alsa/blob/master/src/asound/bluealsa-pcm.c#L1346-L1347
		if (codec->sampling[i] <= 48000)
			list[n++] = codec->sampling[i];

With older release (and the latest as well) you can simply remove support for rates > 48k in the BlueALSA system service by removing samplings that you do not want: https://github.com/arkq/bluez-alsa/blob/master/src/a2dp-aac.c#L750


@1.13.0 -<EMAIL_ADDRESS>close #316

Coverage: 99.244%. Remained the same when pulling 28ecbc137277e4434c70b5a9b153bd4e314787c1 on rc-1.13.0 into b7770f544f7618b4a0a90e0e02e55e1d22656cdc on master.


Switch to derive(Encode, Decode) for Call

@jacogr maybe you could test this as well with the JS side. I added some test and nothing should be changed, but you never know^^

@thiolliere simplified the macro, was that what you requested?


Use eth0 to determine host ip address

RIght now, if you run stack.sh and launch an instance, it will create a br100 device that lists before eth0.  Thus, the current code uses this device to find HOST_IP, which is not correct.
The ip on eth0 may not always be correct either, but I suspect it is the correct device for the vast majority of users.

I logged a bug for this: https://bugs.launchpad.net/devstack/+bug/887293
This pull req does not fix the issue fully, but at least provides some user feedback, and prevents the incorrect behavior of using <IP_ADDRESS> as HOST_IP

I'm ok with this.  It still isn't perfect, but at least it does better than the current version


Devicemapper - loopback file for the “data” device significantly grows during container usage

Hi!
I've got docker running on remote server with currently only one container running. This container contains Elasticsearch, Logstash and Kibana and is used for collecting and analysis of logs from remote apps. The size of /var mount point is 100G.
The problem is that while our data occupies max 10G (mounted as docker volume under /var/lib/docker/volumes), devicemapper loopback file for the “data” located in var/lib/docker/devicemapper/devicemapper/data keeps growing during container usage until it fills all the remaining space and doesn't allow our log data to be collected (last time this file increased it's size to around 80G).
During this no additional images are downloaded/created - only one container is constantly running.
Is it normal that devicemapper loopback file grows during normal container usage?
I am aware that devicemapper loopback file has the maximum size of 100G and that it also can be decreased/increased. But what happens if I decrease its max size to let's say 50G and then devicemapper loopback file reaches this size?
I am also aware of #3182 issue (Device-mapper does not release free space from removed images) but does this issue also has something to do with running containers without image removal in the meantime?
So final question is:
What should I do to prevent devicemapper from eating all my free space from /var mount point?
Red Hat Enterprise Linux Server release 7.1 (Maipo)
docker version:
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:25:01 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:25:01 UTC 2015
 OS/Arch:      linux/amd64

docker info:
Containers: 7
Images: 46
Server Version: 1.9.1
Storage Driver: devicemapper
 Pool Name: docker-253:2-918016-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: xfs
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 16.89 GB
 Data Space Total: 107.4 GB
 Data Space Available: 71.13 GB
 Metadata Space Used: 11.15 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.136 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.93-RHEL7 (2015-01-28)
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.10.0-229.el7.x86_64
Operating System: Red Hat Enterprise Linux
CPUs: 8
Total Memory: 29.29 GiB
Name: ondemand2.qrios.com
ID: UJXV:6PT6:LTEB:JOLT:BHX2:SQKO:WCZO:HCSL:BAAF:J3TZ:F5UZ:3C54
Username: coutopl
Registry: https://index.docker.io/v1/
WARNING: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled`

I think this is a duplicate of https://github.com/docker/docker/issues/18867. Can you check that issue, and close this one if you think it's a duplicate?

Yeah, it seems that you are right. I'll link my case in this issue to provide more data.

Thanks!


writefreely: 0.13.2 -> 0.14.0

Description of changes
This PR bumps the version of writefreely to v0.14.0 (release changelog). In addition, references to the old repo owner were updated to reflect the current up-to-date one.

Things done

Built on platform(s)

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

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

[ ] sandbox = relaxed
[ ] sandbox = true

[x] Tested, as applicable:

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

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

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

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

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

1 package built:

writefreely

Force-pushed commits to add myself as maintainer.
--
Cassie Cheung


Weird behavior with memory usage within samply.py

So for some reason progen2-base starts to use an ungodly amount of VRAM the more I increase the value for --num-samples. If I set the value of --num-samples to 50 I get the following error. Yet if I set --num-samples to 30, 40, even 45, no issue occurs. I assume this is unintentional.
sampling
sampling took 36.29s
Traceback (most recent call last):
  File "sample.py", line 207, in <module>
    main()
  File "sample.py", line 193, in main
    completions = sample(device=device, model=model, tokenizer=tokenizer, context=args.context, pad_token_id=tokenizer.encode('<|pad|>').ids[0], num_return_sequences=args.num_samples, temp=args.t, top_p=args.p, max_length=args.max_length)
  File "sample.py", line 73, in sample
    tokens_batch = model.generate(input_ids, do_sample=True, temperature=temp, max_length=max_length, top_p=top_p, num_return_sequences=num_return_sequences, pad_token_id=pad_token_id)
  File "/home/.../.../progen/progen2/.venv/lib/python3.7/site-packages/torch/autograd/grad_mode.py", line 27, in decorate_context
    return func(*args, **kwargs)
  File "/home/.../.../progen/progen2/.venv/lib/python3.7/site-packages/transformers/generation_utils.py", line 1210, in generate
    **model_kwargs,
  File "/home/.../.../progen/progen2/.venv/lib/python3.7/site-packages/transformers/generation_utils.py", line 1714, in sample
    output_hidden_states=output_hidden_states,
  File "/home/.../.../progen/progen2/.venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/.../.../progen/progen2/models/progen/modeling_progen.py", line 640, in forward
    return_dict=return_dict,
  File "/home/.../.../progen/progen2/.venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/.../.../progen/progen2/models/progen/modeling_progen.py", line 507, in forward
    output_attentions=output_attentions,
  File "/home/.../.../progen/progen2/.venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/.../.../progen/progen2/models/progen/modeling_progen.py", line 269, in forward
    output_attentions=output_attentions,
  File "/home/.../.../progen/progen2/.venv/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/home/.../.../progen/progen2/models/progen/modeling_progen.py", line 203, in forward
    value = torch.cat((past_value, value), dim=-2)
RuntimeError: CUDA out of memory. Tried to allocate 76.00 MiB (GPU 0; 14.76 GiB total capacity; 13.21 GiB already allocated; 37.75 MiB free; 13.82 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF

For reference this is the command I'm running
python sample.py --model progen2-base --t 0.8 --p 90 --max-length 512 --num-samples 40 --context <232 AA sequence>

Hi!
I am getting the exact same error "RuntimeError: CUDA out of memory" and I am using largemodel.
I tried everything but nothing is working to solve this annoying issue.
https://discuss.pytorch.org/search?q=cuda out of memory
I also cleared cache and others from here<EMAIL_ADDRESS>but its not working.
I think If Dr. Madani could reduce the batch size etc something.. may be solve this error "RuntimeError: CUDA out of memory"
Thank you


[FIP-6] Implement general locks for FIO Protocol

This PR implements FIP 6 token locking.
this is a draft PR for information sharing with the team.

Merged into Develop with PR https://github.com/fioprotocol/fio.contracts/pull/4
Closing as duplicate.

seeing if this can be merged into dev branch off master


Update README.md

:warning: This is a Pull Request Template :warning:

Checkout all the things you've done by placing an *x*\ within the square braces.

Proposed Changes

[] I've forked the repository.
[] I've created a branch and made my changes in it.
[] I've read the CODE OF CONDUCT and abide to it.
[] I've read the CONTRIBUTING.md
[] I understand opening a PULL REQUEST doesn't mean it will be merged for sure.

Live page of Contributors. Contributors
Don't forget to spread love and if you like to give us a ⭐


[PE-D][Tester A] Identical IC allowed among Patients

Might be good to disallow duplication of ic

Labels: severity.Low type.FeatureFlaw
original: CShuwen/ped#6

AddAppointmentCommand -> Exceute -> Model.hasClash
ModelManager -> hasClash
AddressBook -> hasClash
person -> hashClash (Checker)
UniquePersonList -> hasClash

Nric -> hashClash

Fix


squared L2 norm NaN at 0

import autograd.numpy as np
from autograd.numpy import linalg as LA
from autograd import grad

def l2norm(x):
    return LA.norm(x)**2
grad_l2 = grad(l2norm)

print(grad_l2(np.array([0.0,0.0,0.0])))

as described in the title, the output is '[nan nan nan]', where it should be '[0, 0, 0]' instead

Even simpler, autograd can't do something like:
def ex(x):
    return np.sqrt(x) ** 2

grad(ex)(0.)

> ZeroDivisionError: 0.0 cannot be raised to a negative power

and also:
def ex(x):
    return 1/(1/x)

grad(ex)(0.)

> nan

It should be more clear why my example fails, and the same idea applies to your example. I think this is a general limitation of auto-diff, not just this library, in that auto-diff won't make a symbolic simplification for you.
Your example can be solved by just using:
def l2norm(x):
    return (x**2).sum()

thanks for the info. it is my first time using any auto-diff library.


[Removal Request] Key-Lock detection

I believe Key-Lock detection should be removed, due to the difficulty in finding samples, as well as the likely legal implications that acquiring samples would have as Key-Lock seems primarily intended to protect internal enterprise software, and the company and product are both currently still around.

This has not been removed, instead gated behind the debug flag as with other unverified protections.


implementation of sequential drop at front of model

0d1a0cb and previous commits already using combination of dropout and recurrent droput


Switch to data.kitware.com for data storage

This replaces the data store at midas3.kitware.com, which has been causing frequent test failures.

LGTM.


Fastify Integration

Problem
Allow start up of autohook with Fastify as an alternative option.
Solution
Introduce a new function startFastifyServer() under index.js that follows similar to startServer() but uses Fastify instead of http.createServer.
Result
Faster processing of requests from twitter DMs.

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


NotificationHandle is unreachable

You provide 2 functions that return Result<NotificationHandle>
https://docs.rs/notify-rust/3.4.0/notify_rust/struct.Notification.html#method.show
https://docs.rs/notify-rust/3.4.0/notify_rust/struct.Notification.html#method.show_debug
but you provide no way to actually use the NotificationHandle type. Why? What is the result for if I cannot use it anyway? I can't even declare functions that return it.

Thanks for catching this, this seems to be a refactoring oversight.
The handle keeps a dbus conneciton alive and is used to update notifications. This was necessary on gnome. During refactoring for the macOS integration I must have forgotten to pass this through.


Render failed due to invalid YAML (1.2.313)

I am getting a ERROR: Render failed due to invalid YAML on Quarto 1.2.313.
3: bibliography:
4:   sources: test/primary.bib
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
5:   recommended-reading: test/secondary.bib
  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The value must instead be a string.

Probably related to https://github.com/quarto-dev/quarto-cli/issues/2349#issuecomment-1240476871.

Easy fix is merely to add validate-yaml: false.


why are summer data from only 2015 and 2016 catalogued in the database?

At least some are being filtered out as they do not have 'sheet' in the file name. Also note that some summer data are in subfolders within Qualtrics.


Support maps in Query.select/3

This PR implements the feature discussed in #305. It adds support for passing maps (other than tuples, lists and values) to selects:
from(p in Post) |> select([p], %{title: p.title, answer: 42})

This PR is absolutely not ready for merging, but I'm opening it with just a few commits only to know if I'm on the right track.
Some basic things that are still missing (other than some refactoring here and there):

[x] Documentation for this new feature
[x] Tests that test the actual usage of maps in selects (I'm still not 100% sure where to place such tests)

Let me know what you think for now!

Regarding the tests, add some unit tests to the builders/select_test.exs, checking the accepted format and a simple test with a couple keys here:
https://github.com/elixir-lang/ecto/blob/master/integration_test/cases/type.exs#L76-L84

Hey @josevalim, should have covered everything you pointed out (thanks for that!). I couldn't test that using keys other than atoms/binaries/integers/floats raises an error since it raises it at compile-time and I wouldn't know how to test that :|.
If we're pretty much ready, I'll write some documentation so we can merge :). Thanks!

We are ready, just docs missing, thanks!

@josevalim docs added. Thanks to you!

Oops, I have added one tiny comment I missed originally, sorry!

@josevalim don't worry, actually I'm sorry! I read the code inside Builder including error!/1, I should have thought of it. Pushed a new commit!

:heart: :green_heart: :blue_heart: :yellow_heart: :purple_heart:


change links to docs and blog from HTTP to HTTPS

@tombruijn could you marge and commit this for me?

@tombruijn sorry this is Docs, I can do that myself.


feature: implemented openid-connect plugin.

will add more test cases.

fixed https://github.com/iresty/apisix/issues/369 and https://github.com/iresty/apisix/issues/368


Plugin Installation Failed

After clone some plugin to /plugins dir and restart container the logs show this message:
Could not find gem 'rails (= 3.2.21) ruby' in the gems available on this machine.
Run bundle install to install missing gems.
I already tried and retried rm tmp and these three plugins and the error are the same,
https://github.com/scrum2b/scrum2b
https://github.com/nsi-iff/kanban-plugin
https://github.com/nutso/redmine-plugin-recurring-tasks.git
Thanks for helping!

@kndrio from what I can tell scrum2b does not indicate that it is compatible with redmine 2.6 series. The kanban-plugin has not been updated in the last 4 years, so I am pretty sure it will not work with latest redmine. The recurring-task-plugin is known to work and is also documented in https://github.com/sameersbn/docker-redmine#installing-plugins, you can also refer to https://gist.github.com/sameersbn/dd24dfdd13bc472d11a5#file-redmine-plugins-install-sh-L93-L112 for the complete set of instructions

Thanks for answer I will try another versions.


adding base image for ubuntu:16.04

Hi!
First of all, thanks for your contribution!
I've tried building the ubuntu16.04 image but it fails. Taking the ubuntu18.04 version as a base makes sense, but it needs to be tweaked a bit as the systemd versions (and more generally every package) in both images are 2 years apart and so have some differences:
Running make-image.sh gives:
$ ./make-image.sh ubuntu16.04
[...]
Step 8/11 : RUN systemctl disable       networkd-dispatcher.service
 ---> Running in 76c250bf9973
Operation failed: No such file or directory
The command '/bin/sh -c systemctl disable       networkd-dispatcher.service' returned a non-zero code: 1

When I remove that with:
diff --git a/images/ubuntu16.04/Dockerfile b/images/ubuntu16.04/Dockerfile
index 962ddae..b9a96be 100644
--- a/images/ubuntu16.04/Dockerfile
+++ b/images/ubuntu16.04/Dockerfile
@@ -26,8 +26,6 @@ RUN systemctl mask \
       systemd-update-utmp.service \
       systemd-tmpfiles-setup.service \
       console-getty.service
-RUN systemctl disable \
-      networkd-dispatcher.service

 # This container image doesn't have locales installed. Disable forwarding the
 # user locale env variables or we get warnings such as:

The unbutu container can start with footloose create (you do that by changing the image name in footloose.yaml to quay.io/footloose/ubuntu16.04.
However, systemd doesn't seem to start services properly (and so we can't connect to the container using ssh) maybe because of what we do beforehand in the Dockerfile, maybe because of how the upstream ubuntu 16.04 is built.
docker exec -ti cluster-node0 /bin/bash can be used to enter the container and debug it.
This will need a bit more debugging before we can merge it. I can have a look at it too, but probably not before next week.

Hi! Solving this was quite hard after all, sorry, hadn't foreseen it would be that difficult and so not a good issue to label as "good first issue".
PR #86 has the full details of what it took to make it work. It's not merged, so closing this original attempt. Thanks for taking the time to look into it though!


Spring data cassandra -  connection polling

Creating connection from the spring web application to the Cassandra Cluster(Cass operator) is trying to use the private IP of the pod (nodetool status ip). which would not be exposed outside.
How to use Spring data connection polling without exposing the pod to the outside world ?
Thanks,

Hi @pralow thanks for your question on the project.  As part of the expanding K8ssandra project we've recently migrated the cass-operator project to a new home at k8ssandra/cass-operator.  In the new repo is where we'll be continuing work on the project and publishing new releases from (we just recently released v1.7.0 and v1.7.1).
Spring Data integration is something that a number of folks in the K8ssandra team have experience with, so I'd love to get your issue moved over to the new repo for some discussion.
Would you want to recreate your issue over there or I'd be happy to move it over for you real quick.
Let me know what you'd rather do.
Thanks!

I've gone ahead and recreated this at https://github.com/k8ssandra/cass-operator/issues/115
Thanks!


Support mixed v2/v3 xDS request/responses

To better support rollouts where the control plane switches from v2 to v3, we should be able to support a DiscoveryResponse with a v3 resource to a DiscoveryRequest for a v2 previous version resource.
Envoy may already support this. We need to look at the behavior of gRPC mux watchers, there might need to be some modifications needed there. In addition, tests and documentation are required.

Will it be a mandatory part of the spec for other data planes, e.g. gRPC?

@markdroth thoughts on https://github.com/envoyproxy/envoy/issues/10776#issuecomment-614877308?

FWIW, I think to make this sane, the client would have to NACK if it didn't know about v3. I believe this is what would happen if you tried this with an older Envoy today, since it would be receiving the wrong typed resource.

@ejona86, @dfawley, and I are still in the early stages of discussing how gRPC will migrate to v3, so I don't have any concrete answers for you yet.
My off-the-cuff reaction is that it seems very strange to allow a management server to respond with what is fundamentally a different resource type (because the type_url is different) than the one requested.  Wouldn't it be simpler to just change the clients to request the new versions?

I tried this with an go-control-plane integration test and looks like envoy rejects the DiscoveryResponse if the typeUrl does not match the request typeurl
https://github.com/envoyproxy/go-control-plane/pull/290
error:
[warning][config] [source/common/config/grpc_subscription_impl.cc:87] gRPC config for type.googleapis.com/envoy.config.cluster.v3.Cluster rejected: type.googleapis.com/envoy.api.v2.Cluster does not match the message-wide type URL type.googleapis.com/envoy.config.cluster.v3.Cluster in DiscoveryResponse version_info: "v0"

So this work hasn't been implemented in previous Envoy. Even if we decide to integrate this feature now, it wouldn't have much effect before several releases.

@seflerZ why wouldn't this be available in Istio 1.7? We will have a new Envoy release before that.

I've been trying to grok v2 -> v3 and what I should do as a control plane author to migrate. I'm still confused as it seems v3 is preferred but even if I configure Envoy 1.14 with transport_api_version: V3, that only seems to switch the Request/Response to use the v3 types while the actual resource TypeURLs requested (when using ADS) are still v2 URLs. If I attempt to deliver V3 types then I see the rejection documented above. Is it even possible to have Envoy request V3 types currently (as of 1.14/1.15)?
This might be a separate issue and potentially even a bug related to ADS so I'll happily file it separately if that's the case but I'm confused enough at this point that I'm not sure if I'm just experiencing the same issue described here and there is no no current solution, or if I'm still holding it wrong?

@banks have you set the resource_api_version as well?

@banks have you set the resource_api_version as well?

🤦 thanks @htuch, I was indeed holding it wrong. I looked around for some other config for resources and/or examples but somehow missed that.
Just in case anyone else hits this you need to set this under the ConfigSource (i.e. lds_config|cds_config in bootstrap) while the transport version is set in the ApiConfigSource if you're using ads_config.

@htuch I'm a bit confused. According to this doc. The v3 objects may be transferred over the v2 transport protocol. So why do we need to support mixed response? I think we just need to do cast directly.

@banks I will turn this into a FAQ entry, as I agree it's a bit confusing.
@seflerZ this issue isn't about having v3 resource over v2 transport, but instead allowing a server to return a v2 resource when a v3 resource is requested (which could be over either a v2 or v3 transport).

@banks this is actually already in the FAQ at http://localhost:3142/faq/api/envoy_v3.html, so no need for another entry.

Tagging for collection in https://github.com/envoyproxy/envoy/issues/10943

/cc stevenzzzz

question here: can we have both V2 and V3 subscriptions via the same ADS, say

V2 and V3 RDS subscriptions on the same resource name,
V2 subscription sends a request and dies,
management server sends a V2 response back,

what's the correct move now? do we allow V3 subscription to handle the response by upgrading the type-url to v3 and find a watch?
@htuch @chaoqin-li1123

If you want mixed requests/responses, v2 and v3 don't constitute real distinct namespaces IMHO, if you subscribe to resource Foo as v2 in RDS with resource version v2 and Foo on some other RDS with resource version v3, you get back the exact same resource in both cases, even though the management server will see distinct discovery requests. At least, if you want this interop.
Since you raise this point, I think we should runtime flag protect this, since it might confuse some existing users who have made a disjointness assumption. @chaoqin-li1123 can you add a runtime flag which basically says allow_mixed_v2_v3_responses. This should default off, and only be enabled by folks performing migrations who understanding these semantics. When off, the same behavior as exists today applies.

If you want mixed requests/responses, v2 and v3 don't constitute real distinct namespaces IMHO, if you subscribe to resource Foo as v2 in RDS with resource version v2 and Foo on some other RDS with resource version v3, you get back the exact same resource in both cases, even though the management server will see distinct discovery requests. At least, if you want this interop.
Since you raise this point, I think we should runtime flag protect this, since it might confuse some existing users who have made a disjointness assumption. @chaoqin-li1123 can you add a runtime flag which basically says allow_mixed_v2_v3_responses. This should default off, and only be enabled by folks performing migrations who understanding these semantics. When off, the same behavior as exists today applies.

that sounds good, thanks!


App: clean up keys on loss of focus

Right now it is possible for ioManager to get stuck with keys down:

Make sure you are not pointer locked
Walk by holding WASD
While still holding WASD, right click
Character will keep moving, keys are not reset

https://github.com/webaverse/app/blob/68e17500e50b1cf767091a19681cf710c5f461be/io-manager.js#L52
https://github.com/webaverse/app/blob/68e17500e50b1cf767091a19681cf710c5f461be/io-manager.js#L66

@ohmed is this UI related?


[tiny] prevent errors when svg element is an orphan

If you're trying to save an svg element which doesn't have a parent (for example, you've cloned an svg in the page to make some changes to it before conversion), you will currently receive a lot of stylesheet-based errors.
This PR fixes that by explicitly checking for the parent element before trying to call its querySelector method.

Thanks!


How to generate lstmf from .box and .tif files in tesseract 5 alpha lstm training

I am using the current alpha version 5 of tesseract. Currently, I am trying to train using images without font files. I managed to generate box files from the image using the following command.
tesseract image.tif imagebox -l ara wordstrbox

After this step, I will be fixing the errors in the OCR. Then what I need is to convert the box file and tif into .lstmf file.
I cannot find any guidance on how I can do this. All that there is the following:
OCR training documentation

The training data is provided via .lstmf files, which are serialized DocumentData They contain an image and the corresponding UTF8 text transcription, and can be generated from tif/box file pairs using Tesseract in a similar manner to the way .tr files were created for the old engine.

Please advise on how to convert tif and box into lstmf at this stage.
Thanks,

Environment
Version
tesseract 5.0.0-alpha-628-g95be
leptonica-1.75.3
libgif 5.1.4 : libjpeg 8d (libjpeg-turbo 1.5.2) : libpng 1.6.34 : libtiff 4.0.9 : zlib 1.2.11 : libwebp 0.6.1 : libopenjp2 2.3.0
Found AVX2
Found AVX
Found FMA
Found SSE
Found OpenMP 201511
** commit version **
95befed6b106ad1724020ea640cfa55f488cb804
** platform **
Linux ml-training-01 5.3.0-40-generic #32~18.04.1-Ubuntu SMP Mon Feb 3 14:05:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

Found it,
tesseract image.tif training --psm 6  lstm.train
but the box file name should be the same as the image file name.


Simplify how attachment works

Hi, thanks for your great tool!
Context & explanation
I've tried to use markdown image syntax but it does not work.
Example:
### This attachment list

![Sample image](191001_Homepage_hero_image_FI_EN.png)

Link created but attachment not uploaded.
I've tried adding meta tag
<!-- Attachment: 191001_Homepage_hero_image_FI_EN.png -->

Debug and tracing shows how image uploaded but image appears broken on the page.
Afterwards I edited page by hand.
Link HTML stayed the same.
After that I am trying to update from command line and it gives error:
2019-11-13 11:42:22 [TRACE] loaded macro "@\\{([^}]+)\\}"
                            ├─ template: ac:link:user
                            ├─ expr: @\{([^}]+)\}
                            └─ config: map[Name:${1}]
2019-11-13 11:42:22 [TRACE] loaded macro "WS-\\d+"
                            ├─ template: ac:jira:ticket
                            ├─ expr: WS-\d+
                            └─ config: map[Ticket:${0}]
2019-11-13 11:42:22 [TRACE] loaded macro ":done:"
                            ├─ template: ac:status
                            ├─ expr: :done:
                            └─ config: map[Color:Green Title:DONE]
2019-11-13 11:42:22 [TRACE] loaded macro ":todo:"
                            ├─ template: ac:status
                            ├─ expr: :todo:
                            └─ config: map[Color:Blue Title:TODO]
2019-11-13 11:42:22 [DEBUG] resolving page path: ??? > Test
2019-11-13 11:42:23  [INFO] page will be stored under path: Solutions Architects Space > Test
2019-11-13 11:42:23  [INFO] updating attachment: "191001_Homepage_hero_image_FI_EN.png"
2019-11-13 11:42:26 [FATAL] unable to create/update attachments
                            └─ unable to update attachment "191001_Homepage_hero_image_FI_EN.png"
                               └─ Confluence REST API for creating attachments returned 0 json objects, expected at least 1

I am using Confluence Cloud.
What happened
Images referenced in markdown, relative to the file are not uploaded without specific meta header Attachment. When specifying Attachment images are uploaded somewhere, but link still broken on the Confluence page.
What I expect
Markdown image reference links works.
Both inline and locally referenced images should be uploaded and linked properly.
I used markdown format as described here:
https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#images

Hi! I'm glad that you've found this tool useful.
It's quite surprising that the documentation doesn't cover how attachments should be linked in the docs.
Here is how I do it right now:
registries.md
4:<!-- Attachment: assets/registries.png -->
50:![Image Flow](attachment://assets/registries.png)

clusters-overview.md
4:<!-- Attachment: assets/live-kubernetes.png -->
75:<img src="attachment://assets/live-kubernetes.png" width="800px" />

As you can see, you just need to specify the attachment upload section (you have it already) and mention the attachment with special attachment:// protocol (mark will just replace it with full attachment URL received after uploading)

Hmm, yes, specifying attachment:// prefix helps fixing url to the image.
What is the rationale for this? It would be great if links will be compatible with GitHub and page could be rendered both at github and confluence.
Also why <!-- Attachment: assets/registries.png -->
are required. I cant put it near the image tag (only at the top) so you need to go extra mile to add an image.
Overally IMO image support a little bit crude right now I would say. It would be great if it could be improved!

Yes, I completely agree with you on this point and I don't even remember
why there is that virtual URI scheme, but I'd be glad to merge a PR with
improvements.
On Wed, Nov 13, 2019, 13:14 Ruslan Gainutdinov<EMAIL_ADDRESS>wrote:

Hmm, yes, specifying attachment:// prefix helps fixing url to the image.
What is the rationale for this? It would be great if links will be
compatible with GitHub and page could be rendered both at github and
confluence.
Also why
are required. I cant put it near the image tag (only at the top) so you
need to go extra mile to add an image.
Overally IMO image support a little bit crude right now I would say. It
would be great if it could be improved!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/kovetskiy/mark/issues/9?email_source=notifications&email_token=ACAN7ZGHX4N3FUVEJ5WB3MLQTPHPVA5CNFSM4JMXJSOKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOED5TO5Q#issuecomment-553334646,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACAN7ZDLH6PAKMBP3ATXUM3QTPHPVANCNFSM4JMXJSOA
.

Maybe this will be sufficient? https://github.com/kovetskiy/mark/pull/22

Should be fixed with 3.0 thanks for @csoutherland PRs.


Need to register Microsoft.ContainerService as a provider

On a new non-Microsoft tenant, attempting to deploy produces the error
Failed to create Azure Spring Cloud service instance spring-3lybqjv6zyd4s in VNet due to customer error: Please verify resource provider Microsoft.ContainerService has been registered successfully..

When registering the Azure Spring Cloud provider, we need a step to register the ContainerService provider as well:
az provider register --namespace 'Microsoft.ContainerService'

This has been added as part of the move to ASA LZA


ActiveRecord 5.0 internal metadata table should not be cleaned

I'm building an app using Rails 5.0.0.rc1 and I ran into the fact that the ar_internal_metadata table is being cleaned with the :truncation strategy. This is similar to DatabaseCleaner/database_cleaner#317.
When this happens and ActiveRecord::Migration.maintain_test_schema! is being used, tests/specs will fail if there are pending migrations and database_cleaner has had a chance to run and clear the metadata table. The error looks like this:
$ bundle exec rspec
rails aborted!
ActiveRecord::NoEnvironmentInSchemaError:

Environment data not found in the schema. To resolve this issue, run:

    bin/rails db:environment:set RAILS_ENV=test

/Users/mike/dev/my_app/bin/rails:9:in `require'
/Users/mike/dev/my_app/bin/rails:9:in `<top (required)>'
/Users/mike/dev/my_app/bin/spring:13:in `require'
/Users/mike/dev/my_app/bin/spring:13:in `<top (required)>'
bin/rails:3:in `load'
bin/rails:3:in `<main>'
Tasks: TOP => db:test:load => db:test:purge => db:check_protected_environments
(See full trace by running task with --trace)
Coverage report generated for RSpec to /Users/mike/dev/my_app/coverage. 29 / 547 LOC (5.3%) covered.
/usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.rc1/lib/active_record/migration.rb:572:in `check_pending!':  (ActiveRecord::PendingMigrationError)

Migrations are pending. To resolve this issue, run:

    bin/rails db:migrate RAILS_ENV=test

    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.rc1/lib/active_record/migration.rb:585:in `load_schema_if_pending!'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.rc1/lib/active_record/migration.rb:591:in `block in maintain_test_schema!'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.rc1/lib/active_record/migration.rb:822:in `suppress_messages'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.rc1/lib/active_record/migration.rb:596:in `method_missing'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/activerecord-5.0.0.rc1/lib/active_record/migration.rb:591:in `maintain_test_schema!'
    from /Users/mike/dev/my_app/spec/rails_helper.rb:32:in `<top (required)>'
    from /Users/mike/dev/my_app/spec/controllers/widgets_controller_spec.rb:2:in `require'
    from /Users/mike/dev/my_app/spec/controllers/widgets_controller_spec.rb:2:in `<top (required)>'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/configuration.rb:1333:in `load'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/configuration.rb:1333:in `block in load_spec_files'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/configuration.rb:1331:in `each'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/configuration.rb:1331:in `load_spec_files'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/runner.rb:106:in `setup'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/runner.rb:92:in `run'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/runner.rb:78:in `run'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/lib/rspec/core/runner.rb:45:in `invoke'
    from /usr/local/var/rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/rspec-core-3.5.0.beta3/exe/rspec:4:in `<top (required)>'
    from /usr/local/var/rbenv/versions/2.3.1/bin/rspec:23:in `load'
    from /usr/local/var/rbenv/versions/2.3.1/bin/rspec:23:in `<main>'

As with was the case with DatabaseCleaner/database_cleaner#317, adding the table to the except list is a workaround:
DatabaseCleaner.clean_with :truncation, except: %w(public.ar_internal_metadata)

@botandrose I was working on a demo app to reproduce this problem consistently, and found out that, since my last comment, database_cleaner 1.8 has been released and appears to solve the problem.
All I had to do was change database_cleaner (1.7.0) to (1.8.3) in my Gemfile.lock, and the problem went away.  So maybe this is solved?

@gbirchmeier Yes, I believe this is fixed now. Thanks for confirming that!

I'm still getting this error with database_cleaner version 1.8.5 when I run features specs with capybara only.


Missing dockerhub repository

I am trying to deploy the secret-manager to my k8s cluster, but I can't find the official repository on dockerhub (or is it tuentitech/secrets-manager ? looks like it's empty)
The lack of a public docker repository is quite unexpected for an OS project designed to run on Kubernetes !
Is the dockerhub integration planned ?
How can I help ?

Hi @graillus !! Thanks for using secrets-manager
I agree with you, it's on the scope and I'll try to have it published as soon as possible

In the meantime, you can easily build your own docker image using the provided Dockerfile.
https://github.com/tuenti/secrets-manager/blob/master/Dockerfile

Till a public docker image is available the readme should state you need to build your own image and point at it in the deployment yaml.

I agree with smark88. It was annoying finding out after I had all the config setup that I now had to build the image.

I agree with smark88. It was annoying finding out after I had all the config setup that I now had to build the image.

My helm chart has a built image in it if you need one. https://github.com/broadinstitute/datarepo-helm/tree/master/charts/install-secrets-manager


[RatisConsensus] retry cache expiration time should be longer than retriable-client wait duration

see https://github.com/apache/ratis/pull/915

The good news is that we can now rule out the apply twice problem and guarantee exactly-once semantic!