Support a wider range of events to auto-comment on

Swap out the hardcoded / repeated issue.opened and pull_request.opened events and support all of the events for issues and pull requests by looping through an object defining them.
Config file uses the same camelCase approach to naming conventions.

Codecov Report

Merging #2 into master will decrease coverage by 5.88%.
The diff coverage is 94.11%.

@@            Coverage Diff             @@
##           master       #2      +/-   ##
==========================================
- Coverage     100%   94.11%   -5.89%
==========================================
  Files           1        1
  Lines          11       17       +6
  Branches        2        1       -1
==========================================
+ Hits           11       16       +5
- Misses          0        1       +1


Split the Elements notebooks into pieces

This issue summarises a discussion I've have with @jbednar and @philippjfr
We would like to get rid of the existing elements notebooks and have an Elements section in the website sidebar which expands with a list of all the elements. At the top of this list would be a navigation page showing a grid of thumbnails for all the different backends.
Each element notebook would then show how that element is constructed across backends. This proposal has the following advantages:

Makes it easier to add new elements (no need to update the whole notebook)
Makes it easier to test elements (identify which element went wrong given a failure)
Makes it easier to update those notebook tests
Make it easier to compare elements across backends.

To generate thumbnails, we would use a notebook archive. These thumbnails would be shown in a grid and there could be buttons to toggle the thumbnails between backends (unsupported elements would be greyed out appropriately).
This could all be organized in doc in an Elements subdirectory. For instance, I can imagine the following file paths:
doc/Elements/Index.html
doc/Elements/Image.ipynb
doc/Elements/thumbnails/mpl/Image.png
doc/Elements/thumbnails/bokeh/Image.png

Thanks for the summary!

I still need to do Surface and Trisurface otherwise this is ready.

I think we also decided to do something similar for the container notebooks in the end.

Added Surface and Trisurface today, closing.


launching and saying "no"

If the user import rivers2stratigraphys and then says no to the prompt, the package rivers2stratigraphy is still imported, and there is then no way to re-run the activity. I need a hook, something like rivers2stratigraphy.run() that can launch the activity over and over again.

resolved with #25


New in Chrome 65

What's changed, or what was fixed?

NIC65 post

Target Live Date: 2018-03-06

[ ] Update YouTube video link
[ ] Update Chromium change log url

:+1:

Whoops!
There were 1 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2018/03/nic65.md#L193 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'

Whoops!
There were 1 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/updates/2018/03/nic65.md#L193 - Updates post is missing RSS feed widget: '{% include "web/_shared/rss-widget-updates.html" %}'

:tada: This has been pushed live to https://developers.google.com/web/


Support use with HTTP basic auth and Commerce API on the same domain

Folks may want to use commerce-sdk-isomorphic on domains that are protected by HTTP Basic Auth.
Currently, it is not possible to do this if Commerce API is proxied under the same domain as basic auth is used as in browser, the HTTP authorization header used by Commerce API conflicts with the one used by Basic Auth.
This is a common scenario, as Commerce API doesn't support CORS and "proxying" it under the same domain is a common performance optimization and folks want to protect their in-progress storefronts from prying eyes and robots.
This issue is complex:

The way browsers implement basic auth is that they store credentials associated with a domain after they encounter the basic auth headers. On subsequent requests to the same domain, the browsers automatically adds that header. Basic auth is sent via the Authorization header.
SCAPI also wants to use the Authorization header.
We end up with a race where both the browser and this lib try to set the Auth header and the wrong header is sent (eg. the basic auth for HTTP Auth rather than SCAPI)

Normally, you can disable this behaviour using fetch's using the credentials: "omit" option:

https://fetch.spec.whatwg.org/#cors-protocol-and-credentials
https://developer.mozilla.org/en-US/docs/Web/API/fetch#parameters

However, the way we're currently using cross-fetch means that the transport mechanism is XHR, which doesn't support disabling sending credentials for same-origins: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/withCredentials
I think the solution may involve allowing the use of native fetch in browser and then folks can choose to pass the credentials to fetchOptions.

Hi John,
If you have a sample code for this that would be very helpful.

Gaurav

@gkhunger-sf the code example is here: https://github.com/SalesforceCommerceCloud/pwa-kit/compare/example-basic-auth
exclude the changes done in packages/pwa/app/commerce-api/index.js and you will see error in /token call caused by incorrect Authorization header taken from the basic auth

Fixed in #116.


Load weights for part of the parameters in the model

🚀 Feature
Partial weights loading
Motivation

I have a LightningModule which contains several parts, and in different phases different parts are needed, e.g. for "task 1" the pipeline is "module 1 -> module 2" and "module 1 -> module 2 -> module 3" for "task 2". So, in the first phase I get a module from training which has weights for module 1&2. Then I need to load the weights of them and fix module 1&2 to train module 3 in the second phase. To avoid unnecessary GPU memory usage, I define module 3 dynamically according to the phase identifier passed to the LightningModule. As a result, when loading weights of phase 1 for training phase 2, I get the error which says the parameters of module 3 cannot be found in the checkpoint of phase 1. I think it will be good if the loader can load weights for part of the parameters and ignore the missing parts but to train them from scratch.

class MyNet(pl.LightningModule):
    def __init__(phase: str = None):
        self.module1 = ...
        self.module2 = ...
        if phase == '2':
            self.module3 = ...

Pitch

Alternatives

Additional context

If you enjoy Lightning, check out our other projects! ⚡

Metrics: Machine learning metrics for distributed, scalable PyTorch applications.

Flash: The fastest way to get a Lightning baseline! A collection of tasks for fast prototyping, baselining, finetuning and solving problems with deep learning

Bolts: Pretrained SOTA Deep Learning models, callbacks and more for research and production with PyTorch Lightning and PyTorch

Lightning Transformers: Flexible interface for high performance research using SOTA Transformers leveraging Pytorch Lightning, Transformers, and Hydra.

It can be achieved by setting strict=False in load_from_checkpoint.


Fix type check for args in scheduler.py E721

Minor fix for Ruff complaint:
django_q\scheduler.py:68:24: E721 Use `is` and `is not` for type comparisons, or `isinstance()` for isinstance checks
   |
66 |                     args = ast.literal_eval(s.args)
67 |                     # single value won't eval to tuple, so:
68 |                     if type(args) != tuple:
   |                        ^^^^^^^^^^^^^^^^^^^ E721
69 |                         args = (args,)
70 |                 q_options = kwargs.get("q_options", {})

Pull Request Test Coverage Report for Build<PHONE_NUMBER>7
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-0.03%) to 89.689%

Files with Coverage Reduction
New Missed Lines
%

django_q/core_signing.py
1
80.85%

Totals

Change from base Build<PHONE_NUMBER>6:
-0.03%

Covered Lines:
3375

Relevant Lines:
3763

💛  - Coveralls


fix: display link for all users

Access was OK but the link wasn't being rendered

superseded by #515


✨ Proposal: convert handler function of net/http to  handler function of hertz

Is your feature request related to a problem? Please describe.
Hope to convert handler function of net/http to  handler function of hertz

Support for fast migration of net/http services to hertz

Describe the solution you'd like

add handler adapter to convert handler function of net/http to  handler function of hertz

Notice

A lot of useful functionality provided by hertz is missing
net/http -> hertz handler conversion has some overhead

https://github.com/cloudwego/hertz/pull/253

https://github.com/cloudwego/hertz/pull/253


grunt-usemin 3.1.0 breaks grunt tasks

Turns out that the file name has been updated from "uglifyjs" to "uglify" (in the newest version of usemin). I :heart:  such updates...

Fixed here https://github.com/xhtmlized/generator-xh/commit/377fba6bec301213f2e7872219c13c1c1fb2d155


Improve README.md

Improve README.md to get the new developer or contributer can get start with the app easily.

[x] Add a screenshots in the README.md

Hi! I can help with this one. Kindly provide with the details. Also consider assigning me. Thanks!

Hey @danger-ahead This issue will remain open as long as development is going on, we will improve it if there's any missing part to run the app successfully. As of now there's no work on this.

Closing this as there is no need for improving a readme


Feature: Login with Session Cookie

This package already handles session cookies for authentication between requests. With these few changes, the session cookie string can be extracted (to be stored elsewhere) and re-used at a later time. The suggested login flow follows that of authentication by login token, verifying the session cookie through an attempted call to whoami.
I've tested this against my own CT instance, I'm not sure about the official integration tests of this package though (I'll try to provide tests).

@DumbergerL thank you!
There was an error in the integration test that is now fixed (at least it is now running successfully on my end - thanks for the hints).
I've added a few more details to the implementation and fixed some issues that I came across while testing this new feature in another project. Let me know if anything is unclear to you!

Nice one @devdot! Thank you very much!


Run Travis CI on Windows as well for unit tests and fix broken tests.

The test might fail again. I think it's because we use dict thus the order is not fixed.

The test might fail again. I think it's because we use dict thus the order is not fixed.

Good to know. In the few times I tried, the order seems to be the same. But we could force a sort if it ends up being flaky.


iPhoneX8 goes down a few pixels down.

IPhone 8 goes down a few pixels down.
Other devices have no problem.
It seems to be a problem of iPhone X's height, but I do not know the solution.

Thanks for reporting. Let’s see if I can reproduce the issue 👍🏼

@eastswift can you check if the issue is fixed in the latest version (1.1.1)?

It works well. It's cool.


[Feature Request] Different folders for different Sudos

Hello, I have been using this bot from a long time and it's going great.
I'd like to request a new feature where in we can have different folders for different sudo users so it doesn't mess with the other sudo users files/folders
It'd be great if you could add it.
Thanks :)

Might eventually add that, but the bot is built around the idea that all mirrored files (both in progress and completed ones) are accessible by everyone in the chat - as this isn't supposed to be a public bot.
So if I do implement this, files will still be accessible to everyone - they'll just be uploaded to the sudo users' folder instead.


basic client config to pass default max conns per host.

By default the Swagger client doesn't configure this, which falls back to Go's default http.DefaultMaxIdleConnsPerHost which is 2, which will exhaust TCP connections if calling the API with many concurrent goroutines.

Codecov Report

Merging #1455 (08e0993) into master (a981183) will increase coverage by 0.00%.
The diff coverage is 66.66%.

@@           Coverage Diff           @@
##           master    #1455   +/-   ##
=======================================
  Coverage   39.64%   39.64%
=======================================
  Files         158      158
  Lines       12588    12593    +5
=======================================
+ Hits         4990     4992    +2
- Misses       6884     6887    +3
  Partials      714      714

Impacted Files
Coverage Δ

api/client.go
3.66% <66.66%> (+0.42%)
:arrow_up:

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 a981183...08e0993. Read the comment docs.

