Configuring a custom type mapper for a generated column breaks value generation

Version: 2.1.0-preview2-30132
When using a type mapper as described in #242 on a generated column, EF Core seems to use the model type instead of the provider type to check if its value can be generated.
To reproduce, create an entity with a rowversion property and configure a custom type mapper on that property. EF Core will not handle it as a rowversion column after this.
The fix might be changing .ClrType to .GetProviderClrType() in ValueGeneratorConvention.cs, but I have not tested this and I don't know what other implications this might have.

@LeroyK I'm working on fixing the issues with value generators and converters, but I am now unsure if this is what you are really hitting, since rowversion doesn't use a value generator. Can you provide some more details on what conversion you are using?


File corrupted after volume revert from NFS backup

I tried experimental helm chart of longhorn. Very impressive tool to manage all volumes of kubernetes cluster. But found one issue. Following are the steps, I took:
I installed minio in kubernetes with default longhorn storage class. Then, uploaded one file in minio bucket. Took backup & snapshot. Uploaded 2nd file & took backup & snapshot. I reverted backup after first file upload.
Files disappears from minio. It seems like PV is not re-mounted. So I redeployed minio & uploaded file is appeared in minio. Then reverted backup taken after 2nd file upload. Redeployed minio, and observed that one file is in good condition, but second file was of 0 bytes & when opened this 2nd word file, text was missing.
This process corrupted my file uploaded in minio bucket.
Any idea, why volume is corrupted during revert process?

Are you using revert snapshot?
As you can see there is a warning in the revert snapshot operation, that it cannot be done when the volume is mounting on the node, otherwise, it will cause filesystem corruption. Because you cannot change the underlying block device without the filesystem's awareness.
Another issue is, you need to make sure the data has been written into the block device before taking snapshot. The data can be cached in the filesystem level for a period of time. Normally you can ensure the data was written using sync or umount the volume from the filesystem.

Thanks for quick response @yasker . Yes, I did it using revert option provided in snapshot drop-down menu.
If that's is not the correct way, then what is the use of this option?
I cann't unmount volume as it is bounded by pod's volume claim. Should I have to take some other steps before reverting or any other seamless option?
Actually, I want to use Longhorn for MySQL HA cluster with NFS backup support.
I would be happy, if you can give your recommendation for my scenario. Little bit outside of this issue.

Longhorn with NFS backup or
Direct NFS with seperate directories for all MySQL HA nodes or
MySQL setup on native host outside Kubernetes  cluster.

@AmreeshTyagi Longhorn is a block storage solution like EBS. You cannot suddenly change a block device's content while the filesystem is still mounted. It's like writing to the block device directly, bypassing the filesystem, while you're still using it as a filesystem.
The revert can be done if you've unmounted volume but keep it attached to the node. It's not intuitive for Kubernetes since Kubernetes always want to attach and mount happens together. But for the block storage, attach and mount are two different operations.
To use the revert, you can:

Stop the pod.
Attach the volume to any node using UI. Revert to a previous snapshot. Detach the volume.
Start the pod again.

And make sure data are synced (e.g. by running sync in your container) to the block device before you took the snapshot.
For how to use backup, see my demo at https://www.youtube.com/watch?v=vRqvz-Ii49A&t=3326s
For your question on MySQL cluster, you can use Longhorn directly with backup. Block device provides better performance than NFS, and MySQL Cluster is a shared-nothing architecture which suites block storage solution better.

@yasker Thanks a lot!
I watched the video. It's really helpful to understand the features of longhorn. It solved my problem of backup too.
I will go with your suggestion & use Longhorn with backup for MySQL HA cluster.
Closing this issue.


Add API for SCHANNEL ciphers

Just wondering maybe this would be useful:

Right now i've implemented it to call into Bcrypt.dll and list all enabled cipher suites. You can pretty much get the same thing from PowerShell's Get-TlsCipherSuite, but i'm not very comfortable taking a dependency on a cmdlet that may change (also we need to import System.Management.Automation.dll, which is mostly a PowerShell thing).
This could be exposed as:
/api/schannelciphers
(as pictured)
and
Tools → TLS Cipher Suites which returns a View (HTML), similar to what Tools → Webhooks gives you now.
The view could also have an input box to test a remote endpoint. On submit we redirect to
https://www.ssllabs.com/ssltest/analyze.html?d=REMOTE.API.URL&latest

or we wrap the SSL Labs API and show our own view. The latter I believe to be a bit much, although impressive to have.
Ref: https://stackoverflow.com/questions/38392925/only-on-azure-could-not-create-ssl-tls-secure-channel (not an isolated occurrence of this question).
The awesomest version of this implementation would be a Diagnose button, that would try to match ciphers against the remote and give our best guess to why TLS is failing (for example, the remote wants to use RC4, or worse, a cipher suite only found in SSL 3.0).

But isn't that also affected by the targetFramework people set in their web.config, as we found recently? e.g. if you target 4.5, you may fail to reach a server that only supports TLS 1.2, but we would not be able to detect that as their would be no mismatch.
I'm also not sure there is enough demand for this to add a Kudu feature. Maybe as a first step, we should have a good App Service doc page that guides users step by step on what they should try when they hit this type of issues.

Right, an ASP.NET application would first be affected by the target framework version, picks up a protocol version - let's say TLS 1.2 - and just then is affected by the order of cipher suites enabled in the OS (SCHANNEL).
A well written doc page is an even better idea. We should try to list common pitfalls, how things work for ASP.NET, .NET console apps (WebJobs), and maybe not just for .NET, but for programming stacks that come with their own crypto library (usually OpenSSL, and usually outdated).

I'll try to scaffold a doc page and ask for review internally. Closing this.


Keyerror:"XX"

I got the Keyerror:"XX" like this when I wanted to parse a sentence that only includs one word "grandpa".  What inconceivable is the word "grandma" can run correctly.   I don't know the reason. Can you help me ?

Could you include more detailed instructions on how to reproduce the issue? E.g., the commands to run, the input files.

Could you include more detailed instructions on how to reproduce the issue? E.g., the commands to run, the input files.
Firstly, I modified the input_examples.txt in the project like this:

And then, I modified the parse.yaml in the project like this:

Finally, I ran a command: python parse.py.  Unfortunately, I got a KeyError.

What's interesting is that if I modifiy the input_examples.txt like this(the difference is just a dot):

It could work, and produce a result:

I will look into it and hopefully get back to you in one or two weeks.

I will look into it and hopefully get back to you in one or two weeks.

Many thanks for your kind and warm help.

I tried both grandpa and grandpa. but was unable to reproduce this error.
For grandpa, I got (NP (NN grandpa)).
For grandpa., I got (NP (NN grandpa) (. .)).
It's weird that the . is missing in your grandpa. example.
From your error message, it seems that an illegal XX POS tag was accidentally introduced. I suggest you looking into the POS tagging code to figure out where it came from.
https://github.com/princeton-vl/attach-juxtapose-parser/blob/eb85d61fb10ea3d9820de68e996fb5039c2c80a0/parse.py#L50-L52


NVM help runs every time I open a terminal tab

Just a bit annoying.
Using oh-my-zsh, iterm2 on OSX Yosemite.

Can you gist your profile file?

# Path to your oh-my-zsh installation.
export ZSH=$HOME/.oh-my-zsh

ZSH_THEME="robbyrussell"

plugins=(git brew npm sublime web-search node)

# User configuration

export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
export PATH="$PATH:/usr/local/sbin"
export PATH="$PATH:/usr/bin/vi"

# virtualenv wrapper config
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
export PIP_VIRUTALENV_BASE=$WORKON_HOME

source $ZSH/oh-my-zsh.sh

export PATH="$PATH:$HOME/.rvm/bin" # Add RVM to PATH for scripting
export GOPATH="$HOME/gocode"
source $HOME/git-hub/init

export PATH="$HOME/.node/bin:$PATH"

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm

Thanks for getting back to me so quickly!

np!
hmm, that looks normal to me. What happens if you try it on standard zsh, without omz?

Same deal, doesn't happen when I open bash though (whew). Interestingly, when I open a new tab with a .nvmrc file in it, it doesn't do it.

hm, what's in your .nvmrc file?

My root (~/.nvmrc) is blank but in a project directory it just has one line (4)

Ahh, fixed it by deleting the one I have in my $HOME directory!

aha, i definitely didn't expect anyone to have a blank file. That is something I should fix.

It's all good. Thanks for the help and the project!

just remove && . "$NVM_DIR/nvm.sh"  ,it will be ok


Docs Parameters does not include elements

The parameters section for docs does not have documentation for elements.

Thanks for point this out.  This is an oversight.

Actually it is in there under the draw section for commands.


PEtab cost function produce occasional DomainError

I am fitting the parameters of a SIR model. It works, but afterwards, I want to plot the 2d fitness landscape, and turn out the fitness function errors for certain parameter combinations. Here's an example:
Create the data.
using Catalyst, PEtab, Plots

rn = @reaction_network begin
    k1, S + I --> 2I
    k2, I --> R
end

u0 = [:S => 999.0, :I => 1.0, :R => 0.0]
p_true = [:k1 => .001, :k2 => 0.2]

using OrdinaryDiffEq, Random, Distributions
oprob = ODEProblem(rn, u0, (0.0, 50.0), p_true)
sol = solve(oprob, Tsit5(); saveat=0.1)
data = [rand(Normal(val, val*0.1)) for val in sol[:I][10:20:end]]

plot(sol; idxs=:I, label="True solution")
plot!(sol.t[10:20:end], data; label="Measurements", seriestype=:scatter)

