feat: switch to buildkit for using go cache

Signed-off-by: Jim Ma<EMAIL_ADDRESS>
Description

Related Issue

Motivation and Context

Screenshots (if appropriate)
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] Documentation Update (if none of the other choices apply)

Checklist

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.

Codecov Report

Merging #1628 (c3fe31f) into main (2c1c883) will increase coverage by 0.19%.
The diff coverage is n/a.

:exclamation: Current head c3fe31f differs from pull request most recent head 10a47f4. Consider uploading reports for the commit 10a47f4 to get more accurate results

@@            Coverage Diff             @@
##             main    #1628      +/-   ##
==========================================
+ Coverage   40.92%   41.12%   +0.19%
==========================================
  Files         125      125
  Lines       11547    11547
==========================================
+ Hits         4726     4749      +23
+ Misses       6313     6287      -26
- Partials      508      511       +3

Flag
Coverage Δ

Object-compatibility-e2etests
?

e2etests
?

unittests
41.12% <ø> (+0.19%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

client/daemon/peer/peertask_piecetask_poller.go
46.89% <0.00%> (+15.86%)
:arrow_up:


Option to change verbosity of buff names

Option to have displayed buff names be more verbose. Potentially multiple levels of verbosity.

Closing in favor of #39.


parallel: 20210222 -> 20210322

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/parallel/versions.
meta.description for parallel is: "Shell tool for executing jobs in parallel"
meta.homepage for parallel is: "https://www.gnu.org/software/parallel/"
meta.changelog for parallel is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/parallel passed the binary check.

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/sql passed the binary check.

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/niceload passed the binary check.

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/parcat had a zero exit code or showed the expected version

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/parset passed the binary check.

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/parsort passed the binary check.

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel passed the binary check.

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.ash had a zero exit code or showed the expected version

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.bash passed the binary check.

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.csh had a zero exit code or showed the expected version

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.dash had a zero exit code or showed the expected version

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.fish passed the binary check.

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.ksh had a zero exit code or showed the expected version

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.mksh had a zero exit code or showed the expected version

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.pdksh had a zero exit code or showed the expected version

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.sh passed the binary check.

Warning: no invocation of /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.tcsh had a zero exit code or showed the expected version

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/env_parallel.zsh passed the binary check.

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/sem passed the binary check.

/nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin/.parallel-wrapped passed the binary check.

10 of 20 passed binary check by having a zero exit code.

8 of 20 passed binary check by having the new version present in output.

found 20210322 with grep in /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322

found 20210322 in filename of file in /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322

directory tree listing: https://gist.github.com/fc215b4702d06b998949e561f24c8727

du listing: https://gist.github.com/1749640341a73d6e629feb1930fdb3e5

Rebuild report (if merged into master) (click to expand)

25 total rebuild path(s)

9 package rebuild(s)

9 x86_64-linux rebuild(s)
6 i686-linux rebuild(s)
5 x86_64-darwin rebuild(s)
5 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
adapta-gtk-theme
image_optim
jpeg-archive
last
parallel
parallel-full
plata-theme
profile-cleaner
tebreak

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A parallel https://github.com/r-ryantm/nixpkgs/archive/6496ed8443a8b25705f3ff6a87b30e687e69118b.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322
ls -la /nix/store/ksjja6kxmcb7a3xw4kdbpziji5bhvngn-parallel-20210322/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

8 packages failed to build:

adapta-gtk-theme
jpeg-archive
last
parallel
parallel-full
plata-theme
profile-cleaner
tebreak

Maintainer pings
cc @pSub @vrthra @tomberek for testing.

Result of nixpkgs-review pr 117637 at 6496ed84 run on x86_64-linux 1

1 package marked as broken and skipped:

image_optim

2 packages skipped due to time constraints:

adapta-gtk-theme
plata-theme

6 packages built successfully:

jpeg-archive
last
parallel
parallel-full
profile-cleaner
tebreak

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

1 package marked as broken and skipped:

image_optim

8 packages built:

adapta-gtk-theme
jpeg-archive
last
parallel
parallel-full
plata-theme
profile-cleaner
tebreak


client: Allow setting image labels on Pull()

Signed-off-by: Kenfe-Mickael Laventure<EMAIL_ADDRESS>

Codecov Report

Merging #1551 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1551   +/-   ##
=======================================
  Coverage   42.36%   42.36%
=======================================
  Files          24       24
  Lines        3368     3368
=======================================
  Hits         1427     1427
  Misses       1612     1612
  Partials      329      329

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 20c6211...d4fd19e. Read the comment docs.

@AkihiroSuda probably, yes. Will add it, thanks.

several of your client.Pull changes from the first implementation now have a nil parameter that needs to be removed.

@estesp yes, just noticed, it's should be fixed :innocent:

rebased and squashed

LGTM
I'm assuming this is to avoid the transactional problems of labels after pull.

LGTM


Issue with v1.6.4 vs v1.7.0

I am seeing a error kicked into the console that breaks the page, it was working fine with v1.6.4 when I migrate to v1.7.0 I see the below:
ReDoc initialized! redoc.min.js:15 EXCEPTION: Uncaught (in promise): TypeError: Cannot read property 'split' of null TypeError: Cannot read property 'split' of null     at t.exports (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:25:29784)     at t.headingOpenRule (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:23:13881)     at r.render (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:41:12080)     at i.render (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:41:8399)     at t.renderMd (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:23:14412)     at t.preprocess (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:8:6678)     at t.init (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:8:6377)     at https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:8:5848     at t.invoke (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:48:8393)     at Object.onInvoke (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:11:2457)     at t.invoke (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:48:8333)     at n.run (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:48:5258)     at https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:48:2869     at t.invokeTask (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:48:9070)     at Object.onInvokeTask (https://rebilly.github.io/ReDoc/releases/latest/redoc.min.js:11:2357)
BTW, fantastic viewer really enhances the definitions.

Hey @jsmartfo. Could you provide me with a link to your spec?

The spec is an internal one that I cannot publish yet, I am more that happy to debug -- let me try and setup and work out what is happening

ok, if you can't find the exact issue it would be great if you come up with a minimal reproducible spec.
Most likely the issue is connected to the second-level (##) markdown headers in the description field of swagger

Yep will do, either way will get it across.
May run into next week as I have some commitments this week/end.

You're correct, it's an error when second level heading is in desc but you don't have a first level heading.
It appears slugify is throwing the error because it cannot accept null for this.currentHeading
  headingOpenRule(tokens, idx) {
    if (tokens[idx].hLevel > 2 ) {
      return this._origRules.open(tokens, idx);
    } else {
      let content = tokens[idx + 1].content;
      if (tokens[idx].hLevel === 1 ) {
        this.firstLevelHeadings.push(content);
        this.currentHeading = content;
        let contentSlug = slugify(content);
        return `<h${tokens[idx].hLevel} section="section/${contentSlug}">` +
          `<a class="share-link" href="#section/${contentSlug}"></a>`;
      } else if (tokens[idx].hLevel === 2 ) {
        this.secondLevelHeadings.push(this.currentHeading + `/` + content);
        let contentSlug = slugify(this.currentHeading) + `/` + slugify(content);
        return `<h${tokens[idx].hLevel} section="section/${contentSlug}">` +
          `<a class="share-link" href="#section/${contentSlug}"></a>`;
      }
    }
  }

let contentSlug = slugify(this.currentHeading) +/+ slugify(content);
The line above is the culprit null, if we look at the if check for hLevel === 1
https://github.com/Rebilly/ReDoc/blob/master/lib/utils/md-renderer.ts#L53
We assign this.currentHeading = content;
It's seems to be null for hLevel === 2 (if you don't have a level 1 prior) - not sure how you wish to proceed, safe guard against this or tell people to use header order correctly :-)
I can do a PR, please let me know how you want to proceed.

I believe safe guard would be better.
Also I think we should append such headers (second level without corresponding first level) to this.firstLevelHeadings instead of this.secondLevelHeadings so they will behave as first-level. I believe it does make sense.
If you think so you can proceed with PR. This part of code is not covered by tests so do not worry about it. I will add tests myself asap
Thanks

Just wondering what would be the issue leaving their choice of header and not altering it under the covers?
Something like below, we still push into the heading arrays as needed, but the h1 and h2 content/structure is the same - but I maybe missing the reason for the difference added within the two if checks (if it was for uniqueness I can append the heading level also)
  headingOpenRule(tokens, idx) {
    if (tokens[idx].hLevel > 2 ) {
      return this._origRules.open(tokens, idx);
    } else {
      let content = tokens[idx + 1].content;
      this.currentHeading = content;
      let contentSlug = slugify(content);
      if (tokens[idx].hLevel === 1 ) {
        this.firstLevelHeadings.push(content);
      } else if (tokens[idx].hLevel === 2 ) {
        this.secondLevelHeadings.push(content);
      }
      return `<h${tokens[idx].hLevel} section="section/${contentSlug}">` +
          `<a class="share-link" href="#section/${contentSlug}"></a>`;
    }
  }

@jsmartfo h2 content should contain parent heading reference so it can be placed in correct place in menu. Check out: https://github.com/Rebilly/ReDoc/blob/master/lib/services/menu.service.ts#L252

I will get something across to you as soon as I can, have a couple of hoops to jump through at work first.

Fixed on v1.8.0
Plz confirm and reopen in case it's not fixed


Syncronous API

Hey!
You did a great job here!
I need to use your API syncronously ( because I need it in a syncronous framework). Is there any plan to do it in the future?
Thank you

yeah, that's doable.  obviously, it'll only work in Node though.  Resolving external $refs in the browser has to be async, since it has to download the files

Indeed, I need it server side only in my case

+1
Right now I'm using something like:
var data, done = false;
	$RefParser.dereference(schema, function(err, schema) {
		if (err) {
			console.error(err);
                     return done = false;
		}

		...
		done = true;
	});
	require('deasync').loopWhile(function(){return !done;});
	return data;

I'd love to see this as well.

+1

This would make using supertest easier as well. +1

Apologies for the +1 spam, but I'd love to see this as well. For my use case, I only need synchronous support for resolving local file references. I would not need to synchronously resolve remote HTTP references.

Good news.  I've already started working on a synchronous API  👍

@BigstickCarpet I have a need for the synchronous API as soon as possible, and would be happy to contribute to help get it ready for release. Is there a branch and list of remaining tasks that I could dive into? Thanks!

Hi @Lange - You can see my work-in-progress here, but it's not finished yet or ready to use.  I'm not quite ready to accept pull-requests yet, because the code is still very much in flux.  This is a complete rewrite with a brand-new API, and nothing is fully solidified yet.  It already has a synchronous API though, and a few tests that use it, so I'm definitely making good progress.  I hope to have an alpha version ready for public feedback and testing within a few weeks.

Understood - thanks for the reply @BigstickCarpet!

add +1 to get notified - thanks a lot :)

