Add Errors to generated types files.

Add Errors to the generated types files.  See ExampleTypes.py file for a good example.

Codecov Report
Attention: 37 lines in your changes are missing coverage. Please review.

Comparison is base (9810497) 66.76% compared to head (b1edba9) 67.01%.

Files
Patch %
Lines

pypechain/utilities/abi.py
50.00%
26 Missing :warning:

pypechain/render/contract.py
16.66%
10 Missing :warning:

pypechain/render/types.py
0.00%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #101      +/-   ##
==========================================
+ Coverage   66.76%   67.01%   +0.24%
==========================================
  Files          46       46
  Lines        1974     2101     +127
==========================================
+ Hits         1318     1408      +90
- Misses        656      693      +37

Flag
Coverage Δ

unittests
67.01% <71.96%> (+0.24%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


while scrolling next page lands in middle of two pages

while scrolling to the next page it lands in middle of two pages how can we make it to load either previous page completely or the next one

This version uses continuous scroll, you may use AndroidPdfViewerV1 for desired behavior

can you please help me to implement that scroll behaviour to land over the exactly another page instead of landing on middle of two pages.
please help me with compile library of versionV1.
Thanks.

Here it is: https://github.com/barteksc/AndroidPdfViewerV1
There is nothing unusual


fatal error LNK1112: module machine type 'x86' conflicts with target machine type 'x64'

When trying to build the SuperBuild I get the following error for Lua, ITK and SimpleITK:
LNK1112	module machine type 'x86' conflicts with target machine type 'x64'
I am on Windows 10 64Bit, using Visual Studio 2017. I configured CMake (3.14.0-rc3) to generate 64 bit.
Any ideas?

See if the answer in #257 solves your issue.

It worked! Thanks.

Umm, now when trying to run the python install part I get this error:
error: can't copy 'I:\Elastix\SimpleITK-build\Wrapping\Python\Packaging_SimpleITK.pyd': doesn't exist or not a regular file
Looking in the folder I can see that it does not exist?

Figured it out eventually. I first found #233 which helped with my question above but found that I still couldn't import elastix from simpleITK.
I think this was due to me installing simpleITK from conda or pip in that environment. I had to install a new anaconda environment and link the build it, now it is working.

I currently have the same problem on Windows 10.
Using CMake 3.15.3 and Visual Studio 2017, trying to compile a x64 project. I select the x64 platform for generator, and the configuration/generation runs fine. When I try to release the build from Visual Studio 2017 it gives me the error...

I experience the same error when compiling with x64 target in MSVC 2017 Community and CMake 3.15.4, while x86 works fine.
The problem occurs when building several temporal .vcxproj.
Even though I specified CMAKE_C_COMPILER="C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x64/cl.exe",
testCXXCompiler.obj/testCCompiler.obj says it uses "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx86/x86/cl.exe" for some strange reason and fails of course with LNK1112 error.
`
`

Hi,
I'm having the same issue. If I don't specify to cmake to build for x64 I have the error for the Python wrapper (as I use python x64).
But if I do include the cmake line, I got the opposite errors, where some libraries can't be linked because aparrently they are build for x86 (itk, lua, etc):

How can I set to compile all the other libraries for x64?
Thanks
Martin


Extract validation part of functions

Is your feature request related to a problem? Please describe.
When using the Python API directly all inputs to functions must be validated, which required runtime checks. The DSL is supposed to do most of these checks at compile-time already. Repeating these checks again is unnecessary and only decreases performance of the program (although the effect is usually marginal).
Describe the solution you'd like
We can split the functions into a validation part and an execution part. In Python we expose a function that calls both, while the compiler links to the execution part directly.
Describe alternatives you've considered
Alternatively, we can pass an optional parameter should_validate to the functions, which is set to True by default. The compiler can then always pass False there.

Too much work for too little effort. We make the Python library in the DSL available as is.


Missing info.plist keys prevent submitting macOS build for App Store review

Godot version
4.0rc6
System information
macOS 13.2
Issue description
While trying to get a Godot macOS export onto the macOS Apple App Store (as described here: https://github.com/godotengine/godot/issues/73876 which led to improvements for this process here in this PR: https://github.com/godotengine/godot/pull/74027) I've now managed to get a build to be properly signed and packaged to be accepted for upload by the Transporter app and listed in App Store Connect as ready for review. However, when you try to submit it for review (for Test Flight external testing) a new error is shown:
This build is using a beta version of Xcode and can’t be submitted. Make sure you’re using the latest version of Xcode or the latest seed release found on the releases tab in News and Updates
In other words, you can't submit the app for review since the system thinks it's been built with a beta version of XCode, preventing distribution via the App Store. It seems this is due to some missing keys in the info.plist of the exported app bundle Godot produces as guessed by @bruvzg  https://github.com/godotengine/godot/issues/73876#issuecomment-1448040562.
Adding the following keys copied from another macOS app I've built with XCode to the game info.plist before signing and packaging seems to resolve the issue:
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>14C18</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>13.1</string>
<key>DTSDKBuild</key>
<string>22C55</string>
<key>DTSDKName</key>
<string>macosx13.1</string>
<key>DTXcode</key>
<string>1420</string>
<key>DTXcodeBuild</key>
<string>14C18</string>

So at least some of these need to be added in exports for them to be eligible for mac app store distribution. It is however unlikely all of these keys are required for the build to be accepted. It's also unclear what content will be acceptable for these keys. I'll open this issue now to keep track of it and see if anyone else knows more about this. And I'll update with further comments if I figure out more about what keys are actually needed.
Steps to reproduce

Export, sign, package and upload a macOS build to the App Store using the steps described here: https://github.com/godotengine/godot/issues/73876
In the App Store connect Test Flight interface, add external testers to the build and click the button to submit for review.
Observer error about beta version of Xcode blocking submit.

Minimal reproduction project
This is a general macOS export issue

I've narrowed it down a little further, and it seems only these five are needed:
<key>DTPlatformBuild</key>
<string>14C18</string>
<key>DTSDKBuild</key>
<string>22C55</string>
<key>DTSDKName</key>
<string>macosx13.1</string>
<key>DTXcode</key>
<string>1420</string>
<key>DTXcodeBuild</key>
<string>14C18</string>

Basically it seems to be the SDK version and build and the XCode version and build (twice). The XCode version I haven't tried removing since that's what it complained about in the error,and removing the SDK keys I get the same error.

I finally managed to get an "official" reply from an Apple tech specialist about this and basically they just said that what XCode automatically exports is what's expected (without any further details on what/why) and if you're not using XCode to generate app bundles, just try to do things the same way XCode does. So I guess you were right in your reasoning @bruvzg

We made the suggested changes but we still get the same error when deploying to external users.

We made the suggested changes but we still get the same error when deploying to external users.

This was a specific issue with some keys missing that were required for apple app store review, that have now been added. It was not related to direct distribution to external macOS users. Or are you still getting the error above trying to submit your macOS build to apple app store review in Godot 4.x?

@lostminds we're still getting the error when we deploy the catalyst app to external users.


[CMake] Remove set(CACHE) line for SWIFT_MODULE_ABI_NAME_PREFIX

Due to https://cmake.org/cmake/help/latest/policy/CMP0126.html set(CACHE) overwrites the existing value if the cache has not been set to any value. Since we don't need any default value, just remove it.

@swift-ci Please test


VM Stuck in WaitingForVolumeBinding After bootDisk Re-Creation

What happened:
When the VM's spec is set to runStrategy: RerunOnFailure and I shut it down using virtctl stop vm, I deleted the boot disk (PVC) and recreated a new PVC with the same name. However, the VM's printableStatus is stuck at WaitingForVolumeBinding and remains in this state unless I manually start the VM using virtctl start vm.
What you expected to happen:
I expected the VM to automatically recognize the new PVC and either start or change its status appropriately without manual intervention.
How to reproduce it (as minimally and precisely as possible):
Create a VM with runStrategy: RerunOnFailure.

Delete the boot disk PVC.
Create a new PVC with the same name as the deleted one.
Observe the VM's status.
Additional context:
kubectl get vm -n test-ghi-1
test-ghi-1   test112                5h32m   WaitingForVolumeBinding   False
kubectl get vm -n test-ghi-1
test-1-vm-disk   Bound    pvc-e125bc71-8307-43e1-98b7-eefaf2678b83   100Gi      RWO            rook-ceph-block-ssd2                    15m
Environment:

KubeVirt version (use virtctl version): 1.3.0
Kubernetes version (use kubectl version): 1.29
VM or VMI specifications: N/A
Cloud provider or hardware configuration: N/A
OS (e.g. from /etc/os-release): N/A
Kernel (e.g. uname -a): N/A
Install tools: N/A
Others: N/A

@awels Would you please take a look? Thank you.


Typo at point 6 example code

Typo in example code at Point 6:
Add-SPOOrgAssetsLibary -LibraryUrl https://constosofonts.sharepoint.com/FontLibrary -OrgAssetType OfficeFontLibrary -CdnType Public
There is a missing "r" in the cmdlet. Should be "Add-SPOOrgAssetsLibrary"

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

ID: 4f7a81f0-e811-3420-5270-16bc0eb21baf
Version Independent ID: 8012480a-b73b-21b1-7212-911064182582
Content: Support for organization fonts in PowerPoint for the web - SharePoint in Microsoft 365
Content Source: SharePoint/SharePointOnline/support-for-organization-fonts-in-powerpoint-for-the-web.md
Service: sharepoint-online
GitHub Login: @sheshachary
Microsoft Alias: v-shesna

Thanks for your feedback! already fixed in https://github.com/MicrosoftDocs/OfficeDocs-SharePoint/commit/4a50294f539d2380d2cc3ef6b118d703ee1b8a36


fix(link): add theme to svg hover and active styles

svgs as links take up hover and active color from theme

:tada: This PR is included in version 5.28.2 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add Balancer Poly TriCrypto

Vault: 0x992E34c1Ccf7b1C174C044DcA1d23BE8403c327b
Strategy: 0x1D184b7f591533B3669C595e69A2471118e5509B

Lets deploy new vaults with new fee structure.

@sircryptomaxi Are you going to redeploy this one?


Numbered folders and renamed a pipeline

Agree with all feedback and please go ahead and make those changes yourself :)
Regarding Algorithmia, it was a folder rename and not removal - will check it out because although Algorithmia was bought by DataRobot, we can keep the integration there

@dr-ydata re-added algorithmia. for some reason, it got removed from the git tracking.

@gmartinsribeiro Merged my suggestions and approved. Good to go ✌


Update contribution.rst

Closes #1706
Now includes relevant change about clean_files.txt and improves the part about our coding style

Thanks @cornfeedhobo


Fixed release for resin-wifi-connect

As resin-wifi-connect-example will be used and copied by many, it's better to have a fixed release for resin-wifi-connect.
I got troubles when rwc went from 1ish to 2.0.0, I would like to prevent those troubles to happen to others.

LGTM


Any way to redirect Rollbar.error() to the log or stderror, or stdout in certain environments like Test?

In the Test environment, and sometimes in Development as well, Rollbar.error(x)  notifications going to the online dashboard is probably pointless.
There ought to be a mechanism to redirect Rollbar.error(x) and Rollbar.warning(x) to an alternate handler so app developers can observe the exceptions locally, right there, as they are testing and developing.
The wrong approach is to disable the gem on Test and/or Development becasue that simply hides the exceptions form the very people who needs them most (developers while they develop).
Is there currently any way (even monkey patching) that in the test and development environments all calls to Rollbar.error(e) can not report to the project dashboard and instead simply output to, for example, the local logger that the developer is watching as they develop?

Setting transmit to false and log_payload to true should do what you want. These were missing from the configuration reference and I've just added them.


fix(scroll): horizontal scroll with grouped rows

fixes endless horizontal scroll behaviour when using grouped rows.
What kind of change does this PR introduce? (check one with "x")

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Other... Please describe:

What is the current behavior? (You can also link to an open issue here)
What is the new behavior?
Does this PR introduce a breaking change? (check one with "x")

[ ] Yes
[x] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

@timowolf Could you please review?
Thanks!


Using SharedState inside coroutine...

Using of use_shared_state::<ControlServer>(cx).unwrap() result inside coroutine leads to error: The hook list is already borrowed: This error is likely caused by trying to use a hook inside a hook which violates the rules of hooks.: BorrowMutError'.
let data: &Coroutine<Signal> = use_coroutine(cx, |mut rx| {
        let conn_state = conn_state.to_owned();
        let server = use_shared_state::<ControlData>(cx).unwrap();
        async move {
              server.write().data = "value".into()
        }
});

Any ideas how to avoid this?

You cannot use hooks inside of hooks because it violates the rules of hooks. You need to move the use_shared_state out of the use_coroutine and clone then move it into the coroutine

Unfortunately, .inner() does not notifying subscribers.
And if we .clone() or just .unwrap(), nothing is working again.

The error:
[ERROR] error: lifetime may not live long enough
   --> src/main.rs:97:9
    |
87  |   fn App(cx: Scope) -> Element {
    |          -- has type `&'1 Scoped<'1>`
...
97  | /         async move {
98  | |             let rx = &mut rx;
99  | |             loop {
100 | |                 //log::debug!("--- Coroutine {:?}", conn_state.current());
...   |
214 | |             }
215 | |         }
    | |_________^ returning this value requires that `'1` must outlive `'static`

We should probably change use_shared_state to return a &'a State where state is Clone which would solve the above issue

It would be nice

And it would be nice also, to have an option to get SharedState without registering particular scope_id.
Bc i dont want the main componenet to be rerendered each time i write some data into.
But i want other children which are using thi SharedState to rereder.

.inner() is working with updated code as below.
we need just make .notify_consumers() fully public(without pub (crate)).
pub struct ProvidedStateInner<T> {
    value: Rc<RefCell<T>>,
    notify_any: Arc<dyn Fn(ScopeId)>,
    consumers: HashSet<ScopeId>,
}

impl<T> ProvidedStateInner<T> {
    pub fn notify_consumers(&self) {
        for consumer in self.consumers.iter() {
            (self.notify_any)(*consumer);
        }
    }

    pub fn write(&self) -> RefMut<T> {
        self.value.borrow_mut()
    }

    pub fn read(&self) -> Ref<T> {
        self.value.borrow()
    }
}

I believe it's a nice feature to not add current context as event subscriber if it is not supposed.
Maybe implementing like this:
pub fn use_shared_state<T: 'static>(cx: &ScopeState, to_subscribe: bool) -> Option<&UseSharedState<T>> {
    let state: &Option<UseSharedStateOwner<T>> = &*cx.use_hook(move || {
        let scope_id = cx.scope_id();
        let root = cx.consume_context::<ProvidedState<T>>()?;
        if to_subscribe {
            root.borrow_mut().consumers.insert(scope_id);
        }

        let state = UseSharedState { inner: root };
        let owner = UseSharedStateOwner { state, scope_id };
        Some(owner)
    });
    state.as_ref().map(|s| &s.state)
}

By the way i have error even on last release:
web_ui.js:410 panicked at 'The hook list is already borrowed: This error is likely caused by trying to use a hook inside a hook which violates the rules of hooks.: BorrowMutError', /home/serzh-dev/.cargo/git/checkouts/dioxus-1e619ce595d3799d/5b61cbb/packages/core/src/scopes.rs:644:61


runit support

A lot of people seem to use runit, so why not include support for that as well.

+1
Just a heads up, it seems every cookbook I use that depends on the runit cookbook has race condition issues.
 Sure looks ugly, but it seems like it has been resolved though?

I don't have confidence in the fix, because even though I'm using the latest runit, I still see occasional failures when provisioning and modifying logstash, kibana and kafka nodes.  I haven't looked too deep into it because running chef twice works around the issue.
knife cookbook show runit
runit   1.7.4  1.7.2  1.6.0  1.5.18  1.5.16  1.5.10

Aight, good to know, I'll most likely include the workaround :)


Fixed ability to tab-complete on $error[0]

$error is actually $global:error, however, internally it's updated as ExecutionContext.DollarErrorVariable even though an error variable is in the variable table of the session state (however it's not writable).  During CommandCompletion this error variable is found before getting to global scope, but is empty so tab-complete returns no results.  Fix is to transform CommandCompletion calls to $error as $global:error so that it is found in the correct global scope.
Also fixed some hardcoded strings to use already defined consts for variable names related to Error.
Addresses https://github.com/PowerShell/PowerShell/issues/3373