I don't understand why we are increasing MaxIdleConnsPerHost; how does that reduce the number of connections used? I think we want to set MaxConnsPerHost.

See https://stackoverflow.com/questions/39813587/go-client-program-generates-a-lot-a-sockets-in-time-wait-state - when running the abuse tests, I quikly generated more "live" sockets than the OS allowed me. Almost all of them were in TIME_WAIT state. By increasing MaxIdleConnsPerHost we avoid closing and then immediately repopening a new connection (which will be opened before the server closes the connection too, thus we accumulate many connections in TIME_WAIT status)

I don't understand why we are increasing MaxIdleConnsPerHost; how does that reduce the number of connections used? I think we want to set MaxConnsPerHost.

@arielshaqed See https://stackoverflow.com/questions/39813587/go-client-program-generates-a-lot-a-sockets-in-time-wait-state - when running the abuse tests, I quikly generated more "live" sockets than the OS allowed me. Almost all of them were in TIME_WAIT state. By increasing MaxIdleConnsPerHost we avoid closing and then immediately repopening a new connection (which will be opened before the server closes the connection too, thus we accumulate many connections in TIME_WAIT status)

Thanks for the ref!  tl;dr: Not a fan of this solution, but the most rapid unblocking.  And:

Complaints about tuning are reduced by not needing to tune it right now.
Complaints about possible bad performance will be made stronger by showing a better (higher throughput) implementation.

It is mysterious a knob I don't understand how to tweak.
I still don't understand this SO "solution"; it will be hard to understand just how large the magic value needs to be.  This solution appears to cover up an issue with how we use the Go HTTP client.  I believe that for performance testing a correct solution is to use a separate client connection pool for each goroutine.


Local universe improvements: better log errors

Add logging if we're unable to grab a specific http resource or docker image.