@mashpie For future reference there is a Subscribe button on the right side under notifications.

@willfarrell true, wanted to opt my plus one in addition

Did anything ever come of this? I, too, would very very much love to do
const expandedSchema = $RefParser.dereferenceNowDammit(mySchema);

without having to mess about with callbacks and promises.

In the mean time, I made this: https://github.com/MikeTaylor/json-schema-ref-parser-sync
I'm not proud of it, but it works. I hope it's of use to someone else.

I've had to manually write this logic in my application because it supports a sync & async API. Does anyone have a rough outline of which APIs this would need to support? A bit of direction and I'd be willing to work on it.

The deasync solution mentioned by @willfarrell and used by apidoc-plugin-schema unfortunately no longer works with the latest versions of json-schema-ref-parser since it's built on async/await.

I think this can be fixed by calling process.nextTick() (for node, anyway) within the deasync loop, but I haven't reached a final solution yet.

This library works for me: https://www.npmjs.com/package/json-schema-deref-sync

Is this still necessary in an async/await world? It seems like the complaints of “I don’t want to mess around with callbacks and promises” would no longer be relevant with a bit of await now?

@philsturgeon The exception is in constructors, which must be sync.

@philsturgeon the problem is not in the complexity, but in that some use cases require synchronous behaviour. With async version the users of my function had to always add await, when invoking the function. But the often forgot to do this, because the function was meant to be used in a synchronous context. And because of this they often ended up with unhandled promise rejection errors, which were swallowed by Node.

The problem is that the library currently does too much in a single function.  Functions like dereference() and bundle() currently do all of the following:

Read files from disk
Download files from URLs
Parse data from YAML, JSON, etc.
Resolve all the $ref pointers in each file
Dereference all $ref pointers in each file

Only #1 and #2 need to be async.  All the rest can be done synchronously.  And, indeed, many people don't need #1 and #2 at all because they already have the schema object in memory, not in a file on disk.
I'm currently working on separating the above functionality into separate functions so they'll work better with workflows that could be fully synchronous.

@philsturgeon Node is still heavily synchronous. I have a node module which does dereference() while creating module.exports and it's used by most of the program.

I'm considering my question answered already folks, don't need to keep explaining it! 😅
From @JamesMessinger

I'm currently working on separating the above functionality into separate functions so they'll work better with workflows that could be fully synchronous.

Looking forward to that.

Hey all, reaching out in desperation as a bit of a JS/Node noob when it comes to async/await... I've a couple of questions that if anyone could help me with or at least point me in the right direction, I'd be massively grateful.
My use case is that I'm attempting to return an object from a function and within that function I'm required to parse out a schema.

Other that using https://github.com/APIDevTools/json-schema-ref-parser/issues/14#issuecomment-204624236 (which I've not been able to use, a previous comment mentions that this is no longer possible with the latest version of the parser), is there any way to hack a sycnronous implementation of this - I've attempted to use a callback to set a done variable to true in combination with a while(!done) - again, I've not been able to configure this correctly and I fall into a never ending loop. See below.

    $RefParser.dereference(doc, (error, result) => {
      console.log('trying to deref....')
      savedError = error;
      savedResult = result;
      done = true;
    });

    while(!done){}

What prevents the deasync module working with the latest version of the parser?

@michaelmelody91 and for anyone interested, I was able to get synchronous dereferencing for a schema object like so:
import $RefParser from '@apidevtools/json-schema-ref-parser';
import _dereference from '@apidevtools/json-schema-ref-parser/lib/dereference';

export const dereference = (schema) => {
  const parser = new $RefParser();
  parser.parse(schema);
  parser.schema = schema;
  _dereference(parser); // NOTE: mutates schema
  return schema;
};

The caveat of the solution above is that it mutates the original object, which may not be what you want.
You should probably make a deep copy of the schema object before running require('@apidevtools/json-schema-ref-parser/lib/dereference') on it.

Ok there are a couple of workarounds suggested and the new library will have a synchronous option, so lets call this thread a day. Thank you!

Ok there are a couple of workarounds suggested and the new library will have a synchronous option, so lets call this thread a day. Thank you!

Hi @philsturgeon, can you elaborate more on "the new library will have a synchronous option"? What is this "new library" you speak of?

Over here: https://github.com/APIDevTools/json-schema-reader
This tool will eventually replace json-schema-ref-parser but is not yet complete. The goal is to continue meaningful changes over there whilst getting it ship shape, although priorities and availability for the maintainers is a struggle at the moment.
If you'd like to muck about with that lib and see how far you get that'd be handy.


Can't Save and load subsets

Clicking with right mouse button on "NEI Subsets" button not working.
Forge 1208.
CCC <IP_ADDRESS>
NEI <IP_ADDRESS>

I have the same issue, right clicking on NEI Subsets don't work.
MC 1.7.10
Forge 1291
CCC <IP_ADDRESS>
NEI <IP_ADDRESS>

Feature was never reimplemented. May return at some point in the future

Is there a way to copy the config in some way?

Yes, I Would really like this feature. I have many mods that add blocks and items with missing textures.  It would be nice if I could just save it to a list and load it everytime I create a world.


Enable pyflakes, via flake8

Using flake8 tool will allow us to add PEP-8 checks later.
This:

Enables some quick checks for potential bugs.

Adds absolute_import to a bunch of modules; it is default on Python 3 and a good idea in general.

(Still haven't finished running tests locally and fixing what broke, just a placeholder until I've fixed everything).

How about using py.test plugin for pyflakes instead?

https://pypi.python.org/pypi/pytest-flakes

This has an advantage that it automatically becomes part of every developer workflow, not only through CI or Docker. What do you think?
Otherwise looks awesome.

Ah, good idea (probably want pytest-flake8, but same idea). Will go try that.
In general I recommend setting up flake8 in your editor; on Emacs I use elpy, but I assume pretty much any decent editor has some way to do it.

I've been using syntastic with flakes8 if anyone also uses Vim


[BUG] Selecting a sub-tab (e.g. Related -> Documents) doesn't work if the Related tab is within the overflow menu

Bug Report
EasyRepro Version

[x] Microsoft Dynamics 365 Online Version 9.1 (9.1.x) (DB 9.1.x) online

UCI or Classic Web

[x] UCI (XrmApp)

Online or On Premise

[x] Online

Browser

[x] Chrome

Describe the bug
Selecting a sub-tab (e.g. Documents within Related) works fine unless the number of tabs and screen size is such that the Related tab is within the overflow menu.
Code to reproduce
XrmApp.Entity.SelectTab("Related", "Documents");

Expected behaviour
The documents sub-tab should be selected regardless of whether the Related tab is within the overflow menu or not.
Screenshots

Additional context
The overflow menu is clicked - resulting in the screenshot above - and an exception is thrown:

System.Exception : The tab with name: Related does not exist

@ewingjm - Could you provide version details from the organization you tested with? I have pushed several fixes over the weekend into the Develop branch and in a few scenarios I was calling this exact scenario when testing.
I did not observe any issues, however I am also testing with the latest from a First Release Environment (<IP_ADDRESS>35). I plan to publish the latest from develop to NuGet and releases/v9.1 tomorrow if you want to re-test with the latest code at that time.
Thanks,
Tyler

Hi Tyler,
Here's the version information from our organisation -

