Add option for inline quests for city state partial screen

Addresses #176
This simply adds an option in CQUI menu to show inline quests for city states instead of hiding them behind a tooltip. I tried to size the whole thing so that no overall space is lost. If you feel this is too cramped, more space could be allocated, but I think it is neat as it is. If the quest is solved, the string is hidden until a new quest appears.
Logic:
If option ON: Hide Quest Icon, Show Quest string
If option OFF: Show Quest Icon, Hide Quest string
Tested:
Base, XP1, XP2
Screenshots:
Option ON:

Option OFF:

Base:

Long quest:

Settings Menu:

@alexeyOnGitHub is there a setting that can be set that would allow @Swarsele to branch from our repo?  A lot easier to review and test changes when we're just going with the branch instead of cross repo...
Also, I dig it.  Should "Quests:" be there?  Haven't looked enough at the code to see how important it might be for spacing, etc.

The height of the space for the quest details should be much bigger, definitely no overlapping is allowed. This change requires a bit of redesign in the .xml, cannot be done just by forcing a text into the little that is there atm.
That also means that making it tog-gable would be more difficult i.e. a dynamic change of heights of some controls is needed.

@the-m4a Actually, the way it works atm is wrong, because it is possible for 1 person to make change changes in the PR, approve them and merge the PR. Effectively bypassing the entire review system.
I am not sure if other people can simply create branches or cannot, I assume they can. If they can, then they should do so, instead of forks. But sometimes people just want to use forks which also has its advantages.

I am no too versed in GitHub yet, if there is a better way to do things, just tell me. At this point I'm still happy to make anything work really.
@Infixo what do you not like? The icons overlapping the city state name? I think I can manage to avoid that. Also, is there a method that can resize a xml container?
@the-m4a The "Quests:" can easily be removed, I jus tour it there because it aligned neatly with the city state icon. Let me just sketch up a new version

Just look at the screenshot in #176 and compare with the ones in here. The readability and quality of the former one is superior.

I am using some modules from CUI and especially CityStates, because of 3 things: easy access to quest info, more info on the screen (see all CSs basically) and a neat overview at the bottom.

I would really like to keep the vertical spacing that is currently used, so that we don't waste space.

In Polish we say "you can't eat a cookie and have a cookie at the same time". You can't have neat and readable Quest line and squeeze into the space there, because virtually there is no space there. You need to make it.

Alright, what about this:

I could not find any inspiration that is long enough to cause an overlap

anyone can clone this public repo and create branches, but they won't be able to push them back to this repo unless they have "write" access, which is currently given through "civfanatics-cqui" and "civfanatics-admins" orgs. this is done to protect the repo from people who are not familiar with the code and/or github (yet), to prevent potential accidents.
any pull request needs to be approved by at least one person with "write" access before it can be merged.
I think it is reasonable to invite a developer to "civ fantatics-cqui" once they submit a few PRs of acceptable quality.

I loaded this up, and my initial thought is that the text is really small.  The militaristic city states, especially, make it tough to see that red text on the black background.  That said, I do like having that information at the immediate ready without having to mouse-over or whatever, but this just feels so crowded?
I'm open to ideas.  I tried playing around with the vertical size and some of the offsets to see what a larger Y-size would give, along with a size 10 or 11 font.  This... works, I guess, but leaves a lot of empty space when there's no quest, so there may be better ideas.  For example, this expands the sizeY from 48 to 56, and shifts the various pieces upwards to allow for the quest text with size 10 font.  (Again, not saying this should be the solution, just an idea for discussion):

The instance chunk for reference (as multiple lines were changed):
    <Instance Name="CityStateRowInstance">
        <GridButton ID="CityStateBase" Size="parent,56" Style="SubContainer4" Color="59,62,63,255">
            <BoxButton ID="Button" Anchor="L,C" Offset="8,-2" Size="40,40" Color="0,0,0,0">
                <Image ID="Icon" Anchor="L,C" Size="36,36" Texture="CivSymbols36" />
                <Image ID="DiplomacyPip" Anchor="L,B" Offset="-10,-6" Size="23,23" Texture="Diplomacy_RelationshipPips" />
                <Label ID="QuestIcon" Anchor="L,T" Offset="-9,0" String="[ICON_CityStateQuest]" Size="28,28" />
            </BoxButton>

            <GridButton ID="NameButton" Offset="42,11" Size="126,33" Texture="Controls_CityBannerSmall" SliceCorner="14,9" SliceSize="5,4" SliceTextureSize="33,28" Color="50,50,50,255">
                <Label ID="NameLabel" Anchor="C,C" Offset="0,-2" Style="FontFlair11" SmallCaps="16" SmallCapsStyle="EveryWord" String="Name" />
            </GridButton>

            <Image ID="Envoy" Anchor="L,C" Offset="190,-2" Size="40,40" Texture="Controls_CircleRim40">
                <Button ID="EnvoyLessButton" Anchor="L,C" Offset="-6,-2" Size="34,34" Texture="Controls_Stepper" AnchorSide="O,I" FlipX="1" />
                <Button ID="EnvoyMoreButton" Anchor="R,C" Offset="-6,-2" Size="34,34" Texture="Controls_Stepper" AnchorSide="O,I" />
                <Label ID="EnvoyCount" Anchor="C,C" Offset="-1,1" String="0" Style="FontFlairLua" Color="160,160,160,240" />
            </Image>

            <Image ID="BonusImage1" Anchor="L,C" Offset="256,-2" Size="29,46" Texture="CityState_BonusSlotOff">
                <Label ID="BonusText1" Anchor="R,T" Offset="3,2" Style="FontNormal12" String="1" />
                <Image ID="BonusIcon1" Anchor="C,B" Size="26,26" Texture="EnvoyBonuses26" TextureOffset="104,0" Offset="0,2" />
            </Image>
            <Image ID="BonusImage3" Anchor="L,C" Offset="286,-2" Size="29,46" Texture="CityState_BonusSlotOn">
                <Label ID="BonusText3" Anchor="R,T" Offset="3,2" Style="FontNormal12" String="3" />
                <Image ID="BonusIcon3" Anchor="C,B" Size="26,26" Texture="EnvoyBonuses26" TextureOffset="104,0" Offset="0,2" />
            </Image>
            <Image ID="BonusImage6" Anchor="L,C" Offset="316,-2" Size="29,46" Texture="CityState_BonusSlotOn">
                <Label ID="BonusText6" Anchor="R,T" Offset="3,2" Style="FontNormal12" String="6" />
                <Image ID="BonusIcon6" Anchor="C,B" Size="26,26" Texture="EnvoyBonuses26" TextureOffset="104,0" Offset="0,2" />
            </Image>
            <!-- CQUI Note: The size of the container below was changed from 108 to 110 in order to fix a spacing issue. -->
            <Container ID="SuzerainStatus" Anchor="L,C" Offset="346,0" Size="110,46">
                <Grid ID="BonusImageSuzerainOff" Size="parent,parent" Texture="CityState_BonusSlotBigOff" SliceCorner="31,21" SliceTextureSize="34,42" />
                <Grid ID="BonusImageSuzerainOn" Size="parent,parent" Texture="CityState_BonusSlotBigOn" SliceCorner="31,21" SliceTextureSize="34,42" />
                <Label ID="BonusTextSuzerain" Anchor="R,B" Offset="4,2" Style="FontNormal12" String="4" />
                <Image ID="BonusIconSuzerain" Anchor="L,B" Offset="2,0" Size="26,26" Texture="EnvoyBonuses26" TextureOffset="156,0" />
                <Label ID="SecondHighestLabel" Anchor="L,T" Offset="3,0" Style="FontNormal12" />
                <Label ID="SuzerainLabel" Anchor="L,B" Offset="32,14" Style="FontNormal12" String="LOC_CITY_STATES_SUZERAIN" />
                <Label ID="Suzerain" Anchor="L,B" Offset="32,2" Style="FontNormal12" String="LOC_CITY_STATES_NONE" TruncateWidth="60" />
                <Label ID="SecondHighestName" Anchor="L,T" Offset="32,0" Style="FontNormal12" TruncateWidth="60" />
                <Label ID="SecondHighestEnvoys" Anchor="R,T" Offset="4,0" Style="FontNormal12" />
            </Container>

            <Button Hidden="1" ID="LookAtButton" Anchor="R,C" Offset="3,-7" Size="23,31" Texture="Controls_ShowMe" StateOffsetIncrement="0,0" ToolTip="LOC_CITY_STATES_LOOK_AT" />
            <Button ID="AmbassadorButton" Anchor="R,C" Offset="4,0" Size="32,32" Texture="XP1_GovernorsCityBannerFill32" TextureOffset="96,0" StateOffsetIncrement="0,0" ToolTip="LOC_CITY_STATE_PANEL_HAS_AMBASSADOR_TOOLTIP" />

            <Label ID="TypeLabel" Anchor="L,C" Offset="125,0" Style="FontNormal16" Hidden="1" String="[ICON_Faith]Religious" Note="DEPRECATED" />
            <Label ID="QuestsLabel" Anchor="L,C" Offset="250,0" Style="FontNormal16" Hidden="1" String="[COLOR_GREEN]![ENDCOLOR]" />
            <GridButton ID="GiveTokenButton" Anchor="L,C" Offset="270,0" Size="140,32" Style="MainButton" Hidden="1" String="Send Envoy" />
            <Label ID="CurrentTokensLabel" Anchor="L,C" Offset="415,0" Style="FontNormal16" Hidden="1" String="Current Tokens" />
            <Label ID="TypeBonusLabel" Anchor="L,C" Offset="510,0" Style="FontNormal16" Hidden="1" String="Next Bonus" />
            <Label ID="UniqueBonusLabel" Anchor="L,C" Offset="620,0" Style="FontNormal16" Hidden="1" String="Most Tokens Y/N?" />
            <!--
            <GridButton ID="LevyMilitaryButton" Anchor="R,C"  Offset="150,0" Size="140,32" Style="MainButton" Hidden="1" String="Levy Military"/>
            <GridButton ID="ChangeWarStateButton" Anchor="R,C"  Offset="0,0" Size="140,32" Style="MainButton" Hidden="1" String="Declare War!"/>
            -->
            <Grid ID="QuestRow" Size="parent,23" Anchor="C,B" Offset="0,-4">
                <Label ID="CityStateQuest" Anchor="L,C" Offset="16,-2" String="$CQUI_Quest$" Style="FontNormal10"/>
            </Grid>
        </GridButton>
    </Instance>

Heck, go hog wild and change up the Suzerain label while we're at it (I did not change the Lua to add the "1." or "2." but that'd probably be the way to go in order to colorize those numbers

I added two functions that I had in mind for resizing the instances - I ended up not really using it so far since in my eyes it is already nicely readable. We can use these to automatically resize it to the original version once the current quest is solved.
Another idea on that - how about introducing a slider in CQUI settings to allow users to set the vertical spacing themselves? But we would also need to handle the text size in some way... or a dropdown that corresponds to multiple text sizes and corresponding spacings?  -

Proof of concept:
(For comparison purposes: BonusItem1+3 are with -2 offset, BonusItem6 + Suzerain info have 0)