AppVeyor failure is due to regression in ExecutionPolicy tests.  Investigating.

The original fix I made had a bad assumption as there is a valid $script:error variable.  Coming up with a new solution.

Closing this until I come up with a better solution


Autofixture.AutoMoq Registering Interface

I have just started exploring AutoFixture with xUnit2 and AutoMoq. I am using AutoMoqDataAttribute to inject the objects into the test methods.
I am using interfaces to register the Object to interface type. Following is the code for same.
public void GetAll_Success([Frozen]Mock<IValueRepository> mockValueRepository, IValueLogic objValueLogic) {
    mockValueRepository.Setup(x => x.GetAll()).Returns(new string[] {"Value1", "Value2"});
    IEnumerable<string> expected = new string[] {"Value1", "Value2"};
    IEnumerable<string> actual = objValueLogic.GetAll();
    Assert.Equal<IEnumerable<string>>(expected, actual);
}

public class AutoMoqDataAttribute :
    AutoDataAttribute {
    public AutoMoqDataAttribute() :
        base(() => {
            IFixture objFixture = new Fixture()
                .Customize(new AutoMoqCustomization());
            objFixture.Register<IValueLogic>(() => objFixture.Create<ValueLogic>());
            return objFixture;
        }) {}
}

Now this works alright as a new ValueLogic object is created and injected whenever we need it in test function.
The issue arises when I need to mock the IValueLogic here. I think actual object is being created by the fixture instead of Mock object here.
public void Get_Success([Frozen]Mock<IValueLogic> mockValueLogic, ValuesController objValuesController) {
    mockValueLogic.Setup(x => x.Get(1)).Returns("Value1");
    string expected = "Value1";
    string actual = objValuesController.Get(1).Value;
    Assert.Equal(expected, actual);
}

What can be done differently in this case. Is it alright to register the IValueLogic in the class AutoMoqDataAttribute. Or is there a way to register it elsewhere.

Hello,
If you customize your fixture globally and "teach" it how to create IValueLogic instances via Register() method, than indeed this customization overrides the default behavior for each time whenever interface is requested. Even though you freeze Mock<IValueLogic>, object of this type is never requested - the logic which would relay interface request to mock request is located after the customizations block.
Easy suggestion I could make here (except of removing the global customization) is to re-register the dependency:
public void Get_Success([Frozen]Mock<IValueLogic> mockValueLogic, IFixture fixture) {
    fixture.Inject(mockValueLogic.Object);
    ValuesController objValuesController = fixture.Create<ValuesController>();
    mockValueLogic.Setup(x => x.Get(1)).Returns("Value1");
    ....
}

It should do a trick 😉
Other suggestions would require more effort, so I would consider them only if you need to solve this problem on a regular basis.

First of all, thanks for the answer. I did not know that we can simply inject the IFixture into the test function. So learned something new.
The solution you posted should surely work I have not tried it though. I came up with something else in the mean time. Here is what I have changed.
Instead of using Register I went ahead and used TypeRelay. I am passing two types in the constructor itself. Also there is one parameterless contructor I am using.
public AutoMoqDataAttribute(Type iType, Type cType) :
    base(() => {
        IFixture objFixture = new Fixture()
            .Customize(new AutoMoqCustomization());
        objFixture.Customizations.Add(new TypeRelay(iType, cType));
        return objFixture;
    }) {
}
public AutoMoqDataAttribute() :
    base(() => {
        return new Fixture()
            .Customize(new AutoMoqCustomization());
    }) {
}

And then passed on the respective types while using the attributes. Here is how it looks
[Theory, AutoMoqData(typeof(IValueLogic), typeof(ValueLogic))]
public void GetAll_Success([Frozen]Mock<IValueRepository> mockValueRepository, IValueLogic objValueLogic) {
    ...
}

The other method uses the class type directly so no need to pass in the types.
[Theory, AutoMoqData]
public void GetAll_Success([Frozen]Mock<IValueLogic> mockValueLogic, ValuesController objValuesController) {
    ...
}

Now this works as expected but would like to hear your thoughts. I have just started unit testing and using fixtures since yesterday so have no idea about what I really am doing.

Hello,
this seems like the issue I have battled with the last few days. How to get the fixture to create my SUT using a mock that I can do verification on when using autodata.
[AutoData]
public void DoThing_ShouldCall_DoOnThing([FrozenMoq] Mock<IThing> thingMock, Stuff sut)
{
    sut.DoThing();
    thingMock.Verify(x => x.Do());
}

If there was a magic FrozenMoqAttribute (as used in the code above), then all would be well.
With some inspiration from Mark Seemann and learning about creating your own CustomizeAttribute I came up with:
public class FrozenMoq : CustomizeAttribute
{
    public override ICustomization GetCustomization(ParameterInfo parameter)
    {
        return new FrozenMockCustomization(parameter);
    }
}

and with some effort and confusion
public class FrozenMockCustomization : ICustomization
{
    private ParameterInfo parameter;

    public FrozenMockCustomization(ParameterInfo parameter)
    {
        this.parameter = parameter;
    }

    public void Customize(IFixture fixture)
    {
        var mockType = parameter.ParameterType;
        var objectType = mockType.GenericTypeArguments.Single();

        Mock mock = (Mock)Activator.CreateInstance(mockType);

        fixture.Inject(mockType, mock);
        fixture.Inject(objectType, mock.Object);
    }
}