2020 release wave 2 enabled
Server version: 9.1.0000.22845
Client version: 1.4.1440-2008.5

We've got series of tests which are very similar and it's working fine in the scenarios where the 'Related' tab is not pushed into the overflow menu. I'll retry with the latest version when it's available.


Deploy demo app to TestFlight

@marcelomorgado If we can do this with hardcoded data, I think this is an even higher priority for demo purposes than running the Tasit SDk test suite against a testnet
I'm happy to help with this since I've deployed apps a lot before, and I have some experience (albeit less) with Fastlane

For Sure! I'll probably need some help.
A question: For now app is connecting to a local network IP running ganache.
Isn't to have app running using testnet before deploy it?

Cool cool. I can set up the Apple Developer accounts and everything and send you an invite.
What I meant by hard-coding is that we could stub out responses from the "blockchain" just so we could at least show how the current UI looks. But only if that doesn't present too much additional hacking work that we'll have to undo right away.

Oh, I see. Sure! I can do it quickly.

@marcelomorgado FYI I'm working on this one

@marcelomorgado Is this the branch to work off of?
https://github.com/tasitlabs/tasit/tree/feature/no-blockchain
Do we have a good workflow for getting the changes we like from the develop branch into that branch?

Yes, that branch has the decentraland app without blockchain (for demo purposes).
Should we keep this kind of demo/branch even with testnet working?

@marcelomorgado Oh, I guess if testnet is stable enough we can just declare that branch obsolete

@marcelomorgado I just sent invites to both of us as internal testers through TestFlight, so I'm marking this as complete


Get S3 Proxy URL from App Interface

You are missing an entry for the parameter: https://github.com/RedHatInsights/edge-api/pull/89/files#diff-50b41779d45e37968dc1bef161feebad3447f6c3cf72cfee62db774ecd5dfa4dL71

@chambridge https://github.com/RedHatInsights/edge-api/pull/90


how to start kong in amd cpu?

Summary
how to start kong in amd cpu?

What problems are you running into? Error messages etc

Closing as stale. Please feel free to let us know if there’s more to say here.


I am not able to play recorded sounds from the microphone

Hi,
I implemented steps 1-4, but in step 5, i do not see the gallery updated with sounds to play since it is not showing on the form after i hit stop on the microphone.  What would be the problem here? I had the gallery set to pull from my collection name, but it seems the microphone is not storing the file to be picked up by the gallery control. any help is appreciate it.
Thanks.

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

ID: 258f140b-bc82-47a7-e915-79bebbd9b3b9
Version Independent ID: d8a732b6-53b4-b161-3ff8-14de5fda89b3
Content: Microphone control: reference - PowerApps
Content Source: powerapps-docs/maker/canvas-apps/controls/control-microphone.md
Service: powerapps
GitHub Login: @chmoncay
Microsoft Alias: chmoncay

Hi there, I was able to get this working properly.  Are you sure you're using Collect() and not ClearCollect() in your save function?  ClearCollect will clear the collection where Collect will add to the collection.
I added ClearCollect in my App OnStart

Here is my Collect on Microphone OnStop

Here is a video adding more items

Hope this helps.


Bubble sort added

@ayan-biswas0412 Done! I think is ready, misunderstood the first time reading the contribution guide.


Feature request - Route parameters.

Please add route parameters so I can do what 99% of all other routing solutions have implemented:
A Vue.js example taken from: https://router.vuejs.org/guide/essentials/navigation.html
// named route
router.push({ name: 'user', params: { userId: '123' } })

This seems extremely basic and a fundamental to routing. I know you can pass in state by having to manually sync in the router again is something you should not have to do.

https://reacttraining.com/react-router/web/example/url-params

This works with the Link component but does not specify anything about 'programatically' navigating to a route with parameters which is the problem here.


Bottom Tab bar Can't Selected To set Position

loadMultipleRootFragment(R.id.fl_tab_container, SECOND,                     mFragments[FIRST],                     mFragments[SECOND],                     mFragments[THIRD]);
Tab still selected first

Sorry my mistake


Can not download pre-trained model

I can open drive.google.com ,but i cant download the file

me too


Fix typo in README example

BCS deserialization example in README used a value named "bcsBytes" where the name of value for the serialized object is "bytes".
Description
Describe the changes or additions included in this PR.
Test Plan
How did you test the new or updated feature?

If your changes are not user-facing and not a breaking change, you can skip the following section. Otherwise, please indicate what changed, and then add to the Release Notes section as highlighted during the release process.
Type of Change (Check all that apply)

[ ] user-visible impact
[ ] breaking change for a client SDKs
[ ] breaking change for FNs (FN binary must upgrade)
[ ] breaking change for validators or node operators (must upgrade binaries)
[ ] breaking change for on-chain data layout
[ ] necessitate either a data wipe or data migration

Release notes

Thanks @kPatch for letting us know about this issue


[VT-26] vit; display selected task ID(s) on status-bar

David Patrick on 2013-09-08T16:39:54Z says:
This feature seeks to have the ID of the selected task (the one the selection-bar is over) displayed at the bottom-right of the screen, just to the left of the screen position indicator (Top --- Bottom). This is a real-time display of the value of "%", changing as you move the selection-bar up and down, and makes it clear what ID(s) keys and commands will act on. Positioning the selected ID(s) display to the far-right keeps it handy but out of the way of incoming commands.

Migrated metadata:
Created: 2013-09-08T16:39:54Z
Modified: 2014-06-08T20:31:43Z

Paul Beckingham on 2013-09-08T17:22:44Z says:
I would argue that with any interface where you have an opportunity to actually point to a task, and where you have no opportunity to type in a task ID, that IDs are useless.  So what would you be able to do with that ID on the screen?

David Patrick on 2013-09-08T17:35:54Z says:
Anything that uses the "%" token acts on the ID(s), having this displayed let's you know clearly what such a command or keybind will act on.
This is also a foundation for the visual-feedback part of multiple-select.

Paul Beckingham on 2013-09-08T17:50:42Z says:

let's you know clearly what such a command or keybind will act on

Yes, but, you also have the option of somehow highlighting the selections, so that not only tells you what the command will operate on, but doesn't require you to reach and match up the IDs.  Now I'd be happier with a count of the selected items...

David Patrick on 2013-09-08T18:11:04Z says:
Paul Beckingham wrote:

Yes, but, you also have the option of somehow highlighting the selections,

In the case of multiple-select, it will be quite easy to have a situation where it is impossible to see all selected tasks in the same screen, they are too far apart.

Now I'd be happier with a count of the selected items...

Both would be good, but I think the count of selected items would be happier in the header along with "# tasks shown",
maybe once multiple-select is implemented it becomes "# selected of # tasks shown".

David Patrick on 2013-09-08T18:16:53Z says:
Paul Beckingham wrote:

.. but doesn't require you to reach and match up the IDs.

no reaching up required, this is just a display of task(s) ID(s) already selected, for reference.

David Patrick on 2014-06-08T20:31:43Z says:
linking interface-related issues


-EnableUsageReporting replaced by UsageReportingEnabled in 1808?

-EnableUsageReporting replaced by UsageReportingEnabled in 1808?

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

ID: 3ccb9b30-d08b-f263-c23e-abe9e399626a
Version Independent ID: 98cb2b61-3d61-68a5-dd33-cca41a97a3c2
Content: Register the ASDK with Azure
Content Source: articles/azure-stack/asdk/asdk-register.md
Service: azure-stack
GitHub Login: @jeffgilb
Microsoft Alias: jeffgilb

@rathishrms you are correct, I have verified.
@jeffgilb I am unable to make this change to this doc for some reason, along with the change in #15981.

@rathishrms this is fixed in #16549

@rathishrms correction, this was not fixed in #16549, however the command still works as given.


WebKit marked as no support for Custom Elements v0 but footnote says it has support

This does not seem to be the case anymore


ExtensionHandler logger fallback to default logger

Some extra cleanup in the extension API.

Make extension handlers use default tornado logger if no logger is found.
Provide fallback to jupyter_server templates if extension doesn't have a given template.

Released as jupyter_server-1.0.0rc14


MessageTemplate Property

Is there any way to get the message template sent along (may as a label?)?  I would like to filter in loki based on all the entries with a specific Message Template

Dropping two classes in your project should do the trick for the time being:
using System;

namespace MessagTemplateSerilog
{
    using Serilog;
    using Serilog.Configuration;
    using Serilog.Core;
    using Serilog.Events;
    using Serilog.Sinks.Loki;

    class Program
    {
        static void Main(string[] args)
        {
            var log = new LoggerConfiguration().
                      Enrich.WithMessageTemplate().
                      WriteTo.LokiHttp(new NoAuthCredentials("http://localhost:3100")).CreateLogger();

            log.Information("An int {name} with a value {value}", "myIntName", 8);
            log.Dispose();
        }
    }

    public class MessageTemplateEnricher : ILogEventEnricher
    {
        public void Enrich(LogEvent logEvent, ILogEventPropertyFactory propertyFactory)
        {
            LogEventProperty property = propertyFactory.CreateProperty("Message_Template", logEvent.MessageTemplate.Text);
            logEvent.AddPropertyIfAbsent(property);
        }
    }

