ES6 imports importing dependencies with Webpack

I've just added react-datepicker to my project and imported it like so:
import DatePicker from 'react-datepicker'
This seems to import all of react-datepickers dependencies, leading to moment and react being loaded twice.  I think this is due to bower requiring its dependencies as well as webpack loading the npm dependencies.  Is there a way around this?
Thank you

Hey @te-chris, a couple questions:

Are you installing the datepicker via npm or bower?
What does your dependency tree under react-datepicker look like, i.e. are moment and react included in node_modules under react-datepicker?  Or are they only in your topmost node_modules?

hey @rafeememon thanks for getting back to me.  installed via NPM, moment and react are both already in the project.

@te-chris, right, but are they also present in node_modules under react-datepicker?  If they are, they'll be loaded separately because of how node resolves dependencies.  Deleting them from there should do the trick.

Oh, also, what versions of moment and react are you using in your project?  If they're different versions than what satisfy the datepicker's dependencies (currently react is ^0.14.0, moment is ^2.10) then the datepicker will install and load them as additional dependencies.

Here's my package.json
{
  "private": true,
  "version": "0.0.1",
  "description": "YOUR DESCRIPTION - Generated by generator-react-webpack",
  "main": "",
  "scripts": {
    "clean": "rimraf dist/*",
    "copy": "copyfiles -f ./src/index.html ./src/favicon.ico ./dist",
    "dist": "npm run copy & webpack --env=dist",
    "lint": "eslint ./src",
    "posttest": "npm run lint",
    "release:major": "npm version major && npm publish && git push --follow-tags",
    "release:minor": "npm version minor && npm publish && git push --follow-tags",
    "release:patch": "npm version patch && npm publish && git push --follow-tags",
    "serve": "node server.js --env=dev",
    "serve:dist": "node server.js --env=dist",
    "start": "node server.js --env=dev",
    "test": "karma start",
    "test:watch": "karma start --autoWatch=true --singleRun=false"
  },
  "repository": "",
  "keywords": [],
  "author": "Your name here",
  "devDependencies": {
    "accounting": "^0.4.1",
    "babel-core": "^6.0.0",
    "babel-eslint": "^5.0.0-beta4",
    "babel-loader": "^6.0.0",
    "babel-preset-es2015": "^6.0.15",
    "babel-preset-react": "^6.0.15",
    "bower-webpack-plugin": "^0.1.9",
    "chai": "^3.2.0",
    "copyfiles": "^0.2.1",
    "css-loader": "^0.23.0",
    "eslint": "^1.2.1",
    "eslint-loader": "^1.0.0",
    "eslint-plugin-react": "^3.3.0",
    "file-loader": "^0.8.4",
    "glob": "^6.0.0",
    "isparta-instrumenter-loader": "^1.0.0",
    "karma": "^0.13.9",
    "karma-chai": "^0.1.0",
    "karma-coverage": "^0.5.3",
    "karma-mocha": "^0.2.0",
    "karma-mocha-reporter": "^1.1.1",
    "karma-phantomjs-launcher": "^0.2.1",
    "karma-phantomjs-shim": "^1.1.1",
    "karma-sourcemap-loader": "^0.3.5",
    "karma-webpack": "^1.7.0",
    "lodash": "^3.10.1",
    "minimist": "^1.2.0",
    "mocha": "^2.2.5",
    "moment": "^2.11.1",
    "node-sass": "^3.4.2",
    "null-loader": "^0.1.1",
    "open": "0.0.5",
    "phantomjs": "^1.9.18",
    "postcss": "^5.0.11",
    "postcss-loader": "^0.8.0",
    "postcss-svg": "^1.0.4",
    "react-addons-test-utils": "^0.14.0",
    "react-hot-loader": "^1.2.9",
    "react-modal": "^0.6.1",
    "rimraf": "^2.4.3",
    "sass-loader": "^3.1.2",
    "style-loader": "^0.13.0",
    "url-loader": "^0.5.6",
    "webpack": "^1.12.0",
    "webpack-dev-server": "^1.12.0"
  },
  "dependencies": {
    "alt": "^0.18.1",
    "alt-utils": "^1.0.0",
    "calc-polyfill": "^0.1.0",
    "core-js": "^2.0.0",
    "formsy-react": "^0.17.0",
    "history": "^1.17.0",
    "immutable": "^3.7.6",
    "jquery": "^1.11.3",
    "lockr": "^0.8.4",
    "lost": "^6.6.3",
    "lt-ie-9": "^0.1.0",
    "normalize.css": "^3.0.3",
    "react": "^0.14.0",
    "react-date-picker": "^4.0.6",
    "react-datepicker": "^0.20.0",
    "react-dom": "^0.14.0",
    "react-input-range": "^0.6.1",
    "react-router": "^1.0.3",
    "react-slick": "^0.9.3"
  }
}

@te-chris, again, please look in node_modules/react-datepicker/node_modules and tell me what's there =)

Sorry, there's no node_modules dir in there.  there is a bower_components dir

Ah, I think npmv3 changed how dependencies are resolved.  What version of node and npm are you using?
What are you observing that is telling you that react and moment are being loaded twice?

Just looked into bower-webpack-plugin, and it looks like it's making webpack look in bower_components for dependencies.  I'd recommended using either npm or bower for dependencies, but not both; sometimes they can interact in strange ways.  If you don't explicitly need bower-webpack-plugin I'd get rid of it.
We officially removed bower support in #330, so we should probably stop publishing the bower_components directory anyway.

Using node 5.4 and latest npm.  Oh of course! Sorry didn't even notice that - a hangover from the generator.  Will remove as we're not using bower at all

Removed the bower loader and still getting this

Hmm, are you sure you removed all references to bower in your config?  Looks like there are ways to load from bower in addition to the webpack plugin, e.g. https://webpack.github.io/docs/usage-with-bower.html

Thanks for persisting, that was the issue.  Appreciate your patience! :)

Awesome, glad you got it working!
Also, completely out of curiosity, I see you also have react-date-picker in your package.json -- are there any features in that picker that you'd like to see here?

Tbh I just needed one that worked as one a deadline so that was the next choice ;)


Correction on Event ID Listed

[Enter feedback here]
You have two different events tagged with Event ID 33.  The Event GCTriggered should be event 35 instead of 33.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 62f15aec-6700-35a2-096c-9f66fba304da
Version Independent ID: b5423164-48c6-2d29-422a-6c51664467b5
Content: Garbage collection runtime events - .NET
Content Source: docs/fundamentals/diagnostics/runtime-garbage-collection-events.md
Product: dotnet-fundamentals
GitHub Login: @dotnet-bot
Microsoft Alias: dotnetcontent

Thanks @jstnrbchx


onInsert property not present in schema

Great tutorial! Very interactive and easy to follow. 👍
I just found one issue that isn't already reported on this repo:
Step 5: "Note that createdAt has an onInsert property, which returns a callback that will set it to the current timestamp whenever a new document is inserted."
There isn't an onInsert property listed in the schema.

Oh right, that's because JSON.stringify doesn't work on functions. I'll fix it.


⚠ Bofrost.at has degraded performance

In 7cf3c99, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1617 ms

Resolved: Bofrost.at performance has improved in 4b46aa9 after 37 minutes.


Adjust Elasticsearch CustomResource template

Adjust the Elasticsearch CustomResource template to be compatible with
ECK 1.7.1. This change bumps the Elasticsearch API interface to v1 from
v1beta1. Required adjustments to support the new API interface have been
implemented in the manifest_elasticsearch.yaml.j2 file.
Changes include:

move volumeClaimTemplates to the same level as the nodeSet definition
add empty object names based on the generated CustomResource after
creating the Elasticsearch object
adjust the syntax used for node.roles configuration
adds volumeClaimDeletePolicy configuration based on recommendations in
ECK documentation

uses DeleteOnScaledownOnly which preserves the PV even when the
elasticsearch instance is removed (for safety)

fixes indentation across the podTemplate configuration to allow
ephemeral storage to work again (should fix CI)

Resolves: STF-540
Signed-off-by: Leif Madsen<EMAIL_ADDRESS>

I need to test this against the STF 1.3 stuff to make this works as intended, but I expect it'll be fine, but until I see it work 100% I'd like to avoid this being merged.

test

test

test


feat(extras): added open_snippet_list

Implements functionality discussed in #607
Here's a showcase of what it looks like:

A couple of thoughts:
The available and the get_context function are essentially the same as the ones in luasnip/init.lua the only difference is adding the docstring in get_context and using that new get_context in the available function. There might be a way to refactor something so that there is less code repetition if that's something you would be interested in.
I'm not great at regexes so I did the best I could with the folding stuff haha. I think it's fine right now but it can be a little finnicky, for example if you try to use telescopes buffer fuzzy finder in that window you can get something like this:

At first I was just looking to open a new buffer and making that the current one, but making so that folding is available makes that hard since it's a per window and not a per buffer setting. So I went back to the vertical split implementation.
Let me know what you think, if everything seems good to you the only thing missing would be adding it to the documentation.

Nice!

The available and the get_context function are essentially the same as the ones in luasnip/init.lua the only difference is adding the docstring in get_context and using that new get_context in the available function. There might be a way to refactor something so that there is less code repetition if that's something you would be interested in.

Oh, yes that would be great. Could extract the common part of getting available snippets, and then have the two functions collecting the information depend on that.

I'm not great at regexes so I did the best I could with the folding stuff haha. I think it's fine right now but it can be a little finnicky, for example if you try to use telescopes buffer fuzzy finder in that window you can get something like this:

regex :vomiting_face: :P
Doesn't this example with the fuzzy finder always occur in nested folds? (independent of foldmethod? or are the folds not nested correctly?)
An alternative approach would be manual folding, then we'd need to take over part of vim.inspect's job to reliably find the lines corresponding to each filetype

At first I was just looking to open a new buffer and making that the current one, but making so that folding is available makes that hard since it's a per window and not a per buffer setting. So I went back to the vertical split implementation.

Good choice, very unfortunate that folding is per-window, that's a bit annoying (at least for us :D)

Yeah! I don't know if you want to do this in this PR or in a separate one.

Doing that in this one should be fine, we introduce the potential for this abstraction here, I think that justifies it :D

Seems that setting the foldmethod to indent fixed everything. I never use folding so I'm in uncharted waters here haha. If foldmethod set to indent is not enough I'll take a look into manual folding (I hope indent is enough lol)

Yeah, manual folding would probably be overcomplicating it :+1:

Doing that in this one should be fine, we introduce the potential for this abstraction here, I think that justifies it :D

Sounds good! I would like to get some of the stuff above resolved first since I feel stuff is piling up. But my initial thoughts on this was to 'inject' the get_context into the available function so something like:
function available(get_context)
    get_context = get_context or 'default function here'
end

Then we can use whatever get_context function we want while keeping the available function untouched.

Doing that in this one should be fine, we introduce the potential for this abstraction here, I think that justifies it :D

Sounds good! I would like to get some of the stuff above resolved first since I feel stuff is piling up. But my initial thoughts on this was to 'inject' the get_context into the available function so something like:
This would be in luasnip/init.lua
function available(get_context)
    get_context = get_context or 'default function here'
