Setup project badges

Using https://shields.io, let's add a few pertinent project badges to each of the Meshery repos.
Crossplane is a good (example project).

@venkatasankarapu interested?

@venkatasankarapu Here's an example badge that would work well -

@venkatasankarapu I popped two of these into the meshery repo. We'll want to get a few others and add all of them to each of the other layer5io repos consistently (as appropriate).
@girishranganathan what do you think of this one?

Sure, will be a good start :)

On Jun 15, 2019, at 8:03 AM, Lee Calcote<EMAIL_ADDRESS>wrote:
@venkatasankarapu https://github.com/venkatasankarapu I popped two of these into the meshery repo. We'll want to get a few others and add all of them to each of the other layer5io repos consistently (as appropriate).
@girishranganathan https://github.com/girishranganathan what do you think of this one?  https://goreportcard.com/report/github.com/layer5io/meshery
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/layer5io/meshery/issues/44?email_source=notifications&email_token=AHRVGDM5ZWHEWDGUFZM4MOLP2TLCHA5CNFSM4GZH7DRKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODXYWW3Q#issuecomment-502360942, or mute the thread https://github.com/notifications/unsubscribe-auth/AHRVGDO6Z7EDDAJ6TTKACTDP2TLCHANCNFSM4GZH7DRA.

@subhamkrai I'm not sure if @venkatasankarapu will have time to execute on this issue. If not, you might want to take a crack at it. Ultimately, we'll want to have the same set of project badges listed uniformly across each of the "meshery-...." repos.

@subhamkrai will you look at copying the project badges from the meshery repo to each of the meshery adapter repos?

Sure @leecalcote

@subhamkrai following up on your last comment - yes, you're right, I'm looking for the combined set of project badges from layer5io/layer5 and from layer5io/meshery to be proliferated across all layer5io repos.

@subhamkrai to wrap up this issue, these badges need to be added to each of the meshery repos

@subhamkrai took care of each of these.


Fully implement CTRunDraw and CTRunGetTypographicBounds

CTRunDraw now handles the range parameter and CTRunGetTypographicBounds gets the bounds for the text in given range rather than for the font.  Also rewrites CTLineGetTypographicBounds using CTRunGetTypographicBounds and small cleanups.
Fixes #963

@Status Stub

while you're here, can you fix this?

Refers to: Frameworks/CoreText/CTLine.mm:62 in 1e34aa8. [](commit_id = 1e34aa86d9052ecd9bc44d106f905382224f58b4, deletion_comment = False)

:shipit:

:shipit:


Asuswrt 100% cpu at startup

Home Assistant release with the issue: 0.9.2

Last working Home Assistant release (if known): unknown
Operating environment (Hass.io/Docker/Windows/etc.): docker

Component/platform: asuswrt

Description of problem:
The asuswrt module causes 100% cpu usage at startup. This normally lasts anywhere from 10 - 30 minutes before the webadmin finally starts, and cpu usage is back to normal. Component operates properly after this cpu usage completes. I have verified that it is caused by the asuswrt module by simplifying my configuration.yaml file to the below, and starting with and without the asuswrt module commented out.
Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
homeassistant:
  # Name of the location where Home Assistant is running
  name: Home
  # Location required to calculate the time the sun rises and sets
  latitude: !secret home_latitude
  longitude: !secret home_longitude

# Enables the frontend
frontend:

http:
  server_port: 8123

asuswrt:
  host: !secret router_host
  username: admin
  password: !secret router_password

Traceback (if applicable):

Additional information:

By webadmin so you mean homeassistant web gui or do you mean the asuswrt GUI after a router restart?

A log would be good too.

By webadmin so you mean homeassistant web gui or do you mean the asuswrt GUI after a router restart?

I mean the homeassistant web gui.

A log would be good too.

See below - this is the log with the config from my original post:
home-assistant.log

I don't seem to see any delay in that last of file? 3 second status?

I'm confused by the log as well as I don't see anything indicating a delay, but there is definitely one there. CPU spikes and I can't load the home assistant web interface.

Can you turn on debug logging and see if anything shows up?

Also, this might seem strange,.but :). Hook up a mouse to the system and during boot move it around. I want to see I the delay reduces. It potentially could be lack of entropy for random generator used for ssh crypto.

I searched through the logs for asuswrt and don't see anything that appears relevant to this module. Interestingly I do continue to see other logs output, but nothing repeat or that indicates spinning. I see a message like this, which seems to indicate the asuswrt module started successfully.
2019-05-29 19:46:22 INFO (MainThread) [homeassistant.setup] Setup of domain asuswrt took 4.4 seconds.

I did notice that several of my modules are broken after the cpu spinning stops and the web interface for home assistant is accessible. For example, Nest.
I'll see if I can dig up a mouse to connect to my computer.

Are you 100% sure that it's asuswrt that cause this?

Is it telnet or ssh?

Is it telnet or ssh?

ssh. Telnet isn't supported by asuswrt.


In what reference frame are the points topics coming out of the bridge?

I can't find it in the README. I'm just going to try to get it from measurements, but if someone has this info, it would be really helpful. Thanks!

The pointclouds have the sensor_msgs/PointCloud2 type. Inside there is a Header containing the frame_id (frame of reference for the data coming from this topic)


Add http proxy support for hyper module

This adds support for using any hyper connector; SlackClientHyperConnector is made generic over types H satisfying trait bounds 'static + Send + Sync + Clone + hyper::client::connect::Connect.
In particular, I have added support for using an http proxy with new alias SlackHyperProxyClient.
Usage would look like this:
    let hyper_connector = SlackClientHyperConnector::with_proxy("http://proxy.domain:3333");

The type alias SlackHyperClient is unchanged and the constructor name is distinct from new(), so the changes are non-breaking wherever these have been used.

@nhey
This reminds about days I had to use a proxy server and that was a headache indeed.
It is failing with formatting check, can you run cargo fmt and cargo clippy on it, please?
Good work and contribution 🏆


Color palettes unavailable for multi-paired plot

I appear to have sorted out issues related #36 but have found a new issue (in v. <IP_ADDRESS>). When doing a multi-paired plot, if a color column is passed to the plot function, there is no way to change the palette.
Eyeball test says that plot.R should have ggplot2::scale_color_brewer(palette = palette) + on line 410.
Reprex (designed for consistency with my current real data):
library(dabestr)
library(tidyverse)
demo_data <- data.frame(id = rep(seq(1:32), each = 2),
                        group = rep(c("amber", "blue"),
                                    times = c(34, 30)),
                        phase = rep(c("baseline", "ptx"),
                                    times = 32, each = 1),
                        score = rnorm(64, mean = 10, sd = 2),
                        sex = rep(c("Male", "Female"),
                                  times = 16, each = 2))

demo_data <- demo_data %>%
  unite(group, c("group", "phase"), sep = "_")

demo_dabest <- dabest(demo_data,
                      group, score,
                      idx = list(c("blue_baseline", "blue_ptx"),
                                 c("amber_baseline", "amber_ptx")),
                      paired = TRUE,
                      id.col = id)

# Black and white
plot(demo_dabest)

# Set1 colors
plot(demo_dabest,
     color.column = sex)

# Should be Dark1, but is in fact Set1
plot(demo_dabest,
     color.column = sex,
     palette = "Dark1")