    public static class MessageTemplateEnricherExtensions
    {
        public static LoggerConfiguration WithMessageTemplate(
            this LoggerEnrichmentConfiguration enrichmentConfiguration)
        {
            if (enrichmentConfiguration == null)
                throw new ArgumentNullException(nameof(enrichmentConfiguration));

            return enrichmentConfiguration.With<MessageTemplateEnricher>();
        }
    }
}

Keep in mind that you'll have to use a regex search (using .) since loki doesn't like the { and } characters in queries, so you won't be able to search for an exact match but it should be close enough.
{Message_Template=~"An int .name. with a value .value."}

I’d like to know that how to use serilog.loki to establish a customizing client to make an index for writing logs as Elasticsearch.?


[Unrelated] What theme and scheme are you using in the screenshot?

https://github.com/equinusocio/material-theme

Thanks :)


Improve documentation

Hey @FailSpy, in the benchmarking and inference section you have used ortho. I'm unable to find the import to it in the readme, can you let me know on this?


Resolve race conditions in Marlin kernel

FIX #10656
FIX #11205

Hi, @mgoin, could you please take a look at this PR when you have a moment? Your feedback would be greatly appreciated!

Hey @wchen61 it seems the marlin kernel tests are failing with this change. Could you try debugging your changes against the kernels/test_marlin_gemm.py::test_gptq_marlin_gemm test?

Hey @wchen61 it seems the marlin kernel tests are failing with this change. Could you try debugging your changes against the kernels/test_marlin_gemm.py::test_gptq_marlin_gemm test?

Okay, I’ll look into it. The estimation for shared memory here is indeed a bit rough. Actually, I previously ran it on an A100, and it passed all the unit tests. Could you let me know what platform the failing case is running on?

@wchen61 the runner for that test should be using L4, so maybe if you tried an inference GPU you should be able to reproduce


Reference guide does not include all the docs

The reference guide is severely outdated. We would have to update the source, processor and sink asciidoc's with relevant README links, so they are included in the generated html fragments.

Depends on https://github.com/spring-cloud/spring-cloud-stream-app-starters/issues/210

Depends on https://github.com/spring-cloud/spring-cloud-stream-app-starters/issues/211

Depends https://github.com/spring-cloud/spring-cloud-stream-app-starters/issues/212


Feature/knn

@sryza We would like to contribute KNN model to the spark-ts package. Opening it for initial review. I will introduce KNNModel and implement the prediction/forecast using it. Also the lag function should use TimeSeries.lag..we optimized it for performance.
Reference: https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/neighbors/regression.py

Closes #201

Hi @debasish83, thanks for your contribution!  I left a few comments inline.  One broader comment: are you able to scaladoc for the main public classes and methods?


Eclipse plugin does not support SAML/One Time passcode configurations

We are integrating the login-server with SAML. The eclipse plugins only support authentication using local UAA accounts (or I believe direct LDAP integration also).
The plugins should be able to call the /login endpoint and determine that SAML is enabled and present the OTP options.

Hi,
We'll look into this feature request and see if we can present OTP options to the user in the plug-in. We're looking at post-1.8.2 release (after first week of April) before we can address this. Thanks.

We've just released 1.8.1 and now are looking at features and fixes for the next release, 1.8.2, with tentative release date at the end of April.
We will be looking at supporting SAML, and are tracking updates here:
https://www.pivotaltracker.com/n/projects/1027166/stories/89906492
We'll update when we have made progress on this item. Thanks.

Hi there!
We use Pivotal Tracker to provide visibility into what our team is working on. A story for this issue has been automatically created.
The current status is as follows:

[ ] #99824268 Eclipse plugin does not support SAML/One Time passcode configurations

This comment, as well as the labels on the issue, will be automatically updated as the status in Tracker changes.


Remaining Rate limit as data point

Currently the remaining rate limit is only visible in the debug log.
Would be good to have this also as an data point so we could better see it and trigger actions like notification if it's getting close to 0 etc.

Good Idea. I will add

By the way. It seems that the calculation of the retry seconds is not 100% correct (see first line). This would be 15 days.

And is the polling interval warning always there? Because with an interval of 520 seconds i would have 167 requests per day.

The value for "retry after "comes from Daikin. I will write them
167 means you only have 33 calls left to control your device and each "control" uses 2 calls (at least - 1x write, 1x read), so you have 16 control operations in 24h left ... is that sufficient for you really?

I just had a look at the logs and found that i have multiple different entries for "RemainingDay". Is this limit for each of my air contitioning units different or is there one limit for all together?

Normally "all together", but I also do not know how they exactly calculate the limit ... could also be a moving window or such.

The value for "retry after "comes from Daikin. I will write them
167 means you only have 33 calls left to control your device and each "control" uses 2 calls (at least - 1x write, 1x read), so you have 16 control operations in 24h left ... is that sufficient for you really?
And honestly 500s vs 520s does not make too much difference.
But ok I change that to be an info log ... but ok I will adjust the limit here to 500

Of course you're absolutely right. I didn't realize that each control creates 2 requests: 1x write, 1x read. I'll go with a 900 intervall for the moment.

please try 0.4.1 from GitHub

@gahujipo Can you please send me your client id you received this very high number with? Daikin guys would like to look into it

dMb8hKfz09L8IYCY7tNXecby

Thanks, I asked Daikin to check why it was that long


Hello, I'm from China. Your csgo hackers have a very vast market in China. How can I contact you and learn from you?  We have a complete sales channel, which can help your csgo hackers sell in China and make huge profits

Hello, I'm from China. Your csgo hackers have a very vast market in China. How can I contact you and learn from you?
We have a complete sales channel, which can help your csgo hackers sell in China and make huge profits

Hi, I'm sorry this cheat was made out of educational curiosity, and I don't think it's usable in multiplayer mode. Some part of this hack can be detected by the game easily I guess. Nobody should use this in real PVP match.
It's an attractive offer, but because both me and this hack are not mature enough, I have to decline it. Though i cant take it, my twitter is open to get in touch with me.


Add score, mypy type checking and more

Add blips for sensor tower
Add comments to mass_reaper.py example
and more

After syncing, I get an error when running the mass reaper script:
Traceback (most recent call last):
File "/Users/vhoumes/Library/Python/3.6/lib/python/site-packages/sc2/main.py", line 60, in _play_game_ai
await ai.on_step(iteration)
File "examples/terran/mass_reaper.py", line 54, in on_step
if self.units.of_type([UnitTypeId.SUPPLYDEPOT, UnitTypeId.SUPPLYDEPOTLOWERED, UnitTypeId.SUPPLYDEPOTDROP]).ready.exists and self.units(UnitTypeId.BARRACKS).amount + self.already_pending(UnitTypeId.BARRACKS) < 4 and self.can_afford(UnitTypeId.BARRACKS):
AttributeError: 'Units' object has no attribute 'of_type'


Require WebKitGTK >= 2.12.0

Author: Jiří Janoušek<EMAIL_ADDRESS>Reviewed by: FIXME
Issue: tiliado/nuvola-app-soundcloud#4
Issue: tiliado/nuvola-app-soundcloud#5

When merging this branch, please follow Guidelines for Merge Commits, especially:

Don't merge directly in GitHub as it produces a crappy commit message.
The title of the pull request becomes the merge commit title (the first line of the merge commit).
The description of the pull request up to the first horizontal separator/line becomes the merge commit body (separated from the title by a blank line).
Fill in the Reviewed by line and add the Pull Request line.

Hello @kixam. If you agree with the proposed changed, but don't have time to merge them, let me know and I'll merge the branch by myself.

hello @fenryxo ,
it seems to me that most of the code you propose to add to the plugin might rather be integrated to the main software in some way? in particular, it seems to me you would have to duplicate similar code to several other plugins?

It may be integrated into the Nuvola Core eventually but not sooner than in NP 3.2. This is merely a hotfix for NP 3.0.

alright then, please merge

I'll probably get down to it tomorrow. May I create a new release after that or would you like to make some changes before the release?

I do not plan any change for now, please proceed


Errors in the loop detection when running in physical devices with loopback links

