multipack improvements

Inspired by GPM I'm updating multipack.
I would love to use GPM, but it's lacking some key features of multipack.
See the diff of .github/workflows/dart.yml for side-by-side comparison of the old and new functonality.

@smkhalsa, @micimize It would be great if you could do a test run of the new instructions in README.md. It worked fine for me, but I had some small issues on CI.
This MR will allow me to re-organize directories to put links in one sub-directory and examples in another.
@thosakwe I'm tagging you because I know you are working with a monorepo as well. Maybe this is interesting for you.

@smkhalsa, @micimize It would be great if you could do a test run of the new instructions in README.md. It worked fine for me, but I had some small issues on CI.
This MR will allow me to re-organize directories to put links in one sub-directory and examples in another.
@thosakwe I'm tagging you because I know you are working with a monorepo as well. Maybe this is interesting for you.

Just tried the commands in the README.md, and it seems to be working correctly.

Oh just realized that hard_override's links aren't reset by clean, and the --help is the same as for override

There are definitely some dark corners. I'm thinking of rewriting the functionality of the pubspec command so it's not as polished.

it looks like flutter vs flutter pub is automatically handled, which is awesome and should be documented

I took the idea from GPM. At this point I do not want to invest too much time in documentation beyond the basics necessary for contributing to gql.

multipack fmt --help runs and prints help for each package – would be nice to handle

This one's a bit tricky because I'd like to avoid adding special cases of what is passed through fmt as-is and what is handled in a special way. I guess it'd be good to add a help command for this purpose. multipack help fmt. (Also, it seems that both pubs are not equal.)

I like the colors, but a config for colors would be nice. They look weird in my solarized terminal:

This is a good one. Once there's a config file, color settings should be configurable there.

Other than that, it's a bit awkward to me to have multipack in the same repo as gql*

True. The only reason is that it's a tool I added to manage this repo specifically (the same reason why it is not published). If other projects are interested in using this over GPM, we'll just move it out. At this point I do not see myself actively supporting other use cases.


remove-cluster-role-identity-from-repo

It does not seem to be a very good idea to have AWSClusterRole as part of this app, as deletion of it will cause cluster stuck in deletion
instead, we will create a default role with capa controller app

How about leveraging Helm pre/post hooks to handle the creation and deletion of this resource?

How about leveraging Helm pre/post hooks to handle the creation and deletion of this resource?

How would that help?

Ensures the AWSClusterRole isn't removed until the cluster is.

Ensures the AWSClusterRole isn't removed until the cluster is.

In the end, I think having a unique AWSClusterRole for every cluster is not such a good idea, and rather have a similar way how we to credentials now, it's only one unique ARN role, and than you reference that role in the CR via name. using default as default
It also simplifies the required arguments you need in order to generate yamls for a cluster.

Makes sense. 👍


Update MSL to API v2

Update MSL to API v2
Here are the changes from @Essam315.
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] I have read the CONTRIBUTING document.

All Submissions:

[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

Changes to Core Features:

[ ] Have you added an explanation of what your changes do and why you'd like us to include them?
[ ] Have you successfully ran tests with your changes locally?

Screenshots (if appropriate):
[You can erase any parts of this template not applicable to your Pull Request.]

You should delete this pull request, because the files needs more modifications, and delete the  old fork you did, i just was making an example nothing more.

Deleted on request, no merge


[Feature] Simpler Alternative to Federated Plugins, based on Platform Channels

related issue: https://github.com/boskokg/flutter_blue_plus/issues/6
Use case
The same use case as Federated Plugins. Allow 3rd party plugins to add support for additional platforms to the original plugin.

Federated plugins have some drawbacks:

parent project must be proactively organized in a very specific way, overhauling project structure
it introduces additional levels of abstraction, more filesystem depth, a "platform interface"

These slight drawbacks cause some packages to choose to forgo federated plugins, making them impossible to extend without forking.
Proposal
Platform Channels already offer a very convenient api boundary to add additional platform support.
There should be a way to leverage Platform Channels to add support for new platforms, without requiring federated plugin structure.
Admittedly, my proposal might not be the best one to solve the use case. But here it goes:
users would add additional platforms like so:
pubspec.yaml (end user's app)
dependencies:
  flutter_blue_plus: 1.31.7
  flutter_blue_plus_windows: 1.0.0

pubspec.yaml (in flutter_blue_plus_windows)
extends: flutter_blue_plus ^1.3.7
flutter:
  plugin:
    platforms:
      windows:
        pluginClass: FlutterBluePlusPlugin

In this case, flutter_blue_plus_windows contains a /windows directory that will be copied into flutter_blue_plus. If flutter_blue_plus already contains the same files, the files will be overwritten. flutter_blue_plus_windows can be thought of as a "patch".
The platform channel will forward messages to the windows code, as expected.

What you have put under "Use Case" is a complaint about a current implementation, not a use case, and what you've put under "Proposal" is essentially a use case. What is the actual proposal here?

parent project must be organized in a more annoying way, with more levels of abstraction

The abstraction exists to allow alternate implementations.

There should be a way to augment a project with more code, to add support for more platforms.

This is the use case that led to the design and deployment of the federated plugin model.

The parent project can be setup in any way.

Please describe a system that allows adding implementation logic into a project that has arbitrary design, including describing how it would handle changes to the arbitrary design of the parent project without breaking all implementations.

merge: flutter_blue_plus
conflicts: overwrite

Please provide a detailed explanation, with example code, of what this syntax would actually do.

Thanks for the reply @stuartmorgan !
I've added additional comments and revised my original post for clarity.

To what end?

The goal is to add support for windows to a package that chooses not to support federated plugins.

At this point, you have flutter_blue_plus with an inert windows/ directory.

Right. flutter_blue_plus_windows would need to specify which platforms it adds support for in its pubspec.yaml

Without going too far down the details @stuartmorgan , can you share your thoughts on the use case?

To what end?

The goal is to add support for windows to a package that chooses not to support federated plugins.

I understand your goal; I am asking how your proposal of copying a windows/ directory into another package achieves that goal. By itself, a windows/ directory doesn't do anything.

At this point, you have flutter_blue_plus with an inert windows/ directory.

Right. flutter_blue_plus_windows would need to specify which platforms it adds support for in its pubspec.yaml

Okay, but then what? What is the mechanism by which someone calling a public method of flutter_blue_plus ends up running code from the windows/ directory of flutter_blue_plus_windows? Not in terms of your proposed syntax for pubspec or the like, but the actual implementation of that calling.

Without going too far down the details @stuartmorgan , can you share your thoughts on the use case?

Assuming you mean the current, updated iteration of the use case, which I will quote here since having the things I am referring back to constantly changing after the fact makes following any kind of discussion here quite difficult:

Augment existing packages that choose not to support federated plugins.

That's now a combination of use case and specific proposal, in that you are saying you want to address a use case (adding support for new platforms to someone else's plugin) while adding the implementation caveat that the solution must not use the solution that was designed for that exact use case.
At the point where you are saying you want to start from the same premise, but get a different result, I don't see how we can do anything other than focus on the details. The details are all that would distinguish your proposal from what we already built.
The next step here would be a design document that clearly describes your proposal, with specific details that address the questions raised so far about how this would work, so that the proposal can be discussed and evaluated in a format that's better for that kind of discussion than a linear thread.

That's now a combination of use case and specific proposal, in that you are saying you want to address a use case (adding support for new platforms to someone else's plugin) while adding the implementation caveat that the solution must not use the solution that was designed for that exact use case.

Sure. Thats reasonable. In the end it is the same use case.
Federated Plugins require too much project structure overhaul to solve that use case, I'd argue. Or perhaps this is all mostly semantics.

The next step here would be a design document that clearly describes your proposal

Thanks for the link. I'm familiar. Wanted to brainstorm with the community first =)
Thanks for the discussion.

Maybe there is actually no need for this.
Platform channels already have names.
A 3rd party plugin could just initiate the platform channel with a name that "is not theirs".
For example, flutter_blue_plus_android could implement the flutter_blue_plus/methods platform channel.
    @Override
    public void onAttachedToEngine(@NonNull FlutterPluginBinding flutterPluginBinding)
    {
        methodChannel = new MethodChannel(flutterPluginBinding.getBinaryMessenger(), "flutter_blue_plus/methods");
        methodChannel.setMethodCallHandler(this);
    }

I think this would "just work".

I think this would "just work".

Only to the extent that the author of the new platform support didn't care:

that their implementation would be subject to breakage without warning in any release of the main plugin, and they would thus need to both instruct all of their clients to pin an exact version of the main plugin, and manually validate every single PR to the main plugin before updating that suggested pin (at which point they are doing basically the same work as would be involved in a fork, but also exposing all of their clients to more complexity than a fork would), and
is willing to write their entire implementation entirely in the host language; notably, the actual implementation of your example case of flutter_blue_plus_windows is written entirely in Dart, and doesn't even have a windows/ folder, so this proposal would not have worked for the only actual example of someone trying to do the thing that presumably prompted the filing of this issue.

I've never seen anyone do this however.

There are examples of third-party embedding authors doing this, but even in their more constrained use case (e.g., their implementations aren't distributed on pub.dev, so it's easier to set different expectations on the limitations) it's very fragile. Many of the ones I'm aware of have been broken at various times.

Yes, those would be the restrictions. In flutter_blue_plus_windows's pubspec.yaml they would specify the exact flutter_blue_plus version it is compatible with.

To prevent breakage, flutter_blue_plus_windows's author should specify the exact flutter_blue_plus versions their code is compatible with in their pubspec.yaml
name: flutter_blue_plus_for_windows
description: windows support for FlutterBluePlus
version: 1.0.0

dependencies:
  flutter_blue_plus: ">=1.29.0 <1.40.0"

It's worth noting that FBP is pretty stable at this point.

This commit is in the range you gave, and would at best break anyone using the system you are describing, and more likely crash. And yes, you could edit the comment to a different range that's correct, but this has already demonstrated a serious problem with this approach: you, as the person with the most context, still got this wrong immediately. The chances that other people with less context would get it right constantly, in perpetuity, is extremely low.
And this is only one of the problems. The inability to use Dart discussed above is another, version lock is another, increased volatility of the API surface is another, and there are more. All of which received a lot of thought and discussion by people with significant expertise in the package ecosystem, and the result is the platform interface model. I would encourage you to apply the principle of Cherston's Fence as here; federation isn't set up in what you describe as "a more annoying way, with more levels of abstraction" because the Flutter team wanted to add annoyance and abstraction for no reason.

