text:
Ribbon Workbench 2016 Beta changes all Translations to Base Language

We changed some Visibility Settings using the Ribbon Workbench. After uploading and Publishing it to CRM, the Button Translations for German, Dutch and Chinese were gone. Only the Values in the Base Language English remained.
I just tried it now and created a Solution for one Entity, loaded it the Workbench and translated one Button.
Then I closed it again, checked the Translation in CRM and they were in German.
When loading it in the Workbench again and opening the German Labels for the Button, they appear in English again.
I did not publish this again, but in the Workbench they appear all in English.

Hi!
Thanks for reporting this. There were some issues with translations prior to version 3.0.17 - could you let me know which version you were using?
Do you have any screenshots you could share so that I can try and reproduce the issue?
Thanks,
Scott

Hello Scott,
thanks for you fast answer!
I am using XrmToolbox v1.2016.8.23 with Ribbon Workbench 3.0.18.0
We use CRM 2016 SP1
And here Comes a Screenshot of the Buttons after I translated the second one today:

The First one is english the second one is in german.
Yesterday I translated the first one. Today I translated the second one, which worked fine.

But as you can see on the last Screenshot it seems, RibbonWorkbench loaded english Labels instead of the german ones from my Translation yesterday. When I publish this, it uploads the english text seen here and the button is english again.

Greetings,
Jürgen

Thanks for this! Could you post your ribbonxml from the xml tab before and after the change in the Ribbon Workbench? Thanks

OK, this is the XML after newly opening the Workbench. At this Point the Button "Open Product DB" was still translated:
<RibbonDiffXml>   <CustomActions>     <HideCustomAction HideActionId="new.Mscrm.Form.akq_meetingnote.AddOtherActivities.Hide" Location="Mscrm.Form.akq_meetingnote.AddOtherActivities" />     <CustomAction Id="tu.ribbonGroup.CustomAction" Location="Mscrm.Form.akq_meetingnote.MainTab.Groups._children" Sequence="55">       <CommandUIDefinition>         <Group Command="Template.akq_meetingnote.form.CustomGroup.Command" Description="$LocLabels:ribbonGroup.Title" Id="ribbonGroup" Image32by32Popup="$webresource:akq_turcklogo32" Sequence="55" Template="Mscrm.Templates.Flexible2" Title="$LocLabels:ribbonGroup.Title">           <Controls Id="Template.akq_meetingnote.form.CustomGroup.Controls">             <Button Command="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command" Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.LabelText" Sequence="10" TemplateAlias="isv" ToolTipTitle="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipTitle" ToolTipDescription="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipDescription" />             <Button Command="Template.akq_meetingnote.CustomGroup.Button.Sample.Command" Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.Sample.LabelText" Sequence="20" TemplateAlias="isv" ToolTipTitle="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipTitle" ToolTipDescription="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipDescription" />             <Button Command="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.Command" Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.LabelText" Sequence="40" TemplateAlias="isv" ToolTipTitle="$LocLabels:TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipTitle" ToolTipDescription="$LocLabels:TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipDescription" />             <Button Command="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command" Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.LabelText" Sequence="60" TemplateAlias="isv" ToolTipTitle="$LocLabels:AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipTitle" ToolTipDescription="$LocLabels:AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipDescription" />             <Button Command="Mscrm.akq_meetingnote.Button.CreateSupportCase.Command" Id="Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.LabelText" Sequence="65" TemplateAlias="isv" ToolTipDescription="$LocLabels:Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.ToolTipDescription" />           </Controls>         </Group>       </CommandUIDefinition>     </CustomAction>     <CustomAction Id="tu.ribbonMaxSize.CustomAction" Location="Mscrm.Form.akq_meetingnote.MainTab.Scaling._children" Sequence="70">       <CommandUIDefinition>         <MaxSize GroupId="ribbonGroup" Id="ribbonMaxSize" Sequence="70" Size="LargeLarge" />       </CommandUIDefinition>     </CustomAction>   </CustomActions>   <Templates>     <RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>   </Templates>   <CommandDefinitions>     <CommandDefinition Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule" />         <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule2" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_Applications" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Mscrm.akq_meetingnote.Button.CreateSupportCase.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="Mscrm.akq_meetingnote.DisplayRule.IsButtonDisplayedCreateSupportCase" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_CreateSupportCase" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command.DisplayRule.ValueRule" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_NewOpportunity" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Template.akq_meetingnote.CustomGroup.Button.Sample.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.Sample.Command.DisplayRule.ValueRule" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_NewShipping" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Template.akq_meetingnote.form.CustomGroup.Command">       <EnableRules>         <EnableRule Id="EnableRules.WebOrOutlookClient" />         <EnableRule Id="EnableRules.Exist" />       </EnableRules>       <DisplayRules>         <DisplayRule Id="DisplayRules.WebOrOutlookClient" />         <DisplayRule Id="DisplayRules.Exist" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions />     </CommandDefinition>     <CommandDefinition Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_OpenProductDb" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>   </CommandDefinitions>   <RuleDefinitions>     <TabDisplayRules />     <DisplayRules>       <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule">         <ValueRule Field="akq_primaryaccountid" Value="" InvertResult="true" />       </DisplayRule>       <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule2">         <ValueRule Field="akq_isbuttondisplayedapplications" Value="1" Default="false" InvertResult="false" />       </DisplayRule>       <DisplayRule Id="DisplayRules.Exist">         <FormStateRule State="Create" InvertResult="true" />       </DisplayRule>       <DisplayRule Id="DisplayRules.HideInApp">         <CommandClientTypeRule Type="Modern" InvertResult="true" />       </DisplayRule>       <DisplayRule Id="DisplayRules.WebOrOutlookClient">         <OrRule>           <Or>             <CrmClientTypeRule Type="Web" />           </Or>           <Or>             <CrmClientTypeRule Type="Outlook" />           </Or>         </OrRule>       </DisplayRule>       <DisplayRule Id="Mscrm.akq_meetingnote.DisplayRule.IsButtonDisplayedCreateSupportCase">         <ValueRule Field="akq_isbuttondisplayedcreatesupportcase" Value="1" Default="false" InvertResult="false" />       </DisplayRule>       <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command.DisplayRule.ValueRule">         <ValueRule Field="akq_relatedopportunityid" Value="" InvertResult="false" />       </DisplayRule>       <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.Sample.Command.DisplayRule.ValueRule">         <ValueRule Field="akq_isbuttondisplayednewshipping" Value="1" Default="false" InvertResult="false" />       </DisplayRule>     </DisplayRules>     <EnableRules>       <EnableRule Id="EnableRules.Exist">         <FormStateRule State="Create" InvertResult="true" />       </EnableRule>       <EnableRule Id="EnableRules.WebOrOutlookClient">         <OrRule>           <Or>             <CrmClientTypeRule Type="Web" />           </Or>           <Or>             <CrmClientTypeRule Type="Outlook" />           </Or>         </OrRule>       </EnableRule>     </EnableRules>   </RuleDefinitions>   <LocLabels>     <LocLabel Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.LabelText">       <Titles>         <Title description="Applications" languagecode="1033" />         <Title description="Applications" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipDescription">       <Titles>         <Title description="Opens the application database" languagecode="1033" />         <Title description="Opens the application database" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipTitle">       <Titles>         <Title description="Applications" languagecode="1033" />         <Title description="Applications" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.LabelText">       <Titles>         <Title description="Create Support Case" languagecode="1033" />         <Title description="Create Support Case" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.ToolTipDescription">       <Titles>         <Title description="Click here to create a new support case." languagecode="1033" />         <Title description="Click here to create a new support case." languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="ribbonGroup.Title">       <Titles>         <Title description="Turck" languagecode="1033" />         <Title description="Turck" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.LabelText">       <Titles>         <Title description="New Opportunity" languagecode="1033" />         <Title description="New Opportunity" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipDescription">       <Titles>         <Title description="Creates a new Opportunity from this Meeting Note" languagecode="1033" />         <Title description="Creates a new Opportunity from this Meeting Note" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipTitle">       <Titles>         <Title description="New Opportunity" languagecode="1033" />         <Title description="New Opportunity" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample.LabelText">       <Titles>         <Title description="New Shipping" languagecode="1033" />         <Title description="New Shipping" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipDescription">       <Titles>         <Title description="Sends documentation or sample material to a prospect" languagecode="1033" />         <Title description="Sends documentation or sample material to a prospect" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipTitle">       <Titles>         <Title description="New Shipping" languagecode="1033" />         <Title description="New Shipping" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.LabelText">       <Titles>         <Title description="Open Product DB" languagecode="1033" />         <Title description="Produktdatenbank öffnen" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipDescription">       <Titles>         <Title description="Shortcut to the product database." languagecode="1033" />         <Title description="Hiermit öffnen Sie die Produktdatenbank um nach passenden Produkten zu suchen." languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipTitle">       <Titles>         <Title description="Open Product DB" languagecode="1033" />         <Title description="Öffnet die Produktdatenbank" languagecode="1031" />       </Titles>     </LocLabel>   </LocLabels> </RibbonDiffXml>
Then I changed only the german value of the first Button "New Opportunity" and published it. Then the XML is this and the Translation of the other button is gone:
<?xml version="1.0" encoding="utf-16"?> <RibbonDiffXml xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">   <CustomActions>     <CustomAction Id="tu.ribbonGroup.CustomAction" Location="Mscrm.Form.akq_meetingnote.MainTab.Groups._children" Sequence="55">       <CommandUIDefinition>         <Group Command="Template.akq_meetingnote.form.CustomGroup.Command" Description="$LocLabels:ribbonGroup.Title" Id="ribbonGroup" Image32by32Popup="$webresource:akq_turcklogo32" Sequence="55" Template="Mscrm.Templates.Flexible2" Title="$LocLabels:ribbonGroup.Title">           <Controls Id="Template.akq_meetingnote.form.CustomGroup.Controls">             <Button Command="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command" Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.LabelText" Sequence="10" TemplateAlias="isv" ToolTipTitle="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipTitle" ToolTipDescription="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipDescription" />             <Button Command="Template.akq_meetingnote.CustomGroup.Button.Sample.Command" Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.Sample.LabelText" Sequence="20" TemplateAlias="isv" ToolTipTitle="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipTitle" ToolTipDescription="$LocLabels:Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipDescription" />             <Button Command="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.Command" Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.LabelText" Sequence="40" TemplateAlias="isv" ToolTipTitle="$LocLabels:TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipTitle" ToolTipDescription="$LocLabels:TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipDescription" />             <Button Command="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command" Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.LabelText" Sequence="60" TemplateAlias="isv" ToolTipTitle="$LocLabels:AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipTitle" ToolTipDescription="$LocLabels:AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipDescription" />             <Button Command="Mscrm.akq_meetingnote.Button.CreateSupportCase.Command" Id="Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase" Image32by32="$webresource:akq_turcklogo32" Image16by16="$webresource:akq_turcklogo16" LabelText="$LocLabels:Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.LabelText" Sequence="65" TemplateAlias="isv" ToolTipDescription="$LocLabels:Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.ToolTipDescription" />           </Controls>         </Group>       </CommandUIDefinition>     </CustomAction>     <CustomAction Id="tu.ribbonMaxSize.CustomAction" Location="Mscrm.Form.akq_meetingnote.MainTab.Scaling._children" Sequence="70">       <CommandUIDefinition>         <MaxSize GroupId="ribbonGroup" Id="ribbonMaxSize" Sequence="70" Size="LargeLarge" />       </CommandUIDefinition>     </CustomAction>     <HideCustomAction HideActionId="new.Mscrm.Form.akq_meetingnote.AddOtherActivities.Hide" Location="Mscrm.Form.akq_meetingnote.AddOtherActivities" />   </CustomActions>   <Templates>     <RibbonTemplates Id="Mscrm.Templates" />   </Templates>   <CommandDefinitions>     <CommandDefinition Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule" />         <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule2" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_Applications" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Mscrm.akq_meetingnote.Button.CreateSupportCase.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="Mscrm.akq_meetingnote.DisplayRule.IsButtonDisplayedCreateSupportCase" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_CreateSupportCase" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command.DisplayRule.ValueRule" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_NewOpportunity" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Template.akq_meetingnote.CustomGroup.Button.Sample.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.Sample.Command.DisplayRule.ValueRule" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_NewShipping" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>     <CommandDefinition Id="Template.akq_meetingnote.form.CustomGroup.Command">       <EnableRules>         <EnableRule Id="EnableRules.WebOrOutlookClient" />         <EnableRule Id="EnableRules.Exist" />       </EnableRules>       <DisplayRules>         <DisplayRule Id="DisplayRules.WebOrOutlookClient" />         <DisplayRule Id="DisplayRules.Exist" />         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions />     </CommandDefinition>     <CommandDefinition Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.Command">       <EnableRules />       <DisplayRules>         <DisplayRule Id="DisplayRules.HideInApp" />       </DisplayRules>       <Actions>         <JavaScriptFunction FunctionName="MeetNoteButton.OnClick_OpenProductDb" Library="$webresource:akq_meetingnote_button" />       </Actions>     </CommandDefinition>   </CommandDefinitions>   <RuleDefinitions>     <TabDisplayRules />     <DisplayRules>       <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule">         <ValueRule Field="akq_primaryaccountid" Value="" InvertResult="true" />       </DisplayRule>       <DisplayRule Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.Command.DisplayRule.ValueRule2">         <ValueRule Field="akq_isbuttondisplayedapplications" Value="1" Default="false" InvertResult="false" />       </DisplayRule>       <DisplayRule Id="DisplayRules.Exist">         <FormStateRule State="Create" InvertResult="true" />       </DisplayRule>       <DisplayRule Id="DisplayRules.HideInApp">         <CommandClientTypeRule Type="Modern" InvertResult="true" />       </DisplayRule>       <DisplayRule Id="DisplayRules.WebOrOutlookClient">         <OrRule>           <Or>             <CrmClientTypeRule Type="Web" />           </Or>           <Or>             <CrmClientTypeRule Type="Outlook" />           </Or>         </OrRule>       </DisplayRule>       <DisplayRule Id="Mscrm.akq_meetingnote.DisplayRule.IsButtonDisplayedCreateSupportCase">         <ValueRule Field="akq_isbuttondisplayedcreatesupportcase" Value="1" Default="false" InvertResult="false" />       </DisplayRule>       <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.NewOpp.Command.DisplayRule.ValueRule">         <ValueRule Field="akq_relatedopportunityid" Value="" InvertResult="false" />       </DisplayRule>       <DisplayRule Id="Template.akq_meetingnote.CustomGroup.Button.Sample.Command.DisplayRule.ValueRule">         <ValueRule Field="akq_isbuttondisplayednewshipping" Value="1" Default="false" InvertResult="false" />       </DisplayRule>     </DisplayRules>     <EnableRules>       <EnableRule Id="EnableRules.Exist">         <FormStateRule State="Create" InvertResult="true" />       </EnableRule>       <EnableRule Id="EnableRules.WebOrOutlookClient">         <OrRule>           <Or>             <CrmClientTypeRule Type="Web" />           </Or>           <Or>             <CrmClientTypeRule Type="Outlook" />           </Or>         </OrRule>       </EnableRule>     </EnableRules>   </RuleDefinitions>   <LocLabels>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.LabelText">       <Titles>         <Title description="New Opportunity" languagecode="1033" />         <Title description="Neue Verkaufschance" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipTitle">       <Titles>         <Title description="New Opportunity" languagecode="1033" />         <Title description="Neue Verkaufschance anlegen" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.NewOpp.ToolTipDescription">       <Titles>         <Title description="Creates a new Opportunity from this Meeting Note" languagecode="1033" />         <Title description="Erstellte eine neue Verkaufschance aus dieser Gesprächsnotiz" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample.LabelText">       <Titles>         <Title description="New Shipping" languagecode="1033" />         <Title description="New Shipping" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipTitle">       <Titles>         <Title description="New Shipping" languagecode="1033" />         <Title description="New Shipping" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Template.akq_meetingnote.form.CustomGroup.Button.Sample.ToolTipDescription">       <Titles>         <Title description="Sends documentation or sample material to a prospect" languagecode="1033" />         <Title description="Sends documentation or sample material to a prospect" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.LabelText">       <Titles>         <Title description="Open Product DB" languagecode="1033" />         <Title description="Open Product DB" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipTitle">       <Titles>         <Title description="Open Product DB" languagecode="1033" />         <Title description="Open Product DB" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="TurckTemplate.akq_meetingnote.form.CustomGroup.OpenProductDb.ToolTipDescription">       <Titles>         <Title description="Shortcut to the product database." languagecode="1033" />         <Title description="Shortcut to the product database." languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.LabelText">       <Titles>         <Title description="Applications" languagecode="1033" />         <Title description="Applications" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipTitle">       <Titles>         <Title description="Applications" languagecode="1033" />         <Title description="Applications" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="AkqTemplate.akq_meetingnote.form.CustomGroup.Applications.ToolTipDescription">       <Titles>         <Title description="Opens the application database" languagecode="1033" />         <Title description="Opens the application database" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.LabelText">       <Titles>         <Title description="Create Support Case" languagecode="1033" />         <Title description="Create Support Case" languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="Mscrm.akq_meetingnote.Form.TurckGroup.CreateSupportCase.ToolTipDescription">       <Titles>         <Title description="Click here to create a new support case." languagecode="1033" />         <Title description="Click here to create a new support case." languagecode="1031" />       </Titles>     </LocLabel>     <LocLabel Id="ribbonGroup.Title">       <Titles>         <Title description="Turck" languagecode="1033" />         <Title description="Turck" languagecode="1031" />       </Titles>     </LocLabel>   </LocLabels> </RibbonDiffXml>