Hi,
Running kytos latest version (amlight/kytos:latest docker image) with a physical environment based in Noviflow switches gives the following error in the Kytos console:
--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.9/logging/handlers.py", line 73, in emit
    if self.shouldRollover(record):
  File "/usr/lib/python3.9/logging/handlers.py", line 191, in shouldRollover
    msg = "%s\n" % self.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 923, in format
    return fmt.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 659, in format
    record.message = record.getMessage()
  File "/usr/lib/python3.9/logging/__init__.py", line 363, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "/usr/lib/python3.9/threading.py", line 912, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 77, in _worker
    work_item.run()
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/dist-packages/kytos/core/helpers.py", line 146, in handler_context_apm
    result = handler(*args)
  File "//var/lib/kytos/napps/kytos/of_lldp/main.py", line 173, in on_lldp_loop_stopped
    self.loop_manager.handle_loop_stopped(interface_a, interface_b)
  File "//var/lib/kytos/napps/../napps/kytos/of_lldp/loop_manager.py", line 254, in handle_loop_stopped
    log.error(
Message: 'Failed to delete metadata key looped on interface '
Arguments: ('00:00:00:00:00:00:00:05:19',)

In the topology used, the switch 00:00:00:00:00:00:00:05 has a loopback link between ports 19 and 20 (port 19 is connected to port 20, in the same switch).
There are other switches with looback connection and they also have equivalent errors:

Switch 00:00:00:00:00:00:00:01, port 17 is connected to port 18

--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.9/logging/handlers.py", line 73, in emit
    if self.shouldRollover(record):
  File "/usr/lib/python3.9/logging/handlers.py", line 191, in shouldRollover
    msg = "%s\n" % self.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 923, in format
    return fmt.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 659, in format
    record.message = record.getMessage()
  File "/usr/lib/python3.9/logging/__init__.py", line 363, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "/usr/lib/python3.9/threading.py", line 912, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 77, in _worker
    work_item.run()
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/dist-packages/kytos/core/helpers.py", line 146, in handler_context_apm
    result = handler(*args)
  File "//var/lib/kytos/napps/kytos/of_lldp/main.py", line 173, in on_lldp_loop_stopped
    self.loop_manager.handle_loop_stopped(interface_a, interface_b)
  File "//var/lib/kytos/napps/../napps/kytos/of_lldp/loop_manager.py", line 254, in handle_loop_stopped
    log.error(
Message: 'Failed to delete metadata key looped on interface '
Arguments: ('00:00:00:00:00:00:00:01:17',)

Switch 00:06, port 12 to port 13

--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.9/logging/handlers.py", line 73, in emit
    if self.shouldRollover(record):
  File "/usr/lib/python3.9/logging/handlers.py", line 191, in shouldRollover
    msg = "%s\n" % self.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 923, in format
    return fmt.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 659, in format
    record.message = record.getMessage()
  File "/usr/lib/python3.9/logging/__init__.py", line 363, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "/usr/lib/python3.9/threading.py", line 912, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 77, in _worker
    work_item.run()
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/dist-packages/kytos/core/helpers.py", line 146, in handler_context_apm
    result = handler(*args)
  File "//var/lib/kytos/napps/kytos/of_lldp/main.py", line 173, in on_lldp_loop_stopped
    self.loop_manager.handle_loop_stopped(interface_a, interface_b)
  File "//var/lib/kytos/napps/../napps/kytos/of_lldp/loop_manager.py", line 254, in handle_loop_stopped
    log.error(
Message: 'Failed to delete metadata key looped on interface '
Arguments: ('00:00:00:00:00:00:00:06:12',)

switch 00:06 port 25 to port 26

--- Logging error ---
Traceback (most recent call last):
  File "/usr/lib/python3.9/logging/__init__.py", line 1079, in emit
    msg = self.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 923, in format
    return fmt.format(record)
  File "/usr/lib/python3.9/logging/__init__.py", line 659, in format
    record.message = record.getMessage()
  File "/usr/lib/python3.9/logging/__init__.py", line 363, in getMessage
    msg = msg % self.args
TypeError: not all arguments converted during string formatting
Call stack:
  File "/usr/lib/python3.9/threading.py", line 912, in _bootstrap
    self._bootstrap_inner()
  File "/usr/lib/python3.9/threading.py", line 954, in _bootstrap_inner
    self.run()
  File "/usr/lib/python3.9/threading.py", line 892, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 77, in _worker
    work_item.run()
  File "/usr/lib/python3.9/concurrent/futures/thread.py", line 52, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.9/dist-packages/kytos/core/helpers.py", line 146, in handler_context_apm
    result = handler(*args)
  File "//var/lib/kytos/napps/kytos/of_lldp/main.py", line 173, in on_lldp_loop_stopped
    self.loop_manager.handle_loop_stopped(interface_a, interface_b)
  File "//var/lib/kytos/napps/../napps/kytos/of_lldp/loop_manager.py", line 254, in handle_loop_stopped
    log.error(
Message: 'Failed to delete metadata key looped on interface '
Arguments: ('00:00:00:00:00:00:00:06:25',)
--- Logging error ---

so on..
then we have the following on the console:
Unhandled exception in event loop:
  File "/usr/local/lib/python3.9/dist-packages/prompt_toolkit/application/run_in_terminal.py", line 51, in run
    async with in_terminal(render_cli_done=render_cli_done):
  File "/usr/lib/python3.9/contextlib.py", line 175, in __aenter__
    return await self.gen.__anext__()
  File "/usr/local/lib/python3.9/dist-packages/prompt_toolkit/application/run_in_terminal.py", line 86, in in_terminal
    await previous_run_in_terminal_f

Exception Task <Task pending name='Task-1212556' coro=<run_in_terminal.<locals>.run() running at /usr/local/lib/python3.9/dist-packages/prompt_toolkit/application/run_in_terminal.py:51>> got Future <Future pending> a
ttached to a different loop
Press ENTER to continue...

Also, the log if full of the messages like the ones below (I'm not sure it is related to this issue):
2022-07-14 16:47:13,371 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_105) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 16:47:13,393 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_46) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 16:47:29,465 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_14) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 16:47:29,658 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_36) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 16:47:29,724 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_80) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 16:53:26,354 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_14) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 16:53:26,367 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_83) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 16:53:26,417 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46847) <IP_ADDRESS> - - [14/Jul/2022 16:53:26] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata/looped HTTP/1.1" 200 -
2022-07-14 16:53:26,575 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46848) <IP_ADDRESS> - - [14/Jul/2022 16:53:26] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata/looped HTTP/1.1" 200 -
2022-07-14 16:53:26,761 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46850) <IP_ADDRESS> - - [14/Jul/2022 16:53:26] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata HTTP/1.1" 201 -
2022-07-14 16:53:26,771 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46849) <IP_ADDRESS> - - [14/Jul/2022 16:53:26] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata HTTP/1.1" 201 -
2022-07-14 17:00:26,157 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_39) LLDP loop stopped on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 17:00:26,158 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_66) LLDP loop stopped on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 17:00:26,216 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46886) <IP_ADDRESS> - - [14/Jul/2022 17:00:26] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:17/metadata/looped HTTP/1.1" 200 -
2022-07-14 17:00:26,232 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46887) <IP_ADDRESS> - - [14/Jul/2022 17:00:26] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:19/metadata/looped HTTP/1.1" 200 -
2022-07-14 17:00:29,366 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46888) <IP_ADDRESS> - - [14/Jul/2022 17:00:29] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:17/metadata HTTP/1.1" 201 -
2022-07-14 17:00:29,380 - INFO [werkzeug] [_internal.py:113:_log] (Thread-46889) <IP_ADDRESS> - - [14/Jul/2022 17:00:29] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:19/metadata HTTP/1.1" 201 -
2022-07-14 17:09:48,615 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_85) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 17:09:48,630 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_4) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 17:10:01,344 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_101) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 17:10:01,541 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_5) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 17:10:01,640 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_80) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 17:32:29,919 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_45) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 17:32:29,948 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_73) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 17:32:42,662 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_10) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 17:32:42,811 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_2) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 17:32:42,870 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_83) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 17:55:09,811 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_48) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 17:55:09,841 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_44) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 17:55:28,734 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_108) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 17:55:28,931 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_53) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 17:55:28,986 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_30) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 18:00:26,347 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_1) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 18:00:26,430 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47190) <IP_ADDRESS> - - [14/Jul/2022 18:00:26] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata/looped HTTP/1.1" 200 -
2022-07-14 18:00:26,432 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47191) <IP_ADDRESS> - - [14/Jul/2022 18:00:26] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata HTTP/1.1" 201 -
2022-07-14 18:17:39,619 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_91) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 18:17:39,648 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_2) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 18:17:52,134 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_70) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 18:17:52,365 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_49) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 18:17:52,480 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_8) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 18:40:36,508 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_83) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 18:40:36,557 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_69) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 18:40:49,216 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_13) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 18:40:49,426 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_10) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 18:40:49,488 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_57) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 18:43:28,835 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_15) LLDP loop stopped on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 18:43:28,842 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_105) LLDP loop stopped on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 18:43:28,861 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47408) <IP_ADDRESS> - - [14/Jul/2022 18:43:28] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:19/metadata/looped HTTP/1.1" 200 -
2022-07-14 18:43:28,863 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47407) <IP_ADDRESS> - - [14/Jul/2022 18:43:28] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:17/metadata/looped HTTP/1.1" 200 -
2022-07-14 18:43:32,110 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47409) <IP_ADDRESS> - - [14/Jul/2022 18:43:32] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:17/metadata HTTP/1.1" 201 -
2022-07-14 18:43:32,126 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47410) <IP_ADDRESS> - - [14/Jul/2022 18:43:32] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:01:19/metadata HTTP/1.1" 201 -
2022-07-14 19:03:25,359 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_34) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 19:03:25,388 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_37) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 19:03:25,547 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47512) <IP_ADDRESS> - - [14/Jul/2022 19:03:25] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata/looped HTTP/1.1" 200 -
2022-07-14 19:03:25,581 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47511) <IP_ADDRESS> - - [14/Jul/2022 19:03:25] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata/looped HTTP/1.1" 200 -
2022-07-14 19:03:27,448 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47514) <IP_ADDRESS> - - [14/Jul/2022 19:03:27] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata HTTP/1.1" 201 -
2022-07-14 19:03:27,492 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47513) <IP_ADDRESS> - - [14/Jul/2022 19:03:27] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata HTTP/1.1" 201 -
2022-07-14 19:03:32,491 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_20) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 19:03:32,518 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_56) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 19:03:45,409 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_31) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 19:03:45,666 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_39) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 19:03:45,724 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_79) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 19:06:27,090 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_41) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 19:06:27,199 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47530) <IP_ADDRESS> - - [14/Jul/2022 19:06:27] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata/looped HTTP/1.1" 200 -
2022-07-14 19:06:27,330 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47531) <IP_ADDRESS> - - [14/Jul/2022 19:06:27] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata HTTP/1.1" 201 -
2022-07-14 19:26:11,756 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_93) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_17', 'novi_port_18'], port_numbers: [17, 18]
2022-07-14 19:26:11,783 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_3) LLDP loop detected on switch: 00:00:00:00:00:00:00:01, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 19:26:28,508 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_43) LLDP loop detected on switch: 00:00:00:00:00:00:00:05, interfaces: ['novi_port_19', 'novi_port_20'], port_numbers: [19, 20]
2022-07-14 19:26:28,688 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_52) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 19:26:28,752 - WARNING [kytos.napps.kytos/of_lldp] [loop_manager.py:280:handle_log_action] (thread_pool_app_6) LLDP loop detected on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 19:36:21,532 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_32) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 19:36:21,691 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47683) <IP_ADDRESS> - - [14/Jul/2022 19:36:21] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata/looped HTTP/1.1" 200 -
2022-07-14 19:36:21,714 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47682) <IP_ADDRESS> - - [14/Jul/2022 19:36:21] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata HTTP/1.1" 201 -
2022-07-14 19:38:29,182 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_65) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_12', 'novi_port_13'], port_numbers: [12, 13]
2022-07-14 19:38:29,271 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47694) <IP_ADDRESS> - - [14/Jul/2022 19:38:29] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata/looped HTTP/1.1" 404 -
2022-07-14 19:38:29,345 - INFO [kytos.napps.kytos/of_lldp] [loop_manager.py:229:handle_loop_stopped] (thread_pool_app_17) LLDP loop stopped on switch: 00:00:00:00:00:00:00:06, interfaces: ['novi_port_25', 'novi_port_26'], port_numbers: [25, 26]
2022-07-14 19:38:29,401 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47697) <IP_ADDRESS> - - [14/Jul/2022 19:38:29] "DELETE /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata/looped HTTP/1.1" 404 -
2022-07-14 19:38:29,513 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47695) <IP_ADDRESS> - - [14/Jul/2022 19:38:29] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:25/metadata HTTP/1.1" 201 -
2022-07-14 19:38:29,517 - INFO [werkzeug] [_internal.py:113:_log] (Thread-47696) <IP_ADDRESS> - - [14/Jul/2022 19:38:29] "POST /api/kytos/topology/v3/interfaces/00:00:00:00:00:00:00:06:12/metadata HTTP/1.1" 201 -

