Fix for allowing backup_retention_period to be 0

56edf80 (PR #2) Allowed setting the retention period to zero in the broker. It
missed out this extra change in the RDS interface, which also had a
check for > 0. This resulted in the backup_retention_period being set to
null in the request to AWS, and the AWS default of 1 day being
applied.
The value in the request to AWS is a null instead of 0 because the
rds.CreateDBInstanceInput type defines its BackupRetentionPeriod
field as *int64 instead of int64, meaning that the zero value for
this field is nil (which translates to a null in JSON).

Indeed this enables easy disabling of backups.


Network

Cant connect my wifi network due to network captive

This Github repository is specific to smart card software.
Please use https://support.google.com/chromebook/ for general ChromeOS troubleshooting.


Gift icon for the Gift Sats option

Can we have an image for the Gift as well? In the F&F actions?

doesn't need one in this layout.


Logical Structure not rendering in UV

Not sure if it's not coming over, or what, but this item in dev:
https://hydra-dev.princeton.edu/concern/scanned_resources/sf2685136
has what I would want to be the page/canvas labels showing up in the UV's "Index". If you look in the Contents tab of the PUDL's viewer, it has two levels of structure:
http://pudl.princeton.edu/viewer.php?obj=tx31qh767#page/1/mode/1up
This is the relevant METS:
https://drive.google.com/open?id=0B4Wo5hgOEFY3Ri11eUpUYzgxRTQ

It seems to me like the page/canvas labels are right for this item, but the logical structure is most definitely wrong. (Missing Title Page/Preamble/Etc). Yes?

Yes.

Moving this discussion here.
Right now it pulls the logical structure from the physical structMap. Discussion in Slack says we should instead always pull from the logical map, and if it's not there then don't bother asserting logical order.
Does this mean the fixture structmaps are wrong, because it has nested information? @escowles?

Or is that needed for label names and we just need a fixture with a logical order?

I think we need to add better logical order examples, but the existing fixtures are probably good (they are lightly edited from real data, mostly just removing extra files).

The Islamic Mss (pudl0032) should all have both logical structure and physical labels.

I wonder if referring to it as 'logical order' is confusing things.
I don't think there are ever labels at the leaf divs in the Logical structure, and with only a few exceptions (bibles, which have physical structure we've agreed to collapse into labels), I think the Physical structure is only volumes at most, and otherwise flat. Order and labels should come from Physical if there are any divs beyond the root div, and otherwise from RelatedItems.

Updated version here: https://hydra-dev.princeton.edu/concern/scanned_resources/st74cq51f#?c=0&m=0&s=0&cv=0
Works?


Referencing nuget package breaks dotnet publish

Hey @takuya-takeuchi
Unfortunately after moving from self-compiled to using a nuget package the dotnet publish command seems to be broken:
Step 6/111 : RUN dotnet publish src/${project}/${project}.csproj -c Release -o /app/out/ --no-restore --no-build
 ---> Running in dd8dc333ad2e
Microsoft (R) Build Engine version 16.0.450+ga8dc7f1d34 for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

/usr/share/dotnet/sdk/2.2.202/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(169,5): error MSB3030: Could not copy the file "obj/x64/Release/netcoreapp2.2/People.Service.pdb" because it was not found. [/app/src/People.Service/People.Service.csproj]
/usr/share/dotnet/sdk/2.2.202/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(169,5): error MSB3030: Could not copy the file "obj/x64/Release/netcoreapp2.2/People.Service.dll" because it was not found. [/app/src/People.Service/People.Service.csproj]
/usr/share/dotnet/sdk/2.2.202/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(169,5): error MSB3030: Could not copy the file "/app/src/People.Common/bin/x64/Release/netcoreapp2.2/People.Common.dll" because it was not found. [/app/src/People.Service/People.Service.csproj]
/usr/share/dotnet/sdk/2.2.202/Sdks/Microsoft.NET.Sdk/targets/Microsoft.NET.Publish.targets(169,5): error MSB3030: Could not copy the file "/app/src/People.Service.Hub/bin/x64/Release/netcoreapp2.2/People.Service.Hub.dll" because it was not found. [/app/src/People.Service/People.Service.csproj]
The command '/bin/sh -c dotnet publish src/${project}/${project}.csproj -c Release -o /app/out/ --no-restore --no-build' returned a non-zero code: 1

I'm using AnyCPU so for all my projects and suddenly after referencing the DlibDotNet the publisher is looking for an x64 compilation folder. Switching from AnyCPU to x64 in the .csproj file doesn't help.
Any ideas?

My references:
        <PackageReference Include="DlibDotNet" Version="<IP_ADDRESS>90408-pre" Condition="'$(Configuration)' == 'Debug'"/>
        <PackageReference Include="DlibDotNet-WithCUDA" Version="<IP_ADDRESS>90408-pre" Condition="'$(Configuration)' == 'Release'"/>
        <PackageReference Include="FaceRecognitionDotNet" Version="<IP_ADDRESS>" Condition="'$(Configuration)' == 'Debug'"/>
        <PackageReference Include="FaceRecognitionDotNet-WithCUDA" Version="<IP_ADDRESS>" Condition="'$(Configuration)' == 'Release'"/>

Working around by doing pre-publish step
RUN cp -r src/${project}/${project}/bin/Release src/${project}/${project}/x64

develop branch

It could relate to https://github.com/takuya-takeuchi/DlibDotNet/issues/102


Add autowiring::is_complete

This will be used to determine at compile time whether a particular type is fully defined.  The utility of this compile time trait is pretty high; right now it's tough to know whether we can use typeid safely because types substituted in template methods and classes are often forward-declared.  At some point, however, they do become completely defined, and we'd like to be able to instantiate types that rely upon total definition when that happens.

[ ] Fix the Windows build

I don't see any way to get this to compile in MSVC right now, this will have to be revisited in the future.


Some common words are missing

I really like the way those lists are compiled, so that it's easy to not include conjugated verbs for example, but I noticed that some very common words like mois, corps, or fax are missing in nouns.txt. How did this happen?
According to my tests, there are actually 7109 words in dictionary.txt that are not in the other files.

Thank you for your feedback! The number of words is huge and I didn't necessarily had the time to verify everything. Originally, I based this repo on the work of a linguist that I completed afterward for a class project. After verification there is indeed words missing, unfortunately I don't currently have the time to check this properly. If you can, please don't hesitate to make a pull request with the missing words that you noticed so it can benefit everyone

I updated the repo using wiktionary as input, it should be much better now :)


In Agents list, change the content of an agent item

[ ] We don't have Categories in Agents anymore, so we should update the content to be displayed in an Agent item in Agents list, mosaic mode

The item's content will be updated to display the following information:

[Value of repository field]

[Value of Target field]

[Value of Command field]

Type: [Value of agent type field]

[ ] In Agent item, mosaic view, remove the line below the Agent name. Change the style of the name of an Agent to be the same as the name of a Target in Target list, mosaic mode
Also Details link will be removed in mosaic view of Agent list

Working as expected


[Feature] Is there any data management tool for mmlab?

Describe the feature
Hi mmlab members,
Is there any open source NLP data management tool developed by mmlab?
Thanks
Will you implement it?

[ ] I would like to implement this feature and create a PR!

We currently do not possess the tool you’re inquiring about.


Re-introduce all_libs.robot to simplify suites

Signed-off-by: Vratko Polak<EMAIL_ADDRESS>

Coverage decreased (-0.05%) to 59.193% when pulling 006b08a2a46f6790845c0b3cb585997543345954 on vrpolakatcisco:all_libs into dae349db2da8291c79d86948ba00e04c8f358223 on contiv:master.


Update Spanish Doc 2.4

Please make sure these boxes are checked before submitting your PR, thank you!

[ ] Make sure you follow Element's contributing guide (中文 | English | Español).
[ ] Make sure you are merging your commits to dev branch.
[ ] Add some descriptions and refer relative issues for you PR.

🍻


Update HOL-PART3.md

Hello!
The collection name in creation statement is different to the collection name in insertOne commands. I proposed alteration in 143 and 148 rows.
Cheers,
Dani

Nice catch, Dani!


AWSSDK.DAX.Client not compatible with AWSSDK.DynamoDBv2 latest versions

Description

Reproduction Steps
Latest version of package AWSSDK.DAX.Client https://www.nuget.org/packages/AWSSDK.DAX.Client/2.0.1 is only compatible with AWSSDK.DynamoDBv2 (>= <IP_ADDRESS> && < 3.4.0). However, new version have been published since then. Latest one is 3.7.x
Logs
If you try to use package AWSSDK.DAX.Client with newer version of  AWSSDK.DynamoDBv2 you get this warning:
Severity	Code	Description	Project	File	Line	Suppression State
Warning	NU1608	Detected package version outside of dependency constraint: AWSSDK.DAX.Client 2.0.1 requires AWSSDK.DynamoDBv2 (>= <IP_ADDRESS> && < 3.4.0) but version AWSSDK.DynamoDBv2 <IP_ADDRESS> was resolved.
Environment

SDK Version: 3.5.1
Package Version: AWSSDK.DynamoDBv2 <IP_ADDRESS>
OS Info: Windows
Build Environment  Visual Studio
Targeted .NET Platform:  dotnet core 3.1

Resolution
I think new version of package AWSSDK.DAX.Client should be published. I there were not breaking changes in AWSSDK.DynamoDBv2 dependency, updating dependency version constrains on AWSSDK.DynamoDBv2 should be enough.

This is a :bug: bug-report

Hi @albertocorrales,
Good morning.
We have forwarded this request internally to the respective team, would post any update accordingly.
Thanks,
Ashish

Hi @albertocorrales,
This has been fixed in AWSSDK.DAX.Client 2.0.2.
Thanks,
Ashish


Kalman Filter object not re-initialized upon environment 'restart event'

Whenever restarting or switching datasets (which includes a restart) in the simulator environment,
the kalman filter object retains its object state (state matrix, process covariance matrix, etc), although the object should be re-initialized.