end

Then we can use whatever get_context function we want while keeping the available function untouched.

Oh yeah, nice!! :+1:

(Sorry for the force pushes lol)
Ok so I bring some updates! Hopefully I'm heading in the right direction here
Changes
luasnip/init.lua
In the available function I added a opts parameter which resolves to opts = opts or {get_context = get_context} that way we use the get_context that is defined in that file by default. Now that I'm thinking about it I think a better way would be to do
opts = opts or {}
opts.get_context = opts.get_context or get_context

Using the former would mean that if someone passes in an empty object for example available({}) or any object available({blahblah = 'hihi'}) opts wouldn't have any get_context entry. I'll update that.
But with that we have flexibility to use whatever get_context function we want
extras/snippet_list.lua
I added an opts parameter to the open_snippet_list which resolves to
opts = opts or {
    get_name = get_name,
    printer = printer,
    win_opts = win_opts(),
    buf_opts = buf_opts()
}

Same issue was above, it might be better to do something like
opts = opts or {}
opts.get_name = opts.get_name or get_name
etc...

get_name function
It's as we discussed, asimple function that takes in a bufnr and returns the name for the buffer, you can pass in whatever function you would like that returns a string
printer function
Takes in snippets and returns a string. At the moment we are only using vim.inpect
win_opts function
Returns a table of extra options to be set on the window. set_win_opts sets these options.
I use these 2 to set the folding at the moment
buf_opts function
Returns a table of extra options to bet on the buffer. set_buf_opts sets these options.
I use these 2 to set the filetype to lua. (I know you want something like nvim tree but in the meantime I kept this here just to get syntax highlighting)
make_scratch_buffer function
Just moved the setting options for the scratch buffer to this function to clean up the open_snippet_list function
So hopefully this is looking more like you were picturing in terms of configuration capability.
Discussion Points
Pretty Print Stuff

Similar to nvim-tree, but not of files and directories, but of snippets and file/snippet-types.

I think I get it now! Similar to what packer does when you sync/update plugins. Gotcha. That would definitely be awesome, atm it's a little over my head though. I'm not sure how nvim-tree or packer make stuff collapsible and get highlighting/icons for example. I would have to go dig in their repos and see what they are doing.
In the meantime I left the folding method and the filetype to lua (For syntax highlighting purposes). With the configuration options we have now though it would be really easy to add whatever pretty-printer/buffer options/window options that you would like.

(Sorry for the force pushes lol)

Oh, do not worry about that at all

luasnip/init.lua
In the available function I added a opts parameter which resolves to opts = opts or {get_context = get_context} that way we use the get_context that is defined in that file by default. Now that I'm thinking about it I think a better way would be to do
opts = opts or {}
opts.get_context = opts.get_context or get_context

Using the former would mean that if someone passes in an empty object for example available({}) or any object available({blahblah = 'hihi'}) opts wouldn't have any get_context entry. I'll update that.
Edit: Done in 22e2370

Nice! :+1:
WDYT about renaming it? I think get_context isn't 100% precise, but I also don't have a better idea (there we are again, naming things xD)

get_name function
It's as we discussed, asimple function that takes in a bufnr and returns the name for the buffer, you can pass in whatever function you would like that returns a string
printer function
Takes in snippets and returns a string. At the moment we are only using vim.inpect
win_opts
Table of extra options to be set on the window. set_win_opts sets these options.
I use these 2 to set the folding at the moment
buf_opts
Table of extra options to set on the buffer. set_buf_opts sets these options.

Good idea to make buf/win-options configurable

I use these 2 to set the filetype to lua. (I know you want something like nvim tree but in the meantime I kept this here just to get syntax highlighting)

Ahhh, yeah syntax highlighting makes sense.
If a different pretty-printer is used, one could write a custom syntax-file and use it by setting the filetype via buf-options, so that's pretty neat/complete.

make_scratch_buffer function
Just moved the setting options for the scratch buffer to this function to clean up the open_snippet_list function
So hopefully this is looking more like you were picturing in terms of configuration capability.
Discussion Points
Pretty Print Stuff

Similar to nvim-tree, but not of files and directories, but of snippets and file/snippet-types.

I think I get it now! Similar to what packer does when you sync/update plugins.

Yeeeeeeeeah right, that's even more common :+1:

Gotcha. That would definitely be awesome, atm it's a little over my head though. I'm not sure how nvim-tree or packer make stuff collapsible and get highlighting/icons for example. I would have to go dig in their repos and see what they are doing.

Don't worry about that, this doesn't have to be perfect from the get-go. Updates to this can be done as non-breaking changes, so we're pretty flexible here imo.

In the meantime I left the folding method and the filetype to lua (For syntax highlighting purposes). With the configuration options we have now though it would be really easy to add whatever pretty-printer/buffer options/window options that you would like.

Very clean! I'll take a look at the code now :D

Okay, small things all, I like the general direction, nice work :+1:

Nice! 👍
WDYT about renaming it? I think get_context isn't 100% precise, but I also don't have a better idea (there we are again, naming things xD)

😂 Hmm just brainstorming here get_snip_context, get_snip_tbl, get_snip_info, snip_context, snip_tbl, snip_info, snip_inspect, inspect_snip

MHMM snip_info sounds good, not perfect though xD
But I'd be fine with it

Sorry for the inactivity. Have been a little busier. I made the modifications suggested! Hopefully it's closer to what we want :)

Oh, that's far from inactive, don't worry :D
From a cursory look, I like it, nice job!
I'll put some new comments in the code

Okay, I think this should be it, now.. Documentation :D
I think the existing entries for extras in DOC.md should be a good guideline, I'd recommend using grip to render the documentation locally (needs some setup, but is really nice for quickly iterating, as it renders markdown like github would)

Added some docs for Snippet List! Let me know what you think. Once everything is ready to go I can squash the previous commits having to do with implementing snippet_list so it looks like feat(extras): added snippet_list and then we're good to go :D

Hey, very sorry for not getting back earlier, I must've missed your previous messages somehow, and didn't think to check on this PR until now😅

Hey, very sorry for not getting back earlier, I must've missed your previous messages somehow, and didn't think to check on this PR until now😅

No worries! Thought you might be busy haha. I'll be travelling tomorrow but I'll take a look over the next few days see if we can finish this off before christmas or new years. We're almost there!

Nice, sounds good :+1: :D

Squashing of commits is done!

Okay I'm so sorry, I missed two minor issues:

pictures are embedded in vim-help, which is pretty ugly (fix: surround with ignore-tags, look ar source of gifs to see what I mean)
no doc for new capabilities of ls.available (I mean it's not that useful in itself, but there's no reason to not document it)

I'm taking another 10000%-close look to make sure those are the last roadblocks, would you clear them? :D

Okay, 10000%-close look done, everything else looks great :)

Okay I'm so sorry, I missed two minor issues:
* pictures are embedded in vim-help, which is pretty ugly (fix: surround with ignore-tags, look ar source of gifs to see what I mean)

* no doc for new capabilities of `ls.available` (I mean it's not that useful in itself, but there's no reason to not document it)

I'm taking another 10000%-close look to make sure those are the last roadblocks, would you clear them? :D

Done!
Hopefully I didn't miss any pictures lol.
Checkout the updated description for the available function, I don't know if that's clear enough?

Pictures look good, doc too except that small nit, thanks for taking care of it :)

Haa okay, that's it, perfect, I've got nothing more to ask, you're free xD
One more squash, rebase if you wanna, then I'll merge and we've done it :)))))

Haa okay, that's it, perfect, I've got nothing more to ask, you're free xD One more squash, rebase if you wanna, then I'll merge and we've done it :)))))

Squash done!

Hah, nice xD
Okay, thank you sooo much for sticking through this entire process. I feel like I've asked a bit too much, and those small redesigns we did halfway through could've been separate PRs, but I'm very happy with this being the initial result because it's very flexible and we should be able to extend it without any breaking changes.
If you have any other ideas, feel free to open an issue to discuss it :)

Hah, nice xD
Okay, thank you sooo much for sticking through this entire process. I feel like I've asked a bit too much, and those small redesigns we did halfway through could've been separate PRs, but I'm very happy with this being the initial result because it's very flexible and we should be able to extend it without any breaking changes. If you have any other ideas, feel free to open an issue to discuss it :)

No problem! Glad I could contribute a small part to this plugin. Thank you for your work!


Broken assets at: https://react.semantic-ui.com/

Broken assets at: https://react.semantic-ui.com/
The page won't show correctly. Seems broken CDN links.

Works fine for me, please provide more details.

Please send the HTTP headers for the failed requests.
Also please ping cdn.jsdelivr.net and let me know of the IP.

Sorry!


Whether any time delay of 5.0.0 can be merged into the 4.9.x branch？

The issue tracker is used for bug reporting purposes ONLY whereas feature request needs to follow the RIP process. To avoid unnecessary duplication, please check whether there is a previous issue before filing a new one.
It is recommended to start a discussion thread in the mailing lists or github discussions in cases of discussing your deployment plan, API clarification, and other non-bug-reporting issues.
We welcome any friendly suggestions, bug fixes, collaboration, and other improvements.
Please ensure that your bug report is clear and self-contained. Otherwise, it would take additional rounds of communication, thus more time, to understand the problem itself.
Generally, fixing an issue goes through the following steps:

Understand the issue reported;
Reproduce the unexpected behavior locally;
Perform root cause analysis to identify the underlying problem;
Create test cases to cover the identified problem;
Work out a solution to rectify the behavior and make the newly created test cases pass;
Make a pull request and go through peer review;

As a result, it would be very helpful yet challenging if you could provide an isolated project reproducing your reported issue. Anyway, please ensure your issue report is informative enough for the community to pick up. At a minimum, include the following hints:
BUG REPORT

Please describe the issue you observed:

What did you do (The steps to reproduce)?

What is expected to see?

What did you see instead?

Please tell us about your environment:

Other information (e.g. detailed explanation, logs, related issues, suggestions on how to fix, etc):

FEATURE REQUEST

Please describe the feature you are requesting.
The current 5.0 version supports any length of delay, is it considered to be supported in the 4.9.x version? How feasible is it? Is there such a case？

Provide any additional detail on your proposed use case for this feature.

Indicate the importance of this issue to you (blocker, must-have, should-have, nice-to-have). Are you currently using any workarounds to address this issue?

If there are some sub-tasks involved, use -[] for each sub-task and create a corresponding issue to map to the sub-task:

sub-task1-issue-number: sub-task1 description here,
sub-task2-issue-number: sub-task2 description here,
...

Let's move to GitHub Discussion, see #6153.

Let's move to GitHub Discussion, see #6153.

Our company has incorporated the precision delay feature into 4.9.4 and has been running in production for over 3 months，I can provide this pr

Let's move to GitHub Discussion, see #6153.

Our company has incorporated the precision delay feature into 4.9.4 and has been running in production for over 3 months，I can provide this pr
可以留一个邮箱地址吗？咨询咨询

如果在4.9.4版本合入了这个，那用springboot使用的时候，在pom文件中引用的依赖使用4.9.4还是5.0.0？
ヤ艾枫o.--
@.***