Fit the parameters
using DataFrames
measurements = DataFrame(obs_id="obs_I", time=sol.t[10:20:end], measurement=data)
petab_model = PEtabModel(rn, observables, measurements, params; state_map=u0)

petab_problem = PEtabODEProblem(petab_model)

using Optim
p0 = generate_startguesses(petab_problem, 1)
res = calibrate_model(petab_problem, p0, IPNewton())

oprob = ODEProblem(rn, u0, (0.0, 50.0), get_ps(res, petab_problem))
sol = solve(oprob, Tsit5(); saveat=0.1)
plot!(sol; idxs=2, label="Fitted solution")

Problems
The fit is good, but we do get our first potential problem. Running
p0 = generate_startguesses(petab_problem, 1)

occasionally gives errors like this:
ERROR: DomainError with -1.3967948043484448e-18:

which seems inconvenient and definitely something that could be avoidable.
Next, the cost function fails for certain values. E.g.
f = petab_problem.compute_cost
f([-3.0, 1.0])

gives a
ERROR: DomainError with -4.055251469405867e-16:
log was called with a negative real argument but will only return a complex result if called with a complex argument. Try log(Complex(x)).
DomainError detected in the user `f` function. This occurs when the domain of a function is violated.
...

However, this is a valid parameter set for stimulating the model:
oprob = ODEProblem(rn, u0, (0.0, 50.0), [:k1 => 10^(-3.0), :k2 => 10^1.0])
sol = solve(oprob, Tsit5(); saveat=0.1)
plot(sol)

So while f should maybe return a really bad value (because it is a really bad parameter set), the function shouldn't error, right?

Just to get on the same page - that p0 = generate_startguesses(petab_problem, 1) sometimes yields ERROR: DomainError with -1.3967948043484448e-18: is this a domain error associated with trying to take log10 of a negative number? (not something in the ODE?). If the case it is an irritating rounding error that easily can be fixed.

I think this is the former, unfortunately. I also think it is the same error in both cases, i.e. the cost function errors when evaluated for some (supposedly valid) parameter sets. When the random guess picks one of these, an error is caused.
Here follows a fully reproducible example in a single block of code (seems part of it slipped in my initial post). If you want, I could try to reduce it with a smaller model, but I am not sure if that would actually help.
using Catalyst, PEtab, Plots

# Declare model.
rn = @reaction_network begin
    k1, S + I --> 2I
    k2, I --> R
end
u0 = [:S => 999.0, :I => 1.0, :R => 0.0]
p_true = [:k1 => .001, :k2 => 0.2]

# Generate data.
using OrdinaryDiffEq, Random, Distributions
oprob = ODEProblem(rn, u0, (0.0, 50.0), p_true)
sol = solve(oprob, Tsit5(); saveat=0.1)
Random.seed!(1234)
data = [rand(Normal(val, val*0.1)) for val in sol[:I][10:20:end]]

# Create PEtab model.
@unpack I = rn
obs_I = PEtabObservable(I, 0.1*I)
observables = Dict("obs_I" => obs_I)

par_k1 = PEtabParameter(:k1)
par_k2 = PEtabParameter(:k2)
params = [par_k1, par_k2]

using DataFrames
measurements = DataFrame(obs_id="obs_I", time=sol.t[10:20:end], measurement=data)
petab_model = PEtabModel(rn, observables, measurements, params; state_map=u0)

petab_problem = PEtabODEProblem(petab_model)

# This fails.
petab_problem.compute_cost([-3.0, 1.0])

Also, for plotting and fitting the solution:
# Fit model to data.
using Optim
p0 = generate_startguesses(petab_problem, 1)    # Might require a few repetition to work.
res = calibrate_model(petab_problem, p0, IPNewton())

# Plot data
plot(sol; idxs=:I, label="True solution")
plot!(sol.t[10:20:end], data; label="Measurements", seriestype=:scatter)
oprob = ODEProblem(rn, u0, (0.0, 50.0), get_ps(res, petab_problem))
sol = solve(oprob, Tsit5(); saveat=0.1)
plot!(sol; idxs=2, label="Fitted solution")

Thanks, I can work with this! Will come back when figured out exactly where it goes wrong

I found what is probably the source of the bug in both cases, specifically the noise formula is:
σ = 0.1*I(t)

And during the simulation due to numerical errors we have for bad parameter vectors that I(t) goes below zero, and when evaluating the likelihood this will cause an error as we are computing log(σ).
I will make the cost function return Inf upon σ < 0 and I will also throw a warning, because the only time I see this being a frequent issue is when a noise function that can go to zero has been specified (and at least for the applications I know we seldom have such good measurements)

sounds good, thanks for the quick fix :)


Pass tags to recursive call to yankpad--run-snippet

Make sure the indent directives get passed to snippet insertion code

Hi! Thanks for the pull request! Just a quick question: Do we really need the indent tags for source block snippets? I haven't experimented with it, so perhaps there are cases where you want to modify the indentation behaviour even when inserting source code. I'm accepting the pull request, but would be happy if you could give an example where it could be useful :)

This is what prompted me to submit the patch:
** PlumbumExample                                 :src:indent_fixed:
#+BEGIN_SRC python
from plumbum.cli import Application
from plumbum import LocalPath as path, BG, FG, local
class ${1:MyApp}(Application):

    def main(self, filename):
        pass

if __name__ == "__main__":
    $1.run()
#+END_SRC

When this gets passed through to yas-expand-snippet, the ìf statement gets aligned with the def indent.  yas-expand-snippet needs to be directed to keep the indent fixed.

Okay, thanks!


Duplicate Dependencies in Scan output

Describe the bug
When I do a scan, the output of the scan shows duplicates.

Current behavior
I can send this privately if required.
Reproduction steps
No response
Expected behavior
No response
JFrog Frogbot version
Frogbot version: 2.19.7
Package manager info
nuget
Git provider
GitHub
JFrog Frogbot configuration yaml file
No response
Operating system type and version
Linux
JFrog Xray version
JFrog Xray version is: 3.74.8

Hi @Jetski5822 thank you for reporting this issue and for using Frogbot.
Our team will carefully review the issue, and we'll keep you informed about any progress or fixes.


Introduce a new '!j2-yaml:' tag

The tag provides Jinja templating capabilities for generating parts of
YAML structures. Two potential use cases are provided as test cases and
are linked in the documentation.
The new tag should also help address some use cases people were asking
about, like here:
https://groups.google.com/g/jenkins-job-builder/c/HkVZVuBDlKM.
Change-Id: I96392e42c3c79a9be0a8f736506908701251dd62

Considering +2 on upstream as one of the votes... Merging...


Declarative mapping layer - lenses - DSL for schema mappings

How easy it is to convert data to atomic data and vice versa is one of the most important metrics for us to optimise. Users should be able to effortlessly create, maintain and use these mappings to make data conversions.
But how? One solution is to write conversion tools for specific domains, such as Bookmarks, Contacts or Calendar items (see #89). Another is to build a bunch of libraries to facilitate this process. Another is to make publishing data easier, and let the data creators make the mappings #93.
Another way, is to allow users to describe mappings in a declarative language / DSL.
One interesting project that does this is Cambria. It introduces bidirectional lenses that describe data transformations between schemas. A core part of the propisition is to deal with schema changes, and let developers map their model to multiple API versions. (Thanks to @cole for mentioning this)
to be continued

I think it makes sense
I think it makes sense to distinguish between...:

mapping to AD from non-AD RDF data
mapping to AD from non-RDF semantic data (e.g. GraphQL or vfile or exif or LDIF)
mapping to AD from structured-but-non-semantic data (e.g. CSV or SQL)
mapping to AD from unstructured data to AD
mapping from AD to any of the above
bi-directional mapping between AD and any of the above

While 6) is cool, it is also the most complex to tackle, and also arguably the least important to have tightly integrated with Atomic Data: Projects like Cambria as a stand-alone tool can instead be extended to have AD as one of its supported transformation formats.

See also https://www.w3.org/TR/grddl/

GRDDL has been implemented in perl for XML and JSON.

Related list of (mainly) services to import non-RDF data into an RDF triple store: https://www.w3.org/wiki/RDFImportersAndAdapters


(Suggestion) Add a best girl tab for just the Aqours girls

There's currently a special contest for Aqours girls: http://schoolido.lu/contest/34/Who-s-your-favorite-Aqours-idol-/
Thanks for your suggestion <3


Changes logo when risezes the page

Description
When the user resizes the page to a certain point, or clicks the button to collapse the side menu, the logo configured in the environment is cropped to fit the size of the menu. The default logo of the ACS has a design in such a way that this behavior does not impact the presentation of the same, which, when cut, becomes a kind of "mini logo".
An extension was made to allow the administrator to define a logo for when the side menu is collapsed. In order to customize this behavior, the logo and mini logo properties in the /usr/share/cloudstack-management/webapp/config.json configuration file must be changed. These changes need to be performed on all MS nodes in the environment.
The properties referring to this enhancement are presented below, note that other properties of this file were omitted to avoid polluting the document.
{
    [..]
    "logo": "assets/logo.svg",
    "minilogo": "assets/mini-logo.svg",
    [..]
    "theme": {
        "@logo-background-color": "#ffffff",
        "@mini-logo-background-color": "#ffffff",
        [..]
        "@logo-width": "256px",
        "@logo-height": "64px",
        "@mini-logo-width": "80px",
        "@mini-logo-height": "64px",
    }
}

Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[x] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[ ] Trivial

