[Feature Request] Sample Code to use TemporalClient.StartWorkflowAsync(string workflow, IReadOnlyCollection<object?> args, WorkflowOptions options)

Is your feature request related to a problem? Please describe.
I am trying figure out how to use the above method.  I have problem trying to figure out proper value for second paramater args
https://github.com/temporalio/sdk-dotnet/blob/1.0.0/src/Temporalio/Client/TemporalClient.Workflow.cs#L50-L51
All existing sample use only overloaded method
https://github.com/temporalio/sdk-dotnet/blob/1.0.0/src/Temporalio/Client/TemporalClient.Workflow.cs#L38-L39
which rely on the first parameter of Expression type to derive the args value.
In my case, using Expression type parameter is not doable.   The running application does not have the activity interface defined.
Describe the solution you'd like
I see two possible solution

A separate project to demonstrate how to define args for a given workflow name
Document to explain how to derived the args using the string workflow parameter

Additional context

I have problem trying to figure out proper value for second paramater args

Can you clarify the problem you're hitting a bit more here? Simply calling await myClient.StartWorkflowAsync("my-workflow-name", new object[] { new MyParamType() }, ...) should work just fine.

Thanks.  The sample snippet is sufficient.   The snippet suggests the value is workflow specific.   And running instance doesn't need any.


Object # has no method 'now' #87

Coverage remained the same at 85.271% when pulling 433a718eb941815cd66c864d4108ec16908b54cf on recranet:1.x.x into 466d5b4eb12edde46576ad72008921644cbd72a9 on Snugug:1.x.x.

Coverage remained the same at 85.271% when pulling 433a718eb941815cd66c864d4108ec16908b54cf on recranet:1.x.x into 466d5b4eb12edde46576ad72008921644cbd72a9 on Snugug:1.x.x.

Coverage remained the same at 85.271% when pulling 5c0556a0a2e5290345e2b2c467095b2a36b5b95d on recranet:1.x.x into 466d5b4eb12edde46576ad72008921644cbd72a9 on Snugug:1.x.x.


Ensure we don't settle with an outdated price

Fixes #1057.

Tests hang, convert to draft.

bors r+


question: how to pull from and how to push to this local registry?

Hi,
Thanks for the useful tool.
Let's say I have 1 project which builds a library. I would like to publish it to a local registry first, and after refer to this library in the second project. How can I achieve it?

Hi!
You need to generate a Cargo.lock file that points to your local package, and then run cargo local-registry --sync path/to/Cargo.lock path/to/registry as specified in the README.
To pull from your registry locally you need first to add a new registry in your cargo config of type local-registry. Check cargo configuration documentation: https://doc.rust-lang.org/cargo/reference/config.html#sourcenamelocal-registry
You then need to specify from which registry to pull. See https://doc.rust-lang.org/cargo/reference/registries.html#using-an-alternate-registry


Load glb file from device internal storage in AOS & iOS

In my app, glb files are downloaded from the server and saved in internal storage.
I used getApplicationSupportDirectory() of the path_provider library to save the glb file.
I confirmed that it was downloaded from the server and saved in that path(/data/user/0/[package name]/files/Model_1.glb).
The body of the scaffold is as follows
        color: Palette.darkGrey,
        width: MediaQuery.of(context).size.width,
        height: MediaQuery.of(context).size.height,
        child: Flutter3DViewer(
          progressBarColor: Palette.valueSky,
          controller: controller,
          src: filePath,
        )
      )

The filePath means the path where the glb file is saved. Although the file works well and exists in the path, the following error occurs when loading it into the 3D viewer.
E/flutter (12723): The asset does not exist or has empty data.
E/flutter (12723): #0      PlatformAssetBundle.load.<anonymous closure> (package:flutter/src/services/asset_bundle.dart:324:9)
E/flutter (12723): <asynchronous suspension>
E/flutter (12723): #1      ModelViewerState._readAsset (package:flutter_3d_controller/src/modules/model_viewer/model_viewer_mobile.dart:313:18)
E/flutter (12723): <asynchronous suspension>
E/flutter (12723): #2      ModelViewerState._initProxy.<anonymous closure> (package:flutter_3d_controller/src/modules/model_viewer/model_viewer_mobile.dart:264:26)
E/flutter (12723): <asynchronous suspension>

Is it working by loading from internal storage in device of Android and iOS?

If you store 3d models in file system, use getApplicationDocumentsDirectory() this method.
I tried to use getApplicationSupportDirectory(), but it doesn't work on iOS(In Android, it works). I think the viewer cannot find the file in iOS. If you use getApplicationDocumentsDirectory(), the viewer can access the file!
And the viewer's src must be configured as follows.
        width: MediaQuery.of(context).size.width,
        height: MediaQuery.of(context).size.height,
        child: Flutter3DViewer(
          progressBarColor: Palette.valueSky,
          controller: controller,
          src: file://$filePath,
        )
      )

I confirmed that it works well on Android and iOS.


Document autoLogin setup and/or improve default behaviour

Issue description
As far as I can see it isn't explained in the manual how to set up autoLogin for a X11 session. It took me quite a while to get it working as expected. In my case it might have been complicated by using i3, but I needed to set defaults for the windowsManager and desktopManager as well. E.g.
xserver = {
      enable = true;

      displayManager.lightdm = {
        enable = true;
        autoLogin.enable = true;
        autoLogin.user = "foo";
      };

      windowManager.i3.enable = true;
      desktopManager.default = "none";
      windowManager.default = "i3";
    };
};

If only one displayManager and one windowManager is enabled, I'd expect the defaults to be set to automatically. The setup above seems unnecessarily verbose.
Also esp. unexpected was that the default of desktopManager.default is xterm. Is there any scenario (besides no having windowManager installed/configured) where that is helpful?

BTW, is the issue tracker a good location to discuss something like this or is it more suitable for the ML?

Issue tracker is good. I think these docs should be in autoLogin.enable description. Although they don't work for me using kodi instead of i3. Have to dig in why.


Add additional grove socket?

How much of a nightmare would it be to add an additional grove socket in that top left position? We don't need it for our use case, but might make the board more useful generally.
Obviously the UEXT would need to be shifted down to accomodate.

I think the pull-ups could easily be moved to make space. They can go under the dev-kit board, for example.
Note that I just heard back from PCBWay that the Grove connectors are sold out.

Great, let's see if @ShouravSarkar has any enthusiasm to do it.
Presumably, we could design it into the board, but leave it unpopulated in a first run?

ok can you tell me what to update in a single details?

Had a change of plan on this one. Please include a https://www.sparkfun.com/qwiic  (see FAQ at the bottom for spec)


Typo in array-by-copy description

array-by.copy has this description:
The toReserved(), toSorted(), toSpliced(), and with() methods of arrays and typed arrays return changed copies of arrays. They stand in contrast to methods such as sort() or reverse() that change arrays in place.
I believe toReserved() might be a typo and should rather be toReversed().
Discovered on Array by copy  and also reported here https://github.com/GoogleChrome/webstatus.dev/issues/336

Fixed by #1218

https://github.com/web-platform-dx/web-features/pull/1218 is now merged, thanks @sammyhawkrad!


BUG 2141594: rbd: unset metadata if setmetadata is false

We need to unset the metadata on the clone and restore PVC if the parent PVC was created when setmetadata was set to true and it was set to false when restore and clone pvc was created.
Signed-off-by: Madhu Rajanna<EMAIL_ADDRESS>(cherry picked from commit d12400aa9cfea46fb63a9e93ff326bbad955a255)

/lgtm


Error when trying to use an iframe tag.

This error shows up when trying to use the iframe tag.

That's not our code, but rather Github not allowing you to "click jack" their code by putting it in an iframe.  See http://en.wikipedia.org/wiki/Clickjacking.  Try another domain.  Lots of big sites will block this.

Ye, try a site that doesn't disallow clickjacking like,

Your browser does not support iframes.

I see, w3schools seems to work. I'll close this.


Receiving 401 unauthorized error

I followed these steps to trigger a TimeTrigger function and am receiving a 401 error in response. I used the master key and the function has anonymous access enabled.

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

ID: f538a557-7e88-e077-6a6f-6fb14d89dbf6
Version Independent ID: 84a1693b-2795-c865-35df-3ad3b9b61e2c
Content: Manually run a non HTTP-triggered Azure Functions
Content Source: articles/azure-functions/functions-manually-run-non-http.md
Service: azure-functions
GitHub Login: @craigshoemaker
Microsoft Alias: cshoe

Found the error. I was trying to reuse a POST method in powershell that had the header title of x-api-key instead of x-functions-key. This can be closed.

@christiankdavis Glad to hear that you've resolved your issue!
We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


STUN through Firezone

with #5049 there's a NAT on the gateway which maps (source_port, proxy_ip) to (unique_source_port, real_ip) a more detailed explanation of why this is done is on #4994.
@thomaseizinger pointed out that this breaks STUN through Firezone! As the external source port, here called unique_source_port depends on the proxy_ip which is different for every fqdn.
This issue is here to try to think though if a solution to this problem exists or if it is just okay to only have relayed connections through Firezone.
Note: this is about STUN connections between client and a resource not the underlying transport between the client and a gateway, the latter one will be unaffected by this
cc @jamilbk

I don't see how this won't be the case though? STUN doesn't make sense in the context of routing packets to the Gateway first, right?
Should I expect the Gateway to perform STUN for video conference calls? At the point the benefits of STUN are likely diminished anyway since it's not exactly peer to peer any longer.

I don't see how this won't be the case though? STUN doesn't make sense in the context of routing packets to the Gateway first, right?

If we were "well behaved" in a nat sense packets could still arrive through nat if the STUN servers are added as a resource

Should I expect the Gateway to perform STUN for video conference calls? At that point the benefits of STUN are likely diminished anyway since it's not exactly peer to peer any longer.

The benefits of doing this depends on the topology of the network/resources deployed, including the difference between needing a relay or just a STUN server.
I think we are fine without this, at least as an initial version of the refactor but it's good to keep this in mind too


simple kernel causing vulkan validation error

The following opencl kermel
__attribute__((reqd_work_group_size(16, 16, 1)))
__kernel void bgr_2_rgba(__global const uchar* input, uint2 dims, __write_only image2d_t out_image)
{
    const uint width = dims.x;
    const uint height = dims.y;

    const uint x = get_global_id(0);
    const uint y = get_global_id(1);

    if (x < width && y < height)
    {
        const uint idx = (y * width + x);
        const uchar3 bgr = vload3(idx, input);
        const float4 rgba = (float4)((float)bgr.z / 255.0f, (float)bgr.y / 255.0f, (float)bgr.x / 255.0f, 1.0f);
        write_imagef(out_image, (int2)((int)x, (int)y), rgba);
    }
}