and to finally manage to simply inject the mock and the mock.Object in an easy way
public static class FixtureExtensions
{
    public static void Inject(this IFixture fixture, Type type, object instance)
    {
        var method = typeof(FixtureRegistrar).GetMethod("Inject");
        var genericMethod = method.MakeGenericMethod(type);
        genericMethod.Invoke(null, new[] { fixture, instance });
    }
}

Hope this help someone.
Btw I am using NUnit3 and AutoFixture.NUnit3, both version 4.8.

Why do you take Mock as parameter instead of directly T?
You can then access the mock to perform setups and verifications via Mock.Get(mock).
Example
https://github.com/Nybus-project/Nybus/blob/b610f2b5aea40abbc1740e1a7e25e09d7a8b7708/tests/Tests.Nybus/NybusHostTests.cs#L59-70


Unable to minimize remoteapp window.

Launch MS word as remoteapp.  Client minimize icon on the upper right corner of MS word window.  Expect to minimize windows.  Actual: MS word flashes screen one time and window stays on display.  If I use the linux menu from taskbar, minimize function works.
Steps to reproduce the behavior:

Using remoteapp /app option to launch MS word
click minimize icon on the upper right corner of MS word window

Expected:
MS word window should minimize, actual: window stay on display and there is a flashing on the MS word window one time.  This seems to be the windows takes the action to minimize and then it un-minimizes.
Application details

Version of FreeRDP - Master branch as of 3/31/2020

Command line used - client/X11/xfreerdp /u: /p: /v: /cert-ignore /app:'C:\Program Files (x86)\Microsoft Office\Office16\WINWORD.exe'

OS version connecting to - windows server 2016

Desktop (please complete the following information):

OS: [e.g. iOS] - RHEL 7.6
Browser [e.g. chrome, safari] firefox
Version [e.g. 22] RHEL 7.6

Update: With latest master branch as of 3/31/2020, the minimize menu in the taskbar is no longer working.

Hi, same issue with Ubuntu 20.04 and freerdp 2.1.1.

@akallabeth Issue persists with Freerdp v2.2.0 .
Issue reproducible on below OS:-
Xubuntu-16.04,18.04,20.04
Issue not reproducible in below OS:-
Ubuntu 16.04 (unity)
Workaround:-
Maximize  then minimize remote app is working
Note:-
1:-Xubuntu Win+D to minimize all app is also not working on remote app.

I can confirm this issue appears within XFCE4 desktop but not with GNOME desktop.
Here is a patch against freerdp 2.2.0 that fixes the bug in XFCE and also works with GNOME. I tested it in Ubuntu 20.04.§
xfce4.patch.gz

I am using xfreerdp and the patch is not finding the file to patch,
does it matter that I had to install freerdp2-x11
I tried to find the file that it tries to patch but I cannot find any
Thanks

@roland65 ok, did miss the patch, better submit a pull request, these I can´t miss ;)

OOooo silly me!

@roland65 @voltumna I´ve created #6823 which should address the issues during state change. please test and tell if it works.

To note - this fix would have made it into 2.3.0. The ubuntu 18.04 repo still references 2.2.0 as of today.

Just test on 2.3.2 and with XFCE, plank,  xfwm4 version 4.12.4, ubuntu 18.04 (galliumOS 3.1) and this ppa remmina-ppa-team/remmina-next-daily it still fails to minimize apps initialized via remoteapp. Please re-open this issue ticket.

@rbreaves is it fixed on master? If you want a backport then please create a pull request with git cherry-pick -x <commit> against stable-2.0 branch.

I’ll have to try this a bit later if I need to compile it myself. I was just trying the latest in that PPA & assume the fix was merged there already, but perhaps not for 18.04?
Atm I’m just dropping remoteapp & fullscreening the app I need. Need to figure out how to set the default theme for remoteapps any ways.

Bug still exists in debian/stable (bullseye) freerdp2-x11 version 2.3.0+dfsg1-2+deb11u1 AND in bullseye-backparts which has  freerdp2-x11 version 2.7.0+dfsg1-1~bpo11+1


bug: agi.it starts rendering CSS, then all styles disappear