Hi, @italovalcy. Thanks a lot for reporting this, the original error was a silly accidental comma that turned the string into a tuple resulting in the type error, however the 404s under conservative circumstances weren't expected in the application. I've opened a draft PR https://github.com/kytos-ng/of_lldp/pull/54, I've adapted the status code checking to be less strict considering that it wouldn't impact in the application functionality, but let's try to narrow down what lead to these 404s and see if any other issue will show up with this draft PR, a few questions to continue the investigation:

Is it reproducing deterministically in this environment? I'd be interested in inspecting internal states of the application too if it's not complicated to reproduce the issue.
How were the loops being stopped? Which mechanism was being used, probably deleting the LLDP flow?
Are the logs complete or were they filtered out? I'm trying to figure out what could've lead to the 404s in the first place, interestingly this call here didn't fail in the logs, so, theoretically the metadata shouldn't be there, so not sure how it got deleted or not found, let me know if there was also any other application or script that you might be aware that could somehow deleted the metadata (although in the logs it didn't show up, that's why I'm also asking if it's been filtered)

Good catch.

for cada in $(seq 1001 1300); do echo $cada; sed -e "s/2000/$cada/g" /create-evc-dyn.sh > /tmp/create-evc.sh; date +%Y-%m-%dT%H:%M:%S,%N; T1=$(date +%s); bash /tmp/create-evc.sh; T2=$(date +%s); echo duration $cada $(($T2-$T1)); done; date +%Y-%m-%dT%H:%M:%S,%N