------------------ 原始邮件 ------------------
发件人:                                                                                "apache/rocketmq"                                                                                @.>;
发送时间: 2023年3月8日(星期三) 中午12:02
@.>;
<EMAIL_ADDRESS>主题: Re: [apache/rocketmq] Whether any time delay of 5.0.0 can be merged into the 4.9.x branch？ (Issue #6275)
Let's move to GitHub Discussion, see #6153.
Our company has incorporated the precision delay feature into 4.9.4 and has been running in production for over 3 months，I can provide this pr
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

如果在4.9.4版本合入了这个，那用springboot使用的时候，在pom文件中引用的依赖使用4.9.4还是5.0.0？ ヤ艾枫o.-- @.***
…
------------------ 原始邮件 ------------------ 发件人: "apache/rocketmq" @.>; 发送时间: 2023年3月8日(星期三) 中午12:02 @.><EMAIL_ADDRESS>主题: Re: [apache/rocketmq] Whether any time delay of 5.0.0 can be merged into the 4.9.x branch？ (Issue #6275) Let's move to GitHub Discussion, see #6153. Our company has incorporated the precision delay feature into 4.9.4 and has been running in production for over 3 months，I can provide this pr — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

引入4.9.4和5.0.0都可以，不过5.0的litepull客户端访问旧版broker不可以

Hi @onejimmyboy, we have no plans to merge the accurate delay code from 5.0.
The 4.9.x branch will not introduce new features, only necessary bug fixes will be merged.
RocketMQ 5.0 introduce new features by the new module as proxy and container which means you can use it in the totally same way as RocketMQ 4.9 or any other preceding version.
In other words, RocketMQ 5.0 is just another 4.10 version if you don't need these new modules.


Audit our use of jquery.cookie on website

Why is that file in our footer? Either justify its inclusion, and document it, or take it out.

I took it out in a local copy, as I was cleaning up other stuff. I clicked every link in the side nav. No errors in console. I'm going to declare victory here.


add: support for transfer to bankcard

https://pay.weixin.qq.com/wiki/doc/api/tools/mch_pay.php?chapter=24_2

Codecov Report

Merging #350 into master will decrease coverage by 1.07%.
The diff coverage is 13.79%.

@@            Coverage Diff            @@
##           master    #350      +/-   ##
=========================================
- Coverage   72.97%   71.9%   -1.08%
=========================================
  Files          74      75       +1
  Lines        2601    2630      +29
=========================================
- Hits         1898    1891       -7
- Misses        703     739      +36

Impacted Files
Coverage Δ

wechatpy/pay/api/transfer_bankcard.py
0% <0%> (ø)

wechatpy/pay/utils.py
81.81% <57.14%> (-4.67%)
:arrow_down:

wechatpy/crypto/cryptography.py
15.38% <0%> (-84.62%)
:arrow_down:

Continue to review full report at Codecov.

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

@messense 看一下这样写 ok 吗？


Addition of a Reproducibility Framework

Description
Adding a reproducibility framework that uses Tribuo's self-describing models and OLCUT to re-train a given model. It also exposes a configuration manager allowing users to modify the configuration before re-training. This framework also can create a diff between two model provenance objects, for the purpose of comparing a model to its reproduced version.
The framework is a new module within Tribuo that is targeted at Java 16. The module contains a new class, ReproUtil.
A ReproUtil must be instantiated with either a Model or ModelProvenance object. Once instantiated, users can access the OLCUT configuration manager using a getter method. Two methods on the ReproUtil object will re-train a model.
Either reproduceFromProvennace or reproduceFromModel. The  reproduceFromModel will only execute if the user passed a Model object upon initial instantiation. Both methods will retrain a model from the configuration stored within a the model's provenance; however, reproducing from a model will additionally compare metadata not stored in the provenance (feature and output domains).
Motivation
This is a new feature that allows automatic reproducibility for any Tribuo-trained model. This framework helps increase the reproducibility of data science conducted using Tribuo, and can act as a basis for an experimental framework since the framework control all aspects of a model's configuration.

So it looks like the tests directly pass on Java 16 which is good, and I'll poke at the CI a little to figure that out.


Please start providing context for nuanced config settings.

Every config I have seen lacks context.  When dealing with complex configs, we need to start providing the settings around the configuration options of interest in case other passer-bys are looking for where to include these specific and nuanced settings.  This is the only page that talks about scss being used in angular-cli.json

@mmalerba Why is travis-ci linter failing? This isn't a code change it's a documentation change.

@megamindbrian looks like a lint error that was accidentally merged into master a while back. It has since been fixed and will probably go away if you rebase

@mmalerba How do I rebase a commit made through Githubs editor?  All the changes are stored online so I don't have a separate branch.  How do I checkout megamindbrian:patch-1 when it doesn't show in the history?
Looks like you can do this:

I'll just ignore the lint issue warning merge after this is LGTM'd, since it's clearly unrelated to your changes

I don't think this is the place to describe what the config file should look like; that level of detail belongs to the angular-cli documentation

You're wrong.  What is there is meaningless without context.  Showing that
the angular/material2 theme can be imported by the styles: [] section of
config is your responsibility since it is already on the page, and it is
meaningless without context.  It's also hard to read the way it currently
exists.
On Thu, Aug 17, 2017 at 10:39 AM, Jeremy Elbourn<EMAIL_ADDRESS>wrote:

Closed #6068 https://github.com/angular/material2/pull/6068.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/material2/pull/6068#event-1210586959, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AX5XbkpvobCyGvzyMa0sBPokDkEZqWKHks5sZHrrgaJpZM4OkWTl
.

If you are using the Angular CLI, support for compiling Sass to css is built-in; you only have to add a new entry to the "styles" list in angular-cli.json pointing to the theme file (e.g., unicorn-app-theme.scss).

@megamindbrian what context is missing? That paragraph tells you

What entry you need to add
What file you need to add it to
Where in that file you should add it

The only improvement I could see is changing angular-cli.json to .angular-cli.json to match recent cli updates.

Where is styles?
On Thu, Aug 17, 2017 at 12:35 PM, Will Howell<EMAIL_ADDRESS>wrote:

If you are using the Angular CLI, support for compiling Sass to css is
built-in; you only have to add a new entry to the "styles" list in
angular-cli.json pointing to the theme file (e.g., unicorn-app-theme.scss
).
@megamindbrian https://github.com/megamindbrian what context is
missing? That paragraph tells you

What entry you need to add
What file you need to add it to
Where in that file you should add it

The only improvement I could see is changing angular-cli.json to
.angular-cli.json to match recent cli updates.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/material2/pull/6068#issuecomment-323172521,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AX5XbtM2sGwCbE4Os5xj3C-yIUH7hUuhks5sZJYSgaJpZM4OkWTl
.

in angular-cli.json

{
    "apps": [
        {
            "name": "unicorn-app",
            ... main, polyfills, etc
        },
        "styles": [
            "unicorn-app-theme.scss"
        ]
    ]
}

{
    "apps": [
        {
            "name": "unicorn-app",
            ... main, polyfills, etc
        }
    ],
    "styles": [
        "unicorn-app-theme.scss"
    ]
}

{
    "defaults": {
        "styles": [
            "unicorn-app-theme.scss"
        ]
    }
}

{
    "project": {
        "styles": [
            "unicorn-app-theme.scss"
        ]
    }
}

@willshowell This is why people can't trust open source.

https://github.com/angular/material2/pull/6530

https://github.com/angular/material2/issues/4125#issuecomment-318893710

Because even people working for Google hate writing documentation.
On Aug 18, 2017 6:01 AM, "patrikx3"<EMAIL_ADDRESS>wrote:

this scss is still not fixed. :( no matter i do i get this, i use 9
themes, all dynamic, the aot built no warning but in dev it shows warning
and i do use the @mat-core, i even include every where.
does it only work '''angular-cli''' or what, i use the exact theme guide ,
still the warning keeps.
what can i do? i see my questions is closed, but the "warning" kept.
ok it works but ok, why do i get a warning without i created the themes
guide.
i just use webpack. that's all plus angular-compiler, with or without
styleUrls....
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/angular/material2/pull/6068#issuecomment-323347002,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AX5XbiY82m_gHz7PKwZdE7tz1ivBjnxJks5sZYsGgaJpZM4OkWTl
.


Hotfix/issue-490

This change is

Current coverage is 58.29% (diff: 94.44%)

Merging #491 into master will increase coverage by <.01%

@@             master       #491   diff @@
==========================================
  Files          1944       1944
  Lines        100072     100084    +12
  Methods           0          0
  Messages          0          0
  Branches      12430      12432     +2
==========================================
+ Hits          58335      58348    +13
+ Misses        38621      38619     -2
- Partials       3116       3117     +1

Powered by Codecov. Last update 8f6c6b9...2b49769

Reviewed 6 of 6 files at r1.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

oscm-extsvc-provisioning/javasrc/org/oscm/provisioning/intf/ProvisioningService.java, line 405 at r1 (raw file):

     *            the new values for the service attributes as specified for the
     *            subscription UDAs by the customer during the creation or
     *            update of the subscription.

Replace subscription UDA with subscription custom attribute

Comments from Reviewable


Same problem

    When i try to connect using IntheHand.net.bluetooth Bluetoothclient. I get an exception.

client.BeginConnect(endPoint, new AsyncCallback(ConnectCB), client)
I get null reference exception.
What might be causing the exception?
Originally posted by @AsfandNadeem in https://github.com/inthehand/32feet/issues/51#issuecomment-908246550

Closing as duplicate of #51


"discover_devices" not detecting "i-CONSOLE"

Hi, I am new to bluetooth (especially BLE) but want to gather data from my new Cardiostrong Ergometer BX70i. Works perfect with the IOS App iConsole+ ... Other IOS BT sniffer work also.
My goal is to connect with a raspberry 3 and log performance data into a csv file like (timestamp;power level;rpm;heartrate,etc ...) approx. every 5 or 10 secs in order to track the exercise.
I want to use your script to connect and communicate with the iConsole  (not interested in the ANT part)
Other bluetooth devices (e.g. my Samsung Galaxy phone) are detected by your script.
My Bose Speaker in range is not shown, so it seem to be low energy devices are ignored.
Raspberry 3 Stretch  version 9 (internal Bluetooth), HCI 4.1 Rev 0X145, bluetoothctl, bluez 5.48

bluetoothctl "lescan" detects the iConsole !!
gatttool connects, reads the iConsole characteristics,and can read and write something ...
Any glue what could be the problem here ??  Thanks, Gerhard

    devs = discover_devices(duration=2, lookup_names = True)
    for (addr, name) in devs:
        if name.startswith("i-CONSOLE"):
            break
        addr = None

Your device might have another name...
I don't know.. discover_devices()is from pybluez. Not my expertise.

Otherwise find out the address and hardcode it.

It appears that the iConsole bluetooth-LE models (at least mine) use the Microchip RN4870/71 proprietary protocol to expose the UART over BLE instead of classic bluetooth. As the current script uses bluez and classic bluetooth, I think a few changes are needed to support this.
The chip is described here:
http://ww1.microchip.com/downloads/en/DeviceDoc/RN4870-71-Bluetooth-Low-Energy-Module-Data-Sheet-DS50002489D.pdf
http://ww1.microchip.com/downloads/en/DeviceDoc/RN4870-71-Bluetooth-Low-Energy-Module-User-Guide-DS50002466C.pdf (see Appendix B.1)
The serial interface uses the following BLE characteristics:
49535343-1E4D-4BD9-BA61-23C647249616  UUIDSTR_ISSC_TRANS_TX  Transparent UART TX
49535343-8841-43F4-A8D4-ECBE34729BB3  UUIDSTR_ISSC_TRANS_RX  Transparent UART RX

I have not yet checked whether the underlying serial protocol is the same. I might at some point, but in any case I did a lot of googling to figure this out so I hope this helps anyone.

Too bad I can't test it, as I don't own such a device, so pull requests are welcome.

What is currently holding me back from trying is not being able to find a library for Python that provides an UART-like abstraction over the Microchip BLE UART protocol. It's not too involved so I might have a go at doing so myself at some point, but it's hard to test if it is correct (a bit of a chicken-egg problem) with the exercise bike being the only such device I have :slightly_smiling_face:

Will be interested to see if you manage to get anything working with the ble.  Ive been toying with the android code to also make it work for ble iconsole bike.  Can get the code to connect, read default characteristics and enroll for notifications on the custom ones but the bike doesn't go into the 'bluetooth' state so just times out and powers off after a while

Here's an adapted version that (I've only quickly tested) works over BLE by emulating an UART over pygatt:
https://gist.github.com/vmedea/bd064b49c00d040d6a673a8d04f1f919
pip3 install pygatt
hcitool -i hci0 lescan # find the MAC address
python3 iConsole.py 12:34:56:78:9a:bc  # insert your own MAC address

It creates a log file /tmp/log with UART debugging output (can be disabled by setting LOG to None). I've removed the ANT networking and ported it to Python 3.
It seems to work. It does some negotiation, the bike goes into bluetooth state (display turns off, buttons no longer respond), and the tool reports some information!

Cheers!  I'll take a look.  I'm not used to python but it's the negotiation bit that I'm obviously lacking in my java attempt.  Thought it'd be as simple as enrolling to the notification characteristic but theres clearly a little more to it

Subscribing to the UART_TX (49535343-1e4d-4bd9-ba61-23c647249616) is the first step. But it seems that the device will never send notifications by itself. It only replies to requests (correctly formatted packets) that are sent to UART_RX (49535343-8841-43f4-a8d4-ecbe34729bb3)  with such notifications.

I got around to trying around with this a bit today and it works great.
Thanks a lot @haraldh for doing the grunt work in reverse engineering.
Some observations:

Yes, the BLE protocol is the same serial protocol as reversed in this repository, but implemented over two GATT characteristics.
The packet labeled PING is what puts the device into bluetooth mode, it turns off the display and makes the buttons non-functional. It's possible to communicate with the device without sending that packet, but READ will return most values as 0. Only time and level will be non-zero. So it's (at least in the straightforward way) not possible to use this to 'sniff', say, the current calories and distance for loggng, without taking control.
When you stop sending READ or PING packets, the device will automatically exit bluetooth mode after a few seconds.
The last byte of the response to the READ command (the only still-undocumented one) is a status byte. 1 means stopped, 2 means started.
The current training time is not in the first four data bytes of the packet, but only in byte [4] minutes and [5] seconds. After 60 minutes, it will keep counting minutes. I haven't tried what happens when 255 minutes overflows, though.
The first byte of a packet is always 0xf0. The second byte is 0xaX for requests and 0xbX for responses from the device. The last byte of a packet is always the checksum (the sum of all the byte values mod 256). There is no explicit length byte, so the length of the packet is implicit in the packet type.
The protocol appears to be a strict request/response protocol. I've never seen the device send notifications which were not a response to requests. Except for a single case (INIT_A0), the response to request 0xaX is 0xbX with the same lower nibble.
The last byte of the STATUS response (0xb1) seems to be the maximum level that is supported by the device in SET_LEVEL (0xa6).

Thanks again for the useful comments.  I've still not managed to get it set up properly.  I can now start the proper pairing process going through the various send and receives, however I never get a reply to the Init_A3 send.  Don't suppose you have any ideas why - or any more details on what these exchanges are, or how to check them for my device?

My guess for the misc initialization packets is that INIT_A0 gets the software/interface version. For my device it responds with
f0:b7:01:01:04

STATUS gets the maximum level. As for INIT_A3 and INIT_A4 these look suspiciously as if they provide starting values for the various numbers that are read out (time, calories, etc…). I have however not experimented with different values yet!

however I never get a reply to the Init_A3 send. Don't suppose you have any ideas why

Glad to hear you got it so far. It's my experience that packets are ignored if the checksum (the last byte) is not correct. It might also be that they changed the length of the packet for your version. You could skip A3/A4 completely and try what happens.

Thanks.  I'll play around with it some more.  I have already tried sending A3 then moving onto A4 but I don't get a reply to that either or the Read request

It seems like the A3 causes synchronization to be lost completely, then. If it's really this packet jamming things up, this definitely points at a wrong length issue. A wrong checksum would still make it respond to new packets, I think.
Just curious, what is the (version?) response to  INIT_A0 for you?

Hi, I definitely get a different response to Status send.  I am getting F0 B1 00 C8 07 50 C0.
Below is logcat of my send and receives:
2020-11-17   11:45:33.329 2963-3456/org.surfsite.iconsole D/BluetoothLeService: : comm F0   A0 01 01 92 | PING
2020-11-17 11:45:33.454   2963-3040/org.surfsite.iconsole D/BluetoothLeService: Change string: F0 B0 00   C8 68 |
2020-11-17 11:45:37.662   2963-3456/org.surfsite.iconsole D/BluetoothLeService: : comm F0 A0 01 01   92 | PING
2020-11-17 11:45:37.808   2963-3040/org.surfsite.iconsole D/BluetoothLeService: Change string: F0 B0 00   C8 68 |
2020-11-17 11:45:43.317   2963-3456/org.surfsite.iconsole D/BluetoothLeService: : comm F0 A0 01 01   92 | PING
2020-11-17 11:45:43.454   2963-3040/org.surfsite.iconsole D/BluetoothLeService: Change string: F0 B0 00   C8 68 |
2020-11-17 11:45:46.129   2963-3456/org.surfsite.iconsole D/BluetoothLeService: : comm F0 A0 02 02   94 | INIT_A0
2020-11-17 11:45:46.272   2963-3040/org.surfsite.iconsole D/BluetoothLeService: Change string: F0 B0 00   C8 68 |
2020-11-17 11:45:47.732   2963-3456/org.surfsite.iconsole D/BluetoothLeService: : comm F0 A1 01 01   93 | STATUS
2020-11-17 11:45:47.874   2963-3040/org.surfsite.iconsole D/BluetoothLeService: Change string: F0 B1 00   C8 07 50 C0 |
2020-11-17 11:45:49.366   2963-3456/org.surfsite.iconsole D/BluetoothLeService: : comm F0 A0 01 01   92 | PING
2020-11-17 11:45:49.494   2963-3040/org.surfsite.iconsole D/BluetoothLeService: Change string: F0 B0 00   C8 68 |
2020-11-17 11:45:51.220   2963-3456/org.surfsite.iconsole D/BluetoothLeService: : comm F0 A3 01 01 01   96 | INIT_A3

Hi, I definitely get a different response to InitA0 send. I am getting F0 B0 00 C8 68 (the same as for the pings). [Sorry took me 2 edits to write that out right - brain fail today!]

Yup. That does look like a slightly different protocol, similar enough, but also different enough to be a challenge.
I'm surprised how often 0xC8 (200) comes back in the responses (really in every single one). Also 0x00 appears which doesn't ever appear in the responses from my device.

Out of interest what type of exercise machine is yours?  I've got a spin
bike (with manual control resistance) - I'm guessing that different
equipment will have different features and therefore protocols?
On Tue, 17 Nov 2020, 16:35 mara<EMAIL_ADDRESS>wrote:

Hi, I definitely get a different response to InitA0 send. I am getting F0
B0 00 C8 68 (the same as for the pings). [Sorry took me 2 edits to write
that out right - brain fail today!]
Yup. That does look like a slightly different protocol, similar enough,
but also different enough to be a challenge.
I'm surprised how often 0xC8 (200) comes back in the responses (really in
every single one). Also 0x00 appears which doesn't ever appear in the
responses from my device.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fharaldh%2Ficonsole%2Fissues%2F2%23issuecomment-729048018&data=04|01||26bbab741a3343a060a708d88b16ceba|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637412277351544400|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=XXO6xju36E72lq92RwUGQbqN5%2FVmROTQ2ikGKxUcEl4%3D&reserved=0,
or unsubscribe
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEXU2GS2OZKXSH2VROG7K3TSQKQ5NANCNFSM4FLKOALQ&data=04|01||26bbab741a3343a060a708d88b16ceba|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637412277351544400|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=YO9LDnyBsWKJBWgD8xHVnozrDwbxucCsfwWazZJmJeY%3D&reserved=0
.

Hi, I was reading silently since a couple of days now. I have a Asviva rowing machine which also has a iConsole Terminal. But this one uses a Microchip BM70/71 module rather than a RN4870/71. @vmedea python script seems to communicate somehow, but not as supposed.
I compared the user's guides of each and they seem to have different command sets. I will go into this deeper the next days. I just want to say thank you for your effort and free information for now, it's very helpful.

Great thanks.  It's interesting you mention BM70/71 because if I read the
generic characteristic "model number string" of my machine it returns
BM70.  So that could explain things
On Tue, 17 Nov 2020, 21:37 sackschlangen<EMAIL_ADDRESS>wrote:

Hi, I was reading silently since a couple of days now. I have a Asviva
rowing machine which also has a iConsole Terminal. But this one uses a
Microchip BM70/71 module rather than a RN4870/71. @vmedea
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fvmedea&data=04|01||4881328ed045407843ef08d88b40e291|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637412458072064736|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=nnGqK%2FnZphncG8tWdhF4Som4P5JxPGRYYMldPcKgjvs%3D&reserved=0
python script seems to communicate somehow, but not as supposed.
I compared the user's guides of each and they seem to have different
command sets. I will go into this deeper the next days. I just want to say
thank you for your effort and free information for now, it's very helpful.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fharaldh%2Ficonsole%2Fissues%2F2%23issuecomment-729228548&data=04|01||4881328ed045407843ef08d88b40e291|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637412458072074730|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=Tpls5jg%2BGGxYE%2FuCGKceYbMALkIutEKVfhBmXNnnKBA%3D&reserved=0,
or unsubscribe
https://eur04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEXU2GQI4H3TDJPEZMO5GS3SQLUG3ANCNFSM4FLKOALQ&data=04|01||4881328ed045407843ef08d88b40e291|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637412458072074730|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=OUiNIY9Kyp1JPVn9EKKvngR2PQ6Z7Uc3lh3%2F3Xi1rUM%3D&reserved=0
.

Out of interest what type of exercise machine is yours?  I've got a spin bike (with manual control resistance) - I'm guessing that different equipment will have different features and therefore protocols?

Mine is a crosstrainer "Focus Fitness Fox 5 iPlus". It has the SET_LEVEL 0..31 difficulty setting, which works automatically. Some information I could collect through Linux gatttool and cross-reference:
    attr handle: 0x0001, end grp handle: 0x0005 uuid: 00001800-0000-1000-8000-00805f9b34fb  = Generic Access
    attr handle: 0x0010, end grp handle: 0x0020 uuid: 0000180a-0000-1000-8000-00805f9b34fb  = Device Information
    attr handle: 0x0030, end grp handle: 0x0033 uuid: 49535343-5d82-6099-9348-7aac4d5fbc51  = ISSC-...
    attr handle: 0x0040, end grp handle: 0x0043 uuid: 49535343-c9d0-cc83-a44a-6fe238d06d33  = ISSC-...
    attr handle: 0x0050, end grp handle: 0x0058 uuid: 49535343-fe7d-4ae5-8fa9-9fafd205e455  = ISSC-...

    handle: 0x0001, uuid: 00002800-0000-1000-8000-00805f9b34fb  = Primary Service
    handle: 0x0002, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0003, uuid: 00002a00-0000-1000-8000-00805f9b34fb  = Device Name
    handle: 0x0004, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0005, uuid: 00002a01-0000-1000-8000-00805f9b34fb  = Appearance

    handle: 0x0010, uuid: 00002800-0000-1000-8000-00805f9b34fb  = Primary Service
    handle: 0x0011, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0012, uuid: 00002a29-0000-1000-8000-00805f9b34fb  = Manufacturer Name String
    handle: 0x0013, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0014, uuid: 00002a24-0000-1000-8000-00805f9b34fb  = Model Number String
    handle: 0x0015, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0016, uuid: 00002a25-0000-1000-8000-00805f9b34fb  = Serial Number String
    handle: 0x0017, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0018, uuid: 00002a27-0000-1000-8000-00805f9b34fb  = Hardware Revision String
    handle: 0x0019, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x001a, uuid: 00002a26-0000-1000-8000-00805f9b34fb  = Firmware Revision String
    handle: 0x001b, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x001c, uuid: 00002a28-0000-1000-8000-00805f9b34fb  = Software Revision String
    handle: 0x001d, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x001e, uuid: 00002a23-0000-1000-8000-00805f9b34fb  = System ID
    handle: 0x001f, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0020, uuid: 00002a2a-0000-1000-8000-00805f9b34fb  = IEEE 11073-20601 Regulatory Certification Data List

    handle: 0x0030, uuid: 00002800-0000-1000-8000-00805f9b34fb  = Primary Service
    handle: 0x0031, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0032, uuid: 0000e26e-0000-1000-8000-00805f9b34fb
    handle: 0x0033, uuid: 00002902-0000-1000-8000-00805f9b34fb  = Client Characteristic Configuration

    handle: 0x0040, uuid: 00002800-0000-1000-8000-00805f9b34fb  = Primary Service
    handle: 0x0041, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0042, uuid: 00000318-0000-1000-8000-00805f9b34fb
    handle: 0x0043, uuid: 00002902-0000-1000-8000-00805f9b34fb  = Client Characteristic Configuration

    handle: 0x0050, uuid: 00002800-0000-1000-8000-00805f9b34fb  = Primary Service
    handle: 0x0051, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0052, uuid: 00009616-0000-1000-8000-00805f9b34fb
    handle: 0x0053, uuid: 00002902-0000-1000-8000-00805f9b34fb  = Client Characteristic Configuration
    handle: 0x0054, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0055, uuid: 00009bb3-0000-1000-8000-00805f9b34fb
    handle: 0x0056, uuid: 00002803-0000-1000-8000-00805f9b34fb  = Characteristic
    handle: 0x0057, uuid: 00003b7e-0000-1000-8000-00805f9b34fb
    handle: 0x0058, uuid: 00002902-0000-1000-8000-00805f9b34fb  = Client Characteristic Configuration

    handle: 0xffff, uuid: 0000ffff-0000-1000-8000-00805f9b34fb

properties:
    handle: 0x0031, char properties: 0x18, char value handle: 0x0032, uuid: 49535343-026e-3a9b-954c-97daef17e26e
    handle: 0x0041, char properties: 0x18, char value handle: 0x0042, uuid: 49535343-aca3-481c-91ec-d85e28a60318 = UUIDSTR_ISSC_MP
    handle: 0x0051, char properties: 0x1c, char value handle: 0x0052, uuid: 49535343-1e4d-4bd9-ba61-23c647249616 = Transparent UART TX
    handle: 0x0054, char properties: 0x0c, char value handle: 0x0055, uuid: 49535343-8841-43f4-a8d4-ecbe34729bb3 = Transparent UART RX
    handle: 0x0056, char properties: 0x18, char value handle: 0x0057, uuid: 49535343-4c8a-39b3-2f49-511cff073b7e

Going down the BLE rabbit hole:
> char-read-uuid 00002a29-0000-1000-8000-00805f9b34fb = Manufacturer Name String
handle: 0x0012   value: 49 53 53 43 = ISSC
> char-read-uuid 00002a24-0000-1000-8000-00805f9b34fb = Model Number String
handle: 0x0014   value: 42 4d 37 30 = BM70
> char-read-uuid 00002a25-0000-1000-8000-00805f9b34fb = Serial Number String
handle: 0x0016   value: 30 30 30 30 = 0000
> char-read-uuid 00002a27-0000-1000-8000-00805f9b34fb = Hardware Revision String
handle: 0x0018   value: 35 35 30 35 20 31 30 32 5f 42 4c 44 4b 33 = 5505 102_BLDK3
> char-read-uuid 00002a26-0000-1000-8000-00805f9b34fb = Firmware Revision String
handle: 0x001a   value: 30 30 39 35 30 30 = 009500
> char-read-uuid 00002a28-0000-1000-8000-00805f9b34fb = Software Revision String
handle: 0x001c   value: 30 30 30 30 = 0000
> char-read-uuid 00002a23-0000-1000-8000-00805f9b34fb = System ID
handle: 0x001e   value: 00 00 00 00 00 00 00 00
> char-read-uuid 00002a2a-0000-1000-8000-00805f9b34fb = IEEE 11073-20601 Regulatory Certification Data List
handle: 0x0020   value: 00 00 00 00 01 00 00 00

All this seems to reveal is information about the UART / BLE communication chip used, and nothing about the underlying device.

But this one uses a Microchip BM70/71 module rather than a RN4870/71

Seems you are right in my case too ! RN was just a guess but the information in that datasheet worked for me.

Hi, well, OK, I was hoping, this might be my problem. When I start your script it goes to line

139 send_ack(PING)

(I can read "OK" but nothing else) and runs this function repeatingly because got == None doesn't change
However the LOG-file is filled with stuff like this
Startng adapter Started adapter, connecting Connected to device Subscribed to UART TX UART sending b'\xf0\xa0\x01\x01\x92' Received data: b'f0b701e70493' recv returning: b'f0b701e704' UART sending b'\xf0\xa0\x01\x01\x92' Received data: b'f0b701e70493' recv returning: b'93f0b701e7' UART sending b'\xf0\xa0\x01\x01\x92' Received data: b'f0b701e70493' recv returning: b'0493f0b701' UART sending b'\xf0\xa0\x01\x01\x92' recv returning: b'e70493' Received data: b'f0b701e70493' recv returning: b'f0b701e704' UART sending b'\xf0\xa0\x01\x01\x92' Received data: b'f0b701e70493' recv returning: b'93f0b701e7' UART sending b'\xf0\xa0\x01\x01\x92' Received data: b'f0b701e70493' recv returning: b'0493f0b701'

Well, the good news is that the UART emulation is working. The bad news is that the iConsole specific code gets a longer packet back than expected:
UART sending b'\xf0\xa0\x01\x01\x92'
Received data: b'f0b701e70493'
recv returning: b'f0b701e704'

The PING packet gets you back the expected INIT_A0 response of 0xb7 (6 bytes) instead of a PONG.
The following would work to get past:
    got = send_recv(sock, PING , expect=0xb7, plen=6)

Though it's hard to say which other packets will differ in responses.

Hi, so I did a little more digging, I ripped your script ;) so that it simply sends hex-strings and prints out the response strings, the response of my machine is quite boring by now: to any of your commands INIT_A0 ... READ except for PONG and INIT_A4 the response is