Summary
When I open agi.it on Ladybird (tested on https://github.com/LadybirdBrowser/ladybird/commit/ad3dd54) it starts rendering CSS correctly, then suddenly all styles disappear.
Operating system
macOS
Steps to reproduce

type agi.it URL on the address bar and load the website
the website seems to load all styles
after a bit all styles previously loaded disappear and the website is kept raw without any style

Expected behavior
The website style should be kept intact instead of being completely removed
Actual behavior
It seems to remove all the previously loaded CSS, without any particular CSS error.
It happens (at least on my computer) at the "same" time of service worker failure (see screen recording), but this seems improbable to be the problem.
URL for a reduced test case
https://agi.it
HTML/SVG/etc. source for a reduced test case
N/A

Log output and (if possible) backtrace
ninja: Entering directory `/Users/giorgio/Developer/ladybird/Build/release'
[0/2] Re-checking globbed directories...
ninja: no work to do.
objc[90941]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x27cd36bf8) and /Users/giorgio/Developer/ladybird/Build/release/vcpkg_installed/arm64-osx/lib/liblibGLESv2_angle.dylib (0x1092141d0). One of the two will be used. Which one is undefined.
Ladybird PID file '/Users/giorgio/Library/Application Support/Ladybird.pid' exists with PID 90460, but process cannot be found
objc[90942]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x27cd36bf8) and /Users/giorgio/Developer/ladybird/Build/release/vcpkg_installed/arm64-osx/lib/liblibGLESv2_angle.dylib (0x108e581d0). One of the two will be used. Which one is undefined.
objc[90944]: Class WebSwapCGLLayer is implemented in both /System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks/WebCore.framework/Versions/A/Frameworks/libANGLE-shared.dylib (0x27cd36bf8) and /Users/giorgio/Developer/ladybird/Build/release/vcpkg_installed/arm64-osx/lib/liblibGLESv2_angle.dylib (0x107a901d0). One of the two will be used.
9827.347 WebContent(90944): HTMLScriptElement: Refusing to run script because it has already started.
9827.348 WebContent(90944): FIXME: Unimplemented IDL interface: 'HTMLButtonElementPrototype.willValidate'
9827.348 WebContent(90944): FIXME: Unimplemented IDL interface: 'HTMLButtonElementPrototype.validity'
9827.348 WebContent(90944): FIXME: Unimplemented IDL interface: 'HTMLButtonElementPrototype.validationMessage'
9827.348 WebContent(90944): FIXME: Unimplemented IDL interface: 'HTMLButtonElementPrototype.checkValidity'
9827.348 WebContent(90944): FIXME: Unimplemented IDL interface: 'HTMLButtonElementPrototype.reportValidity'
9827.348 WebContent(90944): FIXME: Unimplemented IDL interface: 'HTMLButtonElementPrototype.setCustomValidity'
9827.357 WebContent(90944): (js log) "qui entro?"

[ ] I’ll contribute a patch for this myself.

Andriod karma farming bot that runs on your device controlled from your dashboard.
We have made a reddit bot in 2024 but it functions through your phone remotely with a web dashboard no ADB or wire needed, a reddit karma bot that mimics human behavior through a learning script for the bot that shadows different humanized ways of managing an account of reddit.
You can check it's commenting features in our repository
How you can control the bot’s speed and never get banned again.


Failed to install and use API

Hi Mihai,
I tried to use the API but have two problems.

Using Python 3.7 with spyder on my windows PC I received this error message:

Traceback (most recent call last):

  File "N:\10_Gemeinsam\Haus\Heizung\Vermessung\Datalogs\TPLink_P115_Auslesen_v2.py", line 32, in <module>
    asyncio.run(main())

  File "C:\ProgramData\Anaconda3\lib\asyncio\runners.py", line 34, in run
    "asyncio.run() cannot be called from a running event loop")

RuntimeError: asyncio.run() cannot be called from a running event loop

Triying to install the API on my raspberry pi this error

pi@raspberrypi:~/Documents $ pip install tapo
Collecting tapo
  Downloading https://files.pythonhosted.org/packages/4a/20/914242caec6a15aae886f5eca36fce0d637b90dc2c2bd97bd5413c546b89/tapo-0.1.0.tar.gz (53kB)
    100% |████████████████████████████████| 61kB 1.4MB/s
    Complete output from command python setup.py egg_info:
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
    IOError: [Errno 2] No such file or directory: '/tmp/pip-build-Bnabi8/tapo/setup.py'

Any hint for me?

Python 3.8 is the minimum supported version. Can you try with that?

Thank you, works now with python 3.8.
And sorry, I should have noticed this in the release notes.


puppet-fritzing

https://github.com/mcauser/puppet-fritzing

@tarebyte @rafaelfranca can this be merged in or closed?

@mcauser @seanknox there appears to be a homebrew cask formula for this: https://github.com/caskroom/homebrew-cask/blob/13a89ee27d2c47923c8387b5e9ade5d3adfe6234/Casks/fritzing.rb.
I would rather not add anymore wrappers for applications unless that add something more to the functionality.
@mcauser I apologize for getting to this so late.


Tests are inconclusive

This tool uses the random jpg as the payload which for some reason it's accelerated in my cable setup.
When using a download payload like this: http://speed.syseleven.net:5060/download?nocache=f50c4aa4-601f-43da-a281-df1de8ee53dc&size=2500000 the results are very different and way lower.

I'm not even sure what this means, but this tool attempts to mimic speedtest.net by using their infra and methods of testing.

Speedtest.net doesn't use that kind of test, not where I live, in Germany, at least it doesn't.
See this: https://imgur.com/a/cCjZN
The 1st test is the kind speedtest-cli uses and the 2nd one is the kind speedtest.net uses. The 2nd one is actually my real bandwidth right now. I've tested on speedtest.net also and I never get close to the speeds reported by speedtest-cli. I'm guessing the jpg mode uses some form of compression to artificially inflate the numbers.

Check my fork for the correct method: https://github.com/auras/speedtest-cli

And now I get why I got so vastly different results. My ISP, Kabel Deutschland is prioritizing jpg downloads so that the old speedtests would deceive the users into thinking they have a higher bandwidth than they really do. https://imgur.com/a/u9Epg


[K3s][Windows Port] Build script and multi-call binary

Proposed Changes
This is the initial set of K3s agent for Windows port. This pull request is focused on:

Modifying the build script for Windows build
Modifying the multi-call binary logic to accommodate Windows convention.

Types of Changes
New feature
Verification
Run GOOS=windows CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc ./scripts/ci on Ubuntu machine to proof build Windows port.
Testing
N/A
Linked Issues
https://github.com/k3s-io/k3s/issues/7258
User-Facing Change
None.
Further Comments
None.

@seanyen are you still working on this?

yes, sorry I was little bit slow on this. I am distracted by other works and will be back to this one in 2 week-ish.

@seanyen very much appreciate the work on this! Please note we can't merge unsigned commits due to our DCO check, can you please make sure to commit with -s

@seanyen very much appreciate the work on this! Please note we can't merge unsigned commits due to our DCO check, can you please make sure to commit with -s

sure thing! I am still working on the feedback and definitely will make sure all checks are green before getting your attention again.

Thanks so much!

You can update your PR to pull plugins from https://github.com/rancher/plugins/releases/tag/v1.3.0-k3s1
https://github.com/k3s-io/k3s/blob/master/scripts/version.sh#L56

lgtm, but looks like it needs a rebase

lgtm, but looks like it needs a rebase

Thanks. I did a rebase. Let me know anything else to take care.

Did you go mod tidy after rebasing? It looks like there are some missing imports.

Multiple builds are failing with:
+ go build -tags urfave_cli_no_docs -ldflags '
    -X github.com/k3s-io/k3s/pkg/version.Version=v1.27.3+k3s-bbee5d7d
    -X github.com/k3s-io/k3s/pkg/version.GitCommit=bbee5d7d
    -w -s
 -extldflags '\''-static'\''' -o dist/artifacts/k3s ./cmd/k3s
error obtaining VCS status: exit status 128
	Use -buildvcs=false to disable VCS stamping.

@dereknola do you think this might be related to your change to exclude some of the git repo structure from being copied into the build image?

Cool, now I saw all checks are all green now. Thank @dereknola.

@brandond @manuelbuil Please excuse me I finally decided to fold the flannel changes into this pull request too since it would be easier to test everything as a whole. And also want to inform you that I added some notes how I manually test it in the pull request description. If you feel anything should be folded into the default configuration for Windows case, please let me know. Thanks.

@brandond @manuelbuil please let me know any feedback on the Flannel related integration. (for the files modified under pkg/agent/flannel/, daemons/agent/, and daemons/executor/) Thanks!

@manuelbuil, thanks for your comments!

Move the backend consts (e.g. wireguardNativeBackend) to the setup_linux.go too? And as I guess it will complain when building windows, we can have those const in the windows file but as empty strings.
Add a check which throws an error if we are in Windows and user selected a different backend

I am not too sure about the first bullet point but I added a precheck to error out on those unsupported backend types. Let me know what else to add there.

And then, another concern that I have related to networking: how are we going to remove everything created by flannel? In linux we have a killall script that removes, among others, all created network elements: https://github.com/k3s-io/k3s/blob/master/install.sh#L742-L761. However, I don't see that kind of script for windows. Is that something you are planning to contribute in the future?

Currently I didn't build any equivalent for killall script for Windows but it can be something to contribute in the future.

And last network concern: I guess dualStack or ipv6-only is out of the question in this first windows-k3s release, right? We should add a check or something that stops execution of k3s when windows + dualStack is configured

correct this is out of scope today. where would be the best place to add this precheck? I saw many places invoking IsDualStackxxx but there seems no big switch where I can stop the execution from the top level. Any pointers would be appreciated.

@manuelbuil, thanks for your comments!

Move the backend consts (e.g. wireguardNativeBackend) to the setup_linux.go too? And as I guess it will complain when building windows, we can have those const in the windows file but as empty strings.
Add a check which throws an error if we are in Windows and user selected a different backend

I am not too sure about the first bullet point but I added a precheck to error out on those unsupported backend types. Let me know what else to add there.

ok, it should be enough

And then, another concern that I have related to networking: how are we going to remove everything created by flannel? In linux we have a killall script that removes, among others, all created network elements: https://github.com/k3s-io/k3s/blob/master/install.sh#L742-L761. However, I don't see that kind of script for windows. Is that something you are planning to contribute in the future?

Currently I didn't build any equivalent for killall script for Windows but it can be something to contribute in the future.

And last network concern: I guess dualStack or ipv6-only is out of the question in this first windows-k3s release, right? We should add a check or something that stops execution of k3s when windows + dualStack is configured

correct this is out of scope today. where would be the best place to add this precheck? I saw many places invoking IsDualStackxxx but there seems no big switch where I can stop the execution from the top level. Any pointers would be appreciated.

Possibly here https://github.com/k3s-io/k3s/blob/master/pkg/agent/run.go#L72-L77

It seems like a recent change broke building k3s? I kind of remember seeing it building correctly

You likely need to incorporated the changes from https://github.com/k3s-io/k3s/pull/8342 if you want not build k3s server from main.go

Possibly here https://github.com/k3s-io/k3s/blob/master/pkg/agent/run.go#L72-L77

@manuelbuil Thanks! I added the precheck and let me know if it is not sufficient.

You likely need to incorporated the changes from #8342 if you want not build k3s server from main.go

@dereknola Thanks! I incorporated your change and let's see how it goes.

@brandond @manuelbuil I did another rebase, addressed the review comments, and cherry-picked the build fix (CI now looks green again 🙂). Hope you can take another review pass and let me know any other feedback. Thanks!

@manuelbuil Hi! Just a qq, I still saw those checks failed:
https://github.com/k3s-io/k3s/actions/runs/6471849557/job/17572705258?pr=7259
https://github.com/k3s-io/k3s/actions/runs/6471849540/job/17573032559?pr=7259
Are they something I need to pay attention or they are known issues? Thanks!

CI looks good

Hey @seanyen could we try to get answer to Manuel's question here: https://github.com/k3s-io/k3s/pull/7259#discussion_r1349920452? That should be the last thing before merging!

hey @seanyen, I have just tried to build using your instructions but I am seeing an issue with zz_generated_bindata.go  Could you double check that it builds k3s.exe in your env? It could be a problem in my env but I am not sure

hey @seanyen, I have just tried to build using your instructions but I am seeing an issue with zz_generated_bindata.go Could you double check that it builds k3s.exe in your env? It could be a problem in my env but I am not sure

@manuelbuil I updated the instructions and for my local build, I would need to pass SKIP_VALIDATE=true because of zz_generated_bindata.go will be regenerated during the build. Do I need to commit and push the generated bindata as well?

hey @seanyen, I have just tried to build using your instructions but I am seeing an issue with zz_generated_bindata.go Could you double check that it builds k3s.exe in your env? It could be a problem in my env but I am not sure

@manuelbuil I updated the instructions and for my local build, I would need to pass SKIP_VALIDATE=true to skip some checks because of zz_generated_bindata.go will be regenerated during the build. Do I need to commit and push the generated bindata as well?

Yes, when zz_generated_bindata.go is changed we require the new one to be contributed. I assume this policy should be the same also for windows.
Two extra things:

When building, I see now that it fails at this step: https://github.com/k3s-io/k3s/blob/master/scripts/package-cli#L38 because ./etc does not exist in the windows build. I can see k3s.exe already in bin\, so it is not critical but could you perhaps create an empty ./etc in the process?
In your instructions to run k3s.exe, there is a config example where you wrote: pause-image: '<the windows pause image matching to your Windows VM>'.  Are those images in dockerhub? I was doing a quick search in dockerhub but found nothing.

Thanks again!

In your instructions to run k3s.exe, there is a config example where you wrote: pause-image: '<the windows pause image matching to your Windows VM>'.  Are those images in dockerhub? I was doing a quick search in dockerhub but found nothing.

@manuelbuil Hi! I updated the pull request descriptions to include some examples. Hope that helps. And you will pass something like this mcr.microsoft.com/oss/kubernetes/pause:3.8-windows-ltsc2022-amd64 as pause image. And on Windows you must choose a container image matching to your Windows OS release version. Thanks!

Yes, when zz_generated_bindata.go is changed we require the new one to be contributed. I assume this policy should be the same also for windows.

@manuelbuil maybe a dumb question, but why the CI doesn't break in this case? Just a second thought, perhaps my instructions didn't do everything CI flow does. Any other steps I should take before invoking ./scripts/ci. It seems that zz_generated_bindata.go packages Traefik chart, but for my local build setup, it wasn't there.

When building, I see now that it fails at this step: https://github.com/k3s-io/k3s/blob/master/scripts/package-cli#L38 because ./etc does not exist in the windows build. I can see k3s.exe already in bin\, so it is not critical but could you perhaps create an empty ./etc in the process?

@manuelbuil Yes, I pushed another commit to ensure the ./etc folder gets created.

Hey @seanyen could we try to get answer to Manuel's question here: #7259 (comment)? That should be the last thing before merging!

@caroline-suse-rancher Thanks. I replied to this original thread and let me know anything else I can help answer! https://github.com/k3s-io/k3s/pull/7259#discussion_r1355778232

Yes, when zz_generated_bindata.go is changed we require the new one to be contributed. I assume this policy should be the same also for windows.

@manuelbuil maybe a dumb question, but why the CI doesn't break in this case? Just a second thought, perhaps my instructions didn't do everything CI flow does. Any other steps I should take before invoking ./scripts/ci. It seems that zz_generated_bindata.go packages Traefik chart, but for my local build setup, it wasn't there.

Yes, that was strange. I don't see it anymore, so maybe just a red herring

In your instructions to run k3s.exe, there is a config example where you wrote: pause-image: '<the windows pause image matching to your Windows VM>'.  Are those images in dockerhub? I was doing a quick search in dockerhub but found nothing.

@manuelbuil Hi! I updated the pull request descriptions to include some examples. Hope that helps. And you will pass something like this mcr.microsoft.com/oss/kubernetes/pause:3.8-windows-ltsc2022-amd64 as pause image. And on Windows you must choose a container image matching to your Windows OS release version. Thanks!

I am using Windows Server 2019. By looking at the tag, I guess the example image is for 2022, right? I executed the curl command you gave me and I see a list of items but not sure how to know the tag I should use. I guess for Windows 2019 and amd64, this is the image:
         "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
         "size": 1969,
         "digest": "sha256:ffc932eaa9f4235898cfbbe4d2beb7e8cfc741c5a48ff851354c51ac254caf88",
         "platform": {
            "architecture": "amd64",
            "os": "windows",
            "os.version": "10.0.17763.2928"
         }
      },

When I type Get-ComputerInfo I see OsVersion                                               : 10.0.17763. How to know the tag of that image?

When building, I see now that it fails at this step: https://github.com/k3s-io/k3s/blob/master/scripts/package-cli#L38 because ./etc does not exist in the windows build. I can see k3s.exe already in bin\, so it is not critical but could you perhaps create an empty ./etc in the process?

@manuelbuil Yes, I pushed another commit to ensure the ./etc folder gets created.

I still see a problem when executing your instructions:
+ docker save docker.io/rancher/klipper-helm:v0.8.2-build20230815 docker.io/rancher/klipper-lb:v0.4.4 docker.io/rancher/local-path-provisioner:v0.0.24 docker.io/rancher/mirrored-coredns-coredns:1.10.1 docker.io/rancher/mirrored-library-busybox:1.34.1 docker.io/rancher/mirrored-library-traefik:2.9.10 docker.io/rancher/mirrored-metrics-server:v0.6.3 docker.io/rancher/mirrored-pause:3.6 -o dist/artifacts/k3s-airgap-images-amd64.tar
+ zstd --no-progress -T0 -16 -f --long=25 dist/artifacts/k3s-airgap-images-amd64.tar -o dist/artifacts/k3s-airgap-images-amd64.tar.zst
dist/artifacts/k3s-airgap-images-amd64.tar : 27.79%   (578331648 => 160704777 bytes, dist/artifacts/k3s-airgap-images-amd64.tar.zst)
+ pigz -v -c dist/artifacts/k3s-airgap-images-amd64.tar
dist/artifacts/k3s-airgap-images-amd64.tar to <stdout>
+ '[' amd64 = amd64 ']'
+ cp scripts/airgap/image-list.txt dist/artifacts/k3s-images.txt
~/go/src/github.com/rancher/k3s
stat: cannot statx 'dist/artifacts/k3s': No such file or directory

I see k3s.exe being built though, so I could continue testing :)

I executed k3s.exe in my Windows server 2019 machine and it failed at the beginning:
PS C:\Users\Administrator> .\k3s.exe agent --config k3s-config.yaml
time="2023-10-13T03:24:54-07:00" level=info msg="Acquiring lock file C:\\Users\\Administrator\\.rancher\\k3s\\data\\.lock"
time="2023-10-13T03:24:54-07:00" level=info msg="Preparing data dir C:\\Users\\Administrator\\.rancher\\k3s\\data\\8ad51869022bd0fb8c3c259964f63d50137ab962c3d2aea08b3d5b0844b0d42e"
time="2023-10-13T03:24:56-07:00" level=info msg="error extracting tarball into C:\\Users\\Administrator\\.rancher\\k3s\\data\\8ad51869022bd0fb8c3c259964f63d50137ab962c3d2aea08b3d5b0844b0d42e-tmp after 17 files, 1 dirs, 1.7478539s: mkdir C
:\\Users\\Administrator\\.rancher\\k3s\\data\\8ad51869022bd0fb8c3c259964f63d50137ab962c3d2aea08b3d5b0844b0d42e-tmp\\bin\\aux: The directory name is invalid."
time="2023-10-13T03:24:57-07:00" level=fatal msg="extracting data: mkdir C:\\Users\\Administrator\\.rancher\\k3s\\data\\8ad51869022bd0fb8c3c259964f63d50137ab962c3d2aea08b3d5b0844b0d42e-tmp\\bin\\aux: The directory name is invalid."

Could it be a limitation of Windows Server 2019? Any idea how to workaround this?

I was able to install k3s on Windows 2022 and join on the k3s cluster as per the steps provided, along with some additional steps.
Installed v1.28.2+k3s1 on Ubuntu 22.04.2 LTS (GNU/Linux 5.15.0-1031-aws x86_64) as server
Installed k3s.exe built from commit: 2279e1386b82138db53bda87b1f11abbb9cfb376 on Windows 2022 (t3.xlarge)
WindowsProductName            : Windows Server 2022 Datacenter
WindowsRegisteredOrganization : Amazon.com
WindowsRegisteredOwner        : EC2
WindowsSystemRoot             : C:\Windows
WindowsVersion                : 2009
OSDisplayVersion              : 21H2

Summary:

k3s.exe building from the commit (see observations) ✅
Windows node joined the cluster ✅
Windows pods scheduled on windows node ✅
windows pods communicating with other pods (locally and remote) ❌
clusterIP services working ✅

 Cluster info
$ kubectl get nodes,pods -A -o wide
NAME                   STATUS   ROLES                       AGE    VERSION                INTERNAL-IP    EXTERNAL-IP     OS-IMAGE                         KERNEL-VERSION    CONTAINER-RUNTIME
node/ip-xxx-xx-27-44   Ready    control-plane,etcd,master   157m   v1.28.2+k3s1           xxx.xx.27.44   x.xxx.232.121   Ubuntu 22.04.2 LTS               5.15.0-1031-aws   containerd://1.7.6-k3s1
node/ip-ac1f2610       Ready    <none>                      144m   v1.28.2+k3s-2279e138   xxx.xx.26.22   <none>          Windows Server 2022 Datacenter   10.0.20348.350    containerd://1.7.6-k3s1

NAMESPACE     NAME                                          READY   STATUS            RESTARTS   AGE    IP          NODE              NOMINATED NODE   READINESS GATES
default       pod/client-deployment-54fd46977d-r5kxb        0/1     Pending           0          106m   <none>      <none>            <none>           <none>
default       pod/client-deployment-54fd46977d-zpwjc        1/1     Running           0          106m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>
default       pod/windows-app-deployment-6964ff4fb8-4scp9   1/1     Running           0          114m   <IP_ADDRESS>   ip-ac1f2610       <none>           <none>
default       pod/windows-app-deployment-6964ff4fb8-7lwpt   1/1     Running           0          114m   <IP_ADDRESS>   ip-ac1f2610       <none>           <none>
kube-system   pod/coredns-6799fbcd5-j4wfx                   1/1     Running           0          157m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>
kube-system   pod/helm-install-traefik-crd-4zzmm            0/1     Completed         1          157m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>
kube-system   pod/helm-install-traefik-gltrq                0/1     Completed         6          157m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>
kube-system   pod/local-path-provisioner-84db5d44d9-cwtzj   1/1     Running           0          157m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>
kube-system   pod/metrics-server-67c658944b-lplkj           1/1     Running           0          157m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>
kube-system   pod/svclb-traefik-68bbc537-2cz6q              0/2     SysctlForbidden   0          14m    <none>      ip-ac1f2610       <none>           <none>
kube-system   pod/svclb-traefik-68bbc537-d5vhv              2/2     Running           0          150m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>
kube-system   pod/traefik-7bf7d7576d-67rqb                  1/1     Running           0          150m   <IP_ADDRESS>   ip-xxx-xx-27-44   <none>           <none>

Observations:
From summary:

Although k3s.exe was built, there were some failures in docker step (ref: https://github.com/k3s-io/k3s/pull/7259#issuecomment-1761336234)
Also here are some additional steps, aside from the ones that are provided, that I had to run through for building on linux host

Install go version 1.20
Install docker

After joining for the first time, the Windows node restarted, causing k3s to stop on the node and the status to go to NotReady state. Upon logging on the Windows host and running the command again, k3s started again and status got updated to Ready state. This happened due to k3s not being run as a service (which is the case for rke2).
** So if there is a way to run k3s as a service, please let us know
** Additionally I ran this step on Windows node as per out doc in rke2

Enable-WindowsOptionalFeature -Online -FeatureName containers -All

Here is the windows_app_deployment.yaml file that was scheduled and observed it was Running

 windows_app_deployment
apiVersion: apps/v1
kind: Deployment
metadata:
  name: windows-app-deployment
spec:
  selector:
    matchLabels:
      app: windows-app
  replicas: 2
  template:
    metadata:
      labels:
        app: windows-app
    spec:
      containers:
        - name: windows-app
          image: mbuilsuse/pstools:v0.2.0
          ports:
            - containerPort: 3000
      affinity:
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/os
                operator: In
                values:
                - windows
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app: windows-app-svc
  name: windows-app-svc
  namespace: default
spec:
  type: NodePort
  ports:
    - port: 3000
      nodePort: 30096
      name: http
  selector:
    app: windows-app

Additionally also deployed pod_client.yaml (clusterIP service) and observed one of the pod was in Pending state

 pod_client.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app: client
  name: client-deployment
spec:
  replicas: 2
  selector:
    matchLabels:
      app: client
  template:
    metadata:
      labels:
        app: client
    spec:
      containers:
      - image: ranchertest/mytestcontainer
        imagePullPolicy: Always
        name: client-curl
      affinity:
        podAntiAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
          - labelSelector:
              matchExpressions:
              - key: app
                operator: In
                values:
                - client
            topologyKey: kubernetes.io/hostname
        nodeAffinity:
          requiredDuringSchedulingIgnoredDuringExecution:
            nodeSelectorTerms:
            - matchExpressions:
              - key: kubernetes.io/os
                operator: In
                values:
                - linux
---
apiVersion: v1
kind: Service
metadata:
  name: client-curl
  labels:
    app: client
    service: client-curl
spec:
  type: ClusterIP
  selector:
    app: client
  ports:
  - port: 8080
    protocol: TCP
    targetPort: 80

Failed to perform pod to pod communication, Executed the commands bellow to check that

$ kubectl exec svc/client-curl -- curl -m7 windows-app-svc:3000
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:07 --:--:--     0
curl: (28) Connection timed out after 7001 milliseconds
command terminated with exit code 28

$ kubectl exec svc/windows-app-svc -- curl -m7 client-curl:8080
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:07 --:--:--     0
curl: (28) Resolving timed out after 7657 milliseconds
command terminated with exit code 28

Also checked on Windows node via Get-HNSNetwork and Get-HNSEndpoint and nothing out of the ordinary was observed. So not sure why the cross node/pod communication wont work as the same works in rke2

Curling on the clusterIP was successful and returned expected output

Observed that the pod svclb-traefik was in SysctlForbidden and observed the following on the pod

...
kube-system   pod/svclb-traefik-68bbc537-898cz              0/2     SysctlForbidden   0          11m     <none>      ip-ac1f2610
...
$ kubectl describe -n kube-system pod/svclb-traefik-68bbc537-898cz
Events:
  Type     Reason           Age   From               Message
  ----     ------           ----  ----               -------
  Normal   Scheduled        12m   default-scheduler  Successfully assigned kube-system/svclb-traefik-68bbc537-898cz to ip-ac1f2610
  Warning  SysctlForbidden  12m   kubelet            forbidden sysctl: "net.ipv4.ip_forward" not allowlisted

We are probably not using it but should fix it

Observed one of the pod_client deployment is in Pending state with error below:

$ kubectl describe -n default pod/client-deployment-54fd46977d-r5kxb
Events:
  Type     Reason            Age                  From               Message
  ----     ------            ----                 ----               -------
  Warning  FailedScheduling  3m46s                default-scheduler  0/2 nodes are available: 1 node(s) didn't match Pod's node affinity/selector, 1 node(s) didn't match pod anti-affinity rules. preemption: 0/2 nodes are available: 1 No preemption victims found for incoming pod, 1 Preemption is not helpful for scheduling..
  Warning  FailedScheduling  64s (x2 over 3m45s)  default-scheduler  0/2 nodes are available: 1 node(s) didn't match Pod's node affinity/selector, 1 node(s) didn't match pod anti-affinity rules. preemption: 0/2 nodes are available: 1 No preemption victims found for incoming pod, 1 Preemption is not helpful for scheduling..

This may be unrelated but need to check why it happened.
Please let me know if any questions concerns.

@seanyen A quick rebase will be necessary.

@seanyen A quick rebase will be necessary.

Thanks! The rebase was done.

YOLO 🎉🎉

Congrats! Thank you all for the hard work

Thanks so much Francisco and Sean for all your work on this, we're very excited to continue working with y'all on this!

Silly question - ran through the build process (make download && make generate && make), but didn't get a k3s.exe out of it - what's the proper step-by-step procedure to build the k3s.exe?
Thanks!

Okay, I think maybe I just didn't read closely enough.  Looks like we need to run this on a WSL prompt:
sudo apt-get -y install mingw-w64
sudo apt-get -y install zstd
git clone https://github.com/k3s-io/k3s.git
cd k3s
GOOS=windows CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc SKIP_VALIDATE=true ./scripts/ci

Testing now.

Thank you for your work and instructions. I managed to compile and run it.
Building
Cross-compiling K3s 1.29 or 1.30 on Ubuntu 22.04 requires packages:
apt update
apt install git curl yq golang mingw-w64 zstd
# optional nano or other editor

Pull the code:
git clone --depth 1 --branch release-1.30 https://github.com/k3s-io/k3s.git
cd k3s/

Using standard build scripts I get error:
yq: error: argument files: can't open '.dependencies[] | select(.name == "golang: upstream version").version': [Errno 2] No such file or directory: '.dependencies[] | select(.name == "golang: upstream version").version'

Therefore, I patched scripts/version.sh
-VERSION_GOLANG="go"$(curl -sL "${DEPENDENCIES_URL}" | yq e '.dependencies[] | select(.name == "golang: upstream version").version' -)
+VERSION_GOLANG="go"$(curl -sL "${DEPENDENCIES_URL}" | yq '.dependencies[] | select(.name == "golang: upstream version").version' -)

Then
GOOS=windows CXX=x86_64-w64-mingw32-g++ CC=x86_64-w64-mingw32-gcc SKIP_VALIDATE=true ./scripts/ci
ls  dist/artifacts/


Add functionality for optional attendees

If there are optional attendees, check to see if they can be included in a meeting time; if not, just return available times for mandatory attendees
Wrote 5 new tests to test optional attendees feature

@megankj I'm going to CC you on this since this is an addition to the other PR of mine you are code reviewing! I just thought it'd be more organized to create another PR for the optional functionality


Prime ideal topology (S48) revising description

There seem to be some issues with the third paragraph/sentence in https://topology.pi-base.org/spaces/S000048 (the one beginning "Any open $U \subset X$ is open...").

That's interesting. The first line claims that $\{ V_{(x)} : x \in \mathbb{Z}^+\}$ is a basis of $X$ eventhough it's already the entirety of the topology.  Normally one defines the Zariski topology as the topology generated by the basis $\{V_I : I \text{ prime ideal }\}$ and I think the second section tries to explain that which is in that case redunant since the first line uses a different definition for the Zariski topology.
Additionally I found that pi-base doesn't know that S48 is Spectral, which follows imediately by the equivalent definition of spectral.

So maybe instead of 'has a generic point', this trait assert quasi-sober. S48 is also currently missing Alexandrov.
Your comment made me realize pi-base doesn't answer the following queries (though there are still a lot of spaces in pi-base not known to be Quasi-sober or ~Quasi-sober), which could be good to address in a future PR.
π-Base, Search for has a generic point +  ~Quasi-sober
π-Base, Search for has a generic point + hereditarily connected + ~quasi-sober

@JoeF131 I am not familiar enough with the algebraic side of things, but note that pi-base's notion of Spectral space (P75).
But how do we already know that S48 is spectral?
All pi-base knows about is the definition of spectral as a compact sober space where the compact open sets satisfy some specific properties.  The second paragraph in https://topology.pi-base.org/properties/P000075 talking about Stone duality is just background information, but can't really be relied on for justification. I think.

I mean P75 states "Additionally, spectra of commutative rings endowed with the Zariski topology are spectral spaces and vice versa, although this association is not one-to-one." in the second paragraph.

Right, these are difficult results.  For now, we may be better off using the topological characterization.

What do we think about mentioning somewhere on the page that S48 is the underlying topological space of $\mathrm{Spec}(\mathbb{Z})$ (which I just checked)?

What do we think about mentioning somewhere on the page that S48 is the underlying topological space of Spec ( Z ) (which I just checked)?

Yes.

I just checked the book {{doi:10.1017/9781316543870}} cited in P75. The proof that Spec(A) is a spectral space is given in section 2.5. and uses purely topology (with the exception of the definition of the Zariski topology).
The other direction that for every spectral space there is a ring A such that spec(A) is homeomorphic to the space is given in section 12.6. They do however follow Hochster's result, which is the paper I linked above.
The description of P75 exactly states the statements above while refering to {{doi:10.1017/9781316543870}}, so it follows from the current description that S48 is spectral. As such quasi-sober would also follow.

I have an alternative suggestion (for a future PR). S48 has an algebraic description because it appears in Steen-Seebach that way, and I think that's why it seems natural to assert 'Spectral'. I think can also be described as a kind of 'cone' over the cofinite topology on $\omega$ (S15) which appends a generic point. I'm not sure what the standard name for this cone construction is, but after briefly looking at this page, I think it's the closed extension of S15 by a point. Maybe in order to promote the general topology style of the website, it would be better to define S48 by this, and then refer to the algebraic descriptions via an alias / secondary description?

I think both of your suggestions above would be valuable improvements.
Namely, add an algebraic description of the space as $\mathrm{Spec}(\mathbb{Z})$, backed up with a good reference (wikipedia?) showing it's just an example of much more general contruction.  Adding $\mathrm{Spec}(\mathbb{Z})$ as an alias would make sense to me.
And also add a more topological direct description, which is kind of mentioned in item 1 of the counterexample in S&S.
I occasionally see the words "non-Hausdorff cone".  No idea what that is, but would that be related to this construction?

Namely, add an algebraic description of the space as Spec ( Z ) , backed up with a good reference (wikipedia?) showing it's just an example of much more general contruction. Adding Spec ( Z ) as an alias would make sense to me.

And also add a more topological direct description, which is kind of mentioned in item 1 of the counterexample in S&S.

I tried to do this. I may have overstepped by changing the name of the space to prioritize the non-algebraic description. I can easily revert it back and swap the orders of the descriptions if that's what we want. I thought it would be wiser to upload this commit to see what we thought first, and then update the traits to reflect the new primary definition; to that end, hopefully Item #21 of the closed extension topology section will be helpful.
I removed the reference to Wikipedia for the closed extension topology, because the version from Steen-Seebach is less general than what's on Wikipedia (from what I saw, Steen-Seebach just defines these extensions by adding a single point).

I occasionally see the words "non-Hausdorff cone". No idea what that is, but would that be related to this construction?

Unfortunately for S48's description / name, the non-Hausdorff cone from the finite topology sources is the open extension topology from Steen-Seebach. The "non-Hausdorff cone point" is a focal point, not a generic point.

I think it's fine to have the primary name in non-algebraic terms in this case, and we also have $\mathrm{Spec}(\mathbb Z)$ for the algebraic description.  Both of these precisely identify the space.  The other alias (Prime ideal topology) is the least helpful, but is there because of S&S.  I think it should move to the last position.
Also when referring to a wikipedia entry, the name in the refs: section is usually of the form "... on Wikipedia".

Should the P201 trait be described in terms of the extra point, now that we emphasize the more topological description?
("Every nonempty open set contains the point $p$.")

The name "Closed extension topology" is not used much in the literature, but it does appear in a few places, mainly due to references to S&S. Not sure there is a better way to express things.

Yea this is the issue I found. The most famous representative for this homeomorphism class of spaces is clearly (the underlying space of) $\mathrm{Spec}(\mathbb{Z})$. But it seems like the best description of the space from the point of view of general topology is the direct unwrapping of the definition of the closed extension topology applied to S15. I would guess this name (the closed extension one) is somewhat opaque to most passersby, which is unfortunate. It does have the strength of conveying to the reader that it has something to do with another space that they probably are familiar with. The problem with ' $\mathrm{Spec}(\mathbb{Z})$ ' (or 'Prime Ideal Topology') as the primary name is it sends the reader off into another subject just for one example. (It's not clear if these latter two are less opaque than the closed extension one, except for algebraic geometers.  Still, ' $\mathrm{Spec}(\mathbb{Z})$ ' likely the most recognizable.)

Should the P201 trait be described in terms of the extra point, now that we emphasize the more topological description? ("Every nonempty open set contains the point p .")

I was thinking about updating all of the traits (or as many as is convenient) to reflect the new definition. Would it be good to do that here? I'll go ahead and change P201 now.

Yeah, although not ideal, "Close extension of ..." is probably as good as any.  Unless someone comes up with a better suggestion, let's go with that one.
Up to you if you want to update more traits now, or leave it as is.

Up to you if you want to update more traits now, or leave it for a later time.

I think it's good to open this up to other contributors, since I think a few other people wanted to make changes to S48 since this PR appeared.
(I do want to clarify, and I think we agree, that one of the justifications for this change is that it should be easier to directly assert the conditions going into 'Spectral' now, and that I think 'Spectral' should not be asserted as a trait.)

Out of curiosity, since S48 still has spectral being unknown, what is the plan for it now? None of the theorems that implies spectral applies to S48. But S48 is sort of the archetypical example of a spectral space. It feels a bit strange to have that trait being unknown.

@david20000813 @prabau I think we should add the trait for Quasi-Sober, from which Sober will be deduced by Quasi-Sober + T0. Then we add the trait for Spectral using pi-base's primary definition:

A Compact Sober space for which the collection of compact open subsets is closed under finite intersections and forms a base for the topology.

So the trait-file will mention {S48|P73} and {S48|P16}, and then it will briefly justify all non-empty open sets are compact, so that Spectral follows.
(I'll be honest and say that I did misunderstand T554. I misread 'hereditarily connected' there for 'hyperconnected'. Either way, I think the idea is to use the primary definition of Spectral, so that not too many of the basic topological properties are hidden beneath a non-trivial theorem.)

@GeoffreySangston I do wonder if the conditions for T554 can be weakened. I can't even find a counterexample to "Hyperconnected + Compact + Sober => Spectral". But yes, adding Noetherian does sound like a good idea. Sober + Noetherian does imply Spectral.
(Quasi-sober + $T_0$ is equivalent to Sober, so your last statement is the same as saying Sober + Noetherian => Spectral.)

Also, any (nonempty) spectral space has a closed point, since any nontrivial ring has a maximal ideal which corresponds to closed points under the Zariski topology. Does anyone know a purely topological proof of this fact? This is currently unknown to pi-Base.

Oh, yeah, this follows from Compact + $T_0$ => Has a closed point, which is a generalization of T641. I'll write a PR.

The Alexandrov condition of T554 is necessary. Hereditarily connected also cannot be weakened to hyperconnected.
Hereditarily connected + Compact + Sober does not imply Spectral: Take the right ray topology on $X = [0,1]$, i.e., the open sets are $X$ and $(a,1]$ for $0\leq a\leq 1$. $X$ is clearly hereditarily connected. It is compact because $0$ is a focal point. It is clearly $T_0$. Nonempty closed sets are of the form $[0,a]$ for $0\leq a\leq 1$, which has generic point $a$, so $X$ is sober. It is, however, not spectral, as $(a,1]$ is never compact unless $a=1$ (i.e., when $(a,1]=\varnothing$), so the only compact open sets are $\varnothing$ and $X$, which clearly do not form a basis.
Hyperconnected + Compact + Sober + Alexandrov does not imply Spectral: Consider the set $\{\frac{1}{n}\}_{n=1}^\infty$ with its usual order. Let,
$$X=\{0_a,0_b\}\cup\{\frac{1}{n}\}_{n=1}^\infty$$
where either of the zeros is smaller than all $\frac{1}{n}$ and the two zeros are incomparable. Take the Alexandrov topology on $X$. $X$ is hyperconnected since the ordering on $X$ is upward directed. It is compact since the minimum neighborhood of $0_a$ is $\{0_a\} \cup \{\frac{1}{n}\}_{n=1}^\infty$ and similarly for $0_b$, and the two neighborhoods already cover the space. $X$ is clearly $T_0$. Closed sets are downward closed sets, so nonempty closed sets are exactly,
$$\{0_a\}; \{0_b\}; \{0_a,0_b\}; \{0_a,0_b\}\cup\{\frac{1}{n}\}_{n=N}^\infty, \text{ for }N\geq 1$$
$\{0_a,0_b\}$ is not irreducible as $\{0_a\}$ and $\{0_b\}$ are both open in $\{0_a,0_b\}$. All other nonempty closed sets are irreducible, and they all have maximum elements, which are generic points. Thus, $X$ is sober.
However, $X$ is not spectral, because,
$$\{0_a\} \cup \{\frac{1}{n}\}_{n=1}^\infty$$
and,
$$\{0_b\} \cup \{\frac{1}{n}\}_{n=1}^\infty$$
are both compact open (they both have minimum elements and thus focal points). But their intersection, $\{\frac{1}{n}\}_{n=1}^\infty$, is not compact.

While constructing these counterexamples, I realized an interesting fact: The counterexample for Hereditarily connected + Compact + Sober => Spectral has cardinality continuum, and this is necessary - Hereditarily connected + Compact + Sober + Cardinality $<\mathfrak{c}$ => Spectral is actually true. I'll write this in an MSE answer tomorrow, but the basic idea is that the specialization preorder is a bounded linear order with the least upper bound property, so cardinality being strictly smaller than continuum means it cannot be a dense order. Even stronger, no nondegenerate interval can be a dense order. This ensures enough elements have immediate predecessor, which translates to enough compact open sets.

@david20000813 I loosely read over your write-up for ~20 minutes and it looks really nice. I need to properly read it tomorrow though.
I was wondering if you know any good examples of the following?
π-Base, Search for Hereditarily connected + compact + sober + Cardinality $\lt\mathfrak c$ + ~noetherian

@GeoffreySangston The left ray topology on $\omega + 1$ is an example. It is also Alexandrov. (If you want a non-Alexandrov example, the right open ray topology on $\omega + 1 + \omega^\ast$, where $\omega^\ast$ means $\omega$ with reverse ordering, works.)


Add headers to multipart uploads

This PR adds config.HEADERS to each multipart upload requests that goes to Filestack servers.
PUT request to S3 is left untouched.
I also fixed some indentation issues.

Coverage remained the same at 91.236% when pulling 2549e0a133f219466101bd4f6706a00fb624b32b on add-headers-to-multipart-uploads into c71c8741272e65bfe0a7c29710ce3e9598c90880 on develop.

Looks good :)


Rework how natives are built and add emscripten support

Simplifies how natives are built and how they are structured.
Adds support for auto linking static library when in NativeAOT mode
Adds support for emscripten WASM builds

TODO:

[x] Update CI.yml
[x] Natives first build

Thanks! Looks great, this was a much needed cleanup.


merge from upstream

merging commits:

https://github.com/GoogleCloudPlatform/microservices-demo/commit/185f22949d49c6da60e15e6589935135a612ea16
https://github.com/GoogleCloudPlatform/microservices-demo/commit/8f39e3152f7d46d21d221a8c0617cb88c537851b
https://github.com/GoogleCloudPlatform/microservices-demo/commit/128ca374258285edfaac0fbf9d2e69e1f4fc90ed

PR #5 Merged changes


Add protect option to formula column with readonly access to prevent errors from owners

Describe the problem to be solved
Owners have access to edit formula but when they edit data in a row with formula, they could erase formula.
A discussion here : https://community.getgrist.com/t/make-formula-columns-write-protected/6345
Describe the solution you would like
Add a toggle/check in column formula options in order to able/disable formula editing.

There is already a prop in UI model:  https://github.com/gristlabs/grist-core/blob/e43bb670a0fa03b2e8b1b3ca153621290e992bdd/app/client/models/entities/ColumnRec.ts#L73

Thanks for the feature request! Let me attempt to categorize the various things that are possible that maybe shouldn't always be possible. For terminology, I'll say "data column" to mean "column that's not a formula column".

Editing values in a data column. (Can already be made read-only in access rules.)
Editing formula in a formula column.
Converting a data column to a formula column.
Converting a formula column to a data column. (This is what happens when one erases a formula and sets a value.)

The last 3 can be blocked by denying "edit structure" permission in the "Special rules" section of access rules. But this would apply to the whole document, not per column.
I see several related but slightly different options for what we could do:

When using access rules to deny "Update" permission on a column, disallow not only (1), but all changes to the column. You could then decide who has this permission denied and who doesn't. Note that this would apply as a secure way to block changes -- not only through UI, but through API as well.
As in 1, plus add a "read-only" or "editable" checkbox (like you proposed) for a column, which is equivalent to an access rule that prevents everyone from making any changes to the column. Owners can uncheck the checkbox to remove this rule.
Add a "read-only" or "editable" checkbox like you proposed, but which only locks the column in the UI, and does NOT create access rules. It does not affect API access. The lock in the UI applies to everyone. Anyone with "edit structure" permission can toggle it (by default that's all editors). So it's more to prevent mistakes than to lock the column securely.

Perhaps there is a better combination than these. Of the ones here, I'd lean towards 2.
It's also possible that would could additionally create some UI where you could keep the column read-only, and allow owners to "bypass protection temporarily", i.e. rather than remove the rule (which would create a window where others could make a change), the bypass would create an extra permission just for this owner's current session. I could see that being useful at other levels of granularity too, e.g. to lock down a whole table or document for everyone, and still allow owners to bypass the lock to make changes.


希望增加重试时间间隔设置

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

同需要这个功能

@Echo009 有考虑在下个版本支持吗？

#285


fix Typescript type for pgenericStruct

Context
pgenericStruct at src/onchain/pluts/PTypes/PStruct/pstruct.ts (line 418)
is a combinator generic in the arguments and the return type of the function it takes as agrument:
function pgenericStruct<
    ConstStructDef extends ConstantableStructDefinition,
    TypeArgs extends [ ConstantableTermType, ...ConstantableTermType[] ]
>
(
    getDescriptor: ( ...tyArgs: TypeArgs ) => ConstStructDef
): /* ... */

the return type is also generic:
<TyArgs extends TypeArgs>( ...tyArgs: TyArgs ) => PStruct<ConstStructDef>

where TyArgs must extend TypeArgs which is the type argument of pgenericStruct;
the return type is basically the same of a function like:
function pgenericStruct<TypeArgs extends [ ConstantableTermType, ...ConstantableTermType[] ]>( ...tyArgs: TypeArgs )
{
    return pstruct({ /* definition using type arguments */ });
}

The problem
the definition infers the type from the argument getDescriptor
so ConstStructDef replaces the type arguments with the most generic ones (ConstantableTermType), which are not the types passed by the user.
Expected behavior
return type is inferred once passing the arguments
Why is it important
the inferred type is then used in struct matching with pmatch; if the type are the most generic ones; typescript is unable to understand the type of a term; hence suggesting the appropriate functions to use.

The problem is of course a typescript typing problem.
In particluar the type of the output of the function should be the same of the input function.
This solves the resulting struct not being too generic but calling the resulting function doesn't change the type because the inputs are unrelated.
The only solution is to deprecate pgenericStruct in favor of functions that do return structs.

this will be fixed in version 0.2.0


Batch up disjoint union membership errors

One of the error types I find most jarring is when you have a mistake in something like a redux reducer and have a case with an invalid action.type value. If your Action type is a disjoint union of say 200 action types you get 200 errors for that one line when it could be batched and reported as a single error along the lines of "Exhausted all 200 members of Action type"

not enough info to repro


Support spec.externalIPs and NodePort services

Currently the controller only supports LoadBalancer services, and only handles the IP addresses found in the .status.loadBalancer.ingress field. The controller should also handle the IP addresses in the .spec.externalIPs field, which can also be used to direct traffic into a cluster.
Finally, because externalIPs can also be used with NodePort services, I feel that the controller should accept those too.

@bootc Thanks for your comment.
Now. k8s adds IPVS rules for spec.externalIPs to all nodes regardless of  externalTrafficPolicy: Local.
So network-node-manager doesn't neet to add rules for spec.externalIPs.

The problem I ran into is that on nodes that are not running pods, the service is unreachable. The rules inserted by this controller work around that.

@bootc I tested spec.externalIPs with the below service manifest in the v1.18.3 cluster.
apiVersion: v1
kind: Service
metadata:
  name: my-nginx-ipv4
  namespace: default
spec:
  ...
  externalTrafficPolicy: Local
  ipFamily: IPv4
  externalIPs:
    - <IP_ADDRESS>
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    run: my-nginx
  sessionAffinity: None
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: <IP_ADDRESS>

And I check the IPVS rules in the note that doesn't have my-nginx pod. Below is the IPVS rules.
...
TCP  <IP_ADDRESS>:80 rr
TCP  <IP_ADDRESS>:80 rr
  -> <IP_ADDRESS>:80                 Masq    1      0          0
  -> <IP_ADDRESS>:80                 Masq    1      0          0
...

As you can see, IPVS has a load balancing rule for the <IP_ADDRESS> address that in spec.externalIPs to the my-nginx pod. So I think that network-node-manager doesn't need to add rules for spec.externalIPs.
And I checked spec.externalIP works on any nodes with flannel CNI.
I think that if your app can't access `spec.externalIP', that's not IPVS issue.

Interesting. For me, on Kubernetes 1.20, the behaviour is the same for externalIP or LoadBalancer IPs. On nodes with active pods, I only have the pod IPs that are on the local node. And on nodes with no pods I have no entries at all.
I believe that in Kubernetes 1.21 this may be resolved by the addition of an internalTrafficPolicy field to services (https://github.com/kubernetes/kubernetes/pull/96600), so actually this can probably be closed, but I definitely don't see the behaviour as you describe it.

Please show your service info and result of the below command in the node that doesn't have the pod.
ipvsadm -L -n

I'm not sure why you don't believe me, but here is the service info on a node that isn't running a pod:
# ipvsadm -L -n -t <IP_ADDRESS>:1883
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  <IP_ADDRESS>:1883 rr

And the same on a node running a pod:
# ipvsadm -L -n -t <IP_ADDRESS>:1883
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  <IP_ADDRESS>:1883 rr
  -> <IP_ADDRESS>:1883            Masq    1      0          0

This behaviour is identical for services using spec.externalIPs or status.loadBalancer.ingress[].ip, and also identical across IPv4 and IPv6. Clearly, this only applies for externalTrafficPolicy: Local services.

Sorry if you are offended. It wasn't that I couldn't believe you, but to keep track of the relevant history.
I think it depends on Kubernetes (kube-proxy) version.
As your propose, it's ok to add rules for .spec.externalIPs.
Thanks. I will work.

@bootc I committed for this issue: https://github.com/kakao/network-node-manager/commit/d1368d3047d8f0b940acfefabd7f69357ac9faa6
And I tagging with your commit. Thanks :)


UMD shim for Webpack, Browserify and RequireJS compatability w/o shims

It looks like a lot of changes, but it's really not. It's just wrapped in a function with the UMD shim added at the bottom, the test runner fixed and I took the liberty of not modifying the global Array.prototype since it was only used once (it's generally a bad practice to modify primitive objects unless absolutely necessary).
Tested and all tests pass.

Thanks again

Cheers! And thanks for the npm publish. It now works out of the box with require('undo-manager') after a npm i --save undo-manager


Add cockroach nodelocal upload to cockroach-start.md

Needed to add cockroach nodelocal upload to the --external-io-dir
description. Closes #6885.

This change is

@ericharmeling - skipping eng review for this since this is a minor edit that should've been included in the main cockroach nodelocal upload PR.

Online preview: http://cockroach-docs-review.s3-website-us-east-1.amazonaws.com/5f74ba3bf7b3007cda6884d123e3319cbe770377/
Edited pages:

v20.1/cockroach-start.md


Dict with Cython functions

Is there a way to make this dict with Cython functions? I'd like to import it in loglikelihood.pyx

Yes, like this (see https://stackoverflow.com/questions/23304237/how-to-access-an-enum-type-by-value-in-cython)


Webpack compatibility

Is there any way to make it work properly with webpack?
When set in webpack config:
node: {
	fs: 'empty'
}

I get this error: Cannot find module "." as users provide the relative path, in this case the current directory.

Hi @GheorgheP
You don't need to use this package if you are using Webpack. Webpack is able to do what this package solves: https://webpack.js.org/configuration/resolve/#resolve-modules
If you set up your Webpack config with something like this, you should be able to import or require modules relative to your root directory.
{
  resolve: {
    modules: [
      path.resolve(__dirname)
    ]
  }
}


If env is debug display line and filename

display filename only if lunch with debug=true

The variable name like s or sp are still not readable. Can you rename them?

Thanks for the review @frankrousseau :-)
@cylwin could you address this comments, so we could merge this one ? Thanks !

Now, it seems to be ok.

Thanks @cylwin :-)
@frankrousseau or @aenario would you mind merging this ?


(GH-80) Package Id too long and no dashes Note

Relates to #80

@ferventcoder first of a few, but need to head out just now.
Let me know what you think.

@ferventcoder changed to 15.

@ferventcoder corrected


Add storage api to pxt server

This PR adds a new storage API to pxtlib: pxt.storage.localhost. When calls to this API are made while running on localhost, it will route them to the pxt server running in the background on port 3232. In production, it routes calls to local browser storage. This API enables multiple localhost document frames to share local storage, the way they would if they were running in production (assuming the frames were served from the same domain).
Why do we need this?
Browsers consider port number when determining same-origin, and skillmap and editor are served on different ports when running locally. This means their same-origin status is different when developing locally vs. running in production. In production, the two will share browser local storage, whereas they won't when running locally in development. This matters now because the two need to share some auth state via browser storage. Integrating auth and cloud sync into skillmap would be very difficult without this workaround.
Are there side effects?
There are a few:

This change has a non-obvious side effect which we might want to curb at some point: All localhost frames using this API will map to the same local storage regardless of browser or in-private status.
Stored data is persisted in files in a subfolder off the current working directory, at .pxt/store/.... I will open a PR in pxt-arcade to .gitignore this path.

Anything else?
I needed to update @types/node to get a new mkdir signature. You will need to npm install after syncing these changes.

Putting storage in the projects folder feels like conflating two very different things. Kind of related: for a long time I didn't realize that the projects folder was generated. The name seems like a reasonable top-level folder name in a repo. Moving it below .pxt/ might help clarify this.

Before I merge this PR could someone kindly approve https://github.com/microsoft/pxt-arcade/pull/3673?


Add tests and code coverage support for PRNG smart contract

Added some integration tests, made some styling changes, fixed some comments and added a flow.json config file for local development.

@justjoolz Kind reminder :pray:


feat: add devcontainer support

Initial work on adding devcontainer support to make development easier for Mac, Windows and Linux. The Dockerfile located in the .devcontainer directory is used to build the working container.
Fixes #1281

Codecov Report

Merging #1282 (9ac33ae) into main (d056316) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1282   +/-   ##
=======================================
  Coverage   86.48%   86.48%
=======================================
  Files         792      792
  Lines       19168    19168
  Branches     3279     3279
=======================================
  Hits        16578    16578
  Misses       2583     2583
  Partials        7        7

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

@TimoGlastra Updated DEVREADME with some comments.

@TimoGlastra @karimStekelenburg @Vickysomtee I think my next step will be to use a docker-compose for the devContainer and add Postgres and Ledger setup so its a 1-stop-shop for all your contributor needs :)