compiled with -spv-version=1.3 yields the following vulkan validation error:
Validation Error: [ UNASSIGNED-CoreValidation-Shader-InconsistentSpirv ] Object 0: handle = 0x1e6062a7c00, type = VK_OBJECT_TYPE_DEVICE; | MessageID =
 0x6bbb14 | SPIR-V module not valid: Invalid instruction OpExtInst starting at word 456: expected no more operands after 7 words, but stated word count
 is 8.

The kernel seems to be working fine though. at least on my nvidia hardware.
Link to compiler explorer

It's possible your validation layers need newer spir-v headers. The reflection information changed some parsing at one point. See if updating them works out. Alternatively, see if top-of-tree SPIRV-Tools validates the shader successfully.

I confirm that compiling this kernel with a top-of-tree clspv and -spv-version=1.3 does not generate any error with the top-of-tree spirv validator.


[PowerToys Run] Search bar glitch at startup

Environment
Windows build number: 19041.329
PowerToys version: v0.18.2
PowerToy module for which you are reporting the bug (if applicable): PowerToys Run

Steps to reproduce

Open PowerToys.
Make sure PowerToys Run is enabled.
Restart PowerToys.
Look carefully at the screen. A glitch (probably the foreground of the search bar) will appear that will last less than half a second. You can see better on a white background.

Or,

Open PowerToys.
Disable PowerToys Run.
Enable PowerToys Run.
Wait for the glitch.

Expected behavior
There shouldn't be any glitch when opening PowerToys. It might be annoying, and distracting, especially if you set PowerToys to launch at startup.
Actual behavior
When PowerToys is launched, or PowerToys Run is enabled, a glitch that contains the parts of the search bar, appears, and then disappears in a fraction of a second. This gives an unpleasant user experience.
Screenshots

Related to #2974.

Related to #2974

Wow that's a lot of duplicates. I guess one has to look deeper than 10 min search before opening an issue :D.


feat(atomic): add skip link to grid results

https://coveord.atlassian.net/browse/KIT-2597
Originally, the quickview button was un-clickable when using the grid display for atomic-result-list. At first, I was thinking about fixing this by simply using z-index such that the button gets rendered above the card, but this could introduce problems for implementers, so I instead went with the W3C approach. This means we open links programatically, which ensures that when a child container is clicked, it doesn't also trigger the parent container onClick event.
One problem I had was having to add the target property to the ResultListCommonProps interface such that implementers are able to specify a target attribute as a part of the atomic-result-list tag. Implementing this was fine, but I'm not super happy about adding an attribute/property to a bunch of different components just so we're able to pass that prop all the way down to the grid result list item. Curious to hear if there are any better ways to approach this such that implementers can specify the target without having so much overhead...
To test:

Replace the atomic-result-list tag in index.html with the following:

<atomic-result-list display="grid" target="_blank">

Run the atomic dev setup
???
Approve

I also implemented basic cypress tests for the grid layout result list and the quickview button within the context of a grid layout. Not entirely sure if I went about this the right way though, so I'm happy to hear how they could be improved so I better understand the do's and don'ts of cypress testing 🙂

Fantastic job!

@coveo/service-core I believe I need an approval from one of you because I had to make a small change to all result lists (including the insight result list) to accommodate a new prop 😅 A review/approval would be much appreciated!


DB driver unknown

hi, I finally made it to install pathfinder. Now I tried to make the setup for the database but I get an error that the DB Driver is unknown. I use the php-mysqlnd. Other tools as for example phpmyadmin ,which use the same database, works well. How can I solve my problem?

so embarrassing. was just a mistake in the password.
is it posible to delete the hole issue?


Fix command install for helloworld

Was able to install against DCOS.

LGTM after comments are addressed :penguin:

Thanks! Will merge once TC is green.


The icons on the Recover screen aren't displaying

Pre-condition: User have the mnemonic and isn't log in account
Steps to reproduce:

Navigate to the main screen
Click on the "Sign in" button
Tap on the "Recover from pass phrase" link
Put invalid mnemonic in the field
Pay attention at the "X" icon
Tap on the "Recover my wallet" button
Pay attention at the icon in pop-up

Actual result: The X icon in the input field and on the pop-up aren't displayed
Expected result: The icons are displayed correctly
Device used: iPhone XS // iOS 13.1

@AnastasiiaOdnoshevna
hmm couldnt reproduce that. can you verify if this is specific to ios 13.1? or maybe a temporary issue?

@sirpy
Checked on iPhone X // 12.4
The issue is not reproduced.
But iPhone XS // 13.1 still have this issue. So, most likely its OS specific

@AnastasiiaOdnoshevna can you recheck this?

Checked on
iPhone X // iOS 13.1
iPhone Xr // iOS 13.1 beta
iPhone  11  // iOS 13.2
Not reproduced.


[Vue/Vite/Nuxt] Build Error: require is not defined in ES module scope, you can use import instead

Environment

Nuxt project using vitesse-nuxt3 template
Example repo in https://github.com/k2m5t2/tvm-bot-web

rough code (may result in other errors)

Problem
Using web-llm in a Nuxt project results in an import error during build.
This seems to relate to ES module / CommonJS import conflicts.
 ERROR  require is not defined in ES module scope, you can use import instead
This file is being treated as an ES module because it has a '.js' file extension and '/Users/yunhocho/Documents/GitHub/tvm-bot-web/frontend/node_modules/.pnpm/@mlc-ai+web-llm<EMAIL_ADDRESS>contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.

  This file is being treated as an ES module because it has a '.js' file extension and 'node_modules/.pnpm/@mlc-ai+web-llm<EMAIL_ADDRESS>contains "type": "module". To treat it as a CommonJS script, rename it to use the '.cjs' file extension.
  at <anonymous> (node_modules/.pnpm/@mlc-ai+web-llm@0.2.29/node_modules/@mlc-ai/web-llm/node_modules/@mlc-ai/web-tokenizers/lib/index.js:66:73)
  at <anonymous> (node_modules/.pnpm/@mlc-ai+web-llm@0.2.29/node_modules/@mlc-ai/web-llm/node_modules/@mlc-ai/web-tokenizers/lib/index.js:78:4)
  at <anonymous> (node_modules/.pnpm/@mlc-ai+web-llm@0.2.29/node_modules/@mlc-ai/web-llm/node_modules/@mlc-ai/web-tokenizers/lib/index.js:2:66)
  at <anonymous> (node_modules/.pnpm/@mlc-ai+web-llm@0.2.29/node_modules/@mlc-ai/web-llm/node_modules/@mlc-ai/web-tokenizers/lib/index.js:5:2)
  at <anonymous> (node_modules/.pnpm/@mlc-ai+web-llm@0.2.29/node_modules/@mlc-ai/web-llm/node_modules/@mlc-ai/web-tokenizers/lib/index.js:204:1)
  at ModuleJob.run (node:internal/modules/esm/module_job:218:25)
  at async ModuleLoader.import (node:internal/modules/esm/loader:323:24)
  at async ViteNodeRunner.interopedImport (node_modules/.pnpm/vite-node@1.4.0/node_modules/vite-node/dist/client.mjs:383:28)
  at async ViteNodeRunner.directRequest (node_modules/.pnpm/vite-node@1.4.0/node_modules/vite-node/dist/client.mjs:253:24)
  at async ViteNodeRunner.cachedRequest (node_modules/.pnpm/vite-node@1.4.0/node_modules/vite-node/dist/client.mjs:189:14)

(Temporary) Solution
In nuxt.config.ts, add the build transpile option:
export default defineNuxtConfig({
+   build: {
+     transpile: ['@mlc-ai/web-llm'], // required in order to build successfully
+  },
...

and change import statements like the following:
- import { ChatInterface, ChatModule, ChatRestModule, ChatWorkerClient, AppConfig } from "@mlc-ai/web-llm";
+ import * as webllm from '@mlc-ai/web-llm'

- chat.value = new ChatModule(); // example usage
+ const chat = new webllm.ChatModule() // example usage

However, this does seem to be an abnormal behavior that still needs to be resolved.
Related Issues
#140
Notes
I don't have expertise in JavaScript/Vue/Nuxt to fully understand what is going on, so please add any other helpful notes!
Feel free to close this, or keep until the error doesn't occur by default

Same error on my SvelteKit + Vite project

Having a langchain integration would be fantastic for web-llm. Bumping the issue.

Same error on my SvelteKit + Vite project

It works after disabling SSR

This error should be addressed in npm 0.2.36 -- the next-simple-chat example should work out of the box.
For details please see https://github.com/mlc-ai/web-llm/pull/397.


It takes 20s for our build process to build nothing

$ flutter run
[...]
$ flutter run
[...]
Total time: 19.934 secs
[...]

It should not take 20s it build an app that hasn't changed.

Same or similar to https://github.com/flutter/flutter/issues/7673 ?

Same. I apparently really care about this issue. :-)

I experienced the same problem, which is why I keep tabs on it :)


Sigma is not recognizing python

when the php script uses shell_exec to execute python scripts it is not recognizing python. changing the command "python" to "/usr/bin/python" makes it work again.

created a pull request to fix this issue @pedropramos

Obrigado!

de nada 👍


Copy Function Changes Namespace for Sub-Component Definition

When copying a ComponentDefinition "parent" that has a sub-Component "child" into a new namespace, if the definition property of "child" refers to a ComponentDefinition in the same document, then the definition property of the copy of "child" appears to be imported into the same namespace as the copy of "child". As a user, I would expect the copy of "child" to retain the same definition property as the original "child". I would only expect this definition property to be copied into a different namespace if the ComponentDefinition to which it refers is also copied into a new namespace, which it currently is not. Maybe there should be an option to recursively copy in this manner. Here is some example code:
import sbol2

sbol2.Config.setOption('sbol_typed_uris', False)
sbol2.Config.setOption('validate', False)
sbol2.setHomespace('http://synbict.org')

test_doc = sbol2.Document()

parent_comp = test_doc.componentDefinitions.create('parent')

child_sub_comp = parent_comp.components.create('child')

child_sub_comp.definition = 'http://synbict.org/child/1'

child_comp = test_doc.componentDefinitions.create('child')

sbol2.setHomespace('http://sd2e.org')

parent_comp.copy(test_doc, 'http://synbict.org', '1')

parent_copy = test_doc.componentDefinitions.get('http://sd2e.org/parent/1')

child_copy = parent_copy.components.get('http://sd2e.org/parent/child/1')

print('Should be True: ' + str(child_copy .definition == 'http://synbict.org/child/1'))

This one is probably a sticky wicket. It will require a two-pass approach to copying that isn't set up in the current recursive implementation. The first pass would do all the renaming and create a map of old-to-new names. The second pass would then update references based on the renaming map. There may be other approaches as well.


Proposal: Extending the Filesystem of World