Received data: b'f0b701e70493'

as soon as I try other hex strings  (e.g. modifying the PING command by changing random values +-1) and I did not get a response string (as with PONG and INIT_A4). Thus I assume it accepts this strings as commands in some way. Where did this strings come from? I did not find any references in the user guides?!

commands in some way. Where did this strings come from? I did not find any references in the user guides?!

Yea, the problem is that this protocol, no version of it, is documented anywhere at least that I know. My luck was that @haraldh's worked for me as-is.
Trying strings will only get you so far if the protocol differs enough. At some point the only way to get something working is to intercept the traffic between the original app and the rower somehow, as that's bound to be valid. Maybe there is some way to intercept it at the android system level, or a way to emulate the app. Another option would be to reverse engineer the app and figure out the calls to bluetooth API. Alternatively there is probably some way to sniff BLE traffic drectly from the air (it's not encrypted in/ this case), but it might require special equipment.

I went through the documents for BM70/71 and RN4870/71 and I think I finally understood. These provide the GATT server and UART interface for the underlying fitness console (aka iConsole). The BT Characteristics and GAP/GATT Services are provided by the BM/RN but the command strings communicate with the console which is not documented.
Just for the fun of it I ordered the hardware as described here
https://www.polidea.com/blog/bluetooth-low-energy-sniffing-guide/
and see what this brings...