Thanks!


Fixing getSecrets.js to remove multiple calls for variable substantiation

Thank you for opening a Pull Request! Before submitting your PR, there are a few things you can do to make sure it goes smoothly:

[ X] Make sure to open an issue as a bug/issue before writing your code!  That way we can discuss the change, evaluate designs, and agree on the general idea
[X ] Ensure the tests and linter pass
[N/A] Code coverage does not decrease (if any source code was changed)
[ X] Appropriate docs were updated (if necessary)

Fixes #267  🦕

@googlebot I signed it

Thank you very much for the clarification - appreciate it.


[master] MMENG-1262 disable brew pulling when group metadata has "koji-pull:false"

Merged directly as this is a released pr from maint branch.


[BUG] can be bypassed by simply reclicking the admin link in plugin Two-Factor Authentication

Hi Born05,
I would like to report a bug that i've notice while using plugin Two-Factor Authentication version 2.10.0.
I used Craft CMS Pro <IP_ADDRESS>, PHP 7.4.
After login, website show the verify 2FA form. But i can be bypassed by simply reclicking the admin link.
I hope you can fix this bug and release it or send me your solutions.
Have a good day.

Yes we have also noticed that you can just click on the 'back' button on your browser when on the 2fa screen and it will take you to your craft dashboard without enforcing the 2fa. Kind of an urgent fix this..