Introduction
The World has an implicit filesystem described with Routes. In this Filesystem, two types of "files" are stored: Tables and Systems.
Currently, the Filesystem is used to facilitate two features:

Access control for Store: Systems in the same folder as a Table can write to the Table
Access control for Systems: Systems in the same folder as a System can call the System

As planned in #393 (World framework), nested routes are used to proxy write access (ie: Systems having access to the parent route of a Table or System in a child route can call / write them). This is however not currently implemented.
I propose three modifications to the Filesystem:

Rename subRoute to File
Add file types to differentiate between directories (a File that contains other files), Systems, and Tables.
Add one additional file type

1) Rename subRoute to File and store all File related data into a FileTable
I have found subRoute to be a confusing name; and I propose renaming it to File to match expectations. This change -- combined with adding file types -- turns the current pseudo-Filesystem into something more akin to a traditional filesystem.
An initial FileTable schema could look like such:

primary key: routeId (uint256)
name: string
parent: routeId (uint256)
content: uint256 (stores an address for all file type but the TABLE one, where it instead stores the Schema)
fileType: DELEGATECALL, CALL, TABLE, ASSET

2) Add file types to differentiate between directories (a File that contains other files), Systems, and Tables.
Currently, file types are implicit; and different types of resources can have the same full-name (eg: there can be a system at /mudswap/SwapSystem and a table at /mudswap/SwapSystem, which is IMO very confusing).
I propose creating a unified FileTable which enforces unique File names, even if the Filetype is different.
Enforcing unique names across different file types mean we can drop the file type when operating over files.
The initial set of proposed file types are found in the Appendix: Description of the file types
3) Add one additional file type
There is a case to be made for non-executable data stored in the filesystem. Additionally, we should pave the way for more file types than the ones we have right now.
I propose adding one additional file types over the three implicit ones existing (Folder, System, and Table)

ASSET: a piece of data stored under an address with SSTORE2 that is not executable.
This would allow each World to store static files in the style EthFS.
Systems will be able to write to these files (in practice: deploy a new contract and change the content field of the file to the new address). This can be used by clients to load assets from the chain.

Appendix: Description of the file types

FOLDER: a file that can be used as a baseRoute. created with createdFolder (current registerRoute)
SYSTEM: the EVM byte code at the corresponding address will be CALLed called from the World (or DELEGATECALLed for root Systems); some context will be appended on the calldata (for now: the original msg.sender)
TABLE: a Store table, where its Schema can be found in the content column. It doesn’t have an address because it lives on the OS
ASSET: anything else stored via SSTORE2 on-chain.

TL;DR: I agree paving the way for more file types is interesting and important to integrate while working on the foundations. Have left some thoughts on implementation details like the FileTable and access control below.

I have found subRoute to be a confusing name; and I propose renaming it to File to match expectations.

In the current approach the subRoute can be a nested route too. Access to /baseRoute also grants access to /baseRoute/nested/sub/route/file with an O(1) access control check (the World only needs to check access on /baseRoute, because the subRoute is guaranteed to be a sub route since it is concatenated with the base route in the World contract). If we change this to file, then the current access control check wouldn't work for nested routes anymore. We can explore alternative approaches for access control, but so far I haven't found any that are as gas efficient as the current approach (which only requires a single storage access and two keccak256 for any depth of baseRoute or subRoute).

An initial FileTable schema could look like such:
primary key: routeId (uint256)
name: string
parent: routeId (uint256)
content: uint256 (stores an address for all file type but the TABLE one, where it instead stores the Schema)
fileType: DELEGATECALL, CALL, TABLE, ASSET

I generally like the approach of making more file types possible. One thing on my mind is whether we would check the fileType in functions like call/setRecord. If we do, it would lead to an additional sload. If we don't it might lead to undefined behavior if someone tries to call a table or setRecord on a system (because the content is interpreted differently). The advantage of splitting up data relevant for certain file types into different tables is invalid actions on file types would fail explicitly, without the need for an additional sload to check the file type, and we would have the benefit of leveraging our typed libraries for working with the content data. (Eg for systems we probably want to store the openAccess flag in the content field to minimize sload - with its own table we can work with bool and address, with the unified table we'd have to manually encode/decode it from the raw content field). And with limiting content to 32 bytes we introduce a limitation for future file types (maybe we want to add one that requires more than 32 bytes of content).

Currently, file types are implicit; and different types of resources can have the same full-name (eg: there can be a system at /mudswap/SwapSystem and a table at /mudswap/SwapSystem, which is IMO very confusing).

I agree this is confusing, and it's unintended. It is possible because of registerSchema, which registers a table at an existing route to match the IStore interface. I agree we should prevent the registration of a table (or any other file type) at a route that already has a file. We can also achieve this without a unified FileTable (see thoughts on limitations of unifying everything in the paragraph above), eg by only storing route -> fileType in a unified table, and having separate content tables per file type.

There is a case to be made for non-executable data stored in the filesystem. Additionally, we should pave the way for more file types than the ones we have right now.
I propose adding one additional file types over the three implicit ones existing (Folder, System, and Table)

ASSET: a piece of data stored under an address with SSTORE2 that is not executable.
This would allow each World to store static files in the style EthFS.
Systems will be able to write to these files (in practice: deploy a new contract and change the content field of the file to the new address). This can be used by clients to load assets from the chain.

Agree this is interesting, @holic probably has thoughts on how to best integrate something like EthFS / support static files.


support other versions of ksh

ksh and mksh are not the only versions of ksh.
there are also pdksh, oksh, loksh, ksh{95,98,?}, etc... While their bin may be named ksh, its not guaranteed.
This glob allows for detection of any *ksh shell, whatever its bin name is.
before: http://ix.io/1Px8.png
after:   http://ix.io/1Px9.png

LGTM :+1:


SimulateModel function error

Hello,
I cloned DynaSim into my MATLAB as proposed and then tried to run one of the script M-files from PFC_models directory. I got the error regarding the SimulateModel function. Apparently, the function was non existent.
I could not find any other solutions besides changing all the "SimulateModel" functions with "dsSimulate". This worked, but my question is - why would there be SimulateModel function in the script if there is no proper function M-file for it? Or am I missing something?
Thank you in advance!
Tea

Hi Tea,
Thank you for catching this. The script should call dsSimulate, not
SimulateModel. If you see PlotData being called anywhere, that should be
replaced by dsPlot. I will update the scripts this week to call the proper
functions. Please let me know if you have any other trouble.
Thanks,
Jason
On Mon, Mar 25, 2019 at 9:01 AM The-Tea<EMAIL_ADDRESS>wrote:

Hello,
I cloned DynaSim into my MATLAB as proposed and then tried to run one of
the script M-files from PFC_models directory. I got the error regarding the
SimulateModel function. Apparently, the function was non existent.
I could not find any other solutions besides changing all the
"SimulateModel" functions with "dsSimulate". This worked, but my question
is - why would there be SimulateModel function in the script if there is no
proper function M-file for it? Or am I missing something?
Thank you in advance!
Tea
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/DynaSim/DynaSim/issues/564, or mute the thread
https://github.com/notifications/unsubscribe-auth/AB8qCR2INGY1qfU_cHs2q0kjpUNE39lJks5vaMi0gaJpZM4cG09e
.

Dear Jason,
thanks for the reply. Indeed, I had the same issue with PlotData, so I resolved it the same way. Besides that, DynaSim works nice for me!
All the best,
Tea

I assume this is fixed


Updated requests version

Proposing an update because requests-2.3.0 is creating an error for me on ubuntu 15.10
( like this one : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=770157 )
I tried updating pyssl, urllib3 and such but only updating requests is working...

Thanks


Ray zero-copy on self-defined objects.

Issue Type
Feature Request
Source
binary
Secretflow Version
0.7.18
OS Platform and Distribution
Linux
Python version
3.8
Bazel version
No response
GCC/Compiler version
No response
What happend and What you expected to happen.
Ray supports zero-copy on numpy arrays, is it possible to add self-defined objects, e.g. HEUObject, to zero-copy list? This will help to improve the performance of many algorithms based on HE.

cc @usafchn

cc @usafchn

This optimization relies on Ray to open zero-copy api


Json schema

Adds the json schema and example. Also fixes both the local and root READMEs. Should fix #3.

@ldko, @damonkelley, what do you guys think about the way the JSON schema is done? By that I mean the lack of a root element actually called unixFileOutput.

BTW, this is a good website if you guys want to check anything out functionally.

LGTM

Any thoughts on adding a title of "unixFileOutput" and/or a description something like "A representation of output from the Unix file program"?

My thoughts are that I like those suggestions. I'll add them now.

:+1:


Probot ctor errors out in tests after upgrading from v10.17.2 to v10.19.0

Bug Report
Current Behavior
The Probot ctor errors out while testing, but setting LOG_LEVEL=fatal seems to suppresses it.
The impl is a bit outdated but will update before v11 is out.
The app impl:
/* eslint-disable @typescript-eslint/no-unused-vars */
import { Context } from "probot";
/* eslint-enable @typescript-eslint/no-unused-vars */
import { healthCheck } from "./utils/health_check";
import { maybeApproveChange } from "./core";

const approvemanApp = (
  // TODO(tianhaoz95): make it a non-any type when available
  // The latest version of Probot is not
  // exposing the ApplicationOptions type, for more updates
  // check https://github.com/probot/probot/pull/1405.
  /* eslint-disable */
  app: any,
  /* eslint-enable */
): void => {
  healthCheck(
    (msg) => {
      app.log.info(msg);
    },
    (msg) => {
      app.log.error(msg);
    },
  );

  app.on(
    [
      "pull_request.opened",
      "pull_request.reopened",
      "pull_request.synchronize",
    ],
    // TODO(tianhaoz95): change this to strongly typed webhook
    // event to make it safer.
    /* eslint-disable */
    async (context: Context<any>) => {
      /* eslint-enable */
      context.log.info("Pull request creation event detected");
      await maybeApproveChange(context);
    },
  );
};

export default approvemanApp;

The test impl:
import { Probot, ProbotOctokit } from "probot";
import {
  checkApproved,
  setSinglePreviousReview,
  verifyReviewDismissed,
} from "./utils/review";
import {
  checkNeutralStatus,
  checkStartedStatus,
  checkSuccessStatus,
} from "./utils/status";
import { prOpenedPayload, prReopenedPayload } from "./fixtures/payloads/basic";
import { setConfigNotFound, setConfigToBasic } from "./utils/config";
import { StatusCodes } from "http-status-codes";
import { TEST_TIMEOUT } from "./utils/jest";
import approvemanApp from "../src";
import fs from "fs";
import { getAppActorName } from "../src/utils/config";
import { getGitHubAPIEndpoint } from "./utils/endpoint";
import nock from "nock";
import path from "path";

/* eslint-disable */
jest.setTimeout(TEST_TIMEOUT);
/* eslint-enable */

