text:
Remove Python 3.10 support

We can not support Python 3.10 since the Neo4j Bolt driver does not support 3.10 and we heavily rely on it. The problem surfaced when using encrypted connections to the server where we ran into https://peps.python.org/pep-0644/

 [PF] Find out flaky python client


text:
Suggestion: RSpec matchers, possibly separate gem?

Can we think of any matchers specific to this library and Neo4j as a whole that might be worth including in this gem or a separate one? @michaeldelorenzo on Slack asked about have_many, like:
 it { should have_many(:other_things) }

Can we think of others? Would they be helpful?

I'm using RSpec and shoulda matchers in my project....
The ones I've already come across being useful are ones similar to those you might use to check associations with ActiveRecord:

have_many
have_one

Of course checking the type of the relationship, how #class_name works and probably the direction :in or :out.

It'd be nice to check indexing status on properties.

We were just talking about this today. How timely :) /cc @cheerfulstoic

track_modifications
define_property
define_constraint

Sounds like this should be shoulda-matchers-neo4j or neo4j-rspec analogous to: https://github.com/mongoid-rspec/mongoid-rspec

Indeed!  track_modifications is for making sure that a created_at and updated_at exist.  I think we'd definitely want a define_index.
A neo4j-rspec-matchers gem would be great and probably an easy project for somebody to pick up :wink:

For ActiveRel I also imagine we might have some matchers.  come_from_model and lead_to_model
For associations yeah, direction is definitely a thing.  Maybe something that checks that an ActiveRel model is attached.  Maybe something that checks that any relationship type is allow.

I've created new repo https://github.com/sineed/neo4j-rspec.
I'm new to Neo4j and I find it a good attempt to learn and help community. I've already implemented have_many matcher.
I will continue to add new matchers if nobody minds.

This is great @sineed , thanks!  I've actually got a half finished PR for this repo with some extra matchers.  Look for that soon

For anybody else reading this thread, I submitted a PR to add define_property, define_constraint, track_creations, and track_modifications matchers

source: gharchive/issue

authors: andrewhavens cheerfulstoic leviwilson michaeldelorenzo sineed subvertallchris

license: mit

license_type: permissive

license_source: bigquery


text:
How to use eslint configuration?

After a fresh install I can see that the prettier.eslintIntegration option is gone. So I've a difference between how mi code is formatted and how my code is linted.
Is there a way to make prettier work using the eslint rules again?
Thanks

You have to install prettier plugin with prettier used by coc-prettier and configure it https://github.com/neoclide/coc-prettier#plugins

authors: abidibo chemzqm

repo: neoclide/coc-prettier

license: MIT

license_source: github-api


text:
Q: Whether it would be possible that the expensive opearation is called twice (or more) for multithread

When checking the source code of Cached.GetOrCompute, it seems like we only do a very simple tryget or compute, without any synchronization. Will this result in multiple invocation of the expensive method?

Hello @taooceros
Locking onto the key would surprise the users as it is not the default behavior of the most popular caching libraries in C#. Additionally, it would incur overhead that goes against the design of this library (reads and writes are guaranteed to be lock-free and wait-free).
It would still not guard against multiple execution paths racing the computation of the value to store in the cache, since the cache can be accessed via Cached.GetOrCompute(..), Cached<V>.TryGet(...) and CachedRange<V>.Save(...).
In the case where you would like to ensure only exclusivity of cache value computation, this would have to be done in the user code.
Here's a snippet I wrote some time ago that prevents cache stampeding on a load test and provides the behavior you're looking for:
https://gist.github.com/neon-sunset/767cb0693c3ff222f78b236c9904a3fc#file-aspnetcoreexample-cs-L11-L40

Hi, thanks for the detailed explanation! I am ok with the behavior as the method I am executing is a api request.
However I am a little bit concerned about the GetOrAdd method, as the name kindly implicitly suggests that it will only execute the delegate once, as our library are supposed to be thread safe. It might be possible that someone put a non thread safe delegate and results into data race error. I am very surprised that this is the default behavior of most c# caching library.
I personally advocate lockfree algorithm a lot, and thanks so much for such an interesting library.

Thread-safety of delegate is not related to caching. In fact, standard ConcurrentDictionary<K, V>.GetOrAdd(key, factory) can and will race, with the factory delegate completing the execution last overwriting the value with of prior execution result.
If the code cannot be executed by multiple threads simultaneously, it means it it requires explicit synchronization, since the libraries that deal with caching or Concurrent collections cannot know this and are made for multi-threaded scenarios.

@taooceros Does this address your initial concern? Let me know if you have any other questions.

Thanks for explaining.

authors: neon-sunset taooceros

repo: neon-sunset/fast-cache


text:
embedding neovim in Claws-mail

Hello,
recently I switched from Emacs to Vim and use it as external editor in Claws-mail by having the following line in Preferences:
gvim '+set filetype=mail' -f --socketid %w %s

Now, I'd like to switch to Neovim and after having some chat in #neovim, was advised to ask here if Neovim could be embedded into Claws via python-gui?

--socketid is a feature shipped with some gtk versions of gvim.  http://vimdoc.sourceforge.net/htmldoc/gui_x11.html#gui-gtk-socketid It implements GtkSocket interface which can be embedded in other GTK apps (such as Claws).
It appears pygtk has some support for this: http://www.pygtk.org/pygtk2reference/class-gtksocket.html