How Has This Been Tested?
Sets icons for logo and mini-logo and resize the page to see if the logo changes.

@blueorangutan ui

@DaanHoogland a Jenkins job has been kicked to build UI QA env. I'll keep you posted as I make progress.

UI build: :heavy_check_mark:
Live QA URL: http://qa.cloudstack.cloud:8080/client/pr/6504 (SL-JID-1852)


This crate could be drastically simplified

So first, I'm convinced now that TARGET in a build script never points to a JSON file path.
Cargo does accept JSON file paths in its --target flag, as shown here:
https://github.com/rust-lang/cargo/blob/759431fe98c5e21546ef587945eb0a78cb60f331/src/cargo/core/compiler/compile_kind.rs#L54-L70
But it never passes it to build scripts as is, as shown here:
https://github.com/rust-lang/cargo/blob/759431fe98c5e21546ef587945eb0a78cb60f331/src/cargo/core/compiler/custom_build.rs#L161
Because the short_name method does take the triple from the JSON config if the --target value was a JSON file path:
https://github.com/rust-lang/cargo/blob/759431fe98c5e21546ef587945eb0a78cb60f331/src/cargo/core/compiler/compile_kind.rs#L110-L127
Second, I'm pretty sure that everything this crate extracts from said JSON file path is actually already available to the environment of the build script and has no business being extracted from a different source. Here is what is populated by Cargo in the build script environment:
("CARGO_CFG_TARGET_ARCH", "x86_64")
("CARGO_CFG_TARGET_ENDIAN", "little")
("CARGO_CFG_TARGET_ENV", "")
("CARGO_CFG_TARGET_FAMILY", "unix")
("CARGO_CFG_TARGET_FEATURE", "fxsr,sse,sse2,sse3,ssse3")
("CARGO_CFG_TARGET_OS", "macos")
("CARGO_CFG_TARGET_POINTER_WIDTH", "64")
("CARGO_CFG_TARGET_VENDOR", "apple")

So the entire crate, AFAICT, can be reimplemented to use that instead.
Cc @bnjbvr who wanted to remove the serde_json dependency altogether.

Thanks for filing an issue. If the build script doesn't support the custom target JSON value, we could rip a lot of code out indeed.
cc @sunfishcode @lachlansneff

I don't remember the reason why JSON support was needed in target-lexicon; @lachlansneff do you remember?
The CARGO_CFG_TARGET_* and friends don't match up exactly with the actual triple fields; rustc does its own custom normalization. For vendor, there's "unknown" vs "none", for environment, there's "musl" vs "musleabi", for arch, there's "thumbv7em" etc. vs "arm", for os, there's "linux" vs "android". target-lexicon wants to know the actual triple, not rustc's normalized version of it.
Also, target-lexicon aims to be usable outside of cargo and rustc, so even if those environment variables could be relied on, they wouldn't obsolete the rest of the crate :-).

The CARGO_CFG_TARGET_* and friends don't match up exactly with the actual triple fields; rustc does its own custom normalization. For vendor, there's "unknown" vs "none", for environment, there's "musl" vs "musleabi", for arch, there's "thumbv7em" etc. vs "arm", for os, there's "linux" vs "android". target-lexicon wants to know the actual triple, not rustc's normalized version of it.

Don't forget that TARGET contains the actual triple.

Also, target-lexicon aims to be usable outside of cargo and rustc, so even if those environment variables could be relied on, they wouldn't obsolete the rest of the crate :-).

I meant that this crate can use the environment to emit whatever it wants to emit, without relying on a JSON parser.

@sunfishcode Hmm, I can't remember why we added target config parsing. I seem to remember that it was necessary, but perhaps that was not true.

In that case, it seems to make sense to remove the JSON parsing altogether, at least until we find an actual use case that needs it. Anyone interested in submitting a PR for this? :smile:


CMU Panoptic

https://github.com/Arthur151/ROMP/blob/feaeb38d6a2809eac1979fed568d75c2f75eab2c/romp/lib/dataset/cmu_panoptic_eval.py#L56
Hi, I noticed that there is something like this. Why do we need to scale the kp2d like this?  And how did you generate the annotation for CMU?

Hi, ZhengdiYu,
For a fair comparison with previous methods, we directly use the evaluation data & protocol from previous method, CRMH.
https://github.com/JiangWenPL/multiperson
Their input image is of size, 832 x 512. Therefore, to convert it back to original image, we need to scale it like that.

Thanks. So they actually use a downsampled image for training and eval?
But I think that during pre-processing, all the the kp2ds will be rescale to [-1, 1]. Is this scaling in the dataloader still meaningful?

These data is just used for evaluation, no data from CMUP is used for training.
We need to make them correct. Correct scale consistent with original image is better.

Okay, I'm trying to play with the webcam now. But it show an animation character in the window. Can I use the default white mesh instead? Just like the mesh overlay on the image.

Please use the webcam of simple_rompGet Outlook for Android


Scatter plot showing only one point

Hi
I am having some issues plotting a simple scatter plot with no groups. Only one point is plotted and it does not seem to be an actual point of the data set rather some aggregation.
When group variables are provided it does work fine.
library(rcdimple)
dimple(cars,type="bubble",x="speed",y="dist") %>%
  xAxis(g, type = "addMeasureAxis") %>%
  xAxis(g, type = "addMeasureAxis")

dimplejs auto-aggregates.  While this "feature" can be really helpful, it can also be incredibly annoying especially with scatter plots.  The only way to avoid it is to force each point to be a unique group.  I discussed a little bit here.  Let me know if you still have questions, and I'll be happy to put more examples/discussion together.


Longest Increasing Subsequence

Fixes #528

Plz go through the guidelines and link your code with appropriate folder.


Connect functionalities from mesher and elements to plotter

This PR will connect functionalities from mesher and elements, and use PyVista to provide visual aid.

For reference, here is my playground script (for now).
import fastfem.mesh as m
import fastfem.plotter as p
import numpy as np

nh = 10
nv = 10
hl = 3
vl = 3
mesh = m.create_a_rectangle_mesh(
    horizontal_length=hl,
    vertical_length=vl,
    nodes_in_horizontal_direction=nh,
    nodes_in_vertical_direction=nv,
    element_type="triangle",
    file_name=None,
)

# Domains:
bottom_boundary = mesh["bottom_boundary"]
right_boundary = mesh["right_boundary"]
top_boundary = mesh["top_boundary"]
left_boundary = mesh["left_boundary"]
rectangle = mesh["surface"]

visualizer = p.VisualMesh(mesh)
visualizer.plot_mesh()

# Time
time_steps = 240
temperatures = np.zeros((time_steps, nv, nh))

# Dummy data
left_right_temp = 15
top_temp = 10
bottom_temp = 25
for t in range(time_steps):
    for i in range(nv):
        for j in range(nh):
            x = j / (nh - 1) * hl
            y = i / (nv - 1) * vl
            if j == 0 or j == nh - 1:
                temperatures[t, i, j] = left_right_temp
            elif i == 0:
                temperatures[t, i, j] = bottom_temp
            elif i == nv - 1:
                temperatures[t, i, j] = top_temp
            else:
                temperatures[t, i, j] = 20 + 20 * np.sin(2 * np.pi * x / hl) * \
                                        np.cos(2 * np.pi * y / vl) * \
                                        np.sin(np.pi * t / time_steps)

visualizer.animate_mesh(30, time_steps, temperatures)

Hi @sacha-escudier, I rebased this branch to main. There is an issue related to our API Reference in docs.
If you run
hatch run docs:serve

you will get this error:
WARNING -  griffe: fastfem/plotter/mesh_visual.py:13: No type or annotation for parameter 'mesh'
WARNING -  griffe: fastfem/plotter/mesh_visual.py:16: No type or annotation for returned value 1

That's why docs workflow fail currently.
Could you add all the type hints until there aren't any error in docs?

@sinaatalay type issue should be fixed now.


Low batch GEMM using GEMV-like schedule

When batch size is small, GEMM in MLP can be dispatched into a specialized GEMV-like schedule to improve efficiency.
GEMM with a dynamic var in spatial axis will now be lowered into
if dyn_var <= 8:
    low_batch_gemv()
else:
    normal_gemm()

cc: @MasterJH5574 @tqchen

depend on https://github.com/apache/tvm/pull/16579

I'm getting this error:
  File "/home/ubuntu/new-mlc/relax/python/tvm/dlight/gpu/low_batch_gemv.py", line 290, in apply
    raise NotImplementedError("Outer reduction is not supported yet")
NotImplementedError: Outer reduction is not supported yet

when running compile:
python -m mlc_chat compile  --quantization q4f16_1 --output dist/stablelm-2-1_6b/lib.so dist/stablelm-2-1_6b/
This is on a device that uses opencl.

Thanks @kmn1024. This should be fixed in https://github.com/apache/tvm/pull/16701


External druid data connection

Hey,
I tried to use data connection with my own druid. When I tried to create a database connection it gives this error ! ( Mysql data connection works perfectly ).
here our metatron-discovery hosted at ip like <IP_ADDRESS> and the druid hosted at <IP_ADDRESS> . When telnet the driud's port as "telnet <IP_ADDRESS> 8081" in the terminal shows that it is connected and after trying to connect via metatron-discovery GUI using appropriate parameters of druid port and url , there was a invalid connection error.

please give me a solution for this,
Thank you.

Hi, @hashansl
You need to connect with broker's port.
Please try this (default is 8082).

