Custom DSC resource not applying because a parameter is not found

Hello,
A few days ago I created an issue for a problem I had while trying to create a custom DSC module for WDS. I was very happy with the help I was offered here, unfortunately I have found another issue. I am unsure if it is an actual bug or if I am doing something wrong myself. It seems likely that I am doing something wrong myself, however I just can't find the issue.
At the moment I have created quite a few resources and have been testing/experimenting with them.
There is one custom DSC resource that is causing me some problems. At first the resource was working as intended. However, as I wanted to add a feature to the resource I had to add a new parameter. Which, I think, I did correctly. However whenever I try to use this new parameter in my puppet profile I am getting an error at the machine that is trying to apply it. The files can be found in this repo;
https://github.com/bsmienk/custom_dsc_modules/tree/master/cWDS/DSCResources/cWDS_AddDriverGroup
The error is as follows:
Info: Loading facts
Error: Could not retrieve catalog from remote server: Error 400 on SERVER: no parameter named 'dsc_setapplicability' at
/etc/puppetlabs/code/environments/puppetdev/modules/profile/manifests/wds/server.pp:81 on Dsc_cwds_adddrivergroup[Ad
dRHEVGroup] at /etc/puppetlabs/code/environments/puppetdev/modules/profile/manifests/wds/server.pp:81 on node <nodename>

Things I tried:

Rebuilding the resources on the puppet master
Removing the ProgramData\PuppetLabs\puppet\cache directory on the node
Changing the parameter name (error changed to display the new parameter name too)
Redownloading the files from github and then rebuilding the files

If I don't  use the parameter it all works as intended. But using this parameter does not seem to be allowed.
I have described the parameter in the schema file like this:
[Write, ValueMap{"Matched", "All"},Values{"Matched", "All"}] string SetApplicability;

I am using the follow code in my profile on the puppet master
dsc_cwds_adddrivergroup{'AddRHEVGroup':
  dsc_drivergroup => 'RHEV',
  dsc_enabled => 'Yes',
  dsc_setapplicability => 'Matched',
  dsc_ensure => 'Present'
}

I think I have found the related type file on the node in this directory:
C:\ProgramData\PuppetLabs\puppet\cache\lib\puppet\type\dsc_cwds_adddrivergroup.rb

In that File I have found the following code:
  # Name:         SetApplicability
  # Type:         string
  # IsMandatory:  False
  # Values:       ["Matched", "All"]
  newparam(:dsc_setapplicability) do
    def mof_type; 'string' end
    def mof_is_embedded?; false end
    desc "SetApplicability - Valid values are Matched, All."
    validate do |value|
      unless value.kind_of?(String)
        fail("Invalid value '#{value}'. Should be a string")
      end
      unless ['Matched', 'matched', 'All', 'all'].include?(value)
        fail("Invalid value '#{value}'. Valid values are Matched, All")
      end
    end
  end

I hope someone can explain why this parameter is not working. Am I doing something wrong? Or is there another problem?
P.s. When I am building all the types using 'bundle exec rake dsc:types:build' I get a warning for every resource, saying that my schema.mof files are expected ot have CRLF line endings (which I believe they do). Despite this, everything else works.
P.s.2. I have just tried using the DSC resource locally on the node and this works fine.
Configuration Test {

    Import-DscResource -ModuleName 'cWDS'

    Node localhost{

        cWDS_AddDriverGroup 'Test' {
            DriverGroup = 'Test'
            SetApplicability = 'Matched'
            Ensure = 'Present'
            Enabled = 'Yes'
        }
    }
}

Test -OutputPath 'C:\Users\Administrator.CORE\Desktop'
Start-DscConfiguration -Path 'C:\Users\Administrator.CORE\Desktop' -Wait -Verbose -Force

Results in:
VERBOSE: Perform operation 'Invoke CimMethod' with following parameters, ''methodName' = SendConfigurationApply,'className' = MSFT_DSCLocalConfigurationManager,'namespace
Name' = root/Microsoft/Windows/DesiredStateConfiguration'.
VERBOSE: An LCM method call arrived from computer CORE-O-WDS01 with user sid S-1-5-21-2749254005-1462001878-1174754042-500.
VERBOSE: [CORE-O-WDS01]: LCM:  [ Start  Set      ]
VERBOSE: [CORE-O-WDS01]: LCM:  [ Start  Resource ]  [[cWDS_AddDriverGroup]Test]
VERBOSE: [CORE-O-WDS01]: LCM:  [ Start  Test     ]  [[cWDS_AddDriverGroup]Test]
VERBOSE: [CORE-O-WDS01]: LCM:  [ End    Test     ]  [[cWDS_AddDriverGroup]Test]  in 0.3590 seconds.
VERBOSE: [CORE-O-WDS01]: LCM:  [ Skip   Set      ]  [[cWDS_AddDriverGroup]Test]
VERBOSE: [CORE-O-WDS01]: LCM:  [ End    Resource ]  [[cWDS_AddDriverGroup]Test]
VERBOSE: [CORE-O-WDS01]: LCM:  [ End    Set      ]
VERBOSE: [CORE-O-WDS01]: LCM:  [ End    Set      ]    in  0.6250 seconds.
VERBOSE: Operation 'Invoke CimMethod' complete.
VERBOSE: Time taken for configuration job to complete is 0.643 seconds

Thanks again for a more than complete bug report and repo steps, it really helps.
When you run DSC using Start-DscConfiguration, it resolves the DSC Resources using the $env:PSModulePath variable. We puppet executes DSC using Invoke-DscResource, it provides the full path to the DSC Resource which is not in $env:PSModulePath but in the same folder the puppet dsc module is located in. We do this to isolate the DSC Resources we bundle into the dsc module from conflicting or overwriting any a user has deployed to their system.
So, in summary there are two parts that need to be copied down: the puppet type file (dsc_cwds_adddrivergroup.rb) and the actual DSC Resource module (cWDS_AddDriverGroup.psm1). They will be located in the location where your puppet modules are synced to when the master pushed down to the target node.
In my example in the previous ticket, we can see mine were located in C:/puppetlabs/modules/dsc/lib/puppet_x/dsc_resources/xCMC_WDS/xCMC_WDS.psd1
$invokeParams = @{
  Name          = 'Configure_WDS'
  Method        = 'test'
  Property      = @{
    configurationname = 'StandardConfiguration'
    confighash = [CimInstance](New-CimInstance -ClassName 'MSFT_KeyValuePair' -ClientOnly -Property @{'Answer clients: Yes' = '/AnswerClients:All'})
  }
  ModuleName = @{
    ModuleName      = "C:/puppetlabs/modules/dsc/lib/puppet_x/dsc_resources/xCMC_WDS/xCMC_WDS.psd1"
    RequiredVersion = "1.0"
  }
}

If you run puppet on the target node using debug, you will see the path your module is in. Make sure that location is up to date and has the new files. I'm relatively certain this is a file sync issue from puppet master to target node, and not anything to do with the module itself as you demonstrated above it built successfully. You may have to increment the metatadata.json version to indicate to the puppet master to copy out new files, I will check with some colleagues to double check.

I have tried fixing this and I don't have a 'modules\dsc' directory anywhere. I have found multiple modules folders but they are all empty:

'C:\Program Files\Puppet Labs\Puppet\puppet\modules'
'C:\ProgramData\PuppetLabs\code\modules'
'C:\ProgramData\PuppetLabs\code\environments\production\modules'
They are all empty. It is also strange, in my opinion, that there is no 'C:\ProgramData\PuppetLabs\code\environments\puppetdev' directory, since that is the environment it is assigned to. I would assume the modules to be saved in that directory but it doesn't exist.

On the other hand, I have found the .psm1 file in another directory:

'C:\ProgramData\PuppetLabs\puppet\cache\lib\puppet_x\dsc_resources\cWDS\DSCResources\cWDS_AddDriverGroup'
In this directory I have found the correct psm1 and mof file, including the parameter.

Also, I tried deleting the hard disk of the node and reinstalling windows + puppet, and the problem persists.

I will close the issue, it is probably not a bug in this module. I still have not figured out the cause, though.


Update afds-overview.md

update Bot protection with new release with updated portal image

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

@teresayao - as a reminder:

Microsoft authors and contributors need to make content contributions through the private repository so the content can be staged and validated by the current validation rules.
After you review staging and fix all validation issues, you can tag an author for review or add the sign-off comment to let PR reviewers know that the updates are ready to be merged.
Read about authors working in the public repo for more information.
If you need help getting set up to work in the private repo, see How to get to the private repo. You can also take a look at the GitHub account setup page for additional details on making sure you're set up.

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

#sign-off

@teresayao: I'm sorry - only the author of this article, @vhorne, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

PM is OOF, so let's just merge this and I'll make changes afterwards.
#sign-off

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


[Bug] Dublicated SystemFiberChannelAdapters measurement name

Duplicated  Measurement name "SystemFiberChannelAdapters " for different device type FiberChannel and Generic Adapters
https://github.com/adejoux/pSeriesCollector/blob/6ff02ac8a683201e7d30f07e6dcf6cd4cd5ffd4b/pkg/agent/devices/hmc/import.go#L76-L107

fixed on last commit


Ionide doesn't work with multi-target project