describe("Approveman Enterprise tests", () => {
  let probot: Probot;
  let mockCert: string;
  const defaultEnv = process.env;

  beforeAll((done: jest.DoneCallback) => {
    const mockCertLocation = path.join(__dirname, "fixtures/mock-cert.pem");
    /* eslint-disable security/detect-non-literal-fs-filename */
    fs.readFile(
      mockCertLocation,
      (err: NodeJS.ErrnoException | null, cert: Buffer) => {
        if (err) {
          return done(err);
        }
        mockCert = cert.toString();
        done();
      },
    );
    /* eslint-enable security/detect-non-literal-fs-filename */
  });

  beforeEach(() => {
    // Clears the jest cache so that the environment will
    // not be contaminated between tests.
    /* eslint-disable */
    jest.resetModules();
    /* eslint-enable */
    // Makes a copy of the current environment variables
    // to keep the environment variables consistent across
    // tests.
    process.env = { ...defaultEnv };
    nock.disableNetConnect();
  });

  afterEach(() => {
    // Restore the default environment variables
    // stored in beforeEach.
    process.env = defaultEnv;
    nock.cleanAll();
    nock.enableNetConnect();
  });

  ...

  test("enterprise functions properly after actor name set", async () => {
    process.env["GHE_HOST"] = "github.example.com";
    process.env["APP_ACTOR_NAME_OVERRIDE"] = "test_actor_name";
    probot = new Probot({
      Octokit: ProbotOctokit.defaults({
        retry: { enabled: false },
        throttle: { enabled: false },
      }),
      baseUrl: "https://github.example.com/api/v3",
      githubToken: "test",
      id: 1,
      privateKey: mockCert,
    });
    // probot.load(approvemanApp);
    approvemanApp(probot);
    checkStartedStatus();
    setConfigNotFound();
    checkApproved();
    checkSuccessStatus();
    nock(getGitHubAPIEndpoint())
      .get("/repos/tianhaoz95/approveman-test/pulls/1/files")
      .reply(StatusCodes.OK, [{ filename: "playground/tianhaoz95/test.md" }]);
    await probot.receive({
      id: "test_id",
      name: "pull_request",
      payload: prReopenedPayload,
    });
  });

  ...

});