This is definitely doable, just someone needs to put in the work to either refactor the python-gui to a widget + a command line interface to accept the socket id or (larger effort, but more widely usable) implement a nvim Gtk widget in C, possibly using @tarruda:s libmpack (I would imagine the widget taking an address/fd and communicate with nvim via gtk:s event loop, this usecase shouldn't need python-gui:s awkward two-thread indirecton).
Minor nit: we are using Gtk3 (and thus aren't constrained by what pygtk supported) but I would suppose the socket protocol to be the same (thin wrapper around XEmbed?).

Python 3 + Gtk 3 + gi still work well with Gtk.Socket and embedding vim. This is however a dying tech, only supported on X and not when using wayland.

authors: bfredl bluss gour justinmk

repo: neovim/python-gui


text:
perf: Small decoder optimizations:

Use an instruction cache key that reduces actual decoding times
Cache mop instructions as well as raw instructions. Though this put both instruction types in the same cache, I don't think this will cause any problems.

The goal here is to boost performance gained by mop for larger contracts, while keeping negligible performance difference between mop and non-mop version for secp256k1. Per my test, this would boost the performance running halo2, while keeping <0.05ms runtime difference for secp256k1 benchmarks.

((pc & 0xFF) | (pc >> 12 << 8)) as usize % INSTRUCTION_CACHE_SIZE

This optimization looks clever, how did you come up with it?

((pc & 0xFF) | (pc >> 12 << 8)) as usize % INSTRUCTION_CACHE_SIZE

This optimization looks clever, how did you come up with it?

The original inspiration comes from a manual trace of cache eviction, I notice a pattern that the code in memcpy is decoded many times, then I noticed a frequent jump to memcpy and back. It reminds me of bochs paper I read before, which also uses a trace cache index formula involving both higher address and lower address.
After that, it's just many different tries till I found out that 12 and 8 gives the best result on both halo2 and secp256k1.
I actually leave a comment explaining the rationale, and that the number comes from "empirical evidence".

Also, it's worthwhile to look into similar optimization on trace key calculation in ckb, which is on my list next.

It does seem this will affect more than we originally thought, I will close this PR and create a new one that only includes the cache key calculation part.

source: gharchive/pull-request

authors: mohanson xxuejie

repo: nervosnetwork/ckb-vm


text:
feat(common-scripts): support omnilock ETHEREUM mode and SECP256K1_BLAKE160 mode

Description
Omnilock has become a very commonly used lock on CKB chain. This PR supports two most frequently used Omnilock features: ETHEREUM mode and SECP256K1_BLAKE160 mode, so that users can transfer CKBs from an omnilock very easily.
Usage:
import { common, omnilock } from '@ckb-lumos/common';

let txSkeleton = TransactionSkeleton({ cellProvider: indexer });
const fromLock: Script = omnilock.createOmnilockScript({
  auth: {
    flag: 'ETHEREUM', // or 'SECP256K1_BLAKE160'
    content: '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee'
  }
})

const fromAddress = helpers.encodeToAddress(fromLock);
// another address
const recieverAddress = "ckb1qyqrdsefa43s6m882pcj53m4gdnj4k440axqdt9rtd";

// transfer 10000 CKB
txSkeleton = await common.transfer(
  txSkeleton,
  [fromAddress],
  recieverAddress,
  10000e8
)

txSkeleton = common.prepareSigningEntries(txSkeleton)
const message = txSkeleton.get("signingEntries").get(0)!.message;
// use your own sign method
const sig = personalSign(message, ALICE_PRIVKEY);
const omnilockSig = bytes.hexify(
  omnilock.OmnilockWitnessLock.pack({ signature: sig })
);
const tx = sealTransaction(txSkeleton, [omnilockSig]);
const hash = await rpc.sendTransaction(tx, "passthrough");

Fixes #398 (issue)
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

[x] debugger test
[x] example (use ts-node to run it on testnet)

please add test to pass the coverage checking

authors: homura zhangyouxin

repo: nervosnetwork/lumos


text:
使用默认阴影方案时，不能够往窗口里拖拽文件

亲爱的开发组，你们好！
在cef工程例子里，设置kEnableOffsetRender = true后，网页无法收到drop事件。
我尝试为窗口增加WS_EX_ACCEPTFILES，网页依然没有办法捕获这个drop事件(程序里能收到WM_DROPFILES消息)。请问这种需求应该怎么处理呢?

你可能需要将控件接收到的消息转发到 CEF，参考：https://github.com/netease-im/NIM_Duilib_Framework/blob/master/ui_components/cef_control/control/cef_control_ui.cpp#L172
另外如不是特殊需求，建议使用真窗口模式儿不是离屏渲染模式。

收到！！由于项目时间紧张，我们最后还是选择了离屏渲染模式和处理windows消息。因为我们需要调整边框大小，还有，cef窗口前置时，鼠标在窗口外需要收到键盘消息。离屏渲染模式可以来之即用。

authors: lsaejn nmgwddj


text:
[Feature] move client GUI to a subroute

Is your feature request related to a problem? Please describe.
At the moment the Crownlabs dashboard is not on a subroute, this means that it is not easy to add new resources or new routes just by acting on the client code.
Describe the solution you'd like
Move the entire code in a subroute, exploiting properties basename of react-router and publicPath of Webpack.
Additional context
The change should be pretty easy, it requires to first decide the new route and then change also the ingress code. This is a good solution example for the client implementation

Closing, as addressed by the new frontend

repo: netgroup-polito/CrownLabs


text:
CI tests are randomly failing

The tests seem to work locally, but in CI they fail randomly.

They were actually canceled, not failing. Fixed by #855.

repo: netlify/cli


text:
CODEOWNERS update 202206

NOTICE: If this pull request does not apply to your repository, please reach out to #internal-security-n-compliance. Please review and merge this PR to update the CODEOWNERS file to include the recently standardized team names

@dustincrogers please reword the commit message to satisfy our conventional commit message guidelines. This is required to get the PR over the finishing line 🏁
You can reword to: chore: update CODEOWNERS to include new team names

authors: dustincrogers lukasholzer


text:
'Welcome to Netlify' operation fails on first step

On the Welcome to Netlify quick start web page, After clicking the button: [Connect to GitHub], psge:

https://app.netlify.com/start/deploy?repository=https://github.com/JavaEden/OrchidStarter

The app. opnens a page adn reports that the app. is authorised.  There are no buttons on that page and no menu or indication of what to do next.

https://api.netlify.com/auth/done?code=XXXXX&state=zzzzzzz

Nothing has been created in github, etc.
Step #2 on the Welcome to Netlify page states that, I should configure my site.  In that sense I had expected to see something created under my GitHub account or at least something to download and for me to do an edit or configure.
From what I can tell, the operation has not produced a result.
Describe the bug
As stated above the Welcome to Netlify has failed to produce/perform any result/its apparent function.
To Reproduce
Steps to reproduce the behaviour:

Welcome to Netlify

https://app.netlify.com/start/deploy?repository=https://github.com/JavaEden/OrchidStarter

Click on '[Connect to GitHub]' button
Allow the app to open GitHub or check
A authorize screen appears
Check your git hub account

nothing has happened.

Expected behavior

Expected a project to be created or
Some further steps to follow in order to be able to configure my project.

Screenshots
(none)
Applicable Versions:
(not applicable)
CMS configuration
(not applicable)
Additional context

running firefox standards based browser

Although the starter you mention includes Netlify CMS, that repo isn't being maintained by the development team. It seems highly unlikely that this issue is caused by the CMS. Try asking your question in the community forum.

authors: aplatypus tomrutgers

repo: netlify/netlify-cms


text:
Markdown renderer crashes CMS from 2.9.2 onwards

Describe the bug
The Markdown renderer crashes the CMS in some cases, from netlify-cms@2.9.2 upwards (currently 2.9.6), but doesn't in 2.9.1
I can reliably reproduce the issue by adding a newline and an image reference, see attached screen recording.
To Reproduce
config.yml
backend:
  name: test-repo

media_folder: "site/static/img"
public_folder: "/img"
site_url: "https://example.com"
logo_url: "https://placekitten.com/200/200"

collections:
  - name: "post"
    label: "Blog Posts" # Used in the UI
    label_singular: "Blog Post"
    description: "Articles"
    folder: "site/content/post"
    create: true
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    fields:
      - {label: "Layout", name: "layout", widget: "hidden", default: "post"}
      - {label: "Title", name: "title", widget: "string"}
      - {label: "Publish Date", name: "date", widget: "datetime"}
      - {label: "Body", name: "body", widget: "markdown"}

admin/index.html
<!doctype html>
<html>
<head>
  <meta charset="utf-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Content Manager</title>
</head>
<body>
<!-- Include the script that builds the page and powers Netlify CMS -->
<script src="https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js"></script>
</body>
</html>

Then create a new item in the collection with the following markdown including ONE newline above the image (GitHub seems to strip the newline):

![Kitty Cat](https://placekitten.com/640/480)

One newline above seems to trigger the error, while zero or two newlines does not.
The error is:
"Error: Incorrectly eaten value: please report this warning on http://git.io/vg5Ft
    at https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:275:1183
    at E (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:275:1276)
    at s.<anonymous> (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:802:28196)
    at s.tokenizeBlock (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:275:358)
    at s.e.exports [as parse] (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:289:217)
    at Function.E.parse (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:240:11556)
    at T (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:65:85083)
    at t.markdownToHtml (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:65:85779)
    at l (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:802:69937)
    at Jo (https://unpkg.com/netlify-cms@2.9.6/dist/netlify-cms.js:151:53042)"

Expected behavior
Cute kitten shown.
Screenshots
(Screen recording will load below):

(screen recording will load above)
Applicable Versions:

Netlify CMS version: 2.9.2 upwards
Git provider: n/a
OS: macOS
Browser version: chrome (75.0.3770.100 (Official Build) (64-bit)) and safari 12.1.1 (14607.2.6.1.1)
Node.JS version: v8.16.0

CMS configuration
See above
Additional context
See above

Looks like the same as #2421. Should also be resolved by #2402, I guess.

Damn sorry @marcojakob , I did search but didn't see #2421. It does look the same. I'll add a comment to #2421 with my workaround (i.e. downgrade) and close this as a duplicate of #2421.

Interesting, I found a newline following frontmatter to crash the CMS as far back as I could go, well before 2.0. Are you certain it worked in 2.9.1?
Sent with GitHawk

@erquhart I'm referring to a newline within the markdown body. It sounds like your issue is slightly different. Yes, downgrading to 2.9.1 reliably fixes my issue (and presumably @marcojakob's). See the screen recording above.

We're referring to the same issue, a newline following the frontmatter. I fixed it just recently for a post in the Gatsby starter: https://github.com/netlify-templates/gatsby-starter-netlify-cms/commit/a1d1830e2b6eddddd15ba316423a3683ae8af26e
Sent with GitHawk

You can try it in the demo from 2.9.1: https://5cae562f07575f0008d96910--cms-demo.netlify.com/#/collections/posts/new
Sent with GitHawk

authors: cunneen erquhart marcojakob


text:
Custom Preview: this.props.getAsset(image) is returning a promise after version 2.10.0

Describe the bug
I followed the docs to create a custom image. But the
<script src="https://unpkg.com/netlify-cms@^2.0.0/dist/netlify-cms.js"></script>
<script>
var MyPreview = createClass({
  render: function() {
    var entry = this.props.entry;
    var image = entry.getIn(['data', 'image']);
    var bg = this.props.getAsset(image);
    return h('div', {},
      h('img', {src: bg.toString()})
    );
  }
});

CMS.registerPreviewTemplate("test", MyPreview);
</script>

But the this.props.getAsset is returning a pending promise and the toString() will then give [object promise] thus the image is not displayed in the Preview.
Expected behavior
The result of the promises is needed to preview the image
Applicable Versions:

Netlify CMS version: 2.10.3, 2.10.4

Is is working a expected until version 2.10.0
CMS configuration
collections:
  - name: "test"
    folder: "site/content/test/"
    create: true
    slug: "{{year}}-{{month}}-{{day}}-{{slug}}"
    fields:
    - label: "image"
       name: "src"
       widget: "image"

Additional context

This is an intentional breaking change we haven't documented yet (coming soon). It was done as a part of https://github.com/netlify/netlify-cms/pull/2958 as the previous version of getAsset was dependant on having the image published to the site for the CMS to display it.
You can see here how built in CMS components use it.

authors: erezrokah hesstobi


text:
Dark mode 🌙

Based on the design in #2557, and leveraging our existing theme, create a new theme that uses dark colors to support dark mode. I will be updating this CodeSandbox with a demo of how this might work.

Note: We should default to use the users preferences using the new prefers-color-scheme.
I.e. window.matchMedia("(prefers-color-scheme: dark)").matches

[x] Add dark theme
[ ] Test code
[ ] Open a pull request

This is awesome work! I love it!

authors: austincondiff reimertz


text:
feat(netlify-cms-widget-markdown): add headings dropdown #1851

Summary
Added headings dropdown to allow 1-6 heading selection in markdown widget.

Fixes #1851
Test plan
I tested this by running it locally. I also tested adding/removing the buttons option in the configuration.

#hacktoberfest

Please can someone merge this. It doesn't make sense that this feature didn't just come with the edit. I really appreciate the work @zacharysierakowski

Thanks for hitting this @zacharysierakowski! So sorry for the delayed review. It looks like markdown mode is broken - I did the following:

Enter some text in the markdown widget
Set to level 5 heading (might happen with any level, not sure)
Flip the markdown toggle in the top right corner of the widget

I'm getting an error o is not a function.

I hope someone will be able to fix it.
This option will be a must have 👍.

I tried to fix the problem in https://github.com/netlify/netlify-cms/pull/2879

Superseded by #2879.

authors: brentrobbins chrfritsch erquhart willdante zacharysierakowski


text:
Update WebSocketIndexPageHandler.java

The code  'GET.equals(req.method())'
Motivation:
calls to .equals() where the target and argument are of incompatible types.
Modification:
GET.toString().equals(req.method().toString()
Result:
Fixes #.

@huihaoweishui let me know once you addressed my comment and I will have a look again

authors: huihaoweishui normanmaurer

repo: netty/netty


text:
Add #ifdef statements so the compilation of the native code not fails…

… on MacOS
Motivation:
b818852cdb0ee56ce3cf939e2faa538d519baabd added support for IP_RECVORIGDSTADDR but did not include any #ifdef statements to ensure its usable at all (which is not the case on MacOS).
Modifications:
Add #ifdef statements to check for IP_RECVORIGDSTADDR.
Result:
Compilation works again on MacOS.

Let me merge this so the build works again on macOS.


text:
"async void" method with UniTask causing OperationCanceledException every frame.

        public async void FailMethodAsync()
        {
            var cts = new CancellationTokenSource();
            cts.Cancel();
            var ct = cts.Token;
            await UniTask.Delay(100, cancellationToken: ct);
        }

The code above is causing OperationCanceledException every frame. It's 100% reproducable in Unity 2018.3.4f1. If I use async UniTask for return signature, this odd behaviour is not happening.
I hope the stacktrace below would help to fix this buggy behaviour.
OperationCanceledException: The operation was canceled.
UniRx.Async.Internal.ReusablePromise.GetResult () (at Assets/Plugins/UniRx/Scripts/Async/Internal/ReusablePromise.cs:34)
UniRx.Async.Internal.ReusablePromise.UniRx.Async.IAwaiter.GetResult () (at Assets/Plugins/UniRx/Scripts/Async/Internal/ReusablePromise.cs:46)
UniRx.Async.UniTask.GetResult () (at Assets/Plugins/UniRx/Scripts/Async/UniTask.cs:58)
UniRx.Async.UniTask+Awaiter.GetResult () (at Assets/Plugins/UniRx/Scripts/Async/UniTask.cs:225)
Editor.Windows.UtilityPanel+<FailTask8>d__12.MoveNext () (at Assets/Scripts/Editor/ServicesWindow/UtilityPanel.cs:174)
--- End of stack trace from previous location where exception was thrown ---
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () (at <ac823e2bb42b41bda67924a45a0173c3>:0)
System.Runtime.CompilerServices.AsyncMethodBuilderCore+<>c.<ThrowAsync>b__6_0 (System.Object state) (at <ac823e2bb42b41bda67924a45a0173c3>:0)
UnityEngine.UnitySynchronizationContext+WorkRequest.Invoke () (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnitySynchronizationContext.cs:112)
UnityEngine.UnitySynchronizationContext.Exec () (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnitySynchronizationContext.cs:73)
UnityEngine.UnitySynchronizationContext.ExecuteTasks () (at /Users/builduser/buildslave/unity/build/Runtime/Export/UnitySynchronizationContext.cs:94)

This also happens for me if I exit play mode in the editor while awaiting something, e.g.
using UnityEngine;
using UnityEngine.UI;
using UniRx.Async;

public class Test : MonoBehaviour
{
	public Button button;
	async void Start() => await button.OnClickAsync();
}

It logs the exception to the console every frame even though I'm not in play mode any more. It used to only log the exception once, but after updating from 2018.3.2 to 2018.3.7, it happens every frame until i recompile or restart Unity.

Looks like this isn't specific to UniRx. It's reproducible using System.Threading.Tasks as well.

solved in https://github.com/Cysharp/UniTask/issues/12

authors: JamesKim2998 neuecc zvinless

repo: neuecc/UniRx


text:
Unify typing of metric_stats

metric_stats has a variety of types: Any, list[MetricStats], Optional[list[MetricStats]]. I'd like to work on unifying them. Two things I'd like to know:

If metric_statsis empty, is it None or an empty list?
Is its type always list[MetricStats]? Are there any exceptions?

I think it's safe to assume that the type is always list[MetricStats]!

repo: neulab/ExplainaBoard


text:
Fix typo

'boolaen' => 'boolean'

Thanks, can you add a test that will use this code path?

Just to be more clear.
If you add a test, because Travis will run them, I can just merge the pull request without having to locally copy, write the test and run it.
I believe that reqlite will keep growing, and the more test the better :)
I'll write more info on how to write a test, but it's pretty simple
  it('<function tested> - <num of test>', function(done) {
    var query = <your query>
    compare(query, done);
  });

It will run the query against reqlite and rethinkdb and compare the output.
If you generate a random result, you can apply a transformation to the result before comparing the output by providing a function as the third argument of compare.
Something like this:
  it('<function tested> - <num of test>', function(done) {
    var query = <your query>
    compare(query, done. function(result) {
      // transform result, for example delete a field.
      return result;
    });
  });

Merged.
I wrote the tests since there wasn't any guidelines for pull requests before :)

Okay, thanks.

authors: neumino rclai

repo: neumino/reqlite


text:
Would SparseML support YoloV5 segmentation soon or at all ?

Is your feature request related to a problem? Please describe.
I am amazed with SparseML but it only support hand full of model like classification Keras, object detection Yolo etc.
Describe the solution you'd like
I would like to have SparseML support other model likes Instance Segmentation YoloV5 or TFlite Maker or other Segmentation/Semantic Segmentation frameworks
Describe alternatives you've considered
None
Additional context
I use a bunch of models together like prediction, object detection, segmentation for the research of selecting good Orange/Chili in Vietnam :)
Thank you.
Steve

Hi @thusinh1969 we don't have official support for yolov5 instance segmentation, however we do have support for yolov8 segmentation.  Take a look here and let me know your thoughts: https://github.com/neuralmagic/sparseml/tree/main/src/sparseml/yolov8

Hi @thusinh1969 we don't have official support for yolov5 instance segmentation, however we do have support for yolov8 segmentation. Take a look here and let me know your thoughts: https://github.com/neuralmagic/sparseml/tree/main/src/sparseml/yolov8

There is a problem:
pip install sparseml[ultralytics]

sparseml.ultralytics.train --help
bash: sparseml.ultralytics.train: command not found...

Hi @flyzxm5177 can you try using sparseml-nightly[ultralytics] instead?  yolov8 support is on our 1.5 release (currently in nightly)

Hello @flyzxm5177
As it's been some time with no further comments, we are going to go ahead and close this issue. If you would like to continue the conversation, please re-open the issue.
Thank you!
Jeannie @ Neural Magic

repo: neuralmagic/sparseml


text:
Tests work against the remote neuromation/base image, not the one freshly built

See failure https://github.com/neuro-inc/neuro-base-environment/pull/130/checks?check_run_id=1320317224
Step N:
...
Successfully built 89e4b7142247
Successfully tagged neuromation/base:built

Step N+1:
Run make image_pip_list
docker run --tty --rm neuromation/base pip list
Unable to find image 'neuromation/base:latest' locally
latest: Pulling from neuromation/base
7ddbc47eeb70: Pulling fs layer
c1bbdc448b72: Pulling fs layer
...

not actual

authors: YevheniiSemendiak artemlops

repo: neuro-inc/neuro-base-environment


text:
[MNT] Delete leftover copy of add_data_to_graph.sh

See https://github.com/neurobagel/recipes/pull/23

Changes proposed in this pull request:

add_data_to_graph.sh in this repo merged with same script in https://github.com/neurobagel/recipes

Checklist

[ ] PR has an interpretable title with a prefix ([ENH], [FIX], [REF], [TST], [CI], [MNT], [INF], [MODEL], [DOC]) (see https://neurobagel.org/contributing/pull_requests for more info)
[ ] PR has a label for the release changelog or skip-release (to be applied by maintainers only)
[ ] PR links to GitHub issue with mention Closes #XXXX
[ ] Tests pass
[ ] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions.

Pull Request Test Coverage Report for Build 8332991764
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.785%

Totals

Change from base Build 8193778627:
0.0%

Covered Lines:
929

Relevant Lines:
931

💛  - Coveralls

authors: alyssadai coveralls

repo: neurobagel/api


text:
Consider recommending dcm2bids for data processing / preparation

Based on our experience with BIDSification by @danyluik at the Douglas it seems that dcm2bids is a bit easier to follow than heudiconv  - both in terms of docs and process for someone new to both processes.
We should

[ ] point to dcm2bids in our docs when we talk about BIDSification
[ ] discuss if we want to start recommending / providing guides for dcm2bids over heudiconv

Maybe @danyluik you can pitch in and mention what your experience has been like with these tools.
Any thoughts @michellewang and @nikhil153 ?

For sure:
On the heudiconv front, I found I had to bounce through a bunch of different tutorials to get it working. Tutorials generally only had instructions for Docker vs. Singularity. Also a bit clunky if you're tinkering with your heuristic and testing as you go: it creates a hidden .heudiconv folder for each subject/session that stores info on your past conversions, which it'll default to if you don't explicitly delete it before running a new conversion (a bit annoying on one hand, and something someone could potentially miss on another - I definitely did until I figured it out :) )
dcm2bids - super straightforward, the main docs page was easy to follow. Would also echo that it's super beginner friendly (i.e., starts all the way back at making a conda environment). If you're pointing any given user to a converter, I'd definitely recommend it.

Hey @neurobagel/dev, should we close or rename this issue for now? Now that the Nipoppy docs live on their own website, I'm wondering if  BIDS conversion is something we still need to discuss in detail on our docs as this recommendation issue suggests. Our CLI does require BIDS data, but we could either just provide some tool links directly in a tip admonition, or leave the user to handle that on their own.
Alternatively, it looks like there's already a Nipoppy page on converting datasets to BIDS: https://nipoppy.readthedocs.io/en/latest/user_guide/bids_conversion.html
We could consider directing users to this link for more info as well.

Agreed, I think this is addressed over in nipoppy land. Let's close

authors: alyssadai danyluik surchs

repo: neurobagel/documentation


text:
does trial number 0 or 1 in frames file indicate first trial onset time?

We use the trial number column in the Frames file to know the bonsai time of trial onsets. Does the first timestamp in the frames file indicate the time of 'intended' first stimulus onset, or is it when the new experiment was started (i.e. with rig.experiment(meta))? Or in other words is the trial number in the frames file column 3 zero on one based?

It should be zero based, but is now not aligned to any particular stimulus onset, as we discussed before it might be easier to just have a continuous signal going out both the photodiode and Harp outputs.
This does mean however there is no trial information on the synchronization pulse, which might make it more difficult for certain types of analyses. This could be mitigated by logging the absolute frame timestamp when trials are initiated using the start trial command. Is that what you had in mind?

I think we need to discuss this to make sure we get it right as this is really critical to getting a fully working version, and I'm struggling to explain/understand 100% clearly what's needed here.
For a start: if you imagine our NI DAQ, which is storing the microscope frame pulses and timing pulses from bonvision - can you see what the method would be to know on our DAQs timescale when each trial was intended to start (note: not when it did start, as I understand there can be a dropped frame)? i.e. if we had a grating which should come on at t=0 secs and go off at t=1 secs, how do we know which microscope frames to look at?
I see the frame events file allows us to know in Bonvision time (correct?) when the sync pulse edges are, but I don't now see where we can find in the same timescale when each trial should have started... I thought this was in the 4th column of FrameEvents but from what you say above it seems not?
Anyway, I think best to have a quick chat? Any chance we could do that in the next few hrs?

authors: glopesdev ransona

repo: neurogears/ranson-rig


text:
Update the year in LICENSE

Use the following construction:
Copyright (c) {% now 'utc', '%Y' %}, {{ cookiecutter.author_name }}

The license in a generated template makes harm, I guess it should be removed.
The root license is required, it is the license for cookiecutter-neuro-project.
But a license inside a template is related to generated code.
As a user, I cannot agree to apply MIT to my project. I may prefer Apache or GPL. Moreover, in very many cases my generated project is a part of proprientary job; it should have no license file or something very custom.

@asvetlov I looked at some popular cookiecutter templates, and they usually contain a LICENSE file inside the template. Moreover, they give you a choice between several types of licenses (as we do - we have five types of available licenses, plus empty license).
Overall when designing this template, I follow this rule: the solution should cover the majority of the use cases. ATM I assume that the choice of licenses we provide covers the majority of the use cases.

IMHO public templates are created by FOSS developers and oriented for themself. Do our users create mostly a public software or proprietary? The answer rules the default selection of license.
Anyway, if I choose "no" (which is number 6 currently) I have empty LICENSE file and "MIT" in setup.py. Not ideal.
Where is ISC license used outside of OpenBSD? Not sure if I can remember ever the single case.
P.S.
After a brief overview, I see other points where I disagree.
My job is hard enough even without this template project.
If you've found that I'm too noisy here please let me know.

@asvetlov Please don't feel any stress on expressing your opinion: your experience is extremely important and valuable for us, in particular for this project, which aims to consolidate Python best practices.
@mariyadavydova I also think we should not make license decisions on behalf of users, especially as sensitive as legal questions, which theoretically might bring us legal problems in future. Assuming that all projects (even FOSS) are either empty and public or just private at the very beginning, let's delete LICENSE generation?

Thanks @ayushkovskiy
You've expressed my worry in a very polite and clear manner :)

OK, I hear you both. Let's remove the LICENSE (#92).
My primary concern about the license is that folks often tend to forget adding it in public repositories, and a lot of noе-so-popular ML-related projects on GitHub do not have LICENSEs at all (which makes it hard to re-use their work). However, probably, it is not us and our template who have to solve this problem.
@asvetlov As @ayushkovskiy already said, your experience and opinion are precious for us, so please, do not hesitate to raise your concerns either in the form of issues and comments or in the form of personal chat, whichever you prefer.

authors: asvetlov ayushkovskiy mariyadavydova

repo: neuromation/cookiecutter-neuro-project


text:
Iterator protocol (early termination for stream processing for both parent and child)

Go Example
In Go we can break the loop to stop next scanner.Text() calls.
func main() {
    stream := strings.NewReader("line1\nline2\nline3\nstop\nline4\n")

    scanner := bufio.NewScanner(stream)

    for scanner.Scan() {
        line := scanner.Text() // this is our `->:next`
        fmt.Println("Received:", line)

        if line == "stop" { // this is our `->:done`
            fmt.Println("Terminating the loop.")
            break
        }
    }
}

Can we do something like that in Neva? It made me think about termination of a stream processing. It seems like if we have stream we need take it all. Yes we can ignore some elements e.g. process first 10 and ignore all the others but upstream will still produce those elements. This is the core idea of this - can we make upstream stop?
Idea
// Iterator allows you do early return while you process stream
// The difference with just ignoring the rest of the stream elements
// Is that you can actually stop the stream from happening
// It's important because it means that upstream component can actually stop producing new items
flow Iterator<T>(chunk T) (next any, done any) {
    // receiver chunk
    // send to next if you want next chunk
    // send to done if you done

    // after you send to next you'll receive either
    // next chunk or stream will be ended

    // if you'll send to done stream will be ended
    // if there was elements in the stream they will be omited
}

Ofc to make it work upstream component must support this "protocol". This is two-way communication and in dataflow we need a loop for that (unlike call-return model which is sync+bidirectional).

related to #40 #711 and #723

maybe it's possible to introduce some kind of generic for loop that will support this iterator protocol? something similar to Go 1.23 iterators

might also be related to #687

other name for this could be "generator"

repo: nevalang/neva


text:
Update sbt to 1.5.6

Updates org.scala-sbt:sbt from 1.5.5 to 1.5.6.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-sbt", artifactId = "sbt" } ]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Codecov Report

Merging #196 (4818182) into main (10d12f2) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #196   +/-   ##
=======================================
  Coverage   70.51%   70.51%
=======================================
  Files           4        4
  Lines          78       78
  Branches        4        4
=======================================
  Hits           55       55
  Misses         23       23

Continue to review full report at Codecov.

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

authors: codecov-commenter scala-steward

repo: nevillelyh/parquet-extra


text:
Crash when eating certain items

Whilst I was adding integration with my own mod, I happened to try eating a popsickle and noticed a tiny little crash to desktop.
Just letting you know you should check Item#hasRecipeRemainder() before calling Item#getRecipeRemainder over here.
The way the ItemStack constructor appears to be set up in 1.20 and above it doesn't appear to handle handle null args any more. Instead it goes to the ItemConvertable one which assumes the first arg is not null.
What you should probably do is change the line to be more like this:

ItemStack container = stack.getItem().hasRecipeRemainder() ? stack.getItem().getRecipeRemainder().getDefaultStack() : ItemStack.EMPTY;

Hello @Sollace,
Thank you for report this issue and for your help, this is already fixed but not release, it will be released this saturday/sunday.

authors: Sollace Zifiv

repo: newhoryzon/farmers-delight-fabric


text:
Add English Translation for Documentation for internasional viewer

Hi i find this work interesting, i using translator so it not bother me much but you need to Translate Readme.md aka documentation to English so everyone can help you develop it, it also make people easy to find your project and discuss it compare letting this untranslated. This project have huge potential but if left untranslated to english it will not progress or develop.

Thank you. This is a great proposal. As I don't have much time for detailed translation work, I can only provide it in Chinese at present. However, you can use Chrome's translation function for translation. Thank you for your suggestion

https://github.com/newlxj/sdweb-multi-user-website/blob/main/README_EN.md

Thanks, i hope your project success and get lot star.

authors: newlxj tukangcode

repo: newlxj/sdweb-multi-user-website


text:
Support for macOS Catalina

Hello. Thank you for developing so useful app for free. Do you plan to add Catalina support? I'm on beta right now and my macbook goes to sleep after closing the lid even if the app is running.

Hi! The current version is mostly compatible with macOS Catalina, as far as I can see. The only "issue" I can find is that the system will ask for notification access even if you don't need it. I'm working on this.
Your described behavior is not part of this app at all, KYA cannot keep your Mac awake if you close the lid. This would cause heat and battery waste issues, so it is not and won't be part of the app.
If you notice any other Catalina-specific issues, please feel free to open a new ticket.
Thanks 👍

Ok, I see. Thanks

@AlexandrDemin just run sudo pmset disablesleep 1 to preventing your mac from sleeping, even when the lid is closed and you're running on battery.  Be very careful with this though since if you don't disable it your laptop will always drain itself down when it's unplugged.  I have a crontab which re-enables sleep if I forget to do it myself.

authors: AlexandrDemin newmarcel varenc

repo: newmarcel/KeepingYouAwake


text:
[Bug]: Testing bug sync

What happened?
A bug happened!
Jira Status (Internal)

test

No response
update comment

Adding comment


text:
[Snyk] Upgrade knex from 0.21.15 to 0.21.17

Snyk has created this PR to upgrade knex from 0.21.15 to 0.21.17.

As this is a private repository, Snyk-bot does not have access. Therefore, this PR has been created automatically, but appears to have been created by a real user.
:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 2 versions ahead of your current version.
The recommended version was released 21 days ago, on 2021-01-30.

Release notes

Package name: knex

0.21.17 - 2021-01-300.21.17 - 30 January, 2021
Bug fixes:

SQLite: Fix SQLite foreign on delete when altering a table #4261

New features:

Add support for optimizer hints (see knex/documentation#306 for documentation) #4243

0.21.16 - 17 January, 2021
Bug fixes:

MSSQL: Avoid passing unsupported pool param. Fixes node-mssql 7+ support #4236

0.21.16 - 2021-01-17

0.21.15 - 2020-12-26No content.

    from knex GitHub release notes

Commit messages

Package name: knex

9e03baf Prepare to release 0.21.17
bef4564 Backport "Fix SQLite foreign on delete when altering a table" (#4261)
b95885b Enable tests on 0.21 branch
a9f9390 Allow optimizer hints (#4243) (#4258)
b260856 Prepare 0.21.16 for release
b8d4309 fix mssql remove unused pool config option (#4236)

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

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

Handled in #39

authors: CLAassistant aswanson-nr devfreddy

repo: newrelic/demo-nodetron


text:
BrowserAgent Module not found Issue

When I am trying to import  browser agent module using import {BrowserAgent} from 'newrelic/browser-agent/loaders/browser-agent' but I am getting module not found error. But if I include src path import {BrowserAgent} from 'newrelic/browser-agent/src/loaders/browser-agent module would be detected but internal logic of browser agent is throwing some issues.
I followed the steps mentioned in the below url
https://www-development.newrelic.com/blog/how-to-relic/custom-instrumentation-with-the-new-relic-browser-agent.

@hemanthkumaryerra Please provide the below information:
browser agent version:
typescript version:
node version:
Can you also attach copies of any errors you are getting?

Browser Agent Version: 1.237.1
Node Version: 16.16.0
React Js Version: 16.13.1

+1 also having same issue.

Hi @hemanthkumaryerra @twann503 , could we get screenshots of the errors on your IDEs please?

This is my error after running lint.

What version of eslint are you running?

@patrickhousley v8.43.0

Thanks. I will try to take a look at this soon.

@twann503 Can I get a copy of your eslint config?

@patrickhousley
{   "env": {     "browser": true,     "es6": true,     "node": true   },   "extends": [     "prettier",     "eslint:recommended",     "plugin:@typescript-eslint/recommended",     "plugin:import/recommended",     "plugin:import/electron",     "plugin:import/typescript"   ],   "parser": "@typescript-eslint/parser",   "parserOptions": {     "ecmaVersion": "latest",     "sourceType": "module"   },   "rules": {     "react/react-in-jsx-scope": "off",     "no-unused-vars": "off",     "@typescript-eslint/no-unused-vars": ["error", { "argsIgnorePattern": "^_" }]   },   "settings": {     "react": {       "version": "detect"     },     "import/resolver": {       "node": {         "extensions": [".js", ".jsx", ".ts", ".tsx"],         "moduleDirectory": [".", "node_modules"]       }     }   } }

@twann503 Add typescript: true to the settings.'import/resolver' section and it should resolve the issue.

@patrickhousley thank you! that fixed it.

Thanks @twann503 for letting me know. @hemanthkumaryerra please let me know if you still need help with this. For now, I am going to close this issue.

I have same issue. I'm using eslint: "^7.28.0"
It's my .eslintrc.json
{   "env": {     "browser": true,     "es2017": true   },   "extends": [     "plugin:react/recommended",     "plugin:@typescript-eslint/recommended",     "airbnb",     "prettier"   ],   "parser": "@typescript-eslint/parser",   "parserOptions": {     "ecmaFeatures": {       "jsx": true     },     "ecmaVersion": 2017,     "sourceType": "module"   },   "settings": {     "import/resolver": {       "node": {         "moduleDirectory": ["node_modules", "src/"]       }     }   },   "plugins": ["react", "@typescript-eslint", "prettier"],   "rules": {...}   }   }
I tryed adding "typescript: true" but not working for me

I am still facing the same issue.
Attached the screen shot of error I am getting

repo: newrelic/newrelic-browser-agent


text:
chore: create MySQL quickstart kit

Search Nurture's recommendations for MySQL quickstart copy
Summary
A concise description of the changes being introduced.
If this is a new Observability Pack, please provide a description of its use cases and a list of the Pack's components.
Screenshots
Images of any visual changes, such as a dashboard.

I've made final copy edits for brevity and to make the instant value of the quickstart more clear. Should be ready to merge.

fixed merge conflicts

authors: aliandersonsn bradleycamacho jpvajda

repo: newrelic/newrelic-observability-packs


text:
feat: Update network-flow-devices data source

https://new-relic.atlassian.net/browse/NR-172764
Updating the data source to point to network-syslog as per the first A/C.

Yep, that's just a helper job that updates an unused project board!

Not stale

repo: newrelic/newrelic-quickstarts


text:
iOS SIGSEGV crash

Description
Seeing crash logs from production users.
iOS agent is:

initialized on native side in app delegate:
Firebase Performance is disabled.

Initialization code:
@implementation AppDelegate

(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[self configureNewRelic];
....

(void)configureNewRelic {
[NewRelic enableFeatures:
NRFeatureFlag_CrashReporting |
NRFeatureFlag_NetworkRequestEvents |
NRFeatureFlag_RequestErrorEvents |
NRFeatureFlag_OfflineStorage];
[NewRelic disableFeatures:
NRFeatureFlag_InteractionTracing |
NRFeatureFlag_WebViewInstrumentation |
NRFeatureFlag_NewEventSystem];
NSString *token = [RNCConfig envFor:@"IOS_MONITORING_TOKEN"];
[NewRelic startWithApplicationToken:token];
[NewRelic setAttribute:@"appSessionId" value:[NewRelic currentSessionId]]; // needs to be set here, since it is undefined on RN side for unknown reasons
}

Steps to Reproduce
Expected Behavior
Relevant Logs / Console output
0x22546c888
.()
0x19d442894
.()
0x19d5b053c
.()
0x19dea6b9c
.()
0x19d4e5f80
.()
0x1a83f5e6c
.()
NRMAReachability
NRMAReachability.m line 252 in NRMAReachability.currentReachabilityStatus()
0x102a062c4
.()
0x1029f3788
.()
0x19cf0a374
.()
0x19cf093c4
.()
0x19cf7ecb8
.()
0x1014c7e30
.()
0x1014c9f38
.()
0x1014c9b88
.()
0x1a4c40370
.()
0x1a4c420d0
.()
0x1a4c509e0
.()
0x1a4c505fc
.()
0x19cf40204
.()
0x19cf3d440
.()
0x19cf3c830
.()
0x1e8f1c1c4
.()
0x19faa2eb0
.()
0x19fb515b4
.()
0x1006ecc00
.()
0x1c292aec8
.()
0x1ed2fe410
.()
0x225470488
.()
0x1ed2fe410
.()
0x225470488
.()
0x1ed2fe49c
.()
0x19a239ec8
.()
0x102a2e604
.()
NewRelicAgentInternal
NewRelicAgentInternal.m line 520 in NewRelicAgentInternal.__44-[NewRelicAgentInternal initializeAnalytics]_block_invoke()
0x1a4c40370
.()
0x1a4c420d0
.()
0x1a4c53f60
.()
0x1a4c54590
.()
0x225473c40
.()
0x225470488
.()
0x1ed2feb7c
.()
0x1ca5013c8
.()
0x1ca5144bc
.()
0x1ca59552c
.()
0x1ca5a73dc
.()
0x1ca52dd58
.()
0x1ca525748
.()
0x100d67cf8
.()
0x100d67c2c
.()
0x100d640dc
.()
0x100ce6e88
.()
0x100cde3bc
.()
0x100d06790
.()
0x100d064bc
.()
0x100d05d20
.()
0x100d05c38
.()
0x100d5e3d4
.()
0x1a4c40370
.()
0x1a4c420d0
.()
0x1a4c496d8
.()
0x1a4c4a1e0
.()
0x1a4c55258
.()
0x1a4c54aa4
.()
0x225473c7c
.()
0x225470488
.()
0x1ed303fbc
.()
0x19bbb4534
.()
0x19bb4b548
.()
0x19c322400
.()
0x1a4c420d0
.()
0x1a4c43918
.()
0x19c322318
.()
0x1a9d9c9d0
.()
0x1a4c40370
.()
0x1a4c420d0
.()
0x1a4c496d8
.()
0x1a4c4a214
.()
0x1a4c55258
.()
0x1a4c54aa4
.()
0x225473c7c
.()
0x225470488
.()
0x1ed2fe688
.()
0x1ed301cb0
.()
0x1ed301afc
.()
0x19cf3da84
.()
0x19cf3d130
.()
0x19cf3c830
.()
0x19bbe4500
.()
0x19bbe4350
.()
0x19fab6358
.()
0x19bbf56c8
.()
0x22547537c
.()
0x225470494
.()
0x1ed2fe410
.()
0x225470488
.()
0x102a7bfe8
.()
0x102a5f584
.()
0x102a5f4d8
.()
0x102a53dcc
.()
0x102a23ca8
.()
0x102a24c40
.()
NRMAHarvester
NRMAHarvester.mm line 647 in NRMAHarvester.fireOnHarvestBefore()
NRMAHarvester
NRMAHarvester.mm line 614 in NRMAHarvester.execute()
NRMAHarvester
NRMAHarvester.mm line 544 in NRMAHarvester.transitionToConnected:()
NRMAHarvester
NRMAHarvester.mm line 625 in NRMAHarvester.execute()
NRMAHarvestController
NRMAHarvestController.m line 146 in NRMAHarvestController.__30+[NRMAHarvestController start]_block_invoke_2()
0x1a4c40370
.()
0x1a4c420d0
.()
0x1a4c496d8
.()
0x1a4c4a1e0
.()
0x1a4c55258
.()
0x1a4c54aa4
.()
0x225473c7c
.()
0x225470488
.()
0x1ed3041b0
.()
0x1ad511300
.()
0x102a2940c
FileBackedStore.hpp line 111 in .NewRelic::FileBackedStore<std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, NewRelic::BaseValue>::store(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator>, std::__1::shared_ptrNewRelic::BaseValue)::'lambda'()::operator()() const()
0x102a7cafc
. NewRelic::WorkQueue::task_thread()()
0x102a7d458
. std::__1::__async_assoc_state<void, std::__1::__async_func<void (NewRelic::WorkQueue::)(), NewRelic::WorkQueue>>::__execute()()
0x102a7d5c8
. void* std::__1::__thread_proxy[abi:v15006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<void, std::__1::__async_func<void (NewRelic::WorkQueue::)(), NewRelic::WorkQueue>>::)(), std::__1::__async_assoc_state<void, std::__1::__async_func<void (NewRelic::WorkQueue::)(), NewRelic::WorkQueue*>>>>(void)()
0x22547537c
.()
0x225470494
.()
0x1ed303f90
.()
0x1ad50f584
.()
0x102a7ca78
. NewRelic::WorkQueue::task_thread()()
0x102a7d458
. std::__1::__async_assoc_state<void, std::__1::__async_func<void (NewRelic::WorkQueue::)(), NewRelic::WorkQueue>>::__execute()()
0x102a7d5c8
. void* std::__1::__thread_proxy[abi:v15006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_deletestd::__1::__thread_struct>, void (std::__1::__async_assoc_state<void, std::__1::__async_func<void (NewRelic::WorkQueue::)(), NewRelic::WorkQueue>>::)(), std::__1::__async_assoc_state<void, std::__1::__async_func<void (NewRelic::WorkQueue::)(), NewRelic::WorkQueue*>>>>(void)()
0x22547537c
.()
...
Your Environment
React Native Version
0.73.11
ReactNativeAgentVersion
1.4.6

@gailegurskytedbg Can you please share package.json and the sample app if possible?

@ndesai-newrelic For security and confidentiality reasons, could I share the package.json file with you via email instead of posting it on the public forum? Please let me know your email address.
Thank you for understanding!

authors: gailegurskytedbg ndesai-newrelic

repo: newrelic/newrelic-react-native-agent


text:
Wrap the output of --help at 80 columns

Newsboat version (copy the output of newsboat -v or the first line of git show): Newsboat r2.32-138-g66cf9 (current HEAD)
Config file (copy from ~/.newsboat/config or ~/.config/newsboat/config):
# empty

Steps to reproduce the issue:

run newsboat --help | fold and observe that the usage line, --export-to-opml2, --log-level and "Support ..." lines look ugly because they're force-wrapped.

The desired behaviour is for them to be wrapped nicely.
Other info you think is relevant:
The issue was brought to my attention by @bitigchi in https://github.com/newsboat/newsboat/pull/2538.

A couple thoughts:

Newsboat is translated into many languages, so it's not enough to just fix the strings in newsboat.cpp — we also need a way to ensure that the translators don't break the 80-column invariant. For that, I think we should have a separate CI job that goes through all supported translations, runs newsboat --help | fold with each, and compares that to newsboat --help
we have HtmlRenderer and ItemRenderer which are capable of nice word-wrapping — can we use those to output the help text too?

We have a separate wrap_line() function in src/textformatter.cpp which might do the job.
We could use that to split lines at word boundaries and then prepend the necessary whitespace in front of each part.
However, I'm not sure if hardcoding the max line length at 80 characters looks all that nice on larger terminals.
I would prefer using the actual terminal width, if available, for determining wrapping location.

authors: Minoru dennisschagt

repo: newsboat/newsboat


text:
Include Rust in test coverage report

This replaces cpp-coveralls tool (using gcov under the hood) with grcov and curl. There are both up- and down-sides with this.
Upsides

grcov creates a single report for C++ and Rust.

Downsides

grcov only supports LLVM's coverage data -- GCC builds no longer participate in coverage reports.

rustc support for coverage is not yet stable -- only Nightly Rust generates coverage.
Also, Nightly Rust is a less stable of the branches, so we might have occasional problems with coverage. Eventually I'll look into pinning the Nightly version to avoid this, but I'm exhausted with this particular problem for now.

Coveralls reports don't have consecutive numbers anymore -- we now use Travis build IDs, which are long integers.

Coveralls reports no longer contain commit's message and author. I think this can be fixed in grcov itself.

Fixes #346.
Will merge in three days unless someone stops me for a review.

Now that's interesting: this PR created a temporary commit https://github.com/newsboat/newsboat/commit/d9c11acdf47bbb38d68aaf5196df49f895581eaa which was built by Travis and turned into [a Coveralls report against `master` branch`](https://coveralls.io/builds/27744119). I'll go skim `cpp-coveralls` source to see if they combat this in any way.

Coveralls reports no longer contain commit's message and author

Apparently this also prevents Coveralls from posting a comment here. Given how unreliable it was, I'm not sure I miss it much =\

Coverage increased (+12.2%) to 52.354% when pulling ad913c141a12923c479bac0e2bf7b504e2bc3351 on feature/rust-test-coverage into effb433d52596774012a61e9de87dbce357064f6 on master.

I added an option to grcov, and now Coveralls knows where to comment. While I'm upstreaming that change (https://github.com/mozilla/grcov/pull/361), this PR is relying directly on my fork of grcov.
I also opened https://github.com/mozilla/grcov/issues/362 to see if grcov authors would like me to add options that provide author name and commit message, to make reports even closer to what we had with cpp-coveralls.

I think I'll merge this after all the changes to grcov are upstreamed. My first PR is already merged, and I'm now working on git key that should add commit author and message to Coveralls report.

As of grcov 0.5.8, all my changes are upstreamed. I updated this PR to install the latest grcov version from crates.io. Will merge once the build is green.

authors: Minoru coveralls


text:
NEP-45: Machine Node Mining

NEP: 45
Title: Machine node mining
Authors: "Xu Jizhe, Aris AC, Vie (@VieYang)"
Discussions:
Status: Draft
Categories: Community Governance
Created: 2021-03-18
Simple Summary
本提案描述了机器节点挖矿的具体规则。
Abstract
申请成为机器节点的必要条件之一是创建一个社群节点且该社群节点锁仓金额需要至少10,000,000 NEW锁仓。机器节点挖矿会基于机器节点对应的的社群节点的锁仓量进行分发。
Motivation
该NEP为了细化NEP-40中提前出的机器节点挖矿。
Specification
机器节点参选规则

在社群节点总锁仓量达到 10,000,000 NEW

如果是非合伙节点，则发起人需要锁仓至少 10,000,000 NEW
如果为合伙节点，则发起人与合伙人总锁仓至少 10,000,000 NEW

运行newchain主网机器节点

机器节点挖矿NEW来源
根据 NEP-40，机器节点挖矿有固定 20% 的NEW，即 175026053.57892763572 NEW。
机器节点挖矿NEW分发规则

每日分发一次
每日NEW释放量相同

每日释放量 = 总量 / 总天数

每日分发按照机器节点对应的社群节点的锁仓量均分
仅按照社群节点的发起人的锁仓量计算

投票和合伙人不参与机器节点挖矿奖励分发
发起人的锁仓量仅为发起人自己的锁仓量，投票和合伙人的锁仓量不计入发起人的锁仓量

分发时间

因为机器节点的收益分发依赖于NewForce系统的社群节点的锁仓量，故需要等待NewForce系统计算完成后再进行机器节点奖励分发
预计在每日 UTC时间4:00（北京时间 12:00）进行奖励计算与分发

Implementation
This proposal is planned to be implemented on:

NewChain Testnet 开始实施时间: 2021-03-15
NewChain Mainnet 开始实施时间: 2021-03-22
根据  NEP-40，机器节点挖矿结束时间为 2022年1月31日
主网每日释放量

从2021年3月22日至2022年1月31日，共计316天
2021-03-22释放: 553879.91638917072 NEW
2021-03-23至2022-01-31每日释放：553879.916389011 NEW

Copyright
Copyright and related rights waived via CC0.

Great. I would like to narrow down the scope of this NEP to Machine Node Mining Incentives only. Since we have separate NEP for qualifications to become a Machine Node and the whole Newton Incentive Program, this one is gonna extended those NEPs focusing on how the Incentive to be used on Machine Nodes. So this NEP should not cover rules on how to become a machine node and how much NEW in the Newton Incentive Program are given to the Machine Node.

Great. I would like to narrow down the scope of this NEP to Machine Node Mining Incentives only. Since we have separate NEP for qualifications to become a Machine Node and the whole Newton Incentive Program, this one is gonna extend those NEPs focusing on how the Incentive to be used on Machine Nodes. So this NEP should not cover rules on how to become a machine node and how much NEW in the Newton Incentive Program are given to the Machine Node.

OK, I don't think we have to write down a very specific date of implementing in NEP, or we could say it's "about" on ... or we could say the implemented date on a mission plan, that mission will quote this NEP.

Great. I would like to narrow down the scope of this NEP to Machine Node Mining Incentives only. Since we have separate NEP for qualifications to become a Machine Node and the whole Newton Incentive Program, this one is gonna extend those NEPs focusing on how the Incentive to be used on Machine Nodes. So this NEP should not cover rules on how to become a machine node and how much NEW in the Newton Incentive Program are given to the Machine Node.

Yes, that's NEP-27, so this NEP should refer to NEP-27 also, but I think it's a good idea to explain more details in this NEP also, to make it clear to the public more.

closed?

closed?

Sorry for my typo, and misoperation.

updated.

好

MainNet Reward Distribution record：
https://explorer.newtonproject.org/address/0x99cba0ab28e6024baA4A947F1Ed910f20350F49f/transactions

MainNet Machie Node ming APY about:  4.998 %

NEP-45: NewChain Ledger Node Incentive Program https://neps.newtonproject.org/neps/nep-45/

authors: VieYang arisac xujizhe

repo: newtonproject/NEPs


text:
Add additional data fields when creating new components

There should be more fields that users can fill in when making components via the conclusions view, e.g. description, homepage URL, etc..

I suggest that the initial focus should be:
Primary Language, and
Homepage URL
We already have a Notes field in the conclusions view, so AboutCode Manager users can determine the best use of whatever values they put there to fit their general information requirements.

authors: DennisClark JonoYang

repo: nexB/aboutcode-manager


text:
Create documentation to combine deplock and ScanCode.io run

We need documentation that describes how to use deplock to do your pre-scan lockfile generation

See PR:

https://github.com/nexB/scancode.io/pull/1295

Completed in https://github.com/nexB/scancode.io/pull/1295

authors: keshav-space pombredanne


text:
Voice

This is a first draft of the new quickstart targeting ASP.Net Core and focusing on Voice API

I don't have access to a Windows machine at the moment and wasn't able to get this to work on OSX -- is that an expectation with these or are we okay with assuming these users are working on Windows machines? Looking at the diffs it seems good to me, but again, wasn't able to properly test.

@afolson could you please let me know what error(s) you're getting. I'm getting an error myself and it's related to VS15 and the Roslyn compiler, it needs to be copied to the right directory.

authors: RabebOthmani afolson

repo: nexmo-community/nexmo-dotnet-quickstart


text:
{Spring JDBC] 김수현 미션제출합니다

안녕하세요!리뷰 잘 부탁드립니다 ~ 이번에는 구조의 어려움이 있던 과제였습니다.
사실 구조를 좀 더 명확하게 진행하고 싶었는데 우선 제대로 테스트라도 통과하자는 것을 목표로 진행해서 코드에 대한 구조적 변화가 필요한 상태입니다.
Week2  Spring JDBC 5단계 6단계 7단계 완료 했습니다
다만, 코드 정리 및 service class나 repository 등 코드를 좀 더 구조화해서 바꿔야 할 것 같습니다
현재 상태는 controller에다가 코드가 잔뜩 들어있는 상황인데 이렇게 될 경우 수정에도 용이하지 않고 가독성도 떨어져서 좋은 코드가 아닌 것 같습니다.  아직 스프링의 구조들을 배우고 있지만 이렇게 새로운 문제를 만났을 때 활용하는 것이 좀 부족한 것 같습니다. 이와 관련된 조언이 있다면 주시면 감사하겠습니다.

코드 외적으로 제가 궁금했던 부분에 대해서 친절하게 설명해주셔서 감사합니다!
다양한 db를 사용해봐야겠다는 생각이 드네요!
바쁘신 와중에도 자세하게 설명해주시고 제 코드에 대해서도 많이 봐주셔서 덕분에 저도 공부가 많이 된 것 같아요! 감사합니다.

repo: next-step/spring-roomescape-playground


text:
generate entire website

output html template file

finished

repo: neyneyalldayday/modulethingy


text:
implement spatial QC

Description of feature
Ideas will be discussed

spatialQC has its own repository with issues

what kind of spatial QCs would those be? I'm working a list of such QC (including image segmentation QCs, (geo) spatial metrics etc..) for implementation, if not already implemented in R, python (or Rust)
can share some of that for potential synergy
Thanks

happy to exchange. we have some in-house metrices and combined it with existing tools. Will contact you via mail.

sounds good!

authors: alikhuseynov heylf

repo: nf-core/spatialxe


text:
New variants reporting table

Describe the solution you'd like
We'd like a variants reporting as output like this:
Sample	POS	REF	ALT	GENE	EFFECT	HGVS_C	HGVS_P	lineages
2110041	3037	C	T	orf1ab	synonymous_variant	c.2772C>T	p.Phe924Phe	None
2110202	10029	C	T	orf1ab	missense_variant	c.9764C>T	p.Thr3255Ile	AY.124
2110202	10323	A	G	orf1ab	missense_variant	c.10058A>G	p.Lys3353Arg	AY.124
2110202	11201	A	G	orf1ab	missense_variant	c.10936A>G	p.Thr3646Ala	AY.124
2110202	11332	A	G	orf1ab	synonymous_variant	c.11067A>G	p.Val3689Val	AY.124
2110202	13971	C	T	orf1ab	missense_variant	c.13706C>T	p.Thr4569Ile	AY.124
2110202	14408	C	T	orf1ab	synonymous_variant	c.14143C>T	p.Leu4715Leu	AY.124
2110202	15451	G	A	orf1ab	synonymous_variant	c.15186G>A	p.Ala5062Ala	AY.124
2110202	1593	C	T	orf1ab	missense_variant	c.1328C>T	p.Ser443Phe	AY.124
2110202	16466	C	T	orf1ab	missense_variant	c.16201C>T	p.His5401Tyr	AY.124
2110202	17133	C	T	orf1ab	missense_variant	c.16868C>T	p.Thr5623Ile	AY.124
2110202	19220	C	T	orf1ab	synonymous_variant	c.18955C>T	p.Leu6319Leu	AY.124
2110202	210	G	T	orf1ab	upstream_gene_variant	c.-56G>T	.	AY.124
2110202	21145	C	T	orf1ab	synonymous_variant	c.20880C>T	p.Leu6960Leu	AY.124
2110202	21301	C	A	orf1ab	missense_variant	c.21036C>A	p.Asn7012Lys	AY.124

Added in https://github.com/nf-core/viralrecon/pull/266 https://github.com/nf-core/viralrecon/pull/268 https://github.com/nf-core/viralrecon/pull/269

authors: drpatelh saramonzon

repo: nf-core/viralrecon


text:
patch sc93.1 display name

I was about to make a comment in https://sagebionetworks.jira.com/jira/servicedesk/projects/NFOSI/queues/custom/7/NFOSI-25 that the term should be available, but then I noticed the slight capitalization difference in the display name, which I missed in my review of #90, my bad.
If this change looks good to you I'll push it to the data curator app today!

Good catch! I need to turn annoying autocaps off or actually use a code editor.

authors: allaway anngvu

repo: nf-osi/nf-metadata-dictionary


text:
Accessory Reachability update is no longer being supported.

Hi,
just wondering about this debug line I'm seeing in 0.4.22. Accessory Reachability update is no longer being supported.
Does this mean Homebridge isn't supporting it?  Or HomeKit?
And what action should we take on our plug-ins?  Is this being deprecated in favor of something else or should we just remove it?
thx!

iOS removed support for that. Right now there isn't a way for bridge to inform HomeKit about bridged accessory reachability so I'd say just remove it from the code.

I'm seeing this repeatedly in my logs.

Accessory Reachability update is no longer being supported.

How can I tell which plug-in is misbehaving?

authors: KhaosT bwoodruff tagyoureit

repo: nfarina/homebridge


text:
iOS 11.4

Hello,
Has anyone already tried IOS 11.4 with Homebridge?
Could there be any compatibility issue?
Thanks.
Dan

After I updated all my devices, lights and switches works, but it seems that motion sensors stopped working.

Check your setup, I updated without issue and confirmed that motion sensors are working

On May 29, 2018, at 7:21 PM, Matus Nickel notifications@github.com wrote:
After I updated all my devices, lights and switches works, but it seems that motion sensors stopped working.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/nfarina/homebridge/issues/1876#issuecomment-392978989, or mute the thread https://github.com/notifications/unsubscribe-auth/AS5CmOlH1BKg5xnof0awia-8o_duVBe8ks5t3dftgaJpZM4USL_5.

There seems to be an issue with removing homebrige from HomeKit and then trying to re-add it. Upon scanning the QR code after Homebridge start up, the Home App gives an error: "Accessory already added - To add this accessory to your home, you'll need to reset it first"
Changing the pin does not resolve the issue.

Nothing to do with re-adding. After iOS 11.4, devices attached to Homebridge just stays offline even when I'm on same wifi. And deleting homebridge and re-adding, it says "Accessory not found".
Hopefully whatever broke in iOS 11.4 isn't too hidden on what broke homebridge?

try this:

remove homebridge from any iOS device
disable HomeKit from iCloud settings in any device
soft reset any device
re-add HomeKit in iCloud settings
change name, mac address and pin in your Homebridge config
retry adding Homebridge on HomeKit

I followed the suggested steps.
I did notice something new (to me). There is a directory called .AppleDouble in the .homebridge directory.
Additionally, these steps allowed me to add all my devices and within HomeBridge I can see the log feedback printing statuses for many devices but in the Home app none of my devices are responding. The only thing that has changed is the upgrade to 11.4

everything working gerat just the yeelight plugin broke, so any problems are more likely with individuelly plugins you use.

so, my advice to @brentleeper is to reinstall each plugin he's using.

Hi all! Is it possible that you're sitting in EU, if your plugin is not working? If yes, you're the winner and currently not being able to use your yeelight at all. See https://www.stern.de/digital/online/dsgvo--die-absurden-folgen-des-datenschutz-gesetzes-7999562.html (German).

@justme-1968 always trying to avoid it two, however was not even aware that these lamps need cloud. I only use them via plugin and not kill the cloud connection again.

it depends. the desk lamp is cloud only as it has no development mode. also the normal yeelight app will not work if you block outgoing connections for the lights. don't know if this is also the case for the lights with development mode.
anyway: enabling development is a hack and not a product feature. these cloud connected devices are just wrong.

@justme-1968 thats not correct, there is a Development mode also for the desk lamp, otherwise it would not work with the homebridge plugin.

well now it is, because mine is working

this sounded like good news... unfortunately the required reset to reconnect the lamp with the app has bricked the lamp...

I have been running 11.4 along with all the betas and not had a single issue.
Sent from my iPhone

On May 30, 2018, at 12:59 PM, justme-1968 notifications@github.com wrote:
this sounded like good news... unfortunately the required reset to reconnect the lamp with the app has bricked the lamp...
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

@cubilon, tried all these doesn't work. Still says "Accessory not found". My device/plugin is https://github.com/aschaper/homebridge-sesame. Did iOS 11.4 bring any change that would have broken it?

remove homebridge from any iOS device
disable HomeKit from iCloud settings in any device
soft reset any device
re-add HomeKit in iCloud settings
change name, mac address and pin in your Homebridge config
retry adding Homebridge on HomeKit

@justme-1968 to bad, however I use mine with homebridge and developer model since March.

@cubilon, tried all these below as you suggested, doesn't work. Still says "Accessory not found". My device/plugin is https://github.com/aschaper/homebridge-sesame. Did iOS 11.4 bring any change that would have broken it? ...

@fungilationare are you on Raspberry?

Sent with GitHawk

No. MacOS 10.13.4

just the same. redo the procedure, but before adding homebridge to home app, try removing persist and persist-plugin directories form homebridge directory and recreate them, then remove cachedAccessories from accessories directory.

Sent with GitHawk

Nope, same thing.

I'm running out of options but the one to restore your iOS devices.

Same problem. Can't find accessory on iOS 11.4. Still no solution on this?

Its working with no problem here.

I was running into this issue, too, on 11.4 I recently upgraded to test iOS 12 beta 2 as well and it's still happening there as well. Have tried all the steps herein and nada.

do you see any "strange" behaviour when you start "journalctl -f -u homebridge" ?
I am using homebridge in combination with FHEM and since iOS 11.4 there seems to be some issues with homebridge and siri and "connection lost" in FHEM. I still not know the reason for it :-( Updates between FHEM and homebridge don't work reliable and so on.

Stopped working for me as well after updating to latest Homebridge and updating to Node.js 8.x. Followed all the steps multiple times.

I downgraded to 4.43 and it works again. Using NPM 6.1.0 and nodejs 10.5.0.

authors: Mattin NorthernMan54 brentleeper charlesmkelley chriskmn cubilon dcaccount dehsgr dendeps fungilation gee4vee justme-1968 macjeff theo-69


text:
[BUG] Checkboxes in ValidationView disappear.

How to reproduce:

Create table and add some building blocks
Go to ValidationView
Click on table column so you can see checkboxes.
Resize window so checkbox and slider are shown side by side.
Click around on the checkboxes. Some of them will disappear (visually).

Added custom css for checkradio elements. This should be nicely customizable and even has fields for css specifically if the checkradio is disabled.


text:
Remove limit of 100 items in a playlist

This change is aimed at removing the current limit of 100 items in the playlist.

Will reopen PR once pep8 checks pass.

repo: nficano/pytube

license: Unlicense


text:
ESI System Manager does not take the updates after sending programing

Environment
Include the result of the following commands:
ESI System Manager Version: 45.0.1
(ESM) Middleware Version: 42.0.1
(ESM) Package Version: 1.1.0.12
Description
ESI System Manager does not take the updates after sending programming
Data last pulled for USERIT on: Wednesday, February 22nd, 2023 07:43 AM

This is invalid issue

repo: nginx/nginx


text:
Signal capture on finishing a surface render

How would I go about monitoring a "loaded" signal for a large surface representation so that I could put a little loading symbol into the webpage while the surface representation was loading?
Basically I would like an equivalent of stage.signals.clicked.add(function() {....}) that fires when my surface representation (e.g. surfaceRep) finishes loading instead of when the stage is clicked.

This problem was covered in #142

repo: nglviewer/ngl


text:
[Investigation] Improve Reactive Forms Experience

A number of developers have asked if the ngrx organization would be willing to develop and maintain a reactive forms library for Angular.
Please use this ticket to report either A) usability issues with the existing reactive forms API found in @angular/forms, or B) present use cases that are not covered by @angular/forms.
Consider this step one in the design process of @ngrx/forms.
cc @DzmitryShylovich @brandonroberts @fxck @jhuntoo

Thanks for opening this. I'll get to it over the weekend. I have to refresh my memory for all the situations I encountered that I thought ngrx/forms would have helped with.

@fxck I'm also doing a lot of form intensive development over the next month. Let's capture as many issues here in that time period and work on a design for potential solutions after that.

@MikeRyan52 added couple of things I remembered and couple of question I had written down from a couple of months ago

Hello everyone.
@fxck That is a good list of issues to think about.
Since ngrx tools combines rxjs and redux, I reviewed the redux side of the upcoming @ngrx/forms by reading the docs of redux-form which seems to be popular in the React community (http://redux-form.com/). I then made a gist in which I attempted to write pseudo Angular code that imitates the way redux-form work. Of course, the core of redux-forms was left as "magic" because the code is heavily based on React. That core I believe is where Rxjs will come into play for @ngrx/forms.
Here is the gist: https://gist.github.com/abdulhaq-e/b0abc305c16f6c14b499ccfcd56459ed

@MikeRyan52 Excited about this idea as well! If there's anyway I can help chip in, let me know!

Would love to see this!

Adding interest was redirected here by an issue I added to store.
Happy to help if I can.

Complicated forms are the major pain point for my app, and it's most important feature (case management for schools, hundreds of fields across many forms, with complex conditional display and validation).  While ngrx has been a boon for all other parts of my app, it hasn't helped much with my forms, which remain a highly stateful, custom, and untested mess.
I can best sum up my pain like this: It's difficult (and maybe silly) to put angular's reactive form state into the store, but I many times need to extend that state with additional data in order to render my view.  I.e disable and hide this field when a second field has a specific value; change the options of the 'State/Province' field when 'Country' is changed...
I'd be very interested in helping create and using a solution that allows writing the rules to my forms be as simple and testable as ngrx makes selecting data for the view.

I think @MikeRyan52 is currently a bit busy with work, what would help is if you all who said would be interested in this project described your use cases or issues you have with @angular/forms(unless they are 1:1 with what someone else already wrote). The more the better.

@fxck Your writeup had a lot of my pain points but I will try to add some more, with the main focus being the reactive forms section.
The default @angular/forms library essentially creates it's own state of the formGroup/array where the status and validity of your form lives. So if you want to put any of this into the store, you're working with statusChanges and valueChanges, submitting actions for each and reducing them. But the form will always be referencing it's own controllers, not the state. So the truth isn't in the store, but in the formGroup.
I haven't found a way to use 3rd party components built in angular (angular material, clarity, etc) because they aren't build with the idea of putting relevant information into the store. I've pretty much given up on full featured solutions and just implemented the individual ones I need, and using semantic to style. If a 3rd party component library was built off of ngrx/forms, with the ability for it to work for projects not using ngrx, then ngrx can get a big push with having the broader angular community working with it rather then creating incompatible packages (this idea is fully thought out, maybe I'll try to code something up this weekend).
Forms is definitely a struggle point when implementing ngrx for a form intensive app. I was planning on building something like a ngrx/forms, but work has taken too much of the time.

I haven't found a way to use 3rd party components built in angular (angular material, clarity, etc) because they aren't build with the idea of putting relevant information into the store.

Tell me about it, the concept of stateless components seem to be alien to almost everyone in the angular world, I'm trying to get ngrx/store friendly dialog component in material2 as we speak(https://github.com/angular/material2/pull/2853#discussion_r98515217). Dialog is one of the components where it makes the biggest sense, but it would be handy in other components as well, like the sidenav(https://github.com/angular/material2/tree/master/src/lib/sidenav)

Sounds great!

Thanks guys for raising the issue, I find myself doing a lot of busy work to connect and ngrx to the form and would love to assist in this new path...
I am wondering what is the current best practice until a full blown solution is adopted?
Is this what users are doing in the meanwhile ?
@Component({
  template: `<router-outlet [form]="form" [data]="data$ | async"></router-outlet>`
})
class SmartComponent {
  public data$ = this._store.let(someSelector$());

  public form = new FormGroup({
   foo: new FormControl(''),
   bar: new FormControl('')
  });

  constructor(private _store: Store<IState>) {}
}

@Component({
  template: `
    <form [formGroup]="form">
      <input type="text" formControlName="foo" />
      <input type="text" formControlName="bar" />
    </form>
  `
})
class DumbComponent {
  @Input()
  public form: FormGroup;

  @Input()
  set data(v) {
    if (v) {
      this.form.patchValue(v);
    }
  };
}

Regards,
Sean

@born2net That's exactly what I do (except that I haven't seen data passed to `routerOutlet before) and I tend to use ng2-dynamic-forms to generate the form.

ok tx!

Hi,
Happy to see I am not the only one having doubt on how to best deal with form data coming from the store. :) And having to put back to the store the data from the forms.
Here is how we deal with the problem, I would really appreciate advice is the solution does not seem to adhere to the redux way of doing :)
@Component({
    selector: 'my-component',
    template: `
        <form [formGroup]="userForm" (ngSubmit)="saveUser()">
            <input formControlName="name">
            <input formControlName="lastname">
            <button type="submit" >Save</button>
        </form>
    `
})
export class MyComponent implements OnInit {
    private user: User;

    constructor(private store: Store<State>) {}

    ngOnInit() {
        this.store.select(stateSelector)
                    .take(1)
                    .subscribe((user) => this.user = user);

        this.userForm = this.fb.group({
            name: [this.user.name, Validators.required],
            lastname: [this.user.lastname, Validators.required],
        });
    }

    // Called on submit to update the store
    saveUser() {
        this.store.dispatch({type: 'UPDATE_USER', payload: this.userForm.value})
    }

I am one of those who had a hard time implementing debouncing inside custom async validators, without succeeding.
One other issue that is not clear for me is how to treat exceptions inside async validator functions.
What is the object or value I am supposed to return from the catch method, which is of ObservableInput<{}> type.
I get this warning on Visual Code when I try to insert the catch method on the observable chain, because I don't know exactly what the ObservableInput instance should come from:
Argument of type '(err: any, caught: Observable<{ [key: string]: any; }>) => void' is not assignable to parameter of type '(err: any, caught: Observable<{ [key: string]: any; }>) => ObservableInput<{}>'.   Type 'void' is not assignable to type 'ObservableInput<{}>'.
The code excerpt (debounce is not working this way, but that's a separate issue):
// Async validator for username
public forbiddenUsernameValidator(): AsyncValidatorFn {
    return (control: AbstractControl): Observable<{ [key: string]: any } | null> => {

        // Get username from control
       let username = control.value;

        return this.userService.validateUsername(username)
            .catch((err: any, caught: Observable<{ [key: string]: any } | null>) => {
	         // I would like to handle 400 or 500 errors here but I don't know
	         // what do I have to return here???
             })
            .debounceTime(1000)
	    .distinctUntilChanged()
	    .first();
	}
    };
}

I think it will be easier to assist if someone will write a design document for the requirements.

related http://stackoverflow.com/questions/43217078/angular-redux-ngrx-state-update-vs-forms

Hi, I was wondering what movement there was on this and how to best help?

Do we have any more info on some basic design specs? I know @fxck said he saw an early document of it. If anyone has started something, or atleast has spent some time thinking through the design specs I'd love to get started working on it. I just know that this is quite large and there's a lot of parts that can go into it. So if we have a design spec to build off of to get a MVP, then maybe this community can start building out the pieces.

Any news regarding this ? Right now I'm moving my application to ngrx and I really have troubles keeping the form state especially with DatePicker control for example the date picker input allows the used to insert values and it sends the value using onChangeCallback however this will trigger my store update and the store will update the component right when the user is typing, I will be willing to help with the implementation of reactive forms for ngrx I just don't have a good idea about how to use them with material design component, I need to decuple value change from write value some how. cause right now my date picker emits a value the store gets a new state the new state updates the form model and so on. Right now for any form I have I'm not able to create new state I mutate the state for that specific form which does not respect the over all pattern. Anyone has time to start a implementation I could help.

What's happening with this? I am very intersted.

I found this approach interesting. Still needs a little tweaking to fit exact needs but is a great starting point.
https://netbasal.com/connect-angular-forms-to-ngrx-store-c495d17e129

Not really. It doesn't really solve any of the problems mentioned in this issue.. The problem is that angular forms are "flawed" from the beginning.

Reactive forms are always better since they are.. reactive. Recent changes in angular forms make it a little easier to just create some sort of bridge, but I still think ngrx/forms would be better solution. I couldn't quite get in touch with @MikeRyanDev to check what's their latest opinion on this.

Recent changes in angular forms make it a little easier to just create some sort of bridge
can you write a little about what changes you are talking? :)

So I understand that reactive Angular forms are recommended to be used with ngrx  (instead of template-driven Angular forms). The recommendation comes from @fxck two comments up.
Now the question is how to use reactive Angular forms with ngrx. For angular-redux there is angular-redux/forms with a brief description on how it enables us to keep forms state in redux store.
I found this (not tried yet) article describing how to use reactive Angular forms with ngrx: https://netbasal.com/connect-angular-forms-to-ngrx-store-c495d17e129
Would you recommend using the approach or are there any other approaches/guides?

@marcelnem The link you posted may not solve all your problems. For example, it initializes the form from the store, but any subsequent change will not be taken into effect (the .take(1)).
I haven't tested without it but you may face circular calls (i.e. you update the store, which updates the form, which updates the form etc.).
Has anyone tackled this problem ?

@szebrowski https://github.com/angular/angular/pull/18577 and afaik there's something in works for https://github.com/angular/angular/issues/6895 as well
@marcelnem there's currently no lib that syncs forms state to the store, which is what this issue was created for.. what is described in that article barely scratches the surface..

I've been working in a project that makes heavy use of forms. Since there was no proper solution available I've built my own version of @ngrx/forms (or rather I built two since version 1 was only a rough first draft trying to re-use reactive forms).
The project is very much still WIP, but I'd be happy if some of you could have a look and tell me your thoughts of whether this has any merit. Since I didn't get around to documenting this properly yet, I'll quickly outline the current state and open points below.
The general idea is to have the complete form state in the store, including all the flags like isDirty etc. Updates to the state therefore happen fully through reducers (which makes testing a breeze). There is one single directive so far, applied via [ngrxFormControlState]. With this directive I am completely side-stepping the whole template or reactive forms and I am only using some basic infrastructure of @angular/forms, namely the ControlValueAccessor mechanism. The directive is responsible for dispatching the proper actions to update the state. And of course it is always possible to manually update the state by dispatching actions on your own.
The reducers automatically recompute the whole state tree, i.e. if a parent group is disabled, all children get disabled, if a child is marked as dirty, all parents are marked as dirty etc. The group reducer also dynamically creates and removes child states based on the current value of the group which makes it very easy to add and remove controls. Have a look at the reducer.spec.ts to see all the scenarios covered.
The two missing things are:

another directive to track form submission state
validation infrastructure (however, this can in fact already be achieved via effects that subscribe to form state updates and set the errors via an action)

Please let me know your thoughts.
Usage examples:
reducer.ts
import { createFormGroupReducer } from '@ngrx/forms';

export interface MyFormValue {
  someTextInput: string;
  someCheckbox: boolean;
  nested: {
    someNumber: number;
  };
}

export const FORM_ID = 'some globally unique string';

export const myFormReducer = createFormGroupReducer<MyFormValue>(FORM_ID, {
  someTextInput: '',
  someCheckbox: false,
  nested: {
    someNumber: 0;
  },
});

component.ts
import { FormGroupState } from '@ngrx/forms';

@Component({ ... })
export class MyComponent {
  formState$: Observable<FormGroupState<MyFormValue>>;

  constructor(private store: Store<RootState>) {
    this.formState$ = store.select(s => s.path.to.form.state);
  }
}

component.html
<form novalidate>
  <input type="text"
         [ngrxFormControlState]="(formState$ | async).controls.someTextInput">

  <input type="checkbox"
         [ngrxFormControlState]="(formState$ | async).controls.someCheckbox">

  <input type="number"
         [ngrxFormControlState]="(formState$ | async).controls.nested.controls.someNumber">
</form>

Alright, I've implemented form submission tracking. I've also created an example application that showcases how the library manages form states.

So, I've finally gotten around to releasing v1.0.0 of ngrx-forms. You can get the library on npm via
npm install ngrx-forms --save

See the readme for a detailed user guide.

@MrWolfZ I don't think you should need to manually add any reducer. You should simple add formsReducer to your root reducer (similarly how ngrx/store-router does it) and the rest should be completely handled by the lib.

I'm surprised nobody has mentioned this, so perhaps I'm missing something.  If you want Store changes to update the form, I don't think can use any FormArrays with ReactiveForms.
The problem is that to you need to bind outgoing changes from the form to store events, and incoming store changes to patchValue the store.  To prevent an infinite loop, you must use patchValue(formModel, {emitEvent: false}) to prevent the patch from emitting another valueChange.
However, to update a FormArray, you have to use setControl.  I haven't been able figure out how to either disable setControl from emitting a valueChange or a reliable way to filter out the offending event.  A minimal sort of thing that would fix this is to either add an options param to setControl give it parity with patchValue or just make patchValue work on FormArray.
FormArray in general is kinda nasty.  Everything you've learned about ReactiveForms doesn't quite work the same way with FormArray.  It's like it's not even part of ReactiveForms at all.  Plus, the abstract types on FormArray are impenetrable, so you get no useful type hints or autocompletion even in VS Code.

To prevent an infinite loop, you must use patchValue(formModel, {emitEvent: false})

Careful with that, we found it causes issues with material2 components (placeholders don't move, etc).  We ended up creating a diff object between the store and the current form values and then (if it's not empty) using that with patch value and emitEvent true.

authors: JBusch MarkPieszak MikeRyan52 MikeRyanDev MrWolfZ NetanelBasal abdulhaq-e adharris bertofer born2net fxck iliketomatoes james-schwartzkopf johnchristopherjones marcelnem mfp22 nicolae536 otienoanyango philjones88 sdargaud sebelga szebrowski tashoecraft the-destro

repo: ngrx/core