that specific range was just made up randomly...


Add some tips to the README

Hopefully the changes make sense and any feedback is, of course, welcome :)

This is great, thanks!


Downside deviation calculation

Hey,
I'm trying to calculate the Sortino index and downside variation/downside risk. A natural candidate would be to use semicovariance, with benchmark = 0 - ie:
risk_models.semicovariance(data, benchmark=0, returns_data=True, frequency=12)
However, this seems a bit different than the classic method - the current implementation, in this case, will form a matrix with negative months only, and will then calculate the variance of this matrix (ie: sum of difference from average), where for "downside deviation" - this should be - sum of difference from 0 (and not from average) - for negative numbers. This will result with a different number.
For example. for:
-4.98%
-0.08%
6.73%
0.39%
1.70%
0.35%
3.65%
0.12%
0.01%
-1.73%
3.68%
2.03%
semicovariance will result with 0.002395221481, whereas classic online calculators will result in 0.00277995.
See here for example:
https://www.thebalance.com/what-is-downside-deviation-4590379
--

I also stumbled upon this issue during the creation of PR #227
Compare the definition in Estrada (2007):

Opened PR #228 to adapt the risk model.

Also take a look on http://www.redrockcapital.com/Sortino__A__Sharper__Ratio_Red_Rock_Capital.pdf which demostrates the calculation clearly.

Fixed in v1.3.0

Fixed in v1.3.0


Parameterize the istio version based on environment varaiable

Due to recent intermittent Jenkin failures in Istio Usecases, modify the integration test infra to install a given version of ISTIO based on a environment variable ISTIO_VERSION.  The default is v 1.7.3  that matches with Verrazzano usage.
public static final String ISTIO_VERSION =
Optional.ofNullable(System.getenv("ISTIO_VERSION")).orElse("1.7.3");
This PR gives a flexibility to run the integration test against a custom version of ISTIO which is being updated frequently.
https://build.weblogick8s.org:8443/job/wko-tmp/138/  ( v1.7.3 )
https://build.weblogick8s.org:8443/job/wko-tmp/139/  ( v1.7.6 )
None of the results are clean. We have similar failure in both runs.
We have the JIRA  OWLS-86461 open to track the intermittent issue

The change looks ok to me.


Write a migration guide from 2.4.x to 3.0