Will output text like this near the end of the build:
Errors: ['kubernetes']
These packages are not included in the image.
Unable to add these Docker images to the Universe::
Missing files: ['gcr.iono/google_containers/k8s-dns-dnsmasq-nanny-amd64:1.14.9']
Unable to add these files to the image:
Missing files: ['https://githubno.com/heptio/ark/releases/download/v0.6.0/ark-v0.6.0-linux-amd64.tar.gz', 'https://downloads.mesosphere.com/libmesos-bundle/libmesos-bundle-1.11.0.tar.gz.no', 'https://downloads.mesosphere.comno/kubernetes/assets/1.1.1-1.10.4/kubernetes-scheduler.zip']```


License?

Under what license are these definitions published?
Btw.: Awesome work! Great to start this effort!

Under what license are these definitions published?
Btw.: Awesome work! Great to start this effort!

MIT

Awesome, I took the liberty to open #2 to have the license and information more visible.


[Formatting Bug]: does not format when inline directive and if directive mixed

Version
1.8.12
Template before formatting
<div @php($counter = 1) >
     <x-share>
    @if ($counter)
          {{--  --}}
    @endif
  </x-share>
</div>

Template after formatting
<div
  @php($counter = 1) >
     <x-share>
    @if ($counter)
          {{--  --}}
    @endif
  </x-share>
</div>

Expected Behaviour
Expected

@php($counter = 1) not to wrap and stay in the same line like <div @php($counter = 1) >.
<x-share> to have the same indent as </x-share>.
the space between @php($counter = 1) and the closing bracket > to be removed.

Config
This test is done with a fresh Prettier VSCode plugin & no config rules aside from the essential to make this plugin work:
{
  "plugins": ["@shufo/prettier-plugin-blade"],
  "overrides": [
    {
      "files": ["*.blade.php"],
      "options": {
        "parser": "blade"
      }
    }
  ]
}

Workarounds

replacing @php($counter = 1) with @php $counter = 1 @endphp.
remove the @if statement inside the x-share component.

Relevant log output
<div @php($counter = 1) >
        <x-share>
    @if ($counter)
       {{--  --}}
    @endif
    </x-share>
</div>

Fixed at https://github.com/shufo/prettier-plugin-blade/releases/tag/v1.13.4.
Thanks for your patience!


The Progression of James Bond Films and Music

Proposal
Hello everyone!  This project would analyze the evolution of the character, James Bond, as well as the evolution of the music associated with each film.  The purpose would be to compare the different versions of Bond portrayed by Daniel Craig, Roger Moore, Sean Connery, Pierce Brosnan, Timothy Dalton, David Niven, George Lazenby.  The lyrics, instrumentation, artists, and themes will be compared to help understand the James Bond franchise in a new light.  This could help us understand culture, standards and expectations in the 1970's for example.

Organization
Portrayals
- Provides a few paragraphs on each actor and the version of James Bond that is portrayed.
- The films will be listed with each actor as well as the duration of each portrayal.
Soundtracks
- Each intro song will be analyzed first with appropriate XML markup.
- Comparisons can be made to discover similar themes in lyrics as well as in instrumentation with motifs.
- Soundtracks that do not include lyrics can be analyzed as well to discover mood, themes, and exactly how the pieces fit into the film and the character of James Bond.
Text Comparison
- Frequency of text or phrases can be provided through programs such as Voyant.  Charts or graphs can be made through Excel, or another software program.
Essay:  Evolution of James Bond
- This can be a short essay analyzing and providing insight on how James Bond has evolved in Pop Culture.
- This could be interactive for the user.
- Soundbites from interviews with some actors can emphasize points in the essay.  Soundbites that include film music, will help illustrate the tone, mood, and ambiance for each story within the franchise.
Remarks
There are probably other directions to take this project.  I think this would be interesting to see how (or if) each film influenced a particular decade.  I am curious to hear your feedback.
Thank you for your time.

Just a quick comment: I'm glad you're thinking ahead about charts and graphs! You'll be learning how to work with XPath and XSLT, possibly XQuery on your projects to pull data from your markup and plot patterns in a way that's easy to share and view over the web: so you'll be writing some code that remixes your XML code into HTML and SVG (scalable vector graphics, generated in XML syntax)!


Move github-insights in this repository

What do you think of moving github-insights repository here ?

Given my most recent PR (https://github.com/Zenika/github-insights/pull/5) it would make sense to have it here to access the generated data directly.
But deploying it as an NPM  package and allowing the user to select the folder in which the data will be generated has its merits. I think Github Insights has other use-cases and could help out other people.

Sure but this repository could be a monorepo so we could publish this github-insights as an npm package. What do you think ?

Sounds good to me, where would we move it? At the root under a scripts folder?

I was thinking more about lerna's approach. It's used by a lot of projects. So we could have to packages github-insights and insights-website 😄


For YouTube Links, it is not fetching Video Thumbnail

Video Thumbnails is not being fetched.......

Experiencing with behavior for a +- week now as well.

I will have a look at it when I have time. The code is there, so feel free to explore it, find the issue and open a PR. Contribution is always welcome.

I have done some debugging with SwiftLinkPreview & YouTube videos.
In RESPONSE, there are no images URL fetched in .image and .images.

@dhanrajdc7 I might have a clue how to solve this.
Maybe YouTube has changed the metatag on their website or changed how they label images. You could try fixing it by identifying the change in the html source code of a video page.
I am currently on vacations and have no computer around.

Ok, I will give it a try

Seems to be fixed with the new version.


added bubble_sort in python

added optimised bubble sort written in python3

@singhroshan1999   : Please resolve the conflicts and submit for review. Thanks.

Thanks for contributing!


Fix sisl settings include.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 45.28%. Comparing base (ec891d2) to head (d0c9fbf).
Report is 5 commits behind head on master.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #96      +/-   ##
==========================================
+ Coverage   45.26%   45.28%   +0.02%
==========================================
  Files          54       54
  Lines        4012     4012
  Branches      478      478
==========================================
+ Hits         1816     1817       +1
  Misses       2065     2065
+ Partials      131      130       -1

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


fix: workaround for ARGO_TOKEN

New step update-argo-token added to assure ARGO_TOKEN is updated in case of credential rotation

Please add the same logic for KO and modinput tests even if not needed there it would be at least consistent

:tada: This PR is included in version 3.0.3 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Using markdown-it plugin breaks the subcomponents inside the markdown file in nuxt

I'm having an issue rendering vue components within the markdown files when trying to use the highlightjs or prism to highlight code. I'm using Nuxt.
When my configuration is:
{
  test: /\.md$/,
  loader: 'frontmatter-markdown-loader',
  options: {
          mode: [Mode.VUE_COMPONENT]
  }

The components inside the markdown are rendered correctly, but then my code is not highlighted.
When I change the configuration to look like this:
{
  test: /\.md$/,
  loader: 'frontmatter-markdown-loader',
  options: {
          mode: [Mode.VUE_COMPONENT],
          markdownIt:{
            html: true
          }
  }

Everything works ok too, which is expected as this is the default configuration.
However, if I try to use a markdownIt renderer or to extend for use with a highlighting plugin everything breaks.
const markdownIt = require('markdown-it');
const markdownItPrism = require('markdown-it-prism');

{
  test: /\.md$/,
  loader: 'frontmatter-markdown-loader',
  options: {
          mode: [Mode.VUE_COMPONENT],
          markdownIt: markdownIt({ html: true })
  }

or with the plugin
const markdownIt = require('markdown-it');
const markdownItPrism = require('markdown-it-prism');

{
  test: /\.md$/,
  loader: 'frontmatter-markdown-loader',
  options: {
          mode: [Mode.VUE_COMPONENT],
          markdownIt: markdownIt({ html: true }).use(markdownItPrism)
  }

The html (although html:true is there) is just rendered as normal text and the code is not highlighted either.
Am I missing something or is just that this functionality is not there? If the latter, is there any suggested workaround?
At this point I'm stuck either being able to highlight code if the Mode is Mode.html but this doesn't render the components within the markdown, or to render the components with Mode.VUE_COMPONENT but then the code is not highlighted.
Any help with this is appreciated. Thank you.

I just confirmed markdownIt({ html: true }).use(markdownItPrism) works correctly in the sample repo.
https://github.com/hmsk/frontmatter-markdown-loader-nuxt-sample/pull/2
I guess you missed to provide a stylesheet which markdown-it-prism requires.

The plugin will insert the necessary markup into all code blocks. Include one of Prism’s stylesheets in your HTML to get highlighted code.

https://github.com/jGleitz/markdown-it-prism
In Nuxt, adding prismjs/themes/prism.css (this referrs node_modules/prismjs/...) in css block on nuxt.config.(ts|js) is the quickest way.
https://github.com/hmsk/frontmatter-markdown-loader-nuxt-sample/blob/2ce32c91dcadc9c65786369965c3942817451c8a/nuxt.config.js#L17-L20

Thanks for looking into this @hmsk . I did have the stylesheet required by markdown-it-prism. I checked your code and it still didn't work.
However, I was able to solve it doing the following:
var md = require("markdown-it")({html:true}).use(require("markdown-it-prism"));

css: [
    'prismjs/themes/prism-vsc-dark-plus.css',
  ],

build: {
    extend(config, ctx) {
      config.module.rules.push({
        test: /\.md$/,
        include: [
          path.resolve(__dirname, "content"),
        ],
        loader: "frontmatter-markdown-loader",
        options: {
          mode: [Mode.VUE_COMPONENT],
          markdown: body => {
            return md.render(body);
          }
        }
      });
  }

So for some reason that is not clear to me it did not work using the markdownIt options when extending the webpack config. But it worked when  using the markdown option. This is however not the way is shown in the documentation. Maybe you can clarify?
Thank you

As we can see the actual working example https://github.com/hmsk/frontmatter-markdown-loader-nuxt-sample/pull/2#issuecomment-616222958 on our browser, I think it's just your local's trouble.
Happy to look into more if you provide a reproducible repository 😉

Closing this issue since we don't have any discussion over a week. I welcome to reopen when a reproducible repository is provided.

I found the missing piece between us. I found the object by require('markdown-it') doesn't work for markdownIt option. However, my codes in sample repo were using import MarkdownIt from 'markdown-it'. The root problem is fixed in https://github.com/hmsk/frontmatter-markdown-loader/releases/tag/v3.6.0 😉

Thanks for looking into this @hmsk (and apologies for the late reply have been busy with other things). I will take a look at the changes this week and will let you know if I still run into some issues. This looks very promising though, thanks again.


Support for expandable sections

Hi @afollestad
First, thanks a lot for your this very useful library.
For a project of mine, I needed and expandable recyclerView and I ended up extending your SectionedRecyclerViewAdapter. The other libraries didn't fit my needs (missing parent/child interaction). Also I preferred to reduce the number of 3rd party libraries, so....
I'm not an expert on publishing libraries that would fit all kinds of needs, so I hope my code is clean enough ;-)
2 things that I know can be improved in my ExpandableSectionedRecyclerViewAdapter:

must be used with shouldShowHeadersForEmptySections(true) (included in constructor).
requires calls to its notifySectionsDataSetChanged() , notifySectionItemsInserted() and notifySectionRemoved() methods instead of the usual notify...() methods

Awesome! Just what I was looking for..Thanks man god bless!! Cheers!!


Automatic refresh: Do only once if application open in multiple tabs

Is your feature request related to a problem? Please describe.
If automatic refresh is used and a user has the application open in multiple tabs, each tab will do a refresh token call when the timeout factor is passed.
Describe the solution you'd like
Ideally the call should happen only once.
Describe alternatives you've considered
Randomize timeout factors and prior to running refresh token, check that the current one meets some kind of minimum age criteria? But currently we'd have to implement that ourselves, I'd prefer letting the framework handle it

I think the default implementation is using session storage which is per tab. That means each tab has their own access and refresh token and needs to refresh them individually. So I think this is only required if a custom OAuthStorage is used (e.g. localStorage instead of sessionStorage), right?

Interesting thought. But I think with localStorage multiple tabs will also simultaneously recognize the token is about to expire, and simultaneously kick off silent refreshes? Haven't tested this though.

Actually for cross-tab storages like localStorage together with code flow and pkce it is a must have that the refresh is only triggered once as this solution is only "safe" with refresh token rotation activated. If both tabs send a token refresh at the same time then all refresh tokens will be revoked cause of token reuse and the user is logged out after the current access token expires.
However AFAIK it's not best-practice to use any long-term storage for refresh tokens anyway. The recommended approach even is to not use sessionStorage but in-memory (js closures) or even better webworkers to store the refresh token to prevent (easy) XSS access to the token. Both solutions mean that they are per-tab and each refresh get a new token.
https://auth0.com/docs/security/data-security/token-storage#browser-in-memory-scenarios

Good points above. In our scenario we are trying to limit the amount of requests to our IDP. The nature of the application is such that users tend to have it open in a few dozen tabs, causing a (what seems to be at first glance) excessive amount of refresh token calls. One measurement gave us 2426 calls for 70 users in just one hour.
I wasn't aware that storing in localStorage is not recommended, however it then makes sense that the library does not provide this functionality in order to discourage devs from doing so.
As far as I'm concerned, I'd of course still appreciate this being implemented ;-) But I could agree with this getting closed.

Regardless of specific situations or storage types, I think it could be a good feature to have, but it will become rather messy if you think about all the edge cases:

Coordination between tabs should be a configurable option (or else it's a major breaking change)
It's only relevant in browser contexts, not in SSR situations
A tab can "hold off" on a refresh if another tab announced it was going to do one, but then again the tab should "prepare for the worst", i.e. the case where that other tab crashed or was closed and never completed it's refresh
What if accidentally (e.g. because of a race condition) multiple refreshes do go off? What then?
What if a browser / tab goes into hibernation (e.g. on a smartphone) during a call? What if the refresh failed?
Etc. etc.

In general, I think cross-tab coordination can be quite difficult. And it might be worth considering creating the right hooks in this library, so that app devs can do it themselves if it's important enough to them?

The "fix" I currently am using passes a random timeoutFactor to the library per tab, between 0.5 and 0.75. When the token_expires event comes in on any tab, we check that the access token is at least 50% expired. There is no "holding off" based on what another tab announces. If a tab wasn't able to complete the refresh, there will not be a new access token, so any of the other tabs will pass the 50% expired check whenever it's their turn to try to refresh. Likewise, hibernation etc isn't an issue here.
It IS still possible for multiple refreshes to go off simultaneously, but the chance of that is reduced, and when it does happen as long as we're using localStorage it's not a problem - it works the same way as it would before this fix with all tabs refreshing simultaneously.
So far from what we've tested, this accomplishes the objective well enough. I haven't yet noticed any downsides to this that aren't already present without applying this method.

I agree with @jeroenheijmans that making coordination between tabs may be difficult and lot of edge cases to be taken and may show later, but this doesn't mean there should not be a workaround or hack for the localStorage case.
what I suggest is similar to @CedricHg but this has to be handled from the package itself as a clean hack to all Storage providers is to perform an extra check when event token_expires is raised in this function ### setupAutomaticSilentRefresh and before calling refreshInternal truly  check if access_token is expiring soon making a similar calculation to ### calcTimeout as if another tab performed the refresh process then the result of calcTimeout inside ### setupAccessTokenTimer is not true in other tabs and should be invalided
hopefully, this can be done as it minimizes the time we take to come up with custom solutions and hacks
cause every person using the localStorage will face an issue later with a concurrent refresh token triggered across multi tabs


My node force-closed channel with bfx-lnd1, not sure why

Background
My node foce-closed channel with bfx-lnd0 so I opened a new one with bfx-lnd1 and my node also closed this channel.
I did not do anything to foce-close the channel.
Here are  some of the logs:

2020-06-13 13:35:54.946 [INF] NTFN: New spend subscription: spend_id=43, outpoint=97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0, script=0 036081b2f5cd128d16f2b3d8a2b84c88d6d4a0cd8da6f210a70fe42f15704578, height_hint=634553
2020-06-13 13:35:54.947 [INF] NTFN: Dispatching historical spend rescan for outpoint=97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0, script=0 036081b2f5cd128d16f2b3d8a2b84c88d6d4a0cd8da6f210a70fe42f15704578, start=634553, end=634557
2020-06-13 13:35:59.113 [INF] CNCT: Close observer for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) active
2020-06-13 13:36:02.915 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): starting state=StateDefault, trigger=chainTrigger, triggerHeight=634558
2020-06-13 13:39:25.380 [INF] PEER: NodeKey(03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6) loading ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-13 13:39:25.591 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-15 00:58:45.513 [INF] NANN: Announcing channel(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) disabled [detected]
2020-06-15 01:05:41.320 [INF] PEER: NodeKey(03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6) loading ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-15 01:05:41.371 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-15 01:24:42.805 [INF] NANN: Announcing channel(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) enabled
2020-06-15 06:22:10.190 [INF] PEER: NodeKey(03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6) loading ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-15 06:22:10.359 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-15 06:47:39.087 [INF] NTFN: New spend subscription: spend_id=33, outpoint=97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0, script=0 036081b2f5cd128d16f2b3d8a2b84c88d6d4a0cd8da6f210a70fe42f15704578, height_hint=634826
2020-06-15 06:47:39.088 [INF] NTFN: Dispatching historical spend rescan for outpoint=97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0, script=0 036081b2f5cd128d16f2b3d8a2b84c88d6d4a0cd8da6f210a70fe42f15704578, start=634826, end=634830
2020-06-15 06:47:40.140 [INF] CNCT: Close observer for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) active
2020-06-15 06:47:46.584 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): starting state=StateDefault, trigger=chainTrigger, triggerHeight=634830
2020-06-15 06:49:23.447 [INF] PEER: NodeKey(03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6) loading ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-15 06:49:23.453 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-15 07:08:30.179 [INF] NANN: Announcing channel(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) disabled [detected]
2020-06-15 07:08:38.753 [INF] NANN: Announcing channel(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) enabled
2020-06-18 05:02:24.279 [INF] PEER: NodeKey(03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6) loading ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-18 05:02:24.287 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-18 07:37:34.851 [INF] PEER: NodeKey(03cde60a6323f7122d5178255766e38114b4722ede08f7c9e0c5df9b912cc201d6) loading ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-18 07:37:34.940 [INF] CNCT: Attempting to update ContractSignals for ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0)
2020-06-18 08:26:58.994 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): force closing chan
2020-06-18 08:27:00.393 [INF] CNCT: Broadcasting force close transaction 8c50b676a62297640067a6bab7b12ef4c3a198610e13f00e29b6a92ec00837a6, ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): (*wire.MsgTx)(0x40031b7280)({
   PreviousOutPoint: (wire.OutPoint) 97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0,
2020-06-18 08:27:02.114 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): trigger chainTrigger moving from state StateCommitmentBroadcasted to StateCommitmentBroadcasted
2020-06-18 08:36:02.981 [INF] NTFN: Dispatching confirmed spend notification for outpoint=97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0, script=0 036081b2f5cd128d16f2b3d8a2b84c88d6d4a0cd8da6f210a70fe42f15704578 at current height=635268: 8c50b676a62297640067a6bab7b12ef4c3a198610e13f00e29b6a92ec00837a6[0] spending 97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0 at height=635268
2020-06-18 08:36:03.001 [INF] CNCT: Local unilateral close of ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) detected
2020-06-18 08:36:03.102 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): local on-chain channel close
2020-06-18 08:36:05.414 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): trigger localCloseTrigger moving from state StateCommitmentBroadcasted to StateContractClosed
2020-06-18 08:36:05.687 [INF] UTXN: Incubating Channel(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) num-htlcs=1
2020-06-18 08:36:05.845 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): still awaiting contract resolution
2020-06-19 11:47:39.724 [INF] CNCT: *contractcourt.commitSweepResolver(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): Sweeping with witness type: CommitmentTimeLock
2020-06-19 11:47:39.726 [INF] CNCT: *contractcourt.commitSweepResolver(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): sweeping commit output
2020-06-19 14:31:00.335 [INF] CNCT: *contractcourt.commitSweepResolver(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): commit tx fully resolved by sweep tx: b6b0ec3eb12eee7f0f43f89f1d43d63724bae9cf69cff91a37854473a130b4f4
2020-06-19 14:31:00.597 [INF] UTXN: Removed channel 97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0 from nursery store
2020-06-19 14:31:00.664 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): a contract has been fully resolved!
2020-06-19 14:31:00.664 [INF] CNCT: ChannelArbitrator(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0): still awaiting contract resolution
2020-06-19 14:31:00.730 [INF] CNCT: ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) has been fully resolved on-chain at height=635422
2020-06-19 14:31:00.730 [INF] CNCT: Marking ChannelPoint(97face4492e046ac5734ddb92dcc41fcc6e82d89f59f8c9fa4d4d47f5ec8d49b:0) fully resolved

Your environment
0.10.1
Linux rock64 4.4.132-1075-rockchip-ayufan-ga83beded8524 #1 SMP Thu Jul 26 08:22:22 UTC 2018 aarch64 GNU/Linux
bitcoind
Thanks

Were there unresolved HTLCs on the commitment transaction (indicating an HTLC timeout)? If not, then it may have been channel state de-sync, in which case we have a number of open PRs that should fix the issue such as: #4430.

Even though we have fixes for the latter case, we'd still like logs (if that's okay) to determine why nodes are disconnecting and causing this de-sync. But only if an htlc didn't time out.

Sure I can send you the full log file, but I assume there are some private info in there. Maybe I can send it by Slack? PM ?

@MrManPew I am "eugene" on the lnd slack

Great @Crypt-iQ , I've sent you the log on slack. Is it the same issue?

Sorry, the logs only show the other peer disconnecting. I would need the opposite peer's logs to figure out why they're disconnecting.

The opposite side is https://ln.bitfinex.com/.
Maybe @bitfinexcom, @prdn, @mafintosh can help?

Another one @Crypt-iQ , now with @acinq, @t-bast could you help with finding out why we got disconnected ?
I've added the full log to lnd Slack.

Same (force close transaction with bfx-lnd1 not sure why) happened on 0.13.1-beta commit=v0.13.1-beta. I do not know if it necessary to open a new issue, or is this still an on-going issue? The latter is still not clear for me.

Need logs, did you force close or did they force close? Also may need a version for counterparty to help diagnose.  New issue preferable

Need logs, did you force close or did they force close? Also may need a version for counterparty to help diagnose. New issue preferable

They did force close. The only log I have mentioned only
2021-09-28 04:31:09.312 [ERR] LTND: Unable to lookup witness: no witnesses
2021-09-28 04:31:09.694 [INF] CNCT: Broadcasting force close transaction 98bb6e8a45cd6344744889fb9b8276ba907a2969f950799266af66b3b59190f8, ChannelPoint(29eafccf92fa405a64f2fc965294bff4eb8d4d806638e584f2544f
5b2f6280bd:0): (*wire.MsgTx)(0x40026d95c0)({
....

nothing more detailed probably because I have not specified the debuglevel in lnd.conf. So I guess in this case I have too less information. To be honest, the only reason I posted my case here because I am curious if this is still an ongoing issue after the merge and in my lnd  0.13.1-beta commit=v0.13.1-beta version. From your answer I understand, that I should report it, but with more detailed information. I will add a line in lnd.conf debuglevel=debug so the next time I can place a more useful bug report. Thanks for your answer.

In most cases, we need logs from the force-closing node's side to determine why they decided to force close

In most cases, we need logs from the force-closing node's side to determine why they decided to force close

AHa. Thanks.
In that case how should I contact them? Any hint on that? It is big boy bitfinex i guess? Thanks in advance.

If you know the pubkey & IP, maybe that would give you a starting point to contact them, but I don't know who your channel was with. If you are unable to contact them, I could ask around given the pubkey & IP combo

If you know the pubkey & IP, maybe that would give you a starting point to contact them, but I don't know who your channel was with. If you are unable to contact them, I could ask around given the pubkey & IP combo

Wow really appreciate your help.
Their pubkey comes from https://ln.bitfinex.com/
Their pubkey is: 033d8656219478701227199cbd6f670335c8d408a92ae88b962c49d4dc0e83e025
(is alias bfx-lnd0 not alias bfx-lnd1 mentioned earlier in this ticket, but this does not really matter)
Their IP_Node is:
033d8656219478701227199cbd6f670335c8d408a92ae88b962c49d4dc0e83e025@<IP_ADDRESS>:9735
My pubkey is (if it matters):
0204a91bb5802ad0a799acfd86ef566da03d80cc9e13acb01e680634bf64188a0d
My IP_Node is (if it matters):
0204a91bb5802ad0a799acfd86ef566da03d80cc9e13acb01e680634bf64188a0d@3kvh64k3s5gxcbimped34nncw4p2jlbfbwhnrzoljkwjwjlslurreuqd.onion:9735 (Sorry no real ip address, I run my node only via Tor.
Hopefully you or someone else can now find out how to contact them?
Thx in adv.

FYI. I just send the following private message to their Twitter channel:
Hi, for technical problems regarding lightning, how should I contact you? Your Telegram channel looks not a very safe medium to me in this case. More in detail: I have an issue regarding a forced close channel with my node to your node which has been issued by YOUR side. According to the developer of the issue this should be further investigated also on your side.  The whole issue is already reported at Github: https://github.com/lightningnetwork/lnd/issues/4435#issuecomment-929121841 Thanks in advance and I hope on a response.

If you have this in your log: Broadcasting force close transaction, it means your node force closed.

If you have this in your log: Broadcasting force close transaction, it means your node force closed.

The only thing I have in my log regarding this force-close is:
2021-09-28 04:31:09.312 [ERR] LTND: Unable to lookup witness: no witnesses
2021-09-28 04:31:09.694 [INF] CNCT: Broadcasting force close transaction 98bb6e8a45cd6344744889fb9b8276ba907a2969f950799266af66b3b59190f8, ChannelPoint(29eafccf92fa405a64f2fc965294bff4eb8d4d806638e584f2544f5b2f6280bd:0): (*wire.MsgTx)(0x40026d95c0)({
 Version: (int32) 2,
 TxIn: ([]*wire.TxIn) (len=1 cap=1) {
  (*wire.TxIn)(0x40071449c0)({
   PreviousOutPoint: (wire.OutPoint) 29eafccf92fa405a64f2fc965294bff4eb8d4d806638e584f2544f5b2f6280bd:0,
   SignatureScript: ([]uint8) <nil>,
   Witness: (wire.TxWitness) (len=4 cap=4) {
    ([]uint8) <nil>,
    ([]uint8) (len=72 cap=144) {
     00000000  30 45 02 21 00 c8 0e 30  c1 d8 e2 85 13 e2 59 8d  |0E.!...0......Y.|
     00000010  05 56 d8 55 5f e6 83 28  6b 4e 32 24 8c 8b 42 62  |.V.U_..(kN2$..Bb|
     00000020  ec 22 92 3a f1 02 20 52  62 2a 0f da b3 d7 a4 c7  |.".:.. Rb*......|
     00000030  d8 5e 61 23 cf 5f 98 63  1c 17 02 b2 22 0a 4f 0c  |.^a#._.c....".O.|
     00000040  9b 6b 93 bd 9a 25 60 01                           |.k...%`.|
    },
    ([]uint8) (len=71 cap=144) {
     00000000  30 44 02 20 1f 9d 30 e0  9d a9 29 06 bf df b5 42  |0D. ..0...)....B|
     00000010  a0 51 a8 f5 aa ce 13 30  ac 5b c4 78 bd 59 f5 a7  |.Q.....0.[.x.Y..|
     00000020  9b c6 18 e7 02 20 0d 37  ca b8 0c f4 4b 95 97 71  |..... .7....K..q|
     00000030  05 9b 6e 3d 2f 1a 54 c9  e8 41 9a 0b 08 a3 d2 c9  |..n=/.T..A......|
     00000040  f0 9f 7b d5 dc 3b 01                              |..{..;.|
    },
    ([]uint8) (len=71 cap=500) {
     00000000  52 21 03 3c 97 b0 37 cc  eb c5 f8 a4 ba fd d9 5f  |R!.<..7........_|
     00000010  d8 61 d9 ae df b2 95 ae  67 bd 72 18 4f c9 29 0e  |.a......g.r.O.).|
     00000020  1b 15 1b 21 03 8b ce 9f  36 0d af ef 09 e4 25 75  |...!....6.....%u|
     00000030  a8 d5 e9 af a0 cb 77 16  74 a5 dc 82 82 b9 de 0d  |......w.t.......|
     00000040  ed ec b7 e3 b5 52 ae                              |.....R.|
    }
   },
   Sequence: (uint32)<PHONE_NUMBER>
  })
 },
 TxOut: ([]*wire.TxOut) (len=2 cap=2) {
  (*wire.TxOut)(0x40041e7e60)({
   Value: (int64) 7173819,
   PkScript: ([]uint8) (len=34 cap=34) {
    00000000  00 20 a8 b7 04 a2 f0 91  ae 0d e0 bc 17 ed 67 b9  |. ............g.|
    00000010  8b 33 59 34 c0 a0 84 25  e7 c6 b9 bd ef 92 2a e3  |.3Y4...%......*.|
    00000020  6a 97                                             |j.|
   }
  }),
  (*wire.TxOut)(0x40041e7e80)({
   Value: (int64) 9602827,
   PkScript: ([]uint8) (len=22 cap=22) {
    00000000  00 14 95 d7 79 91 95 bb  ac 21 2f 8f 70 fb 54 a9  |....y....!/.p.T.|
    00000010  74 9c 1f 06 76 67                                 |t...vg|
   }
  })
 },
 LockTime: (uint32) 553558940
})