@oxochenxa i can't reproduce this bug. Do you have a custom two-factor-authentication.php config file? What kind of session store do you use? What are the session durations?
@Coultsy after clicking back, can you refresh the page successfully? Just to make sure you're not looking at some browser cached state.

Hi @roelvanhintum i don’t custom config file.
I think session store i use cookie and session durations is 1 hour.

@oxochenxa  Usually problems like these have something to do with the session config. Can you check Craft's userSessionDuration, which should be more than 0. And php's session.gc_maxlifetime?
Just to be sure, do you use a non-default session component (like redis)? See: https://craftcms.com/docs/3.x/config/#session-component
And which other plugins are you using?

Hi @roelvanhintum, I check config: userSessionDuration = 3600, session.gc_maxlifetime = 1440. When i uninstall all plugin except 2FA plugin, that error still occurs. I checked the config no problem. Any orther case?
Where is save session before input code 2FA. I think session save to system before input code 2FA

I can't reproduce this. As soon as i try to load any other page, i'm logged out.

Just a recap on our experience. This problem is on 1 particular implementation. Other recent installs of this plugin on other sites have not experienced this issue. Config is the same across all these sites but something on this 1 site is causing this problem. So I don't think it is a fundamental issue with the plugin - just some sort of incompatibility with another plugin (maybe). Once we figure it out we will let you know.