Hi,
The reason this was occurring is because "Dark1" isn't a palette supported by ggplot2::scale_color_brewer(), but there was no clear error message.
This has been rectified with v0.2.5 (PR #77).


Expression ambiguous without more context

I'm running into an error with this tutorial for the lines of code: fileprivate static let keys = (name : "name")
as well as knownIds.contains(errand.record.recordID)
Expression type '(name: String)' is ambiguous without more context.
I'm not sure how to fix it.

This is only valid in Xcode 10.
On Xcode 9 just replace it with a static constant like:
fileprivate static let keyName = "name"

Thank you for the quick response! I'm also getting the same error on
'knownIds.contains(errand.record.recordID)' and not sure what to change to make that work correctly.


Feature/us318 help on search results

:+1:

Looks OK but I wonder if the 'style' elements should be more "CSS Classy".

@RichardProsser This is what happens when we bring code in from the prototype verbatim and is something that we probably need a wider policy on. To what degree do we care at this point, given that the entire frontend is due a rebuild? It is not an accessibility or performance issue (It has zero impact on users) - the only issue with use of inline styles in frontend code is one of maintainability for us, which I think given the impending rebuild is potentially a non issue?


No button

Hi,
It is possible to have the choice to hide/remove the first button ? I don't need it for my case.
Thank you,

This should not be possible atm.


Add format_as for compilation using fmt v10

This MR fixes compilation of OpenROAD with fmt v10. It uses the same approach as in: https://github.com/The-OpenROAD-Project/OpenROAD/pull/4351

If this really works then it should be possible to remove the ugly homebrew hack: https://github.com/The-OpenROAD-Project/OpenROAD/blob/943ac03e173b8e5b250dce913c303cb627b63617/etc/DependencyInstaller.sh#L516-L519
I don't have a mac to test it on anymore though.

@eder-matheus @vvbandeira can you test on a mac per @rovinski above?

@eder-matheus @vvbandeira can you test on a mac per @rovinski above?

I've tested it now, and it builds with no errors on my Mac. I will create a PR removing it.


Fix #3033 - RowsPerPage Parameter can now be set from code

Description

fixes #3033
How Has This Been Tested?

Unit test and test component added

Checklist:

The PR is submitted to the correct branch (dev).
✔ My code follows the code style of this project.
✔ I've added relevant tests.

@JonBunator I started over with a hard reset and have a clean PR. ref #3210


[enhancement]: Control/resize mode for IP and T2I adapters

Is there an existing issue for this?

[X] I have searched the existing issues

Contact Details
No response
What should this feature add?
Can we have control/resize mode options for IP/T2I adapters?

Alternatives
No response
Additional Content
No response

T2I Adapters have resize settings, and IP-Adapters don't need them as the concepts in the image are important, not the image itself.

What if i want to lower/increase the control while retaining the weight?


feature/fix dimmer build

fix issue  with the missing simmer component

Codecov Report

Merging #114 (9725c61) into master (7cdf8d4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #114   +/-   ##
=======================================
  Coverage   92.53%   92.53%
=======================================
  Files          15       15
  Lines         134      134
  Branches        9        9
=======================================
  Hits          124      124
  Misses          2        2
  Partials        8        8

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 7cdf8d4...9725c61. Read the comment docs.


Fix broken testing frameworks

The import in the DevelopBasedOn2015 branch (https://github.com/hpi-swa-teaching/SwaLint/tree/developBasedOn2015) fixes the UI errors but does not work with the actual testing framework. That has to be fixed.

Mosts of the tests are now working. Some (red) do not work yet, because we kicked out the DummyClasses from 2015, which we will have to import again. Others (yellow) fail for no apparent reason at all...

All of them work now (at the developBasedOn2015 branch), so this issue can be closed.


Uncaught error when unmounting Swiper with loop on window resize

Check that this is really a bug

[X] I confirm

Reproduction link
https://codesandbox.io/p/devbox/error-when-unmount-swiper-on-resize-693vwm
Bug description
When unmounting a Swiper with loop={true} on a window resize event the following error is thrown by Swiper:
 Uncaught TypeError: Cannot read properties of undefined (reading 'slidesPerGroupSkip')     at _Swiper.slideTo
Expected Behavior
No uncaught errors should be thrown when unmounting Swiper.
Actual Behavior
An uncaught error is thrown when unmounting Swiper.
Swiper version
11.0.5
Platform/Target and Browser Versions
macOS, Windows, iOS, Android, Safari, Chrome, Edge, Firefox
Validations

[X] Follow our Code of Conduct
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.
[X] Make sure this is a Swiper issue and not a framework-specific issue

Would you like to open a PR for this bug?

[ ] I'm willing to open a PR

I have this issue too, causing my swiper to not work on mobile

still have this issue with swiper element on window resize


Error:  Failed to access  /dev/ttyUSB0. Please cgeck connection or settings.

I installed micropython tools using the package manager and it looks like it got installed properly.
I can see the micropython-tools options, like settings,get, put etc;
When i try to put the file through to the microcontroller (Nodemcu v1.0) I get this error.

You need to define location of board which one running microPython. It's trying to upload to /dev/ttyUSB0 because the default port is it.
You can change it from settings. Just open command palette (CTRL+Shift+P) and type "MicroPython: Settings". Than configure preferences and save the file.


Command line wrapper

Command line version of git to log everything including output etc for spring test

Get logging to work with elegit.mathcs.carleton.edu

Learn databases. Talk to Eric.

What to capture?
User (script checks for its own dot file, prompts user for username if not there)
Date
Command used
Full command text
Return status code
Full output printed to terminal


working with teams/ organisation. understanding problem

Gitea version (or commit ref): 1.4.2
Git version: 2.11.0
Operating system: debian 9 (stretch)
Database (use [x]):

[ X] SQLite

Can you reproduce the bug at https://try.gitea.io:

[ X] Yes
https://try.gitea.io/company

Description
i worked it out now to be a very little issus about the wording: "Transfer Ownership" when writing this request. But i also request for assistant: what do i need then or a how to...:
Maybe there is any doc to understand:
i create an organisation which has:

owner (1,2..
teams (eg for repo write access)
how to deny view access for all others? ....

the repos of the company should be private / not listed but member should have access.
actions i'v done:
    3. flobee transferred repository flobee/company-repo-private to company/company-repo-private
    2. flobee pushed to master at flobee/company-repo-private
    1. flobee created repository flobee/company-repo-private
    This ---------------------------^^^^ what i'v done, not what it shows now (**flobee**/company-repo-private vs "**company**/company-repo-private"

see screenshot at the bottom.

when a member of the "company" in the team loggs in eg: "test2test2" user
test2test2 can not see any repos (https://try.gitea.io/company)
Just if test2test2 gets owner ship.
In one way this is correct. if a person is the owner and want to keep stuff private. as "company" or group holder?
How to set levels like: team a only see repos they are assigned to and team b some other stuff? Its not about deny access, its about to reduce the overview of repos :)
sounds like i need gitolite as middleware? does that work?
Repo: "Transfer Ownership" is in this case the kind of "bug". I'm still an owner of the repo but its not in my user account anymore. Thats what confuses me to end up in this report.
...

Seems to be implemented in version >1.7.4   :+1:


[WIP] Updates to imexam jupyter Notebook demos for clarity and docume…

…ntation
Updated four of the five Jupyter notebook demonstrations for imexam.  The imexam_ds9_photometry.ipynb notebook is essentially untouched.  Attempted to improve the information in the notebook for clarity and consistency.  Some cells were re-ordered or removed.

I'll look through these soon, thanks for PR and the work! @mdlpstsci

I'm going to close this as I've updated the notebooks in prep for a release


Release 0.1.0

This PR, tentatively named Release 0.1.0, includes several code improvements that are part of a wider scope of changes that I want to make on my fork. Here is a summary:

Tidied and refactored the code, introducing the spotifybackup package
Added pyproject.toml to make the script pip-installable (to prepare for a PyPI release?)
Made extensive use of Python's standard library, idioms and best practices to reduse repetition and improve performance

I've raised this because it doesn't change the CLI, so I think it can be safely merged without much confusion to existing users (who probably just saved the script once anyway).
On my fork, I've tagged this as v0.1.0 (@caseychu could use the same tag); this major version represents non-breaking changes to the original script. The first v1 release will represent a departure from the original interface.

Probably should've raised from my tag v0.1.0 rather than master, but it seems I can't change that or raise a new PR.


Adding forward iteration (Really simple implementation).

Hi !
I made a patch to add iteration in a similar fashion ets:next/2 works, mainly because I need it, but I think it might be a good idea to add this, or something like this.
The implementation is rather simple and does not take advantage of the keys being next to each other from call to call ; but I create the type move() that currently just contains key, but that can could later be extended to add the means to implement a more efficient solution (if you guys think that's something interesting I can try to implement it that way).
Btw, thanks a lot for the library, is really useful, and being 100% erlang did really help when deploying  :) .

Thanks. Looks good; what are you using it for?

what are you using it for?

Do you mean the database? It is for a project related to compute rankings over games played in a online video game (storing already hundreds of millions of game, adding a bunch of thousands /seconds ).
Btw, I've tried further this pull request, and even though the result themselves seem to be ok, the process using it started getting odd messages once it tries to query the key next to last one: it returns end_of_table as it should, but then receives messages about unrelated node down notifications, and a '$cast' msg. Am I missing something about how fold_range` should be used?

No, you're not missing anything; maybe you can tell me how to reproduce?  The teardown after completed iteration (even for just limit=1) should not cause warning messages.

It does not happen always, I only started to get them after a while under heavy usage of it...and only got a few messages. Also got other problems, after being after a good ram usage, during sometimes even hours, suddenly it stops gc binaries and quickly consume all computer's memory; while profiling I saw that when this happen there's a process accumulating hundreds of thousands of messages. These issues might or might not be related I guess.
I'll try to find out how to reproduce in a simple way.
When this happen to me, I had 3 different hannoidb running at the same time (does this violate some constraint?) and was randomly inserting on them, then taking the smallest elements (using that with a fold of size 1 )


moves compliance row to ts source and fix bugs discovered by typing c…

…omponent interface and methods

Coverage remained the same at 26.702% when pulling 29b27e55b2b29f75f37db6fa6f4122720bc15ed4 on theseyi:flexible-tagging into 67913fd752d1f404ff7b8d0ef9e63c99bda990bd on linkedin:master.

Codecov Report

Merging #910 into master will increase coverage by 0.3%.
The diff coverage is 38.21%.

@@            Coverage Diff            @@
##           master     #910     +/-   ##
=========================================
+ Coverage   36.06%   36.37%   +0.3%
=========================================
  Files         309      309
  Lines        8295     8374     +79
  Branches     1546     1573     +27
=========================================
+ Hits         2992     3046     +54
- Misses       5303     5328     +25

Impacted Files
Coverage Δ

...s-web/app/utils/datasets/compliance-suggestions.ts
62.5% <ø> (ø)
:arrow_up:

wherehows-web/app/utils/object.ts
75% <ø> (ø)
:arrow_up:

...erehows-web/app/components/disable-bubble-input.ts
86.36% <100%> (+19.69%)
:arrow_up:

wherehows-web/app/constants/dataset-compliance.ts
96.96% <100%> (ø)
:arrow_up:

wherehows-web/app/constants/datasets/compliance.ts
100% <100%> (ø)
:arrow_up:

wherehows-web/app/components/dataset-table-row.ts
58.33% <100%> (ø)

...ehows-web/app/components/dataset-compliance-row.ts
25.58% <25.58%> (ø)

...herehows-web/app/constants/metadata-acquisition.ts
90.14% <90.9%> (ø)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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


A call to connection.closed() never seems to resolve

In my server configuration I poll for connection.closed(), which should resolve when the remote end of the connection is closed.
Now, I tried to connect from https://webtransport.day , and all the connection and data sending/receiving went OK.
After closing the browser tab, I expect the connection.closed() call to resolve, but it doesn't (at least not in the 5 minutes that I waited).
I also tried to configure the server config setting config_builder.max_idle_timeout(Some(Duration::from_secs(30))) and waited for a timeout to happen.
Just to be sure, I also lowered the number to 2, but nothing, the connection.closed() call never seems to resolve.

Relevant code snippet:
    loop {
        tokio::select! {
            dgram = connection.receive_datagram() => {
                let dgram = dgram?;
                let str_data = std::str::from_utf8(&dgram)?;
                trace!("Received (dgram) '{str_data}' from client");
            }
            _ = connection.closed() => {
                debug!("Connection closed");

                return Ok(());
            }
        }
    }

Is the log line debug!("Connection closed"); not printed at all?
I am not able to reproduce (used the server-example, that is, examples/server.rs, with your modification)

OK, so maybe this is a problem with Firefox after all.
It looks like Firefox keeps the connection open even if I close the tab, but if I close Firefox, then the "Connection closed" message gets printed.


Display Digital Signature

Is Digital Signature feature implemented in pdf.js??

No, it's being tracked in https://github.com/mozilla/pdf.js/issues?q=is%3Aopen+is%3Aissue+label%3A4-digital-signature.


Remove ToUnity and ToUnityScaled

Currently ToUnity and ToUnityScaled don't do anything different than ToVector3.  Either they should be changed so that they have a use, or they should be removed.

They have been restored to their former functionality. However, we should discuss whether to keep them anyway. There is a great potential for confusion and using them on an already transformed vector is a bad thing to do. On the other hand, if a developer gets a vector straight from the service rather than from the provider, the functions are useful.

After a bit more discussion, we have decided to remove them. Developers who get frames from a Controller are expected to know what they are doing.


Fix problem when restarting right after debugging

Fixes #10741
I don't think this was an actual regression, but rather a papercut. Super easy fix though.

Codecov Report

Merging #10783 (dda78b9) into main (708004b) will decrease coverage by 0%.
The diff coverage is 69%.

@@          Coverage Diff           @@
##            main   #10783   +/-   ##
======================================
- Coverage     62%      62%   -1%
======================================
  Files        476      476
  Lines      33048    33058   +10
  Branches    5387     5391    +4
======================================
- Hits       20736    20733    -3
- Misses     10274    10279    +5
- Partials    2038     2046    +8

Impacted Files
Coverage Δ

src/kernels/debugger/kernelDebugAdapterBase.ts
76% <56%> (-3%)
:arrow_down:

...active-window/debugger/jupyter/debuggingManager.ts
63% <100%> (+<1%)
:arrow_up:

...tive-window/debugger/jupyter/kernelDebugAdapter.ts
58% <100%> (ø)

src/notebooks/debugger/debuggingManager.ts
53% <100%> (+<1%)
:arrow_up:

src/platform/common/cancellation.ts
64% <0%> (-4%)
:arrow_down:

src/platform/telemetry/telemetry.ts
76% <0%> (-4%)
:arrow_down:

.../kernels/raw/launcher/kernelEnvVarsService.node.ts
68% <0%> (-3%)
:arrow_down:

...form/common/process/pythonExecutionFactory.node.ts
73% <0%> (-3%)
:arrow_down:

src/kernels/raw/session/rawSocket.node.ts
74% <0%> (-2%)
:arrow_down:

...ommon/process/environmentActivationService.node.ts
71% <0%> (-1%)
:arrow_down:

... and 3 more


Bug: search with parentheses, asterisks, etc

If you enter a search term with parentheses, JavaScript throws a wobbly due to escaping:

Visit https://aasepia.org/
Enter ( or * in the search box

SyntaxError: Invalid regular expression: /(/: Unterminated group
Uncaught SyntaxError: Invalid regular expression: /*/: Nothing to repeat

ah, that's no good! i see that other special characters are ok, so i guess it's because these have regex significance. what do we think the behavior should be?

treat it as normal search text
have something special happen logically
ignore those characters
prevent those characters from being entered

i went with option 1

Thank you, @joshreisner!


Optimize TreeMap range query implementation

TreeMap is awkward to use as its range query complexity is O(Klog(N)), which means iterating it is very costly. This happens because tree_map::iter::Keys holds a bounded range defining the iterator elements, but not their position in the tree:
pub struct Keys<'a, K: 'a>
where
    K: BorshSerialize + BorshDeserialize + Ord,
{
    tree: &'a Tree<K>,
    length: u32,
    min: Bound<&'a K>,
    max: Bound<&'a K>,
}

So every time we search for the next (or previous) element in the tree we have to search it from the top of the tree:
fn next(&mut self) -> Option<&'a K> {
    ...
    let next = next_asc(self.tree, self.min);
    ...
}

fn next_asc<'a, K>(tree: &'a Tree<K>, bound: Bound<&'a K>) -> Option<&'a K>
where
    K: BorshSerialize + Ord + BorshDeserialize,
{
    match bound {
        Bound::Unbounded => tree.min(),
        Bound::Included(bound) => tree.ceil_key(bound),
        Bound::Excluded(bound) => tree.higher(bound),
    }
}

This does not have to be the case, the range query can be answered in O(K + log(N)) if we were to save the actual bounding tree nodes and find the next (or previous) element in O(1) (amortized). This cannot be easily done with the current implementation however as there is no way to traverse up to the parent for a given node. So a decent refactoring is required, but we could actually avoid storing the parent index in the Node struct if we hold a cur_path: Vec<FreeListIndex> in the iterator instead (i.e. a list of node indices we have gone through to reach the current node).
Part of #818

Is this still required? Can I take a stab at it?

@askoa yes, this is still very much needed. I don't think anyone is working on this so feel free to take a stab at this if you would like!

Nah, just the std vector is fine. No reason to make iterator persistent on the trie, I don't see how that would be a benefit.


update SLES 11SP3 template for newer puppet versions

See theforeman/community-templates#115 and theforeman/community-templates#133 for some background information.
@xalopp please review

thank you!

@mmoll looks fine


⚠ GitLab Server has degraded performance

In f5ae034, GitLab Server (https://gitlab01.its-telekom.eu) experienced degraded performance:

HTTP code: 200
Response time: 6655 ms

Resolved: GitLab Server performance has improved in 4cd7fea.


Using translated messages in "About" dialog

In this PR I changed the static json file, instead using the json as messages holder I used it as keys holder.
Now we can use the same mechanism of config json file that point to the right branding but instead of static strings we can show translated messages.
the changes we should do on RHEV json file are:
{
  "BRAND_NAME": "aboutDialogRhvBRAND_NAME",
  "LEGAL_INFO_LINK_TEXT": "aboutDialogRhvLEGAL_INFO_LINK_TEXT",
  "LEGAL_INFO_LINK_URL": <LEGAL_INFO_LINK_URL>,// if needed
  "DOCUMENTATION_LINK": <DOCUMENTATION_URL>,
  "ISSUES_TRACKER_URL": <ISSUES_URL>,
  "aboutDialogRhvISSUES_TRACKER_TEXT": "aboutDialogOvirtISSUES_TRACKER_TEXT"
}

Fixes: https://bugzilla.redhat.com/1542428

@bamsalem , @sgratch - Does anything actually need to be translatable that isn't already?
Running my dev engine with the dummy locale + RHV branding:
> ENGINE_URL=https://chopper.local.dickerson-web.com/ovirt-engine \
    BROWSER=none \
    KEEP_ALIVE=20 \
    BRANDING=~/projects/rhevm-branding-rhev/web-ui-branding \
    yarn start

Gives this About dialog:

The following are already translatable:

app name ... msg.vmPortal()
version string ... msg.aboutDialogVersion({ version })
api version string ... msg.aboutDialogApiVersion({ brandName, version })
the please report issue string ... msg.aboutDialogReportIssuesLink({ link })

What cannot be translated are the app's fixed string, and I don't see a need to have them be translatable:

product name / brand name (we don't translate product names)
legal info (we don't translate this anymore)
the product name of the issue tracker (we don't translate product names)

In short, I don't think this PR is needed unless product names need to be translated (which I do not think is necessary).
Looking at Zanata, there are missing translations for a few keys on the about dialog.  Here is what it currently looks like for Spanish:

The BZ will be solved once the next rounds of translations are done and pulled into source.


"Cannot register Static Global Var" Error when loading HIP code

I'm trying load a shared library containing HIP code at runtime via dlopen.
Doing so crashes the application with a "Cannot register Static Global Var" Error from the HIP runtime.
Are the any pointers what could cause this / how to solve this?

Is your shared library linked to the hip runtime, i.e. are all of its dependencies explicitly linked in?

I believe so? ldd gives:
        linux-vdso.so.1 (0x00007ffc2b9cc000)
        libamdhip64.so.5 => /opt/rocm-5.4.3/hip/lib/libamdhip64.so.5 (0x00007f957eaf1000)
        libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f957e8ad000)
        libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f957e7c6000)
        libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f957e7a6000)
        libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f957e57c000)
        libhsa-runtime64.so.1 => /opt/rocm-5.4.3/lib/libhsa-runtime64.so.1 (0x00007f957e2d3000)
        libnuma.so.1 => /lib/x86_64-linux-gnu/libnuma.so.1 (0x00007f957e2c6000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f9580482000)
        libelf.so.1 => /lib/x86_64-linux-gnu/libelf.so.1 (0x00007f957e2a8000)
        libdrm.so.2 => /lib/x86_64-linux-gnu/libdrm.so.2 (0x00007f957e290000)
        libdrm_amdgpu.so.1 => /lib/x86_64-linux-gnu/libdrm_amdgpu.so.1 (0x00007f957e284000)
        libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f957e268000)

In CMake it's just linked against hip::device and hip::hipcub.

But is it NEEDED?  "readelf -d your_shared.so | grep NEEDED"

With your command, i get:
 0x0000000000000001 (NEEDED)             Shared library: [libamdhip64.so.5]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]

Thanks!  I guess we need to dig deeper.  Can you provide a minimal reproducer?

Writing a reproducer turned out to be much easier than I expected. Here it is:
#include <hip/hip_runtime.h>
#include <iostream>

#define HIP_CALL(x) do { \
    hipError_t err = x; \
    if (err != hipSuccess) { \
        std::cerr << "Error: " << hipGetErrorString(err) << std::endl; \
        exit(1); \
    } \
} while (0)

struct Foo {
    int x;
    __host__ __device__ Foo() {}
    __host__ __device__ ~Foo() {}
};

template<typename T>
__constant__ T cmem;

__global__ void someKernel(int *x) {
    *x = cmem<Foo>.x;
}

int main() {
    Foo foo;
    foo.x = 42;
    HIP_CALL(hipMemcpyToSymbol(HIP_SYMBOL(cmem<Foo>), &foo, sizeof(Foo)));

    int *dx;
    HIP_CALL(hipMalloc(&dx, sizeof(int)));
    someKernel<<<1, 1>>>(dx);

    int x;
    HIP_CALL(hipMemcpy(&x, dx, sizeof(int), hipMemcpyDeviceToHost));

    if (x == 42) {
        std::cout << "SUCCESS!" << std::endl;
    } else {
        std::cout << "FAILURE!" << std::endl;
    }

    HIP_CALL(hipFree(dx));
    return 0;
}

Expected outcome: Application prints SUCCESS!
Actual outcome: Applications crashes with aforementioned "Cannot register Static Global Var" error
Compiled with AMD Clang (ROCm 5.4.3).
Fwiw, there are two ways to circumenvent the issue:

Marking the ctor/dtor of Foo as default instead:

    __host__ __device__ Foo() = default;
    __host__ __device__ ~Foo() = default;

Or removing the template from cmem:

__constant__ Foo cmem;

Thank you!  We'll take a look.

@b-sumner Has this issue been resolved? Thanks!

Hi @fweig, thank you for reaching out., and sorry for the lack of responses. The issue you are experiencing is likely due to adding a __constant__ qualifier to a template. Like the error message suggests, you can look at the __constant__ qualifier as essentially adding a static global variable. In general, defining a static global variable template is a bad idea and is illegal in regular c++ due to the ambiguity it introduces. Although how __constant__ works is different from plain static global, the same principle applies since it is trying to achieve the same effect across both host and device memories.
To understand why, we must know that HIP uses the registerStatGlobalVar function to register a shadow variable on the host for any __constant__  variable instances of non-Plain-Old-Datatype (POD as per C++11 standard) in order to keep track of the variable across kernel instances.
Normally, this is quite straight forward and happens at variable declaration (e.g. at __constant__ Foo foo;), but in your case there is no instance at __constant__ T cmem due to the template. Instead, the template is first instantiated in your kernel code. If the kernel were a regular host function, the variable would be instantiated there as a global variable and the main host function would be able to refer to it, so there won't be a problem. However, a kernel function does not share the same variable scope as the host, which means that cmem<Foo> would be instantiated twice as separate variables, once in kernel, and once in host code.
The problem with this is that registerStatGlobalVar ends up being called twice as well, on the same variable cmem<Foo>.
I ran your reproducer quickly and this is indeed the case, cmem<foo> is being register twice which causes can error on the second call.
As to why your fixes/workarounds work, it is also quite straightforward. By using default as the ctor/dtor, you reduce Foo to POD, which does not require calling registerStatGlobalVar at all. In the other case, by removing the template, you avoid the issue of static global templating, which also fixes the problem.
tldr; don't use __constant__ with templates. The code is behaving as expected; doing something like this in C++ in general does not make sense.
Anyways, this issue is going to be closed, but please feel free to ask follow up questions. Thanks!!


Players should be able to refresh the Lobby overview to check whether there was a new lobby created.

Commit 092e9e4


How do I turn off line folding for the .dump call?

How do I stop 'dump' from adding '>-" and the new line when calling dump?
Original markdown
- name: LUIS Documentation
  href: index.yml
- name: Overview
  expanded: true
  items:
  - name: C#
    href: https://cognitive.uservoice.com/knowledgebase/topics/asdfasdfasdfasdfasdfasdf/127872-luis-language-understanding-intelligent-service

yaml.dump markdown
- name: LUIS Documentation
  href: index.yml
- name: Overview
  expanded: true
  items:
    - name: 'C#'
      href: >-
        https://cognitive.uservoice.com/knowledgebase/topics/asdfasdfasdfasdfasdfasdf/127872-luis-language-understanding-intelligent-service

https://github.com/nodeca/js-yaml#safedump-object---options- increase lineWidth to something big

@puzrin Can I create PR to doc this?

Sure, if you think existing lineWidth description is not enougth, feel free to improve. Just try to keep it as short as possible (care about total README length)

BTW, formally, lineWidth should be set to Infility. But due specific JIT optimizations it's better to use big int32 number, to avoid deopts in hot path.

I guess, that's about dumped types, not about option values.

If you think you can improve docs - just post a PR, and we will be able to discuss it. I don't remember details, dumper was done by someone else.


:use is removed from ns declarations

I've been surprised by this behavior:
echo '(ns my.company.core (:use my-thing))' | standard-clj fix -
=> (ns my.company.core)
It removes the :use statement.
It seems a bit radical in my opinion, of course using :use is rarely justified but should it at least be replaced by a :refer :all ?
A part from that I really enjoy this formatter for now, so thank you :)

I have been waiting for someone to open an issue about this :wink: I have "support use" as a TODO item on Issue #5 and I never got around to finishing it.
I am not sure of the best behavior for the formatter here. I consider the current behavior to be wrong / a bug. Two thoughts:

have the formatter error out when it encounters a use statement in the ns form and say "Standard Clojure Style does not support this. Please refactor using refer and try again."
Attempt to safely convert the use statement into valid require forms that work in the same way.

I think the second option is the better user experience, but I am not sure how challenging it will be to code up. The first option is not great, but better than the current behavior.
This comment on Issue #142 is relevant. It may seem odd that a formatter recommends the user to "please refactor", but presumably if the user is using this tool then they desire the end state for their code to be something produced by the tool, and I do not have plans to add use into the pretty-printed ns form.

A part from that I really enjoy this formatter for now, so thank you :)

Thank you :nerd_face:

I do not have plans to add use into the pretty-printed ns form.

Why not? There is a lot of code that uses :use and some people still prefer it to :require (especially with clojure.test).

Why not?

My main reasoning is that use is not recommended by how to ns and my general understanding is that require is preferred over use for basically all use cases. Is there a situation in which use is preferable to require in the ns form?

It's not about preference, it's about supporting existing working code. (For example, Clojure core is filled with :use, and that won't ever change.)
It's okay if Standard is only for the subset of Clojure you like, but I think that should be made more clear.

It's not about preference, it's about supporting existing working code. (For example, Clojure core is filled with :use, and that won't ever change.)

Some thoughts:
The current behavior is definitely a bug and needs to be fixed with either of the two options I outlined earlier. Option 1 is probably the easiest to code up right now, and Option 2 is a superior user experience.
My understanding is that :require is always preferred over :use inside the ns form. I have no expectation that Clojure core will stop supporting :use, but that does not mean it is recommended for newer code. The authors of ClojureScript decided not to include :use in the language, for example. To the degree that Standard Clojure Style can make a codebase better, that is the right direction to move towards.
Standard JS is a good reference point here. == and eval() are valid parts of the JavaScript language that will likely always be supported, but that does not mean they are recommended to be used. It is ok to say "This feature of a language was maybe not the best idea. As a team we are ok with not using it."

I think deciding to not support formatting :use makes sense: it's out of favor, there are better ways to write it, etc. However, as seen in the original post, deleting it leads to broken code, which is bad imo. A formatter should not lead to broken code under any circumstances, regardless of what is or is not favored.
Does standard also delete (use 'x.y.z) forms?

With PR-171, Standard Clojure Style will now throw an error recommending to refactor using :require instead of silently deleting :use inside of the ns form.


Cannot load .mov video

I’m trying to load .mov video by passing
source={ {uri: 'some-video.mov', type: 'mov' } }

as a prop to <Video> but end up seeing this error about a nil string parameter:

I know that video is there and this component plays .mp4 files beautifully, but I can’t seem to get other filetypes to play. Any ideas?

https://github.com/brentvatne/react-native-video/issues/1 ?

@machard confirmed that it's not the same issue. The file is definitely there and Xcode is aware/copies it in.

.MOV does not work for me, too.
Solution: convert the video file:
ffmpeg -i A.MOV -vcodec copy -acodec copy out.mp4

Also make sure, that the video is available. Should look like this.

And restart the Simulator after copying.

@klausbreyer sadly not a fix for me :( The .mov I have has transparency/alpha channel jazz going on that’s not supported by the encoding I have in .mp4

.mov won't play on Android natively, FYI. You'll need to transcode to e.g. .mp4.

Wanted to re-open the discussion here if needed. We are trying to clean up open issues in this repo, so if no further comments in the next couple weeks it will be closed.

try this:
https://github.com/taltultc/react-native-mov-to-mp4

Well, I assume this problem still obtains because Android still doesn't bundle the necessary codec.
I don't think transcoding files on the fly is an especially good solution. It sounds like a great way to drain the user's battery, though!

Well, if you want to convert big video files so ffmpeg will do great work on server side, but for small video size convert to mp4 will not drain the battery cuz it take only few seconds.
This is just another option :)


When do static build, the libfoxi_loader.a can be generated but won't be installed to CMAKE_INSTALL_LIBDIR

This issue is related with https://github.com/pytorch/pytorch/pull/53825
When build pytorch static library, as a third party repo of pytorch, the libfoxi_loader.a can be generated, but missing in CMAKE_INSTALL_LIBDIR.
After build with command:
cmake --build . --target install -- "-j8"

In the build dir, we have:
root@build_libtorch:/gemfield/github/build# find . -name "*.a" | grep foxi
./lib/libfoxi_loader.a
root@build_libtorch:/gemfield/github/build#

In the install dir, we have:
root@build_libtorch:/gemfield/github/libtorch_cuda/lib# find . -name "*.a" | wc -l
25
root@build_libtorch:/gemfield/github/libtorch_cuda/lib# find . -name "*.a" | grep foxi
root@build_libtorch:/gemfield/github/libtorch_cuda/lib#

@houseroad  Could you have a look at this issue?


docs: fix indent and add title to note in 'getting started'

Sorry, I should have double checked. Fixes mistake in #99

thanks!


is it must to ShutDown/Dispose STP?

Hi,
We recently explored STP, and started using it in one of our asp.net core application.
and our implementation is like, during particular object's constructor we configure/instantiate the smart thread pool with work item groups and min, max threads etc.
There are two questions:

We often face outofmemory exceptions, though we have 8 core, 16GB RAM with 1 TB HDD VM. any guidelines or best practices to adept ?
when to use ShutDown and Dispose methods. Since this is a web application, we as said above, configured, in one of our singleton class. so when to dispose? or shutdown?
I tried with destructor and it seems it didn't get called. Then I tried with application stopping event in asp.net core where I retrieve the singleton instance and called custom dispose method to shutdown and dispose stp. is this right approach?

Thanks,
Matheswaran S

Hi,
I assume that your application works like a service. Hence, always running and serve requests.
I think you should instatiate the smart thread pool only once in a singleton with min and max threads.
Later on create work item groups with the concurrency you need and queue work items into them.
Since your application work like a service (as I assumed) you don't need to call to shutdown or dispose at all.
When you stop the service you can use WaitForIdle() to wait for incompleted work items to finish.
Regards,
Ami

Great, you are right it is a service. and I'm fine to use WaitForIdle instead of shutdown.
and how about Memory management.? any best practices and troubleshooting tips? because we often face outofmemory exception.

The outofmemory exception is out of my scope.
I assume you get the exception becuase you get too many requests than you can handle so the backlog explodes.
Try to limit the backlog to avoid requests overflow.


Get basic tests going for natsjetstream channel

This PR gets the tests passing for the following PR:
https://github.com/knative-sandbox/eventing-natss/pull/267
@dan-j I'm not as familiar with the implementation as you are, so this hopefully can help get some test coverage, but its certainly not completely comprehensive. LMK if there is anything you need me to change or add!

This is amazing! Thanks!


OnReceiveProPosal question

I noticed in the latest paper's Event-driven code, Update() called after sending vote. But in libhotstuff code, Update() called before sending vote. I'm confused as Update() may update lock and sending vote depends on lock. So which is correct? Or both can be correct? Thanks.

Hey, been digging into the code for the past few days and I also found this intriguing. I think the answer is that update and the conditional logic gating the vote don't conflict with one another and so their ordering doesn't matter. Notice that in HotStuffCore::update, we update the b_lock to blk1 (ref), which is equal to bnew.justify.justify, and as long blk1.height > b_lock.height. However, the on_receive_proposal condition checks whether bnew.justify.height > b_lock.height which would evaluate identically regardless of the update since bnew.justify.height > blk1.height.


[13.0] Elytron 1.17.3

https://issues.redhat.com/browse/ISPN-13622

on hold until 13.0.x branch is open again.

Don't merge yet


Reimplementation of Affix as Sticky Positioning Polyfill

Deprecates the affix() support in favor of a position: sticky polyfill. This ended up being a lot more difficult than I expected given the requirements that media queries be honored and that we could properly support affixed content that is taller than the viewport (hence, requiring scrolling support), as well as ensuring that content doesn't reflow when the element is affixed.
The approach I ended up with was using Polyfill.js as a base with a modified version of their demo position: sticky polyfill to support the scrolling requirements.
Instead of using affix() you will now just simply implement the CSS rules with position: sticky, even for browsers that do not support it, as Polyfill.js will parse the CSS and apply the rules transparently.
Using the affix() method will now throw a deprecation warning and tell you to move to sticky positioning.
TODO

[x] Fix the jumpiness on bottom-pinned content.
[x] Re-enable native browser checks/bailout.
[x] Remove extraneous console logging.
[x] Test in IE/Edge.
[x] Final Squash.

This will close #47.

Documentation and example pages?

Documentation and example pages?

Given that it's not a "component" I wasn't sure where to document it. Perhaps a note on the price estimate component piece?

Merging so this can be tested in Monocle and IaaS.


Cannot read property 'length' of null when try to enable captioning

Have you read the FAQ and checked for duplicate issues:
What version of Shaka Player are you using:
2.2  (reproduced 2.1.x as well)
Can you reproduce the issue with our latest release version:
Yes.
Can you reproduce the issue with the latest code from master:
Yes
Are you using the demo app or your own custom app:
My custom app. I could not reproced the error on the demo app. Probably video contents in the demo app are not suitable for this error.
If custom app, can you reproduce the issue using our demo app:
No.
What browser and OS are you using:
Mac OS: 10.12.6
Chrome 60
What are the manifest and license server URIs:
(you can send the URIs to<EMAIL_ADDRESS>instead, but please use GitHub and the template for the rest)
If it's required, we can send the custom app.
What did you do?
Enabled captioning on and waited around a minute(time gap is unpredictable). Then, it caught the error when I tried to disable and enable again.
What did you expect to happen?
It should not throw an error.
What actually happened?
Video is stopped. Please check the screenshot. As you may see it in screenshot, It throws the error at lib/text/simple_text_displayer.js :231, cues.length . When 'cues' is null. I put a console.log to show it in screenshot as well.

Hi @SemihGk, thanks for reporting.
Having access to the app/content would definitely help us figure out what's going on. Feel free to send it to<EMAIL_ADDRESS>

Thank you for your prompt response. I just sent the app with its instructions. Please let me know if you need more information.

I was keep testing the demo app and I could finally reproduced the error. Please check the screenshot:

Did you reproduce in the demo by turning captions on and off?  Is it easier to reproduce in your own application than in the demo?

Yes, I turned on captions on. Then, waited maybe 30 minutes.  After many tries, I could reproduce it. It is definitely tough to reproduce in the demo. It is much easier to reproduce it in our app.

A small update on this.
TextTrack.cues is only null when mode is set to "disabled". As we can see in the initial post, the current text track that the displayer is set to "disabled". This explains why we are getting a null list of cues.
What I am still looking into is why the track is being set to "disabled" in the first place. When toggling close captions on and off, the track is set to "hidden". So at some other point, someone is setting mode to "disabled".

@SemihGk, is your application directly manipulating the track state instead of using Player.setTextTrackVisibility()?  Are you using custom video controls (video.controls == false) or the built-in browser controls (video.controls == true)?
It is possible that the browser built-in controls use "disabled" instead of "hidden".

Thank you for your responses, @vaage and @joeyparrish.
We did not set the mode to "disabled" in our application. Everything is just default. Also, same error is reproduced in the demo app. I assume demo app do not have any custom settings as well. It only happens when we turn captions on and off without changing any settings(including built-in browser controls).

@joeyparrish You are right. Once we change over to use the default browser built-in controls, it uses "disabled" instead of "hidden".
@SemihGk Thank you for bringing this to our attention. I will get a fix put together today.

Thank you, @vaage. We look forward to waiting the fix then.

This will be cherry-picked to v2.2.2.


MNT: Re-render the feedstock

Hi! This is the friendly conda-forge-admin automated user.
I've re-rendered this feedstock with the latest version of conda-smithy (1.7.0) and noticed some changes.
If the changes look good, then please go ahead and merge this PR.
If you have any questions about the changes though, please feel free to ping the 'conda-forge/core' team (using the @ notation in a comment).
Remember, for any changes to the recipe you would normally need to increment the version or the build number of the package.
Since this is an infrastructural change, we don't actually need/want a new version to be uploaded to anaconda.org/conda-forge, so the version and build/number are left unchanged and the CI has been skipped.
Thanks!

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Toggling for CIs.

Replaced with PR ( https://github.com/conda-forge/pylint-flask-feedstock/pull/5 ).


Python3 Error in mrtparse

Hello Dear All,
When I run below command, I am receiving error.
Could you please help me?
[root@centos examples]# time python3 mrt2exabgp.py -G -P latest-bview.gz > fullbgptable.py
^CTraceback (most recent call last):
File "mrt2exabgp.py", line 514, in
main()
File "mrt2exabgp.py", line 511, in main
conv_format(args, flags, d)
File "mrt2exabgp.py", line 179, in conv_format
for m in d:
File "/usr/local/lib/python3.6/site-packages/mrtparse/init.py", line 94, in next
self.unpack_msg(mrt)
File "/usr/local/lib/python3.6/site-packages/mrtparse/init.py", line 138, in unpack_msg
self.unpack_td_v2(buf, mrt)
File "/usr/local/lib/python3.6/site-packages/mrtparse/init.py", line 185, in unpack_td_v2
rib.unpack()
File "/usr/local/lib/python3.6/site-packages/mrtparse/init.py", line 381, in unpack
self.p += entry.unpack()
File "/usr/local/lib/python3.6/site-packages/mrtparse/init.py", line 410, in unpack
self.p += attr.unpack()
File "/usr/local/lib/python3.6/site-packages/mrtparse/init.py", line 703, in unpack
self.unpack_next_hop()
File "/usr/local/lib/python3.6/site-packages/mrtparse/init.py", line 766, in unpack_next_hop
self.data['value'] = self.val_addr(AFI_T['IPv4'])
File "/usr/local/lib/python3.6/site-packages/mrtparse/base.py", line 301, in val_addr
addr = socket.inet_ntop(_af, buf + b'\x00'*(plen_max // 8 - n))
KeyboardInterrupt
real    0m5.786s
user    0m5.513s
sys     0m0.058s
[root@centos examples]#

Hi,
Thank you for using mrtparse.
It looks like an error when you send ctrl+c.
Using " -G" option, All entries of MRT data are temporarily stored in python dictionary to group prefixes with the same path attributes. After all MRT entries are parsed, output finally begins. Therefore, it takes a long time to output(not hang). If you want to accelerate, I recommend using pypy instead of python3.
In my environment, the result follows:
(mrtparse-python3) [root@host-12 ~]# python3 --version
Python 3.6.8
(mrtparse-python3) [root@host-12 ~]# time python3 mrt2exabgp.py -G -P latest-bview.gz > fullbgptable-python3.py

real    231m14.710s
user    230m5.261s
sys     0m24.153s

(mrtparse-pypy) [root@host-12 ~]# pypy --version
Python 2.7.18 (a29ef73f9b32, Nov 09 2020, 18:42:06)
[PyPy 7.3.3 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]

(mrtparse-pypy) [root@host-12 ~]# time pypy mrt2exabgp.py -G -P latest-bview.gz > fullbgptable-pypy.py

real    100m0.023s
user    94m19.296s
sys     4m59.085s

Hi
Thank you for your help. However when I run the python I am receiving below
error. Same error is occurring both windows 10 and centos 8.3.
mrt2exabgp.py  -G 10 latest-update.gz > test3.py
Traceback (most recent call last):

File "C:\Users\asus\PycharmProjects\Ebebek\ mrt2exabgp.py  ", line 503,
in *

main()*

File "C:\Users\asus\PycharmProjects\Ebebek\ mrt2exabgp.py  ", line 501,
in main*

conv_format(args, flags, d)*

File "C:\Users\asus\PycharmProjects\Ebebek\ mrt2exabgp.py  ", line 179,
in conv_format*

print_route_bgp4mp(args, params, m.data)*

File "C:\Users\asus\PycharmProjects\Ebebek\ mrt2exabgp.py  ", line 315,
in print_route_bgp4mp*

attr_line += get_bgp_attr(args, params, m, attr)*

File "C:\Users\asus\PycharmProjects\Ebebek\ mrt2exabgp.py  ", line 483,
in get_bgp_attr*

asn = attr['value']['asn']*

KeyError: 'asn'
Tetsumune KISO<EMAIL_ADDRESS>30 Ara 2020 Çar, 00:13 tarihinde
şunu yazdı:

Hi,
Thank you for using mrtparse.
It looks like an error when you send ctrl+c.
Using " -G" option, All entries of MRT data are temporarily stored in
python dictionary to group prefixes with the same path attributes. After
all MRT entries are parsed, output finally begins. Therefore, it takes a
long time to output(not hang). If you want to accelerate, I recommend using
pypy instead of python3.
In my environment, the result follows:
(mrtparse-python3) [root@host-12 ~]# python3 --version
Python 3.6.8
(mrtparse-python3) [root@host-12 ~]# time python3 mrt2exabgp.py -G -P latest-bview.gz > fullbgptable-python3.py
real    231m14.710s
user    230m5.261s
sys     0m24.153s
(mrtparse-pypy) [root@host-12 ~]# pypy --version
Python 2.7.18 (a29ef73f9b32, Nov 09 2020, 18:42:06)
[PyPy 7.3.3 with GCC 7.3.1 20180303 (Red Hat 7.3.1-5)]
(mrtparse-pypy) [root@host-12 ~]# time pypy mrt2exabgp.py -G -P latest-bview.gz > fullbgptable-pypy.py
real    100m0.023s
user    94m19.296s
sys     4m59.085s
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/t2mune/mrtparse/issues/27#issuecomment-752242622, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIZCGRYYNDO7VQPKNTMP6UDSXJA6PANCNFSM4VMPBVIA
.

It's a typo, sorry.
I fixed it, so could you try again?
3dfd9a4a3be6338f51ce8f013ece41b4c5d40923

Hello,
Thank you for your help. Now  I am not receiving key error. But, this
script is not done for 8 hours. When I interıupt manual, I am receiving
below error.
This  time, I added also  other parameters like  local and neighbor as and
IP.
Could you please chek it?
thank you
(venv) C:\Users\asus\PycharmProjects\Ebebek>ryu.py -l 100 -p 200
-n:<IP_ADDRESS> -L <IP_ADDRESS> -G latest-update.gz > test5.py
Traceback (most recent call last):
File "C:\Users\asus\PycharmProjects\Ebebek\ryu.py", line 504, in
main()
File "C:\Users\asus\PycharmProjects\Ebebek\ryu.py", line 501, in main
conv_format(args, flags, d)
File "C:\Users\asus\PycharmProjects\Ebebek\ryu.py", line 191, in conv_format
time.sleep(1)
KeyboardInterrupt
Tetsumune KISO<EMAIL_ADDRESS>30 Ara 2020 Çar, 11:48 tarihinde
şunu yazdı:

It's a typo, sorry.
I fixed it, so could you try again?
3dfd9a4
https://github.com/t2mune/mrtparse/commit/3dfd9a4a3be6338f51ce8f013ece41b4c5d40923
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/t2mune/mrtparse/issues/27#issuecomment-752378142, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIZCGR3GIZDODU7FZYFRDNDSXLSNBANCNFSM4VMPBVIA
.

You need "-P" option.
Without "-P" option, It goes into an infinite loop and never exits.
(...snip)
if params['flags'] & FLAG_T['API_PROG']:
    print_api_prog_footer()
else:
    while True:
        time.sleep(1)
(...snip)

Dear,
I have added -P paramater and script is completed. BUt please this knowledge should be added to help or documentation.
Also, when I run again same command,  there is no LOCAL AS, PEERAS and NEIGHBOUR in output. When I add -P parameter, it outputs in API format of announce subnets. As below:
Thank you,

#!/usr/bin/env python
import sys
import time
msgs = [
'announce attributes origin IGP as-path [139589 49752<PHONE_NUMBER>3 267397 ] community [0:39533 39533:49666 64700:26162] large-community [57463:0:8966 57463:0:44901 57463:0:52863 57463:0:201133 57463:0:263009 57463:0:263080 57463:0:267242 57463:0:267613 139589:0:0] next-hop <IP_ADDRESS> nlri <IP_ADDRESS>/23 <IP_ADDRESS>/24 <IP_ADDRESS>/24 <IP_ADDRESS>/24',
'announce attributes origin IGP as-path [34549 5511 1299 9498 714 ] community [5511:521 5511:666 5511:710 5511:5511 34549:100 34549:5511] next-hop <IP_ADDRESS> nlri <IP_ADDRESS>/24',
'announce attributes origin IGP as-path [34800 58057 6939 3356 3549 27951 ] community [34800:65010 58057:65010] next-hop 2001:7f8:e7:c232::63fe nlri 2801:172:2::/48',
'announce attributes origin IGP as-path [139589 6939 201808 ] med 0 community [0:714 0:2906 0:6939 0:12876 0:12989 0:13335 0:15133 0:15169 0:16265 0:16276 0:16509 0:20940 0:22822 0:32590 0:48641 0:49029] large-community [139589:0:139589] next-hop 2a07:59c6:ee00:9589::1 nlri 2a01:a5e0::/32 2a0c:8c80::/32',
'announce attributes origin IGP as-path [139589 49752 34549 3356 13904 13904 13904 13904 13904 13904 13904 13904 13904 ] community [3356:3 3356:22 3356:100 3356:123 3356:575 3356:2026 34549:100 34549:3356] large-community [139589:0:0] next-hop <IP_ADDRESS> nlri <IP_ADDRESS>/23',
'announce attributes origin IGP as-path [34549 3257 2914 61317 ] community [3257:8115 3257:30342 3257:50001 3257:53300 3257:53301 34549:100 34549:3257] next-hop <IP_ADDRESS> nlri
...

Dear,
I have added -P paramater and script is completed. BUt please this knowledge should be added to help or documentation.
Also, when I run again same command,  there is no LOCAL AS, PEERAS and NEIGHBOUR in output. When I add -P parameter, it outputs in API format of announce subnets. As below:
Thank you,

#!/usr/bin/env python
import sys
import time
msgs = [
'announce attributes origin IGP as-path [139589 49752<PHONE_NUMBER>3 267397 ] community [0:39533 39533:49666 64700:26162] large-community [57463:0:8966 57463:0:44901 57463:0:52863 57463:0:201133 57463:0:263009 57463:0:263080 57463:0:267242 57463:0:267613 139589:0:0] next-hop <IP_ADDRESS> nlri <IP_ADDRESS>/23 <IP_ADDRESS>/24 <IP_ADDRESS>/24 <IP_ADDRESS>/24',
'announce attributes origin IGP as-path [34549 5511 1299 9498 714 ] community [5511:521 5511:666 5511:710 5511:5511 34549:100 34549:5511] next-hop <IP_ADDRESS> nlri <IP_ADDRESS>/24',
'announce attributes origin IGP as-path [34800 58057 6939 3356 3549 27951 ] community [34800:65010 58057:65010] next-hop 2001:7f8:e7:c232::63fe nlri 2801:172:2::/48',
'announce attributes origin IGP as-path [139589 6939 201808 ] med 0 community [0:714 0:2906 0:6939 0:12876 0:12989 0:13335 0:15133 0:15169 0:16265 0:16276 0:16509 0:20940 0:22822 0:32590 0:48641 0:49029] large-community [139589:0:139589] next-hop 2a07:59c6:ee00:9589::1 nlri 2a01:a5e0::/32 2a0c:8c80::/32',
'announce attributes origin IGP as-path [139589 49752 34549 3356 13904 13904 13904 13904 13904 13904 13904 13904 13904 ] community [3356:3 3356:22 3356:100 3356:123 3356:575 3356:2026 34549:100 34549:3356] large-community [139589:0:0] next-hop <IP_ADDRESS> nlri <IP_ADDRESS>/23',
'announce attributes origin IGP as-path [34549 3257 2914 61317 ] community [3257:8115 3257:30342 3257:50001 3257:53300 3257:53301 34549:100 34549:3257] next-hop <IP_ADDRESS> nlri
...

Thank you for your comment.
I will update a documentation for using ExaBGP with mrtparse.
When using ExaBGP API, you have to wirte ExaBGP config file by yourself, and need to specify a script you generate using mrt2exabgp in a process section.
group TEST {
    neighbor <IP_ADDRESS> {
        router-id <IP_ADDRESS>;
        local-address <IP_ADDRESS>;
        local-as 100;
        peer-as 200;
        graceful-restart;

        process TEST {
            run GENERATED_SCRIPT.py;
        }
    }
}

Thank you for your comment.
I will update a documentation for using ExaBGP with mrtparse.
When using ExaBGP API, you have to wirte ExaBGP config file by yourself, and need to specify a script you generate using mrt2exabgp in a process section.
group TEST {
    neighbor <IP_ADDRESS> {
        router-id <IP_ADDRESS>;
        local-address <IP_ADDRESS>;
        local-as 100;
        peer-as 200;
        graceful-restart;

        process TEST {
            run GENERATED_SCRIPT.py;
        }
    }
}

Dear,
Thank you. I have taken  progress with your help. But, now another problem exists.
this is my exabgp config file:
process test  {
run    fullroutebgp2.py;
encoder json;
}
neighbor <IP_ADDRESS> {
    router-id <IP_ADDRESS>;
    local-address <IP_ADDRESS>;
    local-as 100;
    peer-as 200;

   api {
    processes  [test];
}
}

When I run  command:[root@centos exabgp-git]# ./sbin/exabgp etc/exabgp/fullroutebgp.conf
my error is below:
[root@centos exabgp-git]# ./sbin/exabgp etc/exabgp/fullroutebgp.conf
welcome       Thank you for using ExaBGP
advice        environment file missing
advice        generate it using "exabgp env --fi > /root/exabgp-git/etc/exabgp/exabgp.env"
cli           could not find the named pipes (exabgp.in and exabgp.out) required for the cli
cli           we scanned the following folders (the number is your PID):
cli control    - /run/exabgp/
cli control    - /run/0/
cli control    - /run/
cli control    - /var/run/exabgp/
cli control    - /var/run/0/
cli control    - /var/run/
cli control    - /root/exabgp-git/run/exabgp/
cli control    - /root/exabgp-git/run/0/
cli control    - /root/exabgp-git/run/
cli control    - /root/exabgp-git/var/run/exabgp/
cli control    - /root/exabgp-git/var/run/0/
cli control    - /root/exabgp-git/var/run/
cli control   please make them in one of the folder with the following commands:
cli control   > mkfifo /root/exabgp-git/run/exabgp.{in,out}
cli control   > chmod 600 /root/exabgp-git/run/exabgp.{in,out}
configuration performing reload of exabgp master-d2c7c074134ca6015bf112076604110439bfcf4c
reactor       loaded new configuration successfully
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
outgoing-1    --------------------------------------------------------------------
outgoing-1    the connection can not carry the following family/families
outgoing-1     - peer is not configured for ipv4/multicast
outgoing-1     - peer is not configured for bgp-ls/bgp-ls
outgoing-1     - peer is not configured for ipv6/flow-vpn
outgoing-1     - peer is not configured for bgp-ls/bgp-ls-vpn
outgoing-1     - peer is not configured for ipv6/multicast
outgoing-1     - peer is not configured for l2vpn/evpn
outgoing-1     - peer is not configured for ipv4/rtc
outgoing-1     - peer is not configured for ipv4/nlri-mpls
outgoing-1     - peer is not configured for ipv6/unicast
outgoing-1     - peer is not configured for ipv4/flow
outgoing-1     - peer is not configured for ipv6/mpls-vpn
outgoing-1     - peer is not configured for ipv4/flow-vpn
outgoing-1     - peer is not configured for l2vpn/vpls
outgoing-1     - peer is not configured for ipv6/nlri-mpls
outgoing-1     - peer is not configured for ipv4/mpls-vpn
outgoing-1     - peer is not configured for ipv6/flow
outgoing-1    therefore no routes of this kind can be announced on the connection
outgoing-1    --------------------------------------------------------------------
process       Too many death for test (5) terminating program
reactor       Problem when sending message(s) to helper program, stopping
reactor       performing shutdown
: No such file or directory
outgoing-1    outgoing-1 <IP_ADDRESS>-<IP_ADDRESS>, closing connection
fullroutebgp2.py is afile that was  converted via script of  latest-update.gz (not latest-bview.gz)

Dear,
Thank you. I have taken  progress with your help. But, now another problem exists.
this is my exabgp config file:
process test  {
run    fullroutebgp2.py;
encoder json;
}
neighbor <IP_ADDRESS> {
    router-id <IP_ADDRESS>;
    local-address <IP_ADDRESS>;
    local-as 100;
    peer-as 200;

   api {
    processes  [test];
}
}

When I run  command:[root@centos exabgp-git]# ./sbin/exabgp etc/exabgp/fullroutebgp.conf
my error is below:
[root@centos exabgp-git]# ./sbin/exabgp etc/exabgp/fullroutebgp.conf
welcome       Thank you for using ExaBGP
advice        environment file missing
advice        generate it using "exabgp env --fi > /root/exabgp-git/etc/exabgp/exabgp.env"
cli           could not find the named pipes (exabgp.in and exabgp.out) required for the cli
cli           we scanned the following folders (the number is your PID):
cli control    - /run/exabgp/
cli control    - /run/0/
cli control    - /run/
cli control    - /var/run/exabgp/
cli control    - /var/run/0/
cli control    - /var/run/
cli control    - /root/exabgp-git/run/exabgp/
cli control    - /root/exabgp-git/run/0/
cli control    - /root/exabgp-git/run/
cli control    - /root/exabgp-git/var/run/exabgp/
cli control    - /root/exabgp-git/var/run/0/
cli control    - /root/exabgp-git/var/run/
cli control   please make them in one of the folder with the following commands:
cli control   > mkfifo /root/exabgp-git/run/exabgp.{in,out}
cli control   > chmod 600 /root/exabgp-git/run/exabgp.{in,out}
configuration performing reload of exabgp master-d2c7c074134ca6015bf112076604110439bfcf4c
reactor       loaded new configuration successfully
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
outgoing-1    --------------------------------------------------------------------
outgoing-1    the connection can not carry the following family/families
outgoing-1     - peer is not configured for ipv4/multicast
outgoing-1     - peer is not configured for bgp-ls/bgp-ls
outgoing-1     - peer is not configured for ipv6/flow-vpn
outgoing-1     - peer is not configured for bgp-ls/bgp-ls-vpn
outgoing-1     - peer is not configured for ipv6/multicast
outgoing-1     - peer is not configured for l2vpn/evpn
outgoing-1     - peer is not configured for ipv4/rtc
outgoing-1     - peer is not configured for ipv4/nlri-mpls
outgoing-1     - peer is not configured for ipv6/unicast
outgoing-1     - peer is not configured for ipv4/flow
outgoing-1     - peer is not configured for ipv6/mpls-vpn
outgoing-1     - peer is not configured for ipv4/flow-vpn
outgoing-1     - peer is not configured for l2vpn/vpls
outgoing-1     - peer is not configured for ipv6/nlri-mpls
outgoing-1     - peer is not configured for ipv4/mpls-vpn
outgoing-1     - peer is not configured for ipv6/flow
outgoing-1    therefore no routes of this kind can be announced on the connection
outgoing-1    --------------------------------------------------------------------
process       Too many death for test (5) terminating program
reactor       Problem when sending message(s) to helper program, stopping
reactor       performing shutdown
: No such file or directory
outgoing-1    outgoing-1 <IP_ADDRESS>-<IP_ADDRESS>, closing connection
fullroutebgp2.py is afile that was  converted via script of  latest-update.gz (not latest-bview.gz)

Hi,
Sorry for my late reply.
The problem is shown as below:
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory

So, you need to edit the first line of "fullroutebgp2.py" as follows:
#!/usr/bin/python3

In my envirtonment, the result is as follows:
welcome         Thank you for using ExaBGP                                                                                advice          environment file missing                                                                                advice          generate it using "exabgp env --fi > /home/t2mune/exabgp/etc/exabgp/exabgp.env"
cli             could not find the named pipes (exabgp.in and exabgp.out) required for the cli                                                                                cli             we scanned the following folders (the number is your PID):
cli control      - /run/exabgp/                                                                                cli control      - /run/10001/
cli control      - /run/                                                                                cli control      - /var/run/exabgp/
cli control      - /var/run/10001/                                                                                cli control      - /var/run/
cli control      - /home/t2mune/exabgp/run/exabgp/                                                                                cli control      - /home/t2mune/exabgp/run/10001/
cli control      - /home/t2mune/exabgp/run/
cli control      - /home/t2mune/exabgp/var/run/exabgp/
cli control      - /home/t2mune/exabgp/var/run/10001/                                                                                cli control      - /home/t2mune/exabgp/var/run/
cli control     please make them in one of the folder with the following commands:                                                                                cli control     > mkfifo /home/t2mune/exabgp/run/exabgp.{in,out}
cli control     > chmod 600 /home/t2mune/exabgp/run/exabgp.{in,out}                                                                                cli control     > chown 10001:10001 /home/t2mune/exabgp/run/exabgp.{in,out}
configuration   performing reload of exabgp master-a07a3a833c57549812465ade446ee2decf31b109                                                                                reactor         loaded new configuration successfully
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/24 next-hop <IP_ADDRESS> origin igp as-path [ 59919 6939 9299 23930 ] med 0 aggregator ( 23930:<IP_ADDRESS> ) community 59919:65002
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 26073 6939 3356 13614 ] community [ 6939:7025 6939:8840 6939:9001 ]
(...snip)

Hi,
Sorry for my late reply.
The problem is shown as below:
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory
/usr/bin/env: ‘python\r’: No such file or directory

So, you need to edit the first line of "fullroutebgp2.py" as follows:
#!/usr/bin/python3

In my envirtonment, the result is as follows:
welcome         Thank you for using ExaBGP                                                                                advice          environment file missing                                                                                advice          generate it using "exabgp env --fi > /home/t2mune/exabgp/etc/exabgp/exabgp.env"
cli             could not find the named pipes (exabgp.in and exabgp.out) required for the cli                                                                                cli             we scanned the following folders (the number is your PID):
cli control      - /run/exabgp/                                                                                cli control      - /run/10001/
cli control      - /run/                                                                                cli control      - /var/run/exabgp/
cli control      - /var/run/10001/                                                                                cli control      - /var/run/
cli control      - /home/t2mune/exabgp/run/exabgp/                                                                                cli control      - /home/t2mune/exabgp/run/10001/
cli control      - /home/t2mune/exabgp/run/
cli control      - /home/t2mune/exabgp/var/run/exabgp/
cli control      - /home/t2mune/exabgp/var/run/10001/                                                                                cli control      - /home/t2mune/exabgp/var/run/
cli control     please make them in one of the folder with the following commands:                                                                                cli control     > mkfifo /home/t2mune/exabgp/run/exabgp.{in,out}
cli control     > chmod 600 /home/t2mune/exabgp/run/exabgp.{in,out}                                                                                cli control     > chown 10001:10001 /home/t2mune/exabgp/run/exabgp.{in,out}
configuration   performing reload of exabgp master-a07a3a833c57549812465ade446ee2decf31b109                                                                                reactor         loaded new configuration successfully
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/24 next-hop <IP_ADDRESS> origin igp as-path [ 59919 6939 9299 23930 ] med 0 aggregator ( 23930:<IP_ADDRESS> ) community 59919:65002
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 59919 41327 2914 1299 3225 ] aggregator ( 3225:<IP_ADDRESS> ) community [ 2914:420 2914:1004 2914:2000 2914:3000 17152:1 41327:2914 41327:4500 41327:10001 41327:13000 41327:13001 ]
api             route added to neighbor <IP_ADDRESS> local-ip <IP_ADDRESS> local-as 100 peer-as 200 router-id <IP_ADDRESS> family-allowed in-open : <IP_ADDRESS>/22 next-hop <IP_ADDRESS> origin igp as-path [ 26073 6939 3356 13614 ] community [ 6939:7025 6939:8840 6939:9001 ]
(...snip)


kebab-case Delete reminder

Is it compatible with kebab-case，react css modules have this reminder, but it doesn't update as fast as CSS-modules-typed

hi @ZeroTo1024 .
Unfortunately, this plugin is a TypeScript service plugin, and all deprecation markings are handled by TypeScript.
When you access properties using styles['divier'], TypeScript cannot determine the specific property name and therefore will not check the @deprecated annotation.You can try running the following code.
interface A {
  foo: string;
  /** @deprecated property is deprecated */
  [key: string]: any;
}

const example: A = {
  foo: 'foo',
  bar: 'bar',
};
console.log(example.bar); // trigger deprecation warning
console.log(example['bar']); // will not trigger deprecation warning

If you do need such prompts, it is recommended to configure the following options in your user settings.json or workspace settings.json.
  "css-module-typed.pluginOptions": {
    "allowUnknownClassnamesAsDeprecated": false,
    "allowUnknownClassnames": false,
  }

Is it possible to have a warn or error effect like the react css modules plugin does, now that “css-module-typed” is in the “example[‘bar’]” case, I can't quite tell when the class is removed. has been removed.

I see “This plugin is a TypeScript service plugin.”

@ZeroTo1024
The TypeScript service plugin can also mark non-existent CSS classes, but currently, the plugin only marks them as deprecated by default, which leads to the issue you described. If you still want the plugin to provide warnings, you can modify the plugin configuration as follows.
  "css-module-typed.pluginOptions": {
    "allowUnknownClassnamesAsDeprecated": false,
    "allowUnknownClassnames": false,
  }

I have modified this configuration, but there is still no prompt. Is it related to my ts configuration?


Enhancement

HI, one small request is to make the dashboard feature of making newfile more advanced.
For example....
If i want to create a new file from dashboard and i press enter on it. then before opening the empty file it should ask about the file name. like when selected then a small window popup should appear asking for the file name. In this way we wont be needed to save the file in order for syntax-highlighting and more.
Additionally
It would also be great if it becomes able to create directorys or subdirectorys for the file also. like if in the popup window when it asks for file example/lua.lua is given the it should check the exmaple directory in the current directory and if it does not exists then it can create the directory as well with new file (with specified name)..... THANKS~~~!!!

just copy content and open it in dashboard thanks.


Chat

Maybe solved with #4 ? Do we need a chat?

Yes we do need it..

Should this be a kind of big group chat or a chat with channels (like Slack) and direct messages?

Channels/Groups seem like a good idea, but direct messages can be included as well.

:+1:

+1 @Letladi


Added Email Permutation, Improved Multithreaded Performance

Added an old script of mine for generating email permutations, which generates thousands of emails per second.
Used Faker for generating random data.
Improved upon @sarimbinwaseem #3 implementation by shuffling email components (first, last names, numbers, symbols).
Changed password generation to use random amount of characters and random combination.
Used randomised user agents in each request

The idea of email permutation usually comes from developing bots, use a mail multiple times, to confirm registrations
These are usually filtered by every decent company / developer, via a duplicate check, if you don't need to confirm the registration that you send to the phishing site, there is really no use to this feature

The idea of email permutation usually comes from developing bots, use a mail multiple times, to confirm registrations These are usually filtered by every decent company / developer, via a duplicate check, if you don't need to confirm the registration that you send to the phishing site, there is really no use to this feature

Thats why first shuffling the email components. Plus its not entirely true, as I've personally used these permutations on various websites that provide a new customer bonus per email address.
Its actually only a gmail feature that dots get ignored in the username and that the gmail and googlemail domains are seen as identical.
The upper/lowercase is turned on but can be turned off. The main objective of the permutation is turning an email like<EMAIL_ADDRESS>into t.est t.e.st t.e.s.t, etc. and using various domains.

For legitimate Services this might sometimes be the case (sometimes legal in nature), but if you want to "flood" a database with "legit looking" data, just adding dots and suffixes doesn't help, if it can be countered with a regex or simple script.
A simple script to filter out "dots" for gmail accounts (append as you wish), to counter-act your script
-> a "phishkiller" should focus on legitimate looking data, limited by the ISP anyways
#!/usr/bin/env python3

unique = []

with open("export.txt", "r") as file:
    emails = file.readlines()
    for mail in emails:
        mail = mail.strip()
        mail = mail.lower()
        if mail.endswith("@googlemail.com"):
            mail =<EMAIL_ADDRESS><EMAIL_ADDRESS>        if mail.endswith("@gmail.com"):
            mail =<EMAIL_ADDRESS>"")
            mail = mail.replace(".", "")
            mail = mail.split("+")[0]
            mail = mail +<EMAIL_ADDRESS>            if mail not in unique:
                unique.append(mail)

print(unique)

@JanEickholt I changed the dots into email permutations, wanna take a look? :) @CybrZone other than that its ready for merge, code contains latest changes as well


Origin/openssl customer comms article

What changed, and why it matters
Fix spelling mistake on the last draft

Hi @sluhur thanks for this contribution. docs.aiven.io contains evergreen documentation that we maintain. For product and security related updates, consider writing a blog like this one.
btw, there was already an open PR in this regard.

I believe https://aiven.io/blog/security-update-on-openssl-x.509-email-address-buffer-overflow covers the content that this PR wanted to bring in. @sluhur @aposous is it Ok to close this PR?

as stated, this became a blog post.


Make Masthead update depending on the URL and state

Related Issues
#129

Description

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] Enhancement (one that would cause existing functionality to change)
[x] New feature (non-breaking change which adds functionality)

Testing

[ ] Tested in some way, if yes, the description should be followed.

Affected subsystem(s)

masthead
Checklist

Commit message to follow commit message guideline

#132 lands


partitioning auto-adjustment + fix division by zero

Internal mesh partitioning improvement :
Now the number of subdivisions is auto-adjusted per axis.
Example : if the mesh is sized 150 x 3  x 200 and if we want 20 subdivisions, the z axis will be divided in 20 subdivisions, the x axis will be divided in only 15 (instead of 20) and the y axis in only 1.

fixed some possible divisions by zero : if the mesh bbox is sized of zero on an axis (in case of a dynamic morphing), it's considered as sized of Epsilon instead.

Wait please, a code optimization is coming

done

partitioning subdivisions per axis are computed only once on updateFacetData() and stored for further use instead of being recomputed on each call to getFacetsAtLocalCoordinates()
better way to prepare and store the parameters for ComputeNormals() (no re-alloc, no recomput)
mesh.dispose() now also disposes the mesh facet data if any


Offered/Received Maskinporten delegations does not list relevant scopes on resources

Description of the bug

The description of the resources in Offered and Received maskinporten delegations does not include the relevant scopes of the resource.
This is already set on the internal Delegation model in DelegationService, but it is missing in the DelegationExternal model returned by the /offered and /received API endpoints
Steps To Reproduce
Offered:

Login with DAGL and go to organizations Profile page
Click on the "Access to the Application Programming Interface - API" panel and click "Go to delegated API accesses" button
If the organization does not have any active delegations a delegation must be made for any resource to any other org.
Expand the organization having received delegation

Received:

Login with DAGL and go to organizations Profile page
Click on the "Access to the Application Programming Interface - API" panel and click "Go to delegated API accesses" button
If the organization does not have any active delegations a delegation must be made for any resource to any other org.
Expand the organization having received delegation

Add scopes like in this picture:

Design review:

Gå til overviewet og se på ActionBarContenten hvordan vi skal vise scopes der på en oversiktlig måte

@jonkjetiloye
As far as I can see, we don't receive scopes as part of the offered/received call for the overview - is this something we can get ahold of a different way?
And if so, should it be prioritized?
(Perhaps this is something that can be discussed at refinement)

@allinox It just needs to be returned by the BFF, which already has this information when retrieving the service name and description. Made a PR:
https://github.com/Altinn/altinn-access-management-frontend/pull/418

Change to this:

Overview:

Sett API-tittel som en header (h4 eller h5)
Ha scopes som punktliste, ikke som Liste med stripla linjer

Choose-API

Ha scopes som punktliste, ikke som Liste med stripla linjer
Fjern Linja imellom seksjoner inne i ActionBar
Gjør bolda tekst til headere (h4 eller h5)

sjekket, ok


KeyError: 'SUMLATION'

Hello
Thanks for sharing good code
I'm testing this source but getting an error

Hi @youngjae41
Thank you for trying out the code. The code is related to a journal publication submitted to Sensors. It will be maintained once the publication is accepted.
Thanks.

@youngjae41 The work is now published here: https://doi.org/10.3390/s22239240
Regarding your error. Just set the environment variable SIMULATION=true. You can do this in the terminal where you run the simulation as follows.
export SIMULATION=true

if you are running this in simulation. Otherwise, set it to false.

@mzahana Thanks !!
but this error

[ERROR] [1669779598.468648, 244.064000]: Data buffering timedout dt= 2.104387044906616 > 2.1. Aborting tuning process

@youngjae41 this is a different error. Kindly, open a different issue for it. Thanks.


Removed unneeded 'the'

@sguitardude : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Looks good; thanks.


Removing Online

https://github.com/MicrosoftDocs/office-docs-powershell/issues/4325

Docs Build status updates of commit f6a8ec5:
:clock10: Full build: the average full build time is 11 min(s) 48 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit f6a8ec5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

skype/skype-ps/skype/Get-CsDialPlan.md
:white_check_mark:Succeeded
View (skype-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Migrate from personal repo to romie organization

Migrate from personal repo to romie organization

This is now done.


Add Tags and Description to Vision API (analyzeImage)

I have included the tags and descriptions as options to analyzeImage. Although they are available on Vision API, vision.js did not return such information.

Thank you, that's awesome!

Thanks for this @AlbertoTrindade !

You´re very welcome @felixrieseberg and @cthrash! Glad to help!