2021-09-28 04:31:09.716 [INF] LNWL: Inserting unconfirmed transaction 98bb6e8a45cd6344744889fb9b8276ba907a2969f950799266af66b3b59190f8
2021-09-28 04:31:09.717 [ERR] LNWL: Notifying unmined tx notification (98bb6e8a45cd6344744889fb9b8276ba907a2969f950799266af66b3b59190f8) while creating notification for blocks
2021-09-28 04:31:09.865 [INF] CNCT: ChannelArbitrator(29eafccf92fa405a64f2fc965294bff4eb8d4d806638e584f2544f5b2f6280bd:0): trigger chainTrigger moving from state StateCommitmentBroadcasted to StateCommitmentBroadcasted
2021-09-28 04:31:49.859 [INF] HSWC: ChannelLink(676794:1125:0): updating commit fee to 506 sat/kw sat/kw
2021-09-28 04:31:51.172 [INF] HSWC: ChannelLink(677707:1608:0): updating commit fee to 506 sat/kw sat/kw
2021-09-28 04:31:53.445 [INF] CRTR: Pruning channel graph using block<PHONE_NUMBER>000000000493951951c1946e9a84cf2f893d98b2752e95d7f60f51 (height=702524)
2021-09-28 04:31:55.226 [INF] CRTR: Block<PHONE_NUMBER>000000000493951951c1946e9a84cf2f893d98b2752e95d7f60f51 (height=702524) closed 2 channels
2021-09-28 04:31:55.297 [INF] CRTR: Pruning channel graph using block<PHONE_NUMBER>000000000493951951c1946e9a84cf2f893d98b2752e95d7f60f51 (height=702524)
2021-09-28 04:31:55.332 [INF] NTFN: New block: height=702524, sha=0000000000000000000493951951c1946e9a84cf2f893d98b2752e95d7f60f51
2021-09-28 04:31:55.332 [INF] NTFN: Dispatching confirmed spend notification for outpoint=29eafccf92fa405a64f2fc965294bff4eb8d4d806638e584f2544f5b2f6280bd:0, script=0 5cbd48d2c5ff541aaccc533f913033eeeb27b83c754e43439c0a890371196557 at current height=702524: 98bb6e8a45cd6344744889fb9b8276ba907a2969f950799266af66b3b59190f8[0] spending 29eafccf92fa405a64f2fc965294bff4eb8d4d806638e584f2544f5b2f6280bd:0 at height=702524
2021-09-28 04:31:55.333 [INF] UTXN: Attempting to graduate height=702524: num_kids=0, num_babies=0