I turned on bluetooth logging in the android developer settings back in the days and ran the original iconsole app.
https://www.bluetooth.com/blog/debugging-bluetooth-with-an-android-app/

<EMAIL_ADDRESS>

wireshark is your friend to look into the contents of the network packets.

I went through the documents for BM70/71 and RN4870/71 and I think I finally understood. These provide the GATT server and UART interface for the underlying fitness console (aka iConsole). The BT Characteristics and GAP/GATT Services are provided by the BM/RN but the command strings communicate with the console which is not documented.

Yes, exactly. The UART can best be considered a dumb pipe, it can be the Nordic UART module (over classic bluetooth), Microchip UART module (over BLE), or even a cable. These hold no mysteries. But the application-specific wire protocol over it is undocumented, and clearly has a few variants. Good luck!

I also opened up the discussion forums
https://github.com/haraldh/iconsole/discussions/
https://github.com/haraldh/iconsole-android/discussions

I also opened up the discussion forums
https://github.com/haraldh/iconsole/discussions/
https://github.com/haraldh/iconsole-android/discussions

@vmedea @haraldh do you have any code we could look at? We are a research team working with brain injury patients and we are working on a small gamified prototype to increase their workout motivation. We bough the iConsole powered bike Head S330, but we are unable to connect or read data from it. I read through your conversation but I am unsure if you have succeeded. Thank you kindly.