I dislike that the bonus icons are now floating around at the top, maybe it looks better if the offset is simply kept at zero. Also I think that the Name Tag should go back down

I am kind of confused why you are trying to reinvent the wheel.
Here is exactly how it should like like
https://github.com/civfanatics/CQUI_Community-Edition/issues/176#issue-695353908
If you can propose something better then pls do so. But pls do not go into something inferior.

CUI's version is very good, but can still be improved in multiple ways:

It uses a vertical spacing of 66, which is huge and wastes most of the space gained by removing BonusArea
I do not enjoy the Callout icons too much, especially for Inspirations and Eurekas where they are shown twice.
Even after completing the quest, the space is wasted, showing "Quest solved"
Second highest suzerain is not shown

I think this is much nicer:

(I would still like to think of something to make the right side more beautiful)
If you do not like it, you can still use the CUI version easily. Since this version is also able to be switched off I see no problem. I see no reason to implement a 1:1 copy of another mod here. We are trying to be a UI overhaul, that does not mean we should not touch anything done by another mod.

Alright, I am quite happy with how this looks:

By the way, is it intended behaviour that the ambassador-icon is always shown, even if no Amani is present at the destination?

I think it shows Amani if your Governor and/or someone else's Governor is there. If that's the case knowing which one yours is actually at versus AI Governors is some more info you can try and cram in there.

I think it shows Amani if your Governor and/or someone else's Governor is there. If that's the case knowing which one yours is actually at versus AI Governors is some more info you can try and cram in there.

The thing is, right now that icon is always shown, even if no Amani at all is there. I think that is not the intended behaviour.
That being said, I think that is a bug induced by CQUI base. I will look into it later.

We fixed the issue with the governor icon always appearing a while ago.  It may be reappearing with the reload when modifying the XML?  I know the icon appearing is controlled by the logic in the lua file from the EXP1 folder... I don't think it needs to be brought to the exp2

Found the problem - for some reason I had some includes in the file that were not due.

I like the dynamic scaling, but I think the text is smushed right up against the bottom - maybe tweak the offsets, or create a 2nd instance item, 1 for the instance with quest and 1 without, so the only thing in code is deciding which instance to generate? (I am 95% sure it generates those things on the fly whenever the panel is opened, and perhaps when an event causes them to update)

Any ideas on showing your Amani versus competitor Amani's? I suppose you should know which city state yours is at but it still seems confusing to see multiple pictures up there, or what if multiple competitors have her there?

So may I ask why this PR can not be accepted? From my testing, it is fully functional, and is a straight to the current UI used by CQUI, as it is also completely optional to use if people prefer the original handling. If people prefer CUI's implementation (or any other, for that matter), they can simply use that one.
I have to say, it is not very enticing for me to contribute my time to this project, if in the end all decisions are made by one user only based on personal preference. It seems not very "community" to me.

I like the idea overall, but the text is too small for me to read comfortably. I See a reference to some other design too - https://github.com/civfanatics/CQUI_Community-Edition/issues/176#issue-695353908 - what is the deal with that one? is that a competing implementation that already exists? or is that just a proposal?
if showing quests in this panel is not implemented yet, I would like to have something like this added. with large enough text to read.

The implementation in #176 is used in ConciseUI. It is the baseline that gave me the idea for the implementation used here. However, there were some flaws in my eyes, like that the extra line stays there even after the quest is completed, which wastes space. Also, the boxes are a bit high in general for my taste, I tried to keep it neat and compact.
I will see if I can find some way to let the user decide between several text sizes (like small, medium, big), so that everyone can have their way.

I would be careful about having too many options. maybe just couple -

concise display
full-text display

or something like that.

@Swarsele - I know that I hadn't accepted it in part because I haven't been on here much in the past month.  Work, Halloween stuff, and other things have generally sapped my energy, so I apologize that I haven't been around.  Bad timing on my part.  I don't wish to drive away anyone willing to contribute, I appreciate that you're here and chipping in.
Looking over your changes again, I think you implemented something I wanted to see based on my previous comments back in September - where the row instance will change size based on whether a quest is available or not?
This is a photoshop mockup of what I am thinking of (VSCode decided it needed to be difficult tonight so I couldn't load it up proper to check and see):

Given that that can be enabled/disabled via a menu option, I think using the FontNormal10 size for the text ends up okay.
I will ask, though, before accepting the change: please change all the tabs to spaces, (in theory should be a few select-all, tabs->spaces thing).  I know that's developer religious war stuff, but a while back everything was converted to using spaces for consistency.  I recall a mess made when trying to use the suggest changes in the past for the tabs->spaces, so this time I'll just ask. :)
For what it's worth, I ask primarily for 2 reasons -- in our PR's, when leading tabs are used it creates alignment issues like this:

While in the editor it will likely appear aligned - though with show-whitespace turned on (which I personally use because the dots-for-spaces help keep things aligned for me), it produces this effect, which is just not aesthetically pleasing:

@alexeyOnGitHub can we grant Swarsele permissions so they can put these changes in a branch of our civfanatics repo?  Is there a way we can allow anyone to create a branch and push changes to that branch, and also block them from allowing changes into the top-level master branch until we figure they're trustworthy (for lack of a better term)?

I added @Swarsele to the dev team. he now has WRITE permissions to this repo (meaning can create branches, among other things).
note that all people in this DEV team have WRITE permission.
also, "master" branch has a requirement of at least 1 "approval" from ANOTHER person with WRITE permission to this repo.

Thank you for the add.
Does somebody know how to use UIElement.SetFontByName? It seems not to work with the fonts that we have here (e.g. "FontNormal10" etc). Using that, I could quite easily create an options menu for the text sizes.