When a project has more than one build target then intellisense and all other awesome Ionide features stop working:
<Project Sdk="FSharp.NET.Sdk;Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFrameworks>net40;netstandard1.6</TargetFrameworks>
  </PropertyGroup>
  <ItemGroup>
    <Compile Include="Lib.fs" />
  </ItemGroup>
  <ItemGroup>
    <PackageReference Include="FSharp.NET.Sdk" Version="1.*" PrivateAssets="All" />
    <PackageReference Include="FSharp.Core" Version="4.*" />
  </ItemGroup>
</Project>

Duplicate of https://github.com/ionide/ionide-vscode-fsharp/issues/416


Update index.html

You probably mean WHOLE COMPANY instead of HOLE COMPANY

Hey @keriraw thank you very much for your feedback!
Indeed I meant "whole" :stuck_out_tongue:
Unfortunately I cannot accept your PR as the master branch is generated from the code in source branch. If I accepted, it will be lost next time I create a new post and the code in master is regenerated.
Regards,
Mictian


How to scaffold when having x64 and x86 .NET Core SDKs installed

I am encountering this error when I try to scaffold an existing older version of .mdb (likely Access '97 version)
Could not load assembly 'Legacy.Test.RDBMSMigrations'. Ensure it is referenced by the startup project 'Legacy.Test.RDBMSMigrations'.
In Visual Studio my project is the default startup project and default project on PMC
command I ran via PMC
Scaffold-DbContext -Connection "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\RDBMS\cdb2.mdb;Jet OLEDB:Database Password=mypassword;" -Provider EntityFrameworkCore.Jet -OutputDir CDB2\Models -ContextDir CDB2\Context -Project Legacy.Test.RDBMSMigrations -StartupProject Legacy.Test.RDBMSMigrations
or
Scaffold-DbContext -Connection "Driver={Microsoft Access Driver (*.mdb)}; Dbq=C:\RDBMS\cdb2.mdb; Pwd=mypassword;" -Provider EntityFrameworkCore.Jet -OutputDir CDB2\Models -ContextDir CDB2\Context -Project Legacy.Test.RDBMSMigrations -StartupProject Legacy.Test.RDBMSMigrations
Yet same error comes up, also same using the alternate dotnet ef dbcontext scaffold command via CLI
Any idea on what is wrong?
My project setup is as follows
<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.1</TargetFramework>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <PlatformTarget>x86</PlatformTarget>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="EntityFrameworkCore.Jet" Version="3.1.0-alpha.4" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="3.1.10">
      <PrivateAssets>all</PrivateAssets>
      <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
    </PackageReference>
    <PackageReference Include="System.Data.Odbc" Version="5.0.0" />
    <PackageReference Include="System.Data.OleDb" Version="5.0.0" />
  </ItemGroup>

</Project>

Originally posted by @olakusibe in https://github.com/bubibubi/EntityFrameworkCore.Jet/issues/34#issuecomment-749565382

Your project file looks fine.
Your .Net SDK however (if my suspicion is correct) is where the problem lies. Can you confirm whether you have the x64 or x86 version of .Net?
You can use the following command to get that info: dotnet --info
My guess is that you have the x64 SDK installed. To do the scaffolding the dotnet.exe needs to load your assembly to use it. As it is 2 different platforms (x64 vs x86) it can't load.
To fix, manually download and install the x86 SDK. Then edit your PATH environment variable (or however else you want to do it) so that the x86 SDK is picked before the x64 version
Originally posted by @ChrisJollyAU in https://github.com/bubibubi/EntityFrameworkCore.Jet/issues/34#issuecomment-749604131

Thanks @ChrisJollyAU , following your steps worked.
Is there another technical way to run both x86 and x64 SDKs without going back and forth to set their priority order in PATH?
Originally posted by @olakusibe in https://github.com/bubibubi/EntityFrameworkCore.Jet/issues/34#issuecomment-750007003

Haven't tried anything but https://stackoverflow.com/questions/39497807/configure-net-core-to-use-x86-sdk has a couple of potential solutions. I think the Dicretory.Build.Targets file may have more chance of success
Originally posted by @ChrisJollyAU in https://github.com/bubibubi/EntityFrameworkCore.Jet/issues/34#issuecomment-750111023

@olakusibe A simple way is to just use appropriate full path to the x86 or x64 dotnet.exe in your CLI command:
PS C:\> & 'C:\Program Files (x86)\dotnet\dotnet.exe' --info
.NET Core SDK (reflecting any global.json):
 Version:   3.1.201
 Commit:    b1768b4ae7

Runtime Environment:
 OS Name:     Windows
 OS Version:  10.0.19041
 OS Platform: Windows
 RID:         win10-x86
 Base Path:   C:\Program Files (x86)\dotnet\sdk\3.1.201\

Host (useful for support):
  Version: 5.0.1
  Commit:  b02e13abab

.NET SDKs installed:
  2.2.207 [C:\Program Files (x86)\dotnet\sdk]
  2.2.402 [C:\Program Files (x86)\dotnet\sdk]
  3.0.100-rc1-014190 [C:\Program Files (x86)\dotnet\sdk]
  3.1.201 [C:\Program Files (x86)\dotnet\sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.All 2.2.7 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.All 2.2.8 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.All]
  Microsoft.AspNetCore.App 2.2.7 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 2.2.8 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.0.0-rc1.19457.4 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.3 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.7 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 3.1.10 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.0-rc.1.20451.17 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.AspNetCore.App 5.0.1 [C:\Program Files (x86)\dotnet\shared\Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 2.2.7 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 2.2.8 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.0.0-rc1-19456-20 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.3 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.7 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 3.1.10 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.0-rc.1.20451.14 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.NETCore.App 5.0.1 [C:\Program Files (x86)\dotnet\shared\Microsoft.NETCore.App]
  Microsoft.WindowsDesktop.App 3.0.0-rc1-19456-20 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.3 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.7 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 3.1.10 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.0-rc.1.20452.2 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]
  Microsoft.WindowsDesktop.App 5.0.1 [C:\Program Files (x86)\dotnet\shared\Microsoft.WindowsDesktop.App]

To install additional .NET runtimes or SDKs:
  https://aka.ms/dotnet-download

So the following PowerShell command should work for you:
& 'C:\Program Files (x86)\dotnet\dotnet.exe' ef dbcontext scaffold "connection_string" --your-other-options


nixos/dhcpd6: Fix address reservation for dhcpd6

Description of changes
According to the dhcpd.conf(5) man page, address reservations for dhcpd6 must use the "fixed-address6" declaration, not "fixed-address".

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Looks correct. Can you write the commit message as the PR title?

@GrahamcOfBorg test networking.scripted.dhcpSimple systemd-networkd-dhcpserver-static-leases systemd-networkd-ipv6-prefix-delegation


rowMap returns me all the props instead of the actual rowMap. React Native 0.69.3

Describe the bug
Hi! So our app recently changed version to 0.69.3 and maintained the react-native-swipe-list-view to 3.2.9.
After upgrading our app crashes whenever it involves closing any row item.
Upon further checking it seems that the reason behind it  rowMap returns me the props instead of the actual rowMap object.
To Reproduce
To reproduce the scenario here is the code of my test screen:
`
import { View, Text, TouchableOpacity, StyleSheet } from 'react-native'
import React from 'react'
import { SwipeListView } from 'react-native-swipe-list-view'
import { faker } from '@faker-js/faker'
const SwipeListViewTest = () => {
const dataTest = Array(5)
.fill("")
.map((_, i) => ({
key: ${i},
text: item #${i},
data: [
{
productName: faker.commerce.productName(),
}
]
}))
const keyExtractor = (item: any, index: number) => {
return item.productName + index
}
const renderItem = (data: any, rowMap: any) => {
return (
<TouchableOpacity onPress={() => console.log('on press', rowMap)} style={styles.mainView}>
Test {data.item.productName}

)
}
return (

)
}
const styles = StyleSheet.create({
mainView: {
height: 50,
width: 200,
alignItems: 'center',
justifyContent: 'center',
backgroundColor: 'yellow',
alignSelf: 'center'
}
})
export default SwipeListViewTest
`
Screenshots
screen:

log:

Environment (please complete the following information):

OS: [Android]
RNSLV Version: [v3.2.9]
RN Version: [e.g. 0.69.3]

I've read other similar issues like:
https://github.com/jemise111/react-native-swipe-list-view/issues/360
https://github.com/jemise111/react-native-swipe-list-view/issues/547
But it seems that it involves a keyExtractor problem but I think my keyExtractor works fine.
If you need additional info please let me know. I am not really sure what other packages are needed that could be affecting my app.
Thanks!

I think that error is related on how you handle the data in state. Thanks 👍


Support for Google Tag Manager Firebase SDK

The documentation for React Native Google Tag Manager refers specifically to the Legacy SDK and I didn't come across any other reference to Firebase SDK.
So I'm wondering if you could clarify whether this projects supports the Firebase SDK and Firebase IOS GTM containers?

Just an FYI. Google are sunsetting the Google Analytics mobile-apps reporting based on the Google Analytics Services SDKs for Android and iOS.
You can read more here: https://support.google.com/analytics/answer/9167112?hl=en


Adding stats link to the header

 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.You have signed the CLA already but the status is still pending? Let us recheck it.


⚠ Rework naming of references in the API

As discussed in
https://github.com/metal3-io/ironic-standalone-operator/issues/91, lets
use simpler reference names and reserve the SomethingRef format for when
the field can refer to different kinds or at least namespaces.
This is quite a breaking change but I don't see a lot of value in going
through deprecation since it's going to significantly complicate the
code nobody should be using in production yet.
Closes: #91
Signed-off-by: Dmitry Tantsur<EMAIL_ADDRESS>

/hold
I'll create a corresponding metal3-dev-env change.

https://github.com/metal3-io/metal3-dev-env/pull/1478 pins IrSO to avoid breaking metal3-dev-env with this.

/hold cancel

This is quite a breaking change but I don't see a lot of value in going through deprecation since it's going to significantly complicate the code nobody should be using in production yet.

We absolutely should not make life difficult for ourselves here, this is pre-MVP.

best do a change like this now
/lgtm


Add Herbert Info

I add my (Herbert's info)

The issue is not clear.
The issue must be with full details.
You can use the template
https://github.com/HackYourFutureBelgium/workflows/blob/master/deliverables/group-introduction-repo.md


PAY-86

Description

Related Issue

Motivation and Context

How Has This Been Tested?

including the bulk disbursement APIs


fix links in api-extension

fix links in api-extension.md
Signed-off-by: Jingkui Wang<EMAIL_ADDRESS>

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"


Private methods on Record types cause transtive dependencies on referenced assemblies

Originally from http://stackoverflow.com/questions/27188097/f-compiler-requires-project-reference-but-method-is-private
Given the following program containing two libraries (Library & SubLibrary) and a console application.
In the ConsoleApp/Program.fs
open Library

[<EntryPoint>]
let main argv =
    printfn "%A" argv

    let banana = { Value = 42 }
    0

in Library/Library1.fs
namespace Library

open SubLibrary

type Banana =
    { Value : int}

    member private x.TakeWidget (w: Widget) =
    { x with Value = w.Value }

and in SubLibrary/Library1.fs
namespace SubLibrary

type Widget = { Value: int }

the problem is that when we try and compile the application we get the following error,
Error   6   The type referenced through 'SubLibrary.Widget' is defined in an assembly that is not referenced.
You must add a reference to assembly 'SubLibrary'.  c:\temp\ConsoleApplication1\ConsoleApplication1\Program.fs  7   18  ConsoleApplication1

Now I wouldn't expect this as the member TakeWidget is set to private and the Widget type isn't exposed anywhere outside of the.
However if I change the Banana type to become a class
open SubLibrary

type Banana(v:int) =
    member val Value = v with get, set

    member private x.TakeWidget (w: Widget) =
        x.Value <- w.Value

then things work as expected. Looking at the IL it appears to be generating identical internal methods for both the class and record versions.
.method assembly hidebysig instance void
        TakeWidget(class [SubLibrary]SubLibrary.Widget w) cil managed
{
  // Code size       15 (0xf)
  .maxstack  8
  IL_0000:  nop
  IL_0001:  ldarg.0
  IL_0002:  ldarg.1
  IL_0003:  call       instance int32 [SubLibrary]SubLibrary.Widget::get_Value()
  IL_0008:  callvirt   instance void Library.Banana::set_Value(int32)
  IL_000d:  nop
  IL_000e:  ret
 } // end of method Banana::TakeWidget

After having a quick look at the F# 3.0 language spec, nothing immediately jumps out at me as to why this is the behavior. Hence why I'm raising this as an issue. (Apologies if it is in there).

I've checked this with the following repro steps and it appears fixed (no errors on compilation):
C:\GitHub\dsyme\visualfsharp>fsc /target:library lib1.fs
C:\GitHub\dsyme\visualfsharp>fsc /target:library lib2.fs /r:lib1.dll
C:\GitHub\dsyme\visualfsharp>fsc app.fs /r:lib2.dll


Fixing match&replace

Fixing naming typo in M&R, fixing bug where it will overwrite the currently selected M&R rule, and adding default match -> name functionality.

Awesome, thank you!


feat: ask for manage_community permission

Ask for the manage_community permission (see Deezer API, permissions). This allows to manage user's friends:

get the followers
get, add or remove a following

@all-contributors please add @prndrbr for code


Fix LOVD external links, which were wrong for the variant insertion type

Description
The variant coordinates built for the LOVD external links were wrong for insertion variants.
Views affected
LOVD short variant ZMenus for Human on the ContingViewBottom panel (Region in detail)

Also somehow related to this PR: https://github.com/Ensembl/ebi-plugins/pull/16


Make k8s keychain vs default keychain configurable

Signed-off-by: Marco Franssen<EMAIL_ADDRESS>A 0.6.1-draft release is created via this PR. @Brend-Smits could you try this one to see if it resolves your issue? By default it should now use the default keychain.

I have been testing this in a private registry, but unfortunately, I don't think this is working yet.

Unfortunately, I think this is not yet resolved, internal testing shows that it is still an issue. This can either be in my workflow (am I missing some step), or in slsa action.
Thoughts?
https://github.com/philips-internal/internal-test-slsa-provenance-action

The rootcause of our problem is that we are running the slsa-provenance binary inside a Docker container in the action. Therefore the binary doesn't know about the docker login that happens outside of the container in a workflow.
We have 2 option here.

Docker credentials passed to the action as inputs
Only install the binary

https://github.com/philips-labs/slsa-provenance-action/actions/runs/1840388657
It now also works for draft releases.

resolves #94


Use KrpcFilterContext.forwardRequest() for forwarding uniformly

Currently the KrpcFilterState is used by a filter to express to the FilterHandler what it wants done with a message. This is inflexible and doesn't cope very well with some of the interaction patterns that filters might reasonably want to use.
For example, when handling a response, a filter might need to make a request and response of its own prior to forwarding the original response. The Topic Encryption use case requires this for the Fetch api version >=13, for example, as the preferred way for a proxy to lookup topic ids. The current KrpcFilterState-based API can _cope_ with this, but it means there are two ways to forwarding a response, via KrpcFilterState.FORWARD(in the usual case) or byKrpcFilterState.DROP+context.forwardRequest()` in this Topic Encryption case.
So we should drop KrpcFilterState and have all filters use context.forwardRequest().

I fixed this with #51


Add intitalStep prop to CreateFullPage Component

What will this achieve?
This will allow the CreateFullPage component to be opened on a step other than the first step.  Currently if there is a long running task on one of the downstream steps and user refreshes browser or another user connects and loads component they will always be taken to the first step.  This change will allow for the user to be taken to the current "in-progress" step directly.  This is helpful because sometimes we want to lock out user from making any changes in the upstream steps while there is a long running task currently executing.
The CreateTearsheet component already supports this.  Can we please implement a similar pattern in the CreateFullPage component.
This is the property that allows this functionality in the CreateTearsheet component:
https://github.com/carbon-design-system/ibm-cloud-cognitive/blob/f91a72b3d95231f9922efb221734248b45254fa5/packages/cloud-cognitive/src/components/CreateTearsheet/CreateTearsheet.js#L272

How will success be measured?
Success will be the CreateFullPage component supporting a new property initialStep which enables the component to be loaded at a specific step.

Additional information
The CreateTearsheet component already supports this functionality and has an initialStep Property.

In the meantime, we have had to implement a funky UX workaround where we disable upstream inputs and direct the user to click "Next" until they get back to the step with the process in-progress. I can provide a screenshot/mockup of that if desired.

This is still relevant from my perspective. @ErickBarreraIBM I assume this hasn't been fixed on your end?

@swwebster Reopened. We’ve been wrapped up with v2 release and the design jam over the past few weeks. Going to tag this as both v1 and v2.

@jagathgj assigning to you for now but let me know if you aren’t able to look into this in the next two weeks.

Awesome! Thanks @elycheea :)

Issue fixed hence closing

Thanks everyone!


Some interesting operators

MODSEC-66: {noformat}
SecRule ARGS "@opexpr @beginsWith foo && @endsWith bar" "..."
{noformat}

boolean operations with operators could be treated with "chained" rules. Therefore such functionality can be achieved on 3.0.


Remove explicit RxSwift/ReactiveSwift dependencies

I hope I'm not touching a "controversial" topic :)
I'm a big fan of Moya, and I use it a lot. I'm also a big fan of RxSwift and I try to keep up do date with it as much as I can.
Keeping it up with RxSwift releases and keeping RxMoya at the same time has become impossible: every time there's a new Rx release we have to wait for a new Moya release, only to have three "simple" source files that hasn't changed at all in the last 2 years.
The easiest way I've found to have a working environment that makes me happy with both of them is to use Cocoapods, use the main "Core" spec of Moya and drag'n'drop the Rx files manually in my project. With this "hack", I can use RxSwift 6.1 with Moya 14 and keep on using the rx extensions.
The problem is that Cocoapods is "flexible" enough to know that the main subspec should NOT depend on Rx (or Reactive), so it won't add it to the dependencies tree... but Carthage doesn't (as clearly stated in Moya's readme).
If I want to use Moya I'm forced to clone and build RxSwift and ReactiveSwift at their specific version locked by Moya even if I'm not using RxSwift/ReactiveSwift at all in my project (tolerable, I just delete the frameworks if needed) or if I want to use those frameworks without RxMoya and ReactiveMoya.
If I try today a simple example by including latest versions of RxGesture and Moya with Carthage, carthage boostrap won't work, as RxGesture previous versions are not compatible anymore with RxSwift 5.x (not compiling), and the latest one is only ~> 6.0.
Why should I be locked by Moya if I don't want to use reactive extensions? RxSwift is a huge, "horizontal" dependency for every project, I feel
To get to my point: do we really need the reactive extensions to be included in this main repository? Can we somehow move them to specific subrepositories? Or simply remove them and have 3 source file (maybe a single one) to manually import when needed and document it?
I didn't get the chance to try with SPM but i suspect a similar problem.
Thank you :)

+1

There's a similar situation with SPM. When trying to set Moya's version to 14.0.0 and RxSwift to 6.0.0 (both next major) there's a following error message:
Failed to resolve dependencies
because Moya >=14.0.0-alpha.1 depends on RxSwift 5.0.0..<6.0.0 and root depends on Moya 14.0.0..<15.0.0, RxSwift 5.0.0..<6.0.0 is required.
And because root depends on RxSwift 6.0.0..<7.0.0, version solving failed.

There are many changes from version 5.0.0 to 6.0.0 and I think Moya need to be updated to support latest RxSwift.
I am facing with the same issue.
Specs satisfying the RxSwift (~> 6.0.0), RxSwift (= 6.0.0, >= 6.0.0, ~> 6.0, ~> 6.0.0), RxSwift (~> 5.0) dependency were found, but they required a higher minimum deployment target.

@kodakvn the point is that, in my opinion (and I may be wrong), I shouldn't be forced to wait for Moya new release to use an updated version of a completely unrelated library (that's the case of RxSwift when you use Carthage and you just don't want RxMoya because you'd like to wrap stuff into Observables yourself).
Since there's a major involved for Moya, and major usually means "breaking changes", i think this could be the right moment to discuss such a change. It's not the first time I see this happening: when Apple deprecated UIWebViews, RxSwift dropped their support in v5.0 and yet we had to wait for Moya for months to simply update the podspec (there's usually no change involved at all in RxSwift files).

... and #2134 seems to also point out that there's no way at all to compile Moya with Carthage

Just chipping in here - another good reason to move all of the reactive extensions into separate repos and libraries is so those of us who do not want to use any of the reactive extensions are not forced to pull down RxSwift, ReactiveSwift etc. when we don't need them. I know they don't get linked to our targets unless we add them as dependencies but SPM will still fetch every dependency listed in the Package.swift file. SPM also only supports one package file per repo so the only solution to this problem is to move the separate libraries into separate repos.

i don't like RxSwift.

Any feedback?

Any updates on this?

Any update on it?

Any updates?

Bump :)

bump


Update introduction-to-signalr.md

Removed (the) - WebSocket (if (the) both the server and browser indicate they can support Websocket)

@0nly1ken0bi  thanks!


internal/graphicsdriver/directx: release shaders and pipelines appropriately

Probably there is the same issue in Metal and OpenGL.

Oh, they are already released appropriately.


split magefile into a package in ./magefiles and drop unused functions

Signed-off-by: Josh Gwosdz<EMAIL_ADDRESS>
Summary

This should make working with this super long file a bit easier.
I didn't change any magefile code I didn't have to change with the exception of some unused functions and types which I removed.
No behavior should be changed!
Change Type

Build Tooling
Check List Before Merging

[x] This PR passes all pre-commit hook validations.
[x] This PR is fully tested and regression tests are included.
[x] Relevant documentation has been updated.

Additional Information

Gopls has a bug which makes it behave funky in files using code from other files in the same package when the mage (or any) build tag is defined in these files.
I've checked in a commented workaround for vscode in .vscode/settings.json.
Other IDEs may have to be considered as well until the upstream issue gets fixed.

/lgtm

/approve


common: add Operation object

This introduces the Operation object into @google-cloud/common. This is a generic class, which will be inherited by:

common/grpcOperation (in this PR)
bigquery/job
compute/operation
resource/operation (will exist in a future PR for #1766)

@callmehiphop after this goes, we can cut a common release, which will clear the way for #1760 (implementing partial failure errors) as well as the follow-up PRs for implementing Operation across the other APIs.

Coverage remained the same at 100.0% when pulling dd76100c492541f97ac18acfa2a0c1a0444a043f on stephenplusplus:spp--operation-reform into 881ef7ca6ec52c9a050c14dfc3b909fd18861526 on GoogleCloudPlatform:master.

Coverage remained the same at 100.0% when pulling 81b6edde82649150d714e49d3e1d6f0cbe81247d on stephenplusplus:spp--operation-reform into 881ef7ca6ec52c9a050c14dfc3b909fd18861526 on GoogleCloudPlatform:master.


Correct novalidate configuration descriptions

novalidate is on by default (per https://github.com/justinfrench/formtastic/issues/1001). This updates the description of the configuration and tests to make the behavior more clear.

Merging, thanks!


Overview and Logs for the Dev Meeting Held on 2017-11-19

Added "Logs for the Community Meeting Held on 2017-11-25 & the Monero Research Lab Meeting Held on 2017-11-27".


New headers

Done:

headers for locality, species
headers for references (not perfect but seemed ok)

TODO

other headers
docs?
tests?

Headers for Localities, Species, Time Units, Time Bounds and References now have the same data as the PHP version.


Minimum tested version of OS

What is the expected behavior?
The installing documentation says that

Qiskit is tested and supported on the following 64-bit systems:

Ubuntu 16.04 or later
macOS 10.12.6 or later
Windows 7 or later

https://qiskit.org/documentation/install.html
~I see the Travis of Qiskit terra runs on Ubuntu Bionic. https://travis-ci.com/github/Qiskit/qiskit-terra
So, is the tested minimum version of Ubuntu is 18.04? The default Python3 package of Ubuntu 16.04 is Python 3.5. So, it gets more difficult to setup qiskit on Ubuntu 16.04.~
~How about other OS? Is Windows 7 tested now?~
I notice that Ubuntu 16.04 is tested according to https://github.com/Qiskit/qiskit-terra/blob/master/azure-pipelines.yml
Windows uses 'vs2017-win2016', Ubuntu uses 'ubuntu-16.04' and 'ubuntu-latest', and macOS uses 'macOS-10.15'.
Does install.rst need to reflect the versions?

I don't think we necessarily need to document the versions we test with and probably should just remove that block from the install guide.
As a general statement we're limited by the platform support for things with compiled extensions (aer and terra) the other platforms are pure python and should work anywhere python is installable. For linux packages we build against python specs. The minimum spec for linux is manylinux2010 https://www.python.org/dev/peps/pep-0571/ (terra is manylinux1 compatible but aer is not). For macOS we build with the deployment target of ISX 10.9. Windows abi compatibility is a bit different, I know it should work on any windows 10 system, I'm not sure if windows 7 will work or not (don't have a system to test that).
We also fully support 32bit systems now, both i686 and win32 are binaries are built at release time, and we have testing for that in aer.

Thank you. It makes sense to remove versions. When we wrote about Windows 7, some people tested qiskit on our own Windows 7 PC.
How about writing about Python 3.9? You commented that Qiskit does not support Python 3.9 yet.
https://github.com/Qiskit/qiskit/issues/1087#issuecomment-722431527

The current releases do no support python 3.9. But I'm optimistic the next metapackage release that includes everything will. Right now terra is blocked on a retworkx release (which is almost ready https://github.com/Qiskit/retworkx/milestone/2). Once retworkx releases it will include precompiled binaries for python 3.9 that will mean all of terra's dependencies have python 3.9 wheels (or are pure python and there isn't anything to change). Once terra merges https://github.com/Qiskit/qiskit-terra/pull/5189 we can  push similar commits to ignis, aer, and aqua saying they support 3.9 and adding CI.
How we document this came up last year with the 3.8 release in: https://github.com/Qiskit/qiskit/issues/660 we decided there to leave it a bit open ended and point people to the package metadata for the specific supported versions (see: https://github.com/Qiskit/qiskit/pull/708 ). The thought back then was we wanted to avoid updating a list of hard coded versions in the docs on every python release. But, we can revisit this if you have some ideas on how to improve this. I do agree I find it quite annoying every python release we get a bunch of bugs and pings from people while we wait for upstream dependencies to add support. One thought I just had is we could write a sphinx extension that parses the setup.py to get the versions from the trove classifiers and just build a table or something in the docs from that.

I see. Let's leave the description of Python version.
It's complicated to deal with every python release... I have no idea now.
Anyway, thank for your information about my questions. I close this.

Sorry. I re-open it and leave it until we remove the OS versions in install.rst as you mentioned:

I don't think we necessarily need to document the versions we test with and probably should just remove that block from the install guide.

How about simplifying it as follows.

Qiskit is supported on Linux, macOS, and Windows.

I think the current documentation is enough for the new Python releases

However, both Python and Qiskit are evolving ecosystems, and sometimes when new releases occur in one or the other, there can be problems with compatibility.

Is there anything to do here?

No. I close this.


Changed method names from getId() to getID()

Something is wrong now you have 15 files changed and it should be only 3, max 4 (JPetLayer , JPetLayerTest )?

there is some conflict


Only recompute schema in TypeCoercion when necessary

Draft as it builds on https://github.com/apache/datafusion/pull/10356
Which issue does this PR close?
closes https://github.com/apache/datafusion/issues/10365
Rationale for this change
recomputing the Schema can be expensive, so only do it when necessary
What changes are included in this PR?

Update TypeCoercionRewriter to track when the expression is actually rewritten (via Transformed::yes)
Only recompute the schema when an expression was rewritten

This is a big change change as it needs to is properly track when expressions were changed which required updating the entire expression rewrite
Are these changes tested?
Existing CI
Are there any user-facing changes?
No functional changes
TODO performance tests

There are a few tests that don't pass for reason's I haven't debugged yet but it looks like recomputing schemas may be masking issues elsewhere. Once https://github.com/apache/datafusion/pull/10356 is merged I'll do another profiling run to figure out if recomputing schema shows up in the traces and will keep hacking on this if so

Update here is I don't think I'll have a chance to work on this in the near term unless recomputing the schema shows up in planning benchmarks again.
I think given the level of effort involved, this approach is not likely to yield a large speedup (though I do think this PR's approach would be an improvement over the current code)

I realistically don't plan to spend any more time on this :(


Device sample updates

Updates HTTP sample to use v1 instead of beta path
Updates MQTT sample to use TLS v1.2 as it's the only supported version on the device bridge.

Probably TLSv1.3 isn't rolled out to Java yet, but it should be soon ??

Good point!  The bridge (as opposed to "server" as it's not a full server) currently is best supported by TLS-v1.2 and MQTT.

Shouldn't a v1 (GA'd) service be using the One Platform API's?

Great point, the HTTP Device side works with its own identity which makes it difficult to work as a 1P-API.


⚠ Bofrost.de has degraded performance

In efe0c36, Bofrost.de (https://www.bofrost.de) experienced degraded performance:

HTTP code: 200
Response time: 1216 ms

Resolved: Bofrost.de performance has improved in 4fa0155.


fix minor typo

Coverage remained the same at 74.659% when pulling 7cdf0122742176d83cc13d68ef806a72ccca03d6 on eserte:upgrading-minor-typo into e06f12b5fc93a273d34d31b1f7c57e31b66d32de on mongodb:master.


Continue doesn't work

When you press enter, an error is still returned

Fixed; [] replaced with ['']


Golint2

Current coverage is 35.46% (diff: 29.62%)

Merging #280 into master will increase coverage by 0.12%

@@             master       #280   diff @@
==========================================
  Files            83         82     -1
  Lines          3936       3815   -121
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           1391       1353    -38
+ Misses         2431       2351    -80
+ Partials        114        111     -3

Powered by Codecov. Last update cacbb0e...e45d275


Allow CORS

Makes developing API integrations a lot harder...

It fails on Travis, but it was failing before too (previous commit).

@joshuagruenstein Thanks!


an error occurred while storing, aborting

I have been getting this issue recently, and I cant seem to use the application, and I have restarted my PC to see if it fixes anything, and it does nothing. I was only able to use a few times

Fixed by b3a66df0d1a870e1646a259698a670f6884fa7c9.


Consider adding OpenZiti for application-embedded security

Currently the API is only offered through unix sockets. This reduces the chance that it accidentally gets exposed, which is important because it's not authenticated in any way.

Would you be open to embedding zero trust directly into the project via OpenZiti? OpenZiti allows you to have secure connectivity to the server from anywhere, via a zero trust overlay.
If that sounds interesting, I'd be happy to contribute a patch and if you're into it, demo it over on our YouTube channel too?

Hi @dovholuknf, unless such an embedding is based on an open protocol (not just open code), I wouldn't really be interested. Is there such a protocol?


Numerical issues with gte-large-en-v1.5

System Info
I'm using the current docker image ghcr.io/huggingface/text-embeddings-inference:turing-1.5 on Debian 11 with CUDA driver 12.2 and an Nvidia T4 GPU.
Information

[X] Docker
[ ] The CLI directly

Tasks

[X] An officially supported command
[ ] My own modifications

Reproduction
Launch the server:
volume="/home/user/model_zoo" && docker run --gpus all -p 8080:80 -v $volume:/data --pull always ghcr.io/huggingface/text-embeddings-inference:turing-1.5 --model-id "/data/gte-large-en-v1.5"

Then make a request:
curl <IP_ADDRESS>:8080/embed     -X POST     -d '{"inputs": ["Hello?"]}'     -H 'Content-Type: application/json'

When the input is a single short sentence, for example {"inputs": ["Hello?"]} or {"inputs": ["What is Deep Learning?"]}, then I obtain all-null results:
[[null,null,...,null,null]]

But two short sentences with different lengths works. Some examples:

{"inputs": ["Hello!"]}: NULL
{"inputs": ["What is Deep Learning?"]}: NULL
{"inputs": ["Hello!", "Hello!"]}: NULL
{"inputs": ["What is Deep Learning?", "What is Deep Learning?"]}: correct results
{"inputs": ["Hello!", "What is Deep Learning?"]}: correct results
{"inputs": ["Today is a very beautiful day."]}: NULL
{"inputs": ["Today is a very beautiful day. What do you think?"]}: correct results

This does not happen with all-MiniLM-L6-v2 for example.
Expected behavior
There should be no Nulls in the output.

And can you also try with -e DTYPE=float32?

I can confirm I get the same issue with this model, on T4 and L4 GPUs, with TEI 1.5.0 and 1.4.0.

For the L4 gpus, which image of TGI did you use? did you use ghcr.io/huggingface/text-embeddings-inference:89-1.5 or the default ghcr.io/huggingface/text-embeddings-inference:1.5 image?

Default, I think this is what HF sets up automatically. But I can double check and try 89 also.

Ok so it seems that my container was still the turing one when I switched from T4 to L4. I changed the container to default 1.5 and I don't have None anymore. So the issue is definitely limited to the turing 1.5.0 version.

@qherreros By "switching from T4 to L4", did you mean switching the type of the GPU on your machine or switching the docker image?
I tried the default image ghcr.io/huggingface/text-embeddings-inference:1.5 but got an incompatibility error:
Error: Could not create backend

Caused by:
    Could not start backend: Runtime compute cap 75 is not compatible with compile time compute cap 80

So what I did was:

Use a T4 GPU with turing-1.5.0 text-embeddings-inference, I had numerical issues
Switch GPU to L4 and keep turing-1.5.0 text-embeddings-inference, I had numerical issues
Keep L4 GPU and switch to 1.5.0 (default), I had no numerical issues

@OlivierDehaene Could you let us know if you plan to fix this or whether we should give up gte-large-en-v1.5 on T4? Thank you in advance for your reply.

I don't think this might necessarily be a bug per se. The TEI docker images are built in a way such that they are GPU architecture specific. This means that they have separate image tags that are built with different architectures in mind. This kind of reduces bloat in the images and lets the user only have the absolutely essential build files in their images.
The numerical instability issues with T4 GPUs are documented here (https://github.com/huggingface/text-embeddings-inference/issues/53) which is also why Flash Attention is marked as experimental for Turing GPUs.
To solve this issue currently, I would recommend switching to an Ampere or Lovelace series of GPU and use the corresponding image tag correctly (https://github.com/huggingface/text-embeddings-inference?tab=readme-ov-file#docker-images) so that there are no compatibility issues!
Disclaimer: I'm not a maintainer. So I'm not sure if @OlivierDehaene would have a different take on this.

Hello @OlivierDehaene, could you please advise if any workaround to fix this issue exists? I am trying to host Alibaba-NLP/gte-multilingual-base on Tesla T4 and also getting nulls the second time for the same text. I tried setting USE_FLASH_ATTENTION=True, but that did not help. Also, tried DTYPE=float32, but got Could not start backend: GTE is only supported on Cuda devices in fp16 with flash attention enabled


Add 85_Synonym perl version

Uses List::Util to handle all of the array manipulation
which is standard in the perl core.

Excellent, appreciate it! 🙌


exercise on streams

How to compare an element in stream to its next element for exercise 1? coz we need to check if the difference is 2

1 way is to collect them to a list then use IntStream.range(1, size).filter(i -> lst.get(i-1) vs lst.get(i))

There might need to be other checks than what @ginloy mentioned, as you need to make sure that you're not double-counting a sequence, but overall the strategy is correct.

think of it as iterating through indexes, instead of the actual list

it is more of going through indexes of list rather than the actual elements, or as mentioned above, also can use get method to retrieve, which is synonymous to the method using indexing.

A spoiler: you don't need to!
What if, instead of finding out which are primes, you do the same thing BUT out of those primes, you find out which of the primes are twin primes from the get-go?
You saved yourself from seeing through the previous/next element of the prime stream, but instead directly landing on a stream of twin primes!

For every number x from 2 to n, you can filter by checking if x is a prime && (x - 2 is a prime || x + 2 is a prime).


Map v2

Make a better Map component. Related issues for reference: #75, #81, #79
Requirements:

map should be drawn fast
map should support ideally SVG images, png/jpeg is also acceptable
we should be able to draw another (canvas and svg?) elements on the map. Like node dots and path lines.
map should accept a rectangle (relative coordinates of the underlying map image) and should automatically resize content so that the whole rectangle is always visible. This should be responsive and update as window dimensions change. See #79
ideally, map should support animations (e.g. arrows move along the path line). This doesn't need to be implemented for this issue, but keep it in mind.

Suggestions:

create another test project that doesn't use nextjs or any not necessary libraries
try to support everything we need without D3, if possible. I don't think it's very necessary
I suggest testing map size as fill-parent (100% width and height). I suspect it to be similar in the production version.

Interesting resource I found: Adding_vector_graphics_to_the_Web


module fragment identification

The current string identification design is imo not a great ux, and it introduces a split between fragments and blocks. I think just using identifiers could be helpful:
module foo {}

import * from foo;
import(foo);

new Worker(module {});

export function something() {}

module bar {
  import { something } from super; // doesn't have to be "super" but it seems appropriate
}

One thing to note is that this couldn't work, and might cause confusion:
let foo = module {};
import * from foo;

One solution would be to not have the expression form, which turns new Worker(module {}) into
module whatev {}
new Worker(whatev);

This also touches on #4 regarding how public modules (if such a thing end up existing) should be referred to from other modules.

Would this declaration be possible to make anywhere, or only at the top level of modules?

Anyway, I really like this idea. The main thing is that I can't think of how it would extend to exported modules, but maybe nobody needs that. I'm OK with let foo = module {}; import * from foo; just not working; I don't think that should prevent us from having the expression form.

How would you import from a module in a different file with this approach? I believe that's one of the main use cases for this proposal. I think we'd need something to be added to the module specifier to reference a sub-module and fragments make the most sense IMO. If they were declared as identifiers in the source code they could be magically mapped to fragments but this feels confusing to me. I prefer the more explicit approach of using fragment strings for this.

@devongovett yeah I'd like to avoid all the magic strings if possible... I think there are definitely solutions with the identifier form, for example import "foo".bar (I know, hideous right?). I couldn't think of something I really liked yesterday but i think we could come up with something reasonable.

@devsnek That's a bit difficult if you need the module specifier as a string, like in a dynamic import or Worker constructor. Arguably, for those cases, you could get this as a module block object instead (if that's exported from the module), but it feels a little complicated/mismatched.

@littledan yeah I haven't though of something I really like yet. one thing which came to mind was that resource proposal, in the vein of a syntax which lets you specify the specifier and identifier and returns some opaque value which can be imported. still not great though.

I guess I'm not sold on the idea that you should be able to directly name one of these modules without going through its parent:
// a.mjs
module foo {}
export foo;

// b.mjs
import { foo } from 'a.mjs';

import * from foo;
// or
new Worker(foo);

This also explains how to import deeply nested modules (just keep adding imports) and imo is easy to understand, but it is also quite verbose.

In the current proposal, whether a dynamic import targets an engine-held inline module or a host-resolved external one, depends on the set-inclusion of a runtime evaluated string. I can see how this is a strange structure and cost.
It makes sense to use an identifier + opaque value for inline structures, while reserving string specifiers for actual host-resolved resources.

At this point it’d make sense to consider merging this proposal with Module Blocks (or the other way around?).
One of the most-frequent questions for Module Blocks has been whether or not it tries to solve the “Bundler Problem” (putting multiple modules into one file). So far the answer has been “no”. The delta between this proposal and Module Blocks now boils down to “named” module blocks that can be used in static imports. Looking at the current README of Module Blocks, the examples would continue to work as-is, but now some could be improved to look more idiomatic (imo):
- let workerBlock = module {
+ module workerBlock {
  onmessage = function({data}) {
    let mod = await import(data);
    postMessage(mod.fn());
  }
};

let worker = new Worker(workerBlock, {type: "module"});
worker.onmessage = ({data}) => alert(data);
// Anonymous inline modules continue to work and can be postMessage()’d
worker.postMessage(module { export function fn() { return "hello!" } });

The syntax is reminiscent of const f = function() { ... } vs function f() {...}, and I kinda like that.
At the same time, this would allow the proposal to solve the bundler use-case. The counter-example from the Module Blocks README would be handled as follows:
module countBlock {
  let i = 0;

  export function count() {
    i++;
    return i;
  }
};

module uppercaseBlock {
  export function uppercase(string) {
    return string.toUpperCase();
  }
};

module combinedBlock {
  import {count} from countBlock;
  import {uppercase} from uppercaseBlock;

  console.log(count()); // 1
  console.log(uppercase("daniel")); // "DANIEL"
};

I’d suggest we discuss this possible merge at the incubator call, potentially under a new-ish name to avoid confusion (“Inline Modules”?) If it makes sense, we can move forward on the change as follows:

Below, in this thread (and in the incubator call, and possibly in plenary), talk through various semantic and syntactic details.
Make a PR against the readme to describe the combined proposal.
Write a specification for the combined proposal.
Bring the combined proposal to TC39 plenary to ask for consensus on a renewed Stage 2 on the whole package.

I think we should go in the direction identified by this issue, with these these major changes:

Module fragments are named by identifiers, not strings, so they are declared like module foo { export x = 1 }
Import statements can load a module fragment with syntax like import { x } from foo;, similarly as an identifier.
Import statements which import from a module fragment can work on anything which was declared by a top-level module fragment declaration in the same module, or one which was imported from another module. There's a link-time data structure representing the subset of the lexical scope which is the statically visible module fragments.
When a declared module fragment is referenced as a variable, in a normal expression context, it evaluates to a module block (one per time when it was evaluated, so the same one is reused for module fragments declared at the top level). It appears as a const declaration (so the link-time and run-time semantics always correspond).
Module fragments are only visible from outside the module by importing the containing module, and here, only if they are explicitly exported. They have no particular URL (note related issue: #10)
Module fragment declarations can appear anywhere a statement can, e.g., eval, nested blocks, etc (but they can only have a static import against them if they are at the top-level of a module). In contexts which are not the top level of a module, module fragments are just useful for their runtime behavior, of a nice way of declaring a module block.
We discussed this direction in an incubator call as well as a TC39 tools call, and feedback seemed generally positive. In my opinion, it's not necessary to merge this proposal with module blocks--it layers on top of module blocks cleanly already.


Support lambda.StartHandler.

Expected Behavior
DD only supports lambda.Start() which limits some of the functionality and uses of lambda. The difference between lambda.Start() and lambda.StartHandler() is that the former takes care of the serialization while the second operates and returns a []byte and accepts a struct that impliments Invoke()
For teams that have many lambdas that implement lambda.StartHandler() the lift to use DD is harder than if DD just supported that call behavior as well its an easier transition for teams.

Hi @zbintliff I've just released 1.1.0 which adds the 'WrapLambdaHandlerInterface' method, which can be passed to StartHandler. Let me know if that addresses your use case.


google.auth.transport.requests: make credential refresh robust

Setting timeout only to the requests library. Backward compatible.
Much simpler than my previous PR (#205) because I've made my misuderstanding clear.
I said:

the users of this library cannot determine whether the exception is from the token refresh HTTP requests (which I think can be safely retried) or from their own ones (which might not be idempotent nor able to be retried).

But it is not true. refresh() raises google.auth.exceptions.TransportError wrapping a requests' exception.
So users can write retry logic like
try:
    request()
except google.auth.exceptions.TransportError as e:
    if isinstance(e.args[0], requests.exceptions.ReadTimeout):
        retry()

Thanks, @somay!


Don't use CREATED action as last message for LHN

Fixes regression from: https://github.com/Expensify/App/pull/20223
When the reported action is the only action, we ended up returning the text of the report action with type CREATED. Normally we ignore this action and the new code wasn't ignoring it.

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/20940
PROPOSAL: GH_LINK_ISSUE(COMMENT)
Tests

Create a chat between two accounts
Send a SINGLE message from account A to account B
With account B, flag the message as harassment
Verify that the LHN shows "This is the beginning of your chat with concierge" and not "FAKE"

[x] Verify that no errors appear in the JS console

Offline tests

QA Steps

[ ] Verify that no errors appear in the JS console

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

@aldo-expensify The LHN does not show No activity yet instantly. I think it shows that only when it receives the data from pusher. Is that expected?

That sounds like a good guess to me, maybe we need better optimistic data to show it instantly. Having said that, I would consider that unrelated and leave it for a follow up if we want to improve it.
cc @neil-marcellini

Also, it does not seem to work if you're offline.
Screen.Recording.2023-06-17.at.4.28.05.AM.mov

Yeah, I think that points to the same think mentioned in your other comment, we are probably not  flagging the comment optimistically and we wait to receive it in the response or in the pusher. I think that can be improved, but that is not related to the deploy blocker.

Good thinking in testing with threads, I didn't think about that.

We will have to check what is the current behaviour for those cases in production. If it is the same, then https://github.com/Expensify/App/pull/20223 didn't break it and we would be fine with proceeding. If production works differently, maybe then we should just revert https://github.com/Expensify/App/pull/20223?

Thanks for testing in production.
@neil-marcellini @thienlnam @dangrous what are you thoughts here? Should we revert https://github.com/Expensify/App/pull/20223 ? or do you see an easy fix?

Thanks for your testing @allroundexperts! It sounds like we have a handful of issues.

Comments are not flagged pendingRemove optimistically - Woops I think I missed this, should be an easy fix as @aldo-expensify mentioned
Same thing when offline. I thought I tested that, but maybe not 🤔
First flagged message on a task doesn't hide - Very weird we should investigate.
"Concierge: " is displayed in the LHN after flagging a group chat comment. Also very strange, let's investigate.

Personally I think we should not revert the PR and fix these bugs one at a time since they are edge cases. I think we could easily fix the optimistic data with this PR. These don't feel like critical blockers, more like bugs related to a new feature. We should definitely still fix the issues eventually.
What do you think @aldo-expensify? Do you want to tackle this or split up the work with me?

split up the work with me?

If you know where to do these changes it would save me some time, so I would appreciate it you take part of the work.

Pushed a fix for the group case: https://github.com/Expensify/App/pull/20949#issuecomment-1595486497
I'm going to work on the tasks case now.

@allroundexperts or maybe wait a sec, I think there will be another bug:

Create a group with accounts A and B
Send a message with account A
Send a message with account B
With account A, flag the message sent by account B

I'm pretty sure that the last message will show account A's first message with B being the author
👁

This will also be wrong if there was an attachment before the flagged message:
https://github.com/Expensify/App/blob/24b8f5a99f182da68e455c2d5a89c6924861f783/src/libs/OptionsListUtils.js#L378-L379

Another case that doesn't work:

Flag the last message of a conversation
Go to another report
Log out / log in
Don't open the report where you flagged the message!
Verify that the flagged message appears as the last message of the report and it will disappear if you open the report

This PR is ready for review again.
@allroundexperts there is a backend PR that is in review that should fix what the backend sends as "lastMessageText", etc, when you flag a message. Basically it filters out the report action like the front end is doing. That PR not being deployed yet may make it more difficult to test stuff.

Unrelated bug, probably on main, maybe dev only?

Sign in with an account A and create a chat with a new user<EMAIL_ADDRESS>On another device attempt to login as that user

Expected result: The user is prompted for the magic code Actual result: An error is displayed Cannot get account details, please try again or contact<EMAIL_ADDRESS>
Yes, unrelated. I think this is the same I reported here: https://expensify.slack.com/archives/C049HHMV9SM/p1686949198475289

Tests "FAKE"
Not passing for me. The last message shows a whisper. I pulled the latest from Auth, and rebuilt and restarted it before testing.

Oh, I think I saw once this one... My suspicion is that there is an onyx update we push with the concierge message as the last message for the report. I'm guessing that needs a fix in Web-E. I didn't see this case much because my pusher events sometimes don't work in dev.
I don't think we should hold this App PR on that as that involves a fix in Web-E.

Since I made commits on this PR it would be best for me not to review.

This is no longer a blocker, so removing the CP staging label.

Reviewer Checklist

[x] I have verified the author checklist is complete (all boxes are checked off).
[x] I verified the correct issue is linked in the ### Fixed Issues section above
[x] I verified testing steps are clear and they cover the changes made in this PR

[x] I verified the steps for local testing are in the Tests section
[x] I verified the steps for Staging and/or Production testing are in the QA steps section
[x] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[x] I checked that screenshots or videos are included for tests on all platforms
[x] I included screenshots or videos for tests on all platforms
[x] I verified tests pass on all platforms & I tested again on:

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

[x] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[x] I verified proper code patterns were followed (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I verified that this PR follows the guidelines as stated in the Review Guidelines
[x] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] If a new component is created I verified that:

[x] A similar component doesn't exist in the codebase
[x] All props are defined accurately and each prop has a /** comment above it */
[x] The file is named correctly
[x] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[x] The only data being stored in the state is data necessary for rendering and nothing else
[x] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[x] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[x] All JSX used for rendering exists in the render method
[x] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(themeColors.componentBG)

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Ah gotcha, nvm then - could you please put hold in the title then until we get the backend PR merged?

Sorry, not yet, the PR was not reviewed for a long time, ran into conflicts and now some tests are failing

https://github.com/Expensify/Web-Expensify/pull/37910 is in staging, I'll start working on resolving conflicts + retesting.

Worked on the conflicts, but I have to retest everything. Resolving conflicts I saw that some changes I was doing here were already done in main, so I'll go through the list of cases we had and check what is the state for them.

I'm going to close this, the original issue seems to be fixed and this is full of conflicts. If there is something to do, we should do it in a fresh new PR.
cc @neil-marcellini since I think you needed some changes from here, but maybe you already implemented them


Added support for individual weights for balancermembers. (MODULES-2951)

Changes done to manifests/balancermember.pp and templates/haproxy_balancermember.erb
In manifests/balancermember.pp I have added in the definition of data type a line for a weights array that is undefined by default.
In templates/haproxy_balancermember.erb I have added a check to see if weights contain data, and if so print the correct line with weights added to it, otherwise do the original code.

The test cases fail, because you changes add an empty line to the config file, even when there are no changes. This can easily fixed, by removing the empty lines from the template.
More worrying though is the duplication of code in the template. Every parameter added would double the amount of code there, spiraling quickly into an unmaintanable mess. (even more so than it is already. It would be structurally much nicer, if you could fold this all into a single zip/loop and decide within the loop:
<% Array(@ipaddresses).zip(Array(@server_names), Array(@weights)).each do |ipaddress,host,weight| -%>
<% weight_option = " weight #{weight}" if weight -%>
...

Array() will return an empty array if passed in a nil, so that's safe. zip() will also return nils, if the arrays are too short, so that's also safe.
Finally, please at duplicate the check at https://github.com/puppetlabs/puppetlabs-haproxy/blob/master/spec/defines/balancermember_spec.rb#L84 and modify it to have weights too, to demonstrate that your changes are actually behaving as they are expected to.
Thanks for your contribution!

PS: when you change your code, please amend your commit and use force-pushing to your branch to keep all your changes in a single commit to keep the history clean.

When you say I should commit using force pull, do you mean:
git push -f
into my weights_feature branch? Or should I push it to my master? My master contains the original puppet-haproxy code, and I am developing and pushing only to my feature branch?

push -f to your feature branch. This will update the PR with the new code.
On Jan 11, 2016 6:03 AM, "bofollbring"<EMAIL_ADDRESS>wrote:

When you say I should commit using force pull, do you mean:
git push -f
into my weights_feature branch? Or should I push it to my master? My
master contains the original puppet-haproxy code, and I am developing and
pushing only to my feature branch?
—
Reply to this email directly or view it on GitHub
https://github.com/puppetlabs/puppetlabs-haproxy/pull/213#issuecomment-170440133
.

@bofollbring Thanks for the contribution. The comments clarification mentioned by @DavidS still needs to be addressed and this new parameter needs a README update as well as tests.

Hi There
Thank you for your efforts.
I'm closing this PR due to inactivity. Feel free to open a new PR with the comments addressed if you would still like this feature merged.
Thanks!


sshpass replacement + Versioning + Bugfix in H80, H81 and binary creation

Major Changes

Fixes for missing import, dump path and binary location
Added fix for common versioning and dynamic ssh ports
sshpass replaced with sshtunnel library
Fixed issue with SystemDetails argument
Fixed testcases H80 and H81. The issue was - When the BasicHealthCheckTestGroup is run, H81 executes before H80. H81 deletes all subscriptions, so H80 finds an empty list of subscription. The solution is to create a sample event in case there is no events.

Test Results

H80 and H81 run successfully both in group and independently.
sshtunneling still works as expected with the change.
CTAM binary creation works as expected. Tested by running the binary executable in different machines.
Regression tests run with F0, F1 and BasicHealthCheckTestGroup.

Looks like we are mandating GetSystemDetails with this change. We will need to avoid mandating this because the way to get details from BMC is not standardized yet. Once we have all move to OpenBMC, we can explore that. Can we revert this mandate?

is_tunnel_established is unused...correct?

Also, remote port needs to be flexible. Looks like the code forces remote redfish connection port as 80.

Any reason why we need two ports for tunneling?

Also I think we need to review the getes calls. Like this one under functional_ifc.py
self.ctam_create_es(
destination="https://<IP_ADDRESS>:8081/redfish/v1/RedfishEvents/EventReceiver/5",
RegistryPrefixes="ResourceEvent", Context="rm_server_5", Protocol="Redfish")

After rebasing with developer branch, "-l" option broke. It is related some changes made in https://github.com/opencomputeproject/ocp-diag-ctam/pull/17/files#diff-6677de547a626a4f2188f90e2a36c7205685120fcd4cff6f0c49288fea9ca44fL64


Segmentation fault while installing NixOS on travis

Describe the bug
NixOS installation fails randomly with a seg fault
$ bash <(curl https://nixos.org/nix/install)
downloading Nix 2.2.2 binary tarball for x86_64-linux from 'https://nixos.org/releases/nix/nix-2.2.2/nix-2.2.2-x86_64-linux.tar.bz2' to '/tmp/nix-binary-tarball-unpack.EKUWFTKp9k'...
performing a single-user installation of Nix...
directory /nix does not exist; creating it by running 'mkdir -m 0755 /nix && chown travis /nix' using sudo
copying Nix to /nix/store.................................
initialising Nix database...
Nix: creating /home/travis/.nix-profile
installing 'nix-2.2.2'
building '/nix/store/2c4l83wkdfrj7ra9k07l0aqvym1d5z20-user-environment.drv'...
created 6 symlinks in user environment
Segmentation fault (core dumped)

To Reproduce
fails randomly
Expected behavior
Installation should not fail
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
We observed this on TravisCI
Metadata
Please run nix run nixpkgs.nix-info -c nix-info -m and paste the result.
Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute:
# a list of nixos modules affected by the problem
module:

This is a Nix issue and can be reported in https://github.com/NixOS/nix


:sparkles: scdiff: add basic compare functionality

What kind of change does this PR introduce?
feature

[X] PR title follows the guidelines defined in our pull request documentation

What is the current behavior?
scdiff output is generated but not used
What is the new behavior (if this is a feature change)?**
result output is read back into the results format
Note: this support is preliminary still
go run cmd/internal/scdiff/main.go generate --repos repos --output=foo
go run cmd/internal/scdiff/main.go generate --repos repos --output=bar
# modify bar to introduce a diff
go run cmd/internal/scdiff/main.go compare foo bar
  pkg.ScorecardResult{
        Repo: pkg.RepoInfo{
-               Name:      "github.com/ossf/scorecard",
+               Name:      "github.com/ossf/scorecardy",
                CommitSHA: "",
        },
        Date:      s"0001-01-01 00:00:00 +0000 UTC",
        Scorecard: {},
        ... // 4 identical fields
  }

results differ
exit status 1

[X] Tests for the changes have been added (for bug fixes/features)

Which issue(s) this PR fixes
Related to https://github.com/ossf/scorecard/issues/2462, 4/n

Special notes for your reviewer
From the go-cmp documentation:

It is intended to only be used in tests, as performance is not a goal and it may panic if it cannot compare the values. Its propensity towards panicking means that its unsuitable for production environments where a spurious panic may be fatal.

I think this tool is a valid use-case, but curious to hear other opinions.
There's also the issue of the function: ExperimentalFromJSON2, which I'm taking the naming approach from https://github.com/golang/go/issues/34409
Does this PR introduce a user-facing change?
For user-facing changes, please add a concise, human-readable release note to
the release-note
(In particular, describe what changes users might need to make in their
application as a result of this pull request.)

Here's a real example from #2812, simulating if #2882 was reverted:
  pkg.ScorecardResult{
        Repo:      {Name: "github.com/microsoft/typescript"},
        Date:      s"0001-01-01 00:00:00 +0000 UTC",
        Scorecard: {},
        Checks: []checker.CheckResult{
                ... // 2 identical elements
                {Name: "CI-Tests", Score: 10, Reason: "22 out of 22 merged PRs checked by a CI test -- score normalized"..., Details: {}, ...},
                {Name: "CII-Best-Practices", Reason: "no effort to earn an OpenSSF best practices badge detected", Details: {}},
                {
                        Name:    "Code-Review",
                        Version: 0,
                        Error:   nil,
-                       Score:   7,
+                       Score:   0,
                        Reason: strings.Join({
                                "found 9 unreviewed ",
-                               "changesets out of 30 -- score normalized to 7",
+                               "human changesets (30 total)",
                        }, ""),
                        Details: {},
                        Rules:   nil,
                },
                {Name: "Contributors", Score: 10, Reason: "34 different organizations found -- score normalized to 10", Details: {{Msg: {Text: " contributors work for DefinitelyTyped,HearTao,SwitchaBLE,babel,"...}}}, ...},
                {Name: "Dangerous-Workflow", Score: 10, Reason: "no dangerous workflow patterns detected", Details: {}, ...},
                ... // 11 identical elements
        },
        RawResults: {},
        Findings:   nil,
        Metadata:   nil,
  }

results differ
exit status 1

I assume the endgame for scdiff is to run scorecard and then the diff module, eliminating the need to compare structure/format between two JSON outputs, right? As in, we'd expect consistent result format, modulo runtime/API errors?

run scdiff generate on a set to produce the golden.
commit golden to repo.
run scdiff generate on proposed changes
run scdiff compare to evaluate changes.
if intentional, run scdiff update to merge changes to golden, which will be committed

@raghavkaul addressed feedback, please take a look at the changes from the last round:
https://github.com/ossf/scorecard/pull/3363/files/16e11f2df84e77feedd1b208d0eb4578acebb4d8..9c4d6d2b187599376d4c934dca6f089e84a63228


Change GraphConfigurationService to use URIs rather than URLs

The equals and hashCode methods of java.net.URL both make calls out to the Internet and are blocking operations. URI on the other hand makes no such calls and should be used since the specific URL functionality is not required.

Merged into develop.


Kuma crashes and crashes whole server

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

Description
Hello, i updated and upgraded my Debian server and restarted it and then i noticed after some time it crashed my whole server.
How can i fix this? ._.
👟 Reproduction steps
I logged onto my server after it restarted and startet uptime kuma with a screen (screen node ...).
Then after 10-15 minutes i tried to log onto my server again and it didn't work.
👀 Expected behavior
Just not to crash and not to crash the whole server.
😓 Actual Behavior
Does crash the server and itself, did not react anymore in the browser.
🐻 Uptime-Kuma Version
1.23.2
💻 Operating System and Arch
Debian 12
🌐 Browser
Google Chrome 117.0.5938.108
🐋 Docker Version

🟩 NodeJS Version
18.17.1
📝 Relevant log output
-

Can you give me some screenshots? I cannot reproduce.

Please also share the reelavan logs, how you host it (docker/node/pm2) and other relevant factors (low RAM/CPU/IO/Disk space)

There is no screenshot because it just crashes withput showing an error.
And i use node v20 (also tried it with v16).
The server has 4 GB Ram and enough disk space, Kuma runs on his own vm.

Likely a hardware issue. Debian is super stable, it is unlikely to be crashed by Uptime Kuma which is just a JavaScript application built on Node.js.
So please try to change another server (physically) to run it.

Hello,
I'm sharing my experience too here because I guess it might help a little.
I had my Raspberry Pi 4 crashing quite frequently since I installed uptime-kuma in Docker, it wasn't crashing before and it would crash between 1 to every 3-4 days. I originally thought it would be linked to a defect on the SD card but since I removed uptime-kuma after seeing this issue, my Raspberry Pi isn't crashing anymore.
It might be due to high CPU or RAM usage but the result was that my rpi4 became unresponsive and only responded to pings; I couldn't open an SSH connection.
In the end, I really think Kuma has something to do with it. I'm using Kuma on another server of mine but no issues so far. If it can help I was using the chrome plugin to get http responses with screenshot; I think it might be the culprit, taking too much ram or CPU at one point and DoS-ing the whole server as a result.
Sadly I can't share much details here because I had to hard reboot the server every time.
Hope it helps.

Unfortunately the reported issue is still there.
I acknowledge its tough to have factual data or to replicate it easily but my pi4 never froze before I used uptime-kuma on it and it didn’t happened after I removed it.
I really think the culprit might be the browser check (with Chrome) that might blow up the whole thing.
I had issues on another server with it and not using it anymore made the server stable.

It might be of note that our handling of how browser sessions are handled is a valid pointer for improvement.
This issue is continued to be tracked in #3788, as I think this issue only targets OOM caused by the memory leak of real-browser instances being spawned and kept around as noticed there.
=> closing as a duplicate ^^


Enhancement : Oxygen OS 12 Dialer

About this discussion
On Oxygen OS 12, stock dialer icon is appearing contact icon, can any one fix this.

I don't have the stock OnePlus contacts and phone app anymore but I think this happens because the phone app is connected to the contacts app. When you delete contacts, phone also gets deleted. Both package names are com.android.contacts if I remember correctly

Yes it is available for old models like OnePlus 8. And yes you are correct
it is the same app. But other icon packs are manage to present the icons
separately.
On Sun, 28 Aug, 2022, 19:27 Patryk R, @.***> wrote:

I don't have the stock OnePlus contacts and phone app anymore but I think
this happens because the phone app is connected to the contacts app. When
you delete contacts, phone also gets deleted. Both package names are
com.android.contacts if I remember correctly
—
Reply to this email directly, view it on GitHub
https://github.com/LawnchairLauncher/lawnicons/issues/636#issuecomment-1229463300,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHAIBWGBQM24W7DHY7BOIDTV3NV4HANCNFSM57CS26JQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

But other icon packs are manage to present the icons separately.

Not sure how other icon packs do it but I know that Delta icons uses a different way of applying the icons to the apps. Lawnchair uses a different method than Delta icons so that might be the problem


smooth_trimesh_collision missing in project settings

Godot version
3.4.3
System information
Linux, Debian 11 64 bit
Issue description
I can't find the Smooth Trimesh Collision option in my project settings.
Steps to reproduce
According to the documentation, it should be here

Minimal reproduction project
gammaball.zip

The project setting is read once in the Bullet implementation, but its default value isn't defined in project_settings.cpp or any other centralized location: https://github.com/godotengine/godot/blob/195b7374b271324fc8dc7f015263dedea1d5a01c/modules/bullet/shape_bullet.cpp#L425-L428
That said, this setting is only used when the physics engine is Bullet. GodotPhysics does not have an implementation of this setting (and there are no plans to add it there).

There's an old pull request that aimed to fix the missing documentation: https://github.com/godotengine/godot/pull/42193
However, it would still hide the setting when the project uses the GodotPhysics engine. I think project settings should never disappear depending on other settings – especially if that only occurs after the project is restarted.
I'll open a new pull request that supersedes that PR, while also adding documentation for the setting in question.

Thanks Calinou. I was starting to believe I had a buggy install of multiple Godot Engines, since I couldn't predict if / when that option would appear.


Builder paginate() with ResourceCollection

Hello! Thank you for your work guys.
Sometimes I get data from the database using the Query Builder. It returns a sollection of stdClass objects. The paginate () method does not work with a resource file out of the box. Please consider adding this feature. For correct operation, I additionally change the resource file like this.
I used: return new MyResourceCollection($list->paginate());
Resource class I can change locally:
public function toArray($request)
{
    $arr = [];
    foreach ($this->collection as $i) {
        $arr[] = (array)$i;
    }
    return $arr;
}

P.S.: If you approve, it will work for the 8.x branch.
Good luck!

Thanks for your pull request to Laravel!
Unfortunately, I'm going to delay merging this code for now. To preserve our ability to adequately maintain the framework, we need to be very careful regarding the amount of code we include.
If possible, please consider releasing your code as a package so that the community can still take advantage of your contributions!
If you feel absolutely certain that this code corrects a bug in the framework, please "@" mention me in a follow-up comment with further explanation so that GitHub will send me a notification of your response.


try to fix up  #36

Do you have any tests or error messages I can review for this?

This project is unsupported. Please make any and all contributions to https://github.com/anymail/django-anymail instead.