The error message:
  ● Approveman Enterprise tests › enterprise functions properly after the actor name set

    TypeError: Cannot read property 'objectMode' of undefined

      86 |     // process.env["GHE_HOST"] = "github.example.com";
      87 |     process.env["APP_ACTOR_NAME_OVERRIDE"] = "test_actor_name";
    > 88 |     probot = new Probot({
         |              ^
      89 |       Octokit: ProbotOctokit.defaults({
      90 |         retry: { enabled: false },
      91 |         throttle: { enabled: false },

      at Transform.Object.<anonymous>.Writable.write (node_modules/readable-stream/lib/_stream_writable.js:292:22)
      at Pino.write (node_modules/pino/lib/proto.js:177:15)
      at Pino.LOG [as warn] (node_modules/pino/lib/tools.js:55:21)
      at new Probot (node_modules/probot/src/probot.ts:99:16)
      at test/enterprise.test.ts:88:14
      at step (test/enterprise.test.ts:44:23)
      at Object.next (test/enterprise.test.ts:25:53)
      at test/enterprise.test.ts:19:71
      at Object.<anonymous>.__awaiter (test/enterprise.test.ts:15:12)
      at Object.<anonymous> (test/enterprise.test.ts:85:62)

Expected behavior/code
The ctor shouldn't error out.
Environment

Probot version(s): v10.19.0
Node/npm version: Node 14.15.4/npm 6.14.10
OS: Ubuntu 18.04 (WSL2 on Windows)

Possible Solution
I'm not sure what the issue is.
Additional context/Screenshots
N/A

The impl is a bit outdated but will update before v11 is out

v11 is out :)
Could you reduce the test case?

The impl is a bit outdated but will update before v11 is out

v11 is out :)
Could you reduce the test case?

I found that doing app.log causes an error. It almost seems that log is undefined.
const approvemanApp = (
  app: Probot,
): void => {
  healthCheck(
    (msg) => {
      app.log.info(msg);
    },
    (msg) => {
      app.log.error(msg);
    },
  );
};

and the error will be:
Approveman tests › handle unknown error elegantly

    TypeError: Cannot read property 'objectMode' of undefined

      16 |   healthCheck(
      17 |     (msg) => {
    > 18 |       app.log.info(msg);
         |               ^
      19 |     },
      20 |     (msg) => {
      21 |       app.log.error(msg);

      at Transform.Object.<anonymous>.Writable.write (node_modules/readable-stream/lib/_stream_writable.js:292:22)
      at Pino.write (node_modules/pino/lib/proto.js:177:15)
      at Pino.LOG [as info] (node_modules/pino/lib/tools.js:57:21)
      at src/index.ts:18:15
      at Object.<anonymous>.exports.healthCheck (src/utils/health_check/index.ts:23:3)
      at Object.approvemanApp [as default] (src/index.ts:16:3)
      at Object.<anonymous> (test/index.test.ts:75:18)

I found that doing app.log causes an error. It almost seems that log is undefined.
const approvemanApp = (
  app: Probot,
): void => {
  healthCheck(
    (msg) => {
      app.log.info(msg);
    },
    (msg) => {
      app.log.error(msg);
    },
  );
};

and the error will be:
Approveman tests › handle unknown error elegantly

    TypeError: Cannot read property 'objectMode' of undefined

      16 |   healthCheck(
      17 |     (msg) => {
    > 18 |       app.log.info(msg);
         |               ^
      19 |     },
      20 |     (msg) => {
      21 |       app.log.error(msg);

      at Transform.Object.<anonymous>.Writable.write (node_modules/readable-stream/lib/_stream_writable.js:292:22)
      at Pino.write (node_modules/pino/lib/proto.js:177:15)
      at Pino.LOG [as info] (node_modules/pino/lib/tools.js:57:21)
      at src/index.ts:18:15
      at Object.<anonymous>.exports.healthCheck (src/utils/health_check/index.ts:23:3)
      at Object.approvemanApp [as default] (src/index.ts:16:3)
      at Object.<anonymous> (test/index.test.ts:75:18)

I don't think it's a problem with app.log per se, the objectMode error sounds like a problem with streams.
Is the code open source? If not, can you share the code at src/index.ts lines 16-18 and src/utils/health_check/index.ts lines 23?

I don't think it's a problem with app.log per se, the objectMode error sounds like a problem with streams.
Is the code open source? If not, can you share the code at src/index.ts lines 16-18 and src/utils/health_check/index.ts lines 23?

actually, I think it's the info, after changing all info to trace, everything works

actually, I think it's the info, after changing all info to trace, everything works

yes, it's open-source at https://github.com/tianhaoz95/approveman at branch dependabot/npm_and_yarn/probot-10.18.0

yes, it's open-source at https://github.com/tianhaoz95/approveman at branch dependabot/npm_and_yarn/probot-10.18.0

I cannot help with investigating problems with probot v10. If you find a bug and send a pull request I'm happy to review it and release a path version to probot v10 when we merge. I can only help with the latest probot version, which is v11
Also your app is quite big. It would help to create a small repository with only reproduces the problem you are reporting. With so much going on in your app and its dependencies, there can be all kinds of reasons for the error you see.

I cannot help with investigating problems with probot v10. If you find a bug and send a pull request I'm happy to review it and release a path version to probot v10 when we merge. I can only help with the latest probot version, which is v11
Also your app is quite big. It would help to create a small repository with only reproduces the problem you are reporting. With so much going on in your app and its dependencies, there can be all kinds of reasons for the error you see.

oh I just pushed my local fixes, it's now v11

oh I just pushed my local fixes, it's now v11

right, it's quite big, I will dig a little deeper to see what's happened.

right, it's quite big, I will dig a little deeper to see what's happened.

that'd be great, thank you!

that'd be great, thank you!

btw, do you know how to get the log to show up while doing jest? I did LOG_LEVEL=trace jest but it doesn't show trace.

btw, do you know how to get the log to show up while doing jest? I did LOG_LEVEL=trace jest but it doesn't show trace.

Try setting logLevel
    probot = new Probot({
      Octokit: ProbotOctokit.defaults({
        retry: { enabled: false },
        throttle: { enabled: false },
      }),
      githubToken: "test",
      privateKey: mockCert,
+     logLevel: 'trace'
    });

The Probot constructor no longer accesses any environment variables, you have to set all options explictly
You can also pass a custom logger that streams into an array, so you can surpress the log output but test that the logs meet expectations. See how I do it for the WIP app

Try setting logLevel
    probot = new Probot({
      Octokit: ProbotOctokit.defaults({
        retry: { enabled: false },
        throttle: { enabled: false },
      }),
      githubToken: "test",
      privateKey: mockCert,
+     logLevel: 'trace'
    });

The Probot constructor no longer accesses any environment variables, you have to set all options explictly
You can also pass a custom logger that streams into an array, so you can surpress the log output but test that the logs meet expectations. See how I do it for the WIP app

With some debugging, I found that the problem is jest.resetModules() which probably removed some internal states between tests. @gr2m does that make sense in the context of how Probot app registration is implemented?

With some debugging, I found that the problem is jest.resetModules() which probably removed some internal states between tests. @gr2m does that make sense in the context of how Probot app registration is implemented?

I found that the problem is jest.resetModules() which probably removed some internal states between tests. @gr2m does that make sense in the context of how Probot app registration is implemented?

Not that I know, but I will keep that in mind, maybe there is something we can do about it. If we run into it again with another app, we can further investigate

I found that the problem is jest.resetModules() which probably removed some internal states between tests. @gr2m does that make sense in the context of how Probot app registration is implemented?

Not that I know, but I will keep that in mind, maybe there is something we can do about it. If we run into it again with another app, we can further investigate

Just as a data point, I just had the same problem:
Update from 10.10.1 to 11.3.2 (also updated jest-mock from 6.6.1 to 6.6.2)
'''
TypeError: Cannot read property 'objectMode' of undefined
  16 |
  17 | export = async (app: Probot): Promise<void> => {
> 18 |     app.log.info('CI App Loaded');
     |             ^
  19 |
  20 |     //Parse Jenkins environment variables and create entrypoint list
  21 |     const jenkinsUrls = process.env.JENKINS_URL.split(',');

  at Transform.Object.<anonymous>.Writable.write (node_modules/readable-stream/lib/_stream_writable.js:292:22)
  at Pino.write (node_modules/pino/lib/proto.js:177:15)
  at Pino.LOG [as info] (node_modules/pino/lib/tools.js:57:21)
  at Object.<anonymous>.module.exports (src/index.ts:18:13)
  at Probot.load (node_modules/probot/src/probot.ts:128:12)
  at Object.<anonymous> (test/index.test.ts:71:22)

'''
The problem is solved when I remove: jest.resetModules()
and add *.mockReset() for each function


Reorganized code and general structure

Expect major breakage here.
Each fighter now inherits from FighterBase
Multiplayer controls, set PLAYER_ID in each Node to set the player they're bound to
Changed attack timer to delta
Bits of cleanup here and there

Great, thanks for that. Merged it into master


The relation field lookup doesn't tolerate the Drafts

Link to reproduction
https://github.com/emirotin/payload-lookup-issue
To Reproduce

Go to the "AS" collection and create 3 records, titled 1, 2, 3. Do not publish them, let the autosave work
Go to the Posts collection, open the existing post, and add try adding a ref to the AS collection
All 3 records will be suggested, but all 3 marked as "Untitled"

Describe the Bug
The issue here is that the relation lookup field is issuing the API request without specifying the "draft=true" param.
So, it only gets the "published" versions of the docs, which do not contain any data.
This, in turn, seems to be revealing another issue: when a document is created via the API, even in draft mode, its original props are saved to the "real" collection. But when it's created via the UI, the main collection will have an empty record (with only the internal fields, like cratedAt, _status, et.c), and the _versions collection will keep the real data of the draft object.
Payload Version
1.11.1

There is likely something we can improve here, but it isn't the issue as you described from my testing.
The problem isn't that the relationship is querying with/without drafts. When drafts without autosave, you won't have the issue, it is only when you enable autosave: true where the version data isn't returned the same way as without. That might fix the problem, but I want to understand this better first.
I don't know why it is, but you get different results if you query a collection that uses autosave with ?drafts=true vs without, though both can return documents with _status: 'draft'.

Yes, this is exactly what I have observed. And now, if you want things to
get funnier, you can try publishing and unpublished a doc. That would put
the latest draft data into the main table and keep it there.
On Mon, Jul 17, 2023, 22:38 Dan Ribbens @.***> wrote:

There is likely something we can improve here, but it isn't the issue as
you described from my testing.
The problem isn't that the relationship is querying with/without drafts.
When drafts without autosave, you won't have the issue, it is only when
you enable autosave: true where the version data isn't returned the same
way as without. That might fix the problem, but I want to understand this
better first.
I don't know why it is, but you get different results if you query a
collection that uses autosave with ?drafts=true vs without, though both
can return documents with _status: 'draft'.
—
Reply to this email directly, view it on GitHub
https://github.com/payloadcms/payload/issues/2997#issuecomment-1638756741,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEAMCC5QBZJVIO6F7OEZITXQWIC5ANCNFSM6AAAAAA2JQWPUA
.
You are receiving this because you authored the thread.Message ID:
@.***>

@PatrikKozak let's work together on this one to fix it. I think @emirotin is correct in that we should just make sure ?draft=true is used when fetching relations.


🔴 Ecosystem Project Idea: OP Stack Chain Registry

What is an Ecosystem Project Idea?
An Ecosystem Project Idea is an idea for a project that someone could build within the Optimism ecosystem. As opposed to an Ecosystem Concept or an Ecosystem Idea, an Ecosystem Project is generally more fleshed out and corresponds to a relatively clear product to be built.

Summary
The OP Stack is the open source software stack that powers the Optimism Collective. A core part of this stack is dedicated to the software for spinning up L2 blockchains like OP Mainnet and Base.
One problem facing the OP Stack today is the ability to easily resolve everything about an OP Stack chain, including contract addresses and chain configuration. All of this information is available within smart contracts on L1, but the missing piece is a smart contract registry that allows chain deployers to register their deployments for easy off-chain discovery. This would simplify much of the existing off-chain infrastructure and code that's currently responsible for this task.
The OP Stack Chain Registry should be a simple smart contract on L1 with the following features:

A user should be able to "claim" a deployment name by sending a transaction that includes a string name and an address admin
The admin of a given deployment should be able to set keys in a mapping of string names to addresses
For simplicity, it should be possible to set multiple names to addresses in the same transaction
For simplicity, it should be possible to query multiple addresses by their names in the same call
This contract should live in the /periphery folder of the contracts-bedrock package within the Optimism Monorepo
A hardhat task should be added to the /tasks folder of the contracts-bedrock package for setting this mapping automatically based on a given deployment folder

Impact
The OP Stack Chain Registry will make it possible to easily query all of the required contracts for a given OP Stack chain deployment. This will significantly reduce the complexity of querying these addresses off-chain.
Resources

The OP Stack

@jommi9 As I understand it, only the Foundation Missions have a traditional grant proposal process. Everything else is funded via retro pgf. :)

Like @gigamesh said, only the Foundation Missions (RFPs) come with traditional grants. Some projects might be elevated to RFPs if it seems like a grant would help get the project done! For things that aren't RFPs, we're hoping that contributors will be rewarded via RPGF.


update chapter 2 bootcamp

Description & Motivation
Update chapter 2 bootcamp by adding examples and fix assign statement does not show up.
Related Issue(s)
None
Testing
None
Backwards-compatibility

Is this a breaking change that will not be backwards-compatible? If yes, how so?

No
Documentation

Does the change require any updates to documentation? If so, where? Are they included?

No

Why is this a dead link in Github action?
FILE: ./CONTRIBUTING.md
[✖] https://dart.dev/guides/language/effective-dart

22 links checked.

ERROR: 1 dead links found!
[✖] https://dart.dev/guides/language/effective-dart → Status: 0

Why is this a dead link in Github action?

You can try restarting CI after a while (maybe the site was down or DDoS protection worked), or add it to the ignore list (https://github.com/intel/rohd/blob/main/.github/configs/mlc_config.json) as we are sure this is a false positive.
When adding to the ignore list, it is advisable to adhere to the pattern:

first ^
then LINK
at the end of $

We use regular expression syntax to mark the start (^) and end ($) of text, which allows us to ignore only the address that exactly matches the specified one, and not any addresses that contain such a substring. An example is already on the ignore list itself.

You can try restarting CI after a while (maybe the site was down or DDoS protection worked), or add it to the ignore list (https://github.com/intel/rohd/blob/main/.github/configs/mlc_config.json) as we are sure this is a false positive.

Do you think the whitelist should be added to this pull request or better separate it into other pull request instead?

It would probably be worth making the changes related to the ignore settings in a separate PR, but I personally did not think about it until you rightly pointed it out. It's probably best to check with the maintainer of the repository.

I think you need to pull master to fix the failing test


refacto(starknet): change to one tx for fees

Pull Request type

Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[x] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Testing
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Only one tx for fee transfer which should improve performances

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

this branch 95 tx/block

Main seem to be 50 or 60


Appstudio update test-custom-default-branch-beau

Pipelines as Code configuration proposal
To start the PipelineRun, add a new comment with content /ok-to-test
For more detailed information about running a PipelineRun, please refer to Pipelines as Code documentation Running the PipelineRun
To customize the proposed PipelineRuns after merge, please refer to Build Pipeline customization

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-wadk-on-pull-request-
creating pipelinerun test-simple-build-wadk-on-pull-request- in namespace build-e2e-vrvo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-annotations-mijr-on-pull-request-
creating pipelinerun test-annotations-mijr-on-pull-request- in namespace build-e2e-vrvo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request

Pipelines as Code CI has failed.There was an error creating the PipelineRun: test-simple-build-lqle-on-pull-request-
creating pipelinerun test-simple-build-lqle-on-pull-request- in namespace build-e2e-vrvo-tenant has failed.
Tekton Controller has reported this error: the namespace of the provided object does not match the namespace sent on the request


Load GDNative libraries for X11 as a fallback on the Server platform

This makes it possible to load GDNative libraries on a Linux server without having to edit the GDNativeLibrary resource.
See https://github.com/godotengine/godot-docs/pull/3557#issuecomment-630761914.

Tested with the C++ example project (in 3.2), it works. Thanks!
Minor note: if we set both "Server" and "X11" libraries, the X11 library might be picked instead of Server, depending on their order. I don't know if there's a use case for setting different Server and X11 binaries though, so this way works too.

Minor note: if we set both "Server" and "X11" libraries, the X11 library might be picked instead of Server, depending on their order. I don't know if there's a use case for setting different Server and X11 binaries though, so this way works too.

Yeah that's a problem, Server should always take precedence. It might have different build options or features than X11, or it might be a macOS lib for OSX Server.

oh, thanks for this, but i don't know how test it, what i need?

@sesenta Here's a server binary based on the latest 3.2 branch with the pull request included: godot-server-3.2-gdnative-fix.zip
Extract the ZIP archive, place the binary besides an exported PCK then
run it, specifying --main-pack <path to PCK file> on the command line.

@Calinou done!, command line success

Ha! I just ran into this very issue. :D
Successfully tested the download from https://github.com/godotengine/godot/pull/38898#issuecomment-632089940 on this machine:
Linux 5.3.0-46-generic #38~18.04.1-Ubuntu SMP x86_64 x86_64 x86_64 GNU/Linux

With command line:
godot_server.x11.opt.64 --path <path_to_dir_with_project.godot>

Thanks!

Superseded by https://github.com/godotengine/godot/pull/60182.


Support old bitnami/mariadb

What would you like to be added:
Support mariadb in binary detection
Additional context:
$ syft bitnami/mariadb:10.4 | grep maria
 ✔ Pulled image
 ✔ Loaded image                                                                        bitnami/mariadb:10.4
 ✔ Parsed image                     sha256:18a0f5db9516679b4e1e9db0ab589b0fc6ad2d6e22f4201777ff7338814d2e53
 ✔ Cataloged contents                      e59632cb4797c83baaa353db6a75bc7b31dff776d0769072147901106a426369
   ├── ✔ Packages                        [112 packages]
   ├── ✔ File digests                    [5,057 files]
   ├── ✔ File metadata                   [5,057 locations]
   └── ✔ Executables                     [855 executables]
mariadb                       10.4.34                  binary
$

$ syft bitnami/mariadb:10.3 | grep maria
 ✔ Pulled image
 ✔ Loaded image                                                                        bitnami/mariadb:10.3
 ✔ Parsed image                     sha256:f64ab9dd66fedc1c14788558aae760b235e4e030c9416d62d739d719b953a8e9
 ✔ Cataloged contents                      ed3050cd7e88e377ef33e80c7cf27a06dc3118aa14e3a1bbbaecf557cd4b1584
   ├── ✔ Packages                        [109 packages]
   ├── ✔ File digests                    [3,499 files]
   ├── ✔ File metadata                   [3,499 locations]
   └── ✔ Executables                     [800 executables]
$

$ docker run -it --rm bitnami/mariadb:10.4 ls -la /opt/bitnami/mariadb/bin/mariadb
mariadb 06:24:42.27 INFO  ==>
mariadb 06:24:42.27 INFO  ==> Welcome to the Bitnami mariadb container
mariadb 06:24:42.27 INFO  ==> Subscribe to project updates by watching https://github.com/bitnami/containers
mariadb 06:24:42.28 INFO  ==> Submit issues and feature requests at https://github.com/bitnami/containers/issues
mariadb 06:24:42.28 INFO  ==> Upgrade to Tanzu Application Catalog for production environments to access custom-configured and pre-packaged software components. Gain enhanced features, including Software Bill of Materials (SBOM), CVE scan result reports, and VEX documents. To learn more, visit https://bitnami.com/enterprise
mariadb 06:24:42.28 INFO  ==>

lrwxrwxrwx 1 root root 5 May 17 08:00 /opt/bitnami/mariadb/bin/mariadb -> mysql

$ docker run -it --rm bitnami/mariadb:10.3 ls -la /opt/bitnami/mariadb/bin/mariadb
mariadb 06:25:08.05
mariadb 06:25:08.06 Welcome to the Bitnami mariadb container
mariadb 06:25:08.06 Subscribe to project updates by watching https://github.com/bitnami/containers
mariadb 06:25:08.06 Submit issues and feature requests at https://github.com/bitnami/containers/issues
mariadb 06:25:08.06

ls: cannot access '/opt/bitnami/mariadb/bin/mariadb': No such file or directory

$ docker run -it --rm bitnami/mariadb:10.3 /opt/bitnami/mariadb/bin/mysql --version
mariadb 06:35:53.36
mariadb 06:35:53.36 Welcome to the Bitnami mariadb container
mariadb 06:35:53.37 Subscribe to project updates by watching https://github.com/bitnami/containers
mariadb 06:35:53.37 Submit issues and feature requests at https://github.com/bitnami/containers/issues
mariadb 06:35:53.37

/opt/bitnami/mariadb/bin/mysql  Ver 15.1 Distrib 10.3.39-MariaDB, for Linux (x86_64) using readline 5.1
$
$ strings mysql | grep -e '10\.3\.39'
10.3.39-MariaDB
10.3.39
/bitnami/blacksmith-sandox/mariadb-10.3.39/mysys/charset.c
/bitnami/blacksmith-sandox/mariadb-10.3.39/mysys/my_default.c
/bitnami/blacksmith-sandox/mariadb-10.3.39/mysys/mf_iocache.c
/bitnami/blacksmith-sandox/mariadb-10.3.39/mysys/my_thr_init.c

This was fixed by https://github.com/anchore/syft/pull/3339


encrypted mp4 not playing in vlc or safari

created encrypted parts using
hls-stream-creater.sh -i ./small.mp4 -e -s 10 ./

it created successfully but now its not playing.
m3u8 file contents:
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-KEY:METHOD=AES-128,URI=small.mp4.key
#EXT-X-TARGETDURATION:6
#EXTINF:5.600000,
small.mp4_00000.ts
#EXT-X-ENDLIST

Odd.
Did it create the key (i.e. does small.mp4.key exist)?
What do you get if you run ffprobe -i small.mp4_00000.ts?
Could you post your manifest, key and segment somewhere so I can have a closer look? I'm wondering if perhaps the encryption didn't happen for some reason (or maybe the IV's wrong etc)

yes there is the key file
on running ffprobe this is the output:
$ ffprobe -i ./small.mp4_00000.ts
ffprobe version git-2019-11-14-73ee53f Copyright (c) 2007-2019 the FFmpeg developers
  built with gcc 9.2.1 (GCC) 20191010
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt --enable-amf
  libavutil      56. 35.101 / 56. 35.101
  libavcodec     58. 62.100 / 58. 62.100
  libavformat    58. 35.100 / 58. 35.100
  libavdevice    58.  9.100 / 58.  9.100
  libavfilter     7. 66.100 /  7. 66.100
  libswscale      5.  6.100 /  5.  6.100
  libswresample   3.  6.100 /  3.  6.100
  libpostproc    55.  6.100 / 55.  6.100
./small.mp4_00000.ts: Invalid data found when processing input

check https://we.tl/t-ddElWGfPA0

Thanks
Key-length is correct
ben@milleniumfalcon:~/tmp/HLS$ wc -c small.mp4.key
16 small.mp4.key

Segment decrypts happily enough using the key
ben@milleniumfalcon:~/tmp/HLS$ cp small.mp4_00000.ts test.ts
ben@milleniumfalcon:~/tmp/HLS$ IV=$(printf '%032x' 00000)
ben@milleniumfalcon:~/tmp/HLS$ KEY=$(cat small.mp4.key | hexdump -e '16/1 "%02x"')
ben@milleniumfalcon:~/tmp/HLS$ openssl aes-128-cbc -d -in test.ts -out test.dc.ts -K $KEY -iv $IV
ben@milleniumfalcon:~/tmp/HLS$ ffprobe -hide_banner -i test.dc.ts
Input #0, mpegts, from 'test.dc.ts':
Duration: 00:00:05.53, start: 1.466667, bitrate: 350 kb/s
Program 1
    Metadata:
    service_name    : Service01
    service_provider: FFmpeg
    Stream #0:0[0x100]: Video: h264 (High) ([27][0][0][0] / 0x001B), yuv420p, 560x320, 30 fps, 30 tbr, 90k tbn, 60 tbc
    Stream #0:1[0x101](eng): Audio: aac (LC) ([15][0][0][0] / 0x000F), 48000 Hz, mono, fltp, 72 kb/s

and actually, VLC playback works fine for me:
ben@milleniumfalcon:~/tmp/HLS$ cvlc small.mp4.m3u8
VLC media player 2.2.2 Weatherwax (revision 2.2.2-0-g6259d80)
[0000000000fc11d8] dummy interface: using the dummy interface module...
[00007fb888c01518] httplive stream: HTTP Live Streaming (/home/ben/tmp/HLS/small.mp4.m3u8)
[00007fb888c01fc8] ts demux: MPEG-4 descriptor not found for pid 0x101 type 0xf
[00007fb888ddbb78] packetizer_mpeg4audio packetizer: AAC channels: 1 samplerate: 48000
[00007fb888c84718] avcodec decoder: Using NVIDIA VDPAU Driver Shared Library  340.104  Thu Sep 14 16:45:03 PDT 2017 for hardware decoding.

Could you try playing using cvlc so that errors get logged to console and provide the output? I don't think it will, but does anything hit the Safari Javascript console when you attempt playback?

Safari gives "Failed to load resource: Plug-in handled load"

this is what is get from vlc
main debug: VLC media player - 3.0.8 Vetinari
main debug: Copyright © 1996-2019 the VideoLAN team
main debug: revision 3.0.8-0-gf350b6b5a7
main debug: configured with /Users/d-fu/vlc-3.0/extras/package/macosx/../../../configure  '--prefix=/Users/d-fu/vlc-3.0/build/vlc_install_dir' '--enable-macosx' '--enable-merge-ffmpeg' '--enable-osx-notifications' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-shout' '--enable-ncurses' '--enable-twolame' '--enable-realrtsp' '--enable-libass' '--enable-macosx-qtkit' '--enable-macosx-avfoundation' '--disable-skins2' '--disable-xcb' '--disable-caca' '--disable-pulse' '--disable-sdl-image' '--disable-vnc' '--build=x86_64-apple-darwin17' '--host=x86_64-apple-darwin17' '--with-macosx-version-min=10.7' '--with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.13.sdk' '--with-breakpad=https://mac.crashes.videolan.org' 'build_alias=x86_64-apple-darwin17' 'host_alias=x86_64-apple-darwin17' 'CC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'CFLAGS=-g' 'LDFLAGS=' 'CXX=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++' 'CXXFLAGS=-g' 'OBJC=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang' 'OBJCFLAGS=-g'
main debug: Creating an input for preparsing 'small.mp4.m3u8'
main debug: processing request item: small.mp4.m3u8, node: Playlist, skip: 0
main debug: rebuilding array of current - root Playlist
main debug: rebuild done - 1 items, index 0
main debug: starting playback of new item
main debug: resyncing on small.mp4.m3u8
main debug: small.mp4.m3u8 is at 0
main debug: creating new input thread
macosx debug: Enabling media key support
macosx warning: Failed to enable media key support, likely app needs to be whitelisted in Security Settings.
main debug: looking for meta fetcher module matching "any": 1 candidates
main debug: Creating an input for 'small.mp4.m3u8'
lua debug: Trying Lua scripts in /Users/Admin/Library/Application Support/org.videolan.vlc/lua/meta/fetcher
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/fetcher
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/fetcher
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in /Users/Admin/Library/Application Support/org.videolan.vlc/lua/meta/art
main debug: requesting art for new input thread
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/art
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/art
main debug: using timeshift granularity of 50 MiB
main debug: using default timeshift path
main debug: `file:///Users/Admin/Desktop/vid_hls/small.mp4.m3u8' gives access `file' demux `any' path `/Users/Admin/Desktop/vid_hls/small.mp4.m3u8'
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/00_musicbrainz.luac
main debug: creating demux: access='file' demux='any' location='/Users/Admin/Desktop/vid_hls/small.mp4.m3u8' file='/Users/Admin/Desktop/vid_hls/small.mp4.m3u8'
main debug: looking for access_demux module matching "file": 14 candidates
main debug: no access_demux modules matched
main debug: creating access: file:///Users/Admin/Desktop/vid_hls/small.mp4.m3u8
main debug:  (path: /Users/Admin/Desktop/vid_hls/small.mp4.m3u8)
main debug: looking for access module matching "file": 23 candidates
main debug: using access module "filesystem"
main debug: looking for stream_filter module matching "prefetch,cache_read": 26 candidates
cache_read debug: Using stream method for AStream*
cache_read debug: starting pre-buffering
cache_read debug: received first data after 0 ms
cache_read debug: pre-buffering done 192 bytes in 0s - 2314 KiB/s
main debug: using stream_filter module "cache_read"
main debug: looking for stream_filter module matching "any": 26 candidates
lua debug: Trying Lua scripts in /Users/Admin/Library/Application Support/org.videolan.vlc/lua/playlist
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/playlist
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/playlist
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/00_musicbrainz.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/anevia_streams.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/01_googleimage.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/anevia_xml.luac
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/01_googleimage.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/02_frenchtv.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/appletrailers.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/bbc_co_uk.luac
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/02_frenchtv.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/03_lastfm.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/cue.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/dailymotion.luac
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/03_lastfm.luac
main debug: no art finder modules matched
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/jamendo.luac
main debug: looking for meta fetcher module matching "any": 1 candidates
lua debug: Trying Lua scripts in /Users/Admin/Library/Application Support/org.videolan.vlc/lua/meta/fetcher
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/fetcher
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/fetcher
main debug: no meta fetcher modules matched
main debug: looking for art finder module matching "any": 2 candidates
lua debug: Trying Lua scripts in /Users/Admin/Library/Application Support/org.videolan.vlc/lua/meta/art
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/art
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/art
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/00_musicbrainz.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/koreus.luac
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/00_musicbrainz.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/01_googleimage.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/liveleak.luac
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/01_googleimage.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/02_frenchtv.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/newgrounds.luac
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/02_frenchtv.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/03_lastfm.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/rockbox_fm_presets.luac
lua debug: skipping script (unmatched scope) /Applications/VLC.app/Contents/MacOS/share/lua/meta/art/03_lastfm.luac
main debug: no art finder modules matched
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/soundcloud.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/twitch.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/vimeo.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/vocaroo.luac
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/playlist/youtube.luac
main debug: no stream_filter modules matched
main debug: looking for stream_directory module matching "any": 1 candidates
main debug: no stream_directory modules matched
main debug: attachment of directory-extractor failed for file:///Users/Admin/Desktop/vid_hls/small.mp4.m3u8
main debug: looking for stream_filter module matching "record": 26 candidates
main debug: using stream_filter module "record"
main debug: creating demux: access='file' demux='any' location='/Users/Admin/Desktop/vid_hls/small.mp4.m3u8' file='/Users/Admin/Desktop/vid_hls/small.mp4.m3u8'
main debug: looking for demux module matching "any": 55 candidates
adaptive debug: Retrieving file:///Users/Admin/Desktop/vid_hls/mall.mp4.ke @0
main debug: creating access: file:///Users/Admin/Desktop/vid_hls/mall.mp4.ke
main debug:  (path: /Users/Admin/Desktop/vid_hls/mall.mp4.ke)
main debug: looking for access module matching "file": 23 candidates
filesystem error: cannot open file /Users/Admin/Desktop/vid_hls/mall.mp4.ke (No such file or directory)
main debug: no access modules matched
main error: no suitable access module for `file:///Users/Admin/Desktop/vid_hls/mall.mp4.ke'
adaptive debug: Period
adaptive debug:  BaseAdaptationSet default_id#0
adaptive debug:   Representation file:///Users/Admin/Desktop/vid_hls/small.mp4.m3u8
adaptive debug:    Segment #1 url=file:///Users/Admin/Desktop/vid_hls/small.mp4_00000.ts duration 560
adaptive debug: opening playlist file (/Users/Admin/Desktop/vid_hls/small.mp4.m3u8)
main debug: using demux module "adaptive"
main debug: looking for a subtitle file in /Users/Admin/Desktop/vid_hls/
main debug: looking for meta reader module matching "any": 2 candidates
adaptive error: Failed to create demuxer 0x0 Unknown
lua debug: Trying Lua scripts in /Users/Admin/Library/Application Support/org.videolan.vlc/lua/meta/reader
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/lua/meta/reader
lua debug: Trying Lua scripts in /Applications/VLC.app/Contents/MacOS/share/lua/meta/reader
lua debug: Trying Lua playlist script /Applications/VLC.app/Contents/MacOS/share/lua/meta/reader/filename.luac
main debug: no meta reader modules matched
main debug: `file:///Users/Admin/Desktop/vid_hls/small.mp4.m3u8' successfully opened
main debug: EOF reached
main debug: removing module "adaptive"
main debug: removing module "record"
main debug: removing module "cache_read"
main debug: removing module "filesystem"
main debug: dead input
main debug: changing item without a request (current 0/1)
main debug: nothing to play

Hmmm, that's a fairly useless message :( Looks like it can apply to a range of things
Just to rule out the first google hit though, What are you hosting the files to test from?
For avoidance of doubt, can you check if it plays via my infra - https://filedrop.bentasker.co.uk/5/t1rLz_W-n2HBYPHQn0qvuacA=:NtgjYczwBXOdWd7RvXl9v9cZdZv7NTnU6BSib4G@YMMTKNmpLfgzFqQLbRKQ7xohU4P<EMAIL_ADDRESS>For cvlc you'll need to launch a terminal, and then it should (hopefully) already be installed.
Failing that, in VLC if you attempt playback and then go to Tools (actually, might be "Window" on Mac) and then messages

Sorry, just saw your latest. Bear with me

I've managed to find an old macbook and there's something very weird going on here (VLC version is latest Vetinari).
It's truncating letters off the key-filename:
no suitable access module for 'http://scratch.holly.home:80/HLS/mall.mp4.key'

I noticed truncation in your output but assumed it might've been copy paste.

But, if we take the relevant line and try and convert it back the issue becomes apparent
ben@milleniumfalcon:~/tmp/HLS$ echo "382c 5552 493d 736d 616c 6c2e 6d70 342e 6b65 790a" | xxd -r
URI=small.mp4.ke

The end of that looks ok, hex 79 is dec 121 ("y" in ascii) and 0a is a line break. Let's iterate over the hex and convert to dec then
ben@milleniumfalcon:~/tmp/HLS$ echo "382c 5552 493d 736d 616c 6c2e 6d70 342e 6b65 790a"  | tr -d ' ' | python3 -c 'import sys,re; p=re.findall("..",sys.stdin.read()); [print(int(x,16))for x in p]'
56
44
85
82
73
61
115
109
97
108
108
46
109
112
52
46
107
101
121
10

Dumping those to chars
ben@milleniumfalcon:~/tmp/HLS$ echo "382c 5552 493d 736d 616c 6c2e 6d70 342e 6b65 790a"  | tr -d ' ' | python3 -c 'import sys,re; p=re.findall("..",sys.stdin.read()); [print(chr(int(x,16)))for x in p]'
8
,
U
R
I
=
s
m
a
l
l
.
m
p
4
.
k
e
y

Looks ok...
Converting one way and back works fine
ben@milleniumfalcon:~/tmp/HLS$ cat small.mp4.m3u8 | xxd > hex
ben@milleniumfalcon:~/tmp/HLS$ cat hex | xxd -r
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-KEY:METHOD=AES-128,URI=small.mp4.key
#EXT-X-TARGETDURATION:6
#EXTINF:5.600000,
small.mp4_00000.ts
#EXT-X-ENDLIST

Perhaps the earlier test was a false positive then?

Going back to basics, what if we quote the keyfile name
ben@milleniumfalcon:~/tmp/HLS$ cat ~/scratch/HLS/small.mp4.m3u8
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:YES
#EXT-X-KEY:METHOD=AES-128,URI="small.mp4.key"
#EXT-X-TARGETDURATION:6
#EXTINF:5.600000,
small.mp4_00000.ts
#EXT-X-ENDLIST

VLC works. And so does Safari....
FFS...
OK, for now, please edit your manifest and quote the keyfile name - I'll make a code change in a minute to have that happen automatically...

OK, if you pull the latest master and try again the issue should now be fixed

OMG
amazing?
😆
its working on safari and in vlc.
yeah macs are weird.

Yeah what's particularly weird is that VLC handles it just fine on Linux.
Suggests on a Mac it may be passing the manifest off to some OS handler (or maybe running OS specific code against it).
I think it's probably OS specific code though rather than an OS level handler. If I repro in Safari I don't actually see a key request at all (unlike VLC which makes one but has chopped the first and last char of the filename off).
Looking at RFC8216 though, it does say URI is a quoted-string, so this is definitely a bug in HLS-Stream-Creator even if the downstream behaviour is somewhat weird.

HLS-35 Refers


Add PR template

https://github.com/dockstore/dockstore/pull/4475

It seems like the opinionated style guide should be in dockstore-ui2, but that's beyond the scope of this.

Maybe because issues are consolidated


Doesn't finish redirecting to an unexisting URL

I have a webpage, which has a <script> tag with JavaScript that (conditionally) redirects to an URL, via window.location = "...". I'm transfering Selenium tests to Phantom.js, and there are some tests which are testing that this redirect happens.
The catch is that the page this URL points to doesn't exist (I'm new to this project, so I have not understood yet why), so after I sleep wait for enough time (so that the redirected page can load), Phantom.js tells me that I'm still on the previous page. This doesn't happen if I just swap that URL with an existing one (or with Selenium).
I think it would make sense that Phantom.js still shows that URL, even though it didn't load anything (since the page doesn't exist), because that's the behaviour of regular browsers. Is this behaviour difficult to make?

+1


Remove redundancies

For example, you can search for "Razor Shot/Spare Shot" or "Xeno'jiiva Divinity lvl3". The latter restricts you in armour choices, but the former will include getting it through Xeno's armour (and getting less than Lvl 3 is pointless).
So, I'd recommend adjusting the parameters so there's only "Razor Shot/Spare Shot", as well as for any other skill/monster-skill pairs where this dynamic is true.

Should be fixed now.


Matches do not strike on the box unless it is full

Description

If you attempt to light a match, it now is just inserted into the box. If the box is full, it then lights as expected.
@ElectroJr this might be related to #8290, can you take a look? It looks like the BaseSystem's OnInteractUsing is run first, so it gets handled by inserting before it reaches other systems like MatchboxSystem.
Reproduction

Hold a (not full) matchbox in one hand and a match in the other
Use the match on the matchbox

Expected Results: Match is lit
Actual Results: Match is inserted into the box
Screenshots

Additional context

Its probably just an interaction priority problem where the storage system handles the interaction before whatever system lights it


Update harness-platform-faqs.md

Thanks for contributing to the Harness Developer Hub! Our code owners will review your submission.
Description

Please describe your changes: \1 Faq Added

PR lifecycle
We aim to merge PRs within one week or less, but delays happen sometimes.
If your PR is open longer than two weeks without any human activity, please tag a code owner in a comment.
PRs must meet these requirements to be merged:

[ ] Successful preview build.
[ ] Code owner review.
[ ] No merge conflicts.
[ ] Release notes/new features docs: Feature/version released to at least one prod environment.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://663cec4bd74ff60a02d7244c--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app. Current Draft URL is: https://663cee21ee0bfb0b0f5db544--harness-developer.netlify.app


[BUG] Disable Maintenance Mode menu options don't seem to do anything

Describe the bug
Wanting to change a BIOS setting for one of my nodes, I set it to Enable Maintenance Mode. Since it didn't seem to do anything I clicked it again. This time it showed the node in Maintenance mode. Once I had rebooted and made my change I then set it to Disable Maintenance Mode. Despite waiting and multiple attempts, both on the Hosts page (three dots for relevant host) and the specific node's page, my node is stuck in Maintenance mode!
To Reproduce
Steps to reproduce the behavior:

Set a node in Maintenance mode
Disable Maintenance mode

May possibly need to reboot node in between steps 1 & 2
Expected behavior
Disable Maintenance Mode should take the relevant node out of maintenance mode
Support bundle
Can't generate support bundle as it's reporting a network error!
Environment:

Harvester ISO version: 1.0.0
Underlying Infrastructure (e.g. Baremetal with Dell PowerEdge R630): Baremetal with 2x Intel NUC7i7DNxE

Additional context
Fresh install following earlier release of 1.0.0 GA.

Support bundle
supportbundle_afac18dc-92db-412a-922d-2b86a05e199d_2021-12-21T19-54-01Z.zip

Unexpectedly retrying to disable maintenance mode just now actually worked - almost immediately after I clicked it the host changed. So either time was a healer or something else has changed (other than logging out and back in again today nothing has changed in my Harvester 1.0.0 setup).

Having shutdown both of my NUCs to upgrade RAM I again tested maintenance mode - they were both quick to enable but disabling not so. One I left overnight before I could disable, the other seemed to work after I refreshed the page, so perhaps it's a UI thing? Would be useful to know what enable & disable maintenance mode buttons do under the hood so I can try running manually from CLI to see what, if anything, happens.

UI posts
MGMT_URL/v1/harvester/nodes/harvester-node-2?action=enable/disableMaintenanceMode

under the hood, it adds/removes the following content to the node manifest
metadata:
  annotations:
      harvesterhci.io/maintain-status: running
spec:
  taints:
  - effect: NoSchedule
    key: kubevirt.io/drain
    value: scheduling

Can you check if the API call succeeds in the browser console?

@guangbochen, @gitlawr
This issue can be reproduced on v1.0.0 GA on 3 nodes provo bare metal machine with no VM created on node.
Result
Unable to disable maintenance mode after rebooting 1st controller harvester node
Host can be discover to running status, keep in maintenance mode status
Wait for 10 minutes and disable several times, still can't disable maintenance mode

Test Information

Test Environment: 3 nodes harvester on provo bare machine
Harvester version: v1.0.0 GA

Reproduce steps

3 nodes harvester
Enable virtual network in management mgmt
Create virtual network vlan 1 and vlan 806
Open Host page
Select node 1, enter maintenance mode
Reboot node 1 machine

7. Confirm node reboot finish
8. Select node 1, disable maintenance mode
Support Bundle
supportbundle_65ca7f14-3072-4ea7-ace6-d3d562b23393_2022-01-25T11-30-42Z.zip

I found after leaving harvester node for hours then back to check. It's able to disable maintenance mode to let harvester node back to running status.

Looks like if we refresh the page and we can disable maintenance mode. Like the following video.

At the beginning, a node is in red maintenance mode. It means that the node is in maintenance mode and can't be connected.
The node is recovered to yellow maintenance mode. It can be connected now.
If we click Disable Maintenance Mode, the request can be sent to the backend and the response is 204.
If we refresh the page and click Disable Maintenance Mode, the node can be back to Active.

https://user-images.githubusercontent.com/4927361/153561991-895be077-2290-4fd3-b21c-aa56a24385c5.mp4

Reproduce this issue on master-9091d7d0-head (02/14)
Result
After rebooting harvester node1, the enabled maintenance mode will keep in maintenance status unless we refresh (ctrl+r) the dashboard UI.

After above operation, we disable the maintenance mode again, node 1 can back to Active status

Thus we could enhance the UX to real time reflect the status change of disabling maintenance mode on host page
Test Information

Test Environment: 3 nodes harvester on provo bare machine
Harvester version: master-9091d7d0-head (02/14)

Verify Steps

Enable virtual network in management mgmt
Create virtual network vlan 1 and vlan 806
Open Host page
Select node 1, enter maintenance mode
Reboot node 1 machine
Confirm node reboot finish
Select node 1, disable maintenance mode

Reproduce this issue on master-9091d7d0-head (02/14)
Result
After rebooting harvester node1, the enabled maintenance mode will keep in maintenance status unless we refresh (ctrl+r) the dashboard UI.

After above operation, we disable the maintenance mode again, node 1 can back to Active status
Thus we could enhance the UX to real time reflect the status change of disabling maintenance mode on host page
Test Information

Test Environment: 3 nodes harvester on provo bare machine
Harvester version: master-9091d7d0-head (02/14)

Verify Steps

Enable virtual network in management mgmt
Create virtual network vlan 1 and vlan 806
Open Host page
Select node 1, enter maintenance mode
Reboot node 1 machine
Confirm node reboot finish
Select node 1, disable maintenance mode

Currently I have not been able to reproduce the problem in the v1.0.1 environment, based on the screenshot information I guess the possible causes are as follows.
When you refresh the page and see a message like Your connection is not private

it means that the harvester environment's credentials have changed, so you can't see the websocket message push when you refresh the previous page.
Verification method:

When the Disable maintenance button is clicked, the UI does not change state
Don't close this page, reopen a new page and re-operate Enable Maintenance & Disable Maintenance, you will see the status change in the new UI page, but the previous page will not change（Because all the websocket links of the old page have been disconnected）

I will try to install the v1.0.0 environment to reproduce the problem.

I reproduced this problem in v1.0.0, the UI did not change state because the UI did not receive any websocket messages

Reproduce Result
This issue can be reproduced on latest v1.0.1 master-head release master-c5f4564f-head. (04/18)
https://user-images.githubusercontent.com/29251855/164674780-be964f94-44c6-49b1-8a4d-de93356e0504.mov
Verify Steps

Enable virtual network in management mgmt
Create virtual network vlan 1 and vlan 806
Open Host page
Select node 1, enter maintenance mode
Reboot node 1 machine
Confirm node reboot finish
Select node 1, disable maintenance mode

Test Information

Test Environment: 3 nodes harvester on provo bare machine
Harvester version: master-c5f4564f-head (04/18)

Support Bundle
supportbundle_65ca7f14-3072-4ea7-ace6-d3d562b23393_2022-01-25T11-30-42Z.zip

During further investigation, the web socket failed to connect during rebooting node 1. This may caused by the certificate changes.

By refreshing or open a new page, we can enable/disable maintenance mode

The workaround to disable maintenance is by refreshing the page (ctrl+r)

@guangbochen, it looks like the issue caused by websocket failed to connect, suggest we can have a backend team member to look deep into it if needed.

This looks to be an expected behavior since we are using the dynamic lister as our default cert management, a node change or reboot will require users to re-enable the CA trust manipulation. As a workaround, users can use Rancher to manage the Harvester cluster or add a custom proxy and cert in the front of the Harvester UI.
As an enhancement, we may consider adding more obvious UI notifications when the WebSocket connection is disconnected instead require users to check it via the F12 console. cc @WuJun2016 . Also moving this to v1.0.3 due to time release constraints, thanks.

Created a new issue tracking websocket hint message enhancement, so closed the issue.    https://github.com/harvester/harvester/issues/2186


Make CMS -sign and -verify handle binary input correctly

So far signing and verifying S/MIME binary input did not work properly.

openssl cms -sign tended to corrupt/truncate non-detached binary data without warning
openssl cms -verify -binary tended to give unsuccessful verification result or fail with

Error reading S/MIME message
139893396579456:error:0D0D40D2:asn1 encoding routines:SMIME_read_ASN1:no multipart body failure:../crypto/asn1/asn_mime.c:408:

This PR fixes that.

Warn when the -in or -content argument files contains NUL or 8-bit chars without the -binary option being used.
Correct parsing of non-detached binary S/MIME data such that parse failures and verification false negatives are avoided.

This fixes #8940.
Checklist

[x] documentation is added or updated
[x] tests are added or updated

Thanks for adding extra tests...

Thanks also for your helpful review!
All comments addressed again.

Hmm, those cert file load errors in the AppVeyor VSVER=15; Configuration: shared; Platform: x64/x86 builds such as
#   Failed test at ..\test\recipes\25-test_eai_data.t line 46.
Error loading file ..\..\..\test\recipes\25-test_eai_data\ascii_chain.pem
380C0000:error::x509 certificate routines:X509_load_cert_crl_file_with_libctx:no certificate or crl found:..\crypto\x509\by_file.c:252:
C:\Perl\bin\perl.exe ..\..\util\wrap.pl ..\..\apps\openssl.exe verify -nameopt utf8 -no_check_time -CAfile ..\..\..\test\recipes\25-test_eai_data\ascii_chain.pem ..\..\..\test\recipes\25-test_eai_data\ascii_leaf.pem => 1
not ok 8

look unrelated, right?
At least the input files are non-binary.

24 hours has passed since 'approval: done' was set, but as this PR has been updated in that time the label 'approval: ready to merge' is not being automatically set.  Please review the updates and set the label manually.

Seems like this is a bug fix that does not have to go in before beta 1. Taking it out of that milestone.

Also the two Travis failures reported here are unrelated and will be fixed by 13022.

I had to push some fixups in order to make CI pass also for VS15 shared builds,
so @slontis would be nice if you can re-approve.

Sorry for the noise pushing various fixups and analytical commits forth and back, chasing deep bugs in reading and/or writing binary files on Windoze. Meanwhile I am pretty sure that all of the cms app, the lib implementation in crypto/asn1/asn_mime.c, and (the runtime lib of) Windows itself have bugs contributing to this unfortunate situation.
I also have the strong impression that the issue reported and discussed in #1302 is (at least mostly) due to these bugs.

I've meanwhile added fixes to cms.c, crypto/asn1/asn_mime.c, and crypto/bio/bss_file.c and it turns out that all of this is not yet sufficient. Currently it looks like that when writing binary files on Windows any LF chars are translated to CR+LF even though the file should have been openend without the flag BIO_FP_TEXT.
I'm going to continue on this topic next week because this week I am on vacation and will abstain from doing any OpenSSL work.

Is this still WIP? As it changes public API this needs to be merged before beta1 if at all.

Is this still WIP? As it changes public API this needs to be merged before beta1 if at all.

Good that you ask. BTW, by when is feature freeze for beta1 expected meanwhile?
This PR is still WIP because unfortunately I have not found the time to finish fixing the tricky bugs that surfaces for use with the Windows platform. Other things like generalizing the HTTP client have higher priority at least for me.
Still I will try to finish this or at least decouple the minor extensions done on the public API here,
such that the latter has a good chance to get into 3.0.

Rebased the PR to fix merge conflicts.
I will also decouple again from this PR the cleanup of the CMS app options and doc,
which I tentatively had added here about a month ago.

Good that you ask. BTW, by when is feature freeze for beta1 expected meanwhile?

The last alpha release was announced to happen on May 20th. So unless there is something necessary to fix a 3.0 blocker it should be in before that date.

For now I've disabled (most of) the new tests that may still fail on Windows.
This way we can handle this PR, including the API change, already now
and take care of the remaining issue during the beta phase.

Thanks @t8m for getting back to this and your good further comments.
Today I found the time to handle them and thus come up with a more satisfactory and backward-compatible solution.

I believe that meanwhile all issues handled here are fixed.
@slontis and/or @t8m, can you please have a look again?

Anything more to do on this PR?

Good work!

Good work!

Merged -
thanks @slontis and @t8m for your good comments and approvals!