@tomitrescak I've uploaded my current code. It works for my BLE iConsole device, hope it works for the one you are using, but there seem to be different protocols so YMMV.

@vmedea thank you! It gives me a lot to go on ... now I have to make it work on Windows in UWP ;)

@vmedea & @haraldh thank you for the work you are doing on this! I tried connecting today (I have a spinning bike with manual resistance control) and get a timeout in the INIT_A0 step. Log reads as:
Connected to device
RX handle: 85
Subscribed to UART TX
ping done f0b000c8
Timed out
Retransmit
Timed out
.....
Any thoughts?


please help me i want to insert character using tv remote keys eg 1 = abcde

1 = abcde,
2 = efght,
3 = ijkl,
4= mnop
so on
please help me for write code
thanks

Hi @rajan995
You mean, Do you want to write code that insert character like cellphone?
You can handle number key keydown event using TOAST inputdevice API.
So Just write the code you want.

yes like cellphone


Fix node selector issue

What was the issue?
The selected node will be overwritten when the page reloads, the reason was the selected node was not found in the node list. The statistics service always returns the node list randomly.
What's the fix?

Instead of looking at the selected node from a node list, it will push to the existing node list.
add sinon package for test case
add store/api unit test

please separate formatting and functional changes. it makes it much easier to review.

please separate formatting and functional changes. it makes it much easier to review.

Sure, I reverted the formatting commit.


Resolve: updating to v18 compatibility

Brief description
Resolve is now supported up to v18
Description
Latest version v18 is supporting Python installation for higher then 3.6. We have been testing it on version 3.9.13. OpenTimelineIO is working without glitch at version 0.15.
Additional info

removed lot of unused code
settings were reduced because most of the paths could be moved to pre launch hool

Testing notes:

Install BlackMagic Davinci Resolve v18
follow instructions form openpype\hosts\resolve\README.markdown for installation of OpenTimelineIO and PySide2
Start OpenPype and Launch Resolve from any project it had been assign to.
Try Create, Publish, Load, Manager

resolve https://github.com/pypeclub/OpenPype/issues/3911

I was able to launch Resolve 18 with Python 3.9.13, windows 10.
Loading Publishing and Manager works. Conform lock enabled has to be off for properly switching versions in the timeline.
Loading exr loads all representations to the Media tab.


Separate operators in the head file operators.hpp to multiple files

According to some discussions with Paul before, we may need separate the operators definition in operators.hpp to multiple files, so our build can be faster in some degree.

changed merged in, so close it


Cannot build ios with v5.0.0, "No known class method for selector 'initializeSDK'"

🐛 Bug Report
When trying to build ios app with v5.0.0 I get the following error in XCode

With the v4.6.0 everything was working fine.
I deleted and reinstalled node_modules / pods and removed podfile.lock etc.
Nothing helped...
Environment
System:
OS: macOS 12.0.1
CPU: (8) arm64 Apple M1
Memory: 134.63 MB / 16.00 GB
Shell: 5.8 - /bin/zsh
Binaries:
Node: 16.13.0 - /var/folders/j5/ckgkc5b95wb6p5vhwt_h9dyr0000gn/T/fnm_multishells/22085_1636740599654/bin/node
Yarn: Not Found
npm: 8.1.3 - /var/folders/j5/ckgkc5b95wb6p5vhwt_h9dyr0000gn/T/fnm_multishells/22085_1636740599654/bin/npm
Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.11.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 21.0.1, iOS 15.0, macOS 12.0, tvOS 15.0, watchOS 8.0
Android SDK:
API Levels: 28, 29, 30
Build Tools: 28.0.3, 29.0.2, 29.0.3, 30.0.3
System Images: android-30 | Google APIs ARM 64 v8a, android-30 | Google APIs Intel x86 Atom, android-31 | Google APIs ARM 64 v8a
Android NDK: Not Found
IDEs:
Android Studio: 4.2 AI-202.76<IP_ADDRESS>51085
Xcode: 13.1/13A1030d - /usr/bin/xcodebuild
Languages:
Java: 1.8.0_292 - /usr/bin/javac
npmPackages:
@react-native-community/cli: Not Found
react: 17.0.2 => 17.0.2
react-native: 0.66.3 => 0.66.3
react-native-macos: Not Found
npmGlobalPackages:
react-native: Not Found

The changelog of facebook-ios-sdk here:
https://github.com/facebook/facebook-ios-sdk/blob/main/CHANGELOG.md#900
Maybe this helps...

I get this same error even though I've confirmed that the method does exist inside FB core pods

How does the example app work for you? I need someone to try it and let me know, because I built that thing a billion times while doing the forward port to facebook-ios-sdk v11 - very curious for results
You may like npx react-native-clean-project as a thing to try as well

Oh wait! This is different. There's just a new way to initialize, you probably should not be doing it there in your AppDelegate.m - you probably should be using our JS hook:
https://github.com/thebergamo/react-native-fbsdk-next#platform-neutral-sdk-initialization
However, you can do that and the documentation is now out of date. Should look like
https://github.com/thebergamo/react-native-fbsdk-next/pull/125/files#diff-be03dd17b2019e2f4ddd389c2a9dbfceaf560485d2111c8462bc0c8530695878R48
Someone please try that and let me know!

I have a PR that I will merge shortly with updates to the README for the new SDK init style and I've updated the release notes to contain this extra breaking change. Thanks for bringing this up! We probably would not have noticed it otherwise.
I will close this as I presume we have the fix for it, but if it needs further work we may reopen


Add Gender and DateOfBirth

Is it possible to add Gender and DateOfBirth?

I'm pretty sure Health Connect does not support this:
https://developer.android.com/health-and-fitness/guides/health-connect/data-and-data-types/data-types#permissions

Oh I must have mixed it with https://developer.android.com/health-and-fitness/guides/health-services/health-platform
which is deprecated.


html/template: ``literal cut off

What version of Go are you using (go version)?

$ go version
go version go1.11.3 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/ef/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/ef/code/go/"
GOPROXY=""
GORACE=""
GOROOT="/usr/lib/go"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build993540070=/tmp/go-build -gno-record-gcc-switches"

What did you do?

I tried to insert a raw js string literal in an html template with a substring // (two forward slashes)
https://play.golang.org/p/XKpExxgMybM
What did you expect to see?

Template is:

Result is:
<script>
console.log(`a/${url}`);
    console.log(`a//${url}`);
</script>

The original template was output as their are no template directives present
What did you see instead?

Template is:

