Expensify chat - web/desktop, when hovering over a user's name anywhere, show their primary login details

If you haven’t already, check out our contributing guidelines for onboarding!

Deliverable:
On web/desktop, when hovering over a user's name anywhere, show their primary login. This includes:

In the header of a DM (whether single or group)
In the chat itself (ie, the header of a new comment line)
The chat row in the LHN (whether single or group)
The chat row in the search results (whether single or group)

Couple of other notes:
When the full list of names is hidden behind the ... ellipsis for Group DMs in the LHN/search results, I'd suggest we show a grouped list of all the participants' primaryLogins on hover of the ellipsis
for users that have phone numbers as primaryLogins, let's drop the @expensify.sms portion, so it's displayed on hover as: +447814266906 and not<EMAIL_ADDRESS>https://www.upwork.com/jobs/~0146d36b55605d9064

Proposal

We will use the Tooltip component to wrap the report Titles.
Due to the header text is taking the full width of its parent we need to wrap such text into a wrapper view with flex-direction: column to adjust the Tooltip position.

 <View style={{flexDirection: 'column', alignItems: 'flex-start'}}>
            <Tooltip text={props.title}>
                <Text numberOfLines={2} style={[styles.headerText, props.textSize === 'large' && styles.textLarge]}>
                    {props.title}
                </Text>
            </Tooltip>
        </View>

for demo purposes I have added styling here.

Now the issue is that Tooltip adds two wrappers on the nodes which block text-clipping.
There are two things we need to care of.
a) Remove the Hoverable component's wrapper view in this way

  const child = _.isFunction(this.props.children)
           ? this.props.children(this.state.isHovered)
           : this.props.children;

       return React.cloneElement(React.Children.only(child), {
           onMouseEnter: this.toggleHoverState,
           onMouseLeave: this.toggleHoverState,
       });

b) Next, we need to update the tooltip component to take style props so that we can give max-width: 100% to allow clipping of text.

We need to allow attaching the tooltip to the body of the page so that It's not hidden by other page elements with some standard z-index.
we use a container prop which decides the placement of the Tooltip Node to the Body element.

Due to the header text is taking the full width of its parent we need to wrap such text into a wrapper view with flex-direction: column to adjust the Tooltip position.

I'm not sure I follow why this is necessary. The tooltip should be centered on its children, so if the child is a text element it should be centered on the text.

Now the issue is that Tooltip adds two wrappers on the nodes which block text-clipping

Again, could you explain this problem in a bit more detail?

Next, we need to update the tooltip component to take style props so that we can give max-width: 100% to allow clipping of text.

Why not just give the tooltip a default style of max-width: 100%?

We use a container prop which decides the placement of the Tooltip Node to the Body element.

I've experienced the z-index problem you've describe before (and come up with a different solution), but I'm generally unclear on what you're proposing here.

Generally it looks like you've thought out your proposal pretty thoroughly, but you maybe just need to do a better job explaining the base solution. Then for each additional change, make it more clear the problem you're trying to solve, and we can then discuss the best solution.

@roryabraham . My bad explaining it.

I'm not sure I follow why this is necessary. The tooltip should be centered on its children, so if the child is a text element it should be centered on the text.

https://github.com/Expensify/Expensify.cash/blob/380a148fdd47ce4c37e07ce647e1d9d31af8eb88/src/components/Header.js#L18-L24
the Text element is rendered as a div on the web which takes the full available width in flex parent. so my bad here. we can simply set the parent View as flex-direction: row and set the tooltip max-width: 100%.
 <View style={[styles.flex1, styles.flexRow]}>
        <Tooltip text={props.title}>
            <Text numberOfLines={2} style={[styles.headerText, props.textSize === 'large' && styles.textLarge]}>
                {props.title}
            </Text>
        </Tooltip>
   </View>

Now the issue is that Tooltip adds two wrappers on the nodes which block text-clipping

it adds two wrapper divs, for the text to clip we need to set max-width on the parent wrapper. Max-width should be given to the immediate child of flex container thus it would the wrapper by Hoverable component. I don't think it's a good idea to give the Hoverable component any styling as it can be used in other places as well.  Check the Inspected HTML around the Text

And I think we can remove the Hoverable component's View in the following way.
  const child = _.isFunction(this.props.children)
           ? this.props.children(this.state.isHovered)
           : this.props.children;

       return React.cloneElement(React.Children.only(child), {
           onMouseEnter: this.toggleHoverState,
           onMouseLeave: this.toggleHoverState,
       });

We use a container prop that decides the placement of the Tooltip Node to the Body element.

I meant that we need to attach the node of the tooltip to the body element in the DOM otherwise it will be hidden from other elements on the page so we use a prop container(standard name among frameworks) that decides whether we need to attach the Tooltip inline or to the Body of Page.

Okay, thanks for the explanation, proposal looks good. Just a couple things:

And I think we can remove the Hoverable component's View in the following way.

For what its worth, this was the original implementation I used for the Hoverable component, but I was convinced to not do it that way in order to reduce complexity and because there's no real reason to enforce that it has only one child. Now that there's a clear reason to not add an additional view, I might suggest you do it like this (so it can still have multiple children if desired):
return React.children.map(children, child => {
    const childWithHoverState = _.isFunction(child)
        ? child(this.state.isHovered)
        : child;
    return React.cloneElement(childWithHoverState, {
        onMouseEnter: this.toggleHoverState,
        onMouseLeave: this.toggleHoverState,
    });
});

Not certain that's 100% correct, but you get the idea hopefully.

I meant that we need to attach the node of the tooltip to the body element in the DOM otherwise it will be hidden from other elements on the page so we use a prop container(standard name among frameworks) that decides whether we need to attach the Tooltip inline or to the Body of Page.

I'm a bit conflicted about this because, while it will work on web, I don't think it will work on native platforms. We want to keep this app 99.9999% cross-platform where possible. So I'd prefer if you just try to work around this by giving a higher z-index to the parent elements that contain a tooltip that's covered up by neighboring elements, rather than trying to attach the tooltip to the root.
If that really can't work for some reason, then I think I'd prefer to see this approach:

