Using keyboard with list of inputs

Greetings...
I have a scrolling list of ion-inputs..  when I call up your keyboard it covers some of the inputs.  Any suggestions on how to use it with a list of inputs.  I can seem to figure out how to shrink the scrolling area so I can see the last inputs in the list.
Thank you in advance for your time..
Cheers.. Mark..

Hi mamcgree !
I'm really pleased you enjoy the plugin ! :-)
Ok, short tip regarding scrolling to input:
<input type="text" (click)="doSomething($event)"></input>

import { Content } from 'ionic-angular';

[...]

@Component({...})
export class CMP_NAME {
    @ViewChild(Content) content: Content;

    [...]

    public doSomething(event) {
        let target = event.target || event.srcElement || event.currentTarget;
        let offsetTop = target.offsetTop;

        // scrollTo(x, y, duration)
        this.content.scrollTo(0, offsetTop, 150);

        [...]
        // Show keyboard and all the stuff ;-)
    }
}

Hop it will help you, someone told me it worked for him, but haven't tested my-self.
I've planned on doing a bit of refactoring and making a service to handle all those things, hope I'm going to find time soon :-)

Thanks for the quick response..  Will give it a try and let you know..
Cheers..
On 04/26/2017 12:10 PM, Skol wrote:

Hi mamcgree !
I'm really pleased you enjoy the plugin ! :-)
Ok, short tip regarding scrolling to input:
<input  type="text"  (click)="doSomething($event)">
import  {Content  }from  'ionic-angular';
[...]
@Component({...})
export  class  CMP_NAME  {
@ViewChild(Content) content:  Content;
 [...]

 public  doSomething(event) {
     let  target=  event.target  ||  event.srcElement  ||  event.currentTarget;
     let  offsetTop=  target.offsetTop;

     // scrollTo(x, y, duration)
     this.content.scrollTo(0, offsetTop,150);

     [...]
     // Show keyboard and all the stuff ;-)
 }

}
Hop it will help you, someone told me it worked for him, but haven't
tested my-self.
I've planned on doing a bit of refactoring and making a service to
handle all those things, hope I'm going to find time soon :-)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skol-pro/ion-digit-keyboard-v2/issues/7#issuecomment-297461698,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK1lM4a74JCCMn-rDgKQbRP0A58xBH2Qks5rz2x7gaJpZM4NJFeK.

Greetings..
Your solution works, except for the  items a the bottom of the list which cannot be scrolled above the keyboard.  Any more suggestions??
Cheers..

Glad to read that :-)
Ha ha, well, you can work with an if statement based on offsetTop, if it's > of content - keyboard width, then add a temporary bottom margin to the input ? :-/ (that's a quick answer, don't know if it's the best :-p ... ).

Working on something similar.. Going to add blank ion-items.. Its dirty
but I think it will work..
Thanks for your help and your great plugin..
Cheers
On 04/26/2017 03:23 PM, Skol wrote:

Glad to read that :-)
Ha ha, well, you can work with an if statement based on offsetTop, if
it's > of |content - keyboard width|, then add a temporary bottom
margin to the input ? :-/ (that's a quick answer, don't know if it's
the best :-p ... ).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skol-pro/ion-digit-keyboard-v2/issues/7#issuecomment-297514966,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK1lMxhifxLrQlsE4CwS4J_cnLCBgeYAks5rz5mygaJpZM4NJFeK.

Greetings..
Your keyboard works great.  Is there any way to change the height (the
same way to change the width)?
Cheers.
On 04/26/2017 03:23 PM, Skol wrote:

Glad to read that :-)
Ha ha, well, you can work with an if statement based on offsetTop, if
it's > of |content - keyboard width|, then add a temporary bottom
margin to the input ? :-/ (that's a quick answer, don't know if it's
the best :-p ... ).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skol-pro/ion-digit-keyboard-v2/issues/7#issuecomment-297514966,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK1lMxhifxLrQlsE4CwS4J_cnLCBgeYAks5rz5mygaJpZM4NJFeK.

hi !
Glad to read that !
Hum well, not actually, sorry :-/
But that’s a good remark, there is no reasons it won’t be possible !

Le 28 avr. 2017 à 20:13, mamcgree<EMAIL_ADDRESS>a écrit :
Greetings..
Your keyboard works great. Is there any way to change the height (the
same way to change the width)?
Cheers.
On 04/26/2017 03:23 PM, Skol wrote:

Glad to read that :-)
Ha ha, well, you can work with an if statement based on offsetTop, if
it's > of |content - keyboard width|, then add a temporary bottom
margin to the input ? :-/ (that's a quick answer, don't know if it's
the best :-p ... ).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/skol-pro/ion-digit-keyboard-v2/issues/7#issuecomment-297514966,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AK1lMxhifxLrQlsE4CwS4J_cnLCBgeYAks5rz5mygaJpZM4NJFeK.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/skol-pro/ion-digit-keyboard-v2/issues/7#issuecomment-298069151, or mute the thread https://github.com/notifications/unsubscribe-auth/AKINEVEmrsuObWs9pKb6nhOf64FgNWi3ks5r0ixWgaJpZM4NJFeK.


Suddenly getting timeouts