Hi @viniarck thanks for submitting the draft PR! Very nice that you quickly identified and submitted a fix.
In regards to the steps to reproduce. I must admit I didn't spend much time trying to reproduce this issue. Also, the setup was pretty simple: just execute Kytos, enable all switches, interfaces, and links (using [1]), and create a few EVCs (using [2]).
It also surprised me that the loops stopped because, in fact, the links remained there, and no change was made in that regard. Maybe the LLDP wrongly detects the loop stop?
Yes, logs were complete (not filtered out).
[1] script used to enable all switches, links, and interfaces (I used the wc -l in the end to make sure Kytos detected all 5 - which results in 10 requests for the first command - switches and 13 links in the Lab):
for sw in $(curl -s http://<IP_ADDRESS>:8181/api/kytos/topology/v3/switches | jq -r '.switches[].id'); do curl -H 'Content-type: application/json' -s -X POST http://<IP_ADDRESS>:8181/api/kytos/topology/v3/switches/$sw/enable; curl -H 'Content-type: application/json' -X POST -s http://<IP_ADDRESS>:8181/api/kytos/topology/v3/interfaces/switch/$sw/enable; done | wc -l

for l in $(curl -s http://<IP_ADDRESS>:8181/api/kytos/topology/v3/links | jq -r '.links[].id'); do curl -H 'Content-type: application/json' -X POST -s http://<IP_ADDRESS>:8181/api/kytos/topology/v3/links/$l/enable; done | wc -l

[2] script to create the EVCs:
# cat /create-evc-dyn.sh
curl --max-time 120 -H 'Content-type: application/json' -X POST http://<IP_ADDRESS>:8181/api/kytos/mef_eline/v2/evc -d '{"name": "my evc 2000", "dynamic_backup_path": true, "enabled": true, "uni_a": {"tag": {"value": 2000, "tag_type": 1}, "interface_id": "00:00:00:00:00:00:00:01:16"}, "uni_z": {"tag": {"value": 2000, "tag_type": 1}, "interface_id": "00:00:00:00:00:00:00:06:21"}}'

for cada in $(seq 1001 1300); do echo $cada; sed -e "s/2000/$cada/g" /create-evc-dyn.sh > /tmp/create-evc.sh; date +%Y-%m-%dT%H:%M:%S,%N; T1=$(date +%s); bash /tmp/create-evc.sh; T2=$(date +%s); echo duration $cada $(($T2-$T1)); done; date +%Y-%m-%dT%H:%M:%S,%N

@italovalcy, I'm suspecting that it's an starvation issue in the msg_out buffer, especially since there were no other deletions that were going on behind the scenes, and looking into the rest of the logs that you've sent there were significant number of FlowMods and they were closely correlated in time whenever a false positive showed up. We can leverage the msg_prio that has landed recently to fix this https://github.com/kytos-ng/of_core/pull/70/files, I'll push another commit here and try it out.

@italovalcy, I'm suspecting that it's an starvation issue in the msg_out buffer, especially since there were no other deletions that were going on behind the scenes, and looking into the rest of the logs that you've sent there were significant number of FlowMods and they were closely correlated in time whenever a false positive showed up. We can leverage the msg_prio that has landed on this PR kytos-ng/of_core#70 recently to fix this, I'll push another commit here and try it out. it's also probably worth it parametrizing an option to set how many missed packets to consider it has stopped, similarly to the configuration parameter that we're going to have for liveness LIVENESS_DEAD_MULTIPLIER = 3
As a side node, the prioritization on the controller side should fix it it, Ideally though, we probably also want to have also rate limit other low priority messages in the future, otherwise the switch can get overwhelmed and not reply with packet-ins as well in a timely manner.

@viniarck thanks a lot for the troubleshooting of this issue and for the findings! Yes, I agree that it would be nice to have a parametrization to consider the loop gone away!
Definitely, the rate limit on low-priority messages is also a good idea, let's pursue that path for the next release.
Thanks again for the fixes.


avDropdown always triggers ngChange twice

On the first trigger of ngChange, the expected result is returned. On the second trigger, an index object is returned.

if you could provide an example?

Clone this repo and run it: https://git.availity.com/users/drussell/repos/av-dropdown-demo/browse

Clone this repo and run it: https://github.com/Sepiac/av-dropdown-demo

Please use https://github.com/Availity/availity-angular/releases/tag/v0.12.0 which was fixed https://github.com/Availity/availity-angular/commit/0d57cc980120b1f3ef48aa779651a4820c08edde


[Feature] Add configs of GGAN

Add benchmark and configs for ggan.

Codecov Report

Merging #17 (07eebd3) into master (198e7e2) will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master      #17      +/-   ##
==========================================
+ Coverage   77.71%   77.74%   +0.03%
==========================================
  Files         103      103
  Lines        6070     6070
  Branches     1044     1044
==========================================
+ Hits         4717     4719       +2
+ Misses       1070     1069       -1
+ Partials      283      282       -1

Flag
Coverage Δ

unittests
77.74% <ø> (+0.03%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

mmgen/models/architectures/stylegan/mspie.py
90.59% <0.00%> (-1.00%)
:arrow_down:

...chitectures/stylegan/generator_discriminator_v1.py
89.83% <0.00%> (+1.12%)
:arrow_up:

...chitectures/stylegan/generator_discriminator_v2.py
87.42% <0.00%> (+1.19%)
: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 198e7e2...07eebd3. Read the comment docs.

Please fix the linting error.


Why use self.buffer[agent_id].after_update()?

def train(self):
train_infos = []
for agent_id in range(self.num_agents):
self.trainer[agent_id].prep_training()
train_info = self.trainer[agent_id].train(self.buffer[agent_id])
train_infos.append(train_info)
self.buffer[agent_id].after_update()
    return train_infos

why use after_update() after train()?

We move the data of the last step to the first step in afer_update() function, u can treat it as the data warmup.

But the buffer is replaced with new data.

Now I see. Thank you.

@LiZhYun I was trying to understand it too, but it's still not clear to me. Could you explain, please?

My personal understanding is that after each episode, the environment does not necessarily end. The agent needs to get the next action from the observation at the end of the previous episode, so it needs to copy  the buffer[-1] to buffer[0]

Oh, I didn't consider this eventuality, now it's clear. Thank you


chore: fix jsonwebtoken yarn.lock

Signed-off-by: blam<EMAIL_ADDRESS>Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[ ] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[ ] All your commits have a Signed-off-by line in the message. (more info)

@freben
Hi, we're using Backstage and have Security Issue for jsonwebtoken
I see that you removed it along with other dependencies from the lock file,  and I couldn't find any mention of jsonwebtoken library in any of package.json files.
I assume it was removed as it's not used anywhere anymore?
Thank you.


Hosting bot online

Hey. This is brilliant bot. Thanks for the same. I was just going through some stuff and found that heroku lets you host a discord bot for free. Are you aware of the same? Maybe you can try it out? Sorry if this seems silly.
Thanks and Regards,

Since the bot uses a screen scraper I doubt that that's possible. The bot needs access to your screen and Heroku doesn't provide that sort of functionality as far as I'm aware. So you pretty much have to host it on a machine of a player that is present in the game.

We have split the bot into two portions already for our side dev development (on the decouple branch). We will likely always need to run the capture locally, but the discord portion is totally decoupled from the capture now (hence the name of the branch) :)


undefined constant Lucky::Env

I just started with Crystal (coming from Ruby) and spun up a new Lucky app. I don't think I've changed anything yet. But when I open my database.cr file, I'm getting this error reported in VSCode:
undefined constant Lucky::Env

I think this is just showing up in VSCode, because when I start the project up, it runs fine. That said, I'm not 100% sure if this is the right project to report this issue for. Let me know if I need to open an issue somewhere else.

Hi @dkniffin, Thank you for open this issue!
Yeah, this error is shown because vscode-crystal-lang can't figure out the scope of this file.
I'm working in a new version of this extension, so I can fix these kind of issues :sweat_smile:
BTW, for now, you can try to set crystal-lang.problems: "syntax" in your settings.json file, see: https://github.com/crystal-lang-tools/vscode-crystal-lang/wiki/Settings#problems
Also, you can still get "build" linting by analyzing crystal output using a VScode Task with a problem matcher, please see: https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher

@dkniffin have you tried the last vesion of the plugin?

@maxbertinetti Nope. I haven't worked with Crystal in a long time :/


Unable to autocomplete/hover macro in Phoenix Project

The project is running in VSCode devcontainer
Sample Code
defmodule AppWeb.PageController do
  use AppWeb, :controller

  def home(conn, _params) do
    # The home page is often custom made,
    # so skip the default app layout.
    render(conn, :home, layout: false)
  end
end

defmodule AppWeb do
   @spec controller() :: {:__block__, [], [{:import, [...], [...]} | {:use, [...], [...]}, ...]}
  def controller do
    quote do
      use Phoenix.Controller,
        formats: [:html, :json],
        layouts: [html: AppWeb.Layouts]

      import Plug.Conn
      import AppWeb.Gettext

      unquote(verified_routes())
    end
  end

Elixir & Erlang versions (elixir --version):
elixir 1.17.3/OTP 27
Elixir Language Server version:
ElixirLS v0.24.1
Operating system:
MacOS
Editor or IDE name (e.g. Emacs/VSCode):
VSCode

Elixir-LS Log
[Warn  - 11:40:30 AM] Unable to expand macro AppWeb.__using__/1: ** (FunctionClauseError) no function clause matching in AppWeb.__using__/1
    (app 0.1.0) expanding macro: AppWeb.__using__/1
    nofile:2: AppWeb.PageController (module)

Reproduction steps

install elixir-ls in VSCode
Create fresh project using mix phx.new app

Which macros are you trying to hover on? In which files is autocomplete not working?

Which macros are you trying to hover on? In which files is autocomplete not working?

:controller this file is under lib/controllers/page_controller.ex in a fresh Phoenix project

Unable to expand macro Phoenix.Component.Declarative.pattern!/2: ** (ArgumentError) could not call Module.delete_attribute/2 because the module MyAppWeb.MyViewLive.FormComponent is already compiled
(elixir 1.17.3) lib/module.ex:2365: Module.assert_not_readonly!/2
(elixir 1.17.3) lib/module.ex:1641: Module.delete_attribute/2
(phoenix_live_view 0.20.17) lib/phoenix_component/declarative.ex:1028: Phoenix.Component.Declarative.pop_slots/1
(phoenix_live_view 0.20.17) lib/phoenix_component/declarative.ex:707: Phoenix.Component.Declarative.register_component!/4
(phoenix_live_view 0.20.17) expanding macro: Phoenix.Component.Declarative.pattern!/2
I can't make it working for any macro accessing attributes/compile time properties of module in using and before_compile functions.
Started ElixirLS v0.24.1
ElixirLS built with elixir "1.17.3" on OTP "27"
Using last version of elixir (1.17.3-otp-27) and OTP (27.1.2) installed via asdf.
im trying to work with elixir-ls lsp from zed editor.


no longer requires build tools to install

The dependencies in the gemspec led gem install wavefront-client to pull in v1.8.0 of rest-client. This has a dependency on http-cookie, which depends on domain_name, which depends on unf, which depends on unf-ext, which requires a C-compiler and full build environment. This made it troublesome to install the gem on a minimally-configured production host.
This patch specifies a version of rest-client without the http-cookie dependency, so our gem will install cleanly, anywhere.

Thanks :)


Power Apps Portals in Community Plan

Is it possible to have Power Apps Portals included in the Community plan? I added one to mine but I still get a 30 day trial portal.

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

ID: 7d27942c-51fc-c2dc-9857-bcbfbadba145
Version Independent ID: 832089db-9a05-9d52-7529-429e3a6648f8
Content: Power Apps Community Plan -- a free development environment for individual use - PowerApps
Content Source: powerapps-docs/maker/dev-community-plan.md
Service: powerapps
GitHub Login: @ImadYanni
Microsoft Alias: iyanni

Can you please not assign something to me without my directly discussing with me first?
Please unassign. I am not sure why you thought this is something I would own.
Please explain.
From: Bishal Goswami<EMAIL_ADDRESS>Sent: Thursday, February 6, 2020 12:00 AM
To: MicrosoftDocs/powerapps-docs<EMAIL_ADDRESS>Cc: Imad Yanni<EMAIL_ADDRESS>Assign<EMAIL_ADDRESS>Subject: Re: [MicrosoftDocs/powerapps-docs] Power Apps Portals in Community Plan (#1007)
Assigned #1007https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fpowerapps-docs%2Fissues%2F1007&data=02|01|iyanni%40microsoft.com|bf61dd60e1534b9f5c1908d7aada9d4c|72f988bf86f141af91ab2d7cd011db47|1|0|637165728230933649&sdata=bRDuoGwcr7E1Eu2GSuhhGLAXly9Ho64XSeS6Ya3mgdU%3D&reserved=0 to @ImadYannihttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FImadYanni&data=02|01|iyanni%40microsoft.com|bf61dd60e1534b9f5c1908d7aada9d4c|72f988bf86f141af91ab2d7cd011db47|1|0|637165728230933649&sdata=68C7oPOESVHOdkwtgqNkY695sQvTKgFyNyUok%2BxlMgw%3D&reserved=0.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FMicrosoftDocs%2Fpowerapps-docs%2Fissues%2F1007%3Femail_source%3Dnotifications%26email_token%3DAIYAUSX43M43MGCPS5ZFBV3RBO7RJA5CNFSM4KQXWIK2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOWOKGVVY%23event-3012848343&data=02|01|iyanni%40microsoft.com|bf61dd60e1534b9f5c1908d7aada9d4c|72f988bf86f141af91ab2d7cd011db47|1|0|637165728230943647&sdata=vsLdE7%2B4HzwrALh3Z565w%2Bn76br3aIMNh1JKzSVwRVA%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAIYAUSUQE3NRQG4W7JRWHB3RBO7RJANCNFSM4KQXWIKQ&data=02|01|iyanni%40microsoft.com|bf61dd60e1534b9f5c1908d7aada9d4c|72f988bf86f141af91ab2d7cd011db47|1|0|637165728230943647&sdata=3NGd%2Flfn9mOcJoNmizc2cx86Z%2FNULAwkKYuHKHmmGqo%3D&reserved=0.

This issue is too old. Please see Power Pages licensing for the latest info: https://learn.microsoft.com/en-us/power-pages/go-live/assign-licensing


Duplicate issue?

Not sure if this is an error in norch-vuejs-app, search-index-indexer or a manual error, but I get duplicate results. The dataset-vinmonopolet is checked and okay.
To reproduce: Use search-index-indexer to create an index from dataset-vinmonopolet, start norch with that index and point norch-vuejs-app to the norch-instance. Search for "eple" and set pageSize to 40. Then you'll see two results with the title "Veuve Barrier Brut"

The docCount for the sparkling-index is correct (1217 items), so this seems like an issue with norch-vuejs-app. Seems duplicates turn up when increasing pageSize (doing a new search).

Seems actually to be a search-index thing.


E4S-Documenter no longer correctly detects Accelerator Variants with new Spack

Summary
As of Dec 4 2023, the E4S-Documenter no longer correctly detects Accelerator Variants from the output of spack info, resulting in garbled/incorrect output on https://e4s-project.github.io/DocPortal.html
Example package, before Dec 4 2023:

Same package, after Dec 4 2023:

Observations
Note the Accelerator Variants field no longer correctly lists the supported variants, despite the fact the spack variants for this package have not changed. Further, this defect is not specific to one package - I believe all packages with previously non-empty Accelerator Variants have been subjected to similar corruption.
Analysis
I believe the root cause of the problem is the variant output of spack info recently underwent major reformatting changes, see Spack PR 40998. E4S-Documenter parses this output to detect Accelerator Variants, and as a result of the formatting changes the parsing logic is no longer correct.
Specifically, this line in the parsing logic assumes there is a blank line in the spack info output between the text Variants: and the start of the variant list. However, that blank line has been removed (see images in Spack PR 40998). As a result, the parsing logic now entirely skips the block of text containing the spack variants and instead searches the next section of the spack info output, which varies by package. In the package shown above that section happens to be the info regarding a when +cuda conditional variant, which is why the string "cuda" was still found (by chance) and Accelerator Variants: CUDA was printed. In other packages that next info section can be something completely different that doesn't happen to contain any textual references to accelerators, resulting in blank output for Accelerator Variants.

Thanks for the report and in depth examination of this issue. The accelerator variant parser should be fixed and those fixes should be reflected on e4s.io now.

Confirmed!
Thanks for the quick fix @wspear !


Frontend/Rework: Contact page

The contact page is very lackluster. I think it can contain more and better information as well as a slight redesign.
Suggestions:

Replace google maps with openstreetmap
Think about information that belongs on this page

Important!
I am currently using a Google Maps API-key connected to my personal Gmail account.

Closed in #400


When CTRL or SHIFT key is pressed the UI toggle should update

When you press the CTRL (I press this all the time) or SHIFT key, the UI for reveal or flag should update.

Fixed in https://github.com/GoogleChromeLabs/graviton/pull/50


Remove is_page_heading parameter from radio component

What
This removes all mentions of the is_page_heading option from the radio component.
Why
Recently, the ability to pass a custom heading level to the radio component was introduced: https://github.com/alphagov/govuk_publishing_components/pull/1951
Since specifying a custom heading level is now an option, the is_page_heading parameter became redundant. This parameter simply dictates that the radio component legend heading should be a h1 of size xl by default.
It is possible to achieve the same result using heading_level and/or heading_size instead.
Whenever we need this component to have a h1 in the future, we can simply use the heading_level option (in combination with heading_size, if necessary).
This issue is recorded here https://github.com/alphagov/govuk_publishing_components/issues/1953
Visual changes
There should be no visual changes as a result of this update, as work has already been done to update all references of the radio component to use heading_level/heading_size instead of is_page_heading: true –  for instance here
There are still some references to the is_page_heading option in some older, read-only repositories which are using older versions of the gem (Example). In the hypothetical situation where one of these repos is unarchived and updated to the latest version of govuk_publishing_components, this would be a breaking change in those repos.

Nitpick before I dive into review: I can see that you've been dashing around our codebase removing instances of this buuuuut should this be labelled as a breaking change as we're mutating our API?

@owenatgov good point Owen.
I prefixed the changelog entry with "BREAKING" to highlight that this is a breaking change as per our conventions.


tests: adc_api: Use SHRT_MIN instead of 0 to mark empty buffer entries

Instead of 0, which can happen to be a sampling result, use for marking
empty buffer entries a value that is not supposed to be written in the
buffer by an ADC driver. This value defaults to SHRT_MIN but can be
overriden, if needed, for particular boards.
Signed-off-by: Andrzej Głąbek<EMAIL_ADDRESS>

Corrected typos in the commit message.


Package request: logdy (go)

Project description
terminal logs in web browser
Metadata

homepage URL: https://logdy.dev/
source URL: https://github.com/logdyhq/logdy-core
license: Apache-2.0 license
platforms: darwin, linux, windows

Add a :+1: reaction to issues you find important.

Here is a starter derivation:
{
  lib,
  buildGoModule,
  fetchFromGitHub,
}:

buildGoModule rec {
  pname = "logdyhq";
  version = "0.13.0";

  src = fetchFromGitHub {
    owner = "logdyhq";
    repo = "logdy-core";
    rev = "v${version}";
    hash = "sha256-HlIl/4C1wheAxc0ReUN8xQrXJ0djoO7E0qhRwyFHEiE=";
  };

  vendorHash = "sha256-kFhcbBMymzlJ+2zw7l09LJfCdps26Id+VzOehqrLDWU=";

  meta = with lib; {
    homepage = "https://logdy.dev";
    description = "Web based real-time log viewer";
    license = licenses.asl20;
    maintainers = with maintainers; [ sigmanificient ];
  };
}

maybe someone will know how to fix the compilation issue:
--- FAIL: TestClientLoad (0.11s)
    client_test.go:363:
                Error Trace:    /build/source/http/client_test.go:363
                Error:          Not equal:
                                expected: 20
                                actual  : 25
                Test:           TestClientLoad
panic: runtime error: index out of range [0] with length 0 [recovered]
        panic: runtime error: index out of range [0] with length 0

@Sigmanificient. You were missing some build/linker flags. I changed some output parameters and add shell completion(since logdy offers a subcommand to generate them). Feel free to create a PR if you want to maintain this package.
{ lib
, buildGoModule
, fetchFromGitHub
, installShellFiles
}:

buildGoModule rec {
  pname = "logdy";
  version = "0.13.0";

  src = fetchFromGitHub {
    owner = "logdyhq";
    repo = "logdy-core";
    rev = "v${version}";
    hash = "sha256-HlIl/4C1wheAxc0ReUN8xQrXJ0djoO7E0qhRwyFHEiE=";
  };

  vendorHash = "sha256-kFhcbBMymzlJ+2zw7l09LJfCdps26Id+VzOehqrLDWU=";

  ldflags = [ "-s" "-w" ];

  nativeBuildInputs = [ installShellFiles ];

  #After the build this derivation will generate two binaries.
  #The first one is getting renamed besed on the documentation
  #The second one is just to launch a demo. This functionnality could be achieved with the first one
  postInstall = ''
    mv $out/bin/logdy-core $out/bin/logdy
    rm -f $out/bin/example-app

    installShellCompletion --cmd logdy \
      --bash <($out/bin/logdy completion bash) \
      --fish <($out/bin/logdy completion fish) \
      --zsh <($out/bin/logdy completion zsh)
  '';

  meta = {
    description = "Web based real-time log viewer";
    longDescription = ''
      Web based real-time log viewer.Stream ANY content to a web UI with autogenerated filters. Parse any format with TypeScrip
    '';
    homepage = "https://github.com/logdyhq/logdy-core";
    license = lib.licenses.asl20;
    maintainers = with lib.maintainers; [ sigmanificient ];
    mainProgram = "logdy-core";
  };
}

May I add you s co-maintainer then?

Ok. no problem