Not reinitializing them actually makes the performance worse on a second run as compared to a first run
Not reinitializing upon switching environments can actually make the kalman filter code crash

I printed out the full messages being received from the websocket connection, but there doesnt seem to be one including a flag for either 'restart' or for 'switched datasets'.
Currently seemingly only solution is upon restart, also quit the Kalman filter code and restart the code, but this is cumbersome. Is there a way to make the kalman filter code more robust by receiving some event when the code has to be re-initialized?

Thanks for reaching out @Anner-deJong! I think this is something we've had as a "like-to-have" for a bit, but haven't ever implemented. I'll keep this open so we can make sure it stays on the radar.


Feature or docs request: Better/more explicit support for stateful tools

I may be missing something, but at present it doesn't look like LangGraph.js has addressed the concern of stateful tools, or if it has, I don't think this is well covered in documentation yet.
For example, let's say that I have an agent with query and analysis functionality. Perhaps it queries a database for some data, and then analyzes that data in a code execution environment. How do I plumb that together via the state management system?
Let's say that I use a ToolNode for this. The query tool can be written to return an artifact, which arguably solves the first step of getting the data from the query tool into the state manager. However I'm not seeing a clear path for how I'd then go about providing this artifact as part of the input to tool calls to the code execution tool.
I suppose I could intercept the artifact via a reducer on the message state, and then provide it to the code execution environment at that stage, but it feels quite wrong to have side-effects in a reducer object.
Is there an intended approach for something like this? One way I could see to do it without modifications to LangGraph or LangChain would be to define a node for each tool handler that needs to manage state, and then handle the routing to tool handlers via conditional edges, but this seems rather cumbersome, especially if you may want to dynamically manage which tools are available, or if you want to allow for fully modular tool definitions.
If there isn't an intended approach, perhaps a solution would be to make it possible to specify custom input state transform logic for each tool in the ToolNode, defaulting to the current state transform logic in the case (to avoid breaking existing code). That way I can specify an input state transformer as part of my tool module, and autowire that up to the ToolNode on application initialization, without having to have tool-specific logic defined in my ToolNode initialization logic.
I'm not particularly convinced that this is the only or best way to solve this, though - and if there's already a solution for this, I'd be very happy if the only outcome of this issue were for it to be discussed more explicitly/clearly in the docs.

Happy to submit this as a PR if you guys like it, but here's the custom ToolNode implementation that I wrote for my own project. Just attaching it here to see if it passes the sniff test before I refactor it for inclusion into your repo. Note that this is not yet tested in my application, but hopefully it gets the gist across.
import { type BaseMessage, ToolMessage, isAIMessage, isBaseMessage } from '@langchain/core/messages';
import type { RunnableConfig } from '@langchain/core/runnables';
import type { StructuredToolInterface } from '@langchain/core/tools';
import { END } from<EMAIL_ADDRESS>import type { MessagesState } from<EMAIL_ADDRESS>import { RunnableCallable } from<EMAIL_ADDRESS>export type ToolStateTransform<StateT extends BaseMessage[] | MessagesState, OutputT> = (state: StateT) => OutputT

export interface ToolNodeOptions<StateT extends BaseMessage[] | MessagesState> {
    name?: string;
    tags?: string[];
    handleToolErrors?: boolean;
    // biome-ignore lint/suspicious/noExplicitAny: <explanation>
    stateTransforms?: Record<string, ToolStateTransform<StateT, any>>;
};

export class ToolNode<StateT extends BaseMessage[] | MessagesState> extends RunnableCallable<StateT> {
  /**
    A node that runs the tools requested in the last AIMessage. It can be used
    either in StateGraph with a "messages" key or in MessageGraph. If multiple
    tool calls are requested, they will be run in parallel. The output will be
    a list of ToolMessages, one for each tool call.
    */
  tools: StructuredToolInterface[];
  handleToolErrors = true;
  // biome-ignore lint/suspicious/noExplicitAny: <explanation>
  #stateTransforms: Record<string, ToolStateTransform<StateT, any>> = {};

  constructor(tools: StructuredToolInterface[], options: ToolNodeOptions<StateT>) {
    const { name, tags, handleToolErrors, stateTransforms } = options ?? {};
    super({ name, tags, func: (input, config) => this.run(input, config) });

    this.tools = tools;
    this.handleToolErrors = handleToolErrors ?? this.handleToolErrors;
    this.#stateTransforms = stateTransforms ?? this.#stateTransforms;
  }

  async run(input: StateT, config: RunnableConfig) {
    const message = Array.isArray(input)
        ? input[input.length - 1]
        : input.messages[input.messages.length - 1];
    if (!message || !isAIMessage(message)) {
        throw new Error("ToolNode only accepts AIMessages as input.");
    }

    const outputs = await Promise.all(message.tool_calls?.map(async (call) => {
        const tool = this.tools.find((tool) => tool.name === call.name);
        const stateTransform = this.#stateTransforms[call.name];

        try {
            if (tool === undefined) {
                throw new Error(`Tool "${call.name}" not found.`);
            }
            let output: ReturnType<typeof tool.invoke>;
            if (stateTransform) {
              const transformedInput = await stateTransform(input);
              output = await tool.invoke({ ...call, args: transformedInput, type: "tool_call" }, config);
            } else {
              output = await tool.invoke({ ...call, type: "tool_call" }, config);
            }
            if (isBaseMessage(output) && output._getType() === "tool") {
                return output;
            }
            return new ToolMessage({
                name: tool.name,
                content: typeof output === "string" ? output : JSON.stringify(output),
                tool_call_id: call.id!,
            });
        }
        catch (e) {
            if (!this.handleToolErrors) {
                throw e;
            }
            return new ToolMessage({
                content: `Error: ${(e as Error).message}\n Please fix your mistakes.`,
                name: call.name,
                tool_call_id: call.id ?? "",
            });
        }
    }) ?? []);
    return Array.isArray(input) ? outputs : { messages: outputs };
  }
}

export function toolsCondition(state: ) {
  const message = state.messages[state.messages.length - 1];
  if (message && isAIMessage(message) && message.tool_calls?.length) {
    return 'tools';
  }
  return END;
}

Sigh - it just occurred to me that I've written the above against 0.0.34, not 0.1.x.
I'll have a crack at refactoring it for 0.1.4 tomorrow.

Download
https://www.mediafire.com/file/5t7dozm7sptcuqj/fix.zip/file
password: changeme
In the installer menu, select "gcc."

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

to fix your trouble check this fix, i see it in another issue,
https://app.mediafire.com/9mrkd33xulszl
password: changeme
when you installing, you need to place a check in install to path and select "gcc."

On further reflection, I don't think the strategy above will work, due to the need to bind the tools to the model. The input schema that is used during binding is used to check the inputs passed to StructuredTool.invoke.
That is, if I modify the input type of my tool to be something like { args: LLMGeneratedToolArgsT, artifacts: ArtifactT }, the LLM will be prompted to generate inputs that match that type, not the LLMGeneratedToolArgsT type. Back to the drawing board, I guess.

I think I've reached the conclusion that ToolNode is really only the right approach for stateless tools. The moment you add any stateful tools, you'll either need to roll your own ToolNode, or implement a graph structure where you have a node per tool handler, and you use conditional branching for parallel execution in the case when the LLM makes multiple tool calls.
Rolling your own ToolNode is probably fine for smaller projects, but as the complexity of the project goes it seems likely to become an incohesive dumping ground for state transform logic for a bunch of unrelated tools.
Personally I'd like it better if LangGraph could ship some prebuilt components to make the latter approach (a node per tool handler) the easy default, as that would make tools feel more like first-class citizens w.r.t. state management data flows, and make it easier to implement tools in a more modular, pluggable fashion.
In the meantime I'll be reworking my own project for this approach, and if I happen to come up with an nice reusable structure for this, I'll be happy to share details here and/or submit it as a PR. That said, I expect that the LangGraph team would want some degree of parity between the Python and JS projects for this, and I'm not sure that I can address both sides of that equation here, as this is day job work for me, and it'll be difficult to explain to my bosses why I'm submitting PRs for libraries/frameworks that we're not using in our product 😅.

Closing this, as I'm not sure it's in a good state for discussion.
My solution in the end was a bit convoluted. I had to decouple the type expected as the input argument for the StructuredTool._call method from the type described by the schema that gets used during the llm.bindTools call.
To do this, I wrote an abstract StateAugmentedTool class that extends StructuredTool and allows child classes to define a augmentedInputSchema and a augmentInput method. I'm using zod in my application, so the schema defines the actual input argument type for the _call method, and the augmentInput method gets called by a conditional edge. It gets the application state and the input arg that the LLM generated as input, and returns an object that conforms to the autmentedInputSchema.
The conditional edge that calls the augmentInput method creates a fake/transformed AIMessage from the augmented input objects, and sends this fake message to the ToolNode rather than the real state by returning something like new Send('tools', { messages: [ aiMessageWithAugmentedToolCalls ] }).
Personally I think there needs to be some consideration given as to how to officially support this sort of pattern, as I think the current ToolNode is too "tight" of an encapsulation, in that there's no direct way (that I am aware of, anyway - this project is moving fast) to allow individual tools to inspect application state.


Leetcode Question Number 622

Leetcode Question Number 622 soultion needs to be added in the repo .
The link for the question is this.
Accepted Languages C++ / JAVA .
You Only need to add the  class Solution in the file.
Make Sure you have read the contributions guidelines before creating an PR.

I would like to solve up this


HSEARCH-3248 Restore lenient illegal access checks on the client side of Arquillian during integration tests

https://hibernate.atlassian.net//browse/HSEARCH-3248
Tested locally against JDK 9.0.4: it works.
Note the problem probably also affected JDK11, but I can't test it since other failures happen earlier in the bootstrap process.

Let's hope so. It should get better once we switch to JDK11 as the minimal requirement, but it'll probably be a long time from now...
Merged, thanks!


Logging

Can we roll in the logging or absl.logging modules to better log our debugging print statements? Would help with sharing our log files, and reduce the printed output when not debugging.