Hi @alchan-lee
I've tested the solution with the broker port number . But the again I've got the same error . The telnet parameters for "telnet <IP_ADDRESS> 8082" shows connected . If we connected to locally hosted druid as "localhost" and port as "8082" the connection is valid and accepted.
I wanted to resolve this .

Sorry for the late reply.
I thought It is a network issue so I have been trying to reproduce it, but it is difficult to make the same as your status.
But I noticed your comment

I tried to use data connection with my own druid.

Is it right that "my own druid" means "Apache druid (not our druid binary)"?

@alchan-lee Yes. It's not metatron custom druid. I have tried it with the latest druid version.( 0.13.0)

@hashansl I'm sorry for the late reply.
I did some simple tests with apache druid 0.14 version first.
Set the connection (jdbc:avatica:remote:url=http://localhost:8082/druid/v2/sql/avatica/) as shown below,

(reference link : http://druid.io/docs/latest/querying/sql.html)
And I tried it on the workbench as shown below.

Although apache druid I tested is a 0.14 version, the 0.13 version will do this as well. Would you like to try it?


Edit team

Only thing left now is feature spec. Description will follow.

email notification shows some classname variables" investigation::allegation" and also ID format
is not correct
Should read as "Your team has been removed from allegation"{case title}

Spotted by @nasirkhanbeis, the link for the error for the first radio does not anchor to them. @frankieroberto can probably advise on how to do this.

@slawosz can you update the PR title and description with some more details and maybe a screenshot or two?


API improvement for paddle.svd_lowrank 易用性提升

refer to:

https://github.com/PaddlePaddle/Paddle/pull/62876

@NKNaN code style检查的CI挂了


feat: implement vite vite:post-css support

Vite does a weird thing on its production build where it will make it export a literal rather than a variable e.g.
// normal postcss output
var css_hash = "...";

export default css_hash;

// vite output
export default "...";

This adds support for the latter
fixes e111077/vite-lit-element-ts-sass#3

This resolves the issue with vite production build!


Make a decision on groupId and artifactId

Looking at what has been picked right now, I would change to the following:

groupId: org.ehcache.integrations.shiro
artifactId: shiro-ehcache3

And we also need to decide on a version. Something close to Shiro? To Ehcache 3? or simply independent?
Comments / counter proposals welcome!

Add the dependency example to README.adoc


Proposed Sample Flow: NLC, Dialog, TTS, STT APIs in Node Red

Hi,
May I please see a sample flow in node red with the following watson apis?

natural language classifier
dialog
text to speech
speech to text

Cheers,

Hi,
If you look for node-red-bluemix-starter you'll find a boilerplate for Bluemix with sample flows for each of these APIs and this should help you understand how to connect them all together.

Hi,
I also see sample flows in
[https://github.com/watson-developer-cloud/node-red-labs/tree/master/basic_examples]
It would be great to see a fully documented sample flow bringing all four sample flows under one overarching flow.

Hi,
I also see sample flows in
[https://github.com/watson-developer-cloud/node-red-labs/tree/master/basic_examples]
It would be great to see a fully documented sample flow bringing all four sample flows under one overarching flow.

Thank you for this flow suggestion. It has been placed on our todo stack. Everyone that contributes to this repo is a volenteer, and I need to prioritise their contribution hours. Consequently we may not be able to deliver this sample flow as quickly as you want.

@mobicycle
This has all the components you need.
https://github.com/watson-developer-cloud/node-red-labs/tree/master/starter-kits/ok_watson


Flake8 rule 'W292' reported an invalid point

Flake8 reported an invalid point for the rule W292, with the messge no newline at end of file.

Debug information:
Atom version: 1.16.0
Flake8 version: 3.2.1 (pyflakes: 1.3.0, pycodestyle: 2.2.0, mccabe: 0.5.3) CPython 2.7.6 on Linux

Closing as a duplicate of #430.


assess impact on RPC of upcoming protocol 21 changes

For potential inclusion in protocol 21, the core team is working on a series of CAPs. We should look through these to identify if there is any significant downstream impact to RPC that it is possible to get ahead of, prior to the actual builds being available.
Improvements to host VM instantiation, which (at a minimum) has the potential to increase overall transaction volume on the network, as well as affect any RPC tests that assert on costs. Detail captured in the following CAPs:

CAP-54
CAP-55
CAP-56

New host functions, details in the following CAPs:

CAP-51
CAP-53

XDR change not included in CAPs:

https://github.com/stellar/stellar-xdr/pull/175

Output of this should be the implementation tickets for any work on our side that falls out of this

I don't think there is any considerable impact. We will have to

Update the XDR in stellar/go and update soroban-rpc accordingly (but I don't expect any unautomated code changes)
Update Core and rs-soroban-env/sdk. There may be changes on how the VM is instantiated after the new cost model (@dmkozh can you confirm?), but ever since we moved the simulation code to rs-soroban-env I don't expect a high impact due to internal API changes.
Since the cost model changes, we should add a simulateTransaction (or rather GetPreflight) which exercises simulating transactions with the old cost model (to make sure we have no regressions)
I don't really expect any changes due to the new host functions (maybe the VM needs to be instantated differently just like we need for pnrg? @dmkozh can you confirm?). I am not even sure it's worth adding integration tests for the new functions.

There may be changes on how the VM is instantiated after the new cost model (@dmkozh can you confirm?), b

There shouldn't be any non-test changes necessary. There could be changes in hardcoded expected instructions and resources fee  when you're testing with protocol 21 enabled.

Since the cost model changes, we should add a simulateTransaction (or rather GetPreflight) which exercises simulating transactions with the old cost model (to make sure we have no regressions)

I'm not sure if this is something you can meaningfully test (there is an unbounded number of possible cost model configurations, so testing with any one of them is as good as testing with multiple). That said, what I think should be covered with tests is preflight both for protocol 20 and protocol 21 (or more generally protocol vCurr and protocol vNext). The reason is that there will be a period of time where a new version of RPC is being used, but the network hasn't been upgraded yet. That will cover structural changes in the cost model (as more cost types have been added).

maybe the VM needs to be instantated differently just like we need for pnrg?

Not really, VM instantiation happens internally in the host code, so you just need to pick up a fresh env release to get it working. There are no changes in public API.

I am not even sure it's worth adding integration tests for the new functions.

I agree, I think 99% of the time RPC shouldn't worry about the new host functions.


Send bundle_ruby deprecation error to STDERR

Addresses https://github.com/bundler/bundler/pull/3491.

:+1:


Stuck at "Playing at 6%"

When I hover over the playing/paused icon, I can see that it says "playing at 6%" no matter what.

Also, what happens when it reaches the 300 image limit. Does the plugin remove old assets or does it just break?

Once you hit the 300 asset limit the plugin will still work but only for currently uploaded artworks, if an artwork isn't uploaded Discord will catch it when uploading and just fail it.
The "Playing at X%" refers to your current volume in MusicBee, tested it on my end and it seems to be working fine. Does it just not update volume for you on the pop-up?
*Asset limit was actually 150 not that long ago so hopefully Discord decides to bump it up again.


Added foreign exchange rate prediction model

this is the model of foreign exchange rate prediction and it is made using tensorflow and python
Developed an LSTM-based exchange rate prediction model using Python and TensorFlow/Keras. This model forecasts foreign exchange rates based on historical data, aiding in financial decision-making and risk management.
Integrated with the Exchange rate API to fetch reliable and extensive historical exchange rate data for training the model.
Implemented data preprocessing techniques including scaling and sequence generation to prepare input data for the LSTM model.
Trained and optimized the model using TensorFlow and Keras, achieving accurate predictions of exchange rates.Evaluated model performance using standard regression metrics such as Mean Absolute Error (MAE) and Root Mean Squared Error (RMSE).

[x] Feature enhancement

Checklist:

[x] I have performed a self-review of my code
[x] I have read and followed the Contribution Guidelines.
[x] I have tested the changes thoroughly before submitting this pull request.
[x] I have provided relevant issue numbers, screenshots, and videos after making the changes.
[x] I have commented my code, particularly in hard-to-understand areas.

@Akshat111111 sure!

@Akshat111111 done!!

@Akshat111111 Thanks!


Update README.md

We got some brand new arguments, a better application that have multiple inputs and outputs so why not update the README.md and maybe also create a page for this? ;)

Fixed in #97


Reduce SoCo log verbosity

SoCo library is very noisy and could pollute Mycroft logs.
2021-08-11 19:23:07.033 | INFO     |     1 | soco.services | Received status 200 from <IP_ADDRESS>
2021-08-11 19:23:07.061 | INFO     |     1 | soco.discovery | Sending discovery packets on [<socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('<IP_ADDRESS>', 0)>]
2021-08-11 19:23:07.135 | INFO     |     1 | soco.services | Sending GetTransportInfo [('InstanceID', 0)] to <IP_ADDRESS>
2021-08-11 19:23:07.160 | INFO     |     1 | soco.services | Received status 200 from <IP_ADDRESS>
2021-08-11 19:23:07.180 | INFO     |     1 | soco.discovery | Sending discovery packets on [<socket.socket fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=17, laddr=('<IP_ADDRESS>', 0)>]
2021-08-11 19:23:07.334 | INFO     |     1 | soco.services | Sending GetTransportInfo [('InstanceID', 0)] to <IP_ADDRESS>
2021-08-11 19:23:07.368 | INFO     |     1 | soco.services | Received status 200 from <IP_ADDRESS>

https://github.com/smartgic/mycroft-sonos-controller-skill/blob/20.8.1/__init__.py#L29-L31


Re-work concept of seed and settler missions and keep all dates positive.

Make the mission handlers more general as in

supply missions (no settlers)
settler missions
return missions

I think it would be be easier to visualise if we did not have the discontinuity of settlers landing on day 1.
If we made the first mission land on day 1 immaterial of the mission type it would keep all dates positive.

By separating the settler and supply missions we can independently change the frequency of them... maybe have supply missions arrive more frequently ???


Builds always set GitHub commit status to "No test result found"

For every passing build the message "No test result found" is passed to the GitHub status is passed:

I see that this line is generated by the source file https://github.com/jenkinsci/ghprb-plugin/blob/master/src/main/java/org/jenkinsci/plugins/ghprb/manager/impl/GhprbBaseBuildManager.java .
My question is, does this test result parser only work for JUnit tests? I'm using a TAP test reporter and result parser and I would like this output to determine the test results sent to GitHub. Is there any way to do this or would I have to use JUnit for this plugin to use the test results in the commit status? Thanks.

You should try again with version 1.29.5 (see https://github.com/janinko/ghprb/issues/315).

I'm using 1.29.8 and I don't see reports. I'm using mocha to run tests:
  "scripts": {
    "test": "mocha --compilers js:babel-core/register src/**/*spec.js"
  },

Hi - I'm helping out with this plugin...labeling some tickets where I need to take a closer look.

I've ramped up a bit and I agree with previous comments that this can be dealt with now with the latest version of the plugin. Closing.


Type Constraints No Longer Enforced in @hono/zod-openapi 3.11

What version of Hono are you using?
3.11.0
What is the feature you are proposing?
Hello,
I've encountered an issue with the @hono/zod-openapi package where type constraints that were effectively enforced in version 3.10.x are no longer working in version 3.11.
In version 3.10.x, I was able to apply type constraints using the jsonT function. However, with the update to 3.11, it appears that due to changes in how types are handled (possibly related to a shift towards a more 'loose' approach), these constraints are no longer effective.
This change has impacted the robustness of our API's type validation. Could you provide guidance on how to enforce type constraints in the 3.11 version?

Hi @yusukebe
Thanks!
I can share the code.
Here it is
import { OpenAPIHono, z, createRoute } from "./memo"

new OpenAPIHono().openapi(
  {
    method: "get",
    path: "/user/{id}",
    responses: {
      200: {
        description: "ok",
        content: {
          "application/json": {
            schema: z.object({
              id: z.number(),
              name: z.string(),
            }),
          },
        },
      },
    },
  },
  (c) => c.jsonT({})
)

Hi @yusukebe
Amazing. Thank you.

Could you please try them out? Also, if possible, could you share your tsconfig.json?

I was able to confirm that the new version behaves as expected,
and I will share code of tsconfig.json.
//tsconfig.json
{
  "compilerOptions": {
    "esModuleInterop": true,
    "strict": true,
    "jsx": "react-jsx",
    "jsxImportSource": "hono/jsx",
    "types": ["bun-types"]
  }
}


Windows build of the C++ code

The dll for Windows was compiled a long time ago as a 32-bit DLL, so that won't fly in this day and age!  For Linux and macOS, I've got makefiles which I can use, but for Windows I think I need something a bit more.  Once that's figured out, try make it some command-line thing I can just shove in here: https://github.com/ultraq/redhorizon/blob/master/redhorizon-filetypes/build.gradle#L29

Done 🙂  Needs nmake and the MS Visual C++ build tools, but was able to add it to the existing makefile.


QEMU error - existed with code 01 (no message)

Describe the issue
Hi, I installed UTM using xcode with attached debugger, when I try to run any VM even ones from gallery it crashes with (code -1 no message), then it crashes the app.
Configuration (required)

UTM Version: 4.5.3 build 99
OS Version: iOS 17.5.1
Device Model: iPhone 15 Pro
Is it jailbroken (name jailbreak used)? No
How did you install UTM? xCode

Crash log
It does crash but only after I click on the error message which I guess make sense.
Debug log
debug.log
Upload VM
I tried anything from the official utm gallery
This is the screenshot

Just noticed there is a new release, now this is working! at least the first VM I tried !


catkin package dependence issue

When I'm compiling the package ocs2_legged_robot in ocs2_robotic_examples, the catkin needs package anymal_c_simple_description, but I couldn't find it anywhere

Please also clone the repository to get ANymal urdf.

I think there is a missing line " include  " in file ocs2/ocs2_robotic_examples/ocs2_legged_robot/include/ocs2_legged_robot/gait/GaitReceiver.h.
You can check it


Fix Gcp creds for workload identity

What this PR does / why we need it:
Ensure appropriate credentials are used by Fairing jobs when running on GKE
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #394
Special notes for your reviewer:
The solutions uses the following approach:

When on GKE, check if user-gcp-sa credentials secret is available. If it is, use the secret.
If the secret is not available, assume Workload Identity is enabled. Use default-editor service account.
Modify pod_spec_template to include the service account name if secret is not mounted.

Release note:
Incorporate workload identity into jobs launched via Fairing.

This change is

/test kubeflow-fairing-presubmit

/LGTM
/approve


OCS Operator expects NooBaa CRD to be present on the cluster

We cannot directly install OCS-Operator because it expects NooBaa CRDs to be present on the cluster. Installing OCS-Operator does not bring NooBaa CRDs and OCS-Operator throws the error.
{"level":"error","ts":1679650474.2685232,"logger":"controller-runtime.source","msg":"if kind is a CRD, it should be installed before calling Start","kind":"NooBaa.noobaa.io","error":"no matches for kind \"NooBaa\" in version \"noobaa.io/v1alpha1\"","stacktrace":"sigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start.func1.1\n\t/remote-source/app/vendor/sigs.k8s.io/controller-runtime/pkg/source/source.go:139\nk8s.io/apimachinery/pkg/util/wait.runConditionWithCrashProtectionWithContext\n\t/remote-source/app/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:233\nk8s.io/apimachinery/pkg/util/wait.WaitForWithContext\n\t/remote-source/app/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:660\nk8s.io/apimachinery/pkg/util/wait.poll\n\t/remote-source/app/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:594\nk8s.io/apimachinery/pkg/util/wait.PollImmediateUntilWithContext\n\t/remote-source/app/vendor/k8s.io/apimachinery/pkg/util/wait/wait.go:545\nsigs.k8s.io/controller-runtime/pkg/source.(*Kind).Start.func1\n\t/remot...
This issue happens even after setting reconcileStrategy of MCG to ignore in storageCluster CR

Could we install the CRD and then not have any NooBaa CR?

Could we install the CRD and then not have any NooBaa CR?

Yes, that is possible. As a workaround, we are going to do the same.


inky: Add wHAT support

The wHAT is a larger version of the pHAT: https://shop.pimoroni.com/products/inky-what

Codecov Report

Merging #430 into master will decrease coverage by 0.07%.
The diff coverage is 0%.

@@            Coverage Diff            @@
##           master    #430      +/-   ##
=========================================
- Coverage   63.78%   63.7%   -0.08%
=========================================
  Files         117     117
  Lines       12140   12153      +13
=========================================
- Hits         7743    7742       -1
- Misses       4199    4213      +14
  Partials      198     198

Impacted Files
Coverage Δ

experimental/devices/inky/inky.go
0% <0%> (ø)
:arrow_up:

host/sysfs/thermal_sensor.go
81.53% <0%> (-2.31%)
:arrow_down:

devices/lepton/lepton.go
88.41% <0%> (+1.21%)
:arrow_up:

Continue to review full report at Codecov.

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

Hi David, I'm travelling atm I'll review as soon as I can.

No problem: there's no hurry at all!  Enjoy your holiday!

gohci

gohci

A few nits but nothing blocking. I'll merge right after the gohci run.

Thanks!  I've fixed these in a followup: https://github.com/google/periph/pull/431


Install without gcc (not possible)

Is it possible to use the library in Go without recompiling the binaries?https://github.com/lxc/lxd/issues/762#issuecomment-112463214
I mean is it possible to compile binary pieces of SQLite needed be go-sqlite3 and ship them in separate repository, so that only Go itself can be used to assemble the final product together? Maybe Go already provides some helpers/tools to do that?

go-sqlite3 is cgo package. so if you want to build app using go-sqlite3, you need gcc.
But if you install go-sqlite3 with go install github.com/mattn/go-sqlite, you don't need gcc.

@mattn the repository github.com/mattn/go-sqlite doesn't exists, and go install github.com/mattn/go-sqlite3 doesn't work too:
C:\ledis>go install github.com/mattn/go-sqlite3
can't load package: package github.com/mattn/go-sqlite3: cannot find package "github.com/mattn/go-sqlite3" in any of:
        C:\Program Files\Dev\Go\src\github.com\mattn\go-sqlite3 (from $GOROOT)
        C:\ledis\src\github.com\mattn\go-sqlite3 (from $GOPATH)

once go get github.com/mattn/go-sqlite3 and do go install github.com/mattn/go-sqlite3.

C:\ledis\src>go get github.com/mattn/go-sqlite3
# github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in %PATH%

As I said in above:

go-sqlite3 is cgo package. so if you want to build app using go-sqlite3, you need gcc.
But if you install go-sqlite3 with go install github.com/mattn/go-sqlite, you don't need gcc.

And I answered to you in https://github.com/mattn/go-sqlite3/issues/212#issuecomment-112969533 We are going circles.

@techtonik once go-sqlite3 is installed, you no longer need gcc. However, you need the compiled package in your $GOPATH/pkg to do this. To do so, you need gcc to build the C dependencies of this project. ie. $GOPATH/pkg/darwin_amd64/github.com/mattn/go-sqlite3.a.
You could probably compile the archive file elsewhere and put it in the $GOPATH to forego gcc. This isn't guaranteed to work, it's much easier to compile the final program and put the binary on the system with no gcc.

@techtonik  but the problem is I am able to go get the package but not able to build/install it. Its complaining about "gcc"
github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in %PATH%

@arulrajalivi what OS are you using?

Windows 64

from cygwin if I try which gcc  I get
$ gcc --version
gcc (GCC) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

followed this link to install  gcc : http://preshing.com/20141108/how-to-install-the-latest-gcc-on-windows/

getting this from cygwin, so trying to see what to set in the %PATH%
$which gcc
/usr/bin/gcc

Inside a cygwin windows, see what go env says
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"

$ go env
set GOARCH=amd64
set GOBIN=$GOROOT\bin
set GOCHAR=6
set GOEXE=.exe
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=C:\Projects\Cloud Solutions\DSG_Appliances\Main\gocode
set GORACE=
set GOROOT=C:\Go
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set CC=gcc
set GOGCCFLAGS=-m64 -mthreads -fmessage-length=0
set CXX=g++
set CGO_ENABLED=1

after   adding C:\MinGW\bin, I am getting # github.com/mattn/go-sqlite3
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in.   Trying to install the 64 bit version of MinGW but having trouble with that.

as the message, you need to install 64bit gcc.

Early on mattn suggested that you could just "go install ..." but said "go-sqlite" instead of "go-sqlite3". Was this significant?
Or is mattn's last comment, that you need gcc, the absolute truth? Is there a way to install this API without gcc under windows or not?

Ah, it's my fault. s/go-sqlite/go-sqlite3/g

I have the exact same the problem in windows and I do not understand how Mattm last command solved the problem? what would be the compele command for go insrall?

go get -u github.com/mattn/go-sqlite3

so in windows I get "exec gcc executable %PATH%", it's the same problme you guys discussed above I just do not understand how you resolved it

go-sqlite3 is cgo package, so you need to install gcc.

So in windows, I have to install Cygwin, build the binary and put in "GOROOT/PKG", is that what you mean?

install http://msys2.github.io/
launch mingw64_shell.bat
go build on the directory of go-sqlite3

I still get the exact same error after following the steps you mentioned

pacman -S mingw-w64-x86_64-gcc

If it helps anyone, by default, msys2's Pacman seems to install gcc into C:\msys64\mingw64\bin so you'll need to add that directory to your environment PATH variable and restart your programs before gcc will work.

I can close the issue now as it is not possible to use this extension without gcc.

FYI, This is Not installable not Not using

@mattn the users of this extension are developers, and they need to install it to use it first, and this is impossible without gcc. It is my understanding how Go stuff works. What do you mean by using if that's not the case?

If you install go-sqlite3 with go install, you can find $GOPATH/pkg/${GOOS}_${GOARCH}/github.com/mattn/go-sqlite3.a . This mean that you don't need to re-compile it if you don't update go runtime. And you can build another package using go-sqlite3 without recompiling go-sqlite3. Then I mean not installable but can use. For example, you can see debian packages that is built as binary package.

This says that go install compiles code too:
https://stackoverflow.com/questions/24878737/what-is-the-difference-between-go-get-and-go-install
I am not able to validate this claim now, because:
>go get github.com/mattn/go-sqlite
# cd .; git clone https://github.com/mattn/go-sqlite E:\go\src\github.com\mattn\go-sqlite
Cloning into 'E:\go\src\github.com\mattn\go-sqlite'...
fatal: could not read Username for 'https://github.com': terminal prompts disabled
package github.com/mattn/go-sqlite: exit status 128

I guess I had enough of yak shaving for this issue. Feel free to close until better time.

go get is not same as go install

As I said in above, if you compile go-sqlite3.a at once, you can uninstall gcc compiler.

I have the same problem on ubuntu 14.04.4 LTS, I tried this:
$ git clone https://github.com/mattn/go-sqlite3
Cloning into 'go-sqlite3'...
remote: Counting objects: 1112, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 1112 (delta 0), reused 0 (delta 0), pack-reused 1110
Receiving objects: 100% (1112/1112), 8.27 MiB | 4.93 MiB/s, done.
Resolving deltas: 100% (588/588), done.
Checking connectivity... done.

$ go install github.com/mattn/go-sqlite3
# github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in $PATH

Any suggestion?

sudo apt-get install build-essential

having the same problem "exec: "gcc": executable file not found in $PATH" :(

@mitradibakar please read all of comments in above.

Its working fine now windows thanks to mattn and "tdm64-gcc-5.1.0-2.exe" happy coding :)

"tdm64-gcc-5.1.0-2.exe" is the solution.

apt-cyg install mingw64-x86_64-gcc-g++
env CGO_ENABLED=1 GOOS=windows GOARCH=amd64 CC="x86_64-w64-mingw32-gcc" go install github.com/mattn/go-sqlite3

In Cygwin will be fine.

I was still confused by the above, so here are the step by step instructions.

Download and install "tdm64-gcc-5.1.0-2.exe" from http://tdm-gcc.tdragon.net/download.
Go to Program Files and click on "MinGW Command Prompt". This will start a DOS prompt with the correct environment for using MinGW with GCC.
Within this DOS prompt window, navigate to your GOPATH. For example, I went to C:\go-apps.
Enter the following commands: go get github.com/mattn/go-sqlite3. Then enter go install github.com/mattn/go-sqlite3
You are done! go-sqlite3 is now installed and ready for use.

msaron - Thank You!

perfect help!  Thanks, everyone.

But if you install go-sqlite3 with go install github.com/mattn/go-sqlite, you don't need gcc.

After installing i still need gcc.
go build
C:\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exec: "gcc": executable file not found in %PATH%

I would like to mention that this package really only needs a GCC in the PATH. No libraries, no special command prompts, nothing else.
The problem with most CGO packages is that the README says "needs GCC", but actually means something like "needs a certain version of GCC from the 32-bit build of Mingw-w64 and also this library, which you have to compile first with make (but not GNU make, the other one) in an upside-down Visual Studio Command Prompt with CYGWIN_PATH_MANGLING set to MORE_MAGIC which is only available on Windows ME".
That is why I usually give up and use a different package when I see import "C", which is exactly what I did with go-sqlite3. I went through a whole zoo of embedded databases before I found out that you really just need any GCC, be it MSYS2 or TDM or Cygwin, and you just have to have it in your PATH.

for linux  >  sudo apt install gcc
then  > go get -u github.com/mattn/go-sqlite3

I had the same problem on ubuntu:
4.15.0-36-generic #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
the problem seemed that ubuntu has no gcc-5 installed per default...
go install github.com/mattn/go-sqlite3
github.com/mattn/go-sqlite3
exec: "gcc-5": executable file not found in $PATH
go get -v github.com/mattn/go-sqlite3
github.com/mattn/go-sqlite3
exec: "gcc-5": executable file not found in $PATH
$sudo apt install gcc-5
then it worked

I am using windows machine and  I am getting error like
github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in %PATH%

I am using windows machine and  I am getting error like
github.com/mattn/go-sqlite3
exec: "gcc": executable file not found in %PATH%

Which GCC have you installed and where?

Which GCC have you installed and where?

Which GCC have you installed and where?

https://jmeubank.github.io/tdm-gcc/
Is working fine on windows 10 64

Which GCC have you installed and where?

https://jmeubank.github.io/tdm-gcc/
Is working fine on windows 10 64


Auto

What New Or Updated Would You Like To See?

Why Is It Needed?

Additional Context?

Closing this issue as spam, if you'd like to open an issue please remember to follow the instructions in the template.


Add mantine dropzone for file upload

Adds mantine file upload in the main screen to make it easier to upload since upload dialog is harder to navigate than default windows explorer.
Also added .yarn in git ignore.
Also due to package limitations, we cannot add .chf in the dropzone as acceptable, but it is handled correctly by your code.

Hey, ill look into this soon. In the meantine a PTU patch dropped that tries to fix the weird colors and also changes the format of the files. After i do some research there I'll look into this pull request.
Thanks for contributing  :)

Sadly from the patch notes it seems that they are trying to validate acceptable parameters, so no more using this tool for weird colors


Set target dir, copy file url, more file info, other changes

This PR introduces the following features

Ability to set target directory (home/root/base path)
More file info in the file info popup, which is useful for smaller devices such as mobile phones which cannot display the extra columns.
Configurable hashing algorithms.
Some people may only want to allow md5 for example to reduce load on their servers, or with this option, be able to confidentially increase the MAX_HASH_SIZE by choosing less compute intensive algorithms such as md5.
The page title no longer contains •.
This means people can use whatever symbol they want and in the case of an empty SITE_TITLE, their is no trailing symbol.
Ability to copy the URL of a file.
This is useful for when a media file is in a format that the browser does not support, .mkv for example, the URL can be copy and pasted into a media streaming app such as VLC.

Other changes include minor fixes and related test fixes.
Example NGINX server configuration
server {
    ...

    # Location of PHP Directory Lister
    set $my_root /www;

    listen 80;

    # PHP Directory Lister
    location / {
        root $my_root;
        index /index.php;
    }

    # Serve static files
    location /files/ {
        rewrite ^/files/(.*)$ /$1 break;
        root <path_to_target_directory>;
    }

    # Process PHP files
    location ~* \.php$ {
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_param   SCRIPT_FILENAME    $my_root$fastcgi_script_name;
        fastcgi_param   SCRIPT_NAME        $fastcgi_script_name;
        include         fastcgi_params;
    }

    ...
}

Example .env file
...

FILE_URL_PREFIX=/files
BASE_PATH=<path_to_target_directory>

...

Hello, I only have one squashed commit, to create multiple PRs I will need to break it down into smaller commits first.
I'm concerned that doing this may break things and it's worth noting that the current state of the code has been throughly tested manually.
I will update the description of the PR this evening so you have a better idea of the work that has been done.
Thank you for your prompt response 🙂

Hello, I only have one squashed commit, to create multiple PRs I will need to break it down into smaller commits first.
I'm concerned that doing this may break things and it's worth noting that the current state of the code has been throughly tested manually.
I will update the description of the PR this evening so you have a better idea of the work that has been done.
Thank you for your prompt response 🙂

@PHLAK I have added a description :slightly_smiling_face:

@PHLAK I have added a description :slightly_smiling_face:

First, thank you for the PR.  I appreciate the time and effort that goes into every PR. Unfortunately, I will not be accepting this combined pull request. If you wish to separate this into separate PRs I will review them individually. I will, however give my initial thoughts about each feature without digging in too deep.
1. Ability to set target directory (home/root/base path)
I'd love to find a way to do this but would need to review the individual PR for this feature before making any decisions.
2. More file info in the file info popup
What additional info?
3. Configurable hashing algorithms.
This isn't something I wish to change at this time.
4. The page title no longer contains •.

in the case of an empty SITE_TITLE, their is no trailing symbol

While I agree it would be nice to hide the bullet if SITE_TITLE is empty the bullet is used as a separator between the path and site title when present and I don't want to remove it from the code.
5. Ability to copy the URL of a file.
Would need to review the individual PR for this feature before making any decisions.

First, thank you for the PR.  I appreciate the time and effort that goes into every PR. Unfortunately, I will not be accepting this combined pull request. If you wish to separate this into separate PRs I will review them individually. I will, however give my initial thoughts about each feature without digging in too deep.
1. Ability to set target directory (home/root/base path)
I'd love to find a way to do this but would need to review the individual PR for this feature before making any decisions.
2. More file info in the file info popup
What additional info?
3. Configurable hashing algorithms.
This isn't something I wish to change at this time.
4. The page title no longer contains •.

in the case of an empty SITE_TITLE, their is no trailing symbol

While I agree it would be nice to hide the bullet if SITE_TITLE is empty the bullet is used as a separator between the path and site title when present and I don't want to remove it from the code.
5. Ability to copy the URL of a file.
Would need to review the individual PR for this feature before making any decisions.

Hello, why has this been closed? @PHLAK

Hello, why has this been closed? @PHLAK

@PHLAK Why do you not wish to have feature number 3?

@PHLAK Why do you not wish to have feature number 3?

@PHLAK Regarding feature number 4

While I agree it would be nice to hide the bullet if SITE_TITLE is empty the bullet is used as a separator between the path and site title when present and I don't want to remove it from the code.

Now that the bullet has been removed, users can add their own symbol into SITE_TITLE if they want to have a separator, this information can be added to the upgrade notes.

@PHLAK Regarding feature number 4

While I agree it would be nice to hide the bullet if SITE_TITLE is empty the bullet is used as a separator between the path and site title when present and I don't want to remove it from the code.

Now that the bullet has been removed, users can add their own symbol into SITE_TITLE if they want to have a separator, this information can be added to the upgrade notes.

@PHLAK Also, FYI, when developing, and targeting an external directory, you want to set FILE_URL_PREFIX to a localhost address with a port different from the one the app is running on, then, start another server at that port for the sole purpose of serving files.

@PHLAK Also, FYI, when developing, and targeting an external directory, you want to set FILE_URL_PREFIX to a localhost address with a port different from the one the app is running on, then, start another server at that port for the sole purpose of serving files.

@PHLAK I'd greatly appreciate if you could re-open this PR as I have spent over a week working on it 🙂

@PHLAK I'd greatly appreciate if you could re-open this PR as I have spent over a week working on it 🙂

@olfek I appreciate the time and effort that went into this and would like to work on getting some of this code merged into Directory Lister.
However, as I stated before I will not be accepting this combined PR. If you would separate this into individual PRs (one per feature) I can review and discuss them individually.

@olfek I appreciate the time and effort that went into this and would like to work on getting some of this code merged into Directory Lister.
However, as I stated before I will not be accepting this combined PR. If you would separate this into individual PRs (one per feature) I can review and discuss them individually.

Hello, I only have one squashed commit, to create multiple PRs I will need to break it down into smaller commits first.
I'm concerned that doing this may break things and it's worth noting that the current state of the code has been thoroughly tested manually.
I will update the description of the PR this evening so you have a better idea of the work that has been done.
Thank you for your prompt response 🙂

@PHLAK See my earlier comment about this above, and besides, I don't want to spend anymore time on this as I have other things to do, all of the features I have offered to you in this PR should be accepted in my opinion, they are all great improvements.
If you spend some time looking at the code, you will begin to feel more comfortable with the changes I have made 🙂

Hello, I only have one squashed commit, to create multiple PRs I will need to break it down into smaller commits first.
I'm concerned that doing this may break things and it's worth noting that the current state of the code has been thoroughly tested manually.
I will update the description of the PR this evening so you have a better idea of the work that has been done.
Thank you for your prompt response 🙂

@PHLAK See my earlier comment about this above, and besides, I don't want to spend anymore time on this as I have other things to do, all of the features I have offered to you in this PR should be accepted in my opinion, they are all great improvements.
If you spend some time looking at the code, you will begin to feel more comfortable with the changes I have made 🙂

I have looked at the code and wish to discuss some changes. However, I will not be doing that unless this PR is broken into individual PRs per feature. I will not ask again.

I have looked at the code and wish to discuss some changes. However, I will not be doing that unless this PR is broken into individual PRs per feature. I will not ask again.

@PHLAK Why can't you just review everything in this PR?

@PHLAK Why can't you just review everything in this PR?

@PHLAK You trying to make me do extra "red tape" work, don't be selective about the features and just review everything please 🙂

@PHLAK You trying to make me do extra "red tape" work, don't be selective about the features and just review everything please 🙂

Lets start to discuss the actual code @PHLAK 🙂 I look forward to seeing your comments on the code

Lets start to discuss the actual code @PHLAK 🙂 I look forward to seeing your comments on the code

Hello? @PHLAK

Hello? @PHLAK

I really don't want to have to maintain a fork of this @PHLAK

I really don't want to have to maintain a fork of this @PHLAK

@olfek I have stated multiple times that I will review each feature individually once broken into separate PRs. This requirement is clearly defined in our contributing guidelines and I will not be making an exception in this case. Please stop spamming.

@olfek I have stated multiple times that I will review each feature individually once broken into separate PRs. This requirement is clearly defined in our contributing guidelines and I will not be making an exception in this case. Please stop spamming.


Adding and subtracting from dates does not preserve hours when the timezone has midnight DST rules

Description of the Issue:
I'm trying to create a date range in (array of moment dates) where each date is 1 day after the previous. This works as expected for all users, but we've gotten a bug report for a user in the America/Santiago timezone who is seeing duplicated dates in the UI. What I noticed is that adding 1 day to a particular date is actually only adding 23 hours.
With a date on 8/11/2018 00:00:00 in America/Santiago timezone, adding 1 day increases the time to 8/11/2018 23:00:00 instead of 8/12/2018 00:00:00.
The docs explain that the hours should be preserved when shifting across a DST while using days, but that does not appear to be true here.

There are also special considerations to keep in mind when adding time that crosses over daylight saving time. If you are adding years, months, weeks, or days, the original hour will always match the added hour.

// This code is from moment.js docs https://momentjs.com/docs/#/manipulating/add/
var m = moment(new Date(2011, 2, 12, 5, 0, 0)); // the day before DST in the US
m.hours(); // 5
m.add(1, 'days').hours(); // 5

Steps to Reproduce
In the following code, the timezone being used has it's DST rule on midnight. I have a date that is on midnight the day before this rule kicks in. I added 1 day to this date, and expect that it should be the following day at midnight/0 hours (hours should be preserved), but it's actually only adding 23 hours.
fmt = d => d.format() + ' ' + d.tz()

x = moment.tz(new Date('08/11/2018 00:00:00'), 'America/Santiago');
fmt(x);                       // "2018-08-11T00:00:00-04:00 America/Santiago"
fmt(x.clone().add(1, 'day')); // "2018-08-11T23:00:00-04:00 America/Santiago" - offset unchanged, added 23 hours not 1 day
fmt(x.clone().add(2, 'day')); // "2018-08-13T00:00:00-03:00 America/Santiago" - original hour preserved now

Here, you can see that adding 24 hours shifted it up by 25 hours and the timezone offset was changed.
fmt = d => d.format() + ' ' + d.tz()

x = moment.tz(new Date('08/11/2018 00:00:00'), 'America/Santiago');
fmt(x);                          // "2018-08-11T00:00:00-04:00 America/Santiago"
fmt(x.clone().add(24, 'hours')); // "2018-08-12T01:00:00-03:00 America/Santiago" - offset changed, added 25 hours
fmt(x.clone().add(48, 'hours')); // "2018-08-13T01:00:00-03:00 America/Santiago"

Environment:

Version 68.0.3440.84 (Official Build) (64-bit)
Mac OSX El Capitan 10.11.6 (15G31)

Other information that may be helpful:

Machine Timezone: US Eastern Timezone, Daylight Savings Time
Time & Date Code was run:  3:00 pm on August 22, 2018
I reproduced this issue in Chrome Dev Tools on Moment.js web page

JS Date Output
(new Date()).toString()

Wed Aug 22 2018 15:13:40 GMT-0400 (Eastern Daylight Time)

(new Date()).toLocaleString()

8/22/2018, 3:13:40 PM

(new Date()).getTimezoneOffset()

240

navigator.userAgent

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.84 Safari/537.36

moment.version

2.22.2

I tried to reproduce this in Europe/Rome timezone, and was unable to:
x = moment.tz(new Date('October 27, 2018 00:00:00'), 'Europe/Rome');
fmt(x) // "2018-10-27T06:00:00+02:00 Europe/Rome"
fmt(x.clone().add(1, 'day')) // "2018-10-28T06:00:00+01:00 Europe/Rome"
fmt(x.clone().add(1, 'day')) // "2018-10-28T06:00:00+01:00 Europe/Rome"

Based on the reproduction steps, it looks like there is a discrepancy in the code when the date added lands perfectly onto the DST cutoff. In the Santiago timezone, the DST rule is that at midnight clocks go back an hour.
With that info, let's see if I can reproduce with Europe/Rome with dates at 3am.
x = moment.tz(new Date('October 27, 2018 03:00:00'), 'Europe/Rome');
fmt(x);                       // "2018-10-27T09:00:00+02:00 Europe/Rome"
fmt(x.clone().add(1, 'days')) // "2018-10-28T09:00:00+01:00 Europe/Rome" - no bug
fmt(x.clone().add(2, 'days')) // "2018-10-29T09:00:00+01:00 Europe/Rome"

I was able to confirm that this bug only exists for timezones when the DST cutoff is at midnight, and you are adding time to a date that causes the date to land exactly at the cutoff.
America/Punta_Arenas - https://www.timeanddate.com/time/zone/chile/punta-arenas
fmt = d => d.format() + ' ' + d.tz()

x = moment.tz(new Date('08/13/2016 00:00:00'), 'America/Punta_Arenas')
fmt(x);                        // "2016-08-13T00:00:00-04:00 America/Punta_Arenas"
fmt(x.clone().add(1, 'days')); // "2016-08-13T23:00:00-04:00 America/Punta_Arenas"
fmt(x.clone().add(2, 'days')); // "2016-08-15T00:00:00-03:00 America/Punta_Arenas"

I found what appears to be a similar issue when subtracting over the same kinds of timezones (DST at midnight).
When subtracting the dates exactly onto a DST shift, the hour is not preserved on just that day, but the date is changed.
fmt = d => d.format() + ' ' + d.tz()

x = moment.tz(new Date('08/13/2018 23:00:00'), 'America/Santiago');
fmt(x);                             // "2018-08-14T00:00:00-03:00 America/Santiago"
fmt(x.clone().subtract(1, 'days')); // "2018-08-13T00:00:00-03:00 America/Santiago"
fmt(x.clone().subtract(2, 'days')); // "2018-08-12T01:00:00-03:00 America/Santiago" - hour not preserved, but date changed
fmt(x.clone().subtract(3, 'days')); // "2018-08-11T00:00:00-04:00 America/Santiago" - original hour preserved?

We received another report of this issue, from a user with America/Asuncion as their timezone. The method that produces the bug is this:
function generateDayRange(start, end) {
	const days = [];
	let current = start.clone();

	while (current <= end) {
		days.push(current.clone());
		current = current.add(1, 'days');
	}

	return days;
}

When we use this message we pass in a start date that is at the beginning of the day, and an end date where the time is not as significant:
generateDayRange(startDate.clone().startOf('week'), startDate.clone().endOf('week'));
generateDayRange(getAppDate(startDate), getAppDate(endDate));
generateDayRange(startRange, startRange.clone().add(27, 'days'));

The issue is that the resulting array of moment dates contains a duplicate day, which is reflected in the UI of our application (a calendar has a duplicate day).
My larger concern is that since the library does not behave as expected, there may be more subtle issues going unnoticed, like a perceived loss of data, bad requests, etc.
I'll work to get a set of tests up in a codepen or something, so that curious readers can take a stab at solving this issue.

The behavior here looks like it was changed between v0.5.4 and v0.5.26.
In the old version, adding 1 day to '2018-08-11' gave you 11pm on same day
In new version, it gives you '2018-08-12' at midnight. But this time does not actually exist, and adding 1 minute goes back an hour - but this DST change was supposed to be adding 1 hour.
Old version, behaves as described in this issue:
https://jsfiddle.net/eqyvuxht/1/
New version, changed behavior, but still wrong I think?
https://jsfiddle.net/0h6atn4b/4/

We are running into the same issue this month (Sept 2019) where our Santiago users using our date picker are seeing a calendar with dates going 1, 2, 3, 4, 5, 6, 7, 7, 7, 7, for the month of September... Under the hood, we're also using .add(1, 'days'). It will occur again next year in September 2020 if we don't have a fix for it by then.
@mblandfo workaround seems to do the trick for us, too. Thanks!

Having this problem as well. Adding the time zone for Australia/Sydney and then adding days make the hours shift (i.e. not preserving hour correctly).


Update README.md

JSON -> Json...seems to have changed in alamofire

JSON became Json in the new branch, but in the current one, it's a typealias to [String : AnyObject] and is declared w/in the library.  If you're on the beta, yes, the new one to use is Json, mostly because that's how it's written in the library I've used as my Json base, and to make an explicit differentiation between the existing version when upgrading.


Upgrade chokidar

Expected behaviour
No warnings.
Actual behaviour
This issue: https://github.com/paulmillr/chokidar/issues/529
https://github.com/karma-runner/karma/blob/master/package.json#L299
Environment Details

Karma version (output of karma --version): 1.2.0
Relevant part of your karma.config.js file

Steps to reproduce the behaviour

npm install karma

Works as expected. NPM warns about a module which is not supported on Windows.

npm package.json supports an os key, and also optionalDependencies.

@ajsb85 we are using optionalDependencies and the os field. How does adding another entry to the field help here?


Fix: create a config with the same name reported an incorrect error

Signed-off-by: wuzhongjian<EMAIL_ADDRESS>Description of your changes

Fixes #5239
I have:

[x] Read and followed KubeVela's contribution process.
[ ] Related Docs updated properly. In a new feature or configuration option, an update to the documentation is necessary.
[x] Run make reviewable to ensure this PR is ready for review.
[ ] Added backport release-x.y labels to auto-backport this PR if necessary.

How has this code been tested

Special notes for your reviewer

@barnettZQG


Wie werden Forwards konfiguriert

Es gibt leider keine Antwort - weder auf ihrer Homepage noch im Internet wie ich den Traffic für eine IP verteilen kann. Auch ein Load Balancer kann den NAT Traffic nicht auf Port Ebene unterschiedlichen IPs weiterleiten. Wie gedenkt Azure das Thema zu lösen?

Dokumentdetails
⚠ Bearbeiten Sie diesen Abschnitt nicht. Er ist für die Verknüpfung von docs.microsoft.com zum GitHub-Artikel erforderlich.

ID: 4b29d46b-5a37-3e56-00a5-98971bce4f6c
Version Independent ID: 87d3401e-dca7-20b1-5544-64f72e83eb54
Content: Öffnen von Ports für einen virtuellen Computer mithilfe des Azure-Portals | Microsoft Docs
Content Source: articles/virtual-machines/windows/nsg-quickstart-portal.md
Service: virtual-machines-windows
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@dtissen
Thanks for the feedback! We are currently investigating and will update you shortly.

Thanks for your question, @dtissen . Are you asking how you can assign multiple IP addresses for use with an Azure load balancer? You can assign multiple public IPs to an Azure load balancer, as documented here - https://docs.microsoft.com/azure/load-balancer/load-balancer-multivip-overview . You can also Azure Application Gateway to add multiple endpoints which can be different IP addresses, pools of computers, or scale sets - https://docs.microsoft.com/azure/application-gateway/application-gateway-introduction
Does this help? I'm not sure how much documentation there would be to update here, so can this issue be closed now?

Hi,
No does not help but thanks. Please see https://serverfault.com/questions/901382/azure-how-to-forward-port-to-another-vm.
Both examples do not allow to forward ports to specific IP's. Also Loadbalancer is able to forward a port to a specific IP. But once you have one rule you are unable to add another rule to foraward to another ip....
I want to forward ports to specific ips. IPtAbles and other services inside a VM can do this, but i want to manage network konfiguration completly on the azure layer.

I don't believe that behavior is currently available. @KumudD Can you review this load balancer behavior question, please? If it's not currently supported, best approach would be to file a feature request against the product itself rather than the documentation - https://feedback.azure.com/forums/217313-networking?category_id=77467

@KumudD is this a product issue? Thanks!

@dtissen if you want to forward to a specific port inside a VM back is behind a load balancer than you can absolutely do that. However if you are looking to forward traffic to another VM that is not behind the load balancer then that would not be supported. You would have to setup a VM to forward that IP traffic along.
As long as the VM you are looking to have traffic directed to is associated with that load balancer you can specific the VM private IP address and the associated port you want traffic forwarded to.
I will close this for now but if you still need more information let me know and we can reopen and continue.

I followed the article to share a postgreSQL default port, i can access to host inside the vmnet, the same vm could be reached from the internet using RDP connection, unfortunately the postgresql port can be accessed from the internet connection. Is there any different  procedures i must follow to enable remote psql connection? Tnx (pls. note: i made a manual updates for both pg_hba and postgresql configuration files.)