I've been using deep-cli since last month. It's been working fine untill today. I started receiving these errors today-
Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/deepl/deepl.py", line 170, in _translate
    await page.waitForFunction('''
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/pyppeteer/frame_manager.py", line 855, in __await__
    raise result
pyppeteer.errors.TimeoutError: Waiting for function failed: timeout 30000ms exceeds.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "translate.py", line 17, in <module>
    res = t.translate(''.join(i))
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/deepl/deepl.py", line 140, in translate
    return asyncio.get_event_loop().run_until_complete(
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/deepl/deepl.py", line 179, in _translate
    raise DeepLCLIPageLoadError
deepl.deepl.DeepLCLIPageLoadError

Is there a way to increase the timeout?

Update: It's ocurring no more. Closing this now. I will reopen if it occurs again @eggplants

This is happening again. Is there a way to extend the timeout?


[ADD] Option to retry failed Cholesky decompositions in double precision in KFACInverseLinearOperator

Resolves #101.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

9 of 21 (42.86%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 88.526%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

curvlinops/inverse.py
9
21
42.86%

Totals

Change from base Build<PHONE_NUMBER>:
-0.8%

Covered Lines:
1165

Relevant Lines:
1316

💛  - Coveralls


[DO NOT REVIEW] dummy change to nf4

Summary:
Test Plan:
Reviewers:
Subscribers:
Tasks:
Tags:

closing since it's resolved in https://github.com/pytorch-labs/ao/pull/118


min_size, max_size, lt, gt - what to do

from @Gr1N on #171

I would like to rename gt and lt in ConstrainedInt and ConstrainedFloat because we already have min_number_size and max_number_size for int and float and to my mind it looks like kind of inconsistency. And I think we can do this backward compatible by adding new min_size and max_size without removing gt and lt. What do you think?

We had a discussion and I said I'd do a PR, however having through about it I have the following concerns:

why would anyone ever want to constrain all numbers to a given range? It sounds like a very unlikely thing to want to do IRL. It's obvious that people want to constrain some numbers, but all by default? That sounds weird. This was a mistake of mine right at the beginning.
there are definitely problems with max_size vs. lt:

different names is confusing
as discussed on #171 they mean different things: specifically "max size" is really closer to "less than or equal to"

lt and gt are useful because they can be used to implement PostiveXXX and NegativeXXX in a canonical way: AFAIK PostiveInt should be > 0 but not 0.
max_size is a dumb and verbose name, max would be sufficient but

My proposal: get rid of max_number_size and min_number_size from Config completely and leave range constraints to constr and confloat.
@Gr1N do you agree with this?

Sounds great! Also I have same feeling about anystr related properties in Config. Can we remove them too?
One more reason why I like you idea is because we can simply validators by removing getattr in prior of using just field.type_.min.
And one more moment about renaming, maybe better to use minimum and maximum because in Python we have min and max builtin functions.

@samuelcolvin any progress? If you have no time I can help you.

I think this can be closed, but happy to discuss more if anyone is unclear.

Just to chime in on the discussion.
gt and lt are horrible names, since they imply that the comparisons used are > and <. In Python these two names have a distinct meaning (see the operator module as an example). ge (greater equal) and le (less equal) would be the right name in that case.
I actually was thrown off, when I read the documentation / code.
When I read this
class PositiveInt(ConstrainedInt):
    gt = 0

# or
big_int: conint(gt=0)

I would assume that all values which are at least one are valid, but the lower bound is actually 0.
Thus, I would propose to use min_value and max_value, a convention other libraries have chosen.

@jaheba, the problem is not with the names, but with the code, this was fixed in #188.
gt and lt are used specifically because they imply > and < respectively. That's what's implemented on master and will be released soon:
 class Foo(BaseModel):
     big_int: conint(gt=0)

 Foo(big_int=0)
#> validation error
Foo(big_int=0)
#> <Foo big_int=1>

This big_int has to be greater than 0.
This was done to allow PositiveInt to behave correctly.
We could also allow ge or le but I think that's unnecessarily complicated.

Sorry for being so brush in my first comment.
I think fundamentally, the issue is that there are cases where you want either behaviour.
Say, I want a float value in the range of [0, 1], that is 0 <= x <= 1. In this case, I can't use confloat, since it's semantic will exclude 0 and 1 from the set of allowed values. And since I use floats, I can't use any other value to make it work.
Thus, the range (0, 1) (0 < x < 1) works, but we would have the same issue with the old behaviour.
Although it might complicate things, I would advocate for supporting all four operators (ge, gt, le, lt):
def number_size_validator(v, field, config, **kwargs):
    assert not (field.type_.gt is not None and field.type_.ge is not None),\
        'ge and gt can't be specified at the same time'

    assert not (field.type_.lt is not None and field.type_.le is not None),\
        'le and lt can't be specified at the same time'

    if field.type_.gt is not None and v < field.type_.gt:
        raise errors.NumberGtError(limit_value=field.type_.gt)
    elif field.type_.ge is not None and v <= field.type_.ge:
        raise errors.NumberGtError(limit_value=field.type_.ge)
   ...

    return v

Can do :)
My current idea is be to create a metaclass for checking for conflicts:

class ConstrainedMeta(type):
    def __new__(cls, name, bases, dct):
        new_cls = type.__new__(cls, name, bases, dct)
        assert new_cls.gt is None or new_cls.ge is None
        assert new_cls.lt is None or new_cls.le is None
        return new_cls

class ConstrainedInt(int, metaclass=ConstrainedMeta):
    gt: Optional[int] = None
    ge: Optional[int] = None
    lt: Optional[int] = None
    le: Optional[int] = None

    ...

This essentially ensures that only one of the comparison fields is set during class creation.

Looks good except we will need informative exceptions, and best to raise ConfigError

Right, just wanted to check that you would agree with the general approach.


API-1835: manifestclient: add a few tests for discovery

/assign @p0lyn0mial @deads2k

/cherry-pick release-4.18

/lgtm


[BUG] FIX CI for building this project

Describe the bug
The ci code is copied from Eunomia and cannot compile on this project.
We need to fix it to support building first.
see .github dir.

fix now


Making a template engine with Lark

I'm trying to develop a small template engine with Lark. While I've contemplated making it myself with a bunch of regular expressions, I think it would make more sense to do it with Lark for maintainability.
The thing is, I want to be able to do something like that:
foo = __my.thing__

# IF my.thing
foo += 42
# ENDIF

Here the idea is __ is a bit like {{/}} in a Django/Jinja engine. Eventually, I want to interpolate __my.thing__ into the value of my.thing from the context (well, context['my']['thing']).
The IF/ENDIF block are self-evident I think.
And beyond the __something__ and the # IF/# ENDIF blocks I don't want to parse anything, it's a blob to me. The goal is to be completely agnostic to the text surrounding my blocks.
What I'm having a hard time wrapping my head around, is how to tell Lark that I'm just interested in things that match and I just want a "copy" of everything in-between.
I've tried something like that:
file: line "\n"
    | line

line: line* "__" reference "__" line*
    | TEXT

reference: KEY
         | KEY "." reference

KEY: /[^\s\r\n\t.]+/

TEXT: /[^\n]+?/

But obviously it's a spectacular failure as it's just making one node of the tree for each letter of the text.
I'm grateful for any insight :)

Hi @Xowap ,
The reason you're getting one letter each time, is that you're using a non-greedy regexp in TEXT (+?) which means it only matches one character.  You should make it greedy.
See this as an example: https://github.com/lark-parser/lark/blob/master/examples/advanced/conf_lalr.py
To avoid it "taking over" everything, you might need to put it in a low priority, like TEXT.-1. But that might not be necessary.

Thank you @erezsh !
There was many issues in my original grammar, I'm now at:
file: line+

line: line_content* "\n"
    | line_content+

line_content: inline_ref
            | TEXT

inline_ref: "__" reference "__"

reference: KEY ("." KEY)*

TEXT.-1: /[^\n]+/

KEY: /([^\s\r\n\t._]|_[^\s\r\n\t._])+/

My test is on this conceptual text input:
#!/usr/bin/python

import foo
import bar
import __project.name__

__project.name__

my_thing = "__project.NAME__"

Unfortunately I'm still getting bits like:
Token("RULE", "line"),
[
    Tree(
        Token("RULE", "line_content"),
        [Token("TEXT", "import __project.name__")],
    )
],

While I'd expect something more like:
Token("RULE", "line"),
[
    Tree(
        Token("RULE", "line_content"),
        [
            Token("TEXT", "import "),
            Tree(
                Token("RULE", "reference"),
                [
                    Token("KEY", "project"),
                    Token("KEY", "name"),
                ],
            )
        ],
    )
],

So basically it doesn't look like the priority is observed? Or something is wrong in my expression somehow?
Thank you :)

As you say, "import" is TEXT, but TEXT doesn't stop at whitespace, it is greedy and matches to the end of the line.
If you want "import" to mean something, make a rule for it that includes that keyword.
Or make TEXT stop at whitespace. But I don't think that's the best way.

Well I don't want it to mean anything, I just want to replace values that are between __ and __.
Typically, the end game would be to detect things like:
blip blop bloop __value__ blap

And then get something like

TEXT "blip blop bloop "
reference "value"
TEXT " blap"

Then I'll just compute the reference and leave the text untouched
Not sure if I'm explaining myself properly?

Then maybe you should make TEXT scan until it reaches __. You can use regex lookahead syntax for that.

That helped, thanks!
For further readers, here is my grammar in the end:
file: line+

line: line_content* "\n"
    | line_content+

line_content: inline_ref
            | TEXT

inline_ref: REF_DELIM reference REF_DELIM

reference: KEY ("__" KEY)*

TEXT.-1: /([^\n_]+|__(?!_)|_(?!__))/

REF_DELIM: /___/

KEY: /([a-zA-Z-])([a-zA-Z-0-9-]|_(?!_))*/


[FEATURE REQUEST] Disable in reading view.

Would like to be able to disable the plugin in reading view to not accidentally resize images.

Added a special toggle in 1.2.0  to disable drag and scrollwheell resizing in Reading view.


Snap should use LZO compression for faster first launch startup

VS Code installed via Snap is slow to load on the first launch after installation and after each reboot. This is a Snap issue, and Snaps can now optionally use LZO as a compression format to help shorten these launch times, at the cost of a slightly larger snap file. There's more info in this blog post: https://snapcraft.io/blog/snap-speed-improvements-with-new-compression-algorithm. As they mention, the Ubuntu Chromium snap made this change and it made a significant difference.
See also the Snapcraft forum topic "How to switch your snap to use LZO compression".

Yes, duplicate. I had searched a couple weeks ago but never got around to posting :facepalm:

For anyone finding this in the future, this was (coincidentally?) fixed today in https://github.com/microsoft/vscode/pull/118116.


smooth scrolling

Support pixel correct smooth scrolling.
This requires to scroll not just by line numbers but by pixels instead. But keep and remember the relation to its corresponding line scroll offset.
When scrolling is done, maybe it should smoothly (kinetically) snap into a terminal line.
References:

https://doc.qt.io/qt-5/qscroller.html

looking forward to this feature


1175 deterministric clusters

Closes #1175
Generates a match probability column of value 1 for a deterministic linkage. Have not currently implemented making threshold_match_probability an optional argument. Have just put in the docs to set it to 1 for deterministic linkage for now.
Also, linked to #1184 with a PR already sitting in splink demos for when this is merged.

Have implemented changes. Have also added a test but still WIP. Will re-request a review when it is working.

Tests are failing?

Ah sorry, missed that. Thought it was just the lint!

The demos appear to be failing due to an incorrect argument?

Yep, that's from another PR - I am currently working on a PR to update the demos to fix it. A parameter of one of the ctl functions has changed slightly


docs: 完善自定义单元格的优先级说明和自定义绘制图标的示例 close #2736

👀 PR includes

🔧 Chore

[ ] Test case
[x] Docs / demos update
[ ] CI / workflow
[ ] Release version
[ ] Other ()

📝 Description

RT.
🖼 Screenshot

Before
After

❌
✅

🔗 Related issue link

close #2736
🔍 Self-Check before the merge

[ ] Add or update relevant docs.
[ ] Add or update relevant demos.
[ ] Add or update test case.
[ ] Add or update relevant TypeScript definitions.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 80.10%. Comparing base (ecdc9c8) to head (7964a76).
Report is 361 commits behind head on next.

Additional details and impacted files
@@            Coverage Diff             @@
##             next    #2741      +/-   ##
==========================================
+ Coverage   75.77%   80.10%   +4.33%
==========================================
  Files         257      176      -81
  Lines       11994    10142    -1852
  Branches     2464     2319     -145
==========================================
- Hits         9088     8124     -964
+ Misses       1398      613     -785
+ Partials     1508     1405     -103

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Allow custom section names in hoc files for Cell object

Hi,
The Cell object intialisation does not support hoc files with custom section names:
bluecellulab/psection.py:89, in PSection.__init__(self, hsection, isec)
     87     self.section_type = 'myelin'
     88 else:
---> 89     raise Exception(
     90         "PSection: Section of unknown type: %s" %
     91         self.name)
     93 self.psegments: list[PSegment] = []
     94 self.maxsegdiam = 0.0

Exception: PSection: Section of unknown type: MOBopl_mTC_bSTUT_bluecellulab_0x7fff01743ad0[0].hillock

It looks like we did not have this problem with 1.8.4

The section types have always been strict, they even affect the NEURONs random number generation process. To my knowledge BCL or Neurodamus have never supported section types other than somatic, basal, apical, axonal, myelin.
In 1.8.4 if it works without any errors, it points to some problems.
E.g. this method below might not be executed:
https://github.com/BlueBrain/BlueCelluLab/blob/edfb2663d33d8e277b28a5aa764b1627bfc80c82/bluecellulab/cell/core.py#L177

Fixed in https://github.com/BlueBrain/BlueCelluLab/pull/167.


Releasing 0.2.0

Releasing 0.2.0 gem \o/
/CC @erjohnso
Can you please, do the honors and set annotated tag with release notes:
git tag -a 0.2.0
* Added support for service account definitions [tcr]
* Added support for preemptible instances [jcdang]
* Implemented auto_restart and on_host_maintenance options [jcdang]
* Implemented vagrant halt and reload actions [temikus]
* Added support for IP address specification by name [temikus]
* Instance name now defaults to time + uuid [temikus]
* Removed legacy rsync code, switched to Vagrant built-in SyncedFolders [temikus]
* Switched to fog-google metagem [temikus]
* Added a linter and custom acceptance tests [temikus]
* Updated documentation and examples [mbrukman, temikus]
* Miscellaneous UI/UX updates and bugfixes [temikus]

Awesome work, thanks @tcr, @jcdang, and @Temikus!

https://github.com/mitchellh/vagrant-google/releases/tag/v0.2.0


Revert "nix-gitignore: Optimise performance"

Reverts NixOS/nixpkgs#106172
This commit reverts ef3ed45c1240197b721f38a01ec48e7dc6e7c179
This change causes issues with negative patterns. Reverting now until those can be resolved.

Please add back the mention of the reverted commit to the commit message:
This commit reverts ef3ed45c1240197b721f38a01ec48e7dc6e7c179

Please add back the mention of the reverted commit to the commit message:
This commit reverts ef3ed45c1240197b721f38a01ec48e7dc6e7c179

Good point, I assumed that GitHub would do that for me.

Good point, I assumed that GitHub would do that for me.

This wasn't "just a performance optimisation", it made nix-gitignore actually usable on non-toy repos.
Without these changes memory & CPU usage is simply so bad that nix-gitignore is unusable.

This wasn't "just a performance optimisation", it made nix-gitignore actually usable on non-toy repos.
Without these changes memory & CPU usage is simply so bad that nix-gitignore is unusable.

See https://github.com/NixOS/nixpkgs/pull/106172#issuecomment-751379374 for an example of a behaviour change. It appears that negative patterns were not working correctly.
Is breaking negative patterns fundamental to the performance improvement? If so maybe the new functions should be added under a new name? If not then a fix that preserves support for negative patterns is very welcome.

See https://github.com/NixOS/nixpkgs/pull/106172#issuecomment-751379374 for an example of a behaviour change. It appears that negative patterns were not working correctly.
Is breaking negative patterns fundamental to the performance improvement? If so maybe the new functions should be added under a new name? If not then a fix that preserves support for negative patterns is very welcome.

If the optimized code cannot be fixed to take negative patterns into account it is still possible to do as follows

if there are any negative patterns
then use the old slow code
else use the new shiny code

If the optimized code cannot be fixed to take negative patterns into account it is still possible to do as follows

if there are any negative patterns
then use the old slow code
else use the new shiny code


Module 5E: Capturing and Creating Biological Relationships [1st Draft Completion List]

Module 5E: Capturing and Creating Biological Relationships

[x] Title created
[x] Purpose created
[x] Keywords created
[x] Point Person assigned
[ ] Task List filled in
[ ] Essential training added
[ ] Metrics costing reporting filled in
[ ] Outreach opportunities filled in
[ ] Exemplar workflows added
[ ] References to other Modules added/linked
[ ] Discussion section added at bottom
[ ] Links to standards/Best practices

Pull in Jennifer Zaspel and https://www.globalbioticinteractions.org/about


SPI DMA Receive Request possibly wrong direction.

In the SpiHandle::Impl::SetDmaPeripheral() function, the switch maps the hdma request to the corresponding DMA_REQUEST_SPIx_TX value regardless of direction.
I haven't done any SPI receive with DMA. So I can't say for sure that it won't work, but this definitely stood out as a potential issue.
We should investigate, and fix.

This may be fixed with #472


Allow simulations submission without specifying a name

In some cases, a user may prefer using the webform to submit simulations in bulk,  and repeatedly use the webform. Due to the defaults and the introspection of the project that can automatically select an appropriate simulator, the only field that must be filled each time is the "name".
Instead of this being required at the form level, we can auto-generate a name if the user does not provide one.
Some methods:

Random adjective-animal pairings such as docker/Github
the name of the omex file

This might lead to the possibility that users will try to publish names that are autogenerated rather than being meaningful, but the user could just type in a meaningless string and try to publish that anyway, so I don't think this would lead to much additional poor quality models being published.

@jmdetloff  We won't have time for this for a while, so feel free to include it in #4296  if you want!


proposed change in macro precedence

So, macros have a bug (sort of) when it comes to precedence. Observe:
macro m {
    rule {} => {
        4 + 5
    }
}
m * 6
// what you might expect to happen
// (4 + 5) * 6 === 54
// what actually happens
// 4 + (5 * 6) === 34

One (bad) solution to this is to just tell macro authors to just wrap their output in parens if they care about precedence.
Better is to do this automatically in the expander. I think we can just run the enforester on the macro invocation result until it gets an expression term. Basically this would implicitly parenthesize the macro output.
The maybe-problem with this approach is that other macros in the output of a macro would be limited to match only the syntax inside the implicit parens:
macro n {
    rule { $rest ... } => {
        // do something with $rest ...
    }
}
macro m {
    rule {} => {
        4 + 5 - n
    }
}
m * 6 // n does *not* match `* 6`

I think this is ok but what do other people think?

Requiring macro authors to add parentheses remind me of C macros, so I'd vote against that

I'm mass closing issues due to the release of 1.0 obviating lots of bugs. If you feel this issue is something we still need to address feel free to reopen.


Don't overwrite other class attribute assignments.

When a snabbdom virtual node has both a class as a component of the sel property AND a property in an attrs object, the attrs object class overwrites the sel subcomponent class.
https://github.com/paldepind/snabbdom/blob/master/modules/attributes.js#L26
elm.setAttribute(key, cur);
Here's an example of attrs class overwriting sel subcomponent class:
http://esnextb.in/?gist=0512c49748550e57039bce437225081e
To prevent overwriting I suggest adding a check to determine if key equals "class", and if so use classList.add rather than setAttribute.
Also to accommodate a list of classes in the attrs class property, split the value on spaces and loop over the resulting array adding each item.

Thank you for the PR, the well written explanation with clear examples. The implementation is great as well.
However, please see my response in #103. I think the same reasoning applies to this case.
To my mind, setting the class attribute should behave just like setting the class attribute always does. Because the attributes module is plain and simply about setting attributes.
The class module is for setting classes in a friendly and surprise free way. Unless I'm mistaken setting your classes with the classes module would solve your issues.

Makes sense. Thanks for the explanation. I can work with that.

Great :smile:


Integrate checking of md5 sum for public download links

A simple approach could look as follows:

After downloading ${component_installer_file_url}, try to download ${component_installer_file_url}.md5 to the cache directory. Example: http://downloads.dynatracesaas.com/6.2/dynatrace-collector-linux-x86.jar.md5 after http://downloads.dynatracesaas.com/6.2/dynatrace-collector-linux-x86.jar.

In the component's install script, check if an .md5 file is in place next to the installer artifact and verify using md5sum. Then, exit 1 if the sum could be calculated, but does not match and exit 0 otherwise. Example: templates/collector/install-collector.sh.

@nnmathieugrin, @gehel: your feedback on this is highly appreciated.

A simpler way of comparing md5 checksum? shows a neat shell script that doesn't rely on any dependencies other than md5sum.

If you really want to know, I'm always happy to share my opinion ;-)
The implemetation I would like to see would rely on puppet-wget from Maestrodev, which is the PuppetLabs approved module for wget. This module already supports md5sums. I always prefer not reinventing the wheel if the right wheel already exists and is well known / supported. This also follows the "least surprise principle" as quite a few other modules rely on puppet-wget.

@gehel: I am totally with you! maestrodev-wget has been integrated in commit https://github.com/Dynatrace/Dynatrace-Puppet/commit/15120dd9754a14400c91895737d576aa4012ac40. Can you integrate the md5sum check into the module? Useful: at http://downloads.dynatracesaas.com, each $installer comes with a file $installer.md5.


Pattern: Develop Cards group - Prod level version

User Story

As a [user role below]:
IBM.com Library developer

I need to:
create/change the Cards group

so that I can:
provide the ibm.com adopter developers patterns/components they can use to build ibm.com web pages

Additional information

Story within Storybook with corresponding knobs
Utilize Carbon
Design specs issue (#  )
Functional specs issue (#  )
Design QA testing issue (# )
Prod QA testing issue (# )

Acceptance criteria

[ ] Include README for the react pattern and corresponding styles
[ ] Minimum 80% unit test coverage
[ ] A comment is posted in the Design QA issue, tagging Wonil and Roberta, when development is finished
[ ] A comment is posted in the Prod QA issue, tagging Praveen and Chetan, when development is finished

The Card section and Cards group dev issues have been combined.  All of the work is managed in issue (#1844).  Closing this issue.


Switching to Nvidia displays black screen and other misc. issues

Operating System: EndeavourOS
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.92.0
Qt Version: 5.15.3
Kernel Version: 5.17.1-zen1-1-zen (64-bit)
Graphics Platform: X11
Processors: 16 × Intel® Core™ i7-10875H CPU @ 2.30GHz
Memory: 15.4 GiB of RAM
Graphics Processor: Mesa Intel® UHD Graphics
Graphics Processor: NVIDIA GeForce RTX 2060 with Max-Q Design/PCIe/SSE2

I'm having an issue similar to #33, but with Intel/Nvidia.
When switching to Nvidia and rebooting, the screen turns black and I need to Shift+Alt+F2 to switch back to hybrid.
That being said I tested my system with Optimus-Manager and had no issues and my problem with transparency in KDE were fixed.

This all probably because the xrandr script is not run anymore so the display manager can't setup the xorg correctly.

@geminis3 I reimplemented it with in my fork, plus did the amd tearing fix and it seems to work on my system with no problem.
Will do a pull request so check it.


mininet: fix dependencies, go back to a buildable state

Issue #341875 showed that mininet was no longer buildable. I found that this was just some missing dependencies, which this PR fixes.
It does not fix potential other problems arising from the kernel stuff mininet does, only the build process. If I find out new issues in future testing, I will fix them and open a separate PR.
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

[ ] Tested, as applicable:

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

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

The process does abort because there is no Open vSwitch server running, I'll look into that

The NixOS service does seem to work!

thank you


Graduated ObjectManipulator and MigrationWindow

Overview
This PR graduates ObjectManipulator and the MigrationWindow to allow users to smoothly migrate from ManipulationHandler to ObjectManipulator.
Detailed changes:

Moved ObjectManipulator and MigrationWindow and all associated classes out of experimental namespace
Removed experimental ref from ManipulationHandler
Replaced all occurences of ManipulationHandler in all MRTK scenes and prefabs except ManipulationHandler specific ones with the new ObjectManipulator (done with migration tool migrate project option)
while using migration window / tool to migrate I fixed the following bugs:
-- fixed query listing all files in current project (thanks @vaoliva )
-- fixed scrollbar being stuck in migrationwindow which will hide the migrate button in long file lists
-- fixed tool hanging when trying to migrate .fbx or other files that aren't a unity prefab file
-- made sure we're not upgrading any files that don't need migration
replaced manipulationhandler with object manipulator in tests or comments that are not directly related to the old manipulationhandler
Note: MigrationWindow test class is still in experimental folder as it will still be used for testing migration on experimental features (currently BoundsControl)

Changes

Fixes: #7357

Verification
run all tests and verified that hand interaction scene / slate / object manipulator scene works properly in editor - will need some more people testing this during stabilization

Nice catch with the prefab variants!

/azp run

/azp run

@thalbern It says there is a merge conflict in HandMenuExamples.unity scene. FYI We have updated the HandMenuExamples scene with new menu examples.
https://github.com/microsoft/MixedRealityToolkit-Unity/pull/7679

@thalbern It says there is a merge conflict in HandMenuExamples.unity scene. FYI We have updated the HandMenuExamples scene with new menu examples. In this PR - #7679

thanks @cre8ivepark . I'll merge and do another run on the migration tool :)

/azp run

Didn't try running these on-device, but the changes themselves seem good!
One last question, is were these reserialized with Unity 2018 or 2019?

They are 2018 asset files. Is that correct?

They are 2018 asset files - I thought storing them in Unity 2019 might be a problem for 2018 users. Is that correct?

Yep! That's perfect, and exactly why I was asking. Thanks!


looks link fzf-lsp doesn't respect g:fzf_preview_window settting

nvim version:
NVIM v0.5.0-dev+967-g7afd4526f
Build type: Release
LuaJIT 2.1.0-beta3

I got this fzf preview settings in my config: let g:fzf_preview_window = ['up:40%', 'ctrl-/'], which makes the preview window in the top section of float window.
this is the screenshot when i find a file using fzf.vim, which works as expected:

and this is the screenshot when i find references using fzf-lsp:

How can I make fzf-lsp respects g:fzf_xxx settings?

The problem is that i'm working with just the minimum fzf plugin end not with fzf.vim right now so i do not respect the fzf_preview_window settings, but i can make a fix adding the support with no problems, and in short amount of time.
Now i'm a little bit busy, but i think in few hours from now i'll make the update.
Thank for reporting this, i will never found that, because i usually use the default settings for the window preview

Ok, as i promised you i added the support to the preview window settings.
Run :PlugUpdate and should work with your standard configuration.
If you want to have different settings from your default fzf settings (for example i like having symbols to the bottom and files in the center window) just use the g:fzf_lsp_preview_window global variable.

Things works as expected now!  Thx for your help.


Ruby 2.1.6 (x64) installer issue in windows 10

When tried installing windows wait icon shows up for some secs and nothing proceeds further.
PS :  Ruby 2.2.2 (x64) worked fine in windows 10

Duplicate of #282, check out the discussion there and leave feedback.
Thank you!


Obfuscate user information

Currently we collect profile information about users when they create an account like email and name. The email is used to verify the identity of the log in attempt when we receive the authentication callback. The name is used to display personal information on the profile page.
If, instead, we performed a one-way hash on the email and stored that during account creation or linking, Dockstore would continue functioning as expected for the Dockstore User but the Database would no longer contain their personal information.
Once this is in place we can either run a migration to create the expected fingerprint for each User, or it could be overwritten during their next login, and their email removed.
The full name is used on the profile, however, to avoid storing these data the dockstore-ui could store the profile information in its session data as gathered from the auth provider. Then using an session store present the name where it currently shows.

Implement an email-free auth checking flow by adding a new identityToken member variable and a identityTokenSource field so that we know which field of he auth callback has been hashed. Add a salt that is provided by the environment so we could export the production database with some guarantees that you couldn't use it to identify a Dockstore User, even if you separately had their email.

Remove the name member variable from Users. Implement UI based display customizations over requesting from the webservice.

Implement migrations or code that (all at once or eventually) remove existing emails and names from the DB.

This raises the possibility of removing the responsibility of holding some user data, especially since user's and workflow authors are separable. If we have to change the salt for some reason, Users may be required to relink their accounts.
This raises the possibility of obfuscating the tokens as well, but requires more thought. I believe it is possible to encrypt their github or google token without much effort following this. If we encrypt the tokens we keep using a key based on a user's generated ID token and the salt again, we should be able to provide some guarantees that even with those tables dumped an attacker couldn't assume their identities. When the webservice needs to use the token on their behalf, it regenerates the passphrase from the User's info and the salt (from the environment) and decrypts it, only ever storing the whole token in memory.
┆Issue is synchronized with this Jira Story
┆Fix Versions: Open-ended research tasks
┆Issue Number: DOCK-738
┆Sprint: Backlog
┆Issue Type: Story

For Google tokens, I think, although it needs to be tested, that we could just use the user id. Then we wouldn't even have to hash the email; we could just use the id directly.

Is that an improvement? It seems to me that the user id uniquely identifies a user as much as an email address would anyway (depending on what they mean by obfuscate and if that makes user ids non unique)

I don't think you can do anything with the id -- i.e.,  there's no API where I can look up a Google user by id, AFAIK. Whereas if I got an email, I could at least email the person. But we would need to confirm this, otherwise it really wouldn't be an improvement.

I believe this is a privacy requirement we don't have to meet. Closing


feat: separate manual-seal

Closes https://github.com/interlay/interbtc/issues/1140

It could be useful when the tester wants to include multiple transactions in a block, since instant-seal would mine when a single transaction is received this wouldn't be possible.


Questions of blocks being thrown out in the inference result of Kuka Stacking.

When I run the inference files (conditional_kuka_planning_eval.py and rearrangment_kuka_planning_eval.py) with the pre-trained model, I encounter the problem of blocks being thrown around in the rendering results (as shwon in the videos below).

Conditional Stacking
Block stacking steps performed by the robot arm is (green->red)->(yellow->green)->(yellow->green)

The Google Drive link for the video is https://drive.google.com/file/d/1tqiJpIEK742NIFnTUOFRwz2oMaH3xL0-/view?usp=sharing.

Rearrangement Stacking
Block stacking steps performed by the robot arm is (red->green)->(yellow->blue)->(yellow->blue)

The Google Drive link for the video is https://drive.google.com/file/d/154ExrZwEivSRaS7ggkeLou1k6k5qL2nZ/view?usp=sharing
Is the problem of blocks being thrown around and moving violently caused by the fact that the perturbation function for the contact constraint is not added in the code implementation? I found that one difference between the code and the paper is that the perturbation function in the code is the l1 distance of the xy coordinates of the two blocks, as shown in this line: https://github.com/jannerm/diffuser/blob/7c4d4da918c38f30241283d1f70d61a9b2293d09/diffusion/denoising_diffusion_pytorch.py#L454, not the contact constraint described in the paper, as shown in the formula below.

Hi -- the thrown issue is caused by the model predicting contact formation with a block when it isn't close to the block (leading to a fixed attachment joint being made that causes odd block movement). Usually, it means the scene is now OOD for the learned model.

Thanks for your reply.

Hi -- the thrown issue is caused by the model predicting contact formation with a block when it isn't close to the block (leading to a fixed attachment joint being made that causes odd block movement). Usually, it means the scene is now OOD for the learned model.

Thanks for your reply.

If I add code to the add_fixed_constraint function to check the distance between the pose of end effector and the block as shown below, the constraint will be created only when the distance is less than the threshold. This will cause the end effector outside the threshold to not attach to the block, and the arm will not lift the block, which will cause some steps of the goal to fail to complete.  How to solve this situation?

Thank you again.

You probably need to tune the hyperparameter to determine when to form contact or not


[Swarm mode] Auto-configuration based on service labels

One option that would be very interesting would be about the usage of labels in the service to define some characteristics like:

I want to be accessible from the 80/443 port
I want to get traffic from this path and/or this domain.
Autoconfiguration of the TLS certificate

For example, if I launch a service with something like:
docker service create \
  --label "com.proxy.flow.http=80" \
  --label "com.proxy.flow.path=/" \
  --label "com.proxy.flow.domain=go-demo.com" \
  --label "com.proxy.flow.key=TLSKEYHERE" \
  --label "com.proxy.flow.cert=TLSCERTHERE" \
  -p 80 \
  --network flow-proxy \
   --name nginx-public \
  nginx

Then, in a similar way consul-template does over consul events, the docker-flow-proxy or a complementary service hearing for docker events could catch those services with these labels and automatically publish the service named nginx-public for the go-demo.com domain under the "/" path.
This would allow to launch many services in Docker swarm with just one load balancer over the entire cluster.
An important point is that when a new instance of the proxy is started it should do an initial check of the services that have any of its labels, to initialise the proxy status.
This allows the proxy to not to need any backend server because the status is already provided by the swarm cluster.

The first version of a possible solution is done. It runs as a separate container. Please see the info in the Swarm Listener project.
The next step would be to implement the missing features from this request inside the proxy (TLS and initial check). Before I switch to the proxy, I'd appreciate if you give it a try and let me know whether the direction I'm taking looks OK.

Hi,
I think your approach, separating the listening feature in another service, is a good idea.
I've tested it and I see that it works as expected, and the reconfiguration time is almost immediate!
I've had a problem when trying to reconfigure a service and I missed the label "com.df.servicePath", now I see it is mandatory even when you just want to configure the domain using the "com.df.serviceDomain" label, but this is not an important issue.
I think that's the right direction. Good job!
Other considerations
Now it's time for the wishlist, maybe some of my suggestions are not feasible or could be done on another way.
Now I have some concerns about the HA provided by the service. It now has 2 components, when I tried to scale the number of swarm-listeners to 2 it worked as expected, both tried to configure the only task running the docker-flow-proxy image. I don't know if this could be an issue but I haven't seen any race condition.
One thing I'm missing is that when a service is removed its entry remains in the proxy. A possible improvement would be to remove the entries that do't belong to any active service, it should be simple to implement using the existing "remove" API endpoint.
Self-configuration feature (without the need of any external KV store)
Another improvement allowing the service to provide full HA would be to add an autoconfiguration layer in the docker-flow-proxy image, instead of save its status in an external service like consul. It could be done following the next steps:

The swarm-listener send a request to the proxy reconfigure endpoint.
One task of the service receives this request and before committing it locally starts a "distributed transaction" phase*.
As each task knows itself and can obtain the other tasks that are running on the service (nslookup tasks.swarm-listener | grep -v $(hostname) as example) just loop over all the other service tasks and throw the same request
If all the tasks return OK the service change can be committed locally and returned to user.

Of course this means that each time a new proxy task is launched it needs to autodiscover another task and initialise itself from its config before being "healthy".

In the future this could be done adding a two-steps commits algorithm like Raft or Paxos. Initially a simple loop as described could be done as PoC.

I think this can be closed. If you want I can create other issues related with any of the functionalities, just let me know.
Thanks again for your work!

Now I have some concerns about the HA provided by the service. It now has 2 components, when I tried to scale the number of swarm-listeners to 2 it worked as expected, both tried to configure the only task running the docker-flow-proxy image. I don't know if this could be an issue but I haven't seen any race condition.

The proxy was designed with race conditions in mind. Unless there is a bug, it should be able to handle multiple parallel requests even if they are the same.
I'm not sure whether there is a new for two instances of swarm-listeners. If one fails, Swarm will reschedule it somewhere else. During that short period of time (between the failure and until it is rescheduled), new service will not be reconfigured. However, new services are created with very low frequency. Most of the time we update them and that does not require proxy reconfiguration. Even if a new service is created at the same time as the listener fails, it would still not mean any downtime for the service since it is the first release and users do not expect to see it immediately.  On the other hand, if there is a need for multiple instances of the listener, the only downside is that multiple requests will be sent to the proxy producing a very low and infrequent network traffic increase.
Yes. Please create other issues so that we can track them down. Closing this one...

One thing I'm missing is that when a service is removed its entry remains in the proxy. A possible improvement would be to remove the entries that don't belong to any active service, it should be simple to implement using the existing "remove" API endpoint.

That is still missing. Can you please open an issue so that we track it better?

Self-configuration feature (without the need of any external KV store)

That would, indeed, be a good addition. Can you please open an issue so that we track it better?


add panel individuals to number of samples

simulate the number of individuals indicated in model file as -I + a random number of individuals (2: number indicated with -I). The random individuals will be the panel individuals, original are ignore, and total = ignore + panel.
Currently we simulate the total, where total comes from -I. We then randomly pick ignore, and make panel, where total = ignore + panel. We do this in `alleles_generator/seqInfo.py
We need to change it so we randomly add panel and make total before we create macs_args, because we need total in macs_args.
For example, say we have the model file:
-macs,./bin/macs,
-length,1000000,
-t,2.5e-8,
-s,1231,
-r,1e-8,
-h,1e5,
-R,genetic_map_b37/genetic_map_GRCh37_chr1.txt.macshs,
-I,2,20,140,
-n,1,A,
-n,2,B,
-ej_1,AB_t,2,1,
-en,AN_t,1,AN
-discovery,1
-sample,2
-daf,daf
-array, array_template/ill_650_test.bed

In 20 and 140 should be seq.ignore
Then we need to create seq.panel = random.randint(2, seq.ignore-1)
and seq.tot = seq.ignore + seq.panel
Then in processInput macs_args should have seq.tot not -I that comes directly from the model file.

https://github.com/agladstein/SimPrily/commit/40f6b3be7825cfe19131260c8342bf03c13aff3c
https://github.com/agladstein/SimPrily/commit/e8a1eff74c77f035188ccf3e99b78cbd0c47ae36
https://github.com/agladstein/SimPrily/commit/a56e57a8d80364f5e219d5de0587bddb5e5dfe30
https://github.com/agladstein/SimPrily/commit/32f14fa99859e4bef52491f900da24e543524bcb
Model file must now contain the flag
-random_discovery, True


Multi-site incompatible with streaming frequency

The combine_property_data macro doesn't work with frequency: "streaming" or frequency: "daily+streaming".
In the first case, it errors on base_ga4__events because the macro isn't coded to handle streaming.
In the second case, it errors on base_ga4__events_intraday after successfully processing the base_ga4__events table.
Because of how frequently Google delays processing for more than a day with daily updates, using static_incremental_days: 1 is very fragile. For large sites, then there is a risk of missing data because batch data may not of processed for some sites in a multi-site installation, but the run will proceed without error.
As a result, it seems that streaming frequency should be the preferred method for multi-site installations as this guarantees that the expected data is present and thus minimizing any reprocessing.
The combine_property_macro should support streaming.
Additionally, we should consider whether the macro should either error or warn when a property ID configured in property_ids does not match any tables so that users with daily updates know to reprocess the data. Alternately, we should make it clear that they will want to reprocess several days worth of data to minimize data loss.

I do think adding streaming support is valuable, but I'm not following the logic of: "using static_incremental_days: 1 is very fragile" therefore "it seems that streaming frequency should be the preferred method for multi-site installations"
The typical setting for static_incremental_days is 3 to reprocess data and account for updates to the data that Google may introduce within 72hrs. I'd never recommend setting it to 1
The main benefit of streaming, imo, is having access to same-day data, but I don't see that listed in your issue. Just thought it would be good to align on the goal of this feature.

Doing the majority of my work with a couple of high-volume sites is coloring my thinking here. With high-volume, you don't care about Google fiddling with data after-the-fact because you have to use just streaming. You only need to account for late-arriving hits from mobile, which aren't an issue on web-only installations. You also don't want to reprocess partitions unless you have to. So, for frequency: "streaming" on a web-only project, you will want static_incremental_days set to 1.
But, for batch, you are definitely correct and batch with incremental days set to 1 causes further problems when Google's processing is delayed.

One thing to bear in mind is that even with streaming, Google does adjust the data after the fact, specifically for conversion info, as they get the data from their other services behind the scenes asynchronously.

Are you certain about that @willbryant? I presume that you mean attribution info, since there's no conversion info in the export. Even still, I haven't noticed the streaming export change.
My understanding of mobile, which is weak, is that the app can hold the events until a device connects to wi-fi. I know that you, Will, work with mobile, so I wonder if the adjustments that you see are Firebase holding events until they can send them without consuming wireless data or Google doing so.
In a streaming context, as far as I understand, you only get late arriving hits from mobile. You lose attribution data from Google Ads and you lose any machine learning numbers that Google decides to share with us.  You possibly lose any server-side bot removal, but it seems like the most impactful bot removal of late comes client-side.
Am I missing anything?

Sorry I meant attribution, yeah - but for web, not for mobile.
I've definitely seen traffic_source values not be filled in for the "intraday" and then populated for the regular tables later. I think I remember a 3rd-party post saying that they will fill it in intraday for a new attribution, but only in the daily process for attributions back to previous attributions. I haven't tested that but it fit with my observations.

I'm only aware of attribution changing for Google Ads, which is something that we've mitigated, but I'd prefer to know if I'm wrong.

I think @willbryant is talking about how user-level attribution is missing from the streaming export (see https://support.google.com/analytics/answer/9358801?hl=en) but then appears in the daily tables. @dgitis is talking about the case when GA4 is exporting to streaming ONLY (because their event volume exceeds the 1M events/day limit on daily export).
So I think you're both correct for those situations. User-level attribution updates in the first case, but not in the second case (though I don't have access to any projects that are streaming-only to verify).

Resolved by #187


Multi-round contentProvider fix

This is in close relation to the changes made in PR #850
At the point of doing that PR I wasn't yet attempting to use the content provider portion of the DBFlow processor and ran into issues once I started to do so.

Going to redo this on a fresh branch off develop.


Set up changelog and other processes for releases

Use standard-version to manage changelog.md

I was not able to find a way to simply generate a CHANGELOG.md file using standard-version.
Our tags are using custom prefix: node- (node-10.15.1)
standard-version supports the custom tag prefix usage, but when configuring it, automatically generates the tag.
This is the package.json used when trying to create only the CHANGELOG.md:
{
    "repository": {
        "type": "git",
        "url": "git+https://github.com/nodeshift/centos7-s2i-nodejs.git"
    },
    "standard-version": {
        "skip": {
            "bump": true,
            "tag": true,
            "commit": true
        }
    }
}

But it is not showing the correct information about the 10x branch.
This is the package.json used with the custom tag prefix and tag creation:
{
    "name": "centos7-s2i-nodejs",
    "version": "10.15.3",
    "repository": {
        "type": "git",
        "url": "git+https://github.com/nodeshift/centos7-s2i-nodejs.git"
    },
    "standard-version": {
        "skip": {
            "bump": true
        },
        "tagPrefix": "node-"
    }
}

We need manually update the version number and when generating the change log it creates the tag
using the specified prefix but the changelog file is not showing the commit message.
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|✚ 2]
13:30 $ touch foo.txt
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|✚ 2…1]
13:31 $ git add .
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|●3]
13:31 $ git commit -m "docs: a foo bar test"
[standard-version10x 89b7d8f] docs: a foo bar test
 3 files changed, 2 insertions(+), 57 deletions(-)
 delete mode 100644 CHANGELOG.md
 create mode 100644 foo.txt
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|✔]
13:31 $ standard-version
✔ created CHANGELOG.md
✔ outputting changes to CHANGELOG.md
✔ committing CHANGELOG.md
✔ tagging release node-10.15.5
ℹ Run `git push --follow-tags origin master && npm publish` to publish
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|✚ 1]
13:31 $ cat CHANGELOG.md
# Change Log

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [10.15.5](https://github.com/nodeshift/centos7-s2i-nodejs/compare/node-10.15.4...10.15.5) (2019-02-15)
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|✚ 1]

When using the master branch it shows some commit messages, but I think that messages are related to some previous tags 10.12.0 and v8x
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|✔]
13:34 $ cp package.json ~/
✔ ~/Desktop/centos7-s2i-nodejs [standard-version10x L|✔]
13:34 $ git checkout master
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
✔ ~/Desktop/centos7-s2i-nodejs [master|✔]
13:34 $ cp ~/package.json .
✔ ~/Desktop/centos7-s2i-nodejs [master|…1]
13:34 $ standard-version
✔ created CHANGELOG.md
✔ outputting changes to CHANGELOG.md
✔ committing CHANGELOG.md
✔ tagging release node-10.15.5
fatal: tag 'node-10.15.5' already exists

Command failed: git tag -a node-10.15.5 -m "chore(release): 10.15.5"
fatal: tag 'node-10.15.5' already exists

✘-1 ~/Desktop/centos7-s2i-nodejs [master ↑·1|…1]
13:34 $ cat CHANGELOG.md
# Change Log

All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.

## [10.15.5](https://github.com/nodeshift/centos7-s2i-nodejs/compare/node-9.4.0-1...10.15.5) (2019-02-15)

### Bug Fixes

* clear npm cache after all installs ([db8b853](https://github.com/nodeshift/centos7-s2i-nodejs/commit/db8b853))
* correct the image tag for 10.x ([b2e6b36](https://github.com/nodeshift/centos7-s2i-nodejs/commit/b2e6b36))
* don't exec until the very end ([d82144c](https://github.com/nodeshift/centos7-s2i-nodejs/commit/d82144c))
* don't expose docker password on cli ([670fb32](https://github.com/nodeshift/centos7-s2i-nodejs/commit/670fb32))
* ensure all files are writable AND readable ([eb57962](https://github.com/nodeshift/centos7-s2i-nodejs/commit/eb57962))
* ensure node_modules subdirs are writable at runtime ([49f374a](https://github.com/nodeshift/centos7-s2i-nodejs/commit/49f374a))
* further tweaking of runtime user permissions ([737269b](https://github.com/nodeshift/centos7-s2i-nodejs/commit/737269b))
* only install nodemon on demand ([174066a](https://github.com/nodeshift/centos7-s2i-nodejs/commit/174066a))
* remove stale imagestreams file ([3cbbd32](https://github.com/nodeshift/centos7-s2i-nodejs/commit/3cbbd32))

### Features

* add npm build if 'build' script is present ([#144](https://github.com/nodeshift/centos7-s2i-nodejs/issues/144)) ([643fa06](https://github.com/nodeshift/centos7-s2i-nodejs/commit/643fa06))
* add RHEL7 image stream and application template ([#81](https://github.com/nodeshift/centos7-s2i-nodejs/issues/81)) ([3346a1c](https://github.com/nodeshift/centos7-s2i-nodejs/commit/3346a1c))
* install dev dependencies only in DEBUG mode ([#36](https://github.com/nodeshift/centos7-s2i-nodejs/issues/36)) ([46e2e54](https://github.com/nodeshift/centos7-s2i-nodejs/commit/46e2e54))
✔ ~/Desktop/centos7-s2i-nodejs [master ↑·1|…1]

Previous tags created:
✔ ~/Desktop/test/centos7-s2i-nodejs [master|✔]
13:40 $ git tag -l | grep 10.12
10.12.0
node-10.12.0
node-10.12.0-1
✔ ~/Desktop/test/centos7-s2i-nodejs [master|✔]
13:40 $ git tag -l | grep v
v8.9.4-4
v9.4.0-4

IMO would be good to have a changelog.md generation per branch, but without touch in the current release process.

Also I can't find any information related to the usage when "Releasing Branches".

Closing since this is out of date


Data grid column style helper extension memory leak

Describe the changes you have made to improve this project

[x]  CleanWindowDemo: replaced the list view with a data grid in order to demonstrate the memory leak (I can revert this if you want)

[x] Added more error checking for the Attach/Detach methods (e.g. calling detach before attach or attaching the same instance to another grid)

[x] Returning a new instance of the DataGridColumnStylesHelperExtension in the ProvideValue method and left a remark about the issue with returning 'this'

Unit test

[ ] Tests of the Attach/Detach methods could be devised (if necessary)

Additional context
I've used the dotMemory profiler before and after- the CleanWindowDemo is now properly freed from memory (even if the Detach() method is never called)
Closed Issues
Closes #3972

@lipchev your changes have been merged, thanks for your contribution 👍


Should update target JKS/PKCS when password changed

Hi !
I noticed some problems around password for generated p12 and JKS file.
short description:
For JKS you can alway open it with a no password and the password you setup in the bundle
For p12 and JKS if the password is updated after the bundle creation the created resources in destination namespace are not re generated and keep the old password, even if the bundle update it's generation.

Reproduction of the problem

create a bundle with jks and p12 with a password

apiVersion: trust.cert-manager.io/v1alpha1
kind: Bundle
metadata:
  name: my-bundle
spec:
  sources:
    - inLine: |
        -----BEGIN CERTIFICATE-----
        MIIDojCCAYqgAwIBAgIQV5ocp05c1d2ULNLEDrdCpTANBgkqhkiG9w0BAQsFADBH
        MQswCQYDVQQGEwJDSDEnMCUGA1UEChMeQmFucXVlIExvbWJhcmQgT2RpZXIgZXQg
        Q2llIFNBMQ8wDQYDVQQDEwZMTyBEUEkwHhcNMjQwMzA3MDAwMDAwWhcNMjUwMzA3
        MjM1OTU5WjAVMRMwEQYDVQQDEwpnaXRodWIuY29tMFkwEwYHKoZIzj0CAQYIKoZI
        zj0DAQcDQgAEQrPuGOisrWzPTzsVzujNAMvKeM1GRDs18c2N5R6LemewOMjO0Ep1
        yESxF/xn4Zj7tlsTeMT5zz4Li1DQN/K1zKOBhjCBgzAdBgNVHQ4EFgQUO2g/NDr1
        RzTK76ZOPZq9Xm56zJ8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYD
        VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCUGA1UdEQQeMByCCmdpdGh1Yi5j
        b22CDnd3dy5naXRodWIuY29tMA0GCSqGSIb3DQEBCwUAA4ICAQBEaD1pszjmbtjc
        nE0s43FN2oU/S23Wf331M6Ae72F9B3ceqY/X0oPIHsOtpA7gSDOzjs4sNrHq34qn
        q3SRpmiDepmY4Ba2+gXNg5dWeul2e7ht22L/jYR8oT0pGClWkLiveijBT3Veqbxu
        jT3lxYGd1ey20feg4rQIw61GgaZ2dyHjlpj8FrCxSSLnULIM4db+04+2PXbTGl9J
        O+UQzbDI34KoKKWCCvCDFziCTG3rblv3RcGOCUcAXL1WpJIPlhhSYK+Dvv1Op2/C
        bd8LU10GmzZpZ/aR4SZDymggc32xvXEfPSrM36qgDcbg7Vb3mm+uZUgWKHmh1pnA
        1DeiFM9PT9GGN8m5ioMsbYIbNZUUw2jt8Gbz0CWSQlJWAfo0LEbVnIH4TG10m6Ix
        zqDgzL7QYe7XpGqY1LuwNidozLvRUaZkhDud7XlgHYYQwrP4z6/ekawett0LdvSL
        JdSRFvE7pO4K2kXxFr8YzeET0jrZ+JeVX8WYbsfUlo0UdMVnViIFrgbTd8v6Mlev
        kBG18BDEDA8hYS1JsSmpeiy/c/WsIzihgln25RcaaUPZBszu/yQp3WwtNVJojqnF
        16LisgMdnA/1gj801KmoTYUfQFTPVkITGjYVogYGZ1B9FYNwl7ymulCRrVNOzqs/
        G3VnreyXrukwRbMI/MR4ccXl5/n+Hw==
        -----END CERTIFICATE-----
  target:
    additionalFormats:
      jks:
        key: trust.jks
        password: firstpassword
      pkcs12:
        key: certs.p12
        password: firstpassword
    namespaceSelector:
      matchLabels:
        kubernetes.io/metadata.name: infra
    configMap:
      key: configmap-key.pem

From the generated configmap download the jks and p12 and try to read them

keytool -v -list -storetype jks -keystore trust.jks --storepass firstpassword

and
echo "" | keytool -v -list -storetype jks -keystore trust.jks

(this is like entering the command and hit enter when the keytool prompt for jks password)
in both cas the keytool list the jks content.
Is that normal that we can open the JKS with no password (and not empty password) ?
For the p12:
openssl pkcs12 -info -in certs_firstpass.p12 -password pass:firstpassword

update the bundle password

apiVersion: trust.cert-manager.io/v1alpha1
kind: Bundle
metadata:
  name: my-bundle
spec:
  sources:
    - inLine: |
        -----BEGIN CERTIFICATE-----
        MIIDojCCAYqgAwIBAgIQV5ocp05c1d2ULNLEDrdCpTANBgkqhkiG9w0BAQsFADBH
        MQswCQYDVQQGEwJDSDEnMCUGA1UEChMeQmFucXVlIExvbWJhcmQgT2RpZXIgZXQg
        Q2llIFNBMQ8wDQYDVQQDEwZMTyBEUEkwHhcNMjQwMzA3MDAwMDAwWhcNMjUwMzA3
        MjM1OTU5WjAVMRMwEQYDVQQDEwpnaXRodWIuY29tMFkwEwYHKoZIzj0CAQYIKoZI
        zj0DAQcDQgAEQrPuGOisrWzPTzsVzujNAMvKeM1GRDs18c2N5R6LemewOMjO0Ep1
        yESxF/xn4Zj7tlsTeMT5zz4Li1DQN/K1zKOBhjCBgzAdBgNVHQ4EFgQUO2g/NDr1
        RzTK76ZOPZq9Xm56zJ8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHQYD
        VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMCUGA1UdEQQeMByCCmdpdGh1Yi5j
        b22CDnd3dy5naXRodWIuY29tMA0GCSqGSIb3DQEBCwUAA4ICAQBEaD1pszjmbtjc
        nE0s43FN2oU/S23Wf331M6Ae72F9B3ceqY/X0oPIHsOtpA7gSDOzjs4sNrHq34qn
        q3SRpmiDepmY4Ba2+gXNg5dWeul2e7ht22L/jYR8oT0pGClWkLiveijBT3Veqbxu
        jT3lxYGd1ey20feg4rQIw61GgaZ2dyHjlpj8FrCxSSLnULIM4db+04+2PXbTGl9J
        O+UQzbDI34KoKKWCCvCDFziCTG3rblv3RcGOCUcAXL1WpJIPlhhSYK+Dvv1Op2/C
        bd8LU10GmzZpZ/aR4SZDymggc32xvXEfPSrM36qgDcbg7Vb3mm+uZUgWKHmh1pnA
        1DeiFM9PT9GGN8m5ioMsbYIbNZUUw2jt8Gbz0CWSQlJWAfo0LEbVnIH4TG10m6Ix
        zqDgzL7QYe7XpGqY1LuwNidozLvRUaZkhDud7XlgHYYQwrP4z6/ekawett0LdvSL
        JdSRFvE7pO4K2kXxFr8YzeET0jrZ+JeVX8WYbsfUlo0UdMVnViIFrgbTd8v6Mlev
        kBG18BDEDA8hYS1JsSmpeiy/c/WsIzihgln25RcaaUPZBszu/yQp3WwtNVJojqnF
        16LisgMdnA/1gj801KmoTYUfQFTPVkITGjYVogYGZ1B9FYNwl7ymulCRrVNOzqs/
        G3VnreyXrukwRbMI/MR4ccXl5/n+Hw==
        -----END CERTIFICATE-----
  target:
    additionalFormats:
      jks:
        key: trust.jks
        password: secondpassword
      pkcs12:
        key: certs.p12
        password: secondpassword
    namespaceSelector:
      matchLabels:
        kubernetes.io/metadata.name: infra
    configMap:
      key: configmap-key.pem
status:
  conditions:
    - lastTransitionTime: '2024-09-10T14:16:47Z'
      message: 'Successfully synced Bundle to namespaces that match this label selector: kubernetes.io/metadata.name=infra'
      observedGeneration: 1
      reason: Synced
      status: 'True'
      type: Synced

here the status will update in:
status:
  conditions:
    - lastTransitionTime: '2024-09-10T14:16:47Z'
      message: 'Successfully synced Bundle to namespaces that match this label selector: kubernetes.io/metadata.name=infra'
      observedGeneration: 2
      reason: Synced
      status: 'True'
      type: Synced

refresh and download again the p12 and jks from the configmap
Open them again with password (I renamed the file this time with a "second" to avoid conflicts) :
for p12

openssl pkcs12 -info -in certs_second.p12 -password pass:secondpassword
MAC: sha1, Iteration 1
MAC length: 20, salt length: 8
Mac verify error: invalid password?

openssl pkcs12 -info -in certs_second.p12 -password pass:firstpassword <- works

for JKS
keytool -v -list -storetype jks -keystore trust_second.jks --storepass 'secondpassword'
keytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
java.io.IOException: Keystore was tampered with, or password was incorrect
        at java.base/sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:813)
        at java.base/sun.security.util.KeyStoreDelegator.engineLoad(KeyStoreDelegator.java:221)
        at java.base/java.security.KeyStore.load(KeyStore.java:1473)
        at java.base/sun.security.tools.keytool.Main.doCommands(Main.java:954)
        at java.base/sun.security.tools.keytool.Main.run(Main.java:423)
        at java.base/sun.security.tools.keytool.Main.main(Main.java:416)
Caused by: java.security.UnrecoverableKeyException: Password verification failed
        at java.base/sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:811)
        ... 5 more

keytool -v -list -storetype jks -keystore trust_second.jks --storepass 'firstpassword' <- works
echo "" | keytool -v -list -storetype jks -keystore trust_second.jks <- works

Suggestion
For me there is two options:

Re generate p12 and jks on the configMap/Secret target if the password change
Do not give the permission to change the password once the Bundle is create with the operator admission webhook

It seems it was my task.
Can the issue be in that reconcile function doesn't compare old and new password fields?

It seems it was my task. Can the issue be in that reconcile function doesn't compare old and new password fields?

We should probably add a new hash annotation for the truststore password (if any). And reconcile the target if hash doesn't match . Similar to what we do with bundle data.

How is this issue urgent? I can tackle this.

/assign

Hello,
I tried to fix this issue, password changes are reflecting rebuilding of additional formats targets.
However, it brought an issue with Patch of password hash field.

Thanks all for your work ! we will try this soon


add support for specifying type:"number" or [default] type:"text"

Great library!
Right now, input controls default to type='text'.
It would be a nice addition to be able to specify type:'number' in the form model to override the default.

Ah whoops, after looking closer, I see that I just had the wrong syntax, it should be inputType:'number'.
Perhaps it would be good to add this to the example

@jchatkinson Alright, no problem! You're right, the docs need some improvement!


repo cleanup: move deployment-related files into a deploy/ subdirectory

Is your feature request related to a problem? Please describe.
Currently the repo root is quite "wide", and there are a lot of files sitting in the root. Some of these are related to deployments, and it'd be nice to bundle them into a deploy/ subdirectory.
Describe the solution you'd like
(Using / to indicate the repo root, not the filesystem root)

[ ] Create a /deploy/ subdirectory;
[ ] Move /config to /deploy/config;
[ ] Move the /Dockerfile*, /docker-compose*, /.dockerignore out of the repo root into a new /deploy/docker/ subfolder;
[ ] Move /scripts to /deploy/scripts;
[ ] Patch up files so that it's OK for them to not be in the repo root (does this mess up the existing Docker configs, or do we just have to use them differently?)

The moving stuff around part is pretty simple, and I'd otherwise just do it, but I'm not sure whether moving all of the docker-related stuff around will mess it up (cc @zbuc ?)

The specific plan is probably out of date since last April, but it'd still make sense to clean up deployment and config files into a subdirectory.


NRDP

Hey, any support for NRDP?

Not yet? We'll happily pull in a PR for this though!
Until then. I'm going to go ahead and close this issue.
Thanks very much!


Inactive orders

After each hbt.elapse(micros), all hanging orders are marked as inactive and can be removed using hbt.clear_inactive_orders(), right?
I just want to make sure that the elapsing marks orders as inactive because it is intuitive, but I cannot find the part of code that does it.

Orders whose status is CANCELED, FILLED, EXPIRED, or REJECTED are considered inactive orders, while orders that have not been accepted yet are not considered inactive orders(status is NONE).


Fix Upsilon id between xwing-data2 and YASB

I am not sure why we had the other name. Perhaps command was not part of the ship name at first, or perhaps it was just a mistake when the date was entered. I'm a bit hesitant to change it now because it might break consumers of this data (like the Vassal module).

Should this PR be closed since we no longer want to make this change?


Invite collaborators with pre-assigned roles

What we're after: OrganizationManagers can invite users not visible (and potentially not already present in cloud.gov) directly to their spaces with roles pre-set for when the invitation is confirmed.
Benefits/why:

Eliminate the burden for OrganizationManagers to know who is and isn't already a cloud.gov user
Eliminate the delay between having an invitation confirmed and having the new collaborator actually able to work with the team

Potential metrics:

How long does it take for an OrgManager to get a new collaborator set up with the expected roles on one of her spaces?

My understanding from @LinuxBozo is that accounts with a pending invitation exist in the DB and are marked "inactive"... At the API level it may be possible to grant them roles even while they're in the inactive state. It may then be possible to query for them and show them in the UI based on roles that they have on the current space.

Items we previously discussed around this (to be broken out into stories):

Conduct UX research
Do some sketches
Add org, space, roles and permissions to dashboard

cc @thisisdano

For managers: should be able to invite someone via email address and be done.
For users: should be able to quickly accept invitation and get started
One possible problem – users have reported not having a good understanding of roles, so we want to give managers understanding of the impact of the invitations.

This story should include re-building the UI portion of the user management UI in the dashboard as that UI is currently showing incorrect editing states and is very hard to understand and use.

From [@msecret - Marco Segreto]
Add service with user-defined settings
flowchart: https://gsa.invisionapp.com/share/7RB49CEZM#/226617419_add-Service-Flow
mockup: https://gsa.invisionapp.com/share/A7B49BTHU#/209994627_Marketplace-Adv-Default (use arrows to page through; not set up for clicks)
Add user with predefined roles
wireframe flow: https://gsa.invisionapp.com/share/MEB49D2TC#/226320802_add-User-Flow
org users annotated mockup: https://gsa.invisionapp.com/share/UYB49DU6V#/208480409_Org-Users
space users annotated mockup: https://gsa.invisionapp.com/share/ZTB49IIF7#/208480531_Space-Users
Add app to a space
wireframe flow: https://gsa.invisionapp.com/share/6DB3HCSVJ#/226367368_add-App-Flow

https://gsa.invisionapp.com/share/UYB49DU6V#/screens/208480409_Org-Users

Estimated to take 2-3 sprints.

Visual UI work needs to be fleshed out. Existing UX flow exists.
Update current user management UI to existing mockups.
2.5. User test new user management UI.
Develop invite collaborators UI.
User test new UI.
Refine.
Launch.

[@msecret - Marco Segreto]

[@suprenant - Andrew Suprenant] Did I hear something in the quarterly review about the need to do additional work here for invite UX to appear on spaces, as well as orgs? Or was it expected that this functionality is only accessed at the org level?

[@mogul - Bret Mogilefsky] FYI, I'm following up on this now. More soon..

Believe it or not this is once again relevant in 2019 until we have deployed the new version of Stratos.


Fix slime dupe

Before the change:
https://github.com/oddlama/vane/assets/71085027/76c06841-650d-4f8e-a37d-9b4e2917cd7d

Thank you! Good catch!


what's the intuition behind getting q, k and v from embedding

Thank you for the implementation.
I have a question - what's the intuition behind getting q, k and v from the same embedding (models.py#L57) here in layers.py#L20?
Thank you for the answer.

Never mind, I misunderstood. Fig 2 in the paper clarified this.


Scale up analysis to more instances?

Wondering if 4 isn't cutting it? Try 8? More CPU?

thoughts @isoos ?

Didn't you upgrade flutter version recently? If this was released today, the numbers seem to be normal.


🍒[5.8][Concurrency] DiscardingTaskGroup

Description: A discarding task group is a type of structured concurrency task group optimized for long running servers and request handlers; This is defined in SE-0381
Risk: Low, new API, one new runtime ABI method; The TaskGroup is rewritten structurally, but the logic remains all the same and all tests pass.
Review by: @DougGregor
Testing: CI testing
Original PR: https://github.com/apple/swift/pull/62914
Radar: rdar://101965913

@swift-ci please test


Automatic feature extraction

Hi,
In [Goncalves et al., 2020] it is stated that: "SNPE can be applied to, and might benefit from the use of summary features, but it also makes use of the ability of neural networks to automatically learn informative features in high-dimensional data. Thus, SNPE can also be applied directly to raw data (e.g. using recurrent neural networks [Lueckmann et al., 2017]), ...".
The work by [Lueckmann et al., 2017] is related to the method SNPE_B, at least according to sbi documentation, however, in the version of sbi I am currently using (0.16.0), is stated that mentioned inference algorithm in currently not implemented.
Nevertheless, I have been playing around with SNPE (or, more precisely, SNPE_C) and raw data and it seems to work quite well for a very simple example similar to that in brian2 official example directory, available here.
In this example, the Hodgkin-Huxley neuron model is used to test the ability of simulation-based inference and the possibility of integration with brian2. It is based on a fake current-clamp recording generated from the same model that has been used in the inference process. Two of the parameters (the maximum sodium and potassium conductivity values) are considered unknown and are proceed to be inferred from the data.
The first thing I tried is using embedding network as the way to semi-automatically extract relevant features. This embedding network is based on Time2Vec, which is, in a nutshell, a very simple sinusoidal layer:
class SinLayer(nn.Module):
    def __init__(self, in_features, out_features):
        super(SinLayer, self).__init__()
        self.in_features = in_features
        self.out_features = out_features
        self.w0 = nn.parameter.Parameter(torch.randn(in_features, 1))
        self.b0 = nn.parameter.Parameter(torch.randn(1))
        self.w = nn.parameter.Parameter(torch.randn(in_features, out_features-1))
        self.b = nn.parameter.Parameter(torch.randn(out_features-1))

    def forward(self, x):
        linear = torch.matmul(x, self.w0) + self.b0
        periodic = torch.sin(torch.matmul(x, self.w) + self.b)
        return torch.cat([linear, periodic], axis=1)

    def extra_repr(self):
        return (
            f'in_features={self.in_features}, '
            f'out_features={self.out_features}')

class Time2Vec(nn.Module):
    def __init__(self):
        super(Time2Vec, self).__init__()
        self.p1 = SinLayer(in_features, hidden_features)
        self.p2 = SinLayer(hidden_features, hidden_features)
        self.l = nn.Linear(hidden_features, embeddings_size)

    def forward(self, x):
        x = self.p1(x)
        x = self.p2(x)
        x = self.l(x)
        return x

in_features = x.shape[1]
hidden_features = ...
embeddings_size = ...
embedding_net = Time2Vec()

and according to r/MachineLearning commentators is nothing but a "quality case of 'just throw neural networks at it' and is overall just a shitty rehashing of discrete Fourier transforms".
In the original paper for Time2Vec authors use this sine representation of the input just as the additional layer to LSTM or GRU and it seems to produce better results than vanilla reccurent networks, but in the case I've been working on, it does not seem to work well.
Next approach was applying raw data output (generated voltage traces), x, of size (10000, 7000) to SNPE. It works extremely well and is comparable (if not better) than the situation where I have used summary statistics consisted of mean and std of the active potential, number of spikes and maximum value of the membrane potential from generated traces.
The thing that I do not understand is, how is this possible? Am I doing something wrong or this SNPE_C approach is able to automatically extract features from the data even though embedding_net is still set to None.
In [Lueckmann et al., 2017], in subsection 2.3. under Learning Features,  it is stated that in the cases when time-series recordings are directly fed into the network, the first layer of the MDN becomes a recurrent layer instead of a fully connected one. But even with different methods, such as NSF for example, I've been able to obtain good results even though much slower.
The notebook is available here.
Sorry for this long text :grimacing:
refs.
Goncalves et al. eLife 2020; 9:e56261 available online
Lueckmann et al. in proceeding of NIPS 2017 available online

Hi there,
thanks for reading out! I had a brief look at your notebook, I do not think that you are doing anything wrong. A few thoughts:

Both SNPE-B and SNPE-C can "learn informative features in high-dimensional data". Also, the mechanism with which they do this is identical (by adding layers at the beginning of the neural net). So, there's no difference there. Aside: SNPE-C and SNPE-B are identical if you do only one "round" (i.e. if you do not do what is described here )
if you specify embedding_net=None, the embedding network is basically a multi-layer-perceptron (MLP) defined here. So, if this MLP is sufficient to learn informative features of your data, then it will work -- I think this is what is happening in your case.

I hope that helps!
Michael

Yes, it helps, thank you very much.
I still have a few questions.

Does the same thing described in your second point applies to other neural networks (such as nsf for example)?
Do you scale the data that are fed into the network anywhere?
Why is the output of the network ReLU activated (line 62)?
Is there any example where you applied custom embedding network for time series data? I am not sure how the mentioned RNN would need to be defined in order to provide automatic feature extraction given more complex task than the one I've been playing around in the notebook I provided.

Thank you again.
Best,
Ante

Somewhat, yes. In the case of flows, the simulation outputs are added to the activations of the flows and then passed into a resnet. So yes, even with flows, this can work.
By scale, you mean normalize? If yes, then: yes, we do that here. You can turn it off via density_estimator = posterior_nn("mdn", z_score_x=False)
After the relu, there are linear units that map onto the means, stds, and weights of the Mixture of Gaussians, see this file
I have not done this, but you might want to have a look at this

4. I have not done this, but you might want to have a look at this

It is so good to see a paper with <15 pages for a change.
I'll check it out!
Thanks for all the information, really helpful!
Feel free to close this issue now since I am all out of questions :smile:
Best,
Ante


form.validate() returns false and rollback to origin value

For a field of type "int" with options {min:1, max:40, silent:false}. If a user inputs "abc". it is auto corrected  to "".  If a user inputs "500", it is auto corrected to 40. If a user inputs "10.2", it is auto corrected to "10". For all three cases, form.validate() is always "true".
I'd like to suggest an option that for all three cases, there is no auto-correction.  The form.validate() returns false and the value has been rollback to origin value.

Can you share the jsfiddle?

Hi, please check the attached issue2108.zip. There is a 2108.html in unzipped folder. Please start from it.
Originally, I encountered this problem in WKWebkit on MacOS (v11.4).
With the 2108.html, I found the behavior is the same as in the Safari, but with a little bit difference in the Chrome.
The same thing is that form.validate() reports no error in both browsers for invalid values.
Thanks for your help.
Issue2108.zip

I've created a fiddle from your archive: http://jsfiddle.net/t5rvz2oq/
I can/will not look into it, as I don't have a Safari browser.
In Chrome everything seems to be working as expected, plus I cannot even input characters in those integer input fields.

How to easily create a jsfiddle:
Pick one of the w2ui demos that comes closest to the issue, click on "fiddle with code online", modify fiddle as needed. (Currently, for grids, you must select JQuery 3.4 or newer - the preselected JQuery will not work with w2ui 2.0!)

Hi Mike,
Thanks for your help about creating the fiddle page.
Because I am using the w2ui in a native app with WKWebkit on MacOS. In such environment,  the Safari can reproduce the same behavior.
By the way, there is a behavior can be reproduced In the Chrome:

firstly input 40
delete the 40 with backspace
hit ENTER

Then an empty string as a new value will be triggered. If focus field turns to others, then the original focused int field would stay in state of having empty string.

I agree that silent is not logicaly correct. I have remove it and replaced with autoCorrect. Now, if autoCorrect=true, which is default, it will enforce min/max. Also form.validate() will return proper errors when autoCorrect is false. Please not, it is only for min/max. If format is not valid, it will silently correct it (or set to empty string). However, number field will not let you type letters.


Write All Factories In Laravel 8 Pattern

Info

As of now, we are using all factories by legacy support for the Laravel 8. We should implement the class-based factories to reduce the dependency of the legacy support.

Expected Result

All factories should be class-based and follow the Laravel 8 compliant.

Current Result

Currently, all factory is having legacy support.

Is it okay if I handle this task?

Yes of course, we are looking forward to your pull request

Great, I've already started, almost 50% through 🤙🏻


Updated '!hny official' embed to include all social accounts

What was the problem?

Bot embed was listing some old social accounts and there were some other missing.

Changes:

Changed the embed format so it doesn't take that much screen.
Readme was updated to include some ENV variables missing that are necessary for the bot to run.

Before the change:

After the change (run locally):

Great-!
(Those Env vars needed to be listed :+1:)


About SENet module in the middle of patchembed layer

I havent seen any part of the paper mentioned about it. But the source code contains SENet in patchembed layers.
Regarding of my concerns, are those results shown in the paper also benefited from Channel Attention? Are the model parameters also involving SENet?

Sorry, it is in patchmerging layer, not patchembed layer


503 Service Temporarily Unavailable when using Fargate

So I keep following all the instructions here ... it gets created successfully, but whenever I access the externalUrl I get a 503 service temp unavail error.
I'm using an already existing Postgres database hosted on AWS, instead of using the templates. The logs show a connection error with the db. Is there a reason you guys haven't created a aws/postgres.yml version yet? I'm not too familiar with Fargate (yet), so any help with how to connect Prisma to my existing db while using Fargate would be very appreciated.
Thanks in advance for the help!
Btw - would be really great if you guys (the Prisma team) could create a more simple way to deploy Prisma Server on AWS. Maybe could add something to the cli?

I am having this same issue with MongoDB, we are using Atlas to host our MongoDB clusters. Any support here @prisma???

Couple of things that have killed my day but hopefully will help someone else that comes across this:

You need to set the SSL flag to true. This isn't in the database connector for some reason, but the top level prisma config... jesus. It's a postgres specific flag. anyway. I also added the connectionLimit but i'm guessing that's optional?

          Environment:
            - Name: PRISMA_CONFIG
              Value: !Sub
                - |
                  port: 60000
                  managementApiSecret: ${ManagementApiSecret}
                  databases:
                    default:
                      connector: ${DbConnector}
                      host: ${DbHost}
                      port: ${DbPort}
                      user: ${DbUser}
                      password: ${DbPassword}
                      connectionLimit: ${DbConnectionLimit}
                      migrations: true
                      ssl: true
                  ssl: true

This template sets up a non-SSL public endpoint to your prisma server. I would convert that to SSL. It involves having a cert and a CNAME but you should certainly protect the traffic on the public net side of things.

CNAME

@haruska First time with AWS Fargate and my deployment fail with a "ROLLBACK_COMPLETE" status, without more detail. Is this because I didn't set up any SSL cert ?

Having the same issue with mySQL, I tried adding the ssl param but nothing changed? Anyone found a solution to this?

I have the same issues and this is the way how to solve it:
I used PostgreSQL on RDS, for the first deploy, I forgot to allow IP of Fargate to connect that database. Then I check my security group of that RDS, make sure security group allow any IP to connect that database(just for testing, I have changed to Fargate ip created for security )

And this is my fargate.yml for PostgreSQL
fargate.zip
Now everything is working fine.
This is result:

adding HealthCheckGracePeriodSeconds: 30 in AWS::ECS::Service will be the solution. Check my template.
https://github.com/tonyfromundefined/prisma-cloudformation

I am having this same issue with MongoDB, we are using Atlas to host our MongoDB clusters. Any support here @prisma???

@dan003400 I'm also in the same situation. We also have MongoDB hosted on Atlas. Did you ever figure out the right config?

For mongodb atlas you need to perform few changes in template.
`

|
port: 60000
managementApiSecret: ${ManagementApiSecret}
databases:
default:
connector: ${DbConnector}
host: ${DbHost}
user: ${DbUser}
password: ${DbPassword}
uri: ${DbUri}
migrations: true
- {}
`

This has worked fine for me.


Group balance based on skill, knowledge, etc.

An enhancement to consider is a balanced Boolean flag or whatever variable name to group people so the groups would be more balanced based on a rating (1 to 5) for each person. This rating could be based on skills, knowledge, etc.
For example, in sports, we want the teams to be more balanced based on skills instead of all the best players being on the same team.
Another example is for a classroom project, we want the more knowledgeable students and less knowledgeable students for that particular topic to spread across different groups.
Their ratings (1-5) could be to the end of their names separated by a space or use a regex pattern for the format.

Thanks! This is a neat idea but it's beyond the scope of what I'd like this tool to do. That said, it's MIT-licensed so you or anyone else could always fork the repo and add that feature yourselves!


Improve the overall performance of the plugin

This PR intends to improve performance of the plugin significantly,
Changes:

Cached reflection calls in NBT
Async loading / saving of inventories
Cleaned up some code formatting for readability
Add PaperLib as a dependency, utilize async chunk loading when teleporting players where possible.

I've yet to test this, will do so tomorrow; Leaving this open for "review"

@md5sha256 Do you allow me to includes your changes into my own fork and share them, in such a way that the jar file is downloadable and usable? Thanks!

@md5sha256 Do you allow me to includes your changes into my own fork and share them, in such a way that the jar file is downloadable and usable? Thanks!

Sure, although I would advise more extensive testing. This is currently on use on a production server and there do not seem to be issues.

Sure, although I would advise more extensive testing. This is currently on use on a production server and there do not seem to be issues.

Sure, although I would advise more extensive testing. This is currently on use on a production server and there do not seem to be issues.

Sure, although I would advise more extensive testing. This is currently on use on a production server and there do not seem to be issues.

Need this!

Need this!

Need this!

https://github.com/Aurelien30000/Inventory-Rollback/releases/tag/1.5.0 Feel free to use my own that includes this.
All the other changes I made are about code format and "logic", so don't worry ;)

Need this!

https://github.com/Aurelien30000/Inventory-Rollback/releases/tag/1.5.0 Feel free to use my own that includes this.
All the other changes I made are about code format and "logic", so don't worry ;)

Sure, although I would advise more extensive testing. This is currently on use on a production server and there do not seem to be issues.

Right, two small issues fixed here (NPEs) https://github.com/Aurelien30000/Inventory-Rollback/commit/8c5281ba2e90af1cd66879181b141744f3adfc5f ^^

Any updates on this?

Not especially, go to my github page and download it from the actions page if you wanna use it ;)


extensions/ext: Make get_calibrated_timestamps() return single value for max_deviation

Per spec max_deviation is a single value, and not a vector.
Closes https://github.com/ash-rs/ash/issues/737

Can you make the changelog entry similar to the changed title? And do you want this to be backported to 37.3, in which case we need to deprecate the current function and add one with the updated function signature?

I'm fine not backporting this to 0.37 for now.


Release NPM package

Currently this packages isn't released.
This issue is just to keep track of the release.

First version is already released: https://www.npmjs.com/package/@dbsystel/v-quicksight


docker container doesn't build and most of the py scripts dependency nightmares...

After spending 3 days trying to get all my python packages and versions exactly right to try and train this thing... I can't get pass the preprocessing -- it just uses too many out of date or weird versioned packages and no matter how many yak's I shave, there's always more...

Removing intermediate container 265c8652f296
 ---> d60c47168557
Step 4/10 : RUN apt-get install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools wget git vim
 ---> Running in 36590d3a3516
Reading package lists...
Building dependency tree...
Reading state information...
Package libav-tools is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
However the following packages replace it:
  ffmpeg

E: Package 'libav-tools' has no installation candidate
The command '/bin/bash -c apt-get install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg libav-tools wget git vim' returned a non-zero code: 100

Try removing the libav-tools package from the Dockerfile since as it says the message says ffmpeg replaces it.
Change line 5 of docker file to:
RUN apt-get install -y libasound-dev portaudio19-dev libportaudio2 libportaudiocpp0 ffmpeg wget git vim


Change documentation theme

Any idea of LGTM error which makes this PR to be merged forcedly?

It is complaining about unused import in conf.py.


BUGSNAG_NOTIFY_RELEASE_STAGES is ignored

// config/bugsnag.php
...
'notify_release_stages' => env('BUGSNAG_NOTIFY_RELEASE_STAGES', ['production']),
...

// .env
APP_ENV=local
APP_DEBUG=true
...

Though I'm on the local env I still see errors reported to bugsnag.com

Ok, my bad! :) ... I had to restart the server in order to pick up the new env variables; previously I had it set to 'production' (as a string) and I saw it needed it to be an array.


[Bug]: Production and Staging environments should not be having checkboxes to enable Edit and Delete permissions.

Is there an existing issue for this?

[X] I have searched the existing issues

Description
In the roles page, there are checkboxes for Prod and Staging to enable Edit and Delete on these environments. However, this is not possible, as Prod and Staging are shipped with the product, and users cannot edit or delete them. So these checkboxes should be removed.
Steps To Reproduce

Public Sample App
No response
Environment
Deploy Preview
Issue video log
No response
Version
Cloud

@parth-appsmith please take a look into this