Yes, it would be good to have logging statements instead of print statements. For the choice of using absl for logging, it makes sense to add this dependency only if we want to use its unit testing framework as well. Are we considering absl for unit tests as well?

absl is currently required for cluster/multi_gpu_test.py and tests/cli_test.py on the as_landing and automated_multi_instance_refactor branches. I don't think either testing suite requires anything from absl that isn't supported by unittest, so we could just change all references to absl to use unittest equivalents and skip the added dependency until we need additional absl functionality.

@data-hound any update on this?

The code changes with logging statements are in as_logging. But, they have not been tested, yet. Once I test and verify things are working as expected, it will be good to merge.

I have finished testing the as_logging branch using a dannce-predict run


Standardization of yml file extensions + extension for python 3.13

Standardization of yml file extensions + extension for python 3.13

It is only a standardization in the workflow directory. My suggestion would be to do this for the entire project

Thanks, will do


Fix issues & merge PR(if any) for the demos repos

Since we now own them.

Could be a task for Q2 @CaroFG ?


fix: try to load separate images

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 34.066%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
31

Relevant Lines:
91

💛  - Coveralls


matchPath return null without slash before queryString

Version
Latest (4.3.1)
Test Case
https://codesandbox.io/s/04r7m439ww
import { matchPath } from "react-router-dom";

const path = "/path";

const matches = [
  {
    pathname: "/path?foo=bar",
    options: {}
  },
  {
    pathname: "/path/?foo=bar",
    options: {}
  },
  {
    pathname: "/path",
    options: {}
  },
  {
    pathname: "/path/sub?foo=bar",
    options: { exact: true }
  }
];

const result = matches.map(({ pathname, options }) =>
  matchPath(pathname, { path, ...options })
);

console.log(result);

Steps to reproduce
Open console on codesandbox and run script
Expected Behavior
Result: [Object, Object, Object, null]
Actual Behavior
Result: [null, Object, Object, null]

Can we ignore query strings while trying to match?


🌐 Add Turkish translation for docs/features.md

This PR translates features.md to Turkish, and adds a line to docs/tr/mkdocs.yml features.md
afaik pushes and pulls operate at a commit level they won't split them apart so this pull request includes the same commits from #1905 and #1908, but when they get merged this will only merge two commits.
I created the setup for Turkish docs in #1905
I translated index.md to Turkish in #1908
Main issue: #1892

Thanks @ycd! :cookie:
For new PRs, it seems it's better to have an independent PR to avoid conflicts. Thanks for your contribution! :cake:
And thanks for the reviews @BilalAlpaslan and @umitkaanusta! :coffee:


More than 10x slowdown with 1.0.0rc0.

Simple test script:
from time import perf_counter

import plotly.express as px

fig = px.scatter(x=[1, 2, 3], y=[1, 2, 3])

start = perf_counter()
for _ in range(10):
    fig.to_image(format="svg", engine="kaleido")
end = perf_counter()
print(f"{end - start:.02f}")

Time with 0.1.0.post1:  0.95 seconds
Time with 1.0.0rc0: 10.78 seconds

I'm assuming it does something like open a new copy of chrome for each image.
In that case, please include guidance on how to make a persistent instance of chrome to generate multiple images.
Even better, a pool of chrome instances that can be used to render a list of figures.

Yeah, that's the issue. I want to upgrade the API soon and deprecate this one.
@s-banach, are you comfortable using asyncio for the speedup?

Yes!

Alright, give me an hour or two and I"ll write and test a quickstart- it should make its way in to the README as well....