Split up the tooltip into a web and native implementation,
On web, always attach it to the root element, rather than adding a new prop
On native, just have it do nothing for now (because we don't have a Hoverable that does anything on native yet anyways).

because there's no real reason to enforce that it has only one child
I don't think that will there be a case where we need to add two direct children to the Hoverable. Then it would mean that hovering over two at a time, Not Good in Tree-based Dom(Hover state should link to only one node in DOM context https://html.spec.whatwg.org/multipage/semantics-other.html#selector-hover). There will always be a parent who gets hover if we need both children to have the hover effect. Or, Add hoverable to both children separately.

If that really can't work for some reason, then I think I'd prefer to see this approach:

I agree. There will be two implementations one for native (Empty wrapper)and one for the web.

Sorry just catching up but I'm still stuck on this statement and wondering if we are overthinking the problem to compensate for this assumption here...

I don't think it's a good idea to give the Hoverable component any styling as it can be used in other places as well

It makes sense to not give it a style by default, but if you need to set some styles on the View to achieve some result it seems reasonable to allow. If we pass a style to Tooltip can this solve the issue?

Yeah. @marcaaron. We just need to set the max-width for the text to clip in most of the cases.

@marcaaron is @parasharrajat good to go here?

@marcaaron @roryabraham bump when you get a moment today thanks

LGTM. We can hash the rest out in reviews in any case.

hi @parasharrajat is there a PR for this one yet?

Soon, I will add one. @laurenreidexpensify

Few Questions:

How do we need to show the Logins in the Group DMs in LHN.

@trjExpensify @shawnborton

👋

We should show the primaryLogin of the user in the Group DM you're hovering over

In the case where there are many participants and so truncated with the ... ellipsis, when hovering over that ellipsis, we should show a list of all the participants of the Group DM.

@trjExpensify Thanks. But let me be clear so that we are on the same page.
primaryLogin => Email and not the Report Title.
So

Show the tooltip for the single user Chats while hovering the title.
Show the tooltip on the Ellipse for Group chats only if the text is truncated.
Show the Tooltip with Points 1 and 2 on the search Page.
Show the Tooltip with Points 1 and 2 on the Report Header.
Show the Tooltip for the comment author.

Is the above behavior Correct?

That's almost it! In addition to showing the full list of participants on a Group DM when hovering over an ... - we were also looking to achieve the following for Group DMs in the LHN:

Is that possible?

Yup, it is.

Awesome, thanks!

@marcaaron
So, I have tried two ways to show the user's name tooltip on the Report Title but both of them have their limitations.
First:
(
                <Text style={[styles.optionDisplayName, style]} numberOfLines={1} ref={this.ref}>
                    {_.map(option.participantsList, (participant, index) => (
                        <Fragment key={index}>
                            <Tooltip key={index} text={participant.login} containerStyle={styles.dInline}>
                                <Text>
                                    {participant.displayName}
                                </Text>
                            </Tooltip>
                            {index < option.participantsList.length - 1 ? <Text>{', '}</Text> : null}
                        </Fragment>
                    ))}
                </Text>
            );

Second:
<Tooltip text={activeParticipant}>
                   <Text style={[styles.optionDisplayName, style]} numberOfLines={1}>
                       {_.map(option.participantsList, (participant, index) => (
                           <>
                               <Hoverable
                                   onHoverIn={() => this.selectParticipant(index)}
                                   containerStyle={styles.dInline}
                               >
                                   <Text>
                                       {participant.displayName}
                                   </Text>
                               </Hoverable>
                               {index < option.participantsList.length - 1 ? <Text>{', '}</Text> : null}
                           </>
                       ))}
                   </Text>
               </Tooltip>

The first one shows a separate tooltip for each name but we have to put display: inline to the containers added by tooltip for the ellipsis to be shown. On the other hand, the second one has one tooltip whose text change based on the user name we are hovering over.
I have added some logic to detect the ellipsis and show the Tooltip over it which is as follows:
 {
                       isEllipsisActive
                           ? (
                               <View style={styles.optionDisplayNameTooltipEllipsis}>
                                   <Tooltip text={option.tooltipText}>
                                       <Text>...</Text>
                                   </Tooltip>
                               </View>
                           ) : null
                   }

So just so I understand the effect of each of these approaches:

The Tooltip appears left-aligned with individual words, rather than centered in the middle of the word.
The Tooltip is centered on the full title, but does not move to be centered on individual words.

Is that correct?

we have to put display: inline to the containers added by tooltip for the ellipsis to be shown

Have you dug into why this is true? Would it be possible to create a Text wrapper that supports numberOfLines correctly but also uses allows flex children? Also, maybe check out this article because it may be related / lead you to another workaround!

Thanks for the article, I am going dig more on it.

@roryabraham Any input for the comment above.
I think what I can do is

Use inline elements, as I mentioned above, and then shift the tooltip to the left using

  // Any additional amount to manually adjust the horizontal position of the tooltip.
    // A positive value shifts the tooltip to the right, and a negative value shifts it to the left.
    shiftHorizontal: PropTypes.number,

    // Any additional amount to manually adjust the vertical position of the tooltip.
    // A positive value shifts the tooltip down, and a negative value shifts it up.
    shiftVertical: PropTypes.number,

But I need to know how to calculate these exactly.

Sorry for just getting back to this @parasharrajat, but looking at the video in the last comment, it looks like the tooltip is centered on the word, and the text-shrinking is happening as expected?

@roryabraham In the video, you see that the tooltip should be rendered over the shrunk title but it is being rendered on the center of the whole text underneath. But I have managed to show it at the correct location using the horizontalShift. Just preparing the PR for review.

Okay sounds good, please feel free to add me as a reviewer 👍

@parasharrajat is there a PR yet for this one? Thanks

@laurenreidexpensify Yeah, I made one couple days back which is under review. #1632

Awesome! Thanks!!

We've had a minor issue with the solution here, in that tooltips are appearing on mobile web.

Sure. I will pick this one. Let me think about the solution and get back to you, here.

@parasharrajat One potential solution is to:

set up a listener in Hoverable/index.js for the touchstart event which sets a property on the class called hoverDisabled
Update setIsHovered so that it doesn't set the hover state to true if hover is disabled:

setIsHovered(isHovered) {
    if (isHovered !== this.state.isHovered && !(isHovered && this.hoverDisabled)) {
        this.setState({isHovered}, isHovered ? this.props.onHoverIn : this.props.onHoverOut);
    }
}

Set up a listener in for the touchend event to set hoverDisabled back to false. That way it's future-proof and we can still offer hover capabilities on hybrid devices with mouse and touch interfaces.

Another potential solution (less fleshed out) would be to:

Give the tooltip display animation a delay, so that it only displays after an element has been hovered for 500ms.
onHoverOut, cancel the animation
Set up some global function like hideAllTooltips that we can use to hide any & all tooltips whenever there is a navigation change. That will hide tooltips when modals appear, a new screen is navigated to, etc...

This solution comes with the added bonus that the animation delay (in my opinion) would improve the UX of tooltips, because right now they feel a bit over-zealous.

We could also do both 😃

Do you want the tooltips to be shown on the mobile web?
If no, then I would say just disable the Tooltips for Mobile Web.
Otherwise, I would pick the first solution over the second. It would save a lot of computation.
I like the Idea of animation delay. I guess we will cover this in #1778.

Do you want the tooltips to be shown on the mobile web

I think I prefer the first solution I outlined, because it allows us to have tooltips on hybrid devices (which are increasingly common).

This solution comes with the added bonus that the animation delay (in my opinion) would improve the UX of tooltips, because right now they feel a bit over-zealous.

Agree. And while we are going back in can we also please tone down the scaling effect here? I think a simple fade would look a lot cleaner, but curious to get @shawnborton's thoughts.

@roryabraham Unfortunately. First Solution is not working as expected.Read  here why #1 - Clicking and Tapping - the "Natural" Order of Things. Touchend fires before mouseEnter thus it resets the state we want.
But I have adjusted it.
We have to replace touchend with touchmove and set the hoverDisabled to false in the setIsHovered when isHovered is false

Agree. And while we are going back in can we also please tone down the scaling effect here? I think a simple fade would look a lot cleaner, but curious to get @shawnborton's thoughts.

That works for me. Something nice and clean.

Okay, @shawnborton  @marcaaron. I will refer this to a new PR shortly.

I personally think that just the delay will be enough to alleviate the "busyness" that the tooltips have right now. I kind of like the scaling effect.

Reopening since @parasharrajat has another PR coming for the tooltip delay

Okay - because of the regression with tooltips are appearing on mobile web, payment will now be 7 days from yesterday's deploy - so 31 March.


Remove forward slash in index.html template

Shows up on the page right now, can be removed in line 1 https://github.com/codeforamerica/rva-screening/blob/master/app/templates/index.html#L1

Fixed in master!

:+1:


error: 'packages-microsoft-prod.deb' is not a Debian format archive Ubuntu-Mate 18.04

In trying to install .net Core on Ubuntu Mate I get the following error when trying to run the command "sudo dpkg -i packages-microsoft-prod.deb"
error: 'packages-microsoft-prod.deb' is not a Debian format archive
preventing me from further installing .net Core on my system and the troubleshooting section assumes that you have sucessfully gotten past this step in installing .net Core.

What most likely happened here is a failed download. I'd suggest trying again (perhaps on a different machine) and comparing the file size and a checksum.

I assume you're following https://docs.microsoft.com/en-us/dotnet/core/install/linux-package-manager-ubuntu-1804, can you confirm?
With the wget -q command, can you try running it without -q to show more diagnostic info, and post the results here?

See https://github.com/dotnet/core/issues/3752

Closing; please reopen if you can provide more detail.


File seems to loop endlessly in ArgumentExpander

The attached file, when run by ExtractCdrMetaFormDirectory, seems to loop endlessly in the ArgumentExpander until there is an out of memory error.  I'm trying to run it in a simpler program, but haven't gotten it to work.  The problematic sentence seems to be
15.0 20.0 25.0 30.0 35.0 40.0 45.0 Ja n -1 7 A p r1 7 Ju l1 7 O ct -1 7 Ja n -1 8 A p r1 8 Ju l1 8 O ct -1 8 Ja n -1 9 A p r1 9 Ju l1 9 O ct -1 9 Ja n -2 0 A p r2 0 Ju l2 0 Price trend of teffin Addis Ababa market Teff' white Teff' mixed Maize prices reduced or remained stable since June through August in most markets following harvests in unimodal areas but also increased imports from Uganda and Tanzania after the Government issued permits for private companies to import about 4 million bags of maize.

The filename needs to have .txt removed to be used with the program.
630a3467d24e80c8e6097f2971794b82.json.txt

This one seems to loop forever in the SRLCompositionalGrounder.  The sentence is
BOOST INCOME TO SUPPORT FOOD SECURITY AND NUTRITION .

from the attached file.  It does seem to loop in ExtractFromText.
1e533493057c91173ac82bf821f7f82c.json.txt

until I can get something to run, I can't debug this :(

Something is wrong, but I'm fairly sure you aren't doing anything wrong.  Recent updates have worked on Windows, Docker, and several Linux machines.  I'm going to try a Mac.

Unfortunately the Mac I have access to has some networking issues and can't communicate with Artifactory right now.  This will probably need to wait a little while until it gets sorted out.

ok, well in the meantime I can't use Eidos apparently
On Wed, Jun 2, 2021 at 11:48 AM Keith Alcock @.***>
wrote:

External Email
Unfortunately the Mac I have access to has some networking issues and
can't communicate with Artifactory right now. This will probably need to
wait a little while until it gets sorted out.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/clulab/eidos/issues/1022#issuecomment-853295713, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJCPCOOL2PDYED73YMHXLLTQZ4G5ANCNFSM45TNZQNA
.

Does git status or git fsck turn up anything useful?  Is it a relatively new clone of eidos and it isn't a zipped version without the .git directory, right?  It seemed like the sbt-git extension was having problems.

git status looks normal, here is the other
(nsf) bsharp@Beckys-MacBook-Pro ~/github/eidos (master)]$ git fsck
Checking object directories: 100% (256/256), done.
 Is it a relatively
new clone of eidos and it isn't a zipped version without the .git
directory, right? It seemed like the sbt-git extension was having problems.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/clulab/eidos/issues/1022#issuecomment-853351189, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJCPCOBTHRSV77AXDBDRCDTQ2GATANCNFSM45TNZQNA
.

You know, I went ahead and recloned it and now it seems to be working....?
maybe there was some weird artifact that was confusing things?
On Wed, Jun 2, 2021 at 1:32 PM Becky Sharp @.***> wrote:

git status looks normal, here is the other
(nsf) bsharp@Beckys-MacBook-Pro ~/github/eidos (master)]$ git fsck
Checking object directories: 100% (256/256), done.
 Is it a relatively
new clone of eidos and it isn't a zipped version without the .git
directory, right? It seemed like the sbt-git extension was having problems.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/clulab/eidos/issues/1022#issuecomment-853351189, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJCPCOBTHRSV77AXDBDRCDTQ2GATANCNFSM45TNZQNA
.

ok, @kwalcock ,  so the second example is fixed with #1033
The first, though, is different.
It's very hard to debug bc of the length, and I was thinking that it may be the case that we should handle sentences like this by removing them in the beginning.  At one time there was a check for overly long sentences, and they were excluded or skipped, but I can't seem to find it now.
Is it one of the refiners and I am blind? Or did it get removed?
If it's still there, can you please give a pointer and I'll add something for this too, likely based on the number of numbers or something (to basically scan for misparsed tables)

I think it's what this cutoff is for:
object EidosProcessor extends Logging {

  def apply(language: String, cutoff: Int = 200): EidosProcessor = language match {

thanks!!
On Saturday, June 5, 2021, Keith Alcock @.***> wrote:

External Email
I think it's what this cutoff is for:
object EidosProcessor extends Logging {
def apply(language: String, cutoff: Int = 200): EidosProcessor = language match {
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub, or unsubscribe.


Add support for Django 1.11

This PR builds on the lovely work of @ubracklow in https://github.com/moccu/django-anylink/pull/12. I cherry-picked their commits across as they laid a good base to work from.
The goal of this PR was to add support for Django 1.11. Luckily no real behavior changes were required. This PR mostly does some project cleanup, adds migrations for the example projects (so it's easier to test things still work), and adapts the test where Django changed.

Coverage increased (+1.4%) to 97.966% when pulling f2e43ca54441eec3773a383d281a003f5410d1f9 on maikhoepfel:feature/upgrade into eeb9c944a848f58939dd3691699ec4ec83f81cc1 on moccu:master.


I developed an openapi ui document that supports swagger2 and openapi3. I hope everyone can improve it together

repo is: https://github.com/rookie-luochao/openapi-ui

thanks

Yes, this should be directed to tool trackers like openapi.tools, so I'm closing this issue- thank you for your work in the OpenAPI ecosystem!

@rookie-luochao I forgot that we also have the OAI/Tooling repo for tracking tools - you might want to offer a PR there.

@rookie-luochao I forgot that we also have the OAI/Tooling repo for tracking tools - you might want to offer a PR there.
thanks for you, this repo seems to automatically capture data, right?


Reduce memory usage

Replace the memory through replacing ustring by std::string_view in BertTokenizerDecoder

so only en-US ansi char can be supported now?

No, it still support Unicode through UTF-8


CI Pipeline fails on forks

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/656
Originally created by @mbergeron on 2019-05-27 12:22:00

Reproduced in https://gitlab.com/meltano/meltano/merge_requests/617#note_174361663
We need to make sure to refer to the docker images using the $CI_ variables.

View 2 previous comments from the original issue on GitLab


[1.20.4][NeoForge] Crash on start due to networking error

Loader:  neoforged:20.4.190
Mod version: condensed_creative-3.2.0+1.20.4-neoforge.jar
Due to new Updates on the Networking, this mod crashes the game on launch.
Crash: https://mclo.gs/EESpk3Z

Actually, it's because I renamed the mixin config when I ported to neo and did not update such within the mods toml to the new file for some reason. Will have to look into this tomorrow


Find some way to work around github not running CI on GHA-created PRs

PRs created in GHA do not trigger CI. That is a problem when combined with merge queues, where a PR will only be considered ready-to-land when CI passes. The best work-around I know of so far is to close and re-open the PR, which will trigger CI.
It might make sense to have a bot do the close-and-reopen automatically, just so that CI has generally already run by the time a human looks at the PR.

Thanks!
Do we need to configure something to enable this in Miri, or should it "Just Work (TM)"?

You'll need to add the empty table to config.toml, the newly added forge docs should have an example.

Unfortunately this does not seem to work yet: https://github.com/rust-lang/miri/pull/4085.
FWIW another possible modus operandi here might be for the PR description itself to contain @rustbot reopen as a signal to please close and reopen the PR.

In https://github.com/rust-lang/miri/pull/4088 it worked, amazing :) Thanks a lot!


Parsing 3.5k lines of TS style code is slow (~5s)

My hypothesis is that braced blocks may cause more backtracking. There may be some other areas for performance improvement too.
daniel@DESKTOP-HATA8GU:~/apps/civet$ time ./node_modules/.bin/civet < source/lib.civet > out.ts

real    0m4.893s
user    0m8.224s
sys     0m0.656s

Got it down to 1.6s

Good enough for now.


fix: jobs. to needs.jobs. in 232:16 and 233:20

Working to fix pipeline syntax errors

Comment indentation is a tricky thing.


css support

TODOs

[ ] Parser
[ ] Transforms (See postcss)

[ ] minifier (P-high)
[ ] cssnext (P-high)
This includes features which does not have compatability hazard.
[ ] AutoPrefixer (P-high)

[ ] scss support
It might use libsass.

We could use https://lib.rs/crates/sass-rs or wait for https://github.com/kaj/rsass or https://github.com/connorskees/grass.


make error help!

/home/blue/Downloads/syscoin2-2.0/src/test/rpc_wallet_tests.cpp:65: undefined reference to `boost::unit_test::ut_detail::auto_test_unit_registrar::auto_test_unit_registrar(boost::unit_test::test_case_, boost::unit_test::decorator::collector&, unsigned long)'
collect2: error: ld returned 1 exit status
Makefile:3493: recipe for target 'test/test_syscoin' failed
make[2]: *_* [test/test_syscoin] Error 1
make[2]: Leaving directory '/home/blue/Downloads/syscoin2-2.0/src'
Makefile:8885: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/blue/Downloads/syscoin2-2.0/src'
Makefile:648: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
Anyone know why make compile is failing?
ubuntu 16.04 x64

Did you follow the build instructions under docs? Are you able to build bitcoin at all?

Yes I did follow build instructions, did autogen.sh, then configure with additional arguments from docs, then make, and that is the error i get when trying to make.

So you have boost fully installed? Try bitcoin see if you get same message. You can always build without tests to get past that error too..the instructions show how to do that.

I can't see in the instructions how to build without tests, can you tell me the cmd please?

Hey man,
try ./configure --disable-tests

Closing this issue; We're on 2.1.6 version now


mac-7 & mac-37 lost external connection phone device.

Type of Request
bug
Infrastructure Environment
LUCI, Github, Cocoon scheduler, Autosubmit, etc...
What is happening?
mac-7 & mac-37 lost external connection phone device.

Steps to reproduce
Step 1:
Step 2:
..
Step n:
Expected results
I expect to see X when Y is finished.

Rebooting both machines to restore connection.


WIP: Yarn ApplicaitonMaster PR I

Why are these changes needed?

Related issue number

Checks

[ ] I've run scripts/format.sh to lint the changes in this PR.
[ ] I've included any doc changes needed for https://docs.ray.io/en/master/.
[ ] I've made sure the tests are passing. Note that there might be a few flaky tests, see the recent failures at https://flakey-tests.ray.io/
Testing Strategy

[ ] Unit tests
[ ] Release tests
[ ] This PR is not tested :(

Have any design doc?


Refactor ibverbs and shmem parcelport

The MPI parcelport shows excellent performance. This is mainly due to not dispatch the read, write and accept handlers to asio. In order for the other two low latency parcelports to benefit from the experience made with the MPI parcelport, those need to be refactored.

If the shmem parcelport is in fact the IPC parcelport, then this was removed in #2293 - this issue can now be closed?


Running vsts-tasks task test fails if task is referencing lib version 2.1.0

STDERR
STDOUT ##vso[task.debug]agent.TempDirectory=C:\agent_temp
##vso[task.debug]task result: Failed
##vso[task.issue type=error;]Unhandled: ENOENT: no such file or directory, open 'C:\agent_temp.taskkey'
##vso[task.complete result=Failed;]Unhandled: ENOENT: no such file or directory, open 'C:\agent_temp.taskkey'

@bishal-pdMSFT Are you still having this issue?

@stephenmichaelf I haven't tried this recently and most probably won't be trying for next few weeks.

@bishal-pdMSFT Thanks for the heads up. I am going to close, can you reopen if you still have this issue when you try again? Thanks!

@stephenmichaelf We noticed that below two releases failed because of this issue, hence reopening.
https://microsoftit.visualstudio.com/3d1a556d-2042-4a45-9dae-61808ff33d3b/_release?definitionId=2028&releaseId=291270&_a=release-logs
https://microsoftit.visualstudio.com/3d1a556d-2042-4a45-9dae-61808ff33d3b/_release?definitionId=2028&releaseId=288685&_a=release-logs

Thanks @omeshp I will take a look!

The links above are not available anymore.  Let us know if you can repro with 2.5

Any update on this? I'm hitting this problem on v2.7.7

@jepetty could you share more info on the definition you're seeing this in? I can't repro on my end

Any chance its stemming from this issue - https://github.com/Microsoft/azure-pipelines-task-lib/issues/372
I think that's caused similar errors in the past

@damccorm thanks for the quick response! I have a build task that is using task.getVariable('Agent.TempDirectory') to use the agent's temp directory.
At the beginning of tests for this task, I set the temp directory using process.env['AGENT_TEMPDIRECTORY'] = 'c:\\tmp';
##vso[task.debug]agent.TempDirectory=c:\tmp
##vso[task.debug]task result: Failed
##vso[task.issue type=error;]Unhandled: ENOENT: no such file or directory, open 'c:\tmp.taskkey'
##vso[task.complete result=Failed;]Unhandled: ENOENT: no such file or directory, open 'c:\tmp.taskkey'
I don't believe it's related to task.getInput as I'm not using that method. Do I have to mock task.getVariable for this case?

That's probably your best bet. Our way of loading data is currently broken when the TEMPDIRECTORY is set. I'm hoping to get a fix in for that soon though.

I'm going to close here since this is really just another manifestation of #372, I'll link to this conversation there as well.


The toggle theme button does no have a cursor pointer

Describe the bug
The toggle theme button does no have a cursor pointer
https://user-images.githubusercontent.com/94471189/194008168-763f2c67-62c8-45d8-bbc4-72012038169c.mp4

thanks for this issue, but its not needed currently


Variable namings within MPIInterfaceContainer2D, MPIL2MortarContainer2D

I think local_neighbor_ids in MPIInterfaceContainer2D and MPIL2MortarContainer2D is a bit of a misnomer, as the global element ids are stored in those datastructures:
https://github.com/trixi-framework/Trixi.jl/blob/4357fe9baf88b34531d46eb5bf85b45a4c10955d/src/solvers/dgsem_tree/containers_2d.jl#L910
https://github.com/trixi-framework/Trixi.jl/blob/4357fe9baf88b34531d46eb5bf85b45a4c10955d/src/solvers/dgsem_tree/containers_2d.jl#L1216-L1231
In contrast, the stored quantities for the P4est version seem truly local:
https://github.com/trixi-framework/Trixi.jl/blob/4357fe9baf88b34531d46eb5bf85b45a4c10955d/src/solvers/dgsem_p4est/containers_parallel.jl#L365
https://github.com/trixi-framework/Trixi.jl/blob/4357fe9baf88b34531d46eb5bf85b45a4c10955d/src/solvers/dgsem_p4est/containers_parallel.jl#L420-L428
Xref: https://github.com/trixi-framework/Trixi.jl/pull/1097/files

Could you please add this to the agenda of one of our next developer meetings? Ideally, when @sloede is back


Unsupported Content tab in a mkdocstrings parsed signature

Describe the bug
When using a Content tab in a signature/comment parsed by mkdocstrings, all the javascript on the current page don't work, resulting in an unworking search box and unusable scroll bar for TOC and site navigation. If I go to another page all javascript work well again. Also note that the Content tab is well displayed in the generated documentation.
Error raised
In the [F12] menu of Edge, I got the following message when I'm on a page that contain a Content tab in the generated documentation:
Uncaught DOMException: Failed to execute 'querySelector' on 'Document': 'label[for=package.module.function--__tabbed_1_1]' is not a valid selector.
(Note that I replace the identifier by package.module.function for privacy reasons.)
To Reproduce
It is reproducible even with a single file, with a single function, that must contain a === "Tab1" in his signature.
Expected behavior
When a signature contain a Content tab, it should be visible - as it already does - but without broking the javascript on the current page.
Information

OS: Windows 10
Browser: Edge (Chromium)
mkdocstrings version: 0.19.0

Example of a breaking signature
def aFunction():
  '''
  Some comments...

  Example: Example of use
      === "Python code"
          ~~~python title="Example code"
          # Some python code
          ~~~

      === "Explaination"
          Some explainations ...
  '''

Could you try again with latest Material for MkDocs? It seems they fixed it on their side: https://github.com/squidfunk/mkdocs-material/commit/209856e724e67aac689744223f48f13e1c2fe3c4 (https://github.com/squidfunk/mkdocs-material/releases/tag/8.3.9)

It seems partially fixed, all java script work well (the search box, TOC scroll, etc.), but there is an indentation problem, I think.
I updated all packages in my virtual env, here is the pip freeze:
click==8.1.3
colorama==0.4.5
ghp-import==2.1.0
griffe==0.22.0
importlib-metadata==4.12.0
Jinja2==3.1.2
Markdown==3.3.7
MarkupSafe==2.1.1
mergedeep==1.3.4
mkdocs==1.3.1
mkdocs-autorefs==0.4.1
mkdocs-gen-files==0.3.5
mkdocs-literate-nav==0.4.1
mkdocs-material==8.4.1
mkdocs-material-extensions==1.0.3
mkdocs-section-index==0.3.4
mkdocstrings==0.19.0
mkdocstrings-python==0.7.1
packaging==21.3
Pygments==2.13.0
pymdown-extensions==9.5
pyparsing==3.0.9
python-dateutil==2.8.2
PyYAML==6.0
pyyaml_env_tag==0.1
six==1.16.0
watchdog==2.1.9
zipp==3.8.1

This is the code I wrote in the file :
def useless_method(self):
    '''
    Some comments...

    === "Python code"
        ~~~python title="Example code"
        # Some python code
        ~~~

    === "Explaination"
        Some explainations ...
    '''

    return (True, True, self.__useless)

... and this is the rendering :

It seems all content in a Tab is converted as a code block, and if I unindent it (dedent, outdent, I didn't find any standard definition for the opposite of indentation) the Content tab is separated in two.

It seems that the bug is fixed, as I have updated a lot of mkdocs related packages :
click==8.1.3
colorama==0.4.5
ghp-import==2.1.0
griffe==0.22.2
importlib-metadata==5.0.0
Jinja2==3.1.2
Markdown==3.3.7
MarkupSafe==2.1.1
mergedeep==1.3.4
mkdocs==1.4.0
mkdocs-autorefs==0.4.1
mkdocs-gen-files==0.4.0
mkdocs-literate-nav==0.5.0
mkdocs-material==8.5.6
mkdocs-material-extensions==1.0.3
mkdocstrings==0.19.0
mkdocstrings-python==0.7.1
packaging==21.3
Pygments==2.13.0
pymdown-extensions==9.6
pyparsing==3.0.9
python-dateutil==2.8.2
PyYAML==6.0
pyyaml_env_tag==0.1
six==1.16.0
watchdog==2.1.9
zipp==3.8.1

So I will close this issue !

Thanks for coming back and closing the issue!


mobile verifier support for showcase credentials

The credentials issued by the showcases (all environments) should work with the mobile verifier templates.
TODO:

Gather the credential definition ids for Person/Lawyer credentials in the DEV/TEST/PROD instances of the showcase
Update proof request templates to accept a credential from any of the showcase environments and/or personas/use-case

I believe I already resolved by https://github.com/bcgov/bc-wallet-mobile/pull/1064


Unable to deploy item downloaded from Azure

Hi,
I have two versions of an item that I added from Azure into Azure Stack ADFS marketplace management. In Marketplace Management, I can see both items and the corresponding version. When I go to Marketplace, I only see one item. Since there is no version info, I don't know which item it corresponds to.
In the connected scenario, step 5 mentions: "To deploy the downloaded item, select + Create a resource, and then search among the categories for the new marketplace item. ".
Does it mean that when we are in Marketplace management page and select the item, we should see "Create a resource" somewhere? In my case, I don't have that option.
Thanks.

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

ID: b5a0e40a-4042-9935-0f59-37eb87ec478e
Version Independent ID: 81e5de2b-da67-e875-405d-65628be05adc
Content: Download marketplace items from Azure
Content Source: azure-stack/operator/azure-stack-download-azure-marketplace-item.md
Service: azure-stack
GitHub Login: @sethmanheim
Microsoft Alias: sethm

@aSmallByte Thanks for the feedback. We are actively investigating and will get back to you soon.

@aSmallByte Are you doing this with the ASDK or with an Azure Stack Multi-Node deployment?
When you download items from Azure, they will appear in the Marketplace Management. You will be able to deploy them from your Azure Stack Marketplace, which is a different area from the Marketplace Management. for example, if you downloaded a VM image, you will be able to select that image from the marketplace when deploying a VM
Most marketplace deployments automatically select the most recent version when you deploy. If the version is not listed, assume it is the highest version number. You can also use Azure Stack PowerShell to view the marketplace items in your Azure Stack for more info.

Hi,
That's what I wasn't sure of, if the item I saw in the Marketplace would be the latest version (and yes I'm using the ASDK).
Thank you for your quick reply.

Hi,
That's what I wasn't sure of, if the item I saw in the Marketplace would be the latest version (and yes I'm using the ASDK).
Thank you for your quick reply.


test(storage): improve integration tests for ReadRange()

This change is

Thanks @devbww can you PTAL, I added some additional tests.


[Relax][OP] More high-level operators

This PR adds more high-level operators:

cumsum,
trilu
cast
take
full
split
broadcast_to
strided_slice
resize2d
adaptive_avg_pool2d

With this PR, the imported UNet / VAE / GPT-2 / ResNet-50 contains only high-level operator calls, with no call_tir.
cc @junrushao @tqchen @YuchenJin @sunggg @jinhongyii @spectrometerHBH
Changes per file

@jinhongyii @spectrometerHBH would be great for you to review


'Tensor' object has no attribute 'conjugate'

Hello, when I run video_demo.py, I meet this problem in feature_extractor.py--
Exception has occurred: AttributeError
'Tensor' object has no attribute 'conjugate'
File "/home/wyz/pythonprojects/AnomalyDetectionCVPR2018-Pytorch/feature_extractor.py", line 69, in dump
features = features / np.expand_dims(np.linalg.norm(features, ord=2, axis=-1), axis=-1)
File "/home/wyz/pythonprojects/AnomalyDetectionCVPR2018-Pytorch/video_demo.py", line 105, in cd3_extartion
features_writer.dump()
File "/home/wyz/pythonprojects/AnomalyDetectionCVPR2018-Pytorch/video_demo.py", line 284, in
dir_list=cd3_extartion(video_parth,device=device)
And how to fix it? Thank you very much.

Merged a branch that fixes this


Proposed Syntax Change to 🍮

✏ Proposed change
Changing 🍮  for variable declarations to 💩 .
🤔 Rationale
💩  is a good candidate to replace 🍮 , because it has the same shape of 🍦 , and is not "frozen".
Pro:
It would give purpose to one of the most popular emojis, and add a lot to the charm of writing in emojicode
Con:
Would be a breaking change that would affect all previous emojicode
🕺Example
🏁 🍇
💩  abc 0
😄  🔡 abc 10
🍉

Also, 💩 is typically warm when fresh, in contrast to 🍦

Right. Closing this as this just appears to be joking to me.

What? It makes a lot of sense. And certainly makes more sense than 🍮.

No, I don’t think it makes any more sense than 🍮. Probably it would make sense for a function like fatalError but I don’t see any connection between 💩 and a variable assignment. Can you name me any expect for that it somehow resembles 🍦which might or might not be a good choice either.


Add str representation to _RequestObjectProxy

This PR changes __str__ to "GET http://example.com/path". It leaves __repr__ unchanged.
You can now quickly do simple assertions like:
self.assertIn("GET http://example.com/path", [str(r) for r in requests_mock.request_history])

It would be nice if _RequestHistoryTracker had functions to easily test for matched URLs, but simply adding legible __str__ helps us get halfway.

Thank you for contributing to openstack/requests-mock!
openstack/requests-mock uses Gerrit for code review.
If you have never contributed to OpenStack before make sure you have read the
getting started documentation:
http://docs.openstack.org/infra/manual/developers.html#getting-started
Otherwise please visit
http://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.

@allardhoeve see https://review.openstack.org/#/c/457510/

Merged, tx


Port to ROS 2

I've started a port to ROS 2.
Following a brief discussion in https://github.com/ros-visualization/interactive_markers/pull/41, I'll outline my plans here. Besides the obvious changes to switch to rclcpp, I plan to make the following changes:

Style refactor + enable common ament linter tests (cpplint, uncrustify, flake8, etc ...)
Use C++11/14 features where appropriate (e.g smart pointers).
Switch from tf to tf2

Specifically, make use of tf2::BufferCoreInterface for looking up transforms.

Add the interactive marker feedback publisher to InteractiveMarkerClient.

Previously handled by RViz.

Replace the "init" topic with a ROS service.

It seems more intuitive for clients to request the full state on demand rather than listening to a latched topic (which may have redundant messages queued).
We can avoid the logic for clients unsubscribing to the topic after receiving the state.
I will prototype a ROS 1 bridge shim to handle the new API.

Replace the use of the KEEP_ALIVE timer with the Liveliness QoS setting.

Seems like a natural use of Liveliness and should remove the existing timer-related logic.

I've completed a subset of the points above and will open PRs soon for visibility/review.
Unless there are objections, I will target my PR to a new ros2 branch of this repository.

Replace the "init" topic with a ROS service.

See https://github.com/ros2/common_interfaces/pull/70/ for the proposed service interface

So, one question that comes to my mind: what if multiple interactive marker servers publish to the same topic? This was supported in the old architecture as far as I remember.
Perhaps its not a feature that is needed though and we can drop it

So, one question that comes to my mind: what if multiple interactive marker servers publish to the same topic?

That's a good question. I guess the service call from a client would only be processed by one of the servers, and the client would filter the feedback topic by the server ID. If consecutive service calls were answered by a different server, then the response could be ignored (or an error reported). If we assume the relationship between clients and servers is many-to-one, then I think the implementation can be simplified a bit.
I don't know if one client to many servers is a common use-case. If we want to support this, we should probably continue to use a topic. IMO, users that want to support multiple servers should instantiate multiple clients (e.g. add multiple interactive marker displays in RVIz).

Yeah, I think I added support for this since it was easy to do with the init topic. But probably not a common use case, and you can just have multiple different topics as you said.
The client would then just need to detect when there are multiple servers on the same topic and refuse to connect.
What happens if multiple nodes advertise the same service, is that even possible?

What happens if multiple nodes advertise the same service, is that even possible?

It is possible. Both servers will receive the request from a client, but only one of the responses is passed back to the client (I think it's whichever arrives first). It looks like this behavior comes from the RMW layer.
Also, I noticed that Fast-RTPS behaves differently than other DDS implementations (Connext and Opensplice); only one of the servers receives the request and it seems to alternate :man_shrugging:

I've requested feedback on discourse.ros.org, so maybe we'll get some input from other community members

@jacobperron MoveIt uses interactive markers for default GUI operation. Would you care to describe the changes you're proposing for interactive markers at the next MoveIt Maintainers Meeting (7/25)?
https://discourse.ros.org/t/moveit-maintainer-meeting-all-invited-july-25th/9899

Would you care to describe the changes you're proposing for interactive markers at the next MoveIt Maintainers Meeting (7/25)?

@IanTheEngineer Sure, I can join the call.

Just to recap the discussion on the MoveIt call revolving around interactive_markers:

No one objected to @jacobperron's proposed interface changes
Transitioning to a service-based model is likely fine for MoveIt's use case
Most of MoveIt's interactive_marker usage is contained in the moveit_ros_robot_interaction package

Thanks for getting buy-in from the MoveIt community, @jacobperron.
One additional (perhaps naive) question - in transitioning to a service request / response model with an additional feedback topic, would an action interface make sense?

One additional (perhaps naive) question - in transitioning to a service request / response model with an additional feedback topic, would an action interface make sense?

I'd considered it, but it seemed a little overkill for interactive markers, e.g.

There's no real sense of a "result" or "cancel" for interactive markers. When a client or server is done communicating they can simply stop / shutdown.
Similarly, we wouldn't get much from the action "status" topic.
There is two-way feedback between the interactive marker client and server. We could make use of the action's feedback topic from server to client, but we'd still need an additional publisher for feedback from client to server.

So, rather than using an action + an extra feedback topic (total 3 services, 3 topics) I've opted for 1 service and 2 topics.

Thanks for the explanation. The reduction in interfaces alone makes the services path more appealing

Done in #44


docker container with webtorrent-hybrid?

Install webtorrent-hybrid is not easy, why not create a docker container with this package installed ?

I'm not very familiar with docker. I know that docker images can be huge, multi-GB file. I'd rather solve this with Electron which has perfect webrtc support.
Expect this to be fixed soon.

ok, I undertand .
BTW, some docker base containers are very small like
https://github.com/gliderlabs/docker-alpine

Hey @juanpabloaj,
I created one for my own use you may find useful: https://hub.docker.com/r/wblankenship/webtorrent/
Built from
# wblankenship/webtorrent
#
# Contains webtorrent-hybrid in a stable envoriment
#
# wrtc is super touchy and fragile, this is an attempt to make running
# webtorrent on wrtc predicatable by containing it and all of its deps in
# a Docker image.
  Not right away, but letting the program run long enough (usually about five minutes), it will eventually seg fault.

@jobevers This is a known issue with wrtc :(

darn.  okay.  well, thanks for saving the the trouble of trying to see if I had something built wrong.

@jobevers yes, as @feross pointed out, it is a Known issue. Much sadness.
I experienced a related issue that I want to capture in this issue incase someone stumbles across it.
I was experiencing a segfault locally 100% of the time when a remote browser connected to webtorrent-hybrid. It was caused by not having the proper system dependencies installed for wrtc. I'm unsure which one was missing, but following the project's readme helped get me on track: https://github.com/js-platform/node-webrtc#prerequisites


To Figure: How to reduce the number of match statements without making the code error prone

To many nested match statements increases the code complexity for no reason

Also, To find the alternative of panic!() macro... It isn't the best way to give errors....


Excessive DNS querues from logstash

After setting up elk-hole, I'm seeing an excessive number of DNS queries coming from my ELK stack, ironically back to my pihole!  Its causing a skewed set of statistics creating 1000's of queries from the logstash process back to DNS server.
The only thing I have running on my logstash collector is the configuration for elk-hole.  I've tried commenting out the dns lines in the config:
#dns {
#  nameserver => "localhost"
#  reverse => ["source_fqdn"]
#  action => "replace"
#  hit_cache_size => 10000
#  hit_cache_ttl => 900
#  failed_cache_size => 512
#  failed_cache_ttl => 900
#}

But this doesn't seem to make any difference.  I've narrowed it down to logstash by simply shutting down the logstash container and the excessive queries cease.
All of the queries appear to be very bizarre reverse DNS looksups that are appending my DNS search domain multiple times, and all result in an NXDOMAIN response:
 "message" => "Jan 30 18:01:19 dnsmasq[590]: 2930 <IP_ADDRESS>/36884 query[A] <IP_ADDRESS>.in-addr.arpa.domain.net.domain.net.domain.net.domain.net.domain.net.domain.net from <IP_ADDRESS>",
In this case <IP_ADDRESS> is an obfuscated address to my ELK stack.

you did restart logstash after commenting out, right?
mh commenting out should prevent elk-hole from trying to resolve the requesting source (as you already did). TBH I dont think elk-hole could be responsible for this especially because you prooved its sourced by logstash.
Looks like there may be a more general problem with dns in your local lan/logstash cfg?

you did restart logstash after commenting out, right?
mh commenting out should prevent elk-hole from trying to resolve the requesting source (as you already did). TBH I dont think elk-hole could be responsible for this especially because you prooved its sourced by logstash.
Looks like there may be a more general problem with dns in your local lan/logstash cfg?

how does your resolv.conf on the logstash host look like?
cat /etc/resolv.conf
#domain unimatrix01.local
#search unimatrix01.local
#nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>

I dont have search domain but my pihole has, so it will get appended anyway.

how does your resolv.conf on the logstash host look like?
cat /etc/resolv.conf
#domain unimatrix01.local
#search unimatrix01.local
#nameserver <IP_ADDRESS>
nameserver <IP_ADDRESS>

I dont have search domain but my pihole has, so it will get appended anyway.

Correct, I did restart after making the changes to the config file.   My logstash instance ONLY handles inputs from the filebeats on my pihole, so I'm baffled by the continuous queries even after I comment out those lines.
My elk stack is containerized so the docker container for logstash is pointing to the docker DNS server and inherits the DNS search domain from my host.  I'm going to play with DNS settings there next and see if getting it to talk directly to the pihole DNS server instead of the docker DNS server makes a difference in the concatenation of search domains.
But either way I'm still seeing 1000+ queries every 10 minutes coming out of the logstash instance when it is receiving logs from the pihole.

Correct, I did restart after making the changes to the config file.   My logstash instance ONLY handles inputs from the filebeats on my pihole, so I'm baffled by the continuous queries even after I comment out those lines.
My elk stack is containerized so the docker container for logstash is pointing to the docker DNS server and inherits the DNS search domain from my host.  I'm going to play with DNS settings there next and see if getting it to talk directly to the pihole DNS server instead of the docker DNS server makes a difference in the concatenation of search domains.
But either way I'm still seeing 1000+ queries every 10 minutes coming out of the logstash instance when it is receiving logs from the pihole.

let me know if you've ruled out specifics in your infrastructure and to give me some time to think about the Potential possibility that elk-hole may be responsible

let me know if you've ruled out specifics in your infrastructure and to give me some time to think about the Potential possibility that elk-hole may be responsible

I rebuilt an ELK stack on a different host and used the exact same versions elk-hole is tested up to (7.9.0)..  Several of the errors I was seeing have gone away (my previous stack was 7.10.2).
Now I'm seeing some different oddities when I re-enable DNS:

"HOST A" on my network will query for a server (e.g., presence.teams.microsoft.com)
When that log entry makes it from pihole --> filebeats --> logstash, the logstash makes the SAME query.

So in effect, there's a duplicate query for every query made on the network now, which makes it appear that logstash is making hundreds to thousands of queries.
The other thing that is odd is on the dashboard, all of the visualizations EXCEPT "requests over time", "Requests vs piholed" and "percent piholed" are showing up with an "ERROR" on them.  When I look at those visualizations directly, it gives me an [esaggs] > Bad Request
Another thing I noticed is that when I imported the ndjson, it created a duplicate index pattern.  If I skip creation of the index pattern and import just the ndjson, the ndjson will create the index pattern, but I still get the visualization error.

I rebuilt an ELK stack on a different host and used the exact same versions elk-hole is tested up to (7.9.0)..  Several of the errors I was seeing have gone away (my previous stack was 7.10.2).
Now I'm seeing some different oddities when I re-enable DNS:

"HOST A" on my network will query for a server (e.g., presence.teams.microsoft.com)
When that log entry makes it from pihole --> filebeats --> logstash, the logstash makes the SAME query.

So in effect, there's a duplicate query for every query made on the network now, which makes it appear that logstash is making hundreds to thousands of queries.
The other thing that is odd is on the dashboard, all of the visualizations EXCEPT "requests over time", "Requests vs piholed" and "percent piholed" are showing up with an "ERROR" on them.  When I look at those visualizations directly, it gives me an [esaggs] > Bad Request
Another thing I noticed is that when I imported the ndjson, it created a duplicate index pattern.  If I skip creation of the index pattern and import just the ndjson, the ndjson will create the index pattern, but I still get the visualization error.

I am seeing the very same thing. A few days ago I updated the logstash config file 20-dns-syslog.conf to be the same as the current version in this repo. This is what I see for Saturday Jan 30, 2021
Logstash server entries in the pihole logs:
346,141
ALL other devices on the network including phones, tablets, macs, PCs, roku, appleTV and so on (≈ 25 clients)
221,954
So that means that my headless server that no one used to browse we made over 300K requests to pihole. All other devices combined for that 24 hours were just over 200K. This is not right.
Is there an unintended loop happening?

I am seeing the very same thing. A few days ago I updated the logstash config file 20-dns-syslog.conf to be the same as the current version in this repo. This is what I see for Saturday Jan 30, 2021
Logstash server entries in the pihole logs:
346,141
ALL other devices on the network including phones, tablets, macs, PCs, roku, appleTV and so on (≈ 25 clients)
221,954
So that means that my headless server that no one used to browse we made over 300K requests to pihole. All other devices combined for that 24 hours were just over 200K. This is not right.
Is there an unintended loop happening?

Now I'm seeing some different oddities when I re-enable DNS:

"HOST A" on my network will query for a server (e.g., presence.teams.microsoft.com)
When that log entry makes it from pihole --> filebeats --> logstash, the logstash makes the SAME query.
So in effect, there's a duplicate query for every query made on the network now, which makes it appear that logstash is making hundreds to thousands of queries.

Yes, thats expected while using the geoip plugin. We may should enable geoip caching, by just commenting out the the cache_size here:
/etc/logstash/conf.d/20-dns-syslog.conf
if [domain_request] {
        geoip {
          cache_size => "10000"
          source => "domain_request"
        }
      }

If I'm right, this should significantly decrease the amount of queries logstash is actually sending to pihole.
So that means that my headless server that no one used to browse we made over 300K requests to pihole. All other devices combined for that 24 hours were just over 200K. This is not right.
is this really a new behavior or could it be you have had that before?

Now I'm seeing some different oddities when I re-enable DNS:

"HOST A" on my network will query for a server (e.g., presence.teams.microsoft.com)
When that log entry makes it from pihole --> filebeats --> logstash, the logstash makes the SAME query.
So in effect, there's a duplicate query for every query made on the network now, which makes it appear that logstash is making hundreds to thousands of queries.

Yes, thats expected while using the geoip plugin. We may should enable geoip caching, by just commenting out the the cache_size here:
/etc/logstash/conf.d/20-dns-syslog.conf
if [domain_request] {
        geoip {
          cache_size => "10000"
          source => "domain_request"
        }
      }

If I'm right, this should significantly decrease the amount of queries logstash is actually sending to pihole.
So that means that my headless server that no one used to browse we made over 300K requests to pihole. All other devices combined for that 24 hours were just over 200K. This is not right.
is this really a new behavior or could it be you have had that before?

I updated my config on Jan 26 and then reverted it today. Notice the change in volume over the last 7 days. Logstash goes from a few thousand a day to hundreds of thousands per day. I will try to figure out if it's just duplicating the DNS queries that the other clients did.

I updated my config on Jan 26 and then reverted it today. Notice the change in volume over the last 7 days. Logstash goes from a few thousand a day to hundreds of thousands per day.

Do you have a diff of both cfg files? Which was the old version in your case?

please filter your output to only requests and not everything from your logstash host like so:
source_fqdn.keyword :"logstashhost.domain" and tags.keyword : "request and query type"

I'll circle back and play with some of these settings as time permits.   I've been exploring another option of trying to use packetbeats to gather the data.  I've been able to get the data into ELK that tells a similar story (at least when looking through it in the Discover panel) as the filebeat log tail.
With your permission, I'd like to form your dashboards and visualizations and try and tune them to display the same info based on packetbeats?

From: 9S<EMAIL_ADDRESS>Sent: Monday, February 1, 2021 5:10 AM
To: nin9s/elk-hole<EMAIL_ADDRESS>Cc: rsf123<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [nin9s/elk-hole] Excessive DNS querues from logstash (#44)
please filter your output to only requests and not everything from your logstash host like so:
source_fqdn.keyword :"logstashhost.domain" and tags.keyword : "request and query type"
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnin9s%2Felk-hole%2Fissues%2F44%23issuecomment-770739240&data=04|01||6276749a06344daa8cab08d8c699a4b8|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637477710489159824|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=RMdphSzgBVul%2BMLpRKeJjYT1IAIYNeFfl3Tby8ZlG5Q%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAOPCVWCBRFA6H5SIZ2MFX4DS4Z42NANCNFSM4W2RB6BA&data=04|01||6276749a06344daa8cab08d8c699a4b8|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637477710489159824|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=uN7Y5pieJk451STZ6FAanrYnNu3EALRXMP893GVcgLU%3D&reserved=0.

I applied the query you asked for. The large bars are the "new" config here in the repo and the small ones are my older setup. I suspect the issues lie in the complex if/then/else logic which is causing logstash to duplicate the client queries.

So I tried to uncomment the geoip caching and it didn't make any difference.
@aviationfan any chance you can share the earlier version of the config file you're using?  I'd like to see if it also fixes the issue on my end.

So I tried to uncomment the geoip caching and it didn't make any difference.
@aviationfan any chance you can share the earlier version of the config file you're using? I'd like to see if it also fixes the issue on my end.

did you also comment the whole section?
if [domain_request] {
        geoip {
          cache_size => "10000"
          source => "domain_request"
        }
      }

Here is the conf file I am using with the extension txt added for safe upload.
20-dns-syslog.conf.txt

As @aviationfans upload prooves the issue definetely sources from the geoip looking up domain names (and not only ips).
I'll will file a PR. For the time being delete every occurance of the geoip block in the file with the following two:
  if [ip_response] {
        geoip {
          cache_size => "10000"
          source => "ip_response"
        }
      }

	   if [ip_request] {
        geoip {
          cache_size => "10000"
          source => "ip_request"
        }
      }

@rsf123 can we close this?

@nin9s i realize this is closed, but was a PR filed already? i have the current master and i'm seeing the same issues. checking before i manually edit my config.

Not sure as I'm on mobile right now but you can adapt the configuration file according to my last post above and it should work as expected.
Could you try and confirm if it's working for you please


[FIX] getRenderedHtml

Newly created page will return page not found error, also SEO module shall check draft page

Codecov Report

Merging #27 into master will not change coverage.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master      #27   +/-   ##
=========================================
  Coverage     33.63%   33.63%
  Complexity      175      175
=========================================
  Files            16       16
  Lines           449      449
=========================================
  Hits            151      151
  Misses          298      298

Impacted Files
Coverage Δ
Complexity Δ

src/Extensions/PageHealthExtension.php
0% <0%> (ø)
7 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Maybe an alternative approach would be to create a separate controller just for rendering this content.

Actually a better idea might be to just pass through the PHPSESSID when fetching the URL, which should get a response for the logged in user. That would be a lot better. This might help

@jonom guess separate controller will be better than passing PHPSESSID cuz some harden security servers check pair PHPSESSID + IP

Thank you


Shows yellow for any amount of a single character entered

For example if I type in 64 "A" they will all by yellow. But there are not 64 A's in the sha256. To follow Wordle convention there should only be as many yellow tiles as there are that character in the sequence. Then the rest should be black or whatever color is chosen as not being in the sequence.

Thanks, it seems to be corrected.

@Keftcha looks like an off-by-one or something like that:

And from the way things are going...

...I suspect all are counted at one too few.


PTX-14940 Update go version to 1.19

Update go version to 1.19 and all the required vendor packages
Signed-off-by: nikolaypopov<EMAIL_ADDRESS>

Started torpedo job here https://jenkins.pwx.dev.purestorage.com/job/Torpedo/view/Torpedo NextPX/job/tp-nextpx-op-security/891/console, it might fail with unrelated issues, but it seems to be having no issues with running tests as far as I can tell


How to get started with open source?

Hi sir,
Please tell as to how a beginner can get started with open source ?
Its very overwhelming to start contributing to big projects and so, please let us know as to how we as beginners can get started with it.
Thanks in advance.

Let me be honest with you Raghav. I haven't done a lot of open source myself. I started very recently and I'm still figuring out stuff. I really want to answer this question well and bring value to it. Please give me some time to figure it out. I'll make a video about it.

Let me be honest with you Raghav. I haven't done a lot of open source myself. I started very recently and I'm still figuring out stuff. I really want to answer this question well and bring value to it. Please give me some time to figure it out. I'll make a video about it.

Let me be honest with you Raghav. I haven't done a lot of open source myself. I started very recently and I'm still figuring out stuff. I really want to answer this question well and bring value to it. Please give me some time to figure it out. I'll make a video about it.

Okay no problem tanay, thanks for the reply, you are doing a great job guiding beginners like me.

Closing the issue as you answered the question on Instagram. Thanks a lot, looking forward to contribute to the repository you will create to help us get started with opensource. Can't wait to star it and see that contribution chart on my profile which just have commits and issues till now :P.


Marge similar path animation function.

Hi, thanks for awesome plugin. it is amazing, just wondering is there a way to merge 2 similar animation in one function, like I have created this Example , this car has two tyres and both has similar path and animation, can we DRY this up?
I know in this example it wont make difference but can be useful in complicated drawings.
Thanks a lot.

I can use same id.


Th3

Fixed the build so skia compiles directly now, without a separate build step. We should be able to read jpeg, png, gif, and webp images.


Custom html error

Hello,
I am using Vue-CLI 3 in which I have imported the VUE LBD template from Creative Tim. Everything seems to work fine except for notifications.
The following works:
      this.$notifications.notify({
        message: 'Welcome',
        icon: 'nc-icon nc-app',
        horizontalAlign,
        verticalAlign,
        type: this.type[color],
      });

while the following returns a "You are using the runtime-only build of Vue where the template compiler is not available. Either pre-compile the templates into render functions, or use the compiler-included build." error...
      this.$notifications.notify({
        component: {
                template:' Go to google'
         },
        icon: 'nc-icon nc-app',
        horizontalAlign,
        verticalAlign,
        type: this.type[color],
      });

Any advice would be welcome
Sylvain

You need to pass a Vue Component, not a string. Check out the jsfiddle demo


Updated Android plugin for Gradle

Updated Android plugin for Gradle and removed android.buildToolsVersion parameter as it is optional from now on.
https://androidstudio.googleblog.com/2017/10/android-studio-30-beta-7-is-now.html

Incorrect user email set. Created https://github.com/googlecodelabs/android-backup-codelab/pull/2 with correct email. Closing that one.


Custom data to svg dom

could I add custom data like data-user property to the svg dom like this?
const leaderLineOptions = {
  "data-user": 'my_user_id'
};
new LeaderLine(start, end, leaderLineOptions);

You can add the user-data property to both an instance of LeaderLine and a SVG element.
See: https://github.com/anseki/leader-line/issues/18

        const line = new LeaderLine(fromSpanDom, toSpanDom, leaderLineOptions);
        line.id = `my_id`;
        line["data-user"]= `my_user`;

Seems not working.

As I said, you can access it via document.querySelector('.leader-line').
And it is not recommended and not supported.

So custom user-data property is not able to attach to svg dom currently?

You can add any property to a SVG element.
For example:
const elm = document.querySelector('.leader-line');
elm.id = 'my_id';
elm.setAttribute('data-user', 'my_user');

This behavior has no relation with LeaderLine.

OK, i got it. Thanks

:smile:


logging: Add configuration for blue DBG log

It's usual to show debug logs as blue.
Showing dbg and info with different colors are good, but it's preferable to keep info logs with default color.
I also adapted the corresponding test.

@dcpleung I fixed the issues from CI, everything is green except review now ;)

+1 but maybe it shouldn't default to y to be consistent with how it works for INFO logs

Alright.


Fix compare page with non-field models in base_form_class

Fixes #3737
Detail

When using a custom form class and overriding a page model's base_form_class, often the use case is to add some field that is not stored on the actual model, just shown in the new/edit view.
When comparing revisions, we would try to compare these non-model fields from previous revisions causing an error because the field did not exist.

Checklist

Added testing for this specific issue
Linting and tests pass
No additional feature, no docs needed

ping @BertrandBordage - it looks like #3810 may have broken the ability to use non-model fields in FieldPanels, since the model lookup now happens in on_model_bound (and thus fails during startup, rather than just in the comparison view as addressed in this PR). I guess the fix is to implement db_field as a cached property instead, so that it gets evaluated lazily...

Now rebased at #4470


JsonApi relationships data accessible from attributes now.

relationships data was not available, so with Her::JsonApi::Model is
not possible to create relations between models.

Thanks for this @mehmetdavut - we're still getting up to speed with reviewing all the PRs but will get to this one asap.

Any reason this isn't merged? Seems like a vital point to be able to access relations when using JSON:API


Create dapr runtime docker image separately

Description
Create dapr runtime image separately.

Create daprd image including only daprd binary
Keep daprd in dapr image for the backward compat.

Next PR:

change operator to pull daprd image.

Issue reference
#633
Checklist
Please make sure you've  completed the relevant tasks for this PR, out of the following list:

[x] Code compiles correctly
[ ] Created/updated tests
[ ] Unit tests passing
[x] End-to-end tests passing
[ ] Extended the documentation
[ ] Specification has been updated
[ ] Provided sample for the feature

Image has been validated using my dockerhub.

https://hub.docker.com/repository/docker/youngp/daprd
https://hub.docker.com/layers/youngp/dapr/dev/images/sha256-b70a818279ab5c1c7999fe75c1e06e9030d6d845361766e110b565f5f2e566ba?context=repo


Unable to open blob file from a specific storage account

This was working fine until a couple weeks ago and then the main account i interact with started throwing errors saying every time i went to open a file: Unable to resolve nonexistent file 'azurestorage:/integrations-mappings/BB_Infor_Shipment_Shopify_Fulfillment.j2
Other storage accounts in my subscription work just fine, and I am really the only one who uses the trouble account so as far as i know nothing has changed with it recently. I have tried uninstalling and reinstalling the extension with no change.

I'm experiencing the same issue, some blobs/files within the container will open just fine, issues seems to relate to files loaded after clicking Load More... full error below. Aside from not working, saving files seems to have got excruciatingly slow!
cannot open azurestorage:/ABC/XYZ.json?resourceId%3D%2Fsubscriptions%2Fxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx%2FresourceGroups%2FZZZZZ%2Fproviders%2FMicrosoft.Storage%2FstorageAccounts%2FXXXXX%2FBlob%20Containers%2FABC Detail: Unable to read file 'azurestorage:/ABC/XYZ.json?resourceId=/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/ZZZZZ/providers/Microsoft.Storage/storageAccounts/XXXX/Blob Containers/ABC' (Error: Unable to resolve nonexistent file 'azurestorage:/ABC/XYZ.json?resourceId=/subscriptions/xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/ZZZZZZZZ/providers/Microsoft.Storage/storageAccounts/XXXX/Blob Containers/ABC')

Thanks!

Attempting to view the container in VS Code via the  Open in Explorer... results in a different presentation of an error.
The full container filelist is loaded, as above, recent files work, older files present the error below.

Attempting to view the container in VS Code via the Open in Explorer... results in a different presentation of an error. The full container filelist is loaded, as above, recent files work, older files present the error below.

@stevenjh I think I understand the issues you mention in your first comment. However, could you provide detailed steps on how to reproduce the issue you encountered directly above?

@alexweininger sure thing!

Open VS Code
navigate to the storage container, click Open in Explorer...

VS Code will reload with the container opened in the EXPLORER section
click on a 'broken file' (seems to be older files), receive the error above.

ps. just want to reiterate that it seems much slower than it used to be.
Thanks!

Thanks for the detailed steps. These issues are probably related to #1222.
You can revert to the previous version of the Storage and Resources extensions to fix these issues. How to do that
Unfortunately our latest release caused regressions related to opening blobs/file shares in VS Code.

Thanks for monitoring the issue and steps to revert, this has things back up and running and resolves the performance issues I was referring too. Cheers!

So rolling the storage extension back should fix my issue for the time being as well?

Since this issue is very similar to #1222 and has the same workaround I will close as a duplicate. Please follow #1222 for updates.


Change Return Type in selectWith() method

Change Return Type of selectWith() method
Provide a narrative description of what you are trying to accomplish:

[x] Are you fixing a bug?

[x] Detail how the bug is invoked currently.

phpstan raises an error saying that ResulSetInterface has no method current().

[x] Detail the original, incorrect behavior.

The selectWith() method has defined the @returnType as ResultSetInterface.
The method calls the method executeSelect(), which returns ResultSet.
The return types should be the same.
removes also the @throws flag as it doesn't throw an exception itself, but just the called methods.

[ ] Detail the new, expected behavior.

[ ] Base your feature on the master branch, and submit against that branch.

[ ] Add a regression test that demonstrates the bug, and proves the fix.

[ ] Add a CHANGELOG.md entry for the fix.

[ ] Are you creating a new feature?

[ ] Why is the new feature needed? What purpose does it serve?
[ ] How will users use the new feature?
[ ] Base your feature on the develop branch, and submit against that branch.
[ ] Add only one feature per pull request; split multiple features over multiple pull requests
[ ] Add tests for the new feature.
[ ] Add documentation for the new feature.
[ ] Add a CHANGELOG.md entry for the new feature.

[x] Is this related to quality assurance?

[ ] Is this related to documentation?

May be use then AbstractResultSet in lieu of ResultSet ?

selectWith() can return HydratingResultSet, so AbstractResultSet is better.

Then select(), selectWith() and executeSelect() should all return AbstractResultSet.
Right?

Why AbstractResultSet? Compare with:
https://github.com/zendframework/zend-db/blob/adfe190ed0e6558d83558f7f68abfd7ccfda1e26/src/TableGateway/AbstractTableGateway.php#L58-L61
https://github.com/zendframework/zend-db/blob/adfe190ed0e6558d83558f7f68abfd7ccfda1e26/src/TableGateway/AbstractTableGateway.php#L109-L111
https://github.com/zendframework/zend-db/blob/adfe190ed0e6558d83558f7f68abfd7ccfda1e26/src/TableGateway/AbstractTableGateway.php#L241-L248

missing use statement:
use Zend\Db\ResultSet\AbstractResultSet;

@froschdesign how about using @var ResultSetInterface| AbstractResultSet for $resultSetPrototype property ?

@froschdesign
indeed, not consistant!
What do you propose?

@samsonasik Zend\Db\ResultSet\AbstractResultSet implements Zend\Db\ResultSet\ResultSetInterface, it's better to use this interface as return type.
@lowtower can you propose a new PR chaning all the types to ResultSetInterface? Thanks!
I'm closing this PR in favor of a new one.


Fix inconsistencies for HRTIM_TIMF

Aims to solve #847
Not really familiar with svdtools or even yaml for that matter.
Tested against modified stm32g4xx-hal for stm32g474 and atleast it seems to compile

Hopefully solved in #847

Is there anything else I should fix? :)

I have now fixed my last TODO. I have also been using this for a while and it seems to be working as far as I can tell.
Let me know if there is anything else :)

@burrbull or anyone else, do you want me to rebase on top of latest stm32-rs/master or do you prefer to avoid force pushing until later?
Anything else to change/do differently?

Looks good, thank you and sorry for the wait!

Looks good, thank you and sorry for the wait!

Sorry, first time contributor here :)
Do I need to do something here like fix the changelog conflict, or what does the Auto in Auto-merge mean? :)

Looks good, thank you and sorry for the wait!

@adamgreig am I supposed to fix the merge conflict or is there anything else I am expected to do?

Oh no, sorry! I enabled auto-merge and fixed the merge conflict but didn't remember to click 'approve', so I expected this to just get merged. Nothing for you to do, I'll fix up the new conflict and merge it.

Thank you! :)


Use implicit-hie cradle for multi cradle config

People routinely get confused when writing a hie.yaml. implicit-hie can generate correct hie.yaml files or in this case hie-bios Cradles for almost all stack and cabal projects. It's failures are graceful; ghcide will still work on most files, and where it does not the hie-bios no cradle matched error message is decipherable.
It has very few dependencies, in the future it may use cabal-parsers to handle common stanzas and conditionals, but this dependency would be behind a flag if ghcide uses implicit-hie.
This is the exact same issue as https://github.com/haskell/haskell-language-server/pull/138 and https://github.com/haskell/haskell-language-server/issues/38, but for ghcide.

Over time the plan is to tell more and more people to use HLS, and consider Ghcide to be a dependency to that. I'd be inclined to update the docs to suggest running implicit-hie manually for users, and to suggest using HLS, but keep Ghcide more "pure". However, that's just my view, others may feel differently.


Dynamic ENV with Instance Query

Description
New sample with usage of instance query.
Fixes # (issues)
New samples # Instance with dynamic query
Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

How Has This Been Tested?

[x] Free Tier
[x] Always Free
[x] Paid

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] Updated/Sorted AIO.md file
[x] My changes generate no new warnings.
[x] All the sensitive informations are masked or removed.
[x] All the links mentioned are valid and tested.
[x] Image names are seperated only with '-'.
[x] Added instruction to clone only this sample and links to other common sample pages.

thank you @saparaj


List all available options from codegenerated Enum of type EnumPersistable

Describe the bug
I am not able to list or iterate through all available options inside of a codegenerated enum. On Android, I am able to do enumName.values() but I couldn't find anything similar on iOS.
If there's a way to get all values inside an enum as a list without hardcoding each value, please let me know. Our schema has quite a few enums so I want to avoid hardcoding everything.
I am pretty sure that standard (swift) enums can be turned into a list by doing enumName.allValues.
Sample enum:
public enum Sex: String, EnumPersistable {
  case female = "FEMALE"
  case male = "MALE"
  case other = "OTHER"
}

Right now, I am using an extension to account for all values for Enums that I want to list out. But it is far from ideal because I have quite a lot of Enums to use from the schema.
Approach by hardcoding all cases
extension Sex {
    static var allValues: [Sex] {
        var allValues: [Sex] = []

        switch Sex.male {
        case .male: allValues.append(.male); fallthrough
        case .female: allValues.append(.male); fallthrough
        case .other: allValues.append(.male)
        }

        return allValues
    }
}

Steps To Reproduce
Steps to reproduce the behavior:
1. Try to list out all available values inside of an enum (generated by Amplify) as a list

Expected behavior
There should be a way to dynamically access a list of all values, similar to android.
Amplify Framework Version
1.25.0
Amplify Categories
API
Dependency manager
Swift PM
Swift version
5.0
CLI version
8.4.0
Xcode version
13.3.1
Relevant log output
No response
Is this a regression?
No
Regression additional context
No response
Device
iPhone 12 Pro
iOS Version
15.4
Specific to simulators
No response
Additional context
No response

You're absolutely right, sorry about that mixup.
Here's a quick and dirty script that you can run from the project root directory after running amplify codegen models. It will look for any enum models in your amplify/generated/models/ directory and add CaseIterable conformance in that file.
#!/bin/bash

FILES="amplify/generated/models/*.swift"
for f in $FILES
do
  echo "Processing $f file..."
  awk '/public enum [^CodingKeys]/ {gsub($0, "extension " $3 " CaseIterable {}"); print "\n" $0}' $f >> $f
done

I hope that helps.


Don't print info messages from requests library

Basically do what I failed in the 4th episode(http://www.youtube.com/watch?v=rkb-Gh-lc3E&index=5&list=PL18yrUuMk-zlzpea3En7GRZLvFn7WNK0H)
info messages from requests lib => not ok
info messages from other modules => ok

Adding logging.getLogger("requests").setLevel(logging.WARNING) to cralwer supresses request info messages.

Thank you for contributing!


Speed up Q20 paramgen query

I attempted to speed up the Q20 paramgen query in 76f41c5d69cfe47bb6fe907fffa0563712898c95.
However, this resulted in excessive memory consumption.
A good trick would be to add temporal attributes to the sameUniversityKnows factor table in the datagen, i.e. its schema should be:
person1id, person2id, creationDate, deletionDate

where
creationDate = max(knows.creationDate, studyAt1.creationDate, studyAt2.creationDate)

and
deletionDate = max(knows.deletionDate, studyAt1.deletionDate, studyAt2.deletionDate)

Fixed by 340ba41b4f6a2dd580710bc081651fc786701978


remove authorization from "by_namespace" when scope change to workload

As described in https://github.com/istio/ztunnel/issues/1247
The root cause of this bug is that Authorization not removed from 'by_namespace' when change to workload scope.

Hi @xocodergit. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@howardjohn @bleggett Thank you for your review, unit test added.

Apologies for the late review here, I didn't think it through enough on my initial review. How we avoid this in the rest of the code (workload/service) is to make "insert" do "remove + insert". WDYT of doing similar here?
diff --git a/src/xds.rs b/src/xds.rs
index c9ebefe..d7a7e60 100644
--- a/src/xds.rs
+++ b/src/xds.rs
@@ -273,12 +273,15 @@ impl ProxyStateUpdateMutator {
     pub fn insert_authorization(
         &self,
         state: &mut ProxyState,
+        name: Strng,
         r: XdsAuthorization,
     ) -> anyhow::Result<()> {
         info!("handling RBAC update {}", r.name);

         let rbac = rbac::Authorization::try_from(r)?;
         trace!("insert policy {}", serde_json::to_string(&rbac)?);
+        // Remove the policy to clean up any old state, then add it back
+        state.policies.remove(name);
         state.policies.insert(rbac);
         Ok(())
     }
@@ -385,7 +388,7 @@ impl Handler<XdsAuthorization> for ProxyStateUpdater {
         let handle = |res: XdsUpdate<XdsAuthorization>| {
             match res {
                 XdsUpdate::Update(w) => {
-                    self.updater.insert_authorization(&mut state, w.resource)?
+                    self.updater.insert_authorization(&mut state, w.name, w.resource)?
                 }
                 XdsUpdate::Remove(name) => self.updater.remove_authorization(&mut state, name),
             }

something like this

Apologies for the late review here, I didn't think it through enough on my initial review. How we avoid this in the rest of the code (workload/service) is to make "insert" do "remove + insert". WDYT of doing similar here?
diff --git a/src/xds.rs b/src/xds.rs
index c9ebefe..d7a7e60 100644
--- a/src/xds.rs
+++ b/src/xds.rs
@@ -273,12 +273,15 @@ impl ProxyStateUpdateMutator {
     pub fn insert_authorization(
         &self,
         state: &mut ProxyState,
+        name: Strng,
         r: XdsAuthorization,
     ) -> anyhow::Result<()> {
         info!("handling RBAC update {}", r.name);

         let rbac = rbac::Authorization::try_from(r)?;
         trace!("insert policy {}", serde_json::to_string(&rbac)?);
+        // Remove the policy to clean up any old state, then add it back
+        state.policies.remove(name);
         state.policies.insert(rbac);
         Ok(())
     }
@@ -385,7 +388,7 @@ impl Handler<XdsAuthorization> for ProxyStateUpdater {
         let handle = |res: XdsUpdate<XdsAuthorization>| {
             match res {
                 XdsUpdate::Update(w) => {
-                    self.updater.insert_authorization(&mut state, w.resource)?
+                    self.updater.insert_authorization(&mut state, w.name, w.resource)?
                 }
                 XdsUpdate::Remove(name) => self.updater.remove_authorization(&mut state, name),
             }

something like this

👍 i think this implementation(remove, then insert) is better, consistent, and much more simpler. but I prefer to consider that keeping policies in the right indexes is the responsibility of PolicyStore, what do you think if we do remove in PolicyStore.insert?

Yeah I don't mind that, we just need to pass the XDS name further. Note the XdsUpdate.name and Authorization.name are not the same thing

/ok-to-test

@xocodergit: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
0233de58e4a1461b08f6493022515592449a0e6d
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@xocodergit: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
146c916b49c5ff8c64c8c1de4a7dbe8c8f70093c
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@xocodergit: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:
Test name	Commit	Details	Required	Rerun command
test_ztunnel	146c916 link	true	/test test

@istio-testing /retest-required

/test test

@istio-testing /test test

@xocodergit: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
146c916b49c5ff8c64c8c1de4a7dbe8c8f70093c
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@istio-testing /test test

@xocodergit: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
a2f9af95d187af65515a90f7de20aa9fa1e8b18f
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@istio-testing /test test

@xocodergit: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

test_ztunnel
2ad11d4e31ab84612483effcae54e03f8e5164be
link
true
/test test

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here.

@istio-testing /test test


document supported algorithms

Fixes: https://github.com/NuGet/docs.microsoft.com-nuget/issues/1489

Docs Build status updates of commit 7f994fa:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/reference/cli-reference/cli-ref-sign.md
:white_check_mark:Succeeded
View

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.


STYLE: Improve the first interaction message style

Improve the first interaction message style:

Remove the section header markup (#) and avoid an excessively large
font/avoid making the interaction message prevail over the issue/PR
text itself.
Use the YAML literal block style syntax (|) and remove the newline
explicit markup.

PR Checklist

[X] No API changes were made (or the changes have been approved)
[X] No major design changes were made (or the changes have been approved)

Before:

After (intended):

Thank you @jhlegarreta !


Amazon-AWS-EC2-Tags

Added create tag operation.
Signed-off-by: Mihail-Cristian Tusa<EMAIL_ADDRESS>

@gituser173  Please review it!

please add unit tests

@gituser173 Added unit tests.


[iOS] Broken rule should yield "open", not "false"

Description
When a rule is broken (e.g. features an undefined variable), the verifier app on iOS yields a failed status for this rule.
Expected behaviour
The status of the rule should be OPEN (as it is in the Android version)
Steps to reproduce the issue
This can be reproduced scanning a valid vaccination DCC and verifying for Switzerland.
VR-CH-0004 and VR-CH-0006 contain a reference to "var":"external.validationClockAtStartOfDay" which does not exist.
Technical details
Reproduced with ACC backend

@chrloch any idea how to test this issueon an other way? The reference to "var":"external.validationClockAtStartOfDay" doesn't exist in the Switzerland Rules (on ACC)

I can create a broken rule for the DX country again.

This would be good when @ihorkhomyak or @ivlasov implemented a fix for that issue.

@chrloch can you retest this issue or provide a broken rule for testing

I don't have an iOS device but I have created a broken rule to become effective in two days:
[rule service acc] /rules/DX/2b77f485a984ae9fb52a14b8ba4bf52948f9948c6a6bf3b3d0c15f052b7b6263

Seems issue is fixed now with verifier <IP_ADDRESS>(12)


Break the Project into Sub Projects

This project is nice but it really should be 3 projects not one.
OauthV2
Utilities
CRM
I am working on interfacing to Books and Inventory.  So the OauthV2 and utilities will work the same.  But you made it had to use this library across your entire platform when the API is basically the same.  So I would like to see this project split so I dont have a standalone project for books, but one that is tied back to a Oauth and Utilities maintained her.
Furthermore, If one is interfacing several ZOHO apps the authentication doesnt need to be separate based on that it is really a permissions issue then.  So one would not want redundant copies of code but a central authenticator library and then Books , CRM, Inventory, etc as separate projects that use the authenticator as a driver to communicate through the api.

Effectively that is what you do in the class RecordOperations.  Where public APIResponse GetRecord(long? id, ParameterMap paramInstance, HeaderMap headerInstance) grabs the API Handler and calls out what is being looked for. So to clarify.
What i am requesting is that the comms being OauthV2 and driver related materials like API Handler be separated out into a referenced project.  Since that is really a different project that is a connector to the zoho api.  Then the CRM Data is the app specific data behind the api.

I just broke out the Oauth and Utilities from this.  The way you have this setup with the  public APIResponse APICall is going to have to be modified since i see there is a converter code that interprets the module.  That probably is going to need moved to the Response Handler and pass the module or app specific converter into the function

I pulled this out and th suggestion is valid.  But there is a decision to be made either the Converters need passed into the Oauth Project when seperated or the Converter needs to stay on the Data Model Side, just pass back the HTTP Response.  Then the existing books and CRM apis already written will work with little modification.  Unless you prefer to just pass the JSONDetails into the API Call.
That area i am a little weak, i know the method used in the books api much better than the JSON config file.

@rjs5327  Please get in touch with<EMAIL_ADDRESS>for further updates. We will follow up on this request, over there.
Thanks!