Broadcasting force close transaction is not found in my log
Hope is information clarifies a bit the issue?

If you have this in your log: Broadcasting force close transaction, it means your node force closed.

Ooopps

Yes. But without the [DBG] log level you'll probably not know why.

Yes. But without the [DBG] log level you'll probably not know why.

Exactly. So I leave it as it is for now. Wonder if I got a reaction from the bitfinex private tweet....
Again: So much thanks for your time.!

We had a similar issue with lnd version 0.13.3-beta commit=v0.13.3-beta and bfx-lnd0
2022-01-27 11:53:50.565 [INF] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): force closing chan
2022-01-27 11:53:50.579 [INF] CNCT: Broadcasting force close transaction 66fbba77c37973efb0463d90c4adb2bc681f342facae1b43e2579b5edb50e61a, ChannelPoint(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): (*wire.MsgTx)(0xc01b22b400)({
   PreviousOutPoint: (wire.OutPoint) 40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1,
2022-01-27 11:53:52.405 [WRN] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): deadline is passed with deadlineMinHeight=720593, heightHint=720593
2022-01-27 11:53:54.359 [INF] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): trigger chainTrigger moving from state StateCommitmentBroadcasted to StateCommitmentBroadcasted
2022-01-27 13:02:16.036 [INF] NTFN: Dispatching confirmed spend notification for outpoint=40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1, script=0 b85e58d2d07ed586df8f3cb6cf9319cffa7cccf7facef63c1685ae17fb39c8aa at current height=720598: 66fbba77c37973efb0463d90c4adb2bc681f342facae1b43e2579b5edb50e61a[0] spending 40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1 at height=720598
2022-01-27 13:02:16.039 [INF] CNCT: Local unilateral close of ChannelPoint(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1) detected
2022-01-27 13:02:16.040 [INF] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): local on-chain channel close
2022-01-27 13:02:17.789 [INF] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): trigger localCloseTrigger moving from state StateCommitmentBroadcasted to StateContractClosed
2022-01-27 13:02:17.797 [INF] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): still awaiting contract resolution
2022-01-27 15:52:02.573 [INF] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): a contract has been fully resolved!
2022-01-27 15:52:02.573 [INF] CNCT: ChannelArbitrator(40a4915568dd91d99d665ebdd697c75034b1934e5fd25b7ea6c9be917e154530:1): still awaiting contract resolution

I bumped log-level to debug and will report back if there will be anything more to add


Best Practice to host Shims?

@nfarina
Traditionally HomeBridge hosts Accessory as well as Platform Shims.
However separating Shims from HomeBridge could be more flexible and practicable. One solution could be to collect all the Shim-Links of the repositories in the Homebridge-Wiki. This way it would be easier for the authors and for you to maintain the Shims.
What's your opinion?

So first step in my opinion is the move shims into their own npm modules so that Homebridge users aren't forced to download all possible requirements. There's a small discussion about this in the roadmap.
Once that's done, we'd just need a simple npm-based discovery mechanism and we could write a little Javascript thing for the website.

npm modules will be great. With npm outdated I've got this output:
ad2usb                   1.0.3     git     git  ad2usb
elkington                0.1.0     git     git  elkington
hap-nodejs             MISSING     git     git  hap-nodejs
harmonyhubjs-discover    1.0.1     git     git  harmonyhubjs-discover
request                 2.49.0  2.49.0  2.61.0  request
unofficial-nest-api      0.1.4     git     git  unofficial-nest-api
wink-js                  0.0.5   0.0.5   0.0.9  wink-js
xmldoc                   0.1.4   0.1.4   0.3.1  xmldoc
````
Most of these aren't needed for my application.

I just checked the npm node package and found a rather simple to use api for dynamically installing packages.
Maybe I can make an example from the KNX platform with a dynamic stub loader later today as a discussion showcase.

@snowdd1: cool, I've installed homestar https://github.com/dpjanes/iotdb-homestar.
They already use an install for pugins, I think this is the way we should go.

According to their readme, the end user has to install the plugins himself.

Here's how you make your Home☆Star / IOTDB installation talk to WeMos.
$ homestar install homestar-wemo
Need to talk to something else? See docs/modules.md for a list of current modules.