Hi @roelvanhintum @Coultsy , when i create new craft cms website, i realized current site when login create PHPSESSID on cookies and new site when login create CraftSessionId. If you have any solutions. Please talk to me. Thanks for support.

Hi @roelvanhintum @Coultsy, the reason is probably because we are not use CP_TRIGGER load the control panel. I use BASE_CP_URL load the control panel because i use different domain load control panel. If you can reproduce this, please talk to me. Thanks!

when i check file vendor/born05/craft-twofactorauthentication/src/services/Request.php. $user in line 24 null. Can't get Identity. Do you know reason.

Hi @roelvanhintum @Coultsy , I found the bug in vendor/born05/craft-twofactorauthentication/src/services/Request.php line 24, $user = NULL because Plugin run function validateRequest with EVENT_AFTER_LOAD_PLUGINS. When run event EVENT_AFTER_LOAD_PLUGINS, user can't found identity.
I fix it bug by replace in vendor/born05/craft-twofactorauthentication/src/Plugin.php:
Event::on(Plugins::class, Plugins::EVENT_AFTER_LOAD_PLUGINS, function () { $this->request->validateRequest(); });
to:
Event::on(Application::class, Application::EVENT_INIT, function (Event $event) { $this->request->validateRequest(); } );
Please help me consider, if you think this code working with your plugin. Please help me update code to your plugin.
Thanks!

You're right, it should be Application::EVENT_INIT.

@oxochenxa this is released in 2.10.1

Hi @roelvanhintum @Coultsy
When update plugin, i usually logged out after 5s login admin. Can you help me check it?


Add Prometheus Extension

Purpose
Add Prometheus Extension

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.7 out of 8 committers have signed the CLA.:white_check_mark: grainier:white_check_mark: Kishanthan:white_check_mark: MaryamZi:white_check_mark: nadundesilva:white_check_mark: wggihan:white_check_mark: warunalakshitha:white_check_mark: SupunS:x: AnoukhYou have signed the CLA already but the status is still pending? Let us recheck it.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.7 out of 8 committers have signed the CLA.:white_check_mark: grainier:white_check_mark: Kishanthan:white_check_mark: MaryamZi:white_check_mark: nadundesilva:white_check_mark: wggihan:white_check_mark: warunalakshitha:white_check_mark: SupunS:x: AnoukhYou have signed the CLA already but the status is still pending? Let us recheck it.