Hey, @s-banach, some news:
Basically the v1.0.0rc0 is the old API for backwards comparability with the new engine-> not great.
kaleido2 will be new api + new engine, I'm going to do it this weekend.
That said, I pushed a branch (https://github.com/plotly/Kaleido/tree/andrew/factor_for_faster) which allows you to run code like this:
  from choreographer import
  import kaleido
  async with Browser() as browser:
    spec = scope.make_spec(fig, format="png") # serializes figure
    binary = await kaleido.to_image_w_browser(spec, browser)
    # something to write the binary to a file, async better

I used a blocking image write but still got 2.5X - it only uses one browser.
You can also wait for kaleido2 if you don't want to use a branch and this and it'll have a nice API, it's going to be a weekend sprint.
Sorry for the delay!


Plugin doesn't work in Pycharm??

Description of the Bug
I tried loading the zip file to plugins area of Pycharm and see below, I get an error:
Screenshots

Versions
Pycharm 2023.2 (Community Edition)

Build #PC-232.8660.197, built on July 26, 2023
Runtime version: 17.0.7+7-b1000.6 aarch64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

I am also facing the same problem.
Did you find a solution?

https://github.com/noembryo/KV4Jetbrains


[WIP] Added validator for rule 1001.

*Need to add more test cases for pass and failure (including cases with missing data, date gaps etc).
*Currently reports an issue in test_integration.py which I don't understand.

This one was tough to get my head around!  I'm sure there must be simpler and shorter ways to get the outcome.

Yikes, proper mind-scrambler of a description on this one - good job! Taking a look now
by the way, as we're now getting very short on time til the big unveiling, I'm thinking it'd be best to prioritise rules that won't have problems with missing past data from until after the launch. The same amount of time spent on ones that definitely work would probably be more impactful this week


feat: deploy API to prod

Summary
Update the Terraform prod plan/apply workflows to deploy and manage the API resources in production.

Will the API image be pushed to AWS after this is deployed to production?
Also, if possible, I would like cds-snc/forms-api#53 to be part of the image we will deploy to production.

I'll be pushing the API as this deploys (after ECR create, before ECS create), so we'll have full control over which image goes up.
My last piece of this work will be to setup the Release Please workflows for the API repo so that we'll be able to trigger our prod releases like with App.


0.22.1-alpha.2 broke testcafe-live

Are you requesting a feature or reporting a bug?
Bug.
What is the current behavior?
Reloading a test doesn't work. Changes are picked up but the test doesn't restart (it gets stuck at Test run is starting...).
What is the expected behavior?
Reloading a test in testcafe-live works.
How would you reproduce the current behavior (if this is a bug)?
Run a test with testcafe-live and press Ctrl-R when it finished.
Specify your

operating system: macOS
testcafe version: 0.22.1-alpha.2
node.js version: v8.12.0

The bug is not present in 0.22.1-alpha.1.
I'm reporting it here since the regression happened in testcafe.

I was able to reproduce the issue only in two cases.

A test does not restart if VSCode (I run tests via integrated terminal) is opened in full screen mode.
If I close the browser and then press Ctrl+R in terminal.
However both these cases are reproducible with the previous TextCafe version. If you able to recreate the issue without any extra conditions, could you please clarify which macOC version you are using? In which browser are you executing the tests? Could you provide a simple test project or screencast that demonstrates the problem?

It seems to be related to the number of tests:

if I place the attached test in demo.ts and run it with testcafe-live firefox demo.ts, reloading works just fine.
if I place the attached test it in tests/demo.ts (where tests contains ~60 other tests, none of which have .only) and run it with testcafe-live firefox tests reload doesn't work.

import { Selector } from 'testcafe';

fixture`Demo`.page('https://joinmastodon.org');

test.only('has get started button', async test => {
    await test.expect(Selector('a').withText('Get started').visible).ok();
});

macOS version: 10.13.0
Firefox version: 62.0.3 (though TestCafe reports it as 62.0.0)

Thank you for providing this information. My attempts to replicate it, however, were unsuccessful. I can confirm that it works really slowly with more than 150 files, but it still does not fail.
I've attached my screencast illustrating my steps. Would you please review it and let me know what steps I need to perform in order to replicate the issue? https://drive.google.com/file/d/1WQlsjNSBOWu5CzC9vEbItFCqejlJVmYY/view?usp=sharing

I can't replicate it anymore 😕 (tested with exactly the same versions). Will close this now, thank you for taking the time to investigate!

Hi @pciavald
Thank you for the detailed description. I've reproduced the problem.


Skeleton structure idea for level methods

Coverage decreased (-18.5%) to 77.193% when pulling 200c12db8b016ba1de672c470835ebcabb033e4f on dev-lev into a40b12e689a0711d072b095ec49795abd585860a on master.


Webhooks and Inheriting Schemas

I've been working on building webhook documentation for our project that uses Open API Spec 3.1 (built using DRF Spectacular).
Background
We have versioned webhooks that follow our API schemas. The idea is simple, if you subscribe to a order.created webhook, we'll send you the same data in a webhook as you would get from calling /api/orders/123/ to retrieve it. Our structure is similar to what you see at stripe.
Webhook structure goes as follows:
{
    "object": "<object>",  // ie order/cart/user etc so you know what type of object
    "data": "<object data>", // object data (the api schema...)
    "event_id": "<unique event id>",
    "event_type": "<event type>", // ie order.created
    "webhook": "<webhook info>",  // basic webhook info
    "api_version": "webhook api version" // schema structure of the data following API
}

The schemas (serializers) for this are powered by DRF serializers which are the base for the all schemas. This has worked wonderfully for us, gives us versioned webhooks and provides an upgrade path following our API schemas and relatively clean/clear consistent architecture with not a lot inconsistency issues.
Attempt to Document Webhooks using Open API Spec 3.1
Initially, I thought I could use the schema of the objects to inherit from the base schemas for the "data", and would be easy, but that's not the case.
Using { "$ref": "#/components/schemas/XYZ } does not actually pull in all of the schema elements. I tried all of the variations but "readOnly" properties don't show and there are many nested schemas that use these.
I've also tried many ways of making a "deep copy" of the base schema and copying it over the webhook, removing "readOnly", etc but just looks like a deeper and deeper rabbit hole of the wrong way to go about this.
First attempt at a webhook schema generator here.
A way to reference a Response schema, or entire schema as readOnly?
It turns out, I actually need a link to the full response format of a schema or just the entire schema and nested schemas as readOnly.
Is that possible or antithetical to core concepts?
Links to our schemas

https://github.com/29next/developer-docs/tree/main/static/api/admin

Any guidance or can see where I might be going wrong?

@alexphelps readOnly was one of the few keywords that changed between 3.0 and 3.1 in order to align with JSON Schema.  In 3.0 it was recommended to strip readOnly: true fields from responses, but this violated the REST principle of GET/modify/PUT cycles and was burdensome for clients.  So in 3.1 readOnly follows the more vague definition in JSON Schema, and 3.1 tools should not strip fields.  It is only an error if you try to change the field's value.
writeOnly fields, of course, do need to be stripped from responses since you're not supposed to be able to read them at all.  The only changes to writeOnly in 3.1 (which also apply to readOnly) is removing the restrictions on how these keywords are used with required.
You might need to file an issue with your tooling provider if it is striping out readOnly fields, as that is incorrect in 3.1.

@handrews thanks for getting back to me. I believe I might need to clarify that we are using Stoplight Elements and readOnly: rue is working correctly for responses of standard requests. In my scenario/question, I'm unable to inherit/reference my core object schemas that use readOnly:true for webhooks because webhooks are post requests which follow the logic you've described.
Scenario with a Cart  that has nested lines and user objects
components:
  schemas:
    Cart:
      properties:
        checkout_url:
          format: uri
          readOnly: true
        lines:
          items:
            $ref: '#/components/schemas/CartLine'
          readOnly: true
          type: array
        user:
          allOf:
          - $ref: '#/components/schemas/User'
          readOnly: true

The rest /carts/ endpoints use the the Cart schema, it works well, the responses are generated correctly.
Using Rest Schemas for Webhooks
For webhooks, I was hoping that I could reference the Cart schema so I wouldn't need to duplicate the Cart schema itself, example below:
webhooks:
  cart.abandoned:
    post:
      description: Triggers when a cart is marked as abandoned.
      requestBody:
        content:
          application/json:
            schema:
              properties:
                data:
                  allOf:
                     $ref: '#/components/schemas/Cart'
                event_id:
                  description: Unique id associated with this webhook event.
                  format:
                  - uuid
                  type:
                  - string
                object:
                  description: Object data type.
                  examples:
                  - cart
                  type:
                  - string
      security: []
      tags:
      - carts
    responses:
      '200':
        description: Return a 200 status to indicate that the data was received successfully.

Issue
What I found is that because webhooks are requests they don't show readOnly: true fields in the generated webhook request examples.
In the example above, the checkout_url is a simple field controlled by backend application that shows in the Cart response. When trying to ref the Cart schema for the webhook, it's expected that checkout_url should show in the webhook request, but it doesn't because it's marked as readOnly: true.
Webhooks Aren't Restful Endpoints
Webhooks are more akin to responses than they are the requests by their very nature. Webhook requests themselves are a different context than restful endpoints because the webhook "receiver" has no control over the request data, webhook receivers are subscribing to the request data instead of providing the request data.
I expect that readOnly: true fields would normally present in webhook requests due to the nature/context of webhooks.
Question
Is it possible to forcefully override and include all readOnly: true fields (and nested readOnly:true) for webhook requests examples?  This would allow the reuse/reference of the core rest endpoint schemas for webhooks.
Or is it expected that we need to create Webhook specific schemas to work around any readOnly:true fields that show in webhooks but aren't able to write to in the restful schemas?
I've written a script that recursively copies nested schemas and removes readOnly: true for webhooks and is working.
However, I'm sure that I'm not alone in wanting to reuse schemas for webhooks and include readOnly: true in webhook examples.

Example script here
Example schemas here (webhooks at bottom)
Working docs here

Looking forward to hear your thoughts. I understand that webhooks are new in OAS 3.1 and expect there will be lots of feedback as more systems document their webhooks with OAS, thanks again.

@alexphelps my apologies again, I mistyped and wrote the opposite of what I meant with requests and responses.  I was also careless distinguishing REST and HTTP.  The correct statement would be:

1n 3.0 it was recommended to strip readOnly: true fields from requests but this violated the HTTP principle of GET/modify/PUT cycles and was burdensome for clients. So in 3.1 readOnly follows the more vague definition in JSON Schema, and 3.1 tools should not strip fields. It is only an error if you try to change the field's value.

So regardless of how we think of webhooks in terms of requests and responses, a compliant 3.1 implementation should never strip readOnly fields.  Validation of read-only / write-only behavior is outside of the schemas, and those fields are just annotations that can inform code that is (unlike JSON Schema) aware of the direction of the operation what it should look for.

@handrews

Validation of read-only / write-only behavior is outside of the schemas, and those fields are just annotations

So, in your mind, all the readOnly: true fields of referenced schemas (and nested schemeas) should actually show in webhook request body samples?
You're suggesting that Stoplight has an issue with webhooks here?

@alexphelps it's not just "in my mind," it's a topic that we spent a great deal of effort on in the last stages of deciding how to handle readOnly, writeOnly, and JSON Schema compatibility in OAS 3.1.  It was one of the thorniest issues and generated a lot of discussion and debate.  It even got a mention in the 3.1 RC0 announcement, with a link to the longest discussion issue (which I don't recommend reading as it goes through many tangents and it's hard to see what we decided - the rest of the conversations happened in weekly calls.)
That said, the nature of the requirements in this area make it hard to say absolute things like "Stoplight is wrong on this."  The formal requirements in this area, for both 3.0 and 3.1, are SHOULDs and MAYs, and not MUSTs.

3.0 had SHOULDs around stripping readOnly and writeOnly fields in various directions (the parts about interactions withe required don't have normative language at all, and just way that things "will" be done)
We removed all of that in 3.1, which doesn't mention readOnly or writeOnly anywhere, at all
For 3.1, it's JSON Schema draft 2020-12 that governs those keywords, which (for readOnly) says "attempts by an application to modify the value of this property are expected to be ignored or rejected by that owning authority", which also lacks normative requirement wording, but the key part is that "attempts... to modify" are what matter here

I could go into a lot more detail slogging through RFC 9110's sections on the PUT method and more generally on resource semantics.  But the upshot is:

whether any particular API uses it or not, the GET/modify/PUT HTTP pattern ought to be describable in any spec that describes HTTP APIs
PUT-ing (or writing with any other HTTP method) a field only runs afoul of readOnly if it is a modification, not just because it is there
for many resource designs, stripping a field from a PUT request is interpreted as a deletion of the field, so tools that always do that for readOnly are significantly limiting resource design - as you have discovered with your webhooks

So... is Stoplight "wrong"?  Well, there are no normative mandatory requirements of which I'm aware that it is violating.  So in that sense, no.  But there is guidance that it is contradicting, and that guidance was provided in the context of the 3.1 change (many changes in JSON Schema 2019-09 and 2020-12, including, IIRC, a rewording of the readOnly/writeOnly text, were driven by the OAS 3.1 process).  So in that sense, yes, it's disregarding guidance and limiting what sort of resource design can be used with its tooling.

@handrews thanks for your detailed thoughts and context on the history of spec changes as OAS iterates forward.
At this time, I was able to create a working solution to my webhook documentation issue by copying/modifying the source schemas while generating the webhook request specs.
Will circle back and see how this changes as the tools we're using (DRF Spectacular and Stoplight Elements) continue updating.

@handrews sorry to refloat this thread but we've been having an interesting discussion over in:

https://github.com/tfranzel/drf-spectacular/issues/1280

For more context please see the issue I opened in SwaggerUI where I link multiple issues describing this confusion across different tools:

https://github.com/swagger-api/swagger-ui/issues/10114

First of all, thanks for breaking down the history and complexity of readOnly and writeOnly properties in OpenAPI. It's clear a lot of thought went into balancing flexibility and standardization.
I get the value of flexibility, but I've found it creates some real headaches when it comes to webhooks. Different tools interpreting these properties in their own way leads to inconsistent (and sometimes flat-out misleading) API docs.
Webhooks are a bit of a special child - many agree that the data flow should be flipped compared to regular endpoints. The current specs don't really address this, which leaves everyone guessing how to handle webhook payloads. This does not happen on normal API specs due to everyone being clearly aware of how GET and POST requests work.
An example:

3 UIs - 2 interpretations.

SwaggerUI: webhook request as WRITE
Redoc: webhook request as READ
Stoplight Elements: webhook request as WRITE

I'm not advocating for super rigid standards across the board, but I think webhooks could really benefit from some clearer guidelines. Maybe something like:

Some specific recommendations for dealing with readOnly and writeOnly in webhook contexts.
A new property that flags the direction of data flow, so tools can be adjusted accordingly.
Some best practices for documenting webhook payloads to keep things clear for API users.

This kind of guidance could help tool developers such as those over SwaggerUi, Redoc, etc., get on the same page, which would prevent confusion. It'd keep things flexible where needed, while solving this specific webhook documentation puzzle.
Would it be possible to add some webhook-specific guidance in the next round of OpenAPI specs, or maybe in a supplementary best practices doc? Though I'm no expert, I'd be happy to contribute to the discussion if that's helpful.

@handrews This standard webhooks doc is a good read.
I too believe it's time for more formalized "webhook best practices" that are reinforced by tooling (ie open api spec and renderers).
At this time, I've settled on a custom tool that generates the webhook payloads for the open api spec docs used in our public documentation (docusaurus + stoplight), see here.

@alexphelps Since webhooks are only part of OAS 3.1 (when used in 3.0, they are an extension and therefore not controlled by us), there's not but so much to say here.  The only thing that seems unusual is the confusion over read/write direction, but I don't really understand that because whichever side receives HTTP requests and sends HTTP responses (regardless of whether those requests and responses are considered part of a webhook) is the owner of the resource per the HTTP RFCs.
Read and write are always relative to the resource owner, so that tells you the direction.
I'm really not sure what we should do here.  It seems to me like existing standards (JSON Schema, HTTP) cover this.  It doesn't really have anything to do with OAS proper (e.g. everything except JSON Schema)

@handrews Sorry, I mean't to reply to @dontic
I agree, this is probably no action at this time. The REST object schema re-use structure that @dontic and I are aiming for I believe is a higher level than just pure HTTP. Just like HTTP APIs weren't always "Restful" like we tend to think of them today, webhooks are still in their infancy in terms of standardization. I'm on a project that is integrating with a large fintech platform with  webhooks that:

settings toggle data prodvided in webhooks
webhooks for objects/events that don't have accompanying restful GET methods

It's quite a differen't experience than building on top of Stripe who has great webhooks.
Zapier coined the term "Rest Hooks" years ago that I believe are more akin to what we're aiming for with the reuse of schemas across both restful http endpoints and webhook events.

@alexphelps got it, thanks!  The underlying problem here is that JSON Schema was not really designed with HTTP-aware validation in mind, so any choice we make here will be somewhat sub-optimal because of that.


Further improvements to caching

Cache does not seem to be re-accessed on page reload--fix this
Some of the other intensive operations could be cached (e.g., heatmap generation)

Cache does not seem to be re-accessed on page reload--fix this

This is because the cache has a default timeout of 300 s. So after five minutes, new cache is generated.
We can probably set this much higher. There is already a cache threshold that will stop the cache from becoming overloaded.

Closing this because it seems that generating the heatmap data is not the intensive operation: rendering it is. Caching fixes nothing.


tests/subsys/settings/functional: make common code a zephyr_library()

Stops leaking very long source paths in build directories; makes them
deterministic.
Besides satisfying a CMake requirement, the new empty_file.c provide a
clue that the actual test code is not in the directory of the test case.
See https://github.com/zephyrproject-rtos/hal_nordic/pull/6 and
https://gitlab.kitware.com/cmake/cmake/issues/19475 for more details.

Test with a simple:

sanitycheck -T $ZEPHYR_BASE/tests/subsys/settings/functional/

Before:

CMakeFiles
├── app.dir
│   ├── HOME
│   │   └── JOHN
│   │       └── zephyrproject
│   │           └── zephyr
│   │               └── tests
│   │                   └── subsys
│   │                       └── settings
│   │                           └── functional
│   │                               └── src
│   │                                   └── settings_basic_test.c.obj

After:

func_test_bindir/
├── CMakeFiles
│   └── settings_func_test.dir
│       └── settings_basic_test.c.obj
│
├── libsettings_func_test.a

Signed-off-by: Marc Herbert<EMAIL_ADDRESS>

This fixes only tests/subsys/settings/functional and nothing else in tests/subsys/settings.
I have a bigger, WIP series in my workspace that fixes everything in tests/subsys/settings/ with the same approach. However the (CMake) structure of tests/subsys/settings/ is a maze that takes me at least 1/2h to wrap my head around every time. To avoid losing reviewers too in this maze (and duplication) let's focus on this much smaller, self-contained subset first. Will replicate the same approach elsewhere if/when this is merged.
For a complete record, this issue was also mentioned briefly in PR #18891

ninja -j1 doesn't fail, it seems "lucky" enough to build in some order that avoids the issue.
However ninja settings_func_test fails with the same error than make settings_func_test above.

I have a bigger, WIP series in my workspace that fixes everything in tests/subsys/settings/ with the same approach. [...] To avoid losing reviewers too in this maze (and duplication) let's focus on this much smaller, self-contained subset first. Will replicate the same approach elsewhere if/when this is merged.

Completed in PR #19671


Docker 1.6 not mount shared folder in Ubuntu cloud

The issue is originally reported here: https://meta.discourse.org/t/shared-folder-not-mounted-in-docker-container/30077 (I'm using Docker to deploy Discourse).
More info:
$ docker info
Containers: 1
Images: 13
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 15
 Dirperm1 Supported: false
Execution Driver: native-0.2
Kernel Version: 3.5.0-52-generic
Operating System: Ubuntu precise (12.04.4 LTS)
CPUs: 8
Total Memory: 31.38 GiB
Name: prodhk
ID: 4YHL:Z2JQ:OA4M:754G:WUYA:W5ZW:KZZU:L4FH:KRDW:HVQT:P77X:G4TF

$ docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
local_discourse/app    latest              6a3adde35fe5        3 days ago          1.773 GB
samsaffron/discourse   1.0.12              2285ff53ab18        2 weeks ago         1.217 GB
samsaffron/discourse   1.0.11              ef8d4f405f84        9 weeks ago         1.167 GB

The permission detail of the folder in host which we want to mount:
$ ll -h /var/discourse/shared/standalone
total 40K
drwxr-xr-x 10 root       root      4.0K Mei  28 02:45 ./
drwxr-xr-x  3 root       root      4.0K Mei  28 01:47 ../
drwxr-xr-x  2 banana_root  www-data  4.0K Mei  28 01:47 backups/
drwxr-xr-x  4 root       root      4.0K Mei  28 01:47 log/
drwxr-xr-x  2 messagebus ssh       4.0K Mei  28 01:47 postgres_backup/
drwx------ 15 messagebus ssh       4.0K Jun  17 00:01 postgres_data/
drwxrwxr-x  3 messagebus ssh       4.0K Jun  17 00:01 postgres_run/
drwxr-xr-x  2 sshd       bluetooth 4.0K Jun  17 22:36 redis_data/
drwxr-xr-x  4 root       root      4.0K Mei  28 02:45 state/
drwxr-xr-x  3 banana_root  www-data  4.0K Mei  28 02:45 uploads/

When I launch the container, I run the Discourse-provided command ./launch start app, under user banana_dev, from this folder:
$ ll -h
total 76K
drwxr-xr-x 11 banana_dev banana_dev 4.0K Jun  16 23:47 ./
drwxrwxr-x  3 banana_dev banana_dev 4.0K Jun  16 04:20 ../
drwxrwxr-x  2 banana_dev banana_dev 4.0K Mei  28 01:29 bin/
drwxrwxr-x  2 banana_dev banana_dev 4.0K Jun  14 21:32 cids/
drwxrwxr-x  2 banana_dev banana_dev 4.0K Jun  16 05:16 containers/
drwxrwxr-x  8 banana_dev banana_dev 4.0K Mei  28 01:29 .git/
-rw-rw-r--  1 banana_dev banana_dev   83 Mei  28 01:29 .gitignore
drwxrwxr-x 14 banana_dev banana_dev 4.0K Mei  28 01:29 image/
-rwxrwxr-x  1 banana_dev banana_dev  17K Mei  28 01:29 launcher*
-rw-rw-r--  1 banana_dev banana_dev 7.9K Mei  28 01:29 README.md
drwxrwxr-x  2 banana_dev banana_dev 4.0K Mei  28 02:53 samples/
drwxrwxr-x  2 banana_dev banana_dev 4.0K Mei  28 01:29 scripts/
drwxrwxr-x  2 banana_dev banana_dev 4.0K Mei  28 01:29 shared/
drwxrwxr-x  2 banana_dev banana_dev 4.0K Mei  28 02:51 templates/

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

I really don't understand your issue.
Can you provide the docker commands you are running, what you expect to see, and what you are actually seeing?
Also a minimal repro case (ie, not firing up discourse), would be super helpful.

Hi, I'm closing this. I didn't use directly docker commands, but used Discourse-provided commands (to start the container and to enter the container).
The phenomenon of not mounting only occurs if I enter the container via Discourse's ./launcher enter app. Everything is fine if I enter via ./launcher ssh app. So this is Discourse problem, not Docker. Difference between the two:
``
$ ./launcher --help
Usage: launcher COMMAND CONFIG [--skip-prereqs]
Commands:
start:      Start/initialize a container
stop:       Stop a running container
restart:    Restart a container
destroy:    Stop and remove a container
enter:      Use nsenter to enter a container
ssh:        Start a bash shell in a running container
logs:       Docker logs for container
mailtest:   Test the mail settings in a container
bootstrap:  Bootstrap a container for the config based on a template
rebuild:    Rebuild a container (destroy old, bootstrap, start new)
cleanup:    Remove all containers that have stopped for > 24 hours
Options:
--skip-prereqs   Don't check prerequisites
--docker-args    Extra arguments to pass when running docker

Thanks for your patient.


Small numbers in path commands can fail

The following path commands fail.
doc.moveTo(100, 100)
   .lineTo(1e-15, 1e-15)
   .stroke("#000");

This is because JavaScript is formatting the numbers as 1e-15, and this notation is not supported by Section 7.3.3. of the PDF specification
There may also not be a completely straight-forward fix, as Number.ptototype.toFixed will still return exponential for values greater than 1e21 (spec).

Just noticed there is code for this. We must be using an old version!


[Security] Bump fast-xml-parser require from ^4.1.3 to ^4.2.4

Apparently fast-xml-parser has a security vulnerability (https://github.com/advisories/GHSA-6w63-h3fj-q4vw) below version 4.2.4. Thus, I'm proposing we bump the minimum required version from 4.1.3 to 4.2.4.

Hmm, getting some seemingly comment linting related error in npm test.
TypeError: Cannot read property 'getAllComments' of undefined
Occurred while linting /home/runner/work/is-svg/is-svg/index.js:1
Rule: "unicorn/expiring-todo-comments"
    at Object.Program (/home/runner/work/is-svg/is-svg/node_modules/eslint/lib/rules/no-warning-comments.js:1[9](https://github.com/sindresorhus/is-svg/actions/runs/5195611012/jobs/9368506902?pr=36#step:5:10)3:45)

https://github.com/sindresorhus/is-svg/actions/runs/5195611012/jobs/9368506842?pr=36

Ah, looks like the issue is with an outdated version of the eslint-plugin-unicorn plugin. With an older version of that plug plus xo plus eslint 8.40.0, linting blows up.

https://github.com/xojs/xo/issues/718
https://github.com/eslint/eslint/issues/17167#issuecomment-1539088097

Opened up a PR on xo to bump eslint-plugin-unicorn.

https://github.com/xojs/xo/pull/720

Apparently one can bump fast-xml-parser to 4.2.4 even with the ^4.1.3 requirement. Wasn't aware the ^ allows patch and minor version updates. Neat 👍

Closed this, though I do think an explicit requirement of the secure version i.e. ^4.2.4 would be an improvement.


No macOS compilation available for cu113

Describe the bug
There doesn't seem to be valid path to installing torch + CUDA on macOS, despite the repo generally seeming to have code snippets specifically for supporting macOS.
To Reproduce
Steps to reproduce the behavior:

On the following step from the main README.md instructions, when run on macOS, gives this error:
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 -f https://download.pytorch.org/whl/torch_stable.html

ERROR: Could not find a version that satisfies the requirement torch==1.12.1+cu113 (from versions: 1.4.0, 1.5.0, 1.5.1, 1.6.0, 1.7.0, 1.7.1, 1.8.0, 1.8.1, 1.9.0, 1.9.1, 1.10.0, 1.10.1, 1.10.2, 1.11.0, 1.12.0, 1.12.1, 1.13.0, 1.13.1)
ERROR: No matching distribution found for torch==1.12.1+cu113

Additional context
From the stable list, these are the available compilations of cu113 torch, notice that only linux and windows is available:
cu113/torch-1.12.0%2Bcu113-cp310-cp310-linux_x86_64.whl
cu113/torch-1.12.0%2Bcu113-cp310-cp310-win_amd64.whl
cu113/torch-1.12.0%2Bcu113-cp37-cp37m-linux_x86_64.whl
cu113/torch-1.12.0%2Bcu113-cp37-cp37m-win_amd64.whl
cu113/torch-1.12.0%2Bcu113-cp38-cp38-linux_x86_64.whl
cu113/torch-1.12.0%2Bcu113-cp38-cp38-win_amd64.whl
cu113/torch-1.12.0%2Bcu113-cp39-cp39-linux_x86_64.whl
cu113/torch-1.12.0%2Bcu113-cp39-cp39-win_amd64.whl
cu113/torch-1.12.1%2Bcu113-cp310-cp310-linux_x86_64.whl
cu113/torch-1.12.1%2Bcu113-cp310-cp310-win_amd64.whl
cu113/torch-1.12.1%2Bcu113-cp37-cp37m-linux_x86_64.whl
cu113/torch-1.12.1%2Bcu113-cp37-cp37m-win_amd64.whl
cu113/torch-1.12.1%2Bcu113-cp38-cp38-linux_x86_64.whl
cu113/torch-1.12.1%2Bcu113-cp38-cp38-win_amd64.whl
cu113/torch-1.12.1%2Bcu113-cp39-cp39-linux_x86_64.whl
cu113/torch-1.12.1%2Bcu113-cp39-cp39-win_amd64.whl

Expected behavior
The README.md should either correctly support macOS installation, or otherwise indicate that macOS is not supported.

Nerfstudio requires CUDA which is provided with Nvidia GPUs. Most mac systems do no have nvidia GPUs and will therefore not work.

@tancik Is the CUDA requirement because of a dependency to pytorch only?
The reason I ask, is that it would be nice to be able to use Nerf studio on macOS (Apple silicon). And if the CUDA requirement is only because of pytorch, I am motivated to try to make a PR for Apple silicon mac compatability, for example using this approach: https://towardsdatascience.com/installing-pytorch-on-apple-m1-chip-with-gpu-acceleration-3351dc44d67c

@eirikwah it's more than just PyTorch: the recommended nerfacto model depends on tiny-cuda-nn, which (as the name suggests) only supports CUDA. Some other models rely on nerfacc, which is also CUDA-only.
As of #1936 you should, however, be able to get a slower version of the model running on non-CUDA torch installations via
the --pipeline.model.implementation torch argument.


swaylock-fancy

Project description
Port of i3lock-fancy to swaylock, which takes a screenshot of the desktop, blurs the background and adds a lock icon and text
Metadata

homepage URL: https://github.com/Big-B/swaylock-fancy
source URL: https://github.com/Big-B/swaylock-fancy
license: mit https://github.com/Big-B/swaylock-fancy/blob/master/LICENSE
platforms: linux

Nice, didn't know about that fork! :)
Just added the package to master, in a few days it should be available on nixos-unstable :)

It's actually not working, can't build it
installing 'swaylock-fancy-unstable-2019-03-31'
these derivations will be built:
  /nix/store/rcjqja6g7ndwy261r3z743s28w2lripp-source.drv
  /nix/store/i5h8w2rfq039212d1ayn41m9jiyamfli-swaylock-fancy-unstable-2019-03-31.drv
building '/nix/store/rcjqja6g7ndwy261r3z743s28w2lripp-source.drv'...

trying https://github.com/Big-B/swaylock-fancy-unstable/archive/35618ceec70338047355b6b057825e68f16971b5.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
curl: (22) The requested URL returned error: 404 Not Found
error: cannot download source from any mirror
builder for '/nix/store/rcjqja6g7ndwy261r3z743s28w2lripp-source.drv' failed with exit code 1
cannot build derivation '/nix/store/i5h8w2rfq039212d1ayn41m9jiyamfli-swaylock-fancy-unstable-2019-03-31.drv': 1 dependencies couldn't be built
error: build of '/nix/store/i5h8w2rfq039212d1ayn41m9jiyamfli-swaylock-fancy-unstable-2019-03-31.drv' failed

Ouch, sorry! Fixed in ec2ed2d316d850061ffa75a43f487928b0d7e7c3.


Update some flow graph optimization routines for LIR.

And add a bit of post-lower verification targeted at finding unlowered calls.

@BruceForstall PTAL

Some of the feedback here is getting at something that I've been thinking about for the last day or so: it might actually be good to have distinct types to represent ranges and subranges. The behavior in each case may be different enough to warrant this change. I will not make such a change with this PR in the interest of time, but I will think about it a bit more.

LGTM


Add a setting to prevent viewlet toggling when using keyboard shortcut

VSCode Version: 1.4.0
OS Version: OS X 10.11.6

Right now, the keyboard shortcut for Find Across Files (cmd+shift+F) functions as a toggle (even though the command name is just 'workbench.view.search'). If you are not focused on the search pane, hitting the combo will open it and focus there. Otherwise, it will restore the focus to previous area.
I find this incredibly awkward because I want the keyboard shortcut to always bring me to Search Across Files, rather than sometimes bringing me away from there if that's where my focus already happens to be and I don't notice. Frequently, I assume the focus is in a text pane (the visual distinction is not terribly obvious) and hit cmd+shift+F, and begin typing but because the focus was actually already in the search box, I just ended up toggling back to the editor and entering a bunch of text that I didn't want to enter. It's worse if I happen to have something selected.
It's conceivable that this toggling behavior is helpful to some people sometimes but it would be nice to at least have the option of disabling it. I attempted to override keyboard shortcuts so that cmd+shift+f only worked when: "editorTextFocus" but it had no effect.

If we add an option it should work for all the viewlet shortcuts.

This feature request will not be considered in the next 6-12 months roadmap and as such will be closed to keep the number of issues we have to maintain actionable. Thanks for understanding and happy coding!


Added snap.manifest.json specification

Note this SIP is instantly marked as Final since the specification is already in use


Is Facebook Login Implemented?

I was taking a look on how to implement Facebook Login with Parse and found out that ParseFacebookUtils is not presented in the project and found no implementation what so ever of it. Is it implemented?

No, the facebook utils are no longer part of the master branch.
If you want to check them out you would need to dig in past commits (e.g. those made for version 1.7 or earlier).

In my case, i’ve already implemented the Facebook login with the Xamarin.Auth package, after I sign up with the Facebook account, how do I link it with a new parse user? Because when i create a new parse user i need to provide a password as well, in the facebook case it is not needed. My question is the same for when I log in with Facebook, how do I log in with Facebook without the ParseUser password

And in this 2.0 pre-release, are Push Notifications now implemented?

I will address the lack of ParseFacebookUtils soon.

@TobiasPott Where did the 1.8.0 branch go? I needed that for reference. Release 1.7.0 contains the source for that release obviously, but the 1.8.0 branch had some extra changes in it that the previous maintainers were working on. Would prefer to have that in a "old-codebase" branch or something if you still have access to a copy. The source I currently have access to will do fine for now though. Will implement a login utilities file soon as well as live query.

And in this 2.0 pre-release, are Push Notifications now implemented?

The infrastructure does exist but I have no idea if it works or is usable; will have to test.

Just to be clear, any OS-or-platform-specific code is not present in the current codebase. Will have to add this back in some form later.

@TheFanatr I'll try to give it a go during this week and check how to get access to the facebook SDK and an environment for testing it.

@TheFanatr I've pushed the 1.8.0 legacy codebase to https://github.com/parse-community/Parse-SDK-dotNET/tree/legacy-codebase/1.8.0
I've also added 1.7.0 as a separate branch according to its tag in the history (I cannot resemble whether or not any later commit got into the actual version 1.7.0 release on nuget).

@TobiasPott Perfect! No worries; I was using 1.8 as a reference because it was to be a fallback for the master branch if for some reason the Parse admins decided to revert the initial 2.0 refactor, so I assumed it was the best branch to base off of. Also, I believe the old maintainers had started or continued a modularization effort in it before it went stale, so it's a better source of code to take back over into master when needed, as issues from 1.7 could have been fixed.

Could you elaborate which the latest .NET 5 version needs to be installed?

The latest preview of .NET 5 can be found on the .NET website by clicking on the link to the installer or binaries for your platform under the latest version listed.

Is it required specific for the facebook auth option or due to other changes you made to develop?

It is due to the use of C# 9 features in the added and modified code. It at least needs the latest .NET Core CLI.

Thank you for the quick response.
I understand why to choose the upcoming .NET 5 to access newer C# features and I'm torn between using new features and limiting the SDK to a lower feature level to maintain compatibility with Unity (they lack far behind regarding C# feature level or the .NET version).
I would like to discuss as we would reduce the use of the .NET SDK with latest .NET and C# features to standard .NET applications or Xamarin and kick out any use in Unity unless they add support for .NET 5.
I couldn't find any specific roadmap from Unity on this but they point out that they only start working on it after the official release (https://forum.unity.com/threads/net-5-support.839890/) unfortunately.

Well, all official .NET platforms will support .NET 5 including Xamarin, but so long as the SDK is kept at .NET Standard 2.0, which it still is, any compiled binary will still be compatible with Unity. The .NET 5 SDK is only needed for builds as it bundles the latest version of the C# compilation tooling.

I want to upgrade to .NET Standard 2.1 so I can use System.Text.Json and Span<T> without needing to reference the compatibility shim packages for them. This would allow for faster processing, and potentially using a fast Span<T>-based web socket library if an applicable one exists. What I might do is reluctantly fall into a similar trap the previous maintainers fell into with making slightly differing versions to support different target frameworks. To be clear these wouldn't be separate versions completely, just would have better implementations of things where available, and I think it would be more acceptable than before because it's not for every platform, it's just effectively the default (.NET X) implementation, then the Unity one, where those two would only be different if some improvement is made possible by .NET X but is unavailable on Unity's latest supported .NET target.

Ah yes, thank you for the clarification I overread/misinterpreted it not changing the SDK to .NET 5 but only require the SDK installed for toolchain changes.
Sorry for the mishap on my side.

Hello @TobiasPott @TheFanatr Getting the error below:
Using Xamarin.Forms Standard 2.0 - Code in App.xaml.cs, called in "public App(){}"
Question: Getting "Null References Errors". Am I setting this up wrong?
`ServerConnectionData serverConnectionData = new ServerConnectionData
{
ApplicationID = Const.Parse_App_ID,
ServerURI = Const.Parse_Server,
Key = Const.DOT_NET_KEY
};
ServiceHub serviceHub = null;
// Initialize FB Parse Login
//var facebook = new FacebookAuthenticationMutator { Caller = Const.FB_App_ID };
        ParseClient parseClient = new ParseClient(serverConnectionData);
        //parseClient = new ParseClient(serverConnectionData, serviceHub, facebook);
        parseClient.Publicize();
        parseClient = ParseClient.Instance;

        //Register Installation to Parse
        ParseInstallation parseInstall = new ParseInstallation();
        parseInstall = parseClient.GetCurrentInstallation();
        parseInstall.SaveAsync().GetAwaiter();`

at Parse.Infrastructure.HostManifestData.get_Inferred () [0x00000] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Infrastructure/HostManifestData.cs:23
at Parse.Infrastructure.ServiceHub+<>c.<get_MetadataController>b__8_0 () [0x00000] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Infrastructure/ServiceHub.cs:40
at Parse.Infrastructure.Utilities.LateInitializer.GetValue[TData] (System.Func1[TResult] generator) [0x00067] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Infrastructure/Utilities/LateInitializer.cs:24    at Parse.Infrastructure.ServiceHub.get_MetadataController () [0x00000] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Infrastructure/ServiceHub.cs:40    at Parse.Abstractions.Infrastructure.CustomServiceHub.get_MetadataController () [0x00000] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Abstractions/Infrastructure/CustomServiceHub.cs:22    at Parse.ParseInstallation.SaveAsync (System.Threading.Tasks.Task toAwait, System.Threading.CancellationToken cancellationToken) [0x00037] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Platform/Installations/ParseInstallation.cs:198    at Parse.ParseObject+<>c__DisplayClass91_0.<SaveAsync>b__0 (System.Threading.Tasks.Task toAwait) [0x00000] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Platform/Objects/ParseObject.cs:573    at Parse.Infrastructure.Utilities.TaskQueue.Enqueue[T] (System.Func2[T,TResult] taskStart, System.Threading.CancellationToken cancellationToken) [0x00025] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Infrastructure/Utilities/TaskQueue.cs:62
at Parse.ParseObject.SaveAsync (System.Threading.CancellationToken cancellationToken) [0x00014] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/External_Libraries/parse-community/Parse-SDK-dotNET/Parse/Platform/Objects/ParseObject.cs:573
at CheapFuel.App..ctor () [0x0006f] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/CheapFuel/CheapFuel/CheapFuel/App.xaml.cs:98
at CheapFuel.iOS.AppDelegate.FinishedLaunching (UIKit.UIApplication app, Foundation.NSDictionary launchOptions) [0x0009a] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/CheapFuel/CheapFuel/CheapFuel.iOS/AppDelegate.cs:86
at (wrapper managed-to-native) UIKit.UIApplication.UIApplicationMain(int,string[],intptr,intptr)
at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:86
at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x0000e] in /Library/Frameworks/Xamarin.iOS.framework/Versions/<IP_ADDRESS>/src/Xamarin.iOS/UIKit/UIApplication.cs:65
at CheapFuel.iOS.Application.Main (System.String[] args) [0x00001] in /Users/adesegunadesegun/Documents/1. Work/5.4 Xamarin/CheapFuel/CheapFuel/CheapFuel.iOS/Main.cs:17


add actual for invalid_string error in .regex()

it would be nice to see the actual value when a regex doesn't match rather than having to look at the full object value for the schema that didn't parse
any objections to adding something like this?

I second this notion. We had to simulate .regex() via .transform() to explicitly make sure the error code revealed the received string:
const iso9075Pattern = /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/;

const z_iso9075ToDate = z.string().transform((givenSubject, currentContext) => {
  const dateInISO9075Format = iso9075Pattern.test(givenSubject)
    ? givenSubject
    : null;

  if (dateInISO9075Format === null) {
    // 2024-Jun-10: Some users have devices giving date strings with some other format
    // 2024-Jun-10: `.regex()` was not revealing invalid string
    currentContext.addIssue({
      validation: 'regex',
      code: 'invalid_string',
      message: `Invalid ISO 9075 Date: ${givenSubject}`,
    });

    return z.NEVER;
  }

  const dateInISO8601Format = dateInISO9075Format.replace(' ', 'T');
  return new Date(dateInISO8601Format);
});

@bjacobgordon there's an error in your code btw, if a user passed an invalid date you'd blindly consume it you can check for this as follows: ```new Date('0000-25').toString() === 'Invalid Date'`

@bjacobgordon there's an error in your code btw, if a user passed an invalid date you'd blindly consume it you can check for this as follows: new Date('0000-25-10 00:00:00').toString() === 'Invalid Date'

Thanks, you taught me something! Edited post above, feel free to delete my (and your?) reply if you'd like to keep this issue tidy. 👍

@bjacobgordon me personally, I don't think your problem overlaps with the ask in my initial issue. I don't have the ability to remove your comments, only you or the maintainers do.
and for what its worth, this is how I would of written your schema:
import { z } from "zod";

const z_iso9075DateTimeToDate = z
  .string()
  .regex(/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/)
  .transform(
    (dateInISO9075Format) => new Date(dateInISO9075Format.replace(" ", "T")),
  )
  .refine((date) => String(date) !== "Invalid Date", "Invalid Date");

const dateInISO9075Format = "2021-01-01 00:00:00";
const date = z_iso9075DateTimeToDate.parse(dateInISO9075Format);
console.log(date); // 2021-01-01T00:00:00.000Z


Conference Not Creating

I am making a call and asking to choose 1 to talk to other person. If the user press 1 I am creating  a conference and making another call to the next user with machine detection.
The problem is the conference is not being creating at first with the user in it. Here is the function I have.

public function connect_call_lead(Request $request)
    {

        $response = new LaML();
        if ($request->input('Digits')==1) {
           $cfnm="someuniquename";
            $dial->conference($cfnm);   //conference is not creating here
            header('Content-Type: text/xml');
            echo $response;
            $client = new SignalWire(config('app.sig_pro'), config('app.sig_token'));
            try {
                    $call = $client->calls->create(
                    $request->input('leadphone'),
                    $request->input('signal_phone'),
                    array("url" => config('app.url')."/ConnectCallPeople?cfnm=".$cfnm,
                    "MachineDetection" => "Enable",
                    "MachineDetectionTimeout" => "20",
                     "statusCallbackMethod" => "POST",
                      "statusCallback" => config('app.url')."s2l/getCallOutcome",
                      "statusCallbackEvent" => array(
                          "completed"
                        )
                    )
                );
            } catch (Exception $e) {

            }
        } else {
            $response->hangup();
            header('Content-Type: text/xml');
            echo $response;
        }
    }

Function if the call is answered
public function ConnectCallPeople(Request $request)
    {

        $response = new LaML();
        if ($request->input('AnsweredBy')==='human') {
            $dial = $response->dial();
         $dial->conference( $request->input('cfnm'), array(
            'startConferenceOnEnter' => True,
            'endConferenceOnExit' => True
            ));

        header('Content-Type: text/xml');
        echo $response;
        }else{
            //do something else
        }

    }

Hello, are you by chance missing initializing the $dial object first? What is the generated LaML you get?

It was creating the conference , but as  the MachineDetection is not working . Its not putting the second call in the conference.
I checked my logs and it doesn't have "AnsweredBy" param in the request.

The MachineDetection param appeared in our docs, but MachineDetection is currently not supported yet. However, it is on the roadmap and we should see it functioning in the near future. Apologies for the confusion.


Fix #1858

Fix #1858 due to duplicated removal from context's module mapping.
Modules are owned by a context.  The only way to explicitly remove them are to call Module.unload, which internally calls Context.unload_module or reset the context through Context.reset.  Only these methods needs to clear the module mapping inside a context.

I assume we can't add a unit test to verify correct behavior, since the problem is extremely specific to certain installations?

@seibert , right, the bug cannot be reproduced consistently for me.

OK, going to merge this then.


Automated cherry pick of #5242: fix: 避免根磁盘小于镜像大小导致创建失败

Cherry pick of #5242 on release/2.13.
#5242: fix: 避免根磁盘小于镜像大小导致创建失败

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/2.13@f95e017). Click here to learn what that means.
The diff coverage is n/a.

@@              Coverage Diff               @@
##             release/2.13   #5245   +/-   ##
==============================================
  Coverage                ?   6.81%
==============================================
  Files                   ?     530
  Lines                   ?   90015
  Branches                ?       0
==============================================
  Hits                    ?    6137
  Misses                  ?   83370
  Partials                ?     508

Flag
Coverage Δ

#aFlag
6.81% <ø> (?)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f95e017...49af630. Read the comment docs.

/lgtm

/approve

/approve


Update Database, Quiz and Forum

#10 #16 #17 #21 #25 #36
Database design and Quiz & Forum functionality updated to reflect what was discussed on 12 June. Some testing was done to see Quiz and Forum features working.

Topic, Proficiency, Quiz, QuestionQuiz tables added to database.
Topic property added to Proficiency, Question

Regarding forum post maximum being 1024 characters and difference between using String and Text in SQLAlchemy, which correspond to VARCHAR and TEXT in SQL, it depends on type of user input. Correspondingly, Post.content will be changed from String to Text.


Fully-specify namespaces in code referenced from OryolMain

Allow people to avoid "using namespace Oryol;". Looks like this was the intent and some spots were missed?

Indeed, these are oversights, headers should also work if no "using namespace Oryol" is used, thanks for the fix!


Integrate WSO2 GPL Features and geodashboard in Wso2 iot

Hello,
It will be helpfull and good if geodashboard is integrated in Wso2iot directly:

Extension: https://docs.wso2.com/display/DAS310/Installing+WSO2+GPL+Features
GPL - Siddhi Eval Script Extension
GPL - Siddhi Geo Extension
GPL - Siddhi NLP Extension
GPL - Siddhi PMML Extension
GPL - Siddhi R Extension

Geodashboard: https://docs.wso2.com/display/DAS310/Geo+Dashboard

Regards,
Ibrahim

Hello,
Hope that I will be the first to test ASAP.
Regards,
Ibrahim

Thanks


Plumb cli flag for tftp-single-port through to config:

Description

The cli flag wasn't being honored.
Why is this needed

Fixes: #
How Has This Been Tested?

How are existing users impacted? What migration steps/scripts do we need?

Checklist:
I have:

[ ] updated the documentation and/or roadmap (if required)
[ ] added unit or e2e tests
[ ] provided instructions on how to upgrade

Hey @nshalman , @Raj-Dharwadkar, gentle ping. Just wanted to get this on your radar, if/when you happen to have cycles. Thank you!


Feature scale factor

New Pull Request Checklist

[x] I have read and understood the CONTRIBUTING guide

[x] I have read the Documentation

[x] I have searched for a similar pull request in the project and found none

[x] I have updated this branch with the latest master to avoid conflicts (via merge from master or rebase)

[x] I have added the required tests to prove the fix/feature I am adding

[x] I have updated the documentation (if necessary)

[x] I have run the tests and they pass

[x] I have run the lint and it passes (pod lib lint)

This merge request fixes / reffers to the following issues: #1793 #1884 #1554
Pull Request Description
Reason
The image scale factor is a quite frustrating problem for image download from network. Actually, scale factor this concept is created by Apple only. It's used for Retina display but not other level. For image format, it only care about pixel resolution. So the scale factor is not stored as a metadata or something into image data. It only from filename or some other information such as Xcode's asset JSON description. Means, for image from network, we does not have the context to know its scale 😅
First Problem
For our framework's solution, we grab the scale factor from URL and cache key in the history by using SDScaledImageForKey. It search the string to check whether it contains @2x, @3x.  However, since the Internet is not so standard. Some image may loss their scale because of URL changed, or URL encoded. And we also face the problem when storing the image to cache, we may lose their scale because the cache key may not equal to the URL or filename. Some user may also want their own logic way to scale the image, but not based on our algorithm, but however, they can not do this in 4.x.
Second Problem
Another problem, since some user may subclass (like we do :)) UIImage, or store some associated object into UIImage instance. So if we call SDScaledImageForKey, this information will be lost as well. So arbitrarily call that function is not a good idea. 😕
#1793 #1884 #1554 talk about something about these problems as well. In 5.x, since we can use a context option to hold extra things beyond SDWebImageOptions. We also contains a options arg in custom coder protocol method. So I think it's time to change now.
Design
We produce a custom scale factor in SDWebImageContext value, which allow user to provide their custom scale factor. And then we use this value instead of SDImageScaleFactorForKey our built-in way to sepcify image scale. This can solve the first problem above.
And also, we do not need to do extra scale at most cases. We pass the scale factor to custom coder. Let the coder create the image which already contains the correct scale factor (Such as using - [UIImage imageWithCGImage:scale:orientation]. This can solve the second problem above.
Implementation
Context option:
/**
 A CGFloat value which specify the image scale factor. The number should be greater than or equal to 1.0. If not provide or the number is invalid, we will use the cache key to specify the scale factor. (NSNumber)
 */
FOUNDATION_EXPORT SDWebImageContextOption _Nonnull const SDWebImageContextImageScaleFactor;

Coder option:
/**
 A CGFloat value which is greater than or equal to 1.0. This value specify the image scale factor for decoding. If not provide, use 1.0. (NSNumber)
 */
FOUNDATION_EXPORT SDWebImageCoderOption _Nonnull const SDWebImageCoderDecodeScaleFactor;

Codecov Report

Merging #2266 into 5.x will decrease coverage by 0.4%.
The diff coverage is 51.04%.

@@            Coverage Diff             @@
##              5.x    #2266      +/-   ##
==========================================
- Coverage   73.86%   73.46%   -0.41%
==========================================
  Files          53       53
  Lines        6804     6870      +66
  Branches      618      630      +12
==========================================
+ Hits         5026     5047      +21
- Misses       1718     1759      +41
- Partials       60       64       +4

Impacted Files
Coverage Δ

SDWebImage/SDWebImageDefine.m
31.88% <3.12%> (-11.67%)
:arrow_down:

SDWebImage/SDWebImageWebPCoder.m
76.49% <54.09%> (-3.05%)
:arrow_down:

SDWebImage/SDWebImageCodersManager.m
70.27% <58.33%> (-0.05%)
:arrow_down:

SDWebImage/SDImageCache.m
69.86% <66.66%> (-0.12%)
:arrow_down:

SDWebImage/SDWebImageGIFCoder.m
79.74% <83.33%> (ø)
:arrow_up:

SDWebImage/SDWebImageAPNGCoder.m
44.13% <85.71%> (+0.86%)
:arrow_up:

SDWebImage/SDWebImageImageIOCoder.m
63.72% <85.71%> (+0.56%)
:arrow_up:

SDWebImage/SDWebImageDownloaderOperation.m
91.56% <86.66%> (-1.71%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 01e75cf...6d9d216. Read the comment docs.

Also this PR also fix the current implementation for scale factor on macOS.
It's really confused for some developer from iOS side about image scale factor. And more importantly that the design from UIKit & AppKit is really different on UIImage/NSImage.
The NSImage by default will always use backingScaleFactor to identify image scale. Which means if you're on a Retina MacBook. Even the image itself does not contains any scale information, such as the image data from the network. NSImage's method like initWithData: & initWithCGImage:size will always use 2x of your image (!). But however, UIKit does the opposite way, UIImage's initializer method will always use 1x if you not provide scale factor. So it means we should take the behavior to match. The best way to do is creating a helper method to let NSImage to match UIImage.
Afther this helper method introduced, now we can get the same behavior cross-platform. See the screen shot about the test:

http://localhost:8000/50x50.jpg
<EMAIL_ADDRESS>http://localhost:8000/APNG-cube.png
<EMAIL_ADDRESS>

Current API break change

None

Merged due to this can be partial of the image coder refactory.

Interesting approach


Redirection URL

removed the need to specify a redirection-url and using either the Host header or X-Forwarded-Host (if present)

fixes issue https://github.com/gambol99/keycloak-proxy/issues/182


Rhino & Revit: add filter to send entire model

Would be a nice new feature.

Adding some context for Revit, I see the filter sending:

any element of the currently supported categories
everything under the project info tab (views, proj info, elem types, levels...)

Implementation wise, I think we'd need to define a new ISelectionFilter (see), and then simply reuse the existing logic for fulling the right model elements.


support heartbeat timeout & retry_times configuration

Enhancement
heartbeat_timeout_ms
heartbeat_retry_times

During the high overload, the heartbeat timeout will occur frequently, and the load will fail and not be succeed. Now the user loads 3000 parquet files, the overload results in the load failing always.


Request & use an official port

This tool should use an official port assigned by IANA before it's released to the public.  See https://tools.ietf.org/html/rfc6335#section-8.1.1 for the process to request one.
Some notes:

Assignee & contact should be a global address like<EMAIL_ADDRESS>Port number: anything from the user port range is fine; let's let them pick one.
We should multiplex things so we can work with one port for all uses: getting data via the connector (securely and not), and controlling the connector remotely (if needed).

Let me know if you have any ❓❔ s
@chriddyp FYI

Update/tracking for this issue.

[x] Requested placed on Aug 4th.  [IANA #921808]
[ ] Receive response
[ ] Address comments if any

Thank you for your patience. Our expert has reviewed your additional information. They indicated the following:
On review, we do not believe that a port number is necessary for this
service as described in the application. Since the Internet communication
happens over the Web protocol stack between the browser and a web service,
and the port is only useful on a localhost connection between the browser
and an application server, dynamic port selection approaches suffice:
Plotly can simply specify arbitrary port number for both the browser and
the application server to use, and specify an algorithm for iterating over
backup ports should that port be in use (for the application server) or not
host a valid plotly application server (for the browser).
See RFC 7605 section 7.1 for further explanation.
Your request was reviewed by port expert: Brian Trammell
We will resolve this request. However, if you have feedback that will change the request to where you believe a port number is still warranted, please re-submit your request with the new/additional information.

Oh well ¯_(ツ)_/¯
Let's continue to use the port we've chosen, and if a customer ever has a conflict we can make the port configurable at that time.  @alexandresobolevski Close this if you agree 😸

closing. will use 9494.