Thank you! It looks like this is a regression issue. I'll fix it asap!

Ok - this should be fixed now in version 3.0.20.
Could you give it a go and let me know?!

Hey Scott,
I tried it now and got an error message when opening my solution:
RBW:3.0.20.9,CRM:8.1.0.359
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
bei Develop1.Xrm.Silverlight.Ribbon.Model.RibbonElementBase.get_Labels()
bei WriteEnableRuleToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , ClassDataContract , XmlDictionaryString[] )
bei System.Runtime.Serialization.Json.JsonClassDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
bei WriteArrayOfEnableRuleToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , CollectionDataContract )
bei System.Runtime.Serialization.Json.JsonCollectionDataContract.WriteJsonValueCore(XmlWriterDelegator jsonWriter, Object obj, XmlObjectSerializerWriteContextComplexJson context, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.WriteDataContractValue(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(DataContract dataContract, XmlWriterDelegator xmlWriter, Object obj, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
bei System.Runtime.Serialization.XmlObjectSerializerWriteContextComplex.InternalSerialize(XmlWriterDelegator xmlWriter, Object obj, Boolean isDeclaredType, Boolean writeXsiType, Int32 declaredTypeID, RuntimeTypeHandle declaredTypeHandle)
bei WriteSolutionElementOfEnableRuleD2tZSx1yToJson(XmlWriterDelegator , Object , XmlObjectSerializerWriteContextComplexJson , ClassDataContract , XmlDictionaryString[] )
bei System.Runtime.Serialization.Js

I am having a problem with translating my ribbon button, it shows on English but on Croatian it does not.

authors: EmirSab JuergenOe scottdurow

repo: scottdurow/RibbonWorkbench


text:
Adds an index.ts file to the generated library for easy use of all types

With the addition of the index.ts file users can now use any type provided by this library without needing to import a specific sub-module.
For example:
import { Account } from './dataverse-gen';

vs
import { Account } from './dataverse-gen/entities/Account';

This is useful because it decreases the knowledge necessary and allows all exports to be exposed and browsed from a single file so future developers can easily understand the full scope of what is available.

Thanks for this - I'll get this merged into version 2 which should hopefully be in a stable beta state in the next week or so.
I was thinking about adding the ability to define an ejs script that outputs the files to create with the specific templates to use - this would actually enable this to be done without the change to the code - and also support other custom scripts. What do you think?

That sounds like an awesome idea, but I'm not sure I can see the vision in your head.
Ideally the dataverse-gen provides a black box output of all of the configured entities and etc so that when I want to use it in my app I don't have to know anything about the internal implementation.

Thanks @nhance - valid point.
My main thinking was to support ppl who were not using dataverse-ify but instead wanted a different style of types - I'll keep it on the back burner for now!

source: gharchive/pull-request

authors: nhance scottdurow

repo: scottdurow/dataverse-gen

license: MIT

license_type: permissive

license_source: github-api


text:
Iterate over styles in reverse order of media.

This isn't a real pull request, more pointing out what looks to me a bug, or at least weird design.  Apologies for the too long explanation: it's because I tried and failed to understand how this works and what the correct solution is.
My page includes two stylesheets.  First is style.css, a general-purpose style, which has no "@media" line and thus effectively has media=all.  Next is responsive.css, with all the "@media" lines for different screen widths.  The @media lines all specify "screen".
responsive.css has a lot of definitions intended to override style.css.  I was finding that your script was working, but when the CSS selector in the two stylesheets was the same, style.css was winning instead of responsive.css.  To properly imitate what happens in a browser that supports @media lines, later scripts should win.
Digging into this, I see two weird effects going on in your script.
First, it inserts style blocks like this:
head.insertBefore( ss, lastLink.nextSibling );

It iterates over a list of style blocks [A, B, C], and inserts each one before node X's next sibling.  Start with nodes [X, Y], then you get [X, A, Y], then [X, B, A, Y] and finally [X, C, B, A, Y].  This is the opposite order from what I would expect.  My patch reverses this order, and it so happens that my page now works.
But that doesn't mean [X, A, B, C, Y] is correct, and here I'm seriously confused.  I would expect to see [X, <style.css stuff>, <responsive.css stuff>, Y].  But in fact the script doesn't appear to be making any effort to preserve the order in which the stylesheets were specified in the original  tags.  It's sorting by media type.  So with my patch, what I get is [X, <@media all stuff>, <@media screen stuff>, Y].  And I assume that since styleBlocks is an associative array, there's actually no particular guarantee which order the loop will produce.  My patch works only because I'm lucky.  Or rather, it works because the keys of styleBlocks are created in the same order as the corresponding  tags, and as long as the number of keys is small the hash table returns them in creation order.
Buy why group by @media type at all?  I would guess that there's an extra level of CSS specificity, which says that a definition inside a "@media " overrides "@media all".  That would argue for always putting the "@media all" block first.  But I haven't been able to find any spec suggesting what order should be used.
The other possibility is that @media has no effect on specificity.  In that case it doesn't seem correct to group by @media type, and that whole loop is pointless.  Instead, the style blocks should be created inside the mediastyles loop, preserving the order from the original DOM tree.
For now I'm going to go with my naive and almost surely broken patch because it works.  But if you agree there's a problem here, I'll try to implement a robust solution.

Nice.  This fixes Respond for the problems I was having with it.
Your patch might be missing a var k = keys[l];

authors: johnv-git mexon

repo: scottjehl/Respond

license: mit

license_source: bigquery


text:
PR with some enhancements

Combined PRs for #90, #94 and #95 can lead to conflicts with the master branch.
This PR is a PR that you can easily merge into master when you might accept 3 PRs.
If any of those three PRs are unacceptable, I will withdraw this PR.

https://github.com/scottyphillips/echonetlite_homeassistant/pull/96/commits/3508f337453ad45319172febb2b2b67717481f73 is related #90 and #94, However, I haven't made any additional commits to them as they conflict with both of them.


text:
Add xhost configuration

Allow docker to connect to the X server, as described here https://github.com/scrapinghub/splash/issues/511#issuecomment-379152062

Awesome, thanks @mcmino for the fix, and @acowpy for the example!

authors: kmike mcmino

repo: scrapinghub/splash


text:
Redirect to a 404 page when the blog does not exist

To see the specific tasks where the Asana app for GitHub is being used, see below:

https://app.asana.com/0/1202293017617135/1204862516863163/f

This PR received the ID 404 by accident? :D

repo: scroll-tech/frontends


text:
Why does all_padding test produce a synthesis error?

when there are no mpt updates, if the padding row assigments (assignments where global offset > 0) and 0 row assignments (assignments where global offset == 0) don't have an overlapping column, i think that the halo2 parallel layouter causes the regions to overlap, which produces a synthesis error? Is this working as intened?

this is by design.

repo: scroll-tech/mpt-circuit


text:
Upgrade L1geth

toTxData is copy pasted from https://github.com/privacy-scaling-explorations/zkevm-circuits/pull/1797/files#diff-f536e7c79a0c321329a7d8a1f495639c9224c9fc7b5c48518ec5042c6fb5a2c5R275.

emm, why not run CI testing?

random select 3 tests can pass now.

Not sure whether you need to upgrade scroll l2geth.   Anyway If you think it is better you can continue

authors: DreamWuGit lispc z2trillion

repo: scroll-tech/zkevm-circuits


text:
Shouldn't hidden files be shown by default?

I'd venture to say that if you're using a Vim plugin, you're going to want hidden files shown by default, especially considering you need to edit your .vimrc and use git.
It could optionally be set in your .vimrc to show or hide hidden files by default. Maybe there's a way to do this already?

One argument is that it follows ls's semantics (but then why I as the shortcut?).

It looks like this issue has been resolved. Generally, most people don't want to see the hidden files by default, but I'm glad you found the setting to use in these cases.

source: gharchive/issue

authors: jones77 kevinSuttle lifecrisis

repo: scrooloose/nerdtree

license: WTFPL


text:
send extrinsics without waiting for finalization

In order to send a high frequency of xt we need a non-blocking way to send extrinsics.
caveat: It's not enough to return after the "ready" msg. The problem is that the nonce needs to increase before the xt is included and the nonce is updated on-chain

helpful debugging with txpool: add ltxpool=debug to node launch

The following upstream PR should fix this:
https://github.com/paritytech/substrate/commit/9e52443bfc5cd3e204351f8872aeca83a304a3cf
We'll need to upgrade...

repo: scs/substrate-api-client


text:
Remove flag syntax

If we remove flag syntax, we can use Lumen's reader to read most other
dialects of Lisp: Emacs Lisp, Common Lisp, etc. This makes it easier
to implement a compiler backend for them.
The loss of expressive power seems minimal compared to the gain in
flexibility.

One benefit is that it frees : as a special character, the way that period
currently is. So something like this could have special meaning:
(get reader :read-string)
In fact, I could update BIND so that it preserves the existing lumen
semantics. That way you could still write
(let ((:pos :len :string) (stream “foo”))
...)
On Sat, Sep 15, 2018 at 3:24 PM Scott Bell notifications@github.com wrote:

Hmmm. I'll let this one percolate.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/sctb/lumen/pull/192#issuecomment-421629170, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AADo8MWblrZI4thAfht2DeZKP-PZtUM3ks5ubWH8gaJpZM4WZYz9
.

In fact, I could update BIND so that it preserves the existing lumen
semantics. That way you could still write
(let ((:pos :len :string) (stream “foo”))
  ...)

I think it's worth getting rid of flag syntax, but messing with BIND is a bad idea. It introduces confusion and makes calling syntax inconsistent with LET bindings.

repo: sctb/lumen


text:
meson: Fix sconn_len detection (#411)

have_sconn_len was always false because compiler.has_member generates a C file
which does not build because the compiler can't include "usrsctp.h". Fixed by
specifying the include path.

Note, the mac build fails now with:
$ cd mb1
✓  ab@Alexandrus-MacBook  2019-12-15 01:58  /Users/ab/p/usrsctp/mb1   (git)-[mac]-
$ ninja
[25/91] Compiling C object 'ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o'.
FAILED: ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o
cc -Iekr_loop_upcall@exe -I. -I.. -Iusrsctplib -I../usrsctplib -Iusrsctplib/netinet -I../usrsctplib/netinet -Iusrsctplib/netinet6 -I../usrsctplib/netinet6 -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -std=c99 -g -pedantic -Wall -Wextra -Wfloat-equal -Wshadow -Wpointer-arith -Winit-self -Wno-unused-function -Wno-unused-parameter -Wno-unreachable-code -Wstrict-prototypes -D__Userspace__ -DSCTP_SIMPLE_ALLOCATOR -DSCTP_PROCESS_LEVEL_LOCKS -D__Userspace_os_Darwin -U__APPLE__ -D__APPLE_USE_RFC_2292 -Wno-address-of-packed-member -Wno-deprecated-declarations -DHAVE_SYS_QUEUE_H -DHAVE_NETINET_IP_ICMP_H -DHAVE_STDATOMIC_H -DHAVE_SA_LEN -DHAVE_SIN_LEN -DHAVE_SIN6_LEN -DHAVE_SCONN_LEN -DINET -DINET6 -MD -MQ 'ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o' -MF 'ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o.d' -o 'ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o' -c ../programs/ekr_loop_upcall.c
../programs/ekr_loop_upcall.c:483:8: error: no member named 'sconn_len' in 'struct sockaddr_conn'
        sconn.sconn_len = sizeof(struct sockaddr_conn);
        ~~~~~ ^
../programs/ekr_loop_upcall.c:495:8: error: no member named 'sconn_len' in 'struct sockaddr_conn'
        sconn.sconn_len = sizeof(struct sockaddr_conn);
        ~~~~~ ^
../programs/ekr_loop_upcall.c:512:8: error: no member named 'sconn_len' in 'struct sockaddr_conn'
        sconn.sconn_len = sizeof(struct sockaddr_conn);
        ~~~~~ ^
3 errors generated.
[30/91] Compiling C object 'usrsctp@sha/usrsctplib_netinet_sctp_output.c.o'.
ninja: build stopped: subcommand failed.

This is probably an oversight from my side. Can't comment on how to fix -U__APPLE__ other than that this seems like a hack to me (and I just adopted it from the CMake files).

One has to use two different sets of compile flags. One should be used for compiling the library and it must include -U__APPLE__. The other one is used for everything else and it must not include -U__APPLE__.
The test whether HAVE_SCONN_LEN has to be defined or not, must be based on testing the struct sockaddr_conn from usrsctp.h WITHOUT using -U__APPLE__. That is the way it is done using the autotools.
@weinrank Is this also the way it is done using cmake?

Running bootstrap && ./configure prints:
checking for struct sockaddr_conn.sconn_len... yes

Same as the meson output:
Checking whether type "struct sockaddr_conn" has member "sconn_len" : YES

So this commit is correct. Ok to merge it like this and fix the meson build separately?
Or is there an easy fix I can add?

I think this fix is OK. @lgrahl Any idea how to fix the build?

Below are the commands used to build ekr_loop_upcall.c:
meson:

cc -Iekr_loop_upcall@exe -I. -I.. -Iusrsctplib -I../usrsctplib -Iusrsctplib/netinet -I../usrsctplib/netinet -Iusrsctplib/netinet6 -I../usrsctplib/netinet6 -Xclang -fcolor-diagnostics -pipe -Wall -Winvalid-pch -std=c99 -g -pedantic -Wall -Wextra -Wfloat-equal -Wshadow -Wpointer-arith -Winit-self -Wno-unused-function -Wno-unused-parameter -Wno-unreachable-code -Wstrict-prototypes -D__Userspace__ -DSCTP_SIMPLE_ALLOCATOR -DSCTP_PROCESS_LEVEL_LOCKS -D__Userspace_os_Darwin -U__APPLE__ -D__APPLE_USE_RFC_2292 -Wno-address-of-packed-member -Wno-deprecated-declarations -DHAVE_SYS_QUEUE_H -DHAVE_NETINET_IP_ICMP_H -DHAVE_STDATOMIC_H -DHAVE_SA_LEN -DHAVE_SIN_LEN -DHAVE_SIN6_LEN -DHAVE_SCONN_LEN -DINET -DINET6 -MD -MQ 'ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o' -MF 'ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o.d' -o 'ekr_loop_upcall@exe/programs_ekr_loop_upcall.c.o' -c ../programs/ekr_loop_upcall.c

autotools:

gcc -DPACKAGE_NAME="libusrsctp" -DPACKAGE_TARNAME="libusrsctp" -DPACKAGE_VERSION="0.9.3.0" -DPACKAGE_STRING="libusrsctp\ 0.9.3.0" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -DPACKAGE="libusrsctp" -DVERSION="0.9.3.0" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=".libs/" -DSCTP_DEBUG=1 -DINET=1 -DINET6=1 -DHAVE_SOCKET=1 -DHAVE_INET_ADDR=1 -DHAVE_STDATOMIC_H=1 -DHAVE_SYS_QUEUE_H=1 -DHAVE_NETINET_IP_ICMP_H=1 -DHAVE_SA_LEN=1 -DHAVE_SIN_LEN=1 -DHAVE_SIN6_LEN=1 -DHAVE_SCONN_LEN=1 -I.  -I./../usrsctplib   -g -O2 -std=c99 -Wno-deprecated-declarations -D__APPLE_USE_RFC_2292 -pedantic -Wall -Werror -g -O0 -MT ekr_loop_upcall.o -MD -MP -MF .deps/ekr_loop_upcall.Tpo -c -o ekr_loop_upcall.o ekr_loop_upcall.c

cmake:

[ 89%] Building C object programs/CMakeFiles/ekr_loop_upcall.dir/ekr_loop_upcall.c.o
cd /Users/ab/p/usrsctp/cm1/programs && /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -DHAVE_NETINET_IP_ICMP_H -DHAVE_SA_LEN -DHAVE_SCONN_LEN -DHAVE_SIN6_LEN -DHAVE_SIN_LEN -DHAVE_STDATOMIC_H -DHAVE_SYS_QUEUE_H -DINET -DINET6 -DSCTP_DEBUG -D__APPLE_USE_RFC_2292 -I/Users/ab/p/usrsctp/usrsctplib  -std=c99 -pedantic -Wall -Wextra -Wfloat-equal -Wshadow -Wpointer-arith -Wunreachable-code -Winit-self -Wno-unused-function -Wno-unused-parameter -Wno-unreachable-code -Wstrict-prototypes -Werror -g -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk   -o CMakeFiles/ekr_loop_upcall.dir/ekr_loop_upcall.c.o   -c /Users/ab/p/usrsctp/programs/ekr_loop_upcall.c

[ 91%] Linking C executable ekr_loop_upcall
cd /Users/ab/p/usrsctp/cm1/programs && /usr/local/Cellar/cmake/3.15.3/bin/cmake -E cmake_link_script CMakeFiles/ekr_loop_upcall.dir/link.txt --verbose=1
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc  -std=c99 -pedantic -Wall -Wextra -Wfloat-equal -Wshadow -Wpointer-arith -Wunreachable-code -Winit-self -Wno-unused-function -Wno-unused-parameter -Wno-unreachable-code -Wstrict-prototypes -Werror -g -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -Wl,-search_paths_first -Wl,-headerpad_max_install_names  CMakeFiles/ekr_loop_upcall.dir/ekr_loop_upcall.c.o CMakeFiles/ekr_loop_upcall.dir/programs_helper.c.o  -o ekr_loop_upcall -Wl,-rpath,/Users/ab/p/usrsctp/cm1/usrsctplib ../usrsctplib/libusrsctp.1.0.0.dylib

__APPLE__ is used all over the place in /usrsctplib. Should that be replaced with __APPLE_USE_RFC_2292?

ping

__APPLE__ is used to specify code for the Mac OS kernel implementation. That is why we do the -U__APPLE_ dance... But only for building the library. So your fix is correct.
@grahl: OK to commit this?

I moved the -U__APPLE__ arg from the project arguments to the library target arguments
https://mesonbuild.com/Adding-arguments.html#project-arguments

Thanks a lot for the patch!

Sorry for the late response. Yeah, I wasn't sure how to that dance but the result looks good to me now.

authors: aleb lgrahl tuexen

repo: sctplab/usrsctp


text:
Allow for computation and logging of integration metrics during training

Need to implement a way to allow the user to view available functions in scib-metrics and track them during model training.

those could take a long time to run, but I'm sure you could subclass torch metrics object and run the benchmarker object.

Hopefully it can be mitigated a bit by adjusting check_val_every_n_epoch.

repo: scverse/scvi-tools


text:
子控件为横向滑动RecyclerView，并且这个RecyclerView的item是个竖向滑动的RV时，滑动item的RV出现冲突

子控件为横向滑动RecyclerView，并且这个RecyclerView的item是个竖向滑动的RV时，滑动item里的RV出现冲突，具体表现为：
直接子控件的横向滑动RV在最左边（也就是第一个item完全可见时），滑动item里的竖向滑动的RV，这个横向刷新控件会触发下拉刷新。

请问解决了吗

authors: Ajuice-one Matcha-xiaobin


text:
java.lang.IndexOutOfBoundsException

java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionUserEmptyHolder{7dfa329 position=20 id=-1, oldPos=0, pLpos:0 scrap [attachedScrap] tmpDetached no parent} androidx.recyclerview.widget.RecyclerView{31294dc VFED..... ......I. 0,0-1080,1656 #7f09087c app:id/recyclerView}, adapter:com.benfu.yiqi.index.mvp.ui.adapter.IndexUserNearAdapter@66c99e5, layout:androidx.recyclerview.widget.LinearLayoutManager@f3f7cba, context:com.benfu.yiqi.mvp.ui.activity.MainActivity@49fe2d
at androidx.recyclerview.widget.RecyclerView$Recycler.validateViewHolderForOffsetPosition(RecyclerView.java:6156)
at androidx.recyclerview.widget.RecyclerView$Recycler.tryGetViewHolderForPositionByDeadline(RecyclerView.java:6339)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6300)
at androidx.recyclerview.widget.RecyclerView$Recycler.getViewForPosition(RecyclerView.java:6296)
at androidx.recyclerview.widget.LinearLayoutManager$LayoutState.next(LinearLayoutManager.java:2330)
at androidx.recyclerview.widget.LinearLayoutManager.layoutChunk(LinearLayoutManager.java:1631)
at androidx.recyclerview.widget.LinearLayoutManager.fill(LinearLayoutManager.java:1591)
at androidx.recyclerview.widget.LinearLayoutManager.onLayoutChildren(LinearLayoutManager.java:668)
at androidx.recyclerview.widget.RecyclerView.dispatchLayoutStep1(RecyclerView.java:4255)
at androidx.recyclerview.widget.RecyclerView.dispatchLayout(RecyclerView.java:4010)
at androidx.recyclerview.widget.RecyclerView.onLayout(RecyclerView.java:4578)
at android.view.View.layout(View.java:22344)
at android.view.ViewGroup.layout(ViewGroup.java:6445)
at com.scwang.smart.refresh.layout.SmartRefreshLayout.onLayout(SmartRefreshLayout.java:649)

+1

这是RecyclerView的bug。数据列表与recyclerView的view holder不一致导致报错。
比如有代码：
list.clear();
...
list.addAll(newList)
解决方法1：
int size = list.size();
...
list.clear();
adapter.notifyItemRangeRemoved(0, size);
...
list.addAll(newList)
adpater.notifyitemRangeChanged(0, list.size())
也可以使用一个adpater.notifyDataSetChanged();
但是这个不被推荐。
解决方法2: 捕获异常
public class LinearLayoutManagerWrapper extends LinearLayoutManager {
@Override
public void onLayoutChildren(RecyclerView recycler, RecyclerView.State state) {
try {
super.onLayoutChildren(recycler, state)
} catch (IndexOutOfBoundsException e) {
// do something...
}
}
}
使用该LinearLayoutMangerWrapper的包装类
rv.layoutManager = LinearLayoutManagerWrapper(this);

authors: langxing xiongbb zhaobinsir


text:
Cannot create table with "." in name

Since Kafka allows dot character in topic names (for example my.test.topic) we use them as word separator. Unfortunately, connector attached to the topic with this name will try to create Scylla table dottest.my.test.topic and throw following exception:
...
[2020-05-19 11:27:14,248] INFO create() - Adding table dottest.my.test.topic

	CREATE TABLE dottest.my.test.topic(
		id int,
		firstName varchar,
		lastName varchar,
		PRIMARY KEY(id))
	WITH compression = {'sstable_compression' : ''} (io.connect.scylladb.ScyllaDbSchemaBuilder:341)
[2020-05-19 11:27:14,269] ERROR WorkerSinkTask{id=scylladb-sink-connector-dot-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted. Error: line 2:24  : syntax error...
 (org.apache.kafka.connect.runtime.WorkerSinkTask:566)
...

Environment:
mvn clean install of coomit aa89618ccbab7aa2d14da67c7b86a305dd1e914d
local confluent v5.5.0
local scyllaDB cluster
connector definition
{
  "name" : "scylladb-sink-connector-dot",
  "config" : {
    "connector.class" : "io.connect.scylladb.ScyllaDbSinkConnector",
    "tasks.max" : "1",
    "topics" : "my.test.topic",
    "scylladb.contact.points" : "127.0.0.1",
    "scylladb.keyspace" : "dottest",
    "scylladb.keyspace.create.enabled": "true"
  }
}

Same problem with "-", which is OK in Kafka topics, but not OK in Scylla.

authors: forsberg matus-cuper

repo: scylladb/kafka-connect-scylladb


text:
scylla_repository: Fix handling of full version release candidates

when ccm was pass 2023.1.0~rc0 it would fail like this:
  File ".../site-packages/ccmlib/scylla_repository.py", line 136, in release_packages
    raise ValueError(f"Not expected version number: {version}. S3_URL: {s3_url}")
ValueError: Not expected version number: 2023.1.0.0~rc0. S3_URL: https://s3.amazonaws.com/downloads.scylladb.com/downloads/scylla-enterprise/relocatable/scylladb-2023.1

it was a faulty regex that wasn't behaving correctly also fix the filtering of unified packages, since the nameing changed a bit, once again

ping @fruch - this is required to fix GitHub Actions CI in Java Driver repo.

authors: avelanarius fruch

repo: scylladb/scylla-ccm


text:
Add view dashboard

HEAD: dd390a6d57c6b3d282682c7c2316b530a7440ce1
Feature request
Add a separate dashboard for view in addition to graphs that we have today.
This dashboard will have a lot more view specific graphs including view HH manager metrics.

@vladzcloudius can you please elaborate on which metrics will be useful?

All hints related metrics are useful: type "hint" in the Prometheus console to see their names.
There are two classes of these metrics: for MV and for regular queries. Naturally they need to be clearly separated on dashboard(s).

@vladzcloudius please provide the name of the metrics you think are useful
We do not want to include all metric in the dashboards.

@tzach All metrics with a "view" in their name (there isn't very many) plus coordinator and replica side write/read requests metrics. This would be a good start.

authors: tzach vladzcloudius

repo: scylladb/scylla-grafana-monitoring


text:
Show coverage measurement option

Adds an option to display the coverage measurement name under the coverage percentage. This option is useful on a dashboard where multiple widgets are used to display different measurements. When this checkbox is checked, the "Percent" label at the bottom of the widget is updated to say "Percent (Lines)" for example.

Note: I'm not setup to easily deploy this change locally, so I'm submitting this PR untested.


text:
Doesn't seem to trigger correctly in Chrome 47

Version 47.0.2526.80 (64-bit) OSX
This plugin seems to not trigger when the element reaches its final size. We have an transition that expands a panel with a chart inside, we use this make sure the chart is rendered appropriately (fill the width of the element). In the latest chrome it ends up stretched because it resizes to an intermediate value of the transition and not to the final size.
May be a chrome bug, though I am not sure what I would report/search for.

It appears to be specific to the expand detection in my further testing. It would appear that chrome is being a little more touchy.
Increasing the + 1px to +2px seems to have mitigated the problem for me. It bugs me that I don't fully understand why it stopped working. I'm going to try to reproduce the issue in a minimal jsfiddle.

http://jsfiddle.net/thomassuckow/gued0nzn/5/
I believe this to be a chrome bug.

https://code.google.com/p/chromium/issues/detail?id=584443
Though it is probably worth changing to 2px, just in case rounding issues come up again or in other browsers.

Nice find @thomassuckow .  So is this issue closed?

Only on cosmicexplorers fork. Ideally someone would backport it.

authors: colllin thomassuckow


text:
Importing data

I'm not 100% sure this needs to be part of the core lib, since it can be done inside a route.

I'm convinced this is out of scope:

To bootstrap a new site, just preload a database
If you want to have special preloading logic, write it directly against the database, whose interface is generic enough
The site API is capable of importing modules, it just has to load JSON data or whatever, and then remap all IDs (taking care to also rewrite $type fields)

repo: sdegutis/imlib


text:
Release/0.3.0

This is @hhaidar's release plan:

[x] New flexbox layout
[x] Updated libs
[x] Gruntfile
[x] Passport / LDAP
[x] XMPP #99
[x] Auth tokens
[x] Auth token UI
[x] Disable local auth
[x] HTTPS
[x] Message Rendering
[x] Room History
[x] Room Creation
[x] Room Editing
[x] Room Archival
[x] Rooms API
[x] Messages API
[x] Account API
[x] Users API
[x] File Uploads #123
[x] S3 File Storage
[x] User List Population (we have the endpoints for this)
[x] Heroku
[x] Environment variable settings
[x] Account/Profile endpoints
[x] Notifications can open room #101
[x] Mention badges
[x] Emotes
[x] Install docs (local, Heroku, Docker, Vagrant)
[x] Upgrade docs
[x] XMPP docs
[x] LDAP docs
[x] API docs
[x] Better message formatting
[x] Open rooms in localstorage
[x] Keyboard Shortcuts
[x] Focus input on room switch
[x] Firefox message layout breaks #44
[x] Database migrations? Migroose?
[x] Add check for database integrity before running migrations
[x] Remove references to "release/0.3.0" branch from README, Dockerfile, Vagrantfile #134

Are we just going to call this 1.0?

This release plan list keeps growing. Is this a bug?

We've deployed this internally.
This is the last mile. It's been real people. Too real.

We have all the docs we want right now, it seems.
What's the notification problem that is still marked as TODO?
We should add TODOs for the migration updates?

I've marked the documentation has DONE. The documentation still needs improvement, but it's not a blocker for merging into master.
I've added a TODO for the migration fix/update.
Before merging, I also would like to review the format of our LDAP configuration settings:

to check that they'll be easy to extend if we need to add more options in the future
to reduce the length of the associated env vars

I've started organizing the GitHub issues into a roadmap using milestones.
The 0.3 milestone is here: https://github.com/sdelements/lets-chat/milestones/0.3
I'm still undecided whether we should close issues that have been raised by external users now, or keep them open until we merge into master. Technically it's not fixed for them until it's merged into master, but keeping them open makes the milestone more noisy.

I'd keep them open for now.

Going forward we should probably think about having master track development work, and we tag what we want to call 0.3, 0.4, etc. Then we go back to just having small feature branches.

Maybe we should have a develop branch? We definitely should still tag releases though.

@sibartlett might want to a production branch, and master is the development branch? Or yeah, do it the same way we do SDE, where master is always deployable/production.

I can't believe this branch is done.

Master should be stable. I'm cool with either a release/x or develop branch.

@funkaoshi ya its epic! I remember when we worked on it at your place last summer.

Kidding me?! Congratulations. :cocktail:

authors: almereyda funkaoshi geoffwhittington hhaidar sibartlett

repo: sdelements/lets-chat


text:
Allow only with cookie

Would be nice to have a setting which would allow us to run this in prod – "Display only with cookie". Perhaps having a button in the backend "Get Cookie" & "Remove cookie".

Potentially we could add that, but right now it uses the standard dev IP whitelist:
https://github.com/sdinteractive/SomethingDigital_CheckoutSuccess/blob/master/app/code/community/SomethingDigital/CheckoutSuccess/Model/Observer.php#L9
Which is the same as template hints, etc.  I'd recommend adding the IP to the whitelist instead.
Otherwise, pull requests accepted.

authors: joeyhoer toddbc


text:
🛑 RtArthur.vue is down

In c2e7412, RtArthur.vue ($RT_APP) was down:

HTTP code: 0
Response time: 0 ms

Resolved: RtArthur.vue is back up in 8e7f12a after 57 minutes.

repo: sdpfnsflkgnpisoqdgs/qmdslfjlskdngpisdg


text:
站内信息单行过长时超出边界

问题描述
当站内信单行过长时会超出边界
复现步骤

期望表现
换行显示
系统信息

操作系统：Ubuntu
浏览器：Chrome
浏览器版本：版本 71.0.3578.98（正式版本） （64 位）

3.0.0.201902110 fixed.

authors: MeiK-h dreamerblue


text:
[T2A2][T05-A3] Marx Low

Used refractor, extract local variable to field, Line 1173

You have created this PR against the wrong repo :-)

authors: damithc marxlow


text:
Add click handler to Avatar components

Description

A click handler is required for each avatar so users can click on it and go to the right person straightaway
Acceptance Criteria

[ ] Avatar component handles clicks correctly
[ ] Clicking on an avatar navigates to the correct person

Implementation details

n/a
Testing notes

n/a

LGTM


text:
Failed to reset tag when sync template

Describe the bug
An error was reported while refreshing the catalog:
Failed to reset to tag <some_tag>: object not found

Steps to reproduce

Go to 'Operation Hub -> Catalogs', add a catalog by using https://github.com/terraform-aws-modules;
Watching the log of walrus container.

Result
There are some errors occur:

Environment

Walrus version: v0.3.1

Environment

Walrus version: main 96c9574ea9fee1bad195827be7db27d629f416a6
UI version: dev-5976040

Test Result: pass

authors: Finenyaco linyinli

repo: seal-io/walrus


text:
When the service is just deployed, see that the deployment details log is empty

Is your enhancement related to a problem? Please describe.
When the service is just deployed, see that the deployment details log is empty:

Describe the solution you'd like
Smoother transition between viewing logs from deployer pod and from database.

Environment

Walrus version: main 73e6ce88f4205e030d30ff4276e82d687c0ccdd0
UI version: dev-a942812

Test Result: It can reproduce in the latest version.
https://github.com/seal-io/walrus/assets/26084756/2474c667-5f67-407e-bd1a-4e2fc5c00885

Environment

Walrus version: main 0b2678c0df661cd20cafbdb716a641717f158e7f
UI version: v0.5.0-rc2

Test Result: pass


text:
[Don't Merge] Less 3.7

@seanCodes, this PR is 99% of the conversion to Less 3.7.
It's marked "Don't Merge" because there's a discrepancy in how certain each() loops execute vs SCSS's @each, at the moment (see changes to bootstrap.css in b2837dfab23621bf09193d95c89fb55958711fde).  I'll investigate that when I get a chance to put together a reduced test case and file a bug w/ Less.
I'm opening this PR to claim #7 and because the 3.5+ syntax is exciting!  :P

Ha, shit, @calvinjuarez, why didn't I look for this lol. Looks like I did this for no reason today: https://github.com/seanCodes/bootstrap-less-port/pull/12

@matthew-dean no worries.  I've updated this one with your README and package.json updates, and the unquoting of the ~"calc(...)" variable values, so now the only difference is the maps, I think.  (And Autoprefixer worked for me.)  :p  I also reviewed #12 so @seanCodes can see what's going on and choose how far from Sass/how into Less he wants this project to go.

Replaced by #13

👍 Should I close the other PR?

@matthew-dean Unless you're opposed to #13 for some reason, I think we can simplify by closing #12.  Sorry for the confusion!

authors: calvinjuarez matthew-dean

repo: seanCodes/bootstrap-less-port


text:
card-expiry directive accepts month values greater than twelve

Month value isn't being validated to be less or equal than twelve.

mmm, my fault. this issue is not really an issue. xD

repo: seandesmond/angular-payment


text:
use Option instead of Option for Response status

Using NonZeroU16 for responses  status codes allows Rust to do some clever optimizations, such as using the the zero case for storing the None value in options, reducing the field size to 2 bytes instead of 4 for response.code. Right now response.code occupies 4 bytes and not 3 because of aligning as far as I understand

It would be nice, but it's currently a breaking change, since it changes the type that people can access. Maybe in some hypothetical v2 (but that's not planned).

authors: ramiroaisen seanmonstar

repo: seanmonstar/httparse


text:
"Module not found: Error: Can't resolve 'prop-types'"

ERROR in ./src/components/post_type_jitsi/post_type_jitsi.jsx
Module not found: Error: Can't resolve 'prop-types' in '/home/william341/littrellbox/mattermost-plugin-jitsi/webapp/src/components/post_type_jitsi'
@ ./src/components/post_type_jitsi/post_type_jitsi.jsx
@ ./src/components/post_type_jitsi/index.js
@ ./src/index.jsx
@ multi ./src/index.jsx

Whoops. my bad figured it out

repo: seansackowitz/mattermost-plugin-jitsi


text:
Multisearch fails because of new lines

I'm building a list of searches List<Search> searches with SearchSourceBuilder.
Then I'm doing
MultiSearch multiSearch = new MultiSearch.Builder(searches).build();
MultiSearchResult result = client.execute(multiSearch);

This fails because the search inserted contains new lines (\n) when serialised.
(I get the query produced and I try it with head plugin. When I remove the newlines from the exact same operation it works on head.)
Am I missing something?

In the end, all I needed to do was
new Search.Builder(searchSourceBuilder.toString().replaceAll("\\n|\\r", ""))

repo: searchbox-io/Jest


text:
store mode:file_store/data

Exception in thread "main" java.lang.IllegalArgumentException: unknown store mode:file_store/data
at io.seata.core.store.StoreMode.valueof(StoreMode.java:48)
at io.seata.server.session.SessionHolder.init(SessionHolder.java:84)
at io.seata.server.Server.main(Server.java:76)
版本是https://github.com/seata/seata/releases/download/0.5.0/seata-server-0.5.0.tar.gz
在启动的时候出现了这个错误,启动seata-server.sh之时,已经修改了registry.conf里面type="nacos"为type="file"

看了一下seata代码,关于STORE_MODE只有DB和FILE两种类型,改成FILE就可以运行

repo: seata/seata-samples


text:
support active check of service availability at client startup

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
类似dubbo的服务检查,如果没有发现该服务,或者无法与该服务的provider建立连接,将抛出异常阻止应用启动
<dubbo:reference interface="x.x.x.xxxx" check="true" />

现在一启动连不上server,也只是打个error日志,无法中断一样启动,特别是rm的连接是异步10s后建立,如果在生产可能会由于配置等问题,造成故障
Ⅱ. Describe what happened
If there is an exception, please attach the exception trace:
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version :
Seata version:
OS :
Others:

assign to me plz.
需要做成可配置的还是直接报错

assign to me plz. 需要做成可配置的还是直接报错

应该是做成一个配置项，如果未true就检查，false就不检查，true的话检查出问题要直接抛异常

repo: seata/seata


text:
optimize: issue5228 print Stack Trace in EnhancedServiceLoader.loadFile#cahtch

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
issue5228中遇到的问题，无法通过seata日志直接定位到问题根因。
主要原因在于EnhancedServiceLoader.loadFile#cahtch 中的日志打印没有打印详细堆栈信息。
优化了日志打印。
Ⅱ. Does this pull request fix one issue?

fixes #5228
Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.yuruixin seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #5236 (84c790c) into develop (886f439) will increase coverage by 0.01%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             develop    #5236      +/-   ##
=============================================
+ Coverage      48.48%   48.49%   +0.01%
- Complexity      4139     4140       +1
=============================================
  Files            743      743
  Lines          26518    26518
  Branches        3294     3294
=============================================
+ Hits           12857    12860       +3
+ Misses         12262    12260       -2
+ Partials        1399     1398       -1

Impacted Files
Coverage Δ

.../io/seata/common/loader/EnhancedServiceLoader.java
58.18% <0.00%> (ø)

...n/src/main/java/io/seata/common/util/IdWorker.java
83.33% <0.00%> (+6.25%)
:arrow_up:

authors: CLAassistant codecov-commenter yuruixin


text:
optimize: support jmx port in seata

[x] I have registered the PR changes.

Ⅰ. Describe what this PR did
Ⅱ. Does this pull request fix one issue?
fixes #5269
Ⅲ. Why don't you add test cases (unit test/integration test)?

Ⅳ. Describe how to verify it

export JMX_ENABLE=true
run in local machine, check the opts

Ⅴ. Special notes for reviews

sync https://github.com/seata/seata/pull/5938 to develop branch


text:
IO corruption on 2.86

Describe the bug
Applying a 'vacuum' to a sqlite database file is enough to corrupt it.  Comparing the pread64() and pwrite64() syscalls between the same command run on ext4 and seaweedfs shows differences, particularly in the last byte of a 1024-byte read.
System Setup
/usr/local/bin/weed master -mdir=/home/weedfs/master -volumePreallocate -volumeSizeLimitMB=30000 -ip 192.168.1.3 -peers 192.168.1.254:9333,192.168.1.253:9333,192.168.1.3:9333
/usr/local/bin/weed volume -dir=/seaweedfs -mserver=192.168.1.253:9333,192.168.1.254:9333,192.168.1.3:9333 -port=8089 -port.grpc=18089 -ip=192.168.1.10 -max=30000 -index=leveldb -dataCenter=shed
weed mount -filer=192.168.1.10:8888 -dir=/mnt

OS: archlinux
sqlite: v3.37.0
[mysql2]  # or memsql, tidb
enabled = true
createTable = """
  CREATE TABLE IF NOT EXISTS `%s` (
    dirhash BIGINT,
    name VARCHAR(1000) BINARY,
    directory TEXT BINARY,
    meta LONGBLOB,
    PRIMARY KEY (dirhash, name)
  ) DEFAULT CHARSET=utf8;
"""
hostname = "192.168.1.3"
port = 3306
username = "weedfiler"
password = "weedfsfiler"
database = "weedfs"              # create or use an existing database
connection_max_idle = 2
connection_max_open = 100
connection_max_lifetime_seconds = 0
interpolateParams = false
# if insert/upsert failing, you can disable upsert or update query syntax to match your RDBMS syntax:
enableUpsert = true
upsertQuery = """INSERT INTO `%s` (dirhash,name,directory,meta) VALUES(?,?,?,?) ON DUPLICATE KEY UPDATE meta = VALUES(meta)"""

Expected behavior
To replicate:

Download this sample SQLIte database and unpack it:
https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip
unzip chinook.zip

On weedfs:
$ sqlite3 chinook.db 'vacuum'
$ sqlite3 chinook.db '.tables'
Error: database disk image is malformed

On ext4:
$ sqlite3 chinook.db 'vacuum'
$ sqlite3 chinook.db '.tables'
albums          employees       invoices        playlists
artists         genres          media_types     tracks
customers       invoice_items   playlist_track

If you unpack chinook.db from the zip file on a non-weedfs and a weedfs filesystem and compare the syscall output, you'll see the byte variations:
strace -e pread64,pwrite64,open,fsync,fdatasync -v -xx -s 8192 -- sqlite3 chinook.db 'vacuum' 2>/root/strace-ext4.txt
strace -e pread64,pwrite64,open,fsync,fdatasync -v -xx -s 8192 -- sqlite3 chinook.db 'vacuum' 2>/root/strace-weedfs.txt
diff -u /root/strace-ext4.txt  /root/strace-weedfs.txt

If you perform the operation twice i.e. unzip, vacuum, the corruption is shown to be consistent i.e. no byte-differences shown by cmp:
unzip chinook.zip
cp chinook.db chinook2.db
sqlite3 chinook.db 'vacuum;
sqlite3 chinook2.db 'vacuum;
cmp -l chinook.db chinook2.db

I would expect that comparing the chinook.db between the vacuum performed on ext4 and weedfs should have no byte differences either.

Thanks for the detailed report with clean reproducible steps!
I verified it works well with latest dev version https://github.com/chrislusf/seaweedfs/releases/tag/dev
$ wget https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip
--2022-01-23 13:03:04--  https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip
Resolving www.sqlitetutorial.net (www.sqlitetutorial.net)... 151.139.128.11
Connecting to www.sqlitetutorial.net (www.sqlitetutorial.net)|151.139.128.11|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 305596 (298K) [application/zip]
Saving to: ‘chinook.zip’

chinook.zip                   100%[===============================================>] 298.43K   357KB/s    in 0.8s

2022-01-23 13:03:06 (357 KB/s) - ‘chinook.zip’ saved [305596/305596]

fio$ ls
chinook.zip	sample.db
fio$ unzip chinook.zip
Archive:  chinook.zip
  inflating: chinook.db
fio$ ls
chinook.db	chinook.zip	sample.db
fio$ ls  -al
total 2349
drwx------  1 chrislu  staff       0 Jan 22 05:21 .
drwxr-xr-x  1 chrislu  staff       0 Jan 22 20:34 ..
-rw-r--r--  1 chrislu  staff  884736 Nov 29  2015 chinook.db
-rw-r--r--  1 chrislu  staff  305596 Mar 11  2018 chinook.zip
-rw-r--r--  1 chrislu  staff   12288 Jan 23 13:02 sample.db
fio$ sqlite3 chinook.db 'vacuum'
fio$ sqlite3 chinook.db '.tables'
albums          employees       invoices        playlists
artists         genres          media_types     tracks
customers       invoice_items   playlist_track
fio$ ls -al
total 2273
drwx------  1 chrislu  staff       0 Jan 22 05:21 .
drwxr-xr-x  1 chrislu  staff       0 Jan 22 20:34 ..
-rw-r--r--  1 chrislu  staff  845824 Jan 23 13:03 chinook.db
-rw-r--r--  1 chrislu  staff  305596 Mar 11  2018 chinook.zip
-rw-r--r--  1 chrislu  staff   12288 Jan 23 13:02 sample.db

I've previous experienced a similar issue as reported https://github.com/seaweedfs/seaweedfs/issues/3384 but in my experience that happens because Plex will periodically vacuum its SQLite DB.
I tried this sequence with v3.18, to keep it simple with the default configuration:
$ wget https://github.com/seaweedfs/seaweedfs/releases/download/3.18/linux_amd64_full.tar.gz
$ tar -xzf linux_amd64_full.tar.gz
$ ./weed server -dir ./weed-data
$ ./weed filer
$ sudo ./weed mount -dir=/mnt

$ cd /mnt
$ wget https://www.sqlitetutorial.net/wp-content/uploads/2018/03/chinook.zip
$ unzip chinook.zip
$ sqlite3 chinook.db 'vacuum'
$ sqlite3 chinook.db '.tables'
Error: database disk image is malformed

I can't see how your test would have worked.  Did you definitely run it on a SeaweedFS mount?

@nickb937 works well with the dev version. Please help to confirm.

Alright, I just re-built direct from master rather than the download tar-files:
$ git clone https://github.com/seaweedfs/seaweedfs.git
$ cd seaweedfs ; make
$ ~/go/bin/weed server -dir /home/nickb/weed-data
$ ~/go/bin/weed filer
# /home/nickb/go/bin/weed mount -dir=/mnt

nickb@pc:/mnt$ unzip chinook.zip
Archive:  chinook.zip
  inflating: chinook.db
nickb@pc:/mnt$ sqlite3 chinook.db 'vacuum'
nickb@pc:/mnt$ sqlite3 chinook.db '.tables'
Error: database disk image is malformed
nickb@pc:/mnt$

I noticed the problem is only on Linux.

I have compared the contents of pread64/pwrite64 calls between sqlite running on seaweedfs and a different filesystem. From the application perspective they're exactly the same.
I am now trying to produce a small python script that reproduces the problem by copying the IO sequence that sqlite is doing. And viewing the IO patterns in seaweedfs.
The only thing I've noticed is that append mode on seaweedfs acts different to Linux - seek operations don't work on seaweedfs in append mode where they do in Linux, however this mode isn't used by sqlite, and something that the python docs mention that some filesystems will do.

FWIW, Error: database disk image is malformed is exactly the error I see from the Plex logs, part of https://github.com/seaweedfs/seaweedfs/issues/3384

The SQLite VACUUM does the following sequence:

read chinook.db into memory on FD3
write a journal file to disk on FD4
re-write a compacted representation of the database on FD3

Starting from fresh:
unzip chinook.db
strace -f  sqlite3 chinook.db 'vacuum' >v2.strace 2>&1

We can see this sequence marking the beginning of the third state of re-writing to FD3 (around like 4081):
fdatasync(4)                            = 0
openat(AT_FDCWD, "/home/nickb", O_RDONLY|O_CLOEXEC) = 5
fdatasync(5)                            = 0
close(5)                                = 0
pwrite64(4, "\331\325\5\371 \241c\327\0\0\3:", 12, 0) = 12
fdatasync(4)                            = 0
pwrite64(3, "SQLite format 3\0\4\0\1\1\0@  \0\0\0\32\0\0\3:"..., 1024, 0) = 1024
pwrite64(3, "\5\0\0\0\v\3\301\0\0\0\0-\3\373\3\366\3\361\3\353\3\345\3\337\3\331\3\323\3\315\3\307"..., 1024, 1024) = 1024
pwrite64(3, "\r\0\0\0\n\3k\0\3\364\3\343\3\325\3\310\3\273\3\254\3\235\3\216\3z\3k\0\0\0\0"..., 1024, 2048) = 1024
pwrite64(3, "\5\0\0\0\7\3\330\0\0\0\09\3\373\3\366\3\360\3\352\3\344\3\336\3\330\0\0\0\0\0\0"..., 1024, 3072) = 1024
pwrite64(3, "\5\0\0\0\6\3\342\0\0\0\0@\3\373\3\366\3\361\3\354\3\347\3\342\0\0\0\0\0\0\0\0"..., 1024, 4096) = 1024

What I've noticed is that none of these pwrite64() calls are modifying the file, despite it being in mode O_RDWR:
unzip chinook.zip
cp chinook.db chinook.db.orig
sqlite3 chinook.db 'vacuum'

cmp chinook.db chinook.db.orig
cmp: EOF on chinook.db after byte 845824, in line 8651

Whereas if you perform the same calls on some other filesystem:
$ cmp chinook.db chinook.db.orig
chinook.db chinook.db.orig differ: byte 28, line 1

Here's a Python script that replicates the problem.  Critical to the replication of the issue is the os.fdatasync() calls and os.ftruncate() and that the file requires to be truncated.  If you comment out either of the fdatasync() calls or or ftruncate() then the test will not fail.
import os
import random

FILESIZE = 4096
FILE = "/mnt/file"

if os.path.exists(FILE):
    os.unlink(FILE)

random.seed(2)
# buff1 must be larger than buff2 so that ftruncate() has to do work
buff1 = bytearray(random.randbytes(FILESIZE + 1024))
buff2 = bytearray(random.randbytes(FILESIZE))
assert buff1 != buff2

fd = os.open(FILE, os.O_RDWR | os.O_CREAT | os.O_NOFOLLOW | os.O_CLOEXEC)

offset = 0
while offset < len(buff1):
    os.pwrite(fd, buff1[offset:offset+1024], offset)
    offset += 1024
os.fdatasync(fd)

offset = 0
while offset < len(buff2):
    os.pwrite(fd, buff2[offset:offset+1024], offset)
    offset += 1024
os.fdatasync(fd)
os.ftruncate(fd, FILESIZE)
os.close(fd)

fd = os.open(FILE, os.O_RDONLY)
data = os.read(fd, len(buff2))
os.close(fd)
assert data == buff2

First write:
I0804 18:58:01.159751 dirty_pages_chunked.go:44 1 memory AddPage [4096, 5120)
I0804 18:58:01.159776 weedfs_file_sync.go:102 doFlush /file fh 0
I0804 18:58:01.159784 upload_pipeline.go:149  uploaderCount 0 ++> 1
I0804 18:58:01.165124 filehandle.go:95 /file existing 0 chunks adds 1 more
I0804 18:58:01.165140 dirty_pages_chunked.go:89 /file saveToStorage 1,05ea52ca24 [0,5120)
I0804 18:58:01.165148 upload_pipeline.go:171  uploaderCount 1 --> 0
I0804 18:58:01.165160 upload_pipeline.go:39 Free sealed chunk:  finished uploading chunk 0
I0804 18:58:01.165168 slot_pool.go:60 --> 0
I0804 18:58:01.165181 weedfs_file_sync.go:151 /file set chunks: 1
I0804 18:58:01.165190 weedfs_file_sync.go:153 /file chunks 0: 1,05ea52ca24 [0,5120)

Second write creates a new chunk, 3,060d51e12c, but file should presumably consist of only 1 chunk:
I0804 18:58:01.165938 weedfs_file_sync.go:102 doFlush /file fh 0
I0804 18:58:01.165945 upload_pipeline.go:149  uploaderCount 0 ++> 1
I0804 18:58:01.166903 filehandle.go:95 /file existing 1 chunks adds 1 more
I0804 18:58:01.166913 dirty_pages_chunked.go:89 /file saveToStorage 3,060d51e12c [0,4096)
I0804 18:58:01.166919 upload_pipeline.go:171  uploaderCount 1 --> 0
I0804 18:58:01.166925 upload_pipeline.go:39 Free sealed chunk:  finished uploading chunk 0
I0804 18:58:01.166934 slot_pool.go:60 --> 0
I0804 18:58:01.166937 weedfs_file_sync.go:151 /file set chunks: 2
I0804 18:58:01.166949 weedfs_file_sync.go:153 /file chunks 0: 1,05ea52ca24 [0,5120)
I0804 18:58:01.166957 weedfs_file_sync.go:153 /file chunks 1: 3,060d51e12c [0,4096)**

os.ftruncate() truncates chunk 1,05ea52ca24, the original data rather than chunk 3,060d51e12c the new data.
I0804 18:58:01.167376 weedfs_attr.go:53 /file setattr set size=4096 chunks=2
I0804 18:58:01.167395 weedfs_attr.go:65 truncated chunk 1,05ea52ca24 from 5120 to 4096

Test Passed for me with latest build from master
version 30GB 3.20 986daecb linux arm

Still seems to break databases where PRGAMA=WAL (e.g. *arr apps)

Still seems to break databases where PRAGMA=WAL (e.g. Sonarr)
[v3.0.8.1507] code = Corrupt (11), message = System.Data.SQLite.SQLiteException (0x800007EF): database disk image is malformed
database disk image is malformed
  at System.Data.SQLite.SQLite3.Reset (System.Data.SQLite.SQLiteStatement stmt) [0x00088] in <cf516e4846354910b3d60749c894b1bf>:0
  at System.Data.SQLite.SQLite3.Step (System.Data.SQLite.SQLiteStatement stmt) [0x0006e] in <cf516e4846354910b3d60749c894b1bf>:0
  at System.Data.SQLite.SQLiteDataReader.NextResult () [0x00174] in <cf516e4846354910b3d60749c894b1bf>:0
  at System.Data.SQLite.SQLiteDataReader..ctor (System.Data.SQLite.SQLiteCommand cmd, System.Data.CommandBehavior behave) [0x0008e] in <cf516e4846354910b3d60749c894b1bf>:0
  at (wrapper remoting-invoke-with-check) System.Data.SQLite.SQLiteDataReader..ctor(System.Data.SQLite.SQLiteCommand,System.Data.CommandBehavior)
  at System.Data.SQLite.SQLiteCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x0000c] in <cf516e4846354910b3d60749c894b1bf>:0
  at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery (System.Data.CommandBehavior behavior) [0x00006] in <cf516e4846354910b3d60749c894b1bf>:0
  at System.Data.SQLite.SQLiteCommand.ExecuteNonQuery () [0x00006] in <cf516e4846354910b3d60749c894b1bf>:0
  at Marr.Data.DataMapper.ExecuteNonQuery (System.String sql) [0x0002a] in M:\BuildAgent\work\63739567f01dbcc2\src\Marr.Data\DataMapper.cs:204
  at NzbDrone.Core.Messaging.Commands.CommandRepository.OrphanStarted () [0x00064] in M:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Messaging\Commands\CommandRepository.cs:46
  at NzbDrone.Core.Messaging.Commands.CommandQueueManager.Handle (NzbDrone.Core.Lifecycle.ApplicationStartedEvent message) [0x00010] in M:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Messaging\Commands\CommandQueueManager.cs:260
  at NzbDrone.Core.Messaging.Events.EventAggregator.PublishEvent[TEvent] (TEvent event) [0x0011a] in M:\BuildAgent\work\63739567f01dbcc2\src\NzbDrone.Core\Messaging\Events\EventAggregator.cs:92

I just had a chance to test it with Plex and its the same error database disk image is malformed. :(

With the 3.25 release, Sonarr has been running a few days without issues for me

Wooot! Awesome, just deployed 3.26 here and Plex is running stable! Thanks tons for fixing this!!!! 👏🏻

authors: chrislusf danlsgiga nickb937 shapechecker sstent

repo: seaweedfs/seaweedfs


text:
Added Filament A60

Hi ...
Added Filament A60 according to specs in Issue request for A60
Also realized I had made a copy paste error on class name for last added G93 ... I apologize for that.
-- Gem

Awesome addition!


text:
🎉 5.0.1

ℹ About this release

Version: 5.0.1
Type: patch
Last Release: 5.0.0 (8/26/2024, 6:46:29 PM) [?]
Commits to merge: 6 [?]

🐛 Bug Fixes

Fix tsup config / bundled modules (92bfa4c)
Try to fix Dynamic require of "child_process" is not supported (94ceb4c)
Try to fix Dynamic require of "child_process" is not supported II (96c4a29)

📦 Development Dependencies

Update @eslint/js from ^9.9.0 to ^9.9.1
Update eslint from ^9.9.0 to ^9.9.1
Update tsx from ^4.16.2 to ^4.19.0

:tada: This issue has been resolved in version 5.0.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v5.0.1

Your semantic-release bot :package::rocket:


text:
Unable to test latest master

neikos ~/p/r/ncollide (master)> cargo clean
neikos ~/p/r/ncollide (master)> git rev-parse HEAD
d97238c2b577a64b84776106a05adb5c4cf5bddb
neikos ~/p/r/ncollide (master)> git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
neikos ~/p/r/ncollide (master)> cargo build
   Compiling rustc-serialize v0.3.19
   Compiling libc v0.2.11
   Compiling num-traits v0.1.32
   Compiling rand v0.3.14
   Compiling num-integer v0.1.32
   Compiling num-iter v0.1.32
   Compiling num-complex v0.1.32
   Compiling num-bigint v0.1.32
   Compiling num-rational v0.1.32
   Compiling num v0.1.32
   Compiling nalgebra v0.8.2
   Compiling ncollide_math v0.4.0 (file:///home/neikos/projects/rust/ncollide/ncollide_math)
   Compiling ncollide_utils v0.4.0 (file:///home/neikos/projects/rust/ncollide/ncollide_utils)
   Compiling ncollide_geometry v0.1.1 (file:///home/neikos/projects/rust/ncollide/ncollide_geometry)
   Compiling ncollide_procedural v0.4.0 (file:///home/neikos/projects/rust/ncollide/ncollide_procedural)
   Compiling ncollide_pipeline v0.8.1 (file:///home/neikos/projects/rust/ncollide/ncollide_pipeline)
   Compiling ncollide_transformation v0.4.0 (file:///home/neikos/projects/rust/ncollide/ncollide_transformation)
   Compiling ncollide v0.9.1 (file:///home/neikos/projects/rust/ncollide)
neikos ~/p/r/ncollide (master)> cargo test
   Compiling nom v1.2.2
   Compiling pkg-config v0.3.8
   Compiling lzw v0.9.0
   Compiling glfw-sys v3.1.3
   Compiling bitflags v0.3.3
   Compiling csfml-graphics-sys v0.1.0
   Compiling winapi-build v0.1.1
   Compiling khronos_api v1.0.0
   Compiling csfml-audio-sys v0.1.0
   Compiling byteorder v0.4.2
   Compiling csfml-network-sys v0.1.0
   Compiling kernel32-sys v0.2.2
   Compiling color_quant v1.0.0
   Compiling inflate v0.1.1
   Compiling bitflags v0.5.0
   Compiling winapi v0.2.6
   Compiling sfml-types v0.1.0
   Compiling csfml-window-sys v0.1.1
   Compiling glob v0.2.11
   Compiling gif v0.7.0
   Compiling csfml-system-sys v0.1.0
   Compiling freetype-sys v0.3.1
   Compiling time v0.1.35
   Compiling log v0.3.6
   Compiling semver v0.2.3
   Compiling enum_primitive v0.1.0
   Compiling ncollide_math v0.4.0
   Compiling xml-rs v0.2.2
   Compiling sfml v0.11.2
   Compiling ncollide_utils v0.4.0
   Compiling gcc v0.3.28
   Compiling miniz-sys v0.1.7
   Compiling libz-sys v1.0.3
   Compiling glfw v0.2.0
   Compiling flate2 v0.2.14
   Compiling freetype-rs v0.5.0
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:302:9: 302:27 warning: lint raw_pointer_derive has been removed: using derive with raw pointers is ok
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:302 #[allow(raw_pointer_derive)]
                                                                                ^~~~~~~~~~~~~~~~~~
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:302:9: 302:27 warning: lint raw_pointer_derive has been removed: using derive with raw pointers is ok
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:302 #[allow(raw_pointer_derive)]
                                                                                ^~~~~~~~~~~~~~~~~~
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:301:16: 301:21 note: in this expansion of #[derive_Clone] (defined in /home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs)
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:302:9: 302:27 warning: lint raw_pointer_derive has been removed: using derive with raw pointers is ok
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:302 #[allow(raw_pointer_derive)]
                                                                                ^~~~~~~~~~~~~~~~~~
/home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs:301:10: 301:14 note: in this expansion of #[derive_Copy] (defined in /home/neikos/.cargo/registry/src/github.com-88ac128001ac3a9a/glfw-0.2.0/src/ffi/mod.rs)
   Compiling ncollide_procedural v0.4.0
   Compiling gl_generator v0.4.2
   Compiling ncollide_testbed2d v0.1.1 (file:///home/neikos/projects/rust/ncollide/ncollide_testbed2d)
   Compiling png v0.4.3
   Compiling gl v0.5.2
   Compiling image v0.6.1
   Compiling kiss3d v0.4.2
   Compiling ncollide_testbed3d v0.1.0 (file:///home/neikos/projects/rust/ncollide/ncollide_testbed3d)
ncollide_testbed3d/src/objects/convex.rs:27:44: 27:58 error: mismatched types:
 expected `ncollide_procedural::trimesh::TriMesh<na::structs::point::Point3<f32>>`,
    found `ncollide_procedural::trimesh::TriMesh<na::structs::point::Point3<f32>>`
(expected struct `ncollide_procedural::trimesh::TriMesh`,
    found a different struct `ncollide_procedural::trimesh::TriMesh`) [E0308]
ncollide_testbed3d/src/objects/convex.rs:27             gfx:        window.add_trimesh(convex.clone(), na::one())
                                                                                ^~~~~~~~~~~~~~
ncollide_testbed3d/src/objects/convex.rs:27:44: 27:58 help: run `rustc --explain E0308` to see a detailed explanation
ncollide_testbed3d/src/objects/convex.rs:27:44: 27:58 note: Perhaps two different versions of crate `ncollide_procedural` are being used?
ncollide_testbed3d/src/objects/convex.rs:27             gfx:        window.add_trimesh(convex.clone(), na::one())
                                                                                ^~~~~~~~~~~~~~
error: aborting due to previous error
Could not compile `ncollide_testbed3d`.

To learn more, run the command again with --verbose.
neikos ~/p/r/ncollide (master) [101]>

If you check the compile output you will find that it compiles ncollide_procedural twice, once the local build, once one that it fetches from crates.io.
eikos ~/p/r/ncollide (master) [101]> cargo -V
cargo 0.10.0-nightly (d6e148d 2016-03-09)
neikos ~/p/r/ncollide (master)> rustc -V
rustc 1.9.0-nightly (c9629d61c 2016-03-10)

Same issue here.

It looks like the example depends on the local ncollide while the testbed's renderer depends on the one from crates.io.
The only way I see to fix this is to move the ncollide examples using the testbeds into the testbeds' example folders (which seems more logical anyway).

By the way @TheNeikos , if you attempt to compile the tests or examples from ncollide with the current nightly (or beta) version of rustc, you will end up with internal compiler errors. This will be fixed when rust-lang/rust#33478 lands. In the mean time you may use the stable channel.

authors: TheNeikos dbrgn sebcrozet

repo: sebcrozet/ncollide


text:
Checkbox: onChange fix from RadioButton

Update checkbox component to get the value when onChange occures.
Same as the fix we did for RadioButton.

I can confirm that the onChange method for react checkbox does not work.

Hi is there any update on this issue? or perhaps @faridmasood can linked the related commit fix for radio button so that we can help to apply the fixes here too.

Hello! Had a look at this today.
I would say that this functionality exists! But the docs is really misleading... Now it tells you to use the checked prop which causes the component to be checked but then not change back due to the html attribute now being set.
The right way to do it is to use defaultSelected props and then use the onChange to change the state of your application.
I've updated the docs and made some better examples.
@eweseong, @patrikfogelstrand please have a look if this solves your problems. If it does please comment hereand I will close this issue.

Don't know what I'd been smoking. Tested again and it seems that this just works. Was probable fixed together with something else.
However, I've https://github.com/sebgroup/green/pull/1070 with some better examples.
@eweseong, @patrikfogelstrand please have a look if your problems are solved. If it does please comment here and I will close this issue.

Hi, I'm unable to reproduce the issue now :)

authors: eweseong faridmasood patrikfogelstrand vsjolander

repo: sebgroup/green


text:
duplicate uuid

Hi
i run this part of code and i get a uuid successfully in browser.
I expect this function return UNIQUE uuid by every device ( not every browser, not every tab).
But if i have two same device ( for example two lenovo laptop with same browser ) this function return same uuid.
import si from 'systeminformation';
const system = await si.system();
const { uuid } = system;

Expected behavior
uuid must return UNIQUE uuid per device.
Actual behavior
same laptop with same os return same uuid.
Specifications

package version:  3.45.7
operating system: windows 10
hardware: laptop

@sebhildebrandt Hi, yep, i edit it. thanks.

@alieslamifard This package is not intended to be used in the browser. If you use it on server side (node.js) then you should get a unique UUID per device.

@sebhildebrandt
i already use it in server-side. actually i have a express-js app (running by node).
when i call a route in client-side, i run await si.system(); in server. so i expect to get unique uuid in server console.

if you run this in an express route, you get the uuid from the server, not the client.
Its not possible to get a uuid with this module for clients, take a look on the "uuid" module if you want too do this

@alieslamifard can you run the following command on both devices:
wmic  csproduct get /value

and have a look if the UUID is the same? This is the UUID that will be retrieved when using windows.

I am about to add a UUID function, which will return per installed OS a unique ID. Maybe this will help here ...
Anyway I still didn't get the real problem. I asked to provide the output of wmic csproduct get /value but got no feedback so far.

authors: alieslamifard mStirner sebhildebrandt

repo: sebhildebrandt/systeminformation


text:
Doesn't work well on Webapps

The button does not always appear properly in web apps (such as Twitter, GitHub, etc.), but it works for static sites.
Need to figure out why it happens and fix it.

Also struggling to get it appear on Reddit (ie. this post).

authors: sebhs semihsezer

repo: sebhs/human-reader-chrome-extension