Result is:
<script>
console.log(`a/${url}`);
    console.log(`a
</script>

The second raw string literal is cut off in the middle

/cc @mvdan

Smaller repro: https://play.golang.org/p/Me6SXmTA4Kt
I see that this happens with backquotes, but not single or double quotes. It appears like backquotes were added much later in JS, and have been modified in ES2016 and ES2018: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
Adding support for them, as long as they're well understood and the code is simple, seems fair enough to me. I don't know what the policy is in regards to what JS features html/template shoud incorporate.

After a bit of search, I realised this was brought up years ago, so I'm closing this issue as a duplicate of #9200.

After a bit of search, I realised this was brought up years ago, so I'm closing this issue as a duplicate of #9200.

@mvdan Wow that is a brilliiant discovery, but I think there is a bit of a difference between these two issues.
#9200 mentioned that template directives that took place inside quasi literals are not properly escaped to get rid of injected placeholders with executable code. Thus it requires at least one formatting directive to be reproduced. However, in this issue the reproduction does not need any formatting directive, the reproduction only consisted of a plain template string.
Though I am pretty sure that both issues are caused by lack of support on ES6 formatting string. I still have another concern regarding the package:
Shouldn't the package just copy what is written on the template as is, if it does not understand what it means? I think instead of silently discarding values without returning any error, which might cause confusion while debugging, maybe this behavior is better:
If (part of) the template could not be understood:

If this part does not include any formatting directives, output as is.
If this part include formatting directives, give up executing the template and return an error.

I've retitled the older issue to be about adding support for template strings. Now this issue is more clearly a duplicate - both issues would be fixed by adding that feature.

Shouldn't the package just copy what is written on the template as is, if it does not understand what it means?

No, that would be very complex and subtle. Right now, some of your template bytes are being discarded because they are being parsed as a comment. If you want to work around that before #9200 is fixed, somehow remove the double slash, or instead use single or double quotes.
Something we could likely do in the short term is teach html/template about tokens it doesn't yet support, like backticks. Then your template would get a parse error. I'm not sure if that's better than what we currently have, where these unknown tokens are parsed like any other character.


Update implementation of argMin/Max to align with latest WebNN API Spec

Issue reference: https://github.com/webmachinelearning/webnn-baseline/issues/79
@huningxin @fdwr @BruceDai PTAL, thanks!

LGTM, thanks @mei1127 !


A problem with INSERT INTO SELECT

There are cases when if running these queries throws an exception that a certain column doesn't exist, although it is listed right after that.
-- There's already a `table` has a MergeTree engine.
CREATE TABLE table_buffer AS table ENGINE = Memory;
-- `table_buffer` has exactly the same column names, order etc., but is `Memory`

-- some data was inserted to `table_buffer`

-- trying to insert the data from the `table_buffer` to the `table` with a filter that prevents dupes
INSERT INTO table SELECT DISTINCT
    id, date, timestamp, field1, field2, field3, field4, field5, now() AS created_at
FROM table_buffer
WHERE (id, date) NOT IN (
    SELECT DISTINCT id, date FROM table WHERE timestamp >= '2017-01-10 11:46:35' AND timestamp <= '2017-01-11 03:40:09'
);

Code: 16, e.displayText() = DB::Exception: There is no column with name field3. There are columns: id, created_at, date, timestamp, field1, field2, field3, field4, field5, field6, field7, e.what() = DB::Exception

(actual field list is a bit different).
So it says it's missing a column (which is not even used in the WHERE .. IN .. statement), but the source table really does have it (it's even mentioned in the list of the available columns).
We have this kind of problem right after updating from the 1.1.54083 with two separate MergeTree tables (~200M rows each). The problematic fields are of the UInt32 type, not sure if it is relevant or just a coincidence.
Here's the traceback:

0. /usr/bin/clickhouse-server(StackTrace::StackTrace()+0x16) [0x122ad76]
1. /usr/bin/clickhouse-server(DB::Exception::Exception(std::string const&, int)+0x1f) [0xf8792f]
2. /usr/bin/clickhouse-server(DB::NullableAdapterBlockInputStream::getActions(DB::Block const&, DB::Block const&) const+0x458) [0x25f42e8]
3. /usr/bin/clickhouse-server(DB::NullableAdapterBlockInputStream::NullableAdapterBlockInputStream(std::shared_ptr<DB::IBlockInputStream>, DB::Block const&, DB::Block const&, std::shared_ptr<DB::NamesAndTypesList> const&)+0x2af) [0x25f477f]
4. /usr/bin/clickhouse-server(DB::InterpreterInsertQuery::execute()+0xb99) [0x1e029a9]
5. /usr/bin/clickhouse-server() [0x119c49f]
6. /usr/bin/clickhouse-server(DB::executeQuery(DB::ReadBuffer&, DB::WriteBuffer&, DB::Context&, std::shared_ptr<DB::IBlockInputStream>&, std::function<void (std::string const&)>)+0x1e7) [0x119d847]
7. /usr/bin/clickhouse-server(DB::HTTPHandler::processQuery(Poco::Net::HTTPServerRequest&, HTMLForm&, Poco::Net::HTTPServerResponse&, DB::HTTPHandler::Output&)+0x10de) [0xf8e10e]
8. /usr/bin/clickhouse-server(DB::HTTPHandler::handleRequest(Poco::Net::HTTPServerRequest&, Poco::Net::HTTPServerResponse&)+0x222) [0xf8f812]
9. /usr/bin/clickhouse-server(Poco::Net::HTTPServerConnection::run()+0x27b) [0x305e74b]
10. /usr/bin/clickhouse-server(Poco::Net::TCPServerConnection::start()+0xf) [0x3042e5f]
11. /usr/bin/clickhouse-server(Poco::Net::TCPServerDispatcher::run()+0x10b) [0x30609eb]
12. /usr/bin/clickhouse-server(Poco::PooledThread::run()+0x87) [0x30d8707]
13. /usr/bin/clickhouse-server(Poco::ThreadImpl::runnableEntry(void*)+0x96) [0x309c086]
14. /lib/x86_64-linux-gnu/libpthread.so.0(+0x8184) [0x7f6cd69bc184]
15. /lib/x86_64-linux-gnu/libc.so.6(clone+0x6d) [0x7f6cd5fd737d]

Judging by the stacktrace, perhaps it's related to NULL support?
I wrote a while ago to the<EMAIL_ADDRESS>with more data; now I was able to reproduce it locally. Is there anything you'd need to investigate it?
Thanks in advance!

Sent detailed answer on your email.
It seems that in this example order of fields inside SELECT (..fields..) is incorrect in your query.
At least, in a similar example from your letter it was so (table session_all_bug).


(chore) Update Roadmap: The roadmap is a bit lagging and does not reflect the current priorities

Closing. The roadmap looks up-to-date enough.
Besides, we are tagging issues with versions too, which can give an idea of our priorities as well.


Add Tests for the BitNavGroup component

The BitNavGroup component has been removed in #4018
so I close this issue.


Convert Class to a JavaScript class

Converts Class  into an actual JavaScript class. This PR does not attempt to refactor the existing implementation in any other way aside from moving the methods into the class definition itself.
I tried to keep the diff as reasonable as possible, but Github is showing a lot of white-space changes. I would recommend to check out the branch and inspect the diff in your IDE.
Implements parts of #8806.

Looks good +1 GitHub has a "hide whitespace" option in the UI:

TIL, fancy.


[Popup][base-ui] Popup does not open within the viewport

When the popup's anchor is placed near the edge of the viewport, the popup is clipped instead of positioning itself so it's entirely visible.

Demo: https://codesandbox.io/s/late-http-d6dwlp?file=/package.json
Repro steps:

Click on the button
See that the popup content is not fully visible

Hi, I can take a look at this

Sure, go ahead!

Is this solved or should i work on this?

Hello @AjayAsnani
I believe I have already solved it. You can check in the changed I have made on my PR. Looking at the profile of @michaldudak it appears that he hasn’t been particularly active since I made my PR. I would appreciate it if you wait until my PR is properly reviewed before you start working on it. Thank you.


Weird attribute names in the class detail

When I open the detail of a class with attributes, there is a weird '@' in the end of the name of each attribute in the attributes list:

There should be just a name of each attribute.

Probably a language tag separator?


docker-compose.yml: Update bridge and wipe old eth-bridge configs bef…

Description
The latest eth-bridge contains 180 sec timeout change, and was upgraded to 0.6.0.
Configs are wiped to avoid a situation when the bridge restarts and keeps the old one.
In that situation the script would time out on Travis.
I can also later rebase marketprotocol/eth-bridge repo if needed.
Checklist

[x] Linter status: 100% pass
[x] Changes don't break existing behavior
[x] Tests coverage hasn't decreased

Affected core subsystem(s)
CI
Testing
CI
Refers/Fixes
Refs: MARKET.js #33

Pull Request Test Coverage Report for Build 428

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.7%) to 86.504%

Files with Coverage Reduction
New Missed Lines
%

contracts/MarketContract.sol
2
85.82%

Totals

Change from base Build 427:
-0.7%

Covered Lines:
282

Relevant Lines:
304

💛  - Coveralls

thanks @cryptomental - if your able and willing to to the rebase that would be awesome.

I can also later rebase marketprotocol/eth-bridge repo if needed.


Add maven wrapper

Add the maven wrapper
See issue #45

As i didn't add specific test for the maven wrapper, i was wondering if i shall modify the .travis.yml to replace the mvn command by .mvnw.
What do you prefer?

As there is nothing special as build command just a standard mvn clan install in the travis.yml; I am not even sure we should specify it and thus travis should use wrapper if it is declared.
I'll check deeper the travis doc when I am back from holidays next week.

integrated inside 49e7086ab244986800b9bc46a4dc550dd246b9de
thanks for the contribution.


Lots of hosting messages when reconnecting after internet outage

#566

duplicate of https://github.com/fourtf/chatterino2/issues/566


Archive mode

Archive mode runs a node in a mode where all intermediate database states are stored.
Alternatively, "normal" mode could include a "garbage collector" that's on by default and discards these intermediate states, so that "archive mode" means "no gcmode."

I think that we defeintly want to well define this. Here's a possible mini spec:

Add network param to the config file which indicates how many layers from the current layer a full node should keep global state data which is not the accounts db.
If node is not an archive node, it should discard all of this state when a new layer is created (based on time). If an archive node, don't delete this data - ignore this param. When data is deleted, also delete any indexes and views created exclusively from this data. What is called garbage collection above.
Add flag to startup node as archive node or full node.

I think this should suffice as a good first implementation. I think that additional issues we'll need to consider for full / archive node will only materialzie when we implement fully the STF and the new incentive scheme. I can't think about anything else beyond what's specified above right now.

implement fully the STF and the new incentive scheme

The "layers_to_keep" param should definitely be longer than the number of layers used in the lookback calculation for rewards.

@avive what about stuff that's not exactly global state data, e.g., event logs? It might be helpful here to create a table with all of the classes of data in question and the retention criteria/plan for each.

@lrettig still relevant?

Yes, but there's no imminent dev task so this issue can be closed. We'll define the spec for this soon.


CVRP Dynamic Distance Callback / No U-Turn Problem

Background: I have a limitation such that the road used is not possible of u-turn. Hence, everytime the algorithm calculate shortest distance between point k to point k+1, it should check if it visiting point k-1 or not, if it visiting then it should find a junction in-front in which vehicle able to do u-turn then calculate and return the distance between the junction and point k+1, otherwise it should just calculate and return the shortest distance between point k to point k+1.
Currently, in the example, the shortest distance between 2 points are rigidly defined in a list:

def distance_callback(from_index, to_index):
"""Returns the distance between the two nodes."""
# Convert from routing variable Index to distance matrix NodeIndex.
from_node = manager.IndexToNode(from_index)
to_node = manager.IndexToNode(to_index)
return data['distance_matrix'][from_node][to_node]

How is it possible to solve / approach my problem in the routing? Any help / suggestion is greatly appreciated

Please use the mailing list.


Add type annotations to Frame (generic.py)

Codecov Report

Merging #1894 (6a43f3c) into master (3237002) will decrease coverage by 2.74%.
The diff coverage is 87.23%.

@@            Coverage Diff             @@
##           master    #1894      +/-   ##
==========================================
- Coverage   94.20%   91.46%   -2.75%
==========================================
  Files          40       40
  Lines        9939     9875      -64
==========================================
- Hits         9363     9032     -331
- Misses        576      843     +267

Impacted Files
Coverage Δ

databricks/koalas/generic.py
89.08% <87.23%> (-6.28%)
:arrow_down:

databricks/koalas/usage_logging/__init__.py
25.66% <0.00%> (-66.65%)
:arrow_down:

databricks/koalas/usage_logging/usage_logger.py
47.82% <0.00%> (-52.18%)
:arrow_down:

databricks/koalas/__init__.py
71.66% <0.00%> (-18.34%)
:arrow_down:

databricks/conftest.py
89.83% <0.00%> (-10.17%)
:arrow_down:

databricks/koalas/spark/functions.py
88.88% <0.00%> (-7.41%)
:arrow_down:

databricks/koalas/accessors.py
86.06% <0.00%> (-6.97%)
:arrow_down:

databricks/koalas/namespace.py
78.45% <0.00%> (-4.85%)
:arrow_down:

databricks/koalas/frame.py
93.58% <0.00%> (-3.15%)
:arrow_down:

... and 14 more

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 3237002...6a43f3c. Read the comment docs.

Thanks! merging.


add milestone check in dangerfile.js

Brief Description of the PR
Checklist

[] Demo
Document

Messages

:book:
has no jsfm file changed.

:book:
jsfm test finished.

  Generated by :no_entry_sign: dangerJS

Warnings

:warning:
No Changelog changes!

:warning:
current pr not bind the milestone

Messages

:book:
danger test finished.

  Generated by :no_entry_sign: dangerJS

Messages

:book:
has no jsfm file changed.

:book:
jsfm test finished.

  Generated by :no_entry_sign: dangerJS

Warnings

:warning:
No Changelog changes!

:warning:
current pr not bind the milestone

Messages

:book:
danger test finished.

  Generated by :no_entry_sign: dangerJS


Parameters for all Options / Parameters not working

Have node 6.9.4 installed.
Have node-sass  4.5.0 (Wrapper) [JavaScript] and libsass 3.5.0.beta.2 (Sass Compiler) [C/C++] installed.
Current version of Atom is 1.15.0.
Going over the options I cannot seem to get them working and am missing the parameters for them.
For example I have this in the first line of the .scss file.
// compileExpanded: .\css\$1.css
// sourceComments: false
// indentType: tab
// indentWidth: 2
// precision: 5
// sourceMap: true
// sourceMapEmbed: true

// -- CONTENT DIMENSIONS --
$content-width: 75em; /* 1200/16 */
$header-height: 300px;
$footer-height: 200px;

body {
    width: $content-width; /* test comment */
}

header {
    height: $header-height;
}

footer {
    height: $footer-height;
}

.sample {
    width: 33.3333333333%;
    height: 31.25em; /* 500/16 */
}

.test {
    width: 28.125em; /* 450/16 */
}

This will compile to following .css file.
/* 1200/16 */
body {
  width: 75em;
  /* test comment */
}

header {
  height: 300px;
}

footer {
  height: 200px;
}

.sample {
  width: 33.3333333333%;
  height: 31.25em;
  /* 500/16 */
}

.test {
  width: 28.125em;
  /* 450/16 */
}

Comments are included. I do prefer comments to be included in general but either directly on the corresponding line or over the corresponding line but not under it. How can I achieve that? For the purpose of this issue I have tried to get rid of them but it does not work.
Indentation is 2 spaces instead of 2 tabs.
Precision is 10 instead of 5.
Source map is neither found nor embedded.
Then I cannot seem to find the parameters for the following Options.

Compile files - what is the parameter for this I put in the first line as comment?
Compile Partials - --"--
Ask for overwriting already existent files - --"--
Directly jump to error - Is the parameter for this jumpToError: true ? Is it something else?
Show 'Compile SASS' item in Tree View context menu - what is the parameter for this I put in the first line as comment?

Thank you for any help with all this.
Also did rebuild node-sass and all ok.
npm rebuild node-sass --verbose
npm info it worked if it ends with ok
npm verb cli [ 'C:\\Program Files\\nodejs\\node.exe',
npm verb cli   'C:\\Users\\-snip-\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
npm verb cli   'rebuild',
npm verb cli   'node-sass',
npm verb cli   '--verbose' ]
npm info using<EMAIL_ADDRESS>npm info using<EMAIL_ADDRESS>npm info readInstalled object
npm verb exit [ 0, true ]
npm info ok

Because I am new to Atom I was under the impression that the Options are something that needs to either be put in a config file or in a first line comment, since they are mentioned alongside the Parameters in the repo description. When you refer to Options then you mean the Settings of the Package.
Atom -> File -> Settings -> Packages -> sass-autocompile -> Settings ->


Compatibility request

Add support for Deeper and Darker

Hello @Blob336 ,
First off, thank you for your suggestion. I've successfully integrated compatibility for the Deeper and Darker mod. Before officially releasing the update, I plan to conduct further testing to ensure everything is working smoothly. I would greatly appreciate it if you could also test the compatibility on your end. Your feedback would be invaluable.


[Feature][Connector-V2][Juicefsfile] Support Juicefsfile source & sink

Purpose of this pull request
Support Juicefs source & sink.

Does this PR introduce any user-facing change?

How was this patch tested?

Check list

[ ] If any new Jar binary package adding in your PR, please add License Notice according
New License Guide
[ ] If necessary, please update the documentation to describe the new feature. https://github.com/apache/seatunnel/tree/dev/docs
[ ] If you are contributing the connector code, please check that the following files are updated:

Update plugin-mapping.properties and add new connector information in it
Update the pom file of seatunnel-dist
Add ci label in label-scope-conf
Add e2e testcase in seatunnel-e2e
Update connector plugin_config

[ ] Update the release-note.


Fix more dep issues

Found another dep issue, related to k8s.io/kubernetes. This locks that version down. Also replaces override with constraint, because override doesn't propagate down to projects depending on terratest.

Got the build to pass finally. Added another packer retry to try to make it more robust. Going to merge and release now. Thanks for the review!


[TF 2.0 API Docs] tf.image.convert_image_dtype

Added a usage example in convert_image_dtype under image_ops_impl.py. Also added an attribute error raise and listed it in docstring. The issue has been raised in the link https://github.com/tensorflow/tensorflow/issues/29386

int is not a valid tf dtype argument. You can use dtypes.as_dtype(dtype)
to make sure you have a valid dtype
On Tue, Jun 4, 2019 at 11:44 AM Imran Salam<EMAIL_ADDRESS>wrote:

@imransalam commented on this pull request.
In tensorflow/python/ops/image_ops_impl.py
https://github.com/tensorflow/tensorflow/pull/29387#discussion_r290437842
:

"""
image = ops.convert_to_tensor(image, name='image')

if hasattr(dtype, 'is_floating') or hasattr(dtype, 'is_integer'):

This looks nice. But wouldn't it throw an error at the if condition when
is_floating attribute does not exists in the dtype.
As an example:
dtype = intif not dt.is_floating and not dt.is_integer:
raise AttributeError("Type object has no attribute is_integer or is_floating")
This will raise the error
AttributeError                            Traceback (most recent call last) in ()----> 1 if not dt.is_floating and not dt.is_integer:
2     raise AttributeError("Type object has no attribute is_integer or is_floating")
AttributeError: type object 'int' has no attribute 'is_floating'
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/29387?email_source=notifications&email_token=AAABHRMMDRL73P5PIYAG6VDPY2ZXHA5CNFSM4HS24SKKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOB2R7YBY#discussion_r290437842,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAABHRMBK6ZIFSFW3NWNSN3PY2ZXHANCNFSM4HS24SKA
.

--

Alex

@alextp Hey I've done the necessary changes.

@imransalam this just forces the creation of a dtype object; it doesn't validate that it's floating or integer.

@alextp added the check

@imransalam Could you please check failed build errors? Thanks!

@imransalam Can you please address Ubuntu Sanity build failures? Thanks!

@imransalam Can you please address Ubuntu Sanity build failures? Thanks!

I looked at the invocation log,
2. do_pylint PYTHON2: Python 2 pylint
  FAIL
3. do_pylint PYTHON3: Python 3 pylint
 FAIL

These two have failed. Do you have any idea why they might occur ? Thanks

The linter is failing. If you search in the logs you'll see the specific
warnings.
On Tue, Jun 11, 2019 at 7:31 AM Imran Salam<EMAIL_ADDRESS>wrote:

@imransalam https://github.com/imransalam Can you please address Ubuntu
Sanity build failures? Thanks!
I looked at the invocation log,

do_pylint PYTHON2: Python 2 pylint
FAIL
do_pylint PYTHON3: Python 3 pylint
FAIL

These two have failed. Do you have any idea why they might occur ? Thanks
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/tensorflow/tensorflow/pull/29387?email_source=notifications&email_token=AAABHRIA2IKEU7ZHIGMJNW3PZ6ZKHA5CNFSM4HS24SKKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXNJLDI#issuecomment-500864397,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAABHROHRDT5Q7E6NRMHCMDPZ6ZKHANCNFSM4HS24SKA
.

--

Alex


Fixed #29712 -- Normalized locale input in 'makemessages' managment command

Fixes issue 29712
Continuing the work done by @MattSegal.
A user running the makemessages management command will not be able to use a translation locale if they do not use the exact right locale format.
Eg. Running the following command will create a locale folder zh-cn which will not create translations with LANGUAGE_CODE of zh-cn
./manage.py makemessages -l zh-cn
Whereas the following command will create a locale folder zh_CN which will create translations with LANGUAGE_CODE of zh-cn
./manage.py makemessages -l zh_CN
Along with providing a warning message, I added some code to normalise the user's input to the expected format.
1.
> ./manage.py makemessages -l zh-CN
Invalid locale zh-CN
processing locale zh-CN

2.
> ./manage.py makemessages -l zh-cn -l zh_cn -l ZH-CN -l ZH_CN -l zh_CN -l zh_CN -l de
Invalid locale zh-cn
Invalid locale zh_cn
Invalid locale ZH-CN
Invalid locale ZH_CN
Invalid locale zh_CN
Invalid locale zh_CN
Invalid locale de
processing locale ZH_CN
processing locale zh-cn
processing locale zh_CN
processing locale ZH-CN
processing locale zh_cn
processing locale de```

See my updated comment on the ticket.

@pope1ni  Please review this

@VishvajitP I think that the consensus on the ticket was that we don't want to coerce/normalize the value, just warn if a value provided to --locale is unknown...

@pope1ni Please check now.

@pope1ni  Please check now. Also is there a way to restart the build without pushing the commit ?

There isn't. You can amend the commit to fix the flake8 error. Also, try to follow the commit message format.

Thanks @pope1ni .

I'm not sure using all_locales is right. When you run makemessages for the first time for a new locale, you will get an invalid locale message, is that right?

@timgraham  @pope1ni  Please re-review this one.

When you run makemessages for the first time for a new locale, you will get an invalid locale message, is that right?

Urgh. Yes. I think I had compilemessages in my head where it would be fine to check against all_locales as the message files must exist. (Incidentally there is some code repetition between these commands that could be improved.)
This PR should probably be extended to handle compilemessages too. In both commands --locale and --exclude options should be validated.

@pope1ni We need to edit the ticket then ? Could you please elaborate more over there ?

@timgraham, @pope1ni Why the build does not start ?
Also could you please review the code ?
Thanks

Hi @VishvajitP Are you up for addressing the review comments here and finishing this PR? If not I can de-assign it, and I'm sure someone would pick it up to get it over the line. Thanks.

Hi @carltongibson I de-assigned this issue long back as I did not have enough time to work on this issue. Thanks

Hi for the update @VishvajitP. I see that you did that now. Sorry! (Since the PR was still open I just clicked through to check the status.) Thanks for the input!


Cherry-pick "[SuperEditor] Expose TextComponentState"

This PR cherry-picks "[SuperEditor] Expose TextComponentState (Resolves #1025) #1026" to main

@miguelcmedeiros looks like thsi branch is targetting main and not stable

@matthew-carroll the original PR got merged to stable instead of main

Darn. Ok.


Non-aligned text on the home screen

It would be great if the text is aligned as shown below in the image.
The all of a sudden bulging text on the left looks odd & messy creating a bad experience.
Aligning the text as shown would make it look neat & even.

PS: Please ignore the editing, did that on my phone :smile:

It seems to me, so it was conceived, that for the text all available width was taken away. I see it so: the header is the avatar and the information about the event and the body is the text of the event. I would leave it as it is, because then there will be a lot of free space, whereas now everything looks rather harmonious.

Some free space is needed to let content breath and make it readable for the user.
When your text is left aligned, a straight left edge appears. Users can read each line by simply moving their eyes to the left edge each time. This makes your paragraphs faster and easier to read because the user’s eyes don’t have to work as hard to find where the line starts each time.

Well maybe, possibly I'm just used to how it looks now.

I know, that's why I am bringing the perspective of how fresh eyes would want to look at it to the table :innocent:

Thanks for this @introwit, I too actually like the way it is currently as @lex111 mentioned but I definitely see how aligning things might make more sense to keep things consistent.
Would love to get other people's feedback on this - suggestions/opinions are welcome 💬

I think it's better as it is at the moment than the opportunity suggested by @introwit

One needs to adapt according to the platform. Rather than writing reasons I would love if you all can spend time in other apps like twitter, YouTube , etc. and can notice the consistency yourself. If you already use such apps you would surely be able to differentiate.

I like the design suggestion from @introwit although we have less characters to display. I agree that it looks much better to the eye also for reading. This is actually a common pattern in other apps like you suggested. I like it! :100:

@introwit thank you but I'm sure everyone here spends a decent amount of time on different platforms. Design isn't black and white - there can be different opinions :)
I happen to prefer the former look of things but we seem to have some mixed opinions :O. @andrewda , @alejandronanez , @patw0929, @Antoine38660  will love to get your quick inputs on this. If majority leans one way we'll go with that route.

Not sure how I feel, tbh. I could really go either way. I think making them unaligned emphasizes that the text is the body of the issue and not an extension of the title, but I can also see how aligning them makes it look slightly more clean.
This should be like 2 lines of code changes max, so I'd love to see someone make a PR if possible with screenshots of what this might actually look like. The main thing that's turning me off from this idea is having the lines be too long, and, as @RolfKoenders having fewer characters to work with. If that's now a significant problem, I'm basically 50/50.