I think that would be ok from a usability perspective, but from the discussions (#41) I thought we wanted to go a step further and load the packages upon finding a platform in config.json, or in the next iteration, if the user clicks a flashy icon in the web interface to enable the platform.
And the npmi package is exactly the thing I intended to write, so I don't have to after all!

Maybe I can make an example from the KNX platform with a dynamic stub loader later today as a discussion showcase.

And I did:
https://github.com/snowdd1/homebridge/tree/dynamic-platform
and the npm packaged shim: homebridge-knx which gets automatically installed and loaded upon server start
(https://github.com/snowdd1/homebridge-knx)

@snowdd1: Thanks for your example. Did you see the "npm install programmatically" [here] (https://docs.npmjs.com/api/install) ?
I didn't try yet but it seems, we can install packages using npm.

@cflurin
Yes I saw it, and the npmi package I used is using exactly these API calls, just neatly wrapped so you do not have to car about the details.
It works very nicely (with https://github.com/snowdd1/homebridge-knx V.0.0.3), I just have an issue with peerDependency to hap-nodejs as it is no package/not npm listed, just a repo (that's why 0.0.4 isn't starting the first time, and does the second time when https://github.com/snowdd1/homebridge-knx is already installed by the first attempt).

Ok, let's see what @nfarina decides to go ahead.

Have you guys seen my HomeStar project? It handles a lot of the things you guys are talking about, especially modularizing installation. The "secret sauce" is that all Things are described semantically using IOTDB, so instead of thinking about "let's manipulate a WeMo" it's "I'm manipulating a switch" or even "I'm manipulating a coffee machine" by updating the metadata. This seems like a natural fit for what you're trying to accomplish here.
https://github.com/dpjanes/iotdb-homestar
Note: Windows support is crap, working on that right now.


For "Grant API access" section, looks like step 8 and 9 are not necessary

For "Grant API access" section, looks like step 8 and 9 are not necessary:

Could someone please help to confirm? Thanks.

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

ID: 45fe2896-2630-fcfa-97ed-c11f5bcdeb26
Version Independent ID: fa30e08e-3f8e-0305-a061-6d3e74bbd5de
Content: Manage resources with Microsoft Graph - Azure AD B2C
Content Source: articles/active-directory-b2c/microsoft-graph-get-started.md
Service: active-directory
Sub-service: b2c
GitHub Login: @msmimart
Microsoft Alias: mimart

@amanmcse Thank you for your feedback . We will have this reviewed and update it .

@Calvin-Yuhui-Liu Thank you for pointing this out. I have updated the document.


[crypto] Switch to BLS12-381

This PR switches the Sui network to run on the BLS12-381 signature scheme. This change causes the following breaking changes (and fixes):

AuthorityQuorumSignInfo now holds a single aggregated signature vs. a vector of signatures. This is reflected in the explorer.
We edit the keytool file to generate BLS12-381 keypairs as well as ed25519, and secp256k1. The BLS12-381 will not be flagged, while the other two are. There is no ambiguity here despite the lack of a flags for BLS, as all keypair files will have the signature scheme (bls || ed25519 || secpk1) tagged to the file name, and any attempt to use BLS key files in place of ed25519 or secp256k1 should fail due to serialization error.
Our Proof of Possessions are now running on BLS12-381.

TODO: ensure that production engineers expect this, and prepare PR that fixes CLI config files (merged instantly), as well as staging and devnet (left unmerged until when we include this in the next release). @huitseeker any comments?
Adjacent PRs:
Fixes the config files for when we productionize BLS https://github.com/MystenLabs/sui-operations/pull/366. I have attempted to deploy a 4-node cluster docker image with these configs - so they should be working.
Private Testnet Genesis https://github.com/MystenLabs/private-testnet-genesis/pull/9

Just letting you know that this should be reviewed before the other one is merged so that Sui doesn't lag behind too much!

@punwai can you make this PR only NetworkKey specific and add the 4 lines for BLS in another one? Or at least update commit message and title?

We can create a PR that reverts the BLS change back to ed25519 (the 4 lines) which makes the previous PR effectively changing the network configs. Obviously, this would require changes to the fabfile, but if we are going to merge BLS anyways, perhaps it is fine to have it broken for a commit.

Thanks @joyqvq for helping close this!


failed to add basic-auth plugin

below is basic-auth plugin schema definition
local schema = {
type = "object",
properties = {
username = { type = "string" },
password = { type = "string" },
},
oneOf = {
{required = {"username", "password"}},
{required = {}}
}
}
below is the put request body
{username: "adfa", plugins: {basic-auth: {password: ["asdfa"]}}}
below is the error message
invalid plugins configuration: failed to check the configuration of plugin basic-auth err: property "password" validation failed: wrong type: expected string, got table
the correct put request body must be
{username: "adfa", plugins: {basic-auth: {password: "asdfa"}}}

has been resolve on the new Dashboard.


A rewrite pattern to optimize constant scaling in self-attention layer

In the self-attention layer, the output of MatMul is scaled by a constant factor via a division/multiplication operation. This patch rewrites the division/multiplication operation so that the constant input of MatMul will be scaled instead of its output. Thus, the scaling of the constant inputs can be folded at compile time.
For example, this patch rewrites the following pattern:
shape_transform(X1 * A1 + B1) * shape_transform(X2 * A2 + B2) / k

into
shape_transform(X1 * A1 + B1) * shape_transform(X2 * A2/k + B2/k)

if A2, B2 and k are constants,
or into
shape_transform(X1 * A1/k + B1/k) * shape_transform(X2 * A2 + B2)

if A1, B1 and k are constants,
where

* is matrix multiplication; + and / are element-wise addition and division
A1, A2, B1, B2, and k are constants so that A1/k, B1/k, A2/k and B2/k can
be folded. k is a scalar constant so that it's broadcastable to all A1, A2,
B1, B2.
shape_transform includes a sequence of operations that change the data
shape of the input but not numerical values, for example: Reshape,
Transpose, etc.

Can this be abstracted to any pair wise operation? There could be some attention models that have a multiplication by an inverse sqrt.

Can this be abstracted to any pair wise operation? There could be some attention models that have a multiplication by an inverse sqrt.

Good suggestion! Yes, it is quite straightforward to support multiplication also (I don’t think it is applicable to addition and subtraction). Will add that soon. Thanks!

@jenkins-droid test this please

Jenkins Linux s390x Build #13552 [push] A rewrite pattern to opt... started at 02:01

Jenkins Linux ppc64le Build #12549 [push] A rewrite pattern to opt... started at 02:07

Jenkins Linux s390x Build #13552 [push] A rewrite pattern to opt... passed after 1 hr 52 min

Jenkins Linux ppc64le Build #12549 [push] A rewrite pattern to opt... passed after 2 hr 5 min

Jenkins Linux amd64 Build #13525 [push] A rewrite pattern to opt... passed after 2 hr 15 min


'MapBuilder' is deprecated. Deprecated in Java

Description
Hi folks,
I am upgrading a project to React Native 0.76.4.
The compile step produces following warnings :
> Task :lottie-react-native:compileDebugKotlin
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewManagerImpl.kt:12:34 'MapBuilder' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewManagerImpl.kt:21:17 'MapBuilder' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewManagerImpl.kt:72:16 'MapBuilder' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewManagerImpl.kt:74:13 'MapBuilder' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewManagerImpl.kt:76:13 'MapBuilder' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewManagerImpl.kt:78:13 'MapBuilder' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt:20:38 'ReactFontManager' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt:71:24 'ReactFontManager' is deprecated. Deprecated in Java
w: file:///Users/redacted/node_modules/lottie-react-native/android/src/main/java/com/airbnb/android/react/lottie/LottieAnimationViewPropertyManager.kt:85:24 'ReactFontManager' is deprecated. Deprecated in Java

Steps to reproduce

lottie-react-native : ^6.7.0
react-native : 0.76.4
Command ran: npx react-native run-android
Kotlin version: 1.9.24

Snack or a link to a repository
Private repository
Lottie React Native version
6.7.0
React Native version
0.76.4
Platforms
Android
Workflow
React Native
Architecture
Paper (Old Architecture)
Build type
Debug app & dev bundle
Device
Android emulator
Acknowledgements
Yes

same here


Scaffolder's GitHub client requires an admin user

I'm trying to setup Backstage for one of the organizations that I work with. It's a big company and very few users have admin permissions. I wanted to do some internal demos of the scaffolder plugin. Followed instructions on the official installation page to create a PAT with repo permissions. I configured the plugin to use the new PAT.
Expected Behavior
I was expecting repo permissions to be enough as per documentation.

I was hoping to be able to use a GitHub user that the organization uses for creating repoes.
Current Behavior
When I tried to scaffold the project, I got "You need admin access to the organization before adding a repository to it."

Possible Solution
I'm not sure if it's my particular org. Giving the bot admin permissions is not feasable.
Steps to Reproduce

As per documentation on the site,

create a PAT with repo permissions
use it to start backstage
attempt to create a project

Your Environment

Version: alpha21
NodeJS Version (v12): 12
Operating System and Version (e.g. Ubuntu 14.04): Ubuntu
Browser Information: NA

#1565 is really the way forward here. For now a workaround is to create a separate demo org.
A bit confused about why repo scope isn't enough though, I'd imagine that's a org-wide setting that limits the creation of repos? Or maybe repo is enough, but your user needs admin access.

I expect it’s the user can create repositories option which will be disabled on your org

A bit confused about why repo scope isn't enough though

me too

I expect it’s the user can create repositories option which will be disabled on your org

the weird thing is that i can create repos via UI.

#1565 is really the way forward here. For now a workaround is to create a separate demo org.

do you have any timeline for #1565?

This looks related https://github.com/octokit/octokit.net/issues/1812

@Rugvip I think the problem is that the org allows creating Internal or Private projects - but current implementation to creating a public project. (I think)

Oh that sounds reasonable, either way it's likely that private/public repo is something you want to both be able to select and configure org-wide rules for. Again something GitHub apps can likely help out with 😅

Agree that's most likely, I've set our org up with a non owner user and it works fine.

I will create a PR that will fix this and read visibility from config.

Again something GitHub apps can likely help out with 😅

🕺


Enhancement: Achievements

add achievements pls

Can be softcoded, and we wont add it natively because its kinda useless

WILL ACHIEVEMENTS BE ADDED OR NO?

WILL ACHIEVEMENTS BE ADDED OR NO?

No

How old are you?? I literally said it wont be added

add achievements pls

They can be softcoded, since HScript allows you to access FlxG and the save data it contains.

Adding to this commit because I feel like an explanation needs to be here
You can code your own Achivements, CNE prob wont add native Achivement support since then all mods would need to support it as well, if not then it will break mods + its not that hard to handle your own Achivements.
It will give you full control over everything, instead of having to follow a specific ruleset that CNE defines.
Example: YoshiCrafterEngine supported Achivements, it didn't have to be supported but you were limited by what you could do.
Here is an Idea you can probably do tho:
Make your own Achivements through code and make it just a folder people can put in their own mods, kind of like an "addon" but then the modders can just reference data in their scripts and what not.
I would like to see this but not to be rude to anywone here but it would take a while before I see a good version that is user friendly pop up.


Add matriculation number

Add and edit matriculation number of a resident.
Display the matriculation number of residents.
Add MatriculationNumber unit test.

Show matriculation number in the resident list

Display error when the matriculation number is invalid

Codecov Report

Merging #66 into master will decrease coverage by 1.91%.
The diff coverage is 81.25%.

@@             Coverage Diff              @@
##             master      #66      +/-   ##
============================================
- Coverage     72.31%   70.39%   -1.92%
- Complexity      400      413      +13
============================================
  Files            70       73       +3
  Lines          1228     1314      +86
  Branches        124      136      +12
============================================
+ Hits            888      925      +37
- Misses          308      353      +45
- Partials         32       36       +4

Impacted Files
Coverage Δ
Complexity Δ

.../java/seedu/address/logic/commands/AddCommand.java
100.00% <ø> (ø)
8.00 <0.00> (ø)

.../java/seedu/address/model/util/SampleDataUtil.java
20.00% <0.00%> (ø)
1.00 <0.00> (ø)

src/main/java/seedu/address/ui/PersonCard.java
0.00% <0.00%> (ø)
0.00 <0.00> (ø)

...eedu/address/model/person/MatriculationNumber.java
80.00% <80.00%> (ø)
6.00 <6.00> (?)

...c/main/java/seedu/address/model/person/Person.java
95.74% <81.81%> (-1.82%)
23.00 <1.00> (+2.00)
:arrow_down:

...java/seedu/address/logic/commands/EditCommand.java
95.94% <90.00%> (-1.07%)
12.00 <0.00> (ø)

...a/seedu/address/logic/parser/AddCommandParser.java
100.00% <100.00%> (ø)
5.00 <0.00> (ø)

...ain/java/seedu/address/logic/parser/CliSyntax.java
85.71% <100.00%> (+2.38%)
1.00 <0.00> (ø)

.../seedu/address/logic/parser/EditCommandParser.java
93.10% <100.00%> (+0.79%)
12.00 <0.00> (+1.00)

...in/java/seedu/address/logic/parser/ParserUtil.java
97.56% <100.00%> (+0.33%)
16.00 <2.00> (+2.00)

... and 5 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 d2d91bf...17fc536. Read the comment docs.


Added support for tabindex

Adds tabindex to the element so that select2 can pick it up.

Sorry this took for ages. I'm just going through PRs and trying to clean up the backlog.
As I now understood the motivation behind this change, I have to say that -1 is the wrong default. I changed it to 0 and also added a test case. I will also close this PR but give credit to you in the CHANGELOG.

Thanks Stefan. No problem about the delay. I appreciate you putting in the time to make this addon a reality.


Restructure Labels topic

Fixes #17770
- What I did
A few points of work:

Took the topic out of the left-hand nav and made it reachable from the User guide intro (addresses #17770 directly)

Condensed the topic's contents, presenting only conceptual info and pointing
instead to the command-line references for each type of object

Added some info and a link to the new topics from the Dockerfile reference since it did not mention labels at all

A big part of the point is to establish a pattern of thinking and use around how
Docker uses labels and what they mean in different contexts.
Signed-off-by: Misty Stanley-Jones<EMAIL_ADDRESS>PTAL @thaJeztah @LK4D4
CC @dperny @tonistiigi

I think it'd be better if there is a description about that only labels for nodes and services can be dynamically updated, but others not

All feedback so far addressed.

Thanks for the comments. I think I've addressed them all.

Requested changes have been made, @thaJeztah

LGTM, thanks!


Update and rename docs/activities/index.md to docs/activities/ComingS…

…oon/maic_speakers.md

Don't break the project structure.


Cannot use images in mdx

Bug Report
When attempting to use images, I'm greeted with
TypeError: Property value expected type of string but got null
Directory Structure
├── doczrc.js
├── public
│   ├── image.png
├── src
│   └── readme.mdx

readme.mdx content
![](/public/image.png)

To Reproduce

Create an mdx  file and link to an image in the public directory

UNHANDLED REJECTION Property value expected type of string but got null

  TypeError: Property value expected type of string but got null

  - utils.js:164 Object.validate
    [.docz]/[@babel]/types/lib/definitions/utils.js:164:13

  - validate.js:22 validateField
    [.docz]/[@babel]/types/lib/validators/validate.js:22:9

  - validate.js:16 validate
    [.docz]/[@babel]/types/lib/validators/validate.js:16:3

  - builder.js:46 builder
    [.docz]/[@babel]/types/lib/builders/builder.js:46:27

  - index.js:335 Object.StringLiteral
    [.docz]/[@babel]/types/lib/builders/generated/index.js:335:31

  - index.js:95 imageToJsx
    [.docz]/[remark-docz]/dist/index.js:95:123

  - index.js:102
    [.docz]/[remark-docz]/dist/index.js:102:18

  - index.js:27 overload
    [.docz]/[unist-util-visit]/index.js:27:12

  - index.js:34 one
    [.docz]/[unist-util-visit-parents]/index.js:34:25

  - index.js:57 all
    [.docz]/[unist-util-visit-parents]/index.js:57:16

  - index.js:42 one
    [.docz]/[unist-util-visit-parents]/index.js:42:28

  - index.js:57 all
    [.docz]/[unist-util-visit-parents]/index.js:57:16

  - index.js:42 one
    [.docz]/[unist-util-visit-parents]/index.js:42:28

  - index.js:26 visitParents
    [.docz]/[unist-util-visit-parents]/index.js:26:3

  - index.js:22 visit
    [.docz]/[unist-util-visit]/index.js:22:3

  - index.js:99
    [.docz]/[remark-docz]/dist/index.js:99:3

Expected behavior
Development server spins up without any problem and displays the image
Environment

OS: Windows 10 Pro 1903.18965.1005
Node/yarn version: Node 12.4.0 | Yarn 1.17.3

Hey @rumblefrog,
Adding images is supported out of the box but you have to use either a relative path to the image or a url.
In your example :
- ![](/public/image.png)
+ ![](../public/image.png)

You can find a complete example here: https://github.com/doczjs/docz/tree/master/examples/images
Closing this, please feel free to re-open if the issue persists

So what is this documentation referring to? https://github.com/doczjs/docz-website/blame/4cd751756a56fbfb2efe040603731c6f71ad73ae/src/docs/documentation/references/project-configuration.mdx#L119-L139

Not sure honestly, probably v1 specific. Are you on docz v1?

No, I'm v2. But, I thought the doc was updated for the newest version, it's even on the production site: https://www.docz.site/docs/project-configuration

Hmm you're right, I'll make sure the docs are updated before the official v2 is released 👍

Would this behavior be restored in v2, or is it eradicated?

Using a relative path is still failing.
I also tried putting the image and the mdx in the same directory, and referencing the image ![](image.png) and I still get the same error.

Apparently that error is caused by empty brackets
- ![](image.png)
+ ![some string](image.png)

Oh nice ! Didn't think about that 👍
Thanks for reporting back with the solution.
It would be nice to add a warning about in the docs. Maybe we'll add a FAQ with v2.

i use ![some string](image.png)
But, how to show image center ?

@tuantvk
With HTML and not markdown. Please google the question next time and not use an issue unrelated to it.


Set up Zenodo integration (for DOI)

This is done. Zenodo integration for automatic publishing of releases is available from 0.13.0.


Readme: fix slashes

Coverage remained the same at 100.0% when pulling 4a7ffd43a0650816a7a40df7203686d2f2eaa962 on TomasVotruba:patch-1 into 17bc674481d83cc22f25d39b50cef8c0392f439f on Arachne:master.

Coverage remained the same at 100.0% when pulling 4a7ffd43a0650816a7a40df7203686d2f2eaa962 on TomasVotruba:patch-1 into 17bc674481d83cc22f25d39b50cef8c0392f439f on Arachne:master.

Ups... Now I need to check all my other packages.
Thanks for catching this!

Yep, found and fixed it in Arachne/EventManager as well. Looks like that's all.

Np  :+1:


Exception: timed out waiting for reservations to complete

Hi,I get an error when I am training.When I run Command :yarn logs -applicationId ...,I got results as follows:
Traceback (most recent call last):
File "mnist_spark.py", line 69, in
cluster = TFCluster.run(sc, mnist_dist.map_fun, args, args.cluster_size, num_ps, args.tensorboard, TFCluster.InputMode.SPARK, log_dir=args.model)
File "/usr/local/hadoop-2.7.1/tmp/nm-local-dir/usercache/honglingwang/appcache/application_1540460145880_0005/container_1540460145880_0005_01_000001/tfspark.zip/tensorflowonspark/TFCluster.py", line 297, in run
File "/usr/local/hadoop-2.7.1/tmp/nm-local-dir/usercache/honglingwang/appcache/application_1540460145880_0005/container_1540460145880_0005_01_000001/tfspark.zip/tensorflowonspark/reservation.py", line 121, in await_reservations
Exception: timed out waiting for reservations to complete
End of LogType:stdout
But How to proceed?

Every time I run ${SPARK_HOME}/bin/spark-submit
--master yarn
--deploy-mode cluster
--queue ${QUEUE}
--num-executors 3
--executor-memory 4G
--py-files ${HOME}/TensorFlowOnSpark/tfspark.zip,${HOME}/TensorFlowOnSpark/examples/mnist/spark/mnist_dist.py
--conf spark.dynamicAllocation.enabled=false
--conf spark.yarn.maxAppAttempts=1
--conf spark.yarn.executor.memoryOverhead=4G
--archives hdfs:///user/${USER}/Python.zip#Python
--conf spark.executorEnv.LD_LIBRARY_PATH="$JAVA_HOME/jre/lib/amd64/server"
${HOME}/TensorFlowOnSpark/examples/mnist/spark/mnist_spark.py
--images mnist/csv/train/images
--labels mnist/csv/train/labels
--mode train
--model mnist_model
it runs about ten minutes before exit.

Grab the yarn logs via yarn logs -applicationId <your_appId> and look for errors in the executors.

Thanks. Attached is the result when I grab the yarn logs.
yarn_logs_result.txt

I doubt this is the point
def await_reservations(self, sc, status={}, timeout=600):
"""Block until all reservations are received."""
timespent = 0
while not self.reservations.done():
logging.info("waiting for {0} reservations".format(self.reservations.remaining()))
# check status flags for any errors
if 'error' in status:
sc.cancelAllJobs()
sc.stop()
sys.exit(1)
time.sleep(1)
timespent += 1
if (timespent > timeout):
raise Exception("timed out waiting for reservations to complete")
logging.info("all reservations completed")
return self.reservations.get()
I want to know why the parameter timeout=600 is introduced .Can I increase it?

Yes, that is configurable, but I doubt that is the issue.  Your logs only show the driver and one of the executors.  You should have two other executors, but I don't see their logs... so this is likely related to the fact that you're waiting for 2 reservations.  Take a look at the Spark UI (Executors tab) while the job is running, and look at the stderr of each executor... hopefully, you should see the other two executors doing something (and likely failing).

That's all logs I get when running command yarn logs..... It seems only one of the executors runing others not as follows:

Spark UI as follows:

How many physical nodes do you have in your cluster?
Are you able to run any other (simple) spark jobs with more than one executor?
How much RAM do you have available on each node?  Note: since you're requesting --executor-memory 4G --conf spark.yarn.executor.memoryOverhead=4G, you will need a minimum of 8G per executor.

do you Solve the problem，i also
meet，I Doubt the reason is about hadoop version，but I cannot solve it，I run the process in hadoop 3.1.0

@wanghongling123 any updates on this?


explicitly add ACCESS_BACKGROUND_LOCATION to Android permissions

Without adding ACCESS_BACKGROUND_LOCATION to Android permissions in app.json, location permissions on Android devices only give users two options: Allow only while using the app and Deny. Currently if Allow only while using the app does not properly provide us with correct location data. See #1288.
Acceptance Criteria
When prompted to give location permissions, Android users have the choice of 3 options

[ ] Allow all the time
[ ] Allow only while using the app
[ ] Deny

Steps for QA:

PASS staging QA: 1.51.0


Add jpg dimension and resolution function??

I would love to use this script to export my layers to files, but I would like to be able to decrease the file size (pixel dimension and resolution for jpg) on export. Would you consider adding this function?
Why I would like this -
I have issues with prefixes when using the native 'layers to files', so I prefer this script. Now if I can just get the file size wrapped up in the same export process that would be IDEAL. My alternatives to modifying the file size include more steps - resize the file before exporting (not ideal), or resizing in Lightroom/other post-export.
My specific needs -
I need to export many layers to files - layer name as file name, no prefixes.
My photoshop file is set up for print - 8.5"x8.5", 300dpi.
My files are for web - need to be jpg 1024x1024, 72dpi.
I've never posted to GitHub so hope I'm making this request appropriately! Thank you!

I worry that adding this functionality would be antithetical to the scripts purpose, as I think adding a resize function might slow things down considerably.


[NO STORY] Update information about Docker images

Hey @sestrella Could you please update your branch and merge it?


S390 build is broken by latest changes to rc4/build.info

This is a build issue for S390 on master:
The build is looking for rc4-s390x.s and not finding it because it has been changed in rc4/buildinfo to be an uppercase .S extension.
------------->
gcc  -I. -Icrypto/include -Iinclude -I.. -I../crypto/include -I../include  -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DB_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DAES_ASM -DAES_CTR_ASM -DAES_XTS_ASM -DGHASH_ASM -DPOLY1305_ASM -DOPENSSLDIR=""/scratch/nsegen/jenkins/workspace/openssl-linux_s390x/install/ssl"" -DENGINESDIR=""/scratch/nsegen/jenkins/workspace/openssl-linux_s390x/install/lib/engines-"" -DNDEBUG  -MMD -MF crypto/rc2/libcrypto-lib-rc2ofb64.d.tmp -MT crypto/rc2/libcrypto-lib-rc2ofb64.o -c -o crypto/rc2/libcrypto-lib-rc2ofb64.o ../crypto/rc2/rc2ofb64.c
make[1]: *** No rule to make target crypto/rc4/rc4-s390x.s', needed by crypto/rc4/libcrypto-lib-rc4-s390x.o'.  Stop.
make[1]: Leaving directory `/scratch/nsegen/jenkins/workspace/openssl-linux_s390x/build-linux_s390x'
--------------->
I assume 00-base-templates.conf needs to be changed to use 	rc4_asm_src     => "rc4-s390x.S",

The assumption is incorrect, what needs to be changed is crypto/rc4/build.info
There is an automatic .S to .s conversion in the build file templates, which goes through the C Preprocessor....
Patience 'til tomorrow, please?

No hurry...

It was easier than I though...

Mind trying #8157?

It will take quite a bit longer than it took you to fix it as its in a CI loop :). I will try to manually test it if I can..

It appears to work with that change. I reverted the change and it still worked (until I manually deleted the .s file (doh))


Create library shell

Create boilderplate content

[ ] Add boilderplate to package.json

Branch: setup

Strangely, commitizen didnt work properly for the first commiit. Will have to keep an eye on this.


Update .travis.yml

Maven clean before build, to remove old cruft

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


Delete ,moveDown ,Moveup not showing on  onclick for image plugin

Delete ,moveDown ,Moveup not showing on  onclick for image plugin

same issue with Heading also

Any solution for this problem?

in your settings.py file try to add variable like this: EDITORJS_VERSION = '2.27.0'

Thanks @sergio-itru it worked for me


removal of sending of certs when logging out

Coverage remained the same at 93.91% when pulling 13741df2e7121dbf4651bc3b14b07ea3f4a1877d on nae-certs-logout-fix into 7befc8c12c4b00e1d37df539b5263e5020e6028e on master.

Coverage remained the same at 93.91% when pulling 13741df2e7121dbf4651bc3b14b07ea3f4a1877d on nae-certs-logout-fix into 7befc8c12c4b00e1d37df539b5263e5020e6028e on master.


added week N

Overview of current technologies in big data space.

@phillyfan1138  I think because you are a collaborator


v2.0.5 token transfers are not returned in record

See: https://github.com/hashgraph/hedera-sdk-js/blob/master/src/transaction/TransactionRecord.js
https://github.com/hashgraph/hedera-services/blob/master/hapi-proto/src/main/proto/TransactionRecord.proto
Only hbar transfers are available:

Confirmed workin in v2.0.7. Thank you!


Swipe Input Detection sometimes does not feel good

Please describe your request and why you are requesting it.
Sometimes swiping is not responsive or does not behave like you intended it to, so it needs to be tweaked on how precise and smooth the interaction with the app feels.
Describe the solution you'd like
Improve on the existing swipe interaction to make it work more consistently across the app without breaking functionality or doing things the user is not expecting on input.
Additional context
Swipe that ends in an UI element stopped working.

This will be worked on in issue #111


[FP]: CVE-2022-22976 in spring-security-oauth2-2.5.2.RELEASE.jar

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:vmware:spring_security:2.5.2:release:*:*:*:*:*:*
CVE
CVE-2022-22976
ODC Integration
{"label"=>"Maven Plugin"}
ODC Version
7.1.0
Description
Multiple related and sub-projects are incorrectly detected as vmware:spring_security.

Yes, I know. When spring-authorization-server finally has feature parity I'll start planning an upgrade, In the meantime it's very important to have accurate vulnerability analysis of it, as any fixes I'll have to do myself.


update fastapi due to security warning for python template

upgrade starlette to 0.25.0 based on Component Governance.
With the upgrade of starlette, it hits an error cannot add middleware after an application has started starlette startup event on FastAPIInstrumentor.instrument_app(app, tracer_provider=tracer). Move telemetry code up to compatible with the changes in starlette 0.25.0. Tested and verified it works as expected with console outputs and Application Insight.

Repoman Generation Results
Repoman pushed changes to remotes for the following projects:
Project: todo-python-mongo-aca
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-aca -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo-swa-func
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-swa-func -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo-terraform
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-terraform -b pr/2227

View Changes | Compare Changes

Repoman Generation Results
Repoman pushed changes to remotes for the following projects:
Project: todo-python-mongo-aca
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-aca -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo-swa-func
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-swa-func -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo-terraform
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-terraform -b pr/2227

View Changes | Compare Changes

@tonybaloney The latest version of FastAPI is requiring (warning/error) that the FastAPIInstrumentor.instrument_app initialization be done outside of startup_event. This is to avoid race conditions with web start up.
Example usage from official docs here.
Can you point us towards the section of code that you're concerned about? The changes seem fine to me. The script should only run once to initialize FastAPI.

Repoman Generation Results
Repoman pushed changes to remotes for the following projects:
Project: todo-python-mongo-aca
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-aca -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo-swa-func
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-swa-func -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo -b pr/2227

View Changes | Compare Changes

Project: todo-python-mongo-terraform
Remote: azure-samples-staging
Branch: pr/2227
You can initialize this project with:
azd init -t Azure-Samples/todo-python-mongo-terraform -b pr/2227

View Changes | Compare Changes


Update wasm code

Trying to push compiled code from backend repo somehow made the website to not work properly. Replacing wasm code with properly working version.


Relicense to Apache License, Version 2.0

I am going to relicense to Apache License, Version 2.0.

Fixed.


Test new types that use PostGIS geometry fields for smokePPE data

Description
PostGIS extensions are supported on c3:

https://community.c3.ai/t/how-can-i-leverage-geo-queries-provided-by-the-postgis-extension-in-the-typesystem/997/2
Also see c3ShowType(ExpressionEngineFunction)

In theory GiST indices should operate much faster that traditional b-tree type indices
Overall Approach
Begin by using GeoPointWithMeasure type for a field in place of GeoSurfaceTimePoint.  The 'M measure value will be time ( converted to epoch timestamps.
Steps

[x] Create type with PoiustGIS field: SmokePPEGeoTimeSimulationOutput
[x] Create a new data processing routine to extract data from the files and insert to new data type
[x] Run routine on small subset and test
[ ] Run routine on full dataset
[ ] Test queires

PostGIS references

https://postgis.net/docs/
https://blog.rustprooflabs.com/2020/11/postgis-trajectory-intro
https://anitagraser.com/2018/04/16/movement-data-in-gis-12-why-you-should-be-using-postgis-trajectories/

The C3 support of PostGIS is somewhat limited at the moment, but I think it could still help us...
https://community.c3.ai/t/query-within-bounding-box-on-a-geopointwithmeasure-field/14440


refactor AdditionalMetadataSpec struct

Right now AdditionalMetadataSpec looks like
type AdditionalMetadataSpec struct {
	AdditionalLabels      map[string]string `json:"additionalLabels,omitempty"`
	AdditionalAnnotations map[string]string `json:"additionalAnnotations,omitempty"`
}

i think we should remove Additional prefix from Labels and Annotations, 'cos we already have it in the structure name and duplicate it.
New structure will look like:
type AdditionalMetadataSpec struct {
	Labels      map[string]string `json:"additionalLabels,omitempty"`
	Annotations map[string]string `json:"additionalAnnotations,omitempty"`
}

@prometherion  WDYT?

LGTM!


completion-menu overlap with cmdline view

Describe the bug
Using cmdline view places the popup (not nvim-cmp) completion menu on top of cmdline, Cant see what is being typed
Also, the highlight for the currently selected item from popupmenu is no longer visible
Screenshots

config
    require('noice').setup {
        cmdline = {
            view = 'cmdline',
            view_search = 'cmdline',
            format = {
                inc_rename = { pattern = '^:%s*IncRename%s+', icon = ' ', ft = 'text' },
            },
        },
        lsp = { hover = { enabled = true } },
        views = { hover = { border = { style = 'single' } } },
    }

Fixed!

Thank you for the quick fix!
The highlight for current selection inside the completion popup is still missing. The highlight used to be present

Highlight works for me. Not sure what the problem is. Can you check with a minimal.lua?
https://github.com/folke/noice.nvim/wiki/Minimal-`init.lua`-to-Reproduce-an-Issue

Feel free to open a new issue :)

@folke Is it not a highlight but a cursorline?
I have an autocmd that disables cursorline, when i comment out that autocmd the "highlight" works

Yes! That's it indeed. NuiMenu uses the cursorline for that

If you want to enable/disable the cursorline in active windows, use this:
-- show cursor line only in active window
vim.api.nvim_create_autocmd({ "InsertLeave", "WinEnter" }, {
  callback = function()
    local ok, cl = pcall(vim.api.nvim_win_get_var, 0, "auto-cursorline")
    if ok and cl then
      vim.wo.cursorline = true
      vim.api.nvim_win_del_var(0, "auto-cursorline")
    end
  end,
})
vim.api.nvim_create_autocmd({ "InsertEnter", "WinLeave" }, {
  callback = function()
    local cl = vim.wo.cursorline
    if cl then
      vim.api.nvim_win_set_var(0, "auto-cursorline", cl)
      vim.wo.cursorline = false
    end
  end,
})

Thanks! Your method is very straight forward.
Mine was too aggressive with FocusGained FocusLost autocmds added into the mix, + file-match &filetype to selectively disable.


MemoryChecker default priority makes PC barely usable

Please make default priority Below Normal instead of Above Normal as it is now, ie: Renaming a file has a huge lag while ram is being tested.

You really shouldn't use your PC for anything else while testing RAM!
MemoryChecker will allocate almost all memory so that it can be tested. This alone can make the system appear "frozen". Also, any memory allocated by other applications can not be tested. So you probably want to close all other applications before testing RAM.

Yes, but on win7 above normal does seriously impact on otherwise trivial tasks. Even using taskmanager to lower priority is difficult to do. Sometimes I use it to check system stability (ie: memoryChecker 30%), which only test a small portion of memory but stresses CPU and try other stuff to see if system is reliable under stress.  As said, please change default to below normal, or at least give us a command line option to do it (ie: --low ) . Thanks!


Replace the README banner image with a demo preview GIF

A GIF will help fellows easily understand what the project is used for.

Done, now it's available in README.


explore: minor fixes

from Igor on Slack. This PR moves the checkbox and description of the Native American population feature below the explore chart and simplifies a bit the copy, to make the chart more prominent. I also reduced the number of preselected states to 5 so the search box takes less vertical space on Desktop.

We also want to move "Learn more about our methodology or view our observations." to the grey box below, but that involves moving the modal logic to the Explore component, I prefer to do that on a separate PR.

 Update Email Footer to Include 5th Level Language

As an aside, have we looked into using Dialog instead of Modal?

Yes, we do have a Dialog component for this. Before this PR, it had the defect of losing the scroll position when closing, which was due to a bad implementation of scroll lock in the component. The last few commits use the Dialog component, add it to Storybook and update the Explore component to use it.

🙏


Update github actions

Use latest versions of the github actions
Use node 18 when running tests

Codecov Report

Merging #2844 (bb1d343) into develop (d730dd0) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop    #2844   +/-   ##
========================================
  Coverage    65.15%   65.15%
========================================
  Files            8        8
  Lines          287      287
========================================
  Hits           187      187
  Misses         100      100

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 d730dd0...bb1d343. Read the comment docs.

btw I moved my develop images from node v17 to v18 an hour before, works.