Yes, please! This is proving rather difficult. This on top of all the Spring 6 issues and my head hurts :(

@youcangetme apologies! We should do a better job while releasing milestone versions. Can you tell me what specifically did you find hard/confusing/unclear so that I can make sure to include it?

Here has been a small sampling of my night. I am sure it is all "pilot error" but its been rather frustrating;
While looking for the missing QueueMessagingTemplate I run into this, which would have been nice to know before starting;

A SqsTemplate should be included in a future milestone simplifying this process.

Then, with these in my pom;
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-dependencies</artifactId>
<version>3.0.0-M3</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter-sqs</artifactId>
<version>3.0.0-M3</version>
</dependency>

I get this error;
Failed to read artifact descriptor for io.awspring.cloud:spring-cloud-aws-starter-sqs:jar:3.0.0-M3: Could not find artifact org.springframework.cloud:spring-cloud-build:pom:4.0.0-M4 in central (https://repo.maven.apache.org/maven2)

I can't find that library but I can find the 4.0 instead so I use the 3.0.0-M2 instead and everything compiles. When I run the app though;
01:21:21.942 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalArgumentException: Unable to instantiate factory class [io.awspring.cloud.autoconfigure.config.parameterstore.ParameterStoreConfigDataLocationResolver] for factory type [org.springframework.boot.context.config.ConfigDataLocationResolver]
	at org.springframework.core.io.support.SpringFactoriesLoader$FailureHandler.lambda$throwing$0(SpringFactoriesLoader.java:650)
...

Caused by: java.lang.IllegalArgumentException: Log types cannot be injected, please use DeferredLogFactory
	at org.springframework.boot.context.config.ConfigDataLocationResolvers.lambda$new$0(ConfigDataLocationResolvers.java:64)

So a guide on how to port an existing app would be a real big help. That last one, I am not even using any of that service. I have no idea why that would even be starting up.
I was hoping for a few libs versions getting updated and a few fixes for paths and objects that moved. But right now I have no idea where I went wrong! Argh!

Here has been a small sampling of my night. I am sure it is all "pilot error" but its been rather frustrating;
While looking for the missing QueueMessagingTemplate I run into this, which would have been nice to know before starting;

A SqsTemplate should be included in a future milestone simplifying this process.

Then, with these in my pom;
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-dependencies</artifactId>
<version>3.0.0-M3</version>
<type>pom</type>
</dependency>
<dependency>
<groupId>io.awspring.cloud</groupId>
<artifactId>spring-cloud-aws-starter-sqs</artifactId>
<version>3.0.0-M3</version>
</dependency>

I get this error;
Failed to read artifact descriptor for io.awspring.cloud:spring-cloud-aws-starter-sqs:jar:3.0.0-M3: Could not find artifact org.springframework.cloud:spring-cloud-build:pom:4.0.0-M4 in central (https://repo.maven.apache.org/maven2)

I can't find that library but I can find the 4.0 instead so I use the 3.0.0-M2 instead and everything compiles. When I run the app though;
01:21:21.942 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
java.lang.IllegalArgumentException: Unable to instantiate factory class [io.awspring.cloud.autoconfigure.config.parameterstore.ParameterStoreConfigDataLocationResolver] for factory type [org.springframework.boot.context.config.ConfigDataLocationResolver]
	at org.springframework.core.io.support.SpringFactoriesLoader$FailureHandler.lambda$throwing$0(SpringFactoriesLoader.java:650)
...

Caused by: java.lang.IllegalArgumentException: Log types cannot be injected, please use DeferredLogFactory
	at org.springframework.boot.context.config.ConfigDataLocationResolvers.lambda$new$0(ConfigDataLocationResolvers.java:64)

So a guide on how to port an existing app would be a real big help. That last one, I am not even using any of that service. I have no idea why that would even be starting up.
I was hoping for a few libs versions getting updated and a few fixes for paths and objects that moved. But right now I have no idea where I went wrong! Argh!

@youcangetme Came across the same challenge. After reviewing this git repository's pom.xml, I added another maven repository to my local project's pom.xml.
<repositories>
        <repository>
            <id>repository.spring.milestone</id>
            <name>Spring Milestone Repository</name>
            <url>https://repo.spring.io/milestone</url>
        </repository>
</repositories>

On rebuilding it was able to find org.springframework.cloud:spring-cloud-build:pom:4.0.0-M4. Haven't had a chance to bring up the app and use the functionality yet. I saw your post and decided to share this immediately in case it helps you.

Thanks @vdksoda. I don't know how I missed that. Get'n old I guess. I will check it out as soon as I can fix the other Spring Framework 6 issues. I have to pick my battles and right now messaging can be left as-is while the rest of this mess gets cleaned up.

That would be really helpful indeed. I'm trying to upgrade from 2.4.2 to 3 as part of upgrading an existing application to Spring Boot 3.0.1 and I notice that spring-cloud-aws-messaging is no longer part of the dependencies. As a result we cannot use for example QueueMessagingTemplate. Any suggestions would be really helpful.
Thanks!

@Jhmmy there successor for QueueMessagingTemplate is in works and will be released in 3.0 RC1 (soon - check PRs to stay up to date). Up until RC1 you must use regular SqsAsyncClient unfortunately.

JFYI: I have an SQS PoC that I migrated from using Spring Cloud AWS 2.4.4 (on Spring Boot 2.7.6) to Spring Cloud AWS 3.0.0-RC1 (on Spring Boot 3.0.2). In case of QueueMessagingTemplate I switched to new SqsTemplate (available in 3.0.0-RC1) 👍

Closing in favor of https://github.com/awspring/spring-cloud-aws/pull/663.
Everyone is welcome to contribute to a branch from a PR to update migration guide


Concat two different video files

Hey,
I'm trying to make a python script to glue/merge multiple videos together but i'm hitting two wall were i can only merge two perfectly identical video file detail (video/audio codex, bitrate,...). My idea is how do i convert one video file to a perfectly identical video file properties?
This works to get the video properties but how do i use them to convert another video file?
from __future__ import unicode_literals, print_function
import ffmpeg
URL = "output.mp4"
try:
    probe = ffmpeg.probe(URL)
except ffmpeg.Error as e:
    print(e.stderr, file=sys.stderr)
    sys.exit(1)
video_stream = next((stream for stream in probe['streams'] if stream['codec_type'] == 'video'), None)
if video_stream is None:
    print('No video stream found', file=sys.stderr)
    sys.exit(1)
width = int(video_stream['width'])
height = int(video_stream['height'])
num_frames = int(video_stream['nb_frames'])
print('width: {}'.format(width))
print('height: {}'.format(height))
print('num_frames: {}'.format(num_frames))

Did you find any solution to resolve this kind of issue?

This script does not use ffmpeg, but it does work. Perhaps someone more knowledgeable
could translate what is in the two cmd variables to ffmpeg-python so that we could have a function that does this ( I suspect that it is a common task).
#!/home/bjorn/anaconda3/envs/bjorn37/bin/python
# -*- coding: utf-8 -*-

"""
This script uses ffmpeg to merge all mp4 files in the
folder which the script is run. You need to have ffmpeg
installed on your computer.

https://gist.github.com/BjornFJohansson/7c56daad679223e4cdc9f1cac50197ad
"""
import pathlib
#import ffmpeg
import subprocess
import zipfile

#paths = sorted(pathlib.Path(".").glob("*.mp4"),key=lambda x: x.lstat().st_mtime)

paths = [p for p in sorted(pathlib.Path(".").glob("*.mp4")) if not p==pathlib.Path('out.mp4')]

newpaths= []
tspaths = []

for i, path in enumerate(paths):
    tspath = path.with_suffix('.ts')
    newpath = path.with_name(f"video{i:02}.mp4")
    path.rename(newpath)
    newpaths.append(newpath)
    tspaths.append(tspath)
    cmd = f"ffmpeg -i {newpath} -c copy -bsf:v h264_mp4toannexb -f mpegts {tspath}"
    result = subprocess.run( cmd, stdout=subprocess.PIPE, check=True, shell=True)

concat = "concat:"+"|".join(p.name for p in tspaths)
cmd = f"ffmpeg -i '{concat}' -c copy out.mp4"

result = subprocess.run( cmd, stdout=subprocess.PIPE, check=True, shell=True)

for tspath in tspaths:
    tspath.unlink()

with zipfile.ZipFile("zip.zip", 'w') as myzip:
    for path in newpaths:
        myzip.write(path,path.name)
        path.unlink()


Add support for lsp workspace variable

(In fact I thought this is the whole purpose of this plugin, to manage lsp workspace settings)
I failed to understand the purpose of listdir and syncdir.  What is the point in assigning dirs to workspace?
Please improve the documentation. Thanks!
I would just write the purpose clearly:
Choosing workspace by default would just change the cwd, but you can add hooks. And additional functionality.

OK, implemented it myself. Kind of cool.
Feel free to add to suggestions. A function to update lsp workspace folder on hook.
function _G.set_workspace_dir(dir)
    vim.lsp.buf.add_workspace_folder(dir)
    local folders = vim.lsp.buf.list_workspace_folders()
    for i = 1, #folders do
        if dir ~= folders[i] then
            vim.lsp.buf.remove_workspace_folder(folders[i])
        end
    end
end

require("workspaces").setup({
path = vim.fn.stdpath("data") .. "/workspaces",
 hooks = {
        open =  function()
 set_workspace_dir(require'workspaces'.path())
 print("workspace dir is " .. require'workspaces'.path())
end,
}})

Explanation:
Telescope lsp_workspace_symbols is tricky function as it requires all workspaces paths to be correct. And it adds them automatically. So I created a hook to update workspace folder to single one (when opening workspace).

In fact I thought this is the whole purpose of this plugin, to manage lsp workspace settings

Hey! Thank you for the suggestion. Although this shares language with LSP (worksapce), this plugin does not interact with LSP workspaces. I also don't think it makes sense to add LSP workspace support.
This just adds some project directories (called workspaces) to nvim.

Please improve the documentation

Sorry you found it confusing! Feel free to open a PR if you have anything specific you would like me to improve. Or just point out specifically where you find it confusing.

What does it mean add project directories to nvim ?

A project directory is a commonly used project folder. Some people (myself included) want to open nvim in any directory, and then have an option to open a project from within nvim.
For example. I open my terminal in my home directory and then open nvim. From there I can run :WorkspacesOpen <project> to open my project. Or :Telescope workspaces to use telescope to select from my projects.
The alternative is to cd to the project directory and open nvim.

I understand this usage. But what does WorkspacesSyncDirs does?

The way that WorkspacesAddDir works, it adds a directory that contains subdirectories that are all individual projects. I explained this on another issue in more detail, so look here if you want more info on that: https://github.com/natecraddock/workspaces.nvim/issues/30
So WorkspacesSyncDirs is used to automatically add all of those subdirectories as a workspace. The implementation was done this way to keep things more performant. But it may also be confusing.


tagging a version

Hi @DrCyPhi which version is this software in? It would be nice to declare this somewhere (including which versioning scheme you are going to use) and then also git tag the software and push the tags to GitHub (git push --follow-tags).

Good luck! :)


Any plans to support 'Rename Symbol', 'Go to Implementations' or 'Go to References'?

Is your feature request related to a problem? Please describe.
Wasn't sure if this was a bug, an as-yet unimplemented feature or an idiosyncrasy of my own system, but none of the mentioned shortcuts / context menu items seem to work.
Describe the solution you'd like
It'd be great if we could use Rename Symbol, Go to Implementations or Go to References for our own vars and functions in swift files.
Describe alternatives you've considered
At the moment I'm simply using 'Find & Replace' to locate or rename symbols, but this can be laborious with larger scripts and projects. The advantage of the built-in commands is that they take note of the context and do most of the work automatically.
Additional context
Symbols already seem to be correctly recognised within swift files - they're available within the QuickPicker when using Go to Symbol in Editor…, and alt-clicking on a var or function correctly jumps to the appropriate definition. There was previously a brief mention of implementing these within vknabel/vscode-swift-development-environment, although any work on that was halted as a result of this official extension being published.

See https://github.com/swift-server/vscode-swift/discussions/406 for details as it's tracked there. Go to implementation should already work. Rename symbol is waiting on a bug in SourceKit-LSP to be fixed

My bad, I did an issue search for a few related terms, didn't even think to check the discussions!

Go to references and Go to implementations should work as long as you have a compiled project.
Rename Symbol is currently not supported by SourceKit-LSP. Here is the relevant issue in the SourceKit-LSP repo https://github.com/apple/sourcekit-lsp/issues/498
The great thing about LSP is once SourceKit-LSP implement it and advertise they support it, it work automatically without any changes to the extension.

Go to references and Go to implementations should work as long as you have a compiled project. Rename Symbol is currently not supported by SourceKit-LSP. Here is the relevant issue in the SourceKit-LSP repo apple/sourcekit-lsp#498

It does not work.
At least not on Windows.
See #479

The main branch SourceKit-LSP has this implemented and I've tested it works, so I'm going to close this as complete. The changes will be include in Swift 6.


high CPU load when creating a commit message via vim

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.60.2
OS Version: Ubuntu 20.04.2

Steps to Reproduce:

install VS Code via Snap
add the following lines to .bashrc

# set vim for git and all other programs
export VISUAL=vim
export EDITOR="$VISUAL"

open a terminal
make some changes to source code
write git add .
enter git commit

=> a VIM window opens in the terminal which reacts super slow - when opening top in a terminal, you can see that code's CPU usage is super high
P.S.: I undid the bashrc changes, so nano gets used - the cpu still goes up to 100%, but at least I can type fluently.
FWIW no problems on my old laptop with the same setup, except Ubuntu 18.04.

Can you check which processes are using the CPU? We have a process explorer in the help menu which shows details on the vscode process tree


Pr create and update and hook

NOTICE: Do not remove this branch pr_create_and_update until devflow is pointing to master of this repo once this PR is merged.


dev.on("deviceReady", () => { this.emit("deviceReady", dev); });

When I tried to run the homebridge, it throw me this error. May I know what happen?
dev.on("deviceReady", () => { this.emit("deviceReady", dev); });
^
TypeError: Cannot read property 'on' of undefined
at Socket.cs.on (/usr/lib/node_modules/homebridge-broadlink-rm/node_modules/broadlinkjs/index.js:183:16)
at emitTwo (events.js:106:13)
at Socket.emit (events.js:194:7)
at UDP.onMessage [as onmessage] (dgram.js:545:8)
root@mediahub:~/.homebridge# dev.on("deviceReady", () => { this.emit("deviceReady", dev); });
bash: syntax error near unexpected token `"deviceReady",'

Sounds like you have an unsupported device or perhaps the wrong IP address for the device. What broadlink rm device do you have?

I am having RM Pro but the code is not inside your index.js. I temporary change the last line
else{
...
dev.rm();
return dev;;
}
then the problem resolved. The IR is working but the RF is not working...
I will try to get the devgeneration code for you.


Remove custom support/mailer_previews controller

Context
As part of #2029 we moved previews from rails/mailers to support/mailers.
Now that we have #2153, Mailer previews work again, so we don't need the workaround.
Changes proposed in this pull request
Remove the controller, route and view for our ersatz mailer preview index, and update the links in the view.
Guidance to review
All gone?
Things to check

[X] This code doesn't rely on migrations in the same Pull Request
[X] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[X] API release notes have been updated if necessary
[X] New environment variables have been added to the Azure config

Closing in favour of #2136


Restrict CIDs

relates to https://github.com/Open-CMSIS-Pack/devtools/issues/600

The specification has not changed. The parts of the component ID are now restricted but allow whatever is currently being used.


made a simple pause menu

Included the functionality to quit if the player wants, as well as resume from where they paused. also hides the screen so the player can't abuse the menu to think about the game itself

Hello @Rw552! Thanks for opening this PR. We checked the lines you've touched for PEP 8 issues, and found:

In the file spinny_gun.py:

Line 78:1: E302 expected 2 blank lines, found 1
Line 83:1: E302 expected 2 blank lines, found 1
Line 84:1: W293 blank line contains whitespace

Getting #39 every time I try to run this branch. Is that just me?

Getting #39 every time I try to run this branch. Is that just me?

@chwerth I'm not having any problems with #39 at all.

Ouch. I'm still getting it. I'll try restarting my computer and re-cloning the whole thing just to be sure.


Queries in Realtime-database (using LimitToLast) are very very slow

I'm using RealTime-database(Firebase 7.3.2) and Unity.
When I'm using the LimitToLast() method the query takes a long time (1,5 to 2 minutes) to return a reponse.
But when I load the whole data or execute this query without the LimitToLast method this takes not a long time.
I want to ask if everyone has this problem during his development with realtime firebase database.
My database contains 1700 rooms.
this is the query :
var result = await FirebaseDatabase.DefaultInstance.GetReference("Rooms")     .OrderByChild("CreationDate").LimitToLast(10).GetValueAsync();
And that is the structur of rooms collection in database:
{   "Rooms" : {     "-Lp860kFH8TjdAsPpar1" : {       "CreationDate" : -14400,       "Title" : "Room 1",       ...,     },     "-Lp860kFH8TjdAsPpbr2" : {       "CreationDate" : -14402,       "Title" : "Room 2",       ...,     },     ...     "-Lp860kFH8TjdAsPpar3" : {       "CreationDate" : -14404,       "Title" : "Room 1700",       ...,     }   } }
Thank you in advance

I also encounter a long slowdown in queries like:
.GetReference("users").Child(userid).Child("challenges/members").GetValueAsync();
Also this one:
 GetReference("users").OrderByChild("stat/score").LimitToLast(100).GetValueAsync();
Note: that it happens only in Unity editor, while on Android it works fine.
Using firebase 6.6. also happen with 6.5,
I think before 6.5 it was fine.

Hi, thanks for the report. I've seen reports of slowness in some other cases that I'm still trying to pin down, so this might be related.
I have some questions to narrow down the issue, if you don't mind. Does the slowness seem to be only related whether LimitToLast is present in the query? Does LimitToFirst have the same issue? If you re-run the same query twice, are both calls slow? Does the size of the data being queried seem to matter?

For me, it also happens without LimitToLast and in Unity Editor as i mentioned.
Not sure regarding the size of the data, but I don't have much data anyway.
Regarding calling twice, I need to check, but I think it has the same result.

Hi, the same is happening to us. The queries start ok, but slowdown terribly after a couple of calls. Specially in OSX. In the Editor but also on the Build.
We are working in a big art/technology project, based on mobility and maps, and depend heavily on FIrebase to show the data created. Can you help us out ? Thanks in advance.
My query:
Task task1 = Router.Beams().OrderByKey().StartAt(tsQuery).LimitToFirst(1000).GetValueAsync().ContinueWith(task =>

Hi, thanks for the report. I've seen reports of slowness in some other cases that I'm still trying to pin down, so this might be related.
I have some questions to narrow down the issue, if you don't mind. Does the slowness seem to be only related whether LimitToLast is present in the query? Does LimitToFirst have the same issue? If you re-run the same query twice, are both calls slow? Does the size of the data being queried seem to matter?

Hi, I'm using LimitToFirst and happens sometimes in Windows Editor and very frequently in Mac Editor and Build.
We Execute the same query over and over just changing the timestamp to get. And when it  starts to delay , the next query also delays, and so on.
We tried with different quantities of records (50, 200, 1000) and the problem remains the same.
Hope it helps !!
My query:
Task task1 = Router.Beams().OrderByKey().StartAt(tsQuery).LimitToFirst(1000).GetValueAsync().ContinueWith(task =>
@luciofncnd

We are still looking into this issue.

We found the root cause of the issue, it will land in our next release which is still running through QA.  This release was a little rocky due to some changes in our testing infrastructure and an upgrade to curl, we'll have it out soon.

Any update or solution for this problem.

Firebase 6.7.0 was released a couple of days ago. Please update and recheck to see if the issue has been fixed.

Closing this for now, but feel free to reopen if updating to 6.7.0 does not solve your problem.


Implement on-chain verifier (Solidity, Move, etc.)

The on-chain verifier will be much cheaper after switching the polynomial commitment scheme to one with logarithmic verifier costs (see this other issue)

Hey @GUJustin -
Do you happen to know off-hand how many MSM / the non-native field work would be for both Zeromorph or HyperKZG?
For Hyrax is was two MSM (Grumpkin-base-field and circuit in BN254 scalar field ) then sum-check is non-native.

I tried to integrate the verifier into the canister of the IC blockchain, but the Preprocess structure is too large. For details, see: https://hackmd.io/@liquan/S1dybGcl0


setup monitoring for equip in CIS

@kunallillaney already has nagios monitoring for CS. Perhaps we can extend that?


Shouldn't the CSS property width come above widows in IntelliSense?

When I'm writing CSS in a Vue file, I want to type width but IntelliSense always suggests widows first.

I thought this problem might be specific to Volar, because in other files (such as .html, .css and .scss), width is always at the top.
I'm really sorry if I'm wrong.

(This happens equally in <template> and <style> files as long as they are in .vue files.)
My environment

VS Code: 1.64.2
Volar: 0.31.4
Windows 11 (no WSL)
Other extensions that may be relevant

HTML CSS Support
HTML Snippets

no Prettier
It doesn't mean that the width has already been entered.

Thank you!

@mirumirumi
widows: ; is a suggestion by the emmet feature, not a css property suggestion.  It is possible to control the sort order by changing emmet-related settings.
Add the following settings to .vscode/settings.json and give it a try.
{
  "emmet.showSuggestionsAsSnippets": true,
  "editor.snippetSuggestions": "bottom"
}

@yaegassy
I see, it was a function of Emmet, wasn't it?
Thanks for your help!
Please feel free to close this issue.

I did it !


What i doing wrong?

Hello! Can you help me please.  Log:
2021-06-04 10:52:51,990 Start display
2021-06-04 10:52:52,073 Start webdriver
2021-06-04 10:52:56,779 authenticate using webdriver against URL: https://site.test/
2021-06-04 10:53:04,155 automatically finding login elements
2021-06-04 10:53:04,155 Trying to find element username
2021-06-04 10:53:04,156 Built xpath: //input[(translate(@id, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='username') and (@type='text' or @type='email' or not(@type))]
2021-06-04 10:53:04,177 Built xpath: //input[(translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='username') and (@type='text' or @type='email' or not(@type))]
2021-06-04 10:53:04,204 Found element (//input[((@type='text' or @type='email') and contains(@name,'ser')) or (@type='text' or @type='email')])[1] by default xpath
2021-06-04 10:53:04,481 Filled the username element
2021-06-04 10:53:04,481 Trying to find element login
2021-06-04 10:53:04,481 Built xpath: //*[(translate(@id, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='login') and (@type='submit' or @type='button' or button)]
2021-06-04 10:53:04,510 Built xpath: //*[(translate(@name, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')='login') and (@type='submit' or @type='button' or button)]
2021-06-04 10:53:04,544 Found element //*[@type='submit' or @type='button' or button] by default xpath
2021-06-04 10:53:04,836 Clicked the login element
2021-06-04 10:53:09,841 Finding authentication cookies
2021-06-04 10:53:09,886 Active session: auth-session
2021-06-04 10:53:09,887 Finding authentication headers

It looks like everything is ok, but:
*** You are running in headless mode.
[GFX1-]: glxtest: libpci missing
[GFX1-]: glxtest: libEGL missing
[GFX1-]: glxtest: libEGL missing
1622804000604	Marionette	INFO	Marionette enabled

(/usr/lib/firefox/firefox:586): GLib-GObject-CRITICAL **: 10:53:21.598: g_object_set: assertion 'G_IS_OBJECT (object)' failed

(/usr/lib/firefox/firefox:610): GLib-GObject-CRITICAL **: 10:53:21.740: g_object_set: assertion 'G_IS_OBJECT (object)' failed
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
console.warn: SearchSettings: "get: No settings file exists, new profile?" (new Error("", "(unknown module)"))
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
console.error: Region.jsm: "Error fetching region" (new TypeError("NetworkError when attempting to fetch resource.", ""))
console.error: Region.jsm: "Failed to fetch region" (new Error("NO_RESULT", "resource://gre/modules/Region.jsm", 419))
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
1622804003890	Marionette	INFO	Listening on port 36047
[GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt

And the whole log is filled [GFX1-]: RenderCompositorSWGL failed mapping default framebuffer, no dt
What I do wrong?=)
I have tried running it on Mac and Ubuntu Server without GUI.
Thank you!

@alex4561 Facing the same issue. Have you got this fixed.? Please share the update. It would be really helpful.
I am also getting the below error.
 ERROR [Errno 13] Permission denied: '/zap/wrk/testreport.html'

@alex4561 I think this is only some spam not actual errors for ZAP: https://github.com/mozilla/geckodriver/issues/1898
Or is the report not generated in the end?
@snehadominic You can that error because the ZAP container cannot write the report. Try -u root in the docker run command.

@dicksnel Thanks for quick help! -u root fixed the report issue.
As a question, what does below logs mean? I am seeing it even when I tried running scan against the demo URL in command example.
2021-07-01T15:17:07.0687391Z WARNING: An illegal reflective access operation has occurred
2021-07-01T15:17:07.0688810Z WARNING: Illegal reflective access by com.google.inject.internal.cglib.core.$ReflectUtils$2 (file:/zap/./plugin/spiderAjax-release-23.4.0.zap) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int,java.security.ProtectionDomain)
2021-07-01T15:17:07.0689453Z WARNING: Please consider reporting this to the maintainers of com.google.inject.internal.cglib.core.$ReflectUtils$2
2021-07-01T15:17:07.0690038Z WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
2021-07-01T15:17:07.0690412Z WARNING: All illegal access operations will be denied in a future release

@dicksnel A quick update, using '-u root' didn't fix the issue completely. After using '-u root' in the docker run command, login is failing. Scan is happening without authentication. Once I remove '-u root', I could see that login is successful, but then permission to write report is not present. Please help.
Adding authentication error below:
2021-07-01T15:21:21.3833009Z 2021-07-01 15:21:21,382 Start display
2021-07-01T15:21:21.4428672Z 2021-07-01 15:21:21,441 Start webdriver
2021-07-01T15:21:21.5567103Z Traceback (most recent call last):
2021-07-01T15:21:21.5567648Z   File "/zap/zap_auth.py", line 75, in login
2021-07-01T15:21:21.5568041Z     self.setup_webdriver(config)
2021-07-01T15:21:21.5568463Z   File "/zap/zap_auth.py", line 63, in setup_webdriver
2021-07-01T15:21:21.5568913Z     self.driver = webdriver.Firefox(profile)
2021-07-01T15:21:21.5570166Z   File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/firefox/webdriver.py", line 170, in __init__
2021-07-01T15:21:21.5570704Z     RemoteWebDriver.__init__(
2021-07-01T15:21:21.5571505Z   File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
2021-07-01T15:21:21.5572082Z     self.start_session(capabilities, browser_profile)
2021-07-01T15:21:21.5572918Z   File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
2021-07-01T15:21:21.5573506Z     response = self.execute(Command.NEW_SESSION, parameters)
2021-07-01T15:21:21.5574332Z   File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
2021-07-01T15:21:21.5574885Z     self.error_handler.check_response(response)
2021-07-01T15:21:21.5575719Z   File "/usr/local/lib/python3.8/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
2021-07-01T15:21:21.5576295Z     raise exception_class(message, screen, stacktrace)
2021-07-01T15:21:21.5576867Z selenium.common.exceptions.WebDriverException: Message: Process unexpectedly closed with status 1
2021-07-01T15:21:21.5577212Z
2021-07-01T15:21:21.5577842Z 2021-07-01 15:21:21,555 error in login: None

Are you sure the Docker container can reach the host you are scanning? Can you paste your full command?

hi all I have run the ZAP with the help of docker and I get this error (find the screen)
What solutions you can offer .
I have tried to scan the login pages


Run with my own collected data

Hello, I'm very interested in your project. I want to know how to use the point cloud data I collected to run it, because I can't find the data input location or change the path to read the data

Well, as this is a super old project, I'm sure there must be better ways to do what you want than use this code :P
But to answer your question, this reads the input directly from the Microsoft Kinect, so you need that plugged in and there's no data input location or path


Publish version 0.0.5 on the Maven central repository?

I am trying to use the version 0.0.5, which is supposed to be the latest version of the event bus framework, but it seems that it is not published on the Maven central repository.
http://stackoverflow.com/questions/28786579/how-to-use-the-latest-version-of-vaadin4spring-eventbus-framework-with-maven?noredirect=1#comment45862929_28786579
I have cloned the whole vaadin4spring repository and run a mvn clean install and installed the whole components of the framework successfully.
Anyway, will you publish the version 0.0.5 of the framework on the central repository?

No, it's not published yet since not all the tasks that are planned for that release have been completed yet. See #170 .


RFC: Remove the first period from version numbers to reduce version numbering confusion

Search Terms
Semver major minor patch version

Suggestion

The case to move typescript to semver has already been discussed at length, and this issue is not that. I agree that strict semver isn't a great fit for Typescript, however it remains that case that nearly every major npm package does follow the semver pattern, admittedly to varying degrees of quality.
Rather than suggesting that Typescript just move to semver, I'm suggesting that the versioning pattern is changed to remove the first period, such that rather than the next version being 4.0.0 (current being 3.9.2), it should be 40.0.
Subsequent versions would be 40.1, 40.2, 41.0 ...etc

This will reduce the repeated confusion every time a developer expects that Typescript is using semver and is surprised to see breaking changes in the changelog (or worse in their code after assuming it was minor)
Typescript can still broadly keep the same pattern of releases
None of the confusion about 4.0 following 3.9 but actually being the same magnitude of change as the 3.8 to 3.9 change. If you expect semver to be the pattern (a fair assumption), the natural next version would be 3.10

Difficulties
Making a jump from 3.9.x to 40.0.x is a difficult one to make exclusively in terms of communicating the change to developers. I imagine the vast majority of developers would be indifferent to, or embrace the change, but there could be a vocal few that would rail against the change. I think Typescript is a more than big enough project to safely weather any fallout from it as the developer community is generally a sensible bunch.
Checklist
My suggestion meets these guidelines:

[x] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

From #14116 (first response):

TypeScript never claimed to follow semantic versioning, in the sense that breaking changes imply major versions.

We don't intend to change this - we've stuck with this versioning scheme for nearly 8 years now, and changing it is going to create more confusion than would be outweighed by any problems it might fix.


Add collapsing header select as selectable label AND Adding possibility to have panels inside UI like Windows

I've added possibility to have collapsing header with same functionality of selectable label, without breaking previous functionalities.
This is useful to achieve hierarchies or folder dialog with selection.
Here you can find an example:

fn populate_with_folders_tree(ui: &mut Ui, root: &Path, data: &mut FolderDialogData) {
    for_each_folder_in(root, |path| {
        let selected = data.selected_folder == path.to_path_buf();
        if is_folder_empty(path) {
            if ui
                .selectable_label(selected, path.file_stem().unwrap().to_str().unwrap())
                .clicked()
            {
                data.selected_folder = path.to_path_buf();
            }
        } else {
            let collapsing = CollapsingHeader::new(path.file_stem().unwrap().to_str().unwrap())
                .selectable(true)
                .selected(selected);
            let header_response = collapsing
                .show(ui, |ui| {
                    Self::populate_with_folders_tree(ui, path, data);
                })
                .header_response;
            if header_response.clicked() {
                data.selected_folder = path.to_path_buf();
            }
        }
    });
}

Closes https://github.com/emilk/egui/issues/417.

Here you can find an example of what we could obtain with Panels that could be used inside other ui elements.
Once integrated I would be glad to add an example inside demo too, if for you is ok @emilk :)
https://user-images.githubusercontent.com/62186646/128388159-c703e2fd-b120-45b1-8593-9536d290c3f8.mp4

Created 2 separated pull requests and closing this one


summer-ospp: Add SIMD Add, SIMD Filter, SIMD Local Exchange

feature: Add SIMD Add, SIMD Filter, SIMD Local Exchange
to issue summer-ospp：PolarDB-X 向量化计算性能优化 #154

JDK version has been bumped from 1.8 to 17 in branch feature/support_jdk17, and I modified the base branch of your PR. Now you can rebase the branch and fix the compilation error.


No function clause matching while getting more than 100 blocks

Looks like here we are receiving %{block: %Block{}} when we expect %Block{}

What's going on with this?

Resolved with PR #506


Example support for requests

Is your feature request related to a problem? Please describe.
I want to add examples for requests (just like they have in postman) to showcase the expected responses, when sharing with a team. This gives a place to share, modify and improve the responses a lot. This is usually the case when APIs are being discussed and designed, before the actual development.
This will also help generate expected openapi response definitions (using oneOf) from the pool of examples I have for a request.
Describe the solution you'd like
Request can have an additional tab, called "examples" where I can input:

expected response HTTP status code (eg. 200)
expected response content type
expected response body (using the code editor) as raw text

It should allow me to add as many examples as I can add. For each status codes, I can have multiple examples (which is highly unusual when json schema differs, but why not).
Describe alternatives you've considered
I've been relying on json schema to convert responses to their json schema, adding them to openapi as schemas and referencing them to responses manually.
Additional context
I've prepared a pull request, which allows me to do so. Although, the UI is not appealing, yet it showcases a basic working prototype. Since I've add examples as a attribute to the request object, it happens to get synced automatically, without breaking anything.
List of examples

Adding example

Hi @codeasashu,
Thank you for raising this and also the implementation PR.
I'm wondering if the Unit Testing functionality from Designer would solve the same issues (which takes it a step further and allows you to execute and confirm the status code as well). They look similar in use-case and solve the same expectations.
As a note, you don't need a specification to try out Unit Testing in Designer. It is based off the requests that you make in the debug tab, so this should allow you to try it out and formulate an opinion.

After discussion internally, wondering if this could tie into unit tests, and thoughts from others on this.
Being able to create or store examples (maybe not the best terminology here) that you can reference from a unit test to be executed with (body, headers, etc).
Another item we discussed was the potential for this to be a plugin, there are some challenges here, we lack the APIs necessary to do this just now and need to refine the UI capabilities within plugins but it would make a good use-case for doing so.

I initially started this off as a plugin, but then it only allowed me to use Modals to contain the json.
Although, the current implementation also uses Modals, since I am not aware of how can I add a new sub-window in the request UI (I am very new to react and electron).
AFAIK, with plugins, I can:

Add modals
Add context menu for each request to trigger open this modal
Use store to save the example

However, I wish to see the list of all request examples as well. This would mean three sections:
Section 1: Shows the list of all the examples for given request
Section 2: Shows "Add example" page
Section 3: Shows "Edit example" page
To implement the above 3, I can either use a single modal with tabs (not very intuitive and difficult to implement), or I can use another modal (on top of existing modal) to show the add/edit forms. I am not a huge fan of modals already. Hence, this PR addresses this using a new tab in request panel.
Maybe, if plugin can add a new tab (instead of modal) per request, it would save a lot of trouble and I don't see any reason to change the native code any bit.

My usecase for examples is more for the sharing (and discussing) than for the unit testing. This means some part of audiences like Project managers, group of team leads etc. who might get an idea about the feature, by seeing the API response.
Adding, editing examples is quite intuitive too. I usually use postman example editor,  during the team meetings, to share how I think the API might look good. Changing examples, pre-discussing the response schema, etc. gives a very narrative experience, and that seems to be a good thing.
I do not know if referencing examples from unit tests can solve this. I will check and see if that solves my usecase.

We have recently explored UI plugins - see the implementation here. If this was a candidate to be a plugin there would be several APIs we would need to explore and expose. I quite like this as well, and agree that it might fit better as a plugin.

I do not know if referencing examples from unit tests can solve this. I will check and see if that solves my usecase.

This is more of an idea to consume some of the examples, to set the unit test body (less duplication), but I feel like that would be supplementary behavior to examples for how you want to use them.

@develohpanda As commented above, I can use modals (which I am limited to, when using as a plugin), but then I will be "forced" to open yet another modal on top of existing to allow add/editing the examples.
Can you help me with how I can do the same within same modal? I am not against using modals, however, Opening another modal within a modal means implementing the whole modal class, I guess

I don't think it's a great idea to open multiple modals on top of each other.
This is how a plugin can control the entire modal to display just a custom component.

which I am limited to, when using as a plugin

We can likely add plugin API to allow you to create a tab and control the content inside it, and you can already control the content inside a modal as per this. That should, in theory, allow you to achieve the design that you have linked in the description above.
Then comes a separate question of data persistence for a plugin, whether it needs to be synced (TBC, but currently plugin data is not a part of any sync or export).
If this is useful then we can explore adding some APIs. 😄

@develohpanda Thanks for pointing me to the right direction.
I can still use the code-editor I used (by making a copy of it inside the plugin) or can add mine, inside the component. I will try to add another PR which allows adding a tab to a request editor. Then everything I've made in this PR can be added as a plugin.
Code-editor inside modal is tricky, yes. However, if given a certain height for the code-editor, I think it can render pretty well.

That sounds good. From an interface standpoint, it would be nice to define the tabs via a "requestTabs" object exported from the plugin, similar to how the documentActions and workspaceActions one works.
Feel free to reach out to me on Slack if you need any assistance, and/or create draft PRs for early reviews, so you don't end up working too deep on an approach and have to then rework. 😄

@develohpanda I've added a draft PR for review. Will add tests if everything looks good


Consider Adding .NET Aspire

This could be used to:

Spin up local DB
Spin up API (existing)
Spin up FE (new)
Spin up Identity Server (new)

https://www.youtube.com/watch?v=1yEZ8LqqwnE

Nice idea, @danielmackay!
As a consumer of open source, this would be nice to see.
Combined with azd and other tooling, you can get a nice local f5 experience, but also a nice cloud deploy strategy.


RN updated for ksp 1.2

-Update all mods for ksp 1.2
-Removed all unneeded dependencies, I now only use bahaSP and sometimes
texture replacer for my mods. Firespitter and animated dec are no longer
needed.

Updated all craft files so they can be installed by default again

@politas this may fail to validate as smokescreen and texture replacer aren't officially updated yet. They are both not REQUIRED for my mods to work, only for pre-launch smoke effects and some reflections on probes. The mod will function perfectly fine without them.

If they aren't required, you could move them into "recommends" rather than "depends". Otherwise, your mods will disappear from the CKAN list when this is merged.

@politas I meant the mods will "work" without the plugins, but for the probes it is essential that they are reflective, like the sputnik, it is not meant to be matte. I could change it, but I don't want to give the option for the users to disable installing it. Smokescreen I will consider. Can you give me a few days to think about this before merging it. I'll ping you again on here when/if I decide to make changes and have it merged.

Can't see a reason not to move TextureReplacer to another maintainer if the original author is MIA

@politas I made the changes to TR and changed smokescreen to recommended. Let me know if that looks good. If all is acceptable and this will allow my mods to show up for ksp 1.2, this is good to merge.

@Olympic1 added it

Thx. Jenkins loves it, everything installs fine locally, so merging with my thanks


fixfix hive catalog can't read acid table when column = rowid

What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Release note
None
Check List (For Author)

Test

[ ] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[ ] No.
[ ] Yes.

Does this need documentation?

[ ] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[ ] Add branch pick label

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.
Please clearly describe your PR:

What problem was fixed (it's best to include specific error reporting information). How it was fixed.
Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
What features were added. Why was this function added?
Which code was refactored and why was this part of the code refactored?
Which functions were optimized and what is the difference before and after the optimization?

run buildall

This pull request primarily focuses on enhancing the OrcReader class to support special column names in transactional Hive tables. The changes include modifying various methods to handle column name transformations and adding new test cases to verify the functionality.
Key changes include:
Enhancements to OrcReader for special column names:

Modified _init_orc_cols and _init_select_types methods to handle special column names by adding pre and recursion parameters. (be/src/vec/exec/format/orc/vorc_reader.cpp, [1] [2]
Updated _make_orc_literal, _check_slot_can_push_down, and other predicate-building methods to use transformed column names if they exist in _table_col_to_file_col. (be/src/vec/exec/format/orc/vorc_reader.cpp, [1] [2] [3] [4] [5] [6] [7]
Adjusted _fill_batch_vec method to handle special column names during batch processing. (be/src/vec/exec/format/orc/vorc_reader.cpp, be/src/vec/exec/format/orc/vorc_reader.cppL2071-R2120)

Support for transactional Hive reader:

Added _table_col_to_file_col mapping in TransactionalHiveReader to translate table column names to file column names. (be/src/vec/exec/format/table/transactional_hive_reader.cpp, [1] [2] [3]

Test cases:

Added new test cases in run25.hql and test_transactional_hive.out to verify the handling of special column names in transactional Hive tables. (docker/thirdparties/docker-compose/hive/scripts/create_preinstalled_scripts/run25.hql, [1] regression-test/data/external_table_p0/hive/test_transactional_hive.out, [2]

run buildall

run buildall

run buildall

run buildall


Feature: User Rights Management in service packages

Is there a way to allow and disallow access to the extension in a subscription only for certain service packages?

:+1:

+1

:+1:

:+1:

Anything new on this? It would be a Useful Feature! :+1:

Hi all, this would be a very helpful feature!!!

:+1:


postgres support

Any idea when this may be reviewed? I just stumbled across this and would really like postgres as a backend.

Is this being worked on?


Add feature "Dim display when screensaver is running"

Before opening the issue, have you...?

[X] Searched for existing issues

Is your feature request related to a problem? Please describe
Dell´s  Display Manager Application offers an option to automatically dim the display or switch to sleep mode when a running screen saver is detected. I could not find a similar feature in this app.
Describe the solution you'd like
Offer a preferences method to automatically dim the display darker or to put monitor to sleep mode when a running screensaver is detected. Screen dimming would be the preferred method.
Describe alternatives you've considered
As an alternative I am currently using Dell Display Manager which supports this but lacks other features your software provides.
Anything else?

Unfortunately the screenshot is German but the checkbox translates to "Power-Nap Options" and the radiobuttons to:

Dim display when screensaver is active
Switch display to sleep mode when screensaver is active

AFAIK this feature request is not done yet. Would be nice to have it reopened.

I already implemented this in BetterDisplay, won't be carried over to MonitorControl I am afraid.


Error: unknown command "project" for "dagger"

Env:
dagger version
dagger v0.9.4 (registry.dagger.io/engine) darwin/arm64
From documentation
https://archive.docs.dagger.io/0.2/1200/local-dev
it says:
git clone https://github.com/dagger/todoapp
cd todoapp
dagger project update
dagger do build

But  get error:
dagger project update
Error: unknown command "project" for "dagger"
Run 'dagger --help' for usage.

You're seeing documentation for the archived 0.2 version (notice URL: https://archive.docs.dagger.io/0.2/1200/local-dev), but you're using version 0.9.4. See notice on top of page:

You can find the updated getting started guide at:
https://docs.dagger.io/quickstart/120918/setup
@vikram @jf, the notice at the top should probably be in a red tone, right? At first glance my eyes skipped it, only looked more closely because I knew it was an outdated doc and there had to be a notice somewhere.

@JCzz Let us know if you have any more issues 🙂

Thanks, that worked. Looking forward to play around :-)

@vikram-dagger @slumbering, the notice at the top should probably be in a red tone, right? At first glance my eyes skipped it, only looked more closely because I knew it was an outdated doc and there had to be a notice somewhere.

Correct, the banner should not be blue 👍 ! I would go for orange (a warning color).

Updated on archive.docs.dagger.io and https://archive.docs.dagger.io/0.2/


Prerendered +server routes don't use the specified HTTP response headers

Describe the bug
Prerendering a +server.ts file causes its HTTP response headers to be ignored.
E.g., I want to prerender an atom.xml file for a blog site. I'd like to override the Cache-Control and Content-Type headers. When I add export const prerender = true and run pnpm preview, this page renders with content-type: text/html and no cache-control header at all:
import type { RequestHandler } from './$types';

export const prerender = true;

export const GET: RequestHandler = async ({ url }) => {
  const body =
    '<?xml version="1.0" encoding="utf-8" ?>\n<feed xmlns="http://www.w3.org/2005/Atom">\n</feed>';
  const headers = {
    'Cache-Control': `max-age=0, must-revalidate`,
    'Content-Type': 'application/atom+xml',
  };
  return new Response(body, {
    status: 200,
    headers,
  });
};

Workaround is to only prerender HTML pages since their content type is text/html, and only those that don't need header overrides such as Cache-Control.
Reproduction
https://github.com/BMorearty/sveltekit-prerender-headers
Clone this repo and build it for production (bug does not reproduce in dev mode):
$ pnpm install && pnpm build && pnpm preview
Then in your browser, open the Network debug panel.
Then go to http://localhost:4173/atom.xml. Note in the Network panel that the Content-Type
is text/html when i should be application/atom+xml, and there is no Cache-Control
header. Both headers are specified in /src/routes/atom.xml/+server.ts but are being ignored.
Also note that atom.xml renders as an HTML page, not as XML. That's due to the incorrect
Content-Type.
Logs
No response
System Info
System:
    OS: macOS 13.2.1
    CPU: (8) arm64 Apple M1
    Memory: 226.09 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 18.12.1 - ~/.nvm/versions/node/v18.12.1/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v18.12.1/bin/yarn
    npm: 8.19.2 - ~/.nvm/versions/node/v18.12.1/bin/npm
  Browsers:
    Chrome: 110.0.5481.177
    Firefox: 110.0.1
    Safari: 16.3
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.0.0
    @sveltejs/kit: ^1.11.0 => 1.11.0
    svelte: ^3.56.0 => 3.56.0
    vite: ^4.1.4 => 4.1.4

Severity
serious, but I can work around it
Additional Information
No response

This is a general prerender limitation. Prerendering means the result is on disk as a static asset, which means whatever serves those assets is in charge of defining those headers - there's no SvelteKit-aware runtime involved that could add these.
The content-type at least should be fine on most deployment platforms because they know what content-type to give a .xml file.

@dummdidumm Got it, thank you. Do you know, does SvelteKit control the static file serving of pnpm preview, or does Vite control it? As stated in the bug description, pnpm preview returns the wrong Content-Type header.
You're right that when I deploy my site to a server (Cloudflare in this case) it ignores my headers but does see the .xml file extension and returns a Content-Type: application/xml header (not my application/atom+xml but close enough).
Also I noticed that after pnpm build, my .svelte-kit/generated/prerendered.json file includes the following, which I originally hoped would be passed on to pnpm preview and the deployment platform to tell it what mime type to use but maybe it isn't:
    "assets": [
      [
        "/atom.xml",
        {
          "type": "application/atom+xml"
        }
      ]
    ],

FWIW, I tested this on Cloudflare Pages with pre-rendered sitemap.xml, rss.xml, and manifest.webmanifest. These are all served with type/html when using npm run preview locally, but Cloudflare Pages automatically assigned the proper mime types:

sitemap.xml -> application/xml
rss.xml -> application/xml
manifest.webmanifest -> application/manifest+json

Tested in Chrome and Safari with network inspector.

@jasongitmail @BMorearty do you mind opening a separate issue regarding vite preview and the incorrect mime types? I have a feeling that is something we could fix. The code for how requests are handled during vite preview is located here https://github.com/sveltejs/kit/blob/master/packages/kit/src/exports/vite/preview/index.js . Perhaps we can add some extra logic to ensure it handles these mime types correctly?

Maybe @jasongitmail or someone else could do it. I’m pretty out of touch with this code at this point.

@s3812497 can we use the mime package to detect the type of the pathname and use that type instead of text/html in Content-Type header, like this? this may have some drawback as it seems overly simple to me

...

if (prerendered) {
const type = mime.getType(pathname);
res.writeHead(200, {
        'content-type': type ?? 'text/html',
	etag
});

fs.createReadStream(filename).pipe(res);
}

...

I created the issue https://github.com/sveltejs/kit/issues/10839

I've responded on https://github.com/sveltejs/kit/issues/10839 with some notes about how it's supposed to work if anyone would like to take a stab at fixing it. I've also added a note about the expected extensions for atom and rss files. I'm going to hide the comments here now that are talking about mime types and we can take the discussion about that to the new issue

there might be some trickery around CSP nonces to figure out: https://github.com/sveltejs/kit/issues/9235


Error converting element ID when element returned inside of a JSON object

When I return a web element as the result of a JavaScript script then I am able to use it fine (e.g. invoke click, getTagName, etc.). However, if I return some web element(s) inside of a result object then trying to use one results in "Error converting element ID for using in WD atoms".
The below example works for Chrome, Firefox, Android, etc. but not for iPhone via Appium:
package com.example;

import org.openqa.selenium.Capabilities;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import java.net.MalformedURLException;
import java.net.URL;
import java.util.Map;

@SuppressWarnings("unchecked")
public class FindElementByJavaScriptDemo {
    public static void main(String... args) throws MalformedURLException {
        WebDriver webDriver = createWebDriver();
        try {
            webDriver.get("https://www.google.com/");
            JavascriptExecutor javascriptExecutor = (JavascriptExecutor) webDriver;
            Object result = javascriptExecutor.executeScript("return {" +
                    "    element: document.getElementById('lst-ib') " +
                    "}");
            Map<String, ?> object = (Map<String, ?>) result;
            WebElement webElement = (WebElement) object.get("element");
            System.out.println(webElement.getTagName());
        } finally {
            webDriver.quit();
        }
    }

    private static RemoteWebDriver createWebDriver() throws MalformedURLException {
        return new RemoteWebDriver(createRemoteAddress(), createDesiredCapabilities());
    }

    private static URL createRemoteAddress() throws MalformedURLException {
        String username = System.getenv("SAUCE_USERNAME");
        String accessKey = System.getenv("SAUCE_ACCESS_KEY");
        String host = "ondemand.saucelabs.com:80";
        return new URL("http://" + username + ":" + accessKey + "@" + host + "/wd/hub");
    }

    private static Capabilities createDesiredCapabilities() {
        DesiredCapabilities desiredCapabilities = DesiredCapabilities.iphone();
        desiredCapabilities.setCapability("appiumVersion", "1.5.3");
        desiredCapabilities.setCapability("deviceName", "iPhone Simulator");
        desiredCapabilities.setCapability("deviceOrientation", "portrait");
        desiredCapabilities.setCapability("platformVersion", "9.3");
        desiredCapabilities.setCapability("platformName", "iOS");
        desiredCapabilities.setCapability("browserName", "Safari");
        return desiredCapabilities;
    }
}

Exception in thread "main" org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Error converting element ID for using in WD atoms: :wdc:1472078050978 (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 110 milliseconds
Build info: version: '2.53.0', revision: '35ae25b1534ae328c771e0856c93e187490ca824', time: '2016-03-15 10:43:46'
System info: host: 'NTISP138', ip: '<IP_ADDRESS>', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_60'
Driver info: org.openqa.selenium.remote.RemoteWebDriver
Capabilities [{orientation=PORTRAIT, networkConnectionEnabled=false, noReset=true, webdriver.remote.quietExceptions=true, hasMetadata=true, keepKeyChains=true, databaseEnabled=false, deviceName=iPhone Simulator, launchTimeout=180000, platform=MAC, backendRetries=4, showIOSLog=true, desired={showIOSLog=true, orientation=PORTRAIT, noReset=true, newCommandTimeout=0, platformVersion=9.3, webdriver.remote.quietExceptions=true, browserName=safari, keepKeyChains=true, platformName=iOS, deviceName=iPhone Simulator, launchTimeout=180000, backendRetries=4}, webdriver.remote.sessionid=10bf17df6e8149d88b1d5fbabbbf9da9, newCommandTimeout=0, platformVersion=9.3, locationContextEnabled=false, webStorageEnabled=false, takesScreenshot=true, browserName=safari, javascriptEnabled=true, platformName=iOS}]
Session ID: 10bf17df6e8149d88b1d5fbabbbf9da9
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:422)
	at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
	at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
	at org.openqa.selenium.remote.RemoteWebElement.getTagName(RemoteWebElement.java:144)
	at com.example.FindElementByJavaScriptDemo.main(FindElementByJavaScriptDemo.java:24)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:147)

Can you provide the server logs? As a gist?

server logs for appium/appium-ios-driver issue #173

@imurchie Will you please provide an update on this? Should the server logs I provided help? Thanks.

@mfulton26 the reason is that the element ID returned by your call to execute script is not an Appium element id, it is a webdriver atoms element id. So Appium itself doesn't know anything about it. This can probably be fixed somehow, but first, what is the reason you are retrieving elements using executeScript instead of one of the regular find methods?

Thank you for the reply @jlipps.

@mfulton26 the reason is that the element ID returned by your call to execute script is not an Appium element id, it is a webdriver atoms element id. So Appium itself doesn't know anything about it.

If I execute return document.getElementById('lst-ib'); using WebDriver.executeScript then I can successfully interact with the returned WebElement (i.e. I can call getTagName(), etc. without getting an error).
If I execute return { element: document.getElementById('lst-ib') }; and unpack the WebElement returned in the object result then I cannot successfully interact with it (like in my example code I provided earlier).
Interestingly enough, if I execute return [document.getElementById('lst-ib')]; and get the first element of the array/list it also works fine.
i.e. There doesn't appear to be an issue with returning elements via JavaScript in general but only when it is a property of an object.
Does appium-ios-driver have logic to walk JavaScript object trees and appropriately serialize elements? e.g. I'd like to be able to return something like { foo: { bar: { element: e }, baz: false } } in which case the element is inside of a nested object.
--
In my real script I'm not using getElementById or anything similar to the standard WebDriver API methods (id, linkText, name, xpath, etc.). I'm using the CSS Box Model to return an tree of objects representing the visible boxes along with their displayed content which includes elements and strings of text.

Thanks for the explanation @mfulton26. I think the issue is indeed that we don't have generic recursive element replacement in objects returned from the atoms. As you can see in the logic here: https://github.com/appium/appium-ios-driver/blob/master/lib/commands/web.js#L409-L439
We basically account for the possibilities of the element being returned itself or in an array, not nested inside an object.
I don't see why we wouldn't accept a PR that fixed it though! The only issue is that there could be a collision with an object that has an ELEMENT key that isn't actually a Selenium element. Guess that's probably not very likely.

I don't have a Mac and I am guessing that without one I won't be able to test my change end-to-end so I'm not sure I'd be able to do a PR. Please advise. Thank you.

OK, linked it to appium/appium, and will close here. It's in our list to work on, but prioritized below other things since we're trying to get a release out.


Logger

Hi,
Is it possible to fetch logger history install of HTTP history?

Duplicate of #3
It would be nice, but it seems Burp doesn't allow for this in extensions.
I'm open to suggestions on this matter.


fix: sax parser encoding overrides

What problem is this PR intended to solve?

XML::SAX::Parser#parse_memory now accepts an optional encoding argument. When not provided, the parser will fall back to the encoding passed to the initializer, and then fall back to autodetection.
XML::SAX::ParserContext.memory now accepts an optional encoding_id argument. When not provided, the encoding will be autodetected.
XML::SAX::ParserContext.io's encoding_id argument is now optional, and when not provided will default to autodetecting the encoding.

Closes #918
Have you included adequate test coverage?
Yes, added through test coverage for both XML and HTML4 sax parsers.
Does this change affect the behavior of either the C or the Java implementations?
Updated both implementations.

I don't like how this ended up, will open a different PR that unifies the two SAX::Parser classes and the two SAX::ParserContext classes, and fixes the encoding issues in a more fundamental way.

See #3288


Support for prepared statements

As a performance enhancement for batch queries, it would be great to be able to prepare a query once and then execute it multiple times with different parameters.

If you're using sqlx::query()), query_as() or the macro versions, this is already the case. We cache prepared statements internally per-connection, no need to prepare them explicitly.

@nicoburns is that response satisfactory?

As @abonander said we use a prepared statement cache for queries executed through the high-level API, query(), query!, etc.
As of 0.3.x you can use the lower-level API to do an unprepared query as in conn.execute("INSERT ...")
Please re-open if you have any further questions about this.

@mehcode How is query() supposed to be used?
If I, for example, have this statement INSERT INTO test VALUES (?, ?); and I need to execute it 100 times with different values, how do I do it?
This doesn't seem very efficient, or prepared:
for i in 0..100 {
  let query = query("INSERT INTO test VALUES (?, ?);");
  query.bind(i);
  query.bind(data[i]);
}

@PonasKovas when you call Query::fetch() or Query::execute(), etc., the query string is passed to the [MySql/Pg/Sqlite]Connection which prepares the statement the first time it's executed and then automatically uses the cached prepared statement every time afterwards for the life of the connection, so the cost after the first time is just a hashmap lookup.

@abonander
Is it a hashmap lookup by the whole query string?
Could this be optimized by adding an execute and fetch API that takes a reference for a prepared statement (no bound arguments) and its parameters to execute?

@sharno yes it's a lookup using the entire query string but I don't expect it at all to be a bottleneck in a normal application; I imagine the network overhead of talking to the database, and waiting for the database to produce a response, is going to overshadow it by quite a bit.

Keep in mind that this is pretty much exactly what most other high-level database libraries do. We're both "raw SQL" and "high-level" but the point stands (and isn't remotely unique either if you look to most of the database libraries of environments like Node.js or Go).

At a later time I wouldn't mind seeing a more manual prepare/execute API be added. It's just not something I feel is important to design or implement at this time.

I would also be interested in having a low level prepare/execute infrastructure for prepared statements. There are just situations where the hashmap lookup matters. For example for all sqlite queries there is no network roundtrip.

Was that ever changed? I am also looking for an explicit prepare.


Make build process for free code signing certificate automatic and transparent

In order to use the free certificate, the build process has to be fully automated and integrated with SignPath.io, to ensure that the resulting binary results directly from the source code checked into the repository.
This would mean a basic CI/CD implementation. SignPath recommends AppVeyor.
As for how to setup AppVeyor with C/C++: https://www.appveyor.com/docs/lang/cpp/

Fixed in b44f7aff1952b4a8ae8208b4b400496dd466d553, 5 years ago

I think signing shouldn't happen as part of post-build process, because not everyone has a certificate, not everyone should have a certificate, and local debug builds not necessarily should be certified.
SignPath wants to make sure between git clone, msbuild, and certification, nothing else is happening.

Also, it won't be possible to break auto-updates, and we will have the possibility to setup a nightly release stream.

Also, it won't be possible to break auto-updates

Is that a challenge?  We can find a whole lot of more creative ways to break them. x) I think the restructuring "oops we never tested the directory creation feature of our auto-updater" was already better than this.

I can look into setting AppVeyor up this week.

See their general policy: https://github.com/SignPath/Website-old/blob/v2/src/drafts/oss_policy.md
Alternatively we could always just pay a monthly fee...


flaky test in ClusterStateControllerTest

I see things like this occasionally:
[ RUN      ] ClusterStateControllerTest.TestUsesLargestSTHWithIdenticalTimestamp
cpp/log/cluster_state_controller_test.cc:385: Failure
Value of: sth.ValueOrDie().tree_size()
  Actual: 1000
Expected: cns2.newest_sth().tree_size()
Which is: 1001
[  FAILED  ] ClusterStateControllerTest.TestUsesLargestSTHWithIdenticalTimestamp (1011 ms)

I also saw that on the Travis build this morning. Going to have a look at it.

Also this one just failed.
[ RUN      ] ClusterStateControllerTest.TestKeepsNewerSTH cpp/log/cluster_state_controller_test.cc:302: Failure Value of: sth.ValueOrDie().timestamp()   Actual: 100 Expected: newer_sth.timestamp() Which is: 101 [  FAILED  ] ClusterStateControllerTest.TestKeepsNewerSTH (1006 ms)

Both of these tests rely on sleep()


When will cardano-graphql release an update to support hard forks?

Ask a question
Because the synchronization of block data is relatively slow, a hard fork upgrade will be carried out at the end of this month. I want to upgrade our nodes in advance. When will the new version of cardano-graphql support this hard fork upgrade be released?
If it's released too late, and we haven't synced to the latest block data by the time of the hard fork, we may have to suspend our ada service,that's too bad

the synchronization of block data is relatively slow

Are you referring to resyncing the node from genesis? If so, it's not required. The cardano-db-sync state, which does require a resync, can be accelerated by using a recent snapshot linked from the releases page.
The release is dependent on a new version of cardano-node. I'm not in a position to comment on timelines, but you can expect there to be sufficient time to get your instances updated, and the DB resynced.
#730 covers this question, so I'll close this as a duplicate.


Minor fixes for the ToC file

The CraftSim.toc file needs some minor fixes.

Interface: 100206
OptionalDeps: LibStub, CallbackHandler-1.0, Ace3, LibDBIcon-1.0, LibCompress, Auctionator, TradeSkillMaster, RECrystallize, OribosExchange

Loading the external libs first is a good idea. I think the custom libs should be added to the OptionalDeps line, but I am not familiar with their load procedure. Typically, yes, you would add things like GUTIL and GGUI to the line, but in this case, I am uncertain.

I think this might not be necessary since they are listed in the embeds and thus will be loaded based on this

True, although the externals are likely being loaded by other addons. You could be correct about the OptionalDeps. I did say minor fixes. I guess that means simply an Interface line bump, but no rush on that front. If users cannot or have not enabled loading out of date addons by now, there is no helping them 😜

I think that is and should be prevented by loading specific versions of deps using LibStub

FYI, eventually GitHub is going to depreciate checkout@v2 in the workflows folder, release.yml. The current version is checkout@v4. Just a heads-up. It is line 34 in your copy.

FYI, eventually GitHub is going to depreciate checkout@v2 in the workflows folder, release.yml. The current version is checkout@v4. Just a heads-up. It is line 34 in your copy.

thx, good to know


Overwrite existing operator warnings

Why do the Overwriting existing operator warnings appear in the test logs?
These occur in three tests that you can see in the current travis-ci log.
https://travis-ci.org/NervanaSystems/ngraph/jobs/530848958
Is there some way to disable or expect these warnings for the tests?
[ RUN      ] onnx_INTERPRETER.model_override_op [WARN] 2019-05-10T17:57:11z src/ngraph/frontend/onnx_import/ops_bridge.cpp 160	Overwriting existing operator: ai.onnx.FalseAdd:1 [       OK ] onnx_INTERPRETER.model_override_op (1 ms) [ RUN      ] onnx_INTERPRETER.import_non_existing_file [       OK ] onnx_INTERPRETER.import_non_existing_file (0 ms) [ RUN      ] onnx_INTERPRETER.model_unsupported_op [       OK ] onnx_INTERPRETER.model_unsupported_op (0 ms) [ RUN      ] onnx_INTERPRETER.model_custom_op [       OK ] onnx_INTERPRETER.model_custom_op (1 ms) [ RUN      ] onnx_INTERPRETER.model_custom_op_default_domain [WARN] 2019-05-10T17:57:11z src/ngraph/frontend/onnx_import/ops_bridge.cpp 160	Overwriting existing operator: com.intel.ai.AddQ:1 [       OK ] onnx_INTERPRETER.model_custom_op_default_domain (1 ms) [ RUN      ] onnx_INTERPRETER.is_op_supported [WARN] 2019-05-10T17:57:11z src/ngraph/frontend/onnx_import/ops_bridge.cpp 160	Overwriting existing operator: com.intel.ai.AddQ:1 [       OK ] onnx_INTERPRETER.is_op_supported (0 ms)

I see a solution for a similar issue, disabling compiler warnings  with target_compile_options in the cmake file.    https://github.com/heinrich5991/ddnet/commit/00154bd28030c323ec1e9f14030a1537909ab267 .
Using ctests, I can use set_tests_properties  as shown at https://stackoverflow.com/questions/38155543/setting-ctest-cmake-environment-variables-configuration-specific
their example:
if(WIN32)     set_tests_properties(${my_test} PROPERTIES ENVIRONMENT "MYVAR=\\dir_for_plugins\\$<CONFIG>") endif()
I suppose, though, that the gtests are custom targets, so maybe passing some environment variable for the gtest custom target, as done in the example below from https://stackoverflow.com/questions/35029277/how-to-modify-environment-variables-passed-to-custom-cmake-target/35032051
 add_custom_target(newtarget ${CMAKE_COMMAND} -E env NAME=VALUE somecommand)

These warnings occur in tests, which are supposed to verify the behaviour of Overwriting existing operators. These warnings are expected and we aren't planning on disabling them at this time.


etcdmain: Proxy doesnt specify - listening on http or https

etcdmain: Proxy doesnt specify - listening on http or https
Fixes #3460

Can you please remove the first commit? We only need the 2nd one, right?


WM_COPY must return a nonzero value on success.

If you overwrite WM_COPY, and return zero then an edit control will not delete the Text in response to a WM_CUT message.
I think it does internally call the WM_COPY handler, and then deletes the text only if WM_COPY handler returned a nonzero value.
Please review/correct the documentation.

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


[boost] update to 1.73.0

Updates Boost to 1.73.0.
Release Notes: https://www.boost.org/users/history/version_1_73_0.html
Fixes #11147

There are still ports that list boost-disjoint-sets as a dependency, so vcpkg is unable to proceed.

There are still ports that list boost-disjoint-sets as a dependency, so vcpkg is unable to proceed.
Thank you for help. I didn't catch this from the original error message..

https://github.com/microsoft/vcpkg/tree/master/ports/nowide should be removed when this PR merged.

The CI test pass! thanks for the quick updates!

The CI test pass! thanks for the quick updates!

I hope the vcpkg's team could review and merge it quickly too)

/azp run

Alright, awesome, thanks @yurybura :D


Implement trust levels

Since SS14 server sandboxing isn't really a thing, we need to implement BYOND trustlevels.

Trusted - YOLO
Safe - Popup for DLLs, prompt for every file I/O outside of the project directory
Ultrasafe - Same as safe but prompt for any file I/O

shell() is presumably blocked at safe or higher

A useful improvement would be terminal only prompts for headless servers

The PR open for this issue (#637) uses a CVar to set the trust level, which can be set either in the server_config.toml file or as a --cvar argument when running the server.


Text display on mouse hover over a link is light on light in light mode and dark on dark in dark mode

Hi, thanks a lot for this very nice theme, I like it a lot.
I found one issue: it seems as if the text that is displayed when the mouse hovers over a link uses light text on a light background in the light theme and can therefore not be read (likewise dark text on dark bg is used in the dark theme):

Kind regards,
Axel

Thanks for using! ❤ I tried but didn't reproduce this problem. Is this folder a page? Or try a forced refresh? The shortcut is Ctrl/Cmd + Shift + R.

Hi, thanks a lot for checking this out, the theme is really looking VERY nice!
folder is indeed a link to a local directory, you should be able to reproduce it with this text:
([folder](/home/apahl/mydir/))
(Refreshing or restarting Logseq did not change the behaviour.)

Ok, sorry, I just checked with the default Logseq theme and there the behavior is the same (text and bg color are the same).
So it seems, that this is actually not an issue with your theme, sorry for bothering you.
Please feel free to close this.
KR Axel

Got it. I'll also see if I can fix this for Logseq.


Example: Vis and Filter Components

This PR creates a new extension example to illustrate how Vis and Filter components can be used together within the extension framework.
Screenshot:

Thanks for the feedback @bryans99! I think I got everything. I get what you mean about being hard to find some good query slugs to test with. I wish I could hard-code some examples to start with, but those are unique to every instance. I updated the description to say that you should generate a new query in explore to start with. Let me know if you think that clears things up enough!


⚠ Processors has degraded performance

In 2215f99, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 112 ms

Resolved: Processors performance has improved in 15155bd.


chore: remove stream-of-consciousness uses of have, replace and suffices

No changes to tactic file, it's just boring fixes throughout the library.
This follows on from #6964.

The fixes have been found by disabling the tactics, in #10534, but the current PR does not touch the tactic files to make it easier to review and uncontroversial.
After this PR, there are just two remaining uses of the old style have, in test/slim_check, which I don't know how to convert to the new style without making them noisy (plus the other ones that will have been introduced to master in between!)

I have reverted the two noisy tests to the previous versions, which are non-noisy but use the old-fashioned have. I think this shouldn't block this PR, since remaining issues can be discussed in #10534 while here we are just doing a cleanup of the library, which doesn't have to be complete.

bors merge

since remaining issues can be discussed in #10534

While I definitely agree this split was a good idea, I think we might want to merge #10534 sooner rather than later, to avoid regressions appearing.


Curl error occurred: SSL certificate problem?

I get the SSL error, the information for the script is all OK
I use WINDOWS
PHP Fatal error:  Uncaught Hitrov\Exception\CurlException: curl error occurred: SSL certificate problem: unable to get local issuer certificate, response:  in C:\Users\NAME\Downloads\oracle\oci-arm-host-capacity\src\HttpClient.php:31
Stack trace:
#0 C:\Users\NAME\Downloads\oracle\oci-arm-host-capacity\src\OciApi.php(210): Hitrov\HttpClient::getResponse(Array)
#1 C:\Users\NAME\Downloads\oracle\oci-arm-host-capacity\src\OciApi.php(102): Hitrov\OciApi->call(Object(Hitrov\OciConfig), 'https://iaas.us...', 'GET', NULL, Array)
#2 C:\Users\NAME\Downloads\oracle\oci-arm-host-capacity\index.php(66): Hitrov\OciApi->getInstances(Object(Hitrov\OciConfig))

What can it be?

that's common issue on fresh local environment, google it

I've already tried searching and haven't found any solution that works.
how should i search?

https://stackoverflow.com/questions/28858351/php-ssl-certificate-error-unable-to-get-local-issuer-certificate

https://stackoverflow.com/questions/28858351/php-ssl-certificate-error-unable-to-get-local-issuer-certificate

sorry, but I can't, I have no idea what it is