Where are you seeing UIElement.SetFontByName?  I'm getting no hits when searching for UIElement or SetFontByName in any of the lua files.
My VSCode workspace consists of CQUI, the Civ6 UI Files repo (shout out to @alimulhuda for keeping this up to date!), various other mods (a including bunch by @Infixo and Sukritact), the Civ6 DLC folder... and got no hits.
(fake edit, since I didn't post before finding it):
I think if you set the font as FontNormal10, you can still set the size to something else.  For example the XPLabel control in UnitPanel.xml is defined with FontNormal8, but we change the size to 12 in unitpanel_CQUI.lua (around line 40):
<Label ID="XPLabel" Anchor="R,B" Offset="150,0" Style="FontNormal8" Color="10,8,3,250" String="LOC_HUD_UNIT_PANEL_XP" />

    -- CQUI (Azurency) : instead of changing the xml, it's easier to do it in code here (bigger XP bar)
    Controls.XPArea:SetSizeY(15);
    Controls.XPBar:SetSizeY(10);
    Controls.XPLabel:SetFontSize(12);

I couldn't figure out how to actually change the font itself in Lua, save for doing the stuff where they add the labels to the volcanos and such

I definitely need to take a closer look at the UI Files repo. I just found that method by googling for it and it came up in the civ 5 modding wiki - many methods are still used, so I thought that would maybe work.
Thanks for the correct one, with that it should be done soon.

I am fine with the current UI (judging by the screenshots). I prefer a larger font, but this is not blocking because this is a new feature that is hidden behind a flag/setting.

I think this was mostly done, just required some touch-ups in the code (tabs/spaces) and I think I was curious about looking at using two instance definitions in the XML, one for a CS that has a quest and one that does not (in order to account for a difference in height)?
Don't know if @Swarsele is still around?  I have poked my head in on this review from time to time and based on the most recent comment, was expecting a follow-up...

I am still around and hope that I can get to a few things including this one in the holidays. Right now however I am still lacking time to finish implementing this and other things.
The code for switchable sizes is already finished from what I remember, but I still wanted to fix one problem that I thought about. The one that is currently up is fully working from my testing, just only with one (rather tiny) size.

how about this approach for the initial version -

use white font for all quests to make it easier to read (no different colors for different city types)
use a larger font
just leave empty space when there is no quest (to simplify the code)

we can improve the UI later, but I think this initial implementation will already give us a lot of value over the base game UI.

The only problem with larger font sizes is that the text will go under the envoy counter when encountering a long inspiration name. So in the long run, I would like to have the switching work so that it either does as it does now, with the tiny font in the lower left corner, or, for the bigger font, that it takes up an own line, thus taking more vertical space in total, how @Infixo suggested earlier.
The dynamic resizing of the bonus icons as well as the box itself can be removed, especially the bonus resizing does not look too neat in hindsight.
Not sure if white text will actually make it more readable or lead to confusion as to which city state the line belongs! I will try it out.
I can sadly not promise to push an update for this within the next days, but I will do my best to get around to it.

I am still curious about the 2 different "instances" idea.  If you push whatever changes you're working on, I can take a shot at going through them and finishing this off, if you'd like?

I copied down the files here and was looking through - had forgotten that the two instances thing wouldn't fly, so that's out.
That said, I was able to take what's in this PR and simplify it and achieve virtually the same result, in part by changing the anchor points in the XML.  I also updated the Suzerain list on the right-side, as I have never been a fan of the shoe-horned in "2nd" on the top.  Now the only Lua code that changes a size or offset defined in the XML is a change to the size of the Row instance itself in order to accommodate the City State quest line.
I published the branch, you can see the full changes in link below.  I haven't created a PR as I'm not sure what last thing @Swarsele was saying was missing.
https://github.com/civfanatics/CQUI_Community-Edition/compare/master...civfanatics:swarsele-citystatepanel
Anchoring those controls to the top of their parent control (rather than centered and offset) also allowed me to move the inline quest string up a couple of pixels, which resolves the "squished" feeling I'd get when looking at it:

The Civ icon, CS Name, and the # of Envoys circle is now anchored to the top, rather than centered.  The Arrows also position themselves correctly:

Here's how it looks when the setting is disabled:

I copied down the files here and was looking through - had forgotten that the two instances thing wouldn't fly, so that's out.
That said, I was able to take what's in this PR and simplify it and achieve virtually the same result, in part by changing the anchor points in the XML.  I also updated the Suzerain list on the right-side, as I have never been a fan of the shoe-horned in "2nd" on the top.  Now the only Lua code that changes a size or offset defined in the XML is a change to the size of the Row instance itself in order to accommodate the City State quest line.
I published the branch, you can see the full changes in link below.  I haven't created a PR as I'm not sure what last thing @Swarsele was saying was missing.
https://github.com/civfanatics/CQUI_Community-Edition/compare/master...civfanatics:swarsele-citystatepanel
Anchoring those controls to the top of their parent control (rather than centered and offset) also allowed me to move the inline quest string up a couple of pixels, which resolves the "squished" feeling I'd get when looking at it:

The Civ icon, CS Name, and the # of Envoys circle is now anchored to the top, rather than centered.  The Arrows also position themselves correctly:

Here's how it looks when the setting is disabled:

noticed that Mohenjo Daro doesn't actually have a quest and it was showing the icon, so fixing that in my branch

noticed that Mohenjo Daro doesn't actually have a quest and it was showing the icon, so fixing that in my branch

@Swarsele your suggestion and some of the code work has been incorporated this into #237, and pushed to the workshop today.  Thanks again for the idea, the more I have played with it I really like it.

@Swarsele your suggestion and some of the code work has been incorporated this into #237, and pushed to the workshop today.  Thanks again for the idea, the more I have played with it I really like it.


Fix/proper event binding on toggle

Closed because we want to keep dotfold:master even with tajo:master. This should go into the next branch instead.


Add oauth-1.0a type declaration (ts)

Alternatively, the type definitions can be included at @type/oauth-1.0a.

Thanks, i have no idea about ts btw

It might be better to publish it as @type/oauth-1.0a if you do not want to maintain the types.

maybe we gonna publish it at next version with some more commits

@dinoboff DId you confirm the type definition works? It seems wrong.

@Hoishin Which part seems wrong?
Last time I used the typing was indirectly via Visual Studio Code intellisense and I didn't noticed anything wrong.


allowInput and UTC dateFormat causes date shift

When using allowInput: true and a dateFormat in UTC (ie, has Z in the format), the displayed date is shifted by the UTC offset when the date picker is closed.
To reproduce, select a date range and click outside to close the date picker. Note the date shifts by your local UTC offset. Open the picker again, change nothing, and click outside to close it again. The date will shift on each close.
I tracked this down to the documentClick handler calling setDate when allowInput is set. This eventually calls setHoursFromDate, which uses date.getHours() to get the new hours value. That value is in the local time zone, but is displayed as UTC hours due to having Z in the dateFormat.
Including these options should be sufficient to reproduce, but a full example is provided below.
allowInput: true
dateFormat: 'Y-m-d H:i\\Z'

Fiddle Link
https://jsfiddle.net/wybampgu/
Environment

flatpickr version used: Latest
Browser name and version: Chrome 115
OS and version: Reproduced on Mac/Windows/Linux

Current workaround is to display the date in the local time zone with options like:
{
  allowInput: true,
  dateFormat: 'Y-m-d H:i\\Z',
  altFormat: 'Y-m-d H:i',
  altInput: true
}


Only run kube_monitor threads on master MiqServer

On podified there are multiple miq_server instances but only one "master".  All miq_servers run on the same kubernetes cluster and thus only have to run one set of monitor_pods/monitor_deployments threads to update the global current_pods/current_deployments hashes.
Follow-up to https://github.com/ManageIQ/manageiq/pull/21525

Does it makes sense to go all the way and extract the kubernetes monitoring into its own objects?  Like MiqServer::WorkerManagement::Kubernetes::Watcher?

LGTM


Triggers snapshot release two times and fails the Github Action

Description
Hi @benjervis, @mrm007. I'm using Changeset for version releasing with GitHub Actions and used your packages for snapshot tests on the develop branch. I've set up the flow and it's working as expected except for one weird issue:
I see on the logs that it's publishing new snapshot releases to the NPM registry:
🦋  info Publishing "@MY_ORG/react" at "0.0.0-develop-20220928231449"

But after these, I see the following error:
🦋  error npm ERR! 403 403 Forbidden - PUT https://registry.npmjs.org/@MY_ORG/react - You cannot publish over the previously published versions: 0.0.0-develop-20220928231449.

Somehow, it triggers the release two times, and this causes the Action to fail. Do you have any idea why it can happen?

In my monorepo, the reason was the publish script inside the packages. Changeset was trying to run the publish a second time unintentionally, so it's trying to publish again. Renaming publish script is solving the issue.
In packages/X/package.json:
{
- "publish": "pnpm publish"
+ "publish-package": "pnpm publish"
}


Increase carry capacity 82 and bigger makes me overencumbred

Description of the bug
Setting the option "Increase carry capacity" to 82 and over makes me overencumbered in a new game with an empty inventory. Below works fine. I also equipment weights zero.
https://prnt.sc/3eIabmFwh23g
Mods I use: Auto Mount, Bubble Tweaks, Mewsifer Console and Menu, Mod Menu, ToyBox and Wrath Patches.
Steps To Reproduce
CTRL F10, first tab, scroll to Other Multipliers, set Increase Carry Capacity to 100, enjoy. I did altered plenty of other options through the mod, if that may affect the outcome.
Expected Behavior
You get the red bag with overencumbered and can't move stuff.
Log Files
Player.log
GameLogFull.txt
Save File
Manual_1_Underground_Caves_of_Kenabres__16_Arodus__VIII__4715__12_28_05.zip
Screenshots

Settings
Settings.zip
Toybox Version
1.5.10a
Operating System
Windows 10
What game are you using Toybox on?
Pathfinder Wrath of the Righteous
Game Version
2.2.4p
Anything else?
No response

I have the slider set to 100 by default, and I loaded up all my test saves, as well as the save you provided, and was not encumbered in any of the saves. I also don't see any glaring issues in your log files. Will tag @xADDBx because maybe he has an idea, but I'm unable to reproduce it on my end, sorry.

Thanks, it's not really a big issue, I just wanted to let you know. 70 is ok.

It probably is a conflict with a setting from Toy or another one of the mods, if it were a big issue I'd try to see if it's another mod or another Toy setting. But it's nothing.

Hm, I think it might be related to my 100+ edited stats. Too lazy to check, but I am 94.4394% sure that's the problem.

Closing due to possibly not being an actual bug?


More explicit readme/docs

from the docs: "converge":
"Converge will execute the sequence necessary to converge the instances."
I simply don't understand what that means. I'm trying to figure out the difference between "test", "converge", etc but it's hard. Improved docs would be awesome.

Hi, don't use "Usage" to guide you throught docs.
It's just a remind of what args you can use and a quick description of the purpose. It will be very clear when you know what molecule can do.
Don't rush and take a look at the Getting started Guide, to learn more about scenarios and sequencies.

Thanks for the feedback @trondhindenes! I'm merging this into https://github.com/ansible/molecule/issues/2264 and will hopefully follow up soon to improve this situation on the documentation.


Add-ons tab link broken

I try to click on the add-ons tab (on version of Maera downloaded today) and it directs me here:
/wp-admin/themes.php?page=maera-ri
Which displays the usual WP permissions error: "You do not have sufficient permissions to access this page."
Not tried diagnosing.
A

Hey there,
we just removed the Licensing and Addons tab from admin theme options as you can see in b3447672fcf81e9bf7ea60e5c495417fa8cc3d64. Feel free to pull latest commit to get rid of those.
Hope that helps,
Dimitris


Set minimal rustc version

PR Info
Adds

Set min rustc version in Cargo.toml, context: https://github.com/SeaQL/sea-query/issues/339

Fixes
cargo install sea-orm-cli
    Updating crates.io index
  Installing sea-orm-cli v0.9.1
error: failed to compile sea-orm-cli v0.9.1, intermediate artifacts can be found at /tmp/cargo-installR8Kg4Y

Caused by:
  failed to select a version for the requirement sea-query = "^0.26.0"
  candidate versions found which didn't match: 0.24.6, 0.24.5, 0.24.4, ...
  location searched: crates.io index
  required by package sea-orm-codegen v0.9.0
      ... which satisfies dependency sea-orm-codegen = "^0.9.0" of package sea-orm-cli v0.9.1

Breaking Changes

Min rust version is 1.60

Thanks!


Error writing input to shell-command: EPIPE

:W                                                Error detected while processing function suda#BufWriteCmd[3]..suda#write[18]..suda#system:
line    5:
E5677: Error writing input to shell-command: EPIPE
Press ENTER or type command to continue

Steps to reproduce:
my /etc/hosts . Delete the very last line.

Got it but a bit difficult to fix.

Is it not fixed ? suda doesn't seem functionnal to me for the same reason

Unfortunately.
The link above has broken but it was because of the size of the file.
I've no idea how to fix this in a plugin level.

Oh indeed I was trying this with my huuuge hosts file. It seems to be working fine with smaller files.
Maybe you should ask for help there : https://github.com/neovim/neovim/issues/8217, this is where I heard about this project
In the meantime, if you have time maybe you could try to find the size at which the bug is happenning ? Maybe also display a warning when the file size is too big and the file is uneditable ? Just my 2cts :)
Great addon anyway, have a nice day

I guess PR #35 can solve this problem. If #35 is merged, the full content of the file is no longer required to be sent through a pipe. (For Unix-like operating systems only)

is this fixed? #35 was merged


Cluster backend

Support for using SGE for the job execution.

We're exploring using DIGITS as a frontend for an EC2 cluster. Presumably we'll design it to work with SGE (now OGE?) or whatever else you want to use.

I use SGE on EC2 using StarCluster now. There are some tools like http://drmaa-python.readthedocs.org/en/latest/ which abstract cluster engine is used.
SGE is aka OGE but also aka "Son of Grid Engine" :smile:

Use DIGITS to manage inter-node training. For example, this can be use to train a single model across multiple GPU instances on EC2.

I have dataset of 40 Million pics and i want to speed the training, so if i use multi EC2 GPU severs it will work and use the max usage of each EC2 GPU ? any limitations ? can i use 10 EC2 ?

Caffe is currently multi-GPU but not multi-node. Until DIGITS supports a multi-node framework, having multiple instances will not improve the training time of any one training job.
DIGITS is also single-node for now. So you would have to run one DIGITS instance on each node.

I have just realised i can create a GPU cluster and combine multi node into 1 powerful machine using start cluster. http://hpc.nomad-labs.com/archives/139

And then run my caffe on multi GPU like i'm using all at the same server.

That isn't going to do what you want.  Even if you got that dusty code to work, the interconnect between the nodes is nowhere near PCIe speeds so your scaling performance will be quite poor with the current multi-GPU methodology.  To scale across nodes the algorithms would need to change to an asychronous method (EASGD for example) which has different numerical behavior and convergence properties.

Ok sound like you have experience in this field, tell me if i will not be able to run the multi GPU, can i just train batch on each server and after merge into 1 train file?

Also we can use internal AWS ip so the data transfer between server is very very speedy.

PCIe Gen 3 is 12GB/s.  At best on AWS you get 10GbE interconnects on the general nodes, so 1.2GB/s on a good day.  We are communication bound on PCIe Gen3, so scaling is not going to be that great.  Again, to go to multiple nodes you need to move away from synchronous stochastic gradient descent and to a different solver, likely an asychronous techique.

Hi @thatguymike , thanks very much for your time and help if you can enlighten me, and apologies for the wall of text. I have a database of ~10 million wine labels that I would like to train for an image recognition system, and moreover retrain on a regular basis, as more people take pictures.

Is it possible to train 1000 categories of 100 images each in DIGITS, then use the last epoch's model in a subsequent classification model with an entirely different set of 100k images to achieve a model with  2k categories?
-- if yes, Can I go adding images to the same categories as more come in, so the model gets fine-tuned?

(similar to @loneae 's question above) Is it possible to train multiple sets of images on distinct ec2 g2.8xlarge instances, then use a script to combine their results into a composite model including all the categories and results? If I understand correctly you said above "not with the SGD solver." Is there a Solver you would recommend for this?

Let's step back a bit.  10 million wine labels isn't "that big".    I would start with a strong pretrained network, like GoogleNet or VGG trained on ImageNet and then finetune for your categories.  (e.g. slice the bottom layer and redefine number of outputs).  It should in theory converge quite quickly.  Then as you add images you can drop out parts of your older original data or just continue to grow.  I assume you will need to add more categories, which will generally mean re-finetuning things.
As for 1:
That isn't going to do what you want.  You might train the upper layers the first round to build a good feature descriptor chain (like what I recommed above), but you just can't add more categories.  When you finetune you need enough representatives in all of your categories.  So your dataset is going to end up growing over time.  You will want O(1k) examples per class to be robust, but it depends on your dataset and accuracy requirements.
As for 2:
Yes and no.  Assuming everyone starts with the same seed and roughly equal representation of the dataset, you can try to train independently and then average the weights.  I don't think that will end up being stable.   Better might be to train multiple models for different subsets of categories and then run them as an ensemble.  e.g. train 5 different networks each with 1/5th of the categories.  Then when doing inference run the input through each of the models and choose the one with the highest probability.  Might work, but you can also get a category split across models where you have a model that gets very confused and ranks a label high because it can't descriminate properly.

Thanks for the prompt response! I clearly need to read more about this.
The issue I have is that we get thousands of new wine label brands a day, so I can't possibly know all my categories ahead of time. I can do 100k photos in 8.5h at my current rate (using g2.8xlarge, GoogLeNet, 256x256, color images), so I'd be spending 35 days building out a massive model with my entire dataset which will end up being a month stale and not include the new hotness in the wine industry.
So either I need to come up with a way to run through my entire corpus 100x faster (diminish accuracy thru downsampling, prioritize the most relevant subset of data, or beast out my hardware), or I need a different kind of solver that allows me to incrementally add new categories and add new photos to existing ones.
I like your idea about splitting out my corpus into a few different networks, but yeah, it will compromise accuracy because one network will think it's 50% sure of a match and other will think it's 80% sure and the 50% one will end up being correct because the 80% one just doesn't know enough.
OK the search continues, thanks for your help! Happy Labor Day weekend and I'll keep an eye out for exciting developments here and maybe pop on over to the BVLC folks and see if they have any ideas.

@thatguymike See some caffe experiments at http://arxiv.org/abs/1506.08272

@lukeyeager  I wonder if DIGITS advanced to manage task execution on SGE clusters since issue creation ?
I would like to use DIGITS with Intel-flavoured Caffe on Colfax Cluster.
In this case it is possible to hack Task class and configure it (choose LocalTask or GridEngineTask) on digits start. Then each task is exectuced with qsub in the interactive mode.
See my fork for details. For instance some widgets are not updated during the task execution, but it is correct for the usage I need. Anyway, I would like to get your feedback.


🚀Enhance : UI of the Our Team Section.

Is your feature request related to a problem ? Please describe. ✍
I  Would like to change the ui of the our team section .

So,please assign this issue to me .
Describe briefly how you would implement this enhancement.
I would like to change the cards of the our team section by adding cool box-shadow and hover effects.

Additional context or screenshots
Additional context
Are you contributing for a program?
GSSoC2023
Code of Conduct

[X] I have read and agree to the Contributing Guidelines of this project.

some one already working on this issue


Where's T-Net (Spatial Transformer)

I can't find T-Net (spatial transformer),
which is used in PointNet and PointNet++

Why is it necessary to add the identity matrix in STN network

I think T-Net is not used in PointNet++.


Discovering Significant Bandwidth Differences in Data Transfer Using tag_send with UCX and  UCXX

I want to test the bandwidth of the data transfer by using the tag_send/tag_recv, but I found that the UCXX and UCX libraries have a large difference in the test bandwidth.

ucxx lib
$  ./benchmarks/ucxx perftest -m blocking -s 10000000 -n 1000 &  ./benchmarks/ucxx perftest  <IP_ADDRESS> -m blocking -s 10000000 -n 1000
ucx lib
$  ucx _perftest -t tag_sync_bw -s 10000000 -n 1000 & ucx _perftest <IP_ADDRESS> -t tag_sync_bw -s 10000000 -n 1000
ucxx_perftest results are about 3GB/s, while the ucx_perftest can reach about 20GB/s, why is the difference so big between the two tests, is it because the C++ version is not as good as the C version in terms of implementation performance？Can a more efficient C++ version be provided?

Thanks for the report @fanfanaaaa . I think this has to do with the fact that UCXX benchmark currently enables endpoint error handling by default and that imposes different performance pressure depending on the transports being used. If you specify -e to ucx_perftest, do you see a similar performance to ucxx_perftest? Also, would you mind trying out https://github.com/rapidsai/ucxx/pull/250? In it I've added the -e option as well with it now turned off by default to match what ucx_perftest does.

#250 is merged and the new default is not to enable endpoint error handling (like ucx_perftest default), which should result in similar performance. Please feel free to reopen if you find any major performance differences still, or open a new issue if you find other problems.


Feature: Maximum Value Goals

I would like a way to specify that a goal was successfully reached if you are under a specific number. Most of the habits I am interested in tracking are things I don't want to do (i.e. a 0 should be green and > 0 should be red).
Just to give a suggestion, one could specify such a goal either as :add gaming <1 and just save an additional flag for that in the JSON file.

This sounds pretty useful and easy to do, I'll add this to the list.


In .net core 3.0, Json serialization is not consistent when using AddNewtonsoftJson and causes deserialization issue related to Dictionary prop

Setup
Newtonsoft.Json: 12.0.2
Microsoft.AspNetCore.Mvc.NewtonsoftJson: 3.0.0
I have testing both from an nunit test project (targeting both 2.2 and 3.0) that does AddNewtonsoftJson when in the 3.0 version as well as running the application and hitting with postman
.Net Core 3.0 application setup:
services
                .AddMvc(mvcOptions => mvcOptions.EnableEndpointRouting = false)
                .SetCompatibilityVersion(CompatibilityVersion.Version_2_2)
                .AddNewtonsoftJson();

If i have this problemDetails object:
// problemDetails has 2 extension items
{Microsoft.AspNetCore.Mvc.ValidationProblemDetails}
    Detail: "Please refer to the 'errors' property for additional details."
    Errors: Count = 1
    Extensions: Count = 2
    Instance: "/api/test/complex-binding-from-query"
    Status: 400
    Title: "One or more validation errors occurred."
    Type: "https://tools.ietf.org/html/rfc7231#section-6.5.1"

In 2.2, executing Newtonsoft.Json.JsonConvert.SerializeObject(problemDetails) returns
{"errors":{"Int":["The value 'a' is not valid for Int."]},"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One or more validation errors occurred.","status":400,"detail":"Please refer to the 'errors' property for additional details.","instance":"/api/test/complex-binding-from-query","traceId":"0HLQRT7GRPQBS","correlationId":"0HLQRT7GRPQBS"}

In 3.0 it returns:
{"Errors":{"Int":["The value 'a' is not valid for Int."]},"Type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","Title":"One or more validation errors occurred.","Status":400,"Detail":"Please refer to the 'errors' property for additional details.","Instance":"/api/test/complex-binding-from-query","Extensions":{"traceId":"0HLQRSUICF8QA","correlationId":"0HLQRSUICF8QA"}}

The 3.0 version serialized string includes the IDictionary<string,string> property name, Extensions, and we can correctly deserialize that string in 3.0. You can see that this property name is left out of the 2.x version.
Issues:

This serialized schema is different between these two versions and my clients will have a problem correctly deserializing them.
Using a result filter to return the object in 3.0 does not serialize using Newtonsoft (I assume) and thus is missing the Extensions property NAME as seen below:

public sealed class ProblemDetailsResultFilterAttribute : Attribute, IAlwaysRunResultFilter
{
        public void OnResultExecuting(ResultExecutingContext context)
        {
             context.Result = new BadRequestObjectResult(problemDetails);
        }
}

The response content that gets returned is similar to the 2.2 version...the Extensions property name is excluded, but two more differences appear:

The key of the item in Errors is param instead of Int
The value is missing the  for Int suffix).

Deserializing this string causes the Extensions property to deserialize as an empty collection (using Newtonsoft.Json.JsonConvert.DeserializeObject<ValidationProblemDetails>())
response.Content.ReadAsStringAsync().Result
{"errors":{"param":["The value 'a' is not valid."]},"type":"https://tools.ietf.org/html/rfc7231#section-6.5.1","title":"One or more validation errors occurred.","status":400,"detail":"Please refer to the 'errors' property for additional details.","instance":"/api/test/bad-request","traceId":"0HLQRTCDTQ6IK","correlationId":"0HLQRTCDTQ6IK"}

Somehow this serialization is not using the same serialization as the Newtonsoft library that we are trying to deserialize with even though we are using .AddNewtonsoftJson() and so that is causing our problems.
Thanks

@ts46235 ProblemDetails and ValidationProblemDetails require specific converters to serialize or deserialize correctly. Json.NET's options are configured with these options by default, so that's likely the easiest way to process these:
public class MyFeature
{
    private readonly MvcNewtonsoftJsonOptions jsonOptions;
    public MyFeature(IOptions<MvcNewtonsoftJsonOptions> jsonOptions) => this.jsonOptions = jsonOptions;

    public async Task ReadResponse()
    {
         ....
         JsonConvert.DeserializeObject(problemDetailsString, jsonOptions.SerializerSettings);
     }
}

Other options include using the factory to get the serializer settings (https://github.com/aspnet/AspNetCore/blob/master/src/Mvc/Mvc.NewtonsoftJson/src/JsonSerializerSettingsProvider.cs#L31-L53) or newing up a custom one and adding these two converters:

https://github.com/aspnet/AspNetCore/blob/master/src/Mvc/Mvc.NewtonsoftJson/src/ValidationProblemDetailsConverter.cs
https://github.com/aspnet/AspNetCore/blob/master/src/Mvc/Mvc.NewtonsoftJson/src/ProblemDetailsConverter.cs

Hello, thank you for the response. Sorry it took a while to respond as I had some work I had to do.
I do see that using those serializerSettings does deserialize correctly, but on that my question is why did it work without needing those in 2.2?....that would cause a code change for that to work.
Secondly, the actual code that I am testing is NOT using JsonConvert manually and instead is returning the result from the filter and then the client is reading the response's content. I only mentioned JsonConvert because that was the only way to validate what I was seeing....sorry for not making that clear, but that is the actual code that is not working and there is not a way to add converters to these calls as it is done somewhere inside the .net core code that I don't see.
So to summarize, the code I am concerned with is the serialization/deserialization that happens automatically when we set a filter's Result and reading the response's Content
context.Result = new BadRequestObjectResult(problemDetails);
await response.Content.ReadAsAsync<ValidationProblemDetails>

@ts46235 ReadAsAsync uses Json.NET under the covers. In 2.x, ProblemDetails was annotated with JSON.NET specific attributes that allowed round-tripping without configuring it. I n 3.0, you have to configure HttpClient to use the converters I listed in the previous comment. The gist of it should look something like this:
await response.Content.ReadAsAsync<ValidationProblemDetails>(
    new[] {new JsonMediaTypeFormatter
    {
          SerializerSettings = new JsonSerializerSettings
          {
              Converters =  { new ValidationProblemDetailsConverter(), new ProblemDetailsConverter() }
          }
    });

An alternative would be to read the content as string and parsing it using JsonSerializer:
var content = await response.Content.ReadAsStringAsync();
var problemDetails = JsonSerializer.Deserialize(content);

We plan on adding support for System.Text.Json to HttpClient for the 5.0 release which should help here.

Ok, in my particular case it seems I am only having a problem with the ValidationProblemDetails since that is the only one that is running thru my FilterAttribute so it looks like its just an issue when it gets serialized into its Context's Result. Adding a converter for it fixed my problem, but...
I could not find this breaking change specified in the Migration literature or release notes. I would think it should be noted that the converters are required now when using AddNewtonsoftJson()
Thank you


Nightly rustfmt duplicates macro name when input has particular spacing

I noticed this on rustfmt 1.1.0-nightly (1427e4c 2019-03-17). I installed it with rustup toolchain install nightly-2019-03-15
Given this example
// Input
x ! {()}
// Output
x! x ! {()}

Oddly, the space before the ! is necessary to trigger the behavior. E.g. this is fine
// Input
x! {()}
// Output
x! {()}

Also, if the braces are empty, the bug isn't triggered.
// Input
x ! {}
// Output
x! {}

It doesn't seem to matter what is in the braces (as long as it's not nothing). A macro with parentheses and a semicolon instead braces doesn't seem to trigger the bug either.
The particular spacing is common when using the quote crate since it inserts whitespace between all the tokens. That's really ugly, so it's common to run rustfmt on the output.
I noticed this when the wayland-rs crate was broken because it generates code that uses the bitflags! macro.

Err, the rustup command above is wrong and will actually provide a working rustfmt version to rollback to. So you can actually just do rustup install nightly.


Reduce Iceberg metadata refresh operation (#5616)

What type of PR is this：

[ ] bug
[ ] feature
[X] enhancement
[ ] others

Which issues of this PR fixes ：

Fixes #5616
I add refresh iceberg table  in  generate LogicalIcebergScanOperator，  because the IcebergScanOperator only have sr iceberg table and call getIcebergTable(alread have cache) to get iceberg table, so  I add refresh here.
Problem Summary(Required) ：

[FE PR Coverage check]
:disappointed: fail : 0 / 7 (00.00%)
file detail

path
covered line
new line
coverage

:large_blue_circle:
com/starrocks/sql/optimizer/transformer/RelationTransformer.java
0
1
00.00%

:large_blue_circle:
com/starrocks/catalog/IcebergTable.java
0
2
00.00%

:large_blue_circle:
com/starrocks/external/iceberg/cost/IcebergTableStatisticCalculator.java
0
2
00.00%

:large_blue_circle:
com/starrocks/planner/IcebergScanNode.java
0
2
00.00%


change code-server title

I noticed the description had it as "code-server," but I made a couple of changes to explain what code-server is and fix the heading. Totally understand if you want to keep the current description, this is just a suggestion :)

Thanks for the PR, @bpmct. Cool if we only update the description? Would be nice to keep the title consistent across all starters.

that works!


ContainerApps 04/19 Release

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your PR is merged into master branch, a new PR will be created to update src/index.json automatically.
The precondition is to put your code inside this repo and upgrade the version in the PR but do not modify src/index.json.

ContainerApps

@calvinsID can you un-draft this when you get the chance -- the GH actions update is good to go
The GitHub action didn't run successfully when I used a non-ACR registry (though ACR works great). I ran into the same issue when I tried with the previous API version so there wasn't a regression in the API

@zhoxing-ms can we get an initial review from you please, so we can get this ready for 4/19 release after further testing on our end.

@StrawnSC can you update the .github/CODEOWNERS to include your alias to the owners list as well please. Thanks!

@calvinsID can you un-draft this when you get the chance -- the GH actions update is good to go
The GitHub action didn't run successfully when I used a non-ACR registry (though ACR works great). I ran into the same issue when I tried with the previous API version so there wasn't a regression in the API

@panchagnula update on this: I was erroneously using --registry-url docker.io/<username> instead of --registry-url docker.io. It works correctly now. That's my bad; the API is functional here.


Investigate reducing number of packages

Can we get away with less packages? Any of them redundant? rsync, libxml2?

I was able to remove rsync. https://github.com/swiftdocker/docker-swift/pull/63
I want to keep libxml2, since its a pretty core package and tons of other libraries use it. Rsync is just a command line utility.

Removing cmd utils post installation : https://github.com/swiftdocker/docker-swift/pull/69

Closing this for now, since we've probably done what we can for the time being.


[MacOS] IDE / GUI: Cursor "press" action is ignored

Godot version
4.1.1 Stable
System information
Mac OS Godot v4.1.1.stable - macOS 13.5.2 - Vulkan (Forward+) - integrated Apple M1 - Apple M1 (8 Threads)
Issue description
On MacOS (and maybe other OSes), there is a particular L/R mouse button behavior behavior that is hard to live without under certain circumstances, I don't know whether it has an official name but let's call it "click and hold".
So, when the user presses and holds, for example, LMB on a menu, the selection highlight appears and stays on the menu as long as the button is kept pressed. When the button is released, whatever was under the highlight / cursor is selected. Note that this behavior saves you basically two out of four finger movements when compared to the standard "two clicks required for simple operations: one to open the menu, and then select something" where you have to perform 4 finger actions (finger press down, lift up, press down, lift up) and this way you can do it with only 2 (finger down, finger up).
This behavior is especially comfortable (kind to wrists) to use with graphic tablet if you're an artist for example, and use a pen instead of a mouse most of the time.
In Godot 4, the "click and hold" method works on all the top menus (Godot, Scene, Project, Debug Editor, Help) but not in the IDE: if I right click on, for example, a scene in the FileSystem panel and keep the RMB pressed, the highlight / selection does not appear (only the menu opens). So I have to click on the menu again just to select an entry.
Steps to reproduce
Open Godot.
Correct behavior:
Position your mouse over any top menu, for example "Scene".
Press and hold RMB (don't let go)!
Now drag the cursor a bit down, to, say, New Scene.
Release RMB.
A new scene will be created!
So it looks like this, note there's only one RMB press in the operation:
https://github.com/godotengine/godot/assets/106015575/ec932262-24f6-450f-a895-54632522cf32
Strange behavior:
Position your mouse over a scene in the FileSystem panel.
Press and hold RMB.
The menu opens, but there is no highlight marker!
Even if you wiggle the cursor out of the just opened menu area, nothing will happen.
Now you have to release RMB for the highlight marker to appear…
…and the click again.
Minimal reproduction project
N/A

Hey there! Please open a proposal about this, since it's a new feature that you are requesting. You can open a proposal in https://github.com/godotengine/godot-proposals.

In Godot 4, the "click and hold" method works on all the top menus (Godot, Scene, Project, Debug Editor, Help) but not in the IDE: if I right click on, for example, a scene in the FileSystem panel and keep the RMB pressed, the highlight / selection does not appear (only the menu opens). So I have to click on the menu again just to select an entry.

This sounds like a bug. Can you reproduce this in 3.5.2?

Please open a proposal about this, since it's a new feature that you are requesting.

It's not a new feature, please see below. Also, if one part of the interface works under the "Amiga convention" and the other part doesn't (main menu and FileSystem menu respectively), surely that's a bug :P

Can you reproduce this in 3.5.2?

In 3.5.2 it works in everything I tried (by "it works" I mean if I press and hold the mouse button, the menu highlight selection moves with it and when I release the mouse button the selection is activated automatically without me having to click one more time).

reproducing this in 4.1.1 after enabling Single Window Mode in the Editor Settings then restarting the editor

When Single Window mode is enabled, the menus respect the "Amiga convention" (sorry I have no idea what is the official name for such behavior).
Thank you for your reply Calinou, it's really appreciated!

Also, if one part of the interface works under the "Amiga convention" and the other part doesn't (main menu and FileSystem menu respectively), surely that's a bug?

Not necessarily, no. If a feature was implemented in one place but wasn't implemented in others it's not a bug, just a missing feature. And it may require further justification than just "it works in one place, so it must work in other places". But if this is a regression since 3.x, then we can file it as a bug.


Z-Index not working.

My site max z-index is 5... I have gone over the entire css and cannot get it to appear on top.

Please create example at jsfiddle


Auto add the gRPC healthcheck

Add a settings or a way to enable the health check without any more configuration
https://grpc.io/docs/guides/health-checking/
https://grpc.github.io/grpc/python/grpc_health_checking.html

Done in #276


az cli on debian crashes

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az login
Errors:
The command failed with an unexpected error. Here is the traceback:
ClientApplication.__init__() got an unexpected keyword argument 'allow_broker'
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/knack/cli.py", line 233, in invoke
    cmd_result = self.invocation.execute(args)
  File "/usr/lib/python3/dist-packages/azure/cli/core/commands/__init__.py", line 663, in execute
    raise ex
  File "/usr/lib/python3/dist-packages/azure/cli/core/commands/__init__.py", line 726, in _run_jobs_serially
    results.append(self._run_job(expanded_arg, cmd_copy))
  File "/usr/lib/python3/dist-packages/azure/cli/core/commands/__init__.py", line 697, in _run_job
    result = cmd_copy(params)
  File "/usr/lib/python3/dist-packages/azure/cli/core/commands/__init__.py", line 333, in __call__
    return self.handler(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
    return op(**command_args)
  File "/usr/lib/python3/dist-packages/azure/cli/command_modules/profile/custom.py", line 139, in login
    subscriptions = profile.login(
  File "/usr/lib/python3/dist-packages/azure/cli/core/_profile.py", line 154, in login
    user_identity = identity.login_with_auth_code(scopes=scopes, **kwargs)
  File "/usr/lib/python3/dist-packages/azure/cli/core/auth/identity.py", line 153, in login_with_auth_code
    result = self._msal_app.acquire_token_interactive(
  File "/usr/lib/python3/dist-packages/azure/cli/core/auth/identity.py", line 112, in _msal_app
    self._msal_app_instance = PublicClientApplication(self.client_id, **self._msal_app_kwargs)
  File "/usr/lib/python3/dist-packages/msal/application.py", line 1525, in __init__
    super(PublicClientApplication, self).__init__(
TypeError: ClientApplication.__init__() got an unexpected keyword argument 'allow_broker'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az login

Expected Behavior
Environment Summary
Linux-5.19.0-2-amd64-x86_64-with-glibc2.35, Debian GNU/Linux bookworm/sid
Python 3.10.7
Installer: DEB

azure-cli 2.41.0

Extensions:
azure-devops 0.24.0

Dependencies:
msal 1.18.0b1
azure-mgmt-resource 21.0.0

Additional Context

I was trying to use az cli on debian. no luck. I was reinstaling tool together with all python dependencies, I was trying to install it throuth pip. no success. I am on debian testing
I work as azure admin and this situation makes my work much harder and inconvinient.

@jiasli for awareness

Duplicate of https://github.com/Azure/azure-cli/issues/19640
You need to pin priority in Debian sid.


Report of Critical Bug in Spacemesh v1.2.8 - Inability for Nodes Syncing via Local Network to Receive Rewards

Dear Spacemesh Team,
I am writing to report a critical bug I encountered while using version v1.2.8 of Spacemesh. It pertains to nodes syncing via a local network, specifically the failure to correctly receive rewards, despite the rewards being logged in the system. However, these rewards are not reflected on the chain or within the account balance.
Bug Description:
While running a node that syncs via a local network, the system's logs indicate that rewards have been obtained. Regrettably, these rewards do not display accurately on the chain, nor do they reflect in the account balance. Although the rewards acquisition is logged, there is no corresponding record or reward visible on-chain or in the account balance.
Bug Manifestation:
The local network syncing node correctly logs reward acquisition.
However, no corresponding reward information is displayed on the chain.
My account balance fails to reflect any rewards received.
Steps to Reproduce the Bug:
Run Spacemesh v1.2.8.
Opt for node synchronization via a local network.
After a period of operation, the logs display rewards acquired.
Despite the log entry, there is no visible record of the rewards on the chain or in the account balance.
Additional Information:
I attempted multiple syncs and node restarts, but the issue persists.
I have ensured that my node settings are accurate and no irregular actions were taken.
Expected Resolution:
I kindly request your team to investigate and resolve this bug. Accurate recording of rewards is crucial for users syncing via a local network. I am willing to provide further information or assist in any tests necessary to resolve this issue.
Please let me know if there is any additional information required or if further testing is necessary to pinpoint and resolve this bug. Your team's assistance and support are greatly appreciated.
Thank you for taking the time to review this email, and I look forward to your response.
Sincerely,
node logs：
2023-12-15T08:12:18.793Z	INFO	c6d00.proposalBuilder	proposal eligibilities for an epoch	{"node_id": "c6d0075ddb273968baa24f686668ef5d47136ae1a653bdedad2b37b5db9049c4", "module": "proposalBuilder", "epoch": 11, "beacon": "0xa12acad4", "atx": "4ce5ad8713", "weight": 298464, "prev": 0, "slots": 2, "eligible": 2, "eligible by layer": [{"layer": 44633, "slots": 1}, {"layer": 46845, "slots": 1}], "name": "proposalBuilder"} 2023-12-16T07:25:04.139Z	INFO	c6d00.conState	received mempool txs	{"node_id": "c6d0075ddb273968baa24f686668ef5d47136ae1a653bdedad2b37b5db9049c4", "module": "conState", "layer_id": 44633, "num_accounts": 0, "name": "conState"} 2023-12-16T07:25:05.781Z	INFO	c6d00.proposalBuilder	proposal created	{"node_id": "c6d0075ddb273968baa24f686668ef5d47136ae1a653bdedad2b37b5db9049c4", "module": "proposalBuilder", "proposal_id": "9030c9dbb2", "transactions": 0, "mesh_hash": "1b1fe7723e", "ballot_id": "2d9bc5eeed", "layer_id": 44633, "epoch_id": 11, "smesher": "c6d0075ddb273968baa24f686668ef5d47136ae1a653bdedad2b37b5db9049c4", "opinion hash": "1b1fe7723e", "base_ballot": "ab28a7b2b6", "support": 1, "against": 0, "abstain": 0, "atx_id": "4ce5ad8713", "ref_ballot": "0000000000", "active set hash": "0848703629", "beacon": "a12acad4", "votes": {"base": "ab28a7b2b6", "support": [{"id": "e4092bb19c", "layer": 44632, "height": 84399}], "against": [], "abstain": []}, "latency": {"data": "3.245017909s", "tortoise": "41.694309ms", "txs": "5.18565ms", "hash": "30.361797ms", "publish": "1.611940677s", "total": "4.934200342s"}, "name": "proposalBuilder"} 2023-12-16T07:26:50.717Z	INFO	c6d00.executor	optimistically executed block	{"node_id": "c6d0075ddb273968baa24f686668ef5d47136ae1a653bdedad2b37b5db9049c4", "module": "executor", "lid": 44633, "block": "2e49b371c7", "state_hash": "0xa7419a1f23c5dd0f75543499aec63f5a19ffa05cfefc2222406490fccdb6eb87", "duration": "1.008054682s", "count": 2, "skipped": 0, "rewards": 44, "name": "executor"} 2023-12-16T07:26:50.847Z	INFO	c6d00.blockGenerator	generated block (optimistic)	{"node_id": "c6d0075ddb273968baa24f686668ef5d47136ae1a653bdedad2b37b5db9049c4", "module": "blockGenerator", "layer_id": 44633, "block_id": "2e49b371c7", "name": "blockGenerator"} 2023-12-16T07:26:57.004Z	INFO	c6d00.blockCert	generating certificate	{"node_id": "c6d0075ddb273968baa24f686668ef5d47136ae1a653bdedad2b37b5db9049c4", "module": "blockCert", "requestId": "7cdf3c74-e1e8-44fa-a767-5c047d6f7e1d", "layer_id": 44633, "block_id": "2e49b371c7", "eligibility_count": 101, "num_msg": 101, "name": "blockCert"}
spacemesh log：
{
"timestamp": "2023-12-16T07:25:05.782055424Z",
"help": "Node published proposal. Rewards will be received once proposal is included in the block.",
"proposal": {
"layer": 44633,
"proposal": "kDDJ27KMkvFJ+QxNtZpr781SdbE="
}
}

me too

Could you please check with a more recent version of Go-spacemesh? There were multiple fixes for the network especially to accommodate the growth.
In the meantime what is your peer count on the Public nodes?
We had in the past situations where the public/private was misconfigured could you share please anonymised configs? When you replace node ids please replace the same IDs with the same string and when the node id is different please use a different string.

@pigmej
Dear Spacemesh Team,
Thank you for your prompt response. I've gathered feedback from other users experiencing the same issue, indicating that this is not an isolated incident. This problem has persisted in previous versions and continues in version 1.2.10. Additionally, I am not the sole user encountering this issue. My public node connection count is 24, and the configuration for one of my three public nodes across different IPs in the local network is as follows:
Public Node Configuration:
"p2p": {     "disable-reuseport": false,     "p2p-disable-legacy-discovery": true,     "autoscale-peers": true,     "bootnodes": [       // bootnode list here     ],     "direct": [ 	    // direct connections list here            "/ip4/<IP_ADDRESS>/tcp/6002/p2p/12D3KooWGRy3zzi3L78FXrPDGuMfhYJE4WCiiRz7LHdQLNdJaHHN", 	    "/ip4/<IP_ADDRESS>/tcp/6001/p2p/12D3KooWGebdETd67qCV82iT1Cop5ZVG3EfyPa8m9mFbnY3a6qbv"           ...............     ] }
Private Node Configuration:
"p2p": {     "listen": "/ip4/<IP_ADDRESS>/tcp/6004",     "disable-reuseport": false,     "p2p-disable-legacy-discovery": true,     "autoscale-peers": true,     "disable-dht": true,     "direct": [         "/ip4/<IP_ADDRESS>/tcp/7510/p2p/12D3KooWSqyS5UMQJTdNzsMn6iFBi86vgmuZsyF7u3V4C2AhcV66", 	    "/ip4/<IP_ADDRESS>/tcp/7511/p2p/12D3KooWJdTW12gcyL3jbpH1gd65rQJSADpDELKYsK4AKM8AFH9p", 	    "/ip4/<IP_ADDRESS>/tcp/7510/p2p/12D3KooWNBBcJNzMFjtkXKBmekvqy9izBZduy7E8tqnXnc1om9hZ"      ],     "bootnodes": [],     "min-peers": 3,     "low-peers": 10,     "high-peers": 20,     "inbound-fraction": 1,     "outbound-fraction": 0.5 }
I can confirm that each Node ID in the configurations provided is unique to avoid any conflicts within the network.
I believe these details regarding node configurations might be helpful in the investigation. If there's any additional information or specific tests required from my end to assist in resolving this issue, please let me know. I remain enthusiastic about contributing to the resolution process and eagerly await further guidance from your team.
Thank you for your continued attention and support.

To further assist in troubleshooting this issue, I would like to inquire whether it might be necessary to map certain ports to the public network. If configuring port mappings would aid in resolving network connectivity issues or assist in rectifying this bug, please advise accordingly. Your guidance on this matter would be greatly appreciated.

me too.
2023-12-17T21:10:03.187+0800    INFO    61fa9.conState  received mempool txs    {"node_id": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "module": "conState", "layer_id": 44990, "num_accounts": 0, "name": "conState"}
2023-12-17T21:10:03.358+0800    INFO    61fa9.proposalBuilder   proposal created        {"node_id": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "module": "proposalBuilder", "proposal_id": "6becc5b241", "transactions": 0, "mesh_hash": "bb36cf4892", "ballot_id": "e3e818b1e8", "layer_id": 44990, "epoch_id": 11, "smesher": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "opinion hash": "bb36cf4892", "base_ballot": "ef07cf5c0e", "support": 1, "against": 0, "abstain": 0, "atx_id": "fb3fc2cafe", "ref_ballot": "0000000000", "active set hash": "a8ca8d3a1c", "beacon": "a12acad4", "votes": {"base": "ef07cf5c0e", "support": [{"id": "26fec26137", "layer": 44989, "height": 84399}], "against": [], "abstain": []}, "latency": {"data": "3.039737309s", "tortoise": "21.158127ms", "txs": "251.167µs", "hash": "666.997µs", "publish": "170.306102ms", "total": "3.232119702s"}, "name": "proposalBuilder"}
2023-12-17T21:11:49.023+0800    INFO    61fa9.executor  optimistically executed block   {"node_id": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "module": "executor", "lid": 44990, "block": "5cf5eb5e03", "state_hash": "0xc3ffa88bc7811bad8bee35dd3d3ba70a7c734a8e1ee41dba34f41a4f67990fd0", "duration": "11.73444ms", "count": 2, "skipped": 0, "rewards": 47, "name": "executor"}
2023-12-17T21:11:49.033+0800    INFO    61fa9.blockGenerator    generated block (optimistic)    {"node_id": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "module": "blockGenerator", "layer_id": 44990, "block_id": "5cf5eb5e03", "name": "blockGenerator"}
2023-12-17T21:11:57.750+0800    INFO    61fa9.blockCert generating certificate  {"node_id": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "module": "blockCert", "requestId": "1f6dc18b-a0d0-41fd-995b-b2c1f1c5a189", "layer_id": 44990, "block_id": "5cf5eb5e03", "eligibility_count": 101, "num_msg": 101, "name": "blockCert"}
2023-12-17T21:16:49.125+0800    INFO    61fa9.executor  optimistically executed block   {"node_id": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "module": "executor", "lid": 44991, "block": "1778aa64b9", "state_hash": "0xd2206da39c478690f906fd515e246602d0fea834f72a6bb9474535185bba3a64", "duration": "116.362772ms", "count": 3, "skipped": 0, "rewards": 53, "name": "executor"}
2023-12-17T21:16:49.158+0800    INFO    61fa9.blockGenerator    generated block (optimistic)    {"node_id": "61fa9220c8a00af8627f2ef04843e8f0bdda6766db35b696c58ffb869e1fa572", "module": "blockGenerator", "layer_id": 44991, "block_id": "1778aa64b9", "name": "blockGenerator"}

Dear Spacemesh Team,
I hope this message finds you well. I am writing to provide feedback regarding a discrepancy observed in the port connections of my node, which seems to differ from the information outlined in the official documentation.
As per the official documentation, I expected certain port connections not to be established. However, upon checking, I noticed a consistent communication link on port 7513 of the node, indicating mutual communication on this port. Surprisingly, this communication appears to be successful, unlike what the documentation suggested.
Here is the output indicating the unexpected port connections:
ss -npO4 | rg spacemesh | rg 6000
tcp   ESTAB      0      0              <IP_ADDRESS>:7513        <IP_ADDRESS>:6000  users:(("go-spacemesh",pid=39165,fd=11))
tcp   ESTAB      0      0              <IP_ADDRESS>:6000        <IP_ADDRESS>:7513  users:(("go-spacemesh",pid=39202,fd=47))
This interaction on port 7513 seems to be facilitating successful synchronization between nodes without any apparent issues.
I am reaching out to bring this discrepancy to your attention. Should this observed connectivity on port 7513 be expected behavior, or does it signify a deviation from the standard setup outlined in the documentation? I would greatly appreciate any clarification or guidance on this matter.
If any additional information, tests, or adjustments to configurations are required from my end, please let me know. Your prompt assistance and insights into this matter would be immensely helpful.
Thank you for your attention and support in addressing this discrepancy.

@pigmej
I hope this message finds you well. I am reaching out regarding a warning message received by another user in the community. The warning message, which appears to be related to the miner not being active in a specific epoch, has raised concerns about potential block certification issues:
"errmsg": "oracle: miner is not active in epoch: 37b6a4bac25cfebef877e7fc06f9e251a25b3c81af084a6601700602dd617498", "name": "blockCert"}
I am curious to understand if this warning message is indicative of a broader issue within the Spacemesh network that might affect block certification. Additionally, could this potentially be related to the warning messages some users, including myself, have experienced regarding rewards not reflecting accurately?
I am keen to assist in providing any necessary information or conducting tests to help resolve these issues. Your insights and guidance on how to address this warning and its potential impact on block certification would be greatly appreciated.

After my initial inquiry, I've discovered that the warning message indicating "miner is not active in epoch" is not exclusive to a particular user. Interestingly, the warning is present on my public node as well, despite the node successfully performing block mining operations.

@bugxzhu from the config that you shared I assume that your public node listens on 7513 for p2p traffic, as it's not specified in the config. Or you omitted that config?
that log is about different node. The node_id mentioned there is a logger node, not the node about which it's reporting the situation.

@pigmej
here is reward log from another user.He has the same problem
2023-12-18T00:30:08.124Z        INFO    998c4.conState  received mempool txs    {"node_id": "998c49e8a4a5d41d0054debfbe613234fa6250c74b9ced2824876ec4bf7dc8f3", "module": "conState", "layer_id": 45126, "num_accounts": 0, "name": "conState"}
2023-12-18T00:30:08.365Z        INFO    998c4.proposalBuilder   proposal created        {"node_id": "998c49e8a4a5d41d0054debfbe613234fa6250c74b9ced2824876ec4bf7dc8f3", "module": "proposalBuilder", "proposal_id": "0cce61b82b", "transactions": 0, "mesh_hash": "9cc12b4c9f", "ballot_id": "354c14d6b9", "layer_id": 45126, "epoch_id": 11, "smesher": "998c49e8a4a5d41d0054debfbe613234fa6250c74b9ced2824876ec4bf7dc8f3", "opinion hash": "9cc12b4c9f", "base_ballot": "079a56e1e1", "support": 1, "against": 0, "abstain": 0, "atx_id": "d7d39243f7", "ref_ballot": "0000000000", "active set hash": "5b653449a6", "beacon": "a12acad4", "votes": {"base": "079a56e1e1", "support": [{"id": "6400c6d302", "layer": 45125, "height": 84445}], "against": [], "abstain": []}, "latency": {"data": "7.121110339s", "tortoise": "36.709681ms", "txs": "187.457µs", "hash": "1.049451ms", "publish": "239.208542ms", "total": "7.39826547s"}, "name": "proposalBuilder"}
2023-12-18T00:31:49.015Z        INFO    998c4.blockGenerator    no consensus on mesh hash. NOT doing optimistic filtering       {"node_id": "998c49e8a4a5d41d0054debfbe613234fa6250c74b9ced2824876ec4bf7dc8f3", "module": "blockGenerator", "layer_id": 45126, "name": "blockGenerator"}
2023-12-18T00:31:49.016Z        INFO    998c4.blockGenerator    generated block {"node_id": "998c49e8a4a5d41d0054debfbe613234fa6250c74b9ced2824876ec4bf7dc8f3", "module": "blockGenerator", "layer_id": 45126, "block_id": "43154f95d4", "name": "blockGenerator"}
2023-12-18T00:31:49.076Z        INFO    998c4.executor  executed block  {"node_id": "998c49e8a4a5d41d0054debfbe613234fa6250c74b9ced2824876ec4bf7dc8f3", "module": "executor", "lid": 45126, "block": "43154f95d4", "state_hash": "0x2756544a0e3f47ce7c26f32754ba8efff1da6faf2c25f844db92816fc83e2087", "duration": "23.990588ms", "count
{
"timestamp": "2023-12-18T00:30:08.365081358Z",
"help": "Node published proposal. Rewards will be received once proposal is included in the block.",
"proposal": {
"layer": 45126,
"proposal": "DM5huCuF5jFVBGHDrPfVx/qsNhU="
config
"p2p": {
"disable-reuseport": false,
"p2p-disable-legacy-discovery": true,
"autoscale-peers": true,
"bootnodes": [],
"direct": [
"/ip4/<IP_ADDRESS>/tcp/7513/p2p/12D3KooWATQ82He4jvCfJkBZM1",
"/ip4/<IP_ADDRESS>/tcp/7513/p2p/12D3KooWB9MK7c3RG3b73q1Gm",
"/ip4/<IP_ADDRESS>/tcp/7513/p2p/12D3KooWPQxLueoARSqvw4Th7V",
"/ip4/<IP_ADDRESS>/tcp/7513/p2p/12D3KooWBqkUMBUfEEX5YNKcVL"
],
"disable-dht": true,
"min-peers": 5,
"low-peers": 10,
"high-peers": 20,
"inbound-fraction": 1,
"outbound-fraction": 0.5
},
"logging": {
"p2p": "error"
},
"cache": {
"atx-size": 500000

Two things.
Increase the amount of the peers, 10 peers as low-peers is way too low for any reliable propagation
Second item, as you noticed we're experiencing huge growth. We have created https://github.com/spacemeshos/go-spacemesh/issues/5366 to track the possible improvements.

Third item @bugxzhu please make sure that the configs are correct, because 100% the ones that you shared can't work reliably (wrong ports at best).

@pigmej
Thank you for your prompt response and the valuable information provided previously.
Regarding the discussion on block certification warnings and their potential impact on reward distribution, I am curious to explore whether the internal nodes require additional connections to public nodes to prevent reward loss. Does the warning message about miner inactivity in specific epochs imply that a mere 10 connections from internal nodes to public nodes may not be sufficient to ensure the accurate distribution of rewards?
Would increasing the number of connections from internal nodes to public nodes beyond the existing count of 10 potentially address or mitigate the risk of reward loss? Understanding the correlation between the number of connections and the accurate reflection of rewards in the network is crucial for optimizing the internal node configuration.

In short the more connections you have the less likely you're going to miss rewards, because the most likely network will get it in time.
However the network is a bit overwhelmed currently so we're in less than ideal situation.


Nft tutorial update

Update NFT tutorials to include steps on minting a metadata.json file so users have a preview of their NFT.

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


Improve messaging for job execute command

Change Polling job status... and Current status is messages with the spinner.
Only print a message when the status changes.

include the URI


Retrieve LaunchConfiguration as a string

Description
It often happens that we want to use the launch file argument (as a string) as a part of the path to the URDF file. Unfortunately, it is not possible to use the str() method on the LaunchConfiguration object. The problem seems common to me, but the solution is missing from the ROS 2 tutorials page, and can only be found on the ROS Answers forum.
Use case
Suppose we have a launch file to display the URDF model of the robots from the Star Wars movies - R2D2 and C3P0. It is more convenient to launch the launch file by specifying the robot model (ros2 launch urdf_pkg display.launch.py robot_model:=r2d2), rather than the path to the URDF file (ros2 launch urdf_pkg display.launch.py robot_model:=install/urdf_pkg/share/urdf_pkg/r2d2_model.urdf).
Solution
Use launch.actions.OpaqueFunction - I've included a short example below.
import os
from ament_index_python.packages import get_package_share_directory
from launch import LaunchDescription
from launch.substitutions import Command
from launch_ros.actions import Node
from launch.substitutions import Command, LaunchConfiguration
from launch.actions import DeclareLaunchArgument, OpaqueFunction

def launch_setup(context, *args, **kwargs):

    robot_model = LaunchConfiguration('robot_model').perform(context) # retrieving the launch configuration, as a string.

    display_model = Node(
        package='robot_state_publisher',
        executable='robot_state_publisher',
        parameters=[{
            'robot_description': Command(['xacro ', os.path.join(get_package_share_directory('urdf_pkg'), robot_model + '_model.urdf')])
        }]
        )

    run_rviz = Node(
        package='rviz2',
        executable='rviz2',
        name='rviz2',
        output='screen',
        arguments=['-d', os.path.join(get_package_share_directory('urdf_pkg'), robot_model + '_config.rviz')]
        )

    joint_state_publisher_gui = Node(
        package='joint_state_publisher_gui',
        executable='joint_state_publisher_gui',
        name='joint_state_publisher_gui',
        )

    return [display_model,
            run_rviz,
            joint_state_publisher_gui]

def generate_launch_description():

    return LaunchDescription([
        DeclareLaunchArgument(name='robot_model', default_value='r2d2', choices=['r2d2', 'c3p0']),
        OpaqueFunction(function=launch_setup)
    ])

The problem was mentioned at the following links:

ROS2 launch file: how to convert LaunchArgument to string
Access launch argument in LaunchFile ROS2
How to access the runtime value of a LaunchConfiguration instance within custom launch code (injected via an OpaqueFunction) in ROS2?

Well I was a bit wrong, using opaque function technical makes this no prematurely evaluating it but it also makes it impossible to introspect, as anything that happens in the opaque function cannot be looked at by launch.
Using the configuration as a substitution is still the right answer imo.

@wjwwood Thanks for the answer :+1: Looking for a way how the launch file argument can be used to make a file path, I came across rosetta_launch repository by David Lu. He writes there explicitly that

When evaluating the substitutions, lists of strings/substitutions are concatenated.

In my opinion, people reach for OpaqueFunction because they want to make a file path assembly using "+" for string concatenation. I would suggest adding the above sentence to the Using substitutions tutorial to highlight that you do not need to convert LaunchConfiguration to string.
I removed the OpaqueFunction from my example, and now it seems to look like it should:
    display_model = Node(
        package='robot_state_publisher',
        executable='robot_state_publisher',
        parameters=[{
            'robot_description': Command(['xacro ', PathJoinSubstitution([get_package_share_directory('lab2'), LaunchConfiguration('manipulator_type')]), "_manipulator.urdf" ])
        }]
        )

    run_rviz = Node(
        package='rviz2',
        executable='rviz2',
        name='rviz2',
        output='screen',
        arguments=['-d', [PathJoinSubstitution([get_package_share_directory('lab2'), LaunchConfiguration('manipulator_type')]), "_config.rviz"]]
        )


Midnight time bug

This is the actual PR that's going into master
Fixes #87
Originally if today is Monday and you input add test event from Sunday 5pm to 8pm it will process start time next Sunday 5pm and end time previous Monday 8pm.
Now when you do add test event from Sunday 5pm to 8pm, it will do start time next Sunday 5pm and end time next Sunday 8pm

@rachx please review

This fixes #78 too

Coverage decreased (-0.3%) to 84.343% when pulling a09c52de040ffcd08df66789ce2ec992b5434d1a on time-bugs into 3b3470f26ef05f433072ff4d3e60d22c43f5d18f on master.

Coverage decreased (-0.3%) to 84.343% when pulling e61911efb54d33c54e32739a6dc660a20108afae on time-bugs into 20430b7f421532722319fa84cdb0473b4197d04a on master.

@coveralls will no longer leave comments on PRs now. That was too irritating.

Can you move it somewhere so it will work for re-scheduling too?
Maybe the HashMap etc can be in the DateTimeParser and ensure that end time is after start time

Good point, it could be the objective of DateTimerParser to return the “right” end time all the time. I’ll do that, thanks.

@rachx Ready for re-review

Good point, it could be the objective of DateTimerParser to return the “right” end time all the time. I’ll do that, thanks.

On 27 Oct 2016, at 8:00 PM, rachx<EMAIL_ADDRESS>wrote:
Can you move it somewhere so it will work for re-scheduling too?
Maybe the HashMap etc can be in the DateTimeParser and ensure that end time is after start time
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/CS2103AUG2016-W11-C2/main/pull/125#issuecomment-256621702, or mute the thread https://github.com/notifications/unsubscribe-auth/AAGW1oIhUFsh3YVMtTPSDBvZ8YVRaSzfks5q4JJVgaJpZM4Kh_Q-.


Add question about CAP_SYS_ADMIN

I didn't actually test that this works but this is my idea for a question.

Omg hi yay!!!! I'll try it tomorrow!
On Sunday, July 17, 2016, Julia Evans<EMAIL_ADDRESS>wrote:

I didn't actually test that this works but this is my idea for a question.
You can view, comment on, or merge this pull request online at:
https://github.com/jfrazelle/contained.af/pull/5
Commit Summary

Add question about CAP_SYS_ADMIN

File Changes

M static/js/questions.js
https://github.com/jfrazelle/contained.af/pull/5/files#diff-0 (8)

Patch Links:

https://github.com/jfrazelle/contained.af/pull/5.patch
https://github.com/jfrazelle/contained.af/pull/5.diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jfrazelle/contained.af/pull/5, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYNbDCVcHYZ3_efVHMrbaEOXVGKlmPcks5qWbtggaJpZM4JOJ_L
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

(i mean the mount -t tmpfs thing will fail; i just didn't build the project :) )

Oh ya totally! :)
On Sunday, July 17, 2016, Julia Evans<EMAIL_ADDRESS>wrote:

(i mean the mount -t tmpfs thing will fail; i just didn't build the
project :) )
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/jfrazelle/contained.af/pull/5#issuecomment-233165932,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYNbBX8oxEXhsOOxFbd2DDWY7FtDzHxks5qWbybgaJpZM4JOJ_L
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

Sweet I'll deploy it tomorrow :D

(Don't judge me for not having auto deploys it's a huge cluster I'm openly asking people to hack hahahaha)


Segment fault with arm-linux in iotjs

Please read https://github.com/Samsung/iotjs/issues/117#issuecomment-118208460 for details.
JerryScript standalone built for arm-linux running in RPi2 is ok.

Changing  jmp_buf size from 14 to 16 solves this.
typedef uint64_t jmp_buf[14];

@ruben-ayrapetyan ,  can you guess why this could solve the problem? :)

#294

@seanshpark,
seems that jerry, built for iotjs, uses headers of jerry-libc, while actually it is linked to another libc (libc?).
The another libc has its own implementation of setjmp with another jmp_buf layout (probably, 256 bytes, as specified in glibc's setjmp.h for arm-linux-gnueabihf).
When switching to 16 elements, size of jmp_buf changes to 128 bytes. May be, the size is not really enough for the another setjmp implementation, and the failure just becomes hidden, until some little change in memory layout.
To solve the issue, correct include path of an actually used libc's should be set.
What do you think of the following options?

pass EXTERNAL_LIBC_INTERFACE options from tools/build.py of iotjs to jerry with correct include path;
introduce another jerry's build option, like USE_DEFAULT_LIBC, for switching jerry to include path of default libc, provided by compiler.

@ruben-ayrapetyan , thank you very much for the analysis.
USE_DEFAULT_LIBC will be nice.  extracting compiler (there can be many) include path can be an issue in some cases. or is there any simple way?
I'v tried with EXTERNAL_LIBC_INTERFACE and seems to work ok with jmp_buf size 14.

@ruben-ayrapetyan ,
I've made a patch: https://github.com/seanshpark/jerryscript/commit/cef7eebed21334cfac643aa8f36c0acd2e8140c9
This works with IoT.js but option is not exposed to Makefile. I'm not sure about the needs to other options and side effects it may cause so did not touch much. Can you review this?
And ... I can think of three options about this.

just merge as is and expand later when needed; simple
you can make what you were thinking and drop this(it's ok); depends on your time
you can guide me to expand this; may take some time

@seanshpark, could you, please, check #331?
The patch:

adds USE_COMPILER_DEFAULT_LIBC option to CMakeLists.txt and Makefile: in case USE_COMPILER_DEFAULT_LIBC option is specified, USE_JERRY_LIBC flag is turned off;
removes -nostdlib option in case USE_JERRY_LIBC mode is turned on;
removes imported_libc target;
turns off setup of LIBC_TARGET_NAME variable for case USE_JERRY_LIBC is turned off (in the case nostdlib is not specified, so compiler's default libc is linked).

Wonderful! #331 works perfect. Thank you very much!

@seanshpark, thank you!

close as #313 and #343 landed


Stuttering on large Images still present

Until v2.3.5 I could see the stutter, but now the Stuttering has been fixed.

Even while scrolling up or down very fast, there is no stutter now.
Now I do not see any stutter except in large images of size (2000 x width).
If you want to test it yourself, I can send the images to you.

By the way, what does scroll speed 1 and 2 do?
Thank you for fixing the stuttering issue.

Thank you for being patient for stuttering issue.

If you want to test it yourself, I can send the images to you.

I tested with 4k images myself, so no need for that.

By the way, what does scroll speed 1 and 2 do?

scroll 1 is w/s or arrow up/down (by default)
scroll 2 is space/ shift space (by default)
Now you can have 2 different scrolling speed on keypress.
Close issue if nothing to comment.

Thats weird, because there is no stuttering for me now. Can you tell me your system spec, it might be the reason for stuttering. Or upload the folder whose video these are on https://github.com/alenwai/Stutter-Example, so I can test them on my system.

Okay, so its stuttering for me as well. I will look into it. Sorry for your inconvenience

Thanks for the suggestion, I will check it out.

Thank you so much for providing these resources, I will try my best to fix it. Hopefully it is in this framework

I'm very sorry, there might not be a solution for this, but I will keep trying.
As of now I recommend not using images with very high resolution (except its height) as you won't get greater quality unless your display is 4k and it will take lot of CPU usage to render and scale down to fit screen.
Sorry for not able to fix it. I'm only solo developers and I don't have any contacts with other developers.


Add a chapter with companies practice InnerSource

Is your feature request related to a problem? Please describe.
Now it's unclear what companies applies InnerSource approaches in their work.
Describe the solution you'd like
Collect & put companies logos on the home or about page. Maybe to concatenate this with the survey results.

One example of a very simple format for a list of adopters:
https://github.com/backstage/backstage/blob/master/ADOPTERS.md

One example of a very simple format for a list of adopters:
https://github.com/backstage/backstage/blob/master/ADOPTERS.md

The starting point for this task can be the regular Danese's slide: https://youtu.be/ddlb3gh4WwE?t=925

The starting point for this task can be the regular Danese's slide: https://youtu.be/ddlb3gh4WwE?t=925

Can we name this page "InnerSource in Action" and place it under Learn in between Books and Learning Path? Katie compiled a list of companies and quotes to go on this page that we can populate later.

I for one like the name InnerSource in Action.
Sounds like something with force :)

Great! The list of companies with quotes is the right what is needed in our site to prove InnerSource adoption.
IMHO, it’s not clear before opening what is the content located in the section with the name “InnerSource in action”. Maybe Companies section in the root menu level will be more clear?

The plan for that page is the place for the future to put all evidence we have regarding use of InnerSource:

Logos of companies who have declared in public they are using InnerSource
Quotes from articles and videos we have
Links to podcasts/videos/case studies we hope to create in the future (outside the context of the summits).

I love "InnerSource in Action" as a link as well - maybe something to check with a wider audience as to what fits best for people.
Are there other options/ideas other than "InnerSource in Action" or "Companies" we could include?

Hi All, Here is the list of companies that have stated they are using InnerSource with links to where they made the statements
I like the name "InnerSource In Action"
https://docs.google.com/document/d/1CwkYscAoEahVnwLjjdwTC-4jxc_kHI_HdVwpMP0H_sI/edit?usp=sharing

Decided: let’s go with “InnerSource in Action” :)
Any thoughts about the placing of this page? A have doubts for the “Learn” section... If we’ll think in a way that people will "learn" about InnerSource on this page then it will be possible to mark any page on the site as a page promoting learning :)

I was thinking of it as "learn where InnerSource is used" - and we will be including insights into how people are using InnerSource in the future... But happy to consider other places.
It will be a high profile page in the future - as a destination for a lot of our outreach work aimed at changing behaviour / raising awareness starts with celebrating third party case stories/ evidence of InnerSource use.
On the learning/change path at an organisational level - "who's doing it today?" typically gets asked before "how do I get started?". I see the Learn tab as the place for all our resources that helps people on the path to InnerSource, including the evidence pieces.

https://innersourcecommons.net/community/action/ @clcoffey

Hi Dmitrii, I am not sure how this happened but this page used to have a picture at the top with all the logos of the companies that are using InnerSource. We will have to add them back somehow, maybe at the bottom. It would be great if we could find a way to add them one by one rather than all of them in one picture.

Yeah as you can see in the code I've done some changes with coding and now there is the special {{< company >}} tag exists. Let's try to list all separate logos in that way:
      {{< company name="PayPal" image="/images/logos/paypal.png" >}}{{< /company >}}
      {{< company name="PayPal" image="/images/logos/paypal.png" >}}{{< /company >}}
      ...

Oh that's brilliant! Thanks Dmitrii!

I think keeping all logos in separate files will be great for being able to add new companies easily in the future.

Yes, you are right! :-)

I've made a change to clarify that the list is about people who have publicly referenced their InnerSource usage (note they are not necessarily part of ISC): https://github.com/InnerSourceCommons/innersourcecommons.net/pull/64
The page looks great BTW - thanks @voborgus, @clcoffey and @Katiegilroyy. We probably can close this issue now.