Antrea EgressIP does not work if wireGuard is enabled

Describe the bug
When an egressIP is created and applied to pods, it does not work correctly if wireGuard is enabled.
The egressIP works only for the pod that is on the node that takes the egressIP.
The rest of the pods on the nodes that do not have the egressIP lose connectivity to the outside of the cluster.
If wireGuard is disabled, egressIP works correctly for all pods.
To Reproduce
A kubernetes cluster is created with kind.
git clone https://github.com/antrea-io/antrea.git
git checkout release-1.15
docker pull projects.registry.vmware.com/antrea/antrea-ubuntu:v1.15.0
./ci/kind/kind-setup.sh --images projects.registry.vmware.com/antrea/antrea-ubuntu:v1.15.0 create cluster

antrea is installed
kubectl apply -f https://github.com/antrea-io/antrea/releases/download/v1.15.0/antrea.yml
egressIP is enabled (Egress: true)
kubectl edit cm antrea-config -n kube-system
kubectl rollout restart deployment/antrea-controller -n kube-system
kubectl rollout restart daemonset/antrea-agent -n kube-system

A deployment and egressIP are created.
kubectl create -f hello-world-egressIP.yaml
Test connection to an outside service (nginx on laptop).
All 3x pods show egressIP as their source IP.
wireGuard is enabled ( trafficEncryptionMode: "wireGuard" )
kubectl edit cm antrea-config -n kube-system
kubectl rollout restart deployment/antrea-controller -n kube-system
kubectl rollout restart daemonset/antrea-agent -n kube-system

Test connection to an outside service (nginx on laptop).
Only the pod on the node with the egressIP show egressIP as their source IP.
The other 2x pods fail to connect to the outside cluster (Operation timed out).
Expected
It is expected that the 3 pods of the deployment will use the egressIP as the source IP, to a service external to the cluster, even with wireGuard enable.
Actual behavior
Only the pod running on the node that takes the egressIP works correctly.
Pods on different nodes cannot access services outside the cluster.
If wireGuard is disabled, all pods work correctly with the egressIP.
Versions:
Please provide the following information:

Antrea version (Docker image tag):  v1.15.0

Kubernetes version (use kubectl version). If your Kubernetes components have different versions, please provide the version for all of them.
Client Version: version.Info{Major:"1", Minor:"20", GitVersion:"v1.20.2", GitCommit:"faecb196815e248d3ecfb03c680a4507229c2a56", GitTreeState:"archive", BuildDate:"2022-04-02T14:49:13Z", GoVersion:"go1.18", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"26", GitVersion:"v1.26.3", GitCommit:"9e644106593f3f4aa98f8a84b23db5fa378900bd", GitTreeState:"clean", BuildDate:"2023-03-30T06:34:50Z", GoVersion:"go1.19.7", Compiler:"gc", Platform:"linux/amd64"}

Container runtime: which runtime are you using (e.g. containerd, cri-o, docker) and which version are you using?
Kind: kind version 0.18.0, Docker version 20.10.24+dfsg1, build 297e128

Linux kernel version on the Kubernetes Nodes (uname -r).
root@cluster-worker:/# uname -r
6.1.0-18-amd64

Additional context
hello-world-egressIP.yaml.txt

Hi @adolfomaltez, and thanks for the detailed bug report.
I was able to confirm what you are observing, i.e. Egress cannot be used when enabling WireGuard.
This is an interesting case. First I want to point out that the way Egress traffic is sent to the "Egress Node" (the Node to which the Egress IP is currently assigned) is using a Geneve (by default) tunnel. Even when WireGuard is enabled, the Egress implementation tries to use the default non-encrypted Geneve tunnel. Starting with Antrea v1.15 however, we are no longer creating the default tunnel port when WireGuard is enabled. This was introduced in this PR: https://github.com/antrea-io/antrea/pull/5885. This is the first reason why Egress is not working with WireGuard. But even if Antrea is downgraded to v1.14.3 (which does not include this patch, and hence still creates the Geneve tunnel port when WireGuard is enabled), Egress is still not working. It is because Linux Reverse Parse Filtering (rp_filter) is dropping the traffic when it gets to the Egress Node (before SNAT). You can disable rp_filter on antrea-gw0, and this will let you reach out your external server, using the Egress IP as source IP as desired. However, at that point the return path is still broken. This is because return traffic will need to take the WireGuard tunnel from the Egress Node back to the source Node (where the client is). As you can see, this creates an asymmetry in the path, and we configure Wireguard to only allow Pod IPs, which is yet another blocker here.
If we want to support WireGuard with Egress, we will need to revert #5885, and make adjustments to the datapath so that return traffic can be forwarded correctly (not through the WireGuard tunnel). This could probably be achieved using a fwmark / ctmark and policy-based routing? cc @tnqn
Something that could be considered is whether WireGuard can be used to encrypt Egress traffic between the Egress Node and the source Node. The kind of source-based routing we need for Egress is probably not easy to achieve with WireGuard,  and encryption is not really required IMO since Egress traffic is destined to exit the cluster.

If we want to support WireGuard with Egress, we will need to revert #5885, and make adjustments to the datapath so that return traffic can be forwarded correctly (not through the WireGuard tunnel). This could probably be achieved using a fwmark / ctmark and policy-based routing? cc @tnqn

Yes, the proposal should work. We could allocate one ctmark bit to represent it, set it after matching outgoing Egress traffic, and restoring it to fwmark for traffic coming from interfaces except antrea-gw0, then route it to antrea-gw0 via policy routing.

Something that could be considered is whether WireGuard can be used to encrypt Egress traffic between the Egress Node and the source Node. The kind of source-based routing we need for Egress is probably not easy to achieve with WireGuard, and encryption is not really required IMO since Egress traffic is destined to exit the cluster.

Agreed. And it has been documented that "Antrea can leverage WireGuard to encrypt Pod traffic between Nodes."

@luolanzone maybe we could scope this for v2.1?

Created a milestone for v2.1 and added the issue to it.

A quick note that we will need to pay attention to the MTU in that case, and account for both WireGuard and Geneve (we should apply the max MTU deduction of the 2).

same issue for antrea v1.15.0


Nested Velocity tags are moved outside table when inserting via source code and switching back to design view

Description
(Velocity) templates tags, nested inside a table will be parsed out when switching to design view.

How to reproduce?
Paste the following HTML into the editor source code:

x
 #foreach()
x
 #end

Switch back to design view and the #foreach() will be moved into a new paragraph tag before the table tag.
 :D
Trumbowyg is based on browser's contenteditable API which avoid invalid HTML, and your HTML is invalid since you are trying to add some text outside of tags, so the browser take this take out of here.
I cannot fix that since it's a browser-level behavior.

Your are hacking! :D
Trumbowyg is based on browser's contenteditable API which avoid invalid HTML, and your HTML is invalid since you are trying to add some text outside of tags, so the browser take this take out of here.
I cannot fix that since it's a browser-level behavior.

Too bad! Thanks for your quick reply!
I'll try to look for a workaround (e.g. replacing #foreach() with <#foreach()>)

For future reference: Wrapping the velocity tags inside html comments works.
E.g.:

x

x

That code will retain the original positions, but requires additional pre and postparsing of the template.


Added optional dependences as 'extras' for pip install

This adds and extras_require field to the setup.py, which should all users to optionally install all optional dependencies using pip install pliers[all]. This duplicates the functionality of pip install -r optional-dependencies.txt, but without installing from GitHub. The installation runs, but I haven't fully verified that everything works perfectly because I'm currently running into a dlib installation error for other reasons. I also made a small update to the installation documentation to reflect this change.

Thanks!


Accept CMS config in multiple formats

- Do you want to request a feature or report a bug?
neither, but, a suggestion for the docs.
- What is the current behavior?
hexo can disable the CMS non-intuitively.
- If the current behavior is a bug, please provide the steps to reproduce.

run a hexo site
put cms in /admin/
use config.yml as your config file
run hexo generate in /
notice that config.yml is no longer present and CMS no longer loads in deployed site

- What is the expected behavior?
the docs would mention this :)
- Please mention your node.js, and operating system version.
(so really this is about the docs, not cms version)

I think #348 might have solved this. JSON is an acceptable format

probably worth testing the resulting json to make sure it works.  I think #348 was already merged before I got this report.

#348 only affected markdown frontmatter. #238 will address this issue, but if someone wants to document it as a stop gap, it'd help.

Change Build command: Hexo generate to hexo generate && cp source/admin/config.yml public/admin/config.yml

Currently the CMS config only works in yaml, but we may as well support any other data format that we can handle (currently yaml, json, and toml).

@erquhart I'm with supporting all the formats, but the main problem is knowing what config filename to fetch. Right now we only fetch config.yml and fail if it is not found.

This will be much easier after #1132.

After considering this a bit more, I remembered that manual initialization is the only way to do this. Without manual initialization, the CMS auto bootstraps, so loading the config is always a race condition.
Have you tried JS config via manual init yet? Interested to hear if there are any downsides.

@erquhart, by manual init do you mean via import { init } from 'netlify-cms';? I'm using it in one project and have yet to run into any issues.

Yeah that's the one. So the way you do JavaScript config, in case you haven't tried it:
import { init } from 'netlify-cms'

init({
  config: {
    backend: {
      name: 'test-repo',
    },
  },
})

It's overwritten by config.yml if that file is present, but this behavior can be switched off starting with the next release: https://github.com/netlify/netlify-cms/pull/2053
The reason we can't pull in a config.js file the way we pull in config.yml is because yaml/toml/json are string formats that we can simply read in and parse, whereas JavaScript has to be executed, and may also require transpiling via Babel, something I'm not keen to introduce when init already allows JavaScript configuration.
Let me know if you have any further thoughts on it.

Yup. Unfortunately only realized this after my initial comment in this issue. However, I'm happy to attempt to add .json if that would resolve this issue?

Resolving this issue should entail config support for all of the formats that Netlify CMS can parse, which is YAML, JSON, and TOML. Technically JSON is already supported, as YAML is a superset of JSON (so valid JSON is always valid YAML), but the CMS won't pick up a config.json file due to the extension. You can, however, work around this by specifying the config path.
Most (maybe even all) of the code that currently requires the config file to be YAML is in the config redux action file, namely these two functions:
https://github.com/netlify/netlify-cms/blob/15d221d4a4d16b795893441108cfc05909ca347a/packages/netlify-cms-core/src/actions/config.js#L13-L23
https://github.com/netlify/netlify-cms/blob/15d221d4a4d16b795893441108cfc05909ca347a/packages/netlify-cms-core/src/actions/config.js#L54-L62
As @tech4him1 mentioned, there's the issue of knowing what file to look for. I think it would be fine to just look for config files in order, maybe yaml -> json -> toml. Which is kinda silly if you're using config.toml as you'll have two 404's every time. But I guess you can avoid them by setting the config path. Which you should be able to do via config (manual init), but the CMS doesn't have initialization stages, so it can't currently get manual init config and then determine based on that config where to load the actual config file from. That would be ideal.
Eventually I expect most config files to be passed in via manual init or pulled from the repo, as static deployed config files won't work with the Configuration UI that is definitely happening at some point, and which I expect most folks will want to use.
Whew. All the things. Anyhow, yeah, worth making config.json and config.toml work if that's beneficial to you :)

Which you should be able to do via config (manual init), but the CMS doesn't have initialization stages, so it can't currently get manual init config and then determine based on that config where to load the actual config file from.

Sorry, this is confusing. If you set it to manual init, the init config you pass is able to be read prior to the loading of the config.yml. Maybe I am misreading what you mean here.

Context:

But I guess you can avoid them by setting the config path. Which you should be able to do via config (manual init)

For example:
config_path: "config.toml"

That ^^ would be ideal, but it can't work currently because Netlify CMS doesn't process any configuration values until all configuration has been registered, and then the final object is used to configure the CMS.

But that is where I am getting confused, because we do process the manual init prior to going after the config.yml. That is how I ignore the config.yml loading using the load_config_file: false flag.
We could just pass a load_config_file_path into the init and have that override the default file if it exists.

True, guess we could just toss in the logic.

Sorry if I'm missing context here, but lets not forget we have the header value that we can set format on as well. That was part of the original intent for that addition IIRC. https://github.com/netlify/netlify-cms/issues/1132

That PR opened the door for custom naming of the config file, and provided a means for specifying a non-yaml format, but didn't include support for actually handling non-yaml formats. By contrast, this issue isn't really concerned with renaming and focuses only on supporting non-yaml formats.

You can use skip_render: "*admin/*" in config for Hexo, so that yaml does not convert to json.

您可以skip_render: "*admin/*"在 Hexo 的配置中使用，这样 yaml 就不会转换为 json。

Thank you so much!This solves the problem that I am bothering me for two hours.

is it possible to have a json config file ? or a js file tht exports json etc...
tht makes it really easy to reuse some of the config across collections etc


Relevant features/properties for rule induction (and scenario decision making)

When using a rule induction algorithm (like SIRUS) we need to pass a (meaningful) list of features as an input. Currently we use the Domain params but there are some thing to consider about this:

Some of these doesn't mean anything by itself, and need to be processed in some way (e.g., dhw_scenario)
Some of these can be combined together (e.g., seed_frequency and seed_years can be combined to find the number of times seeding actualy happened: times_seeding)
There may be some parameters that we should be considering but right now are not part of ADRIAmod or are not in the Domain datapackage

We may want to discuss:

Which features/properties do we want to consider and which Domain properties we want to "ignore"
How to structure this in terms of code

I did some initial tests with the Domain properties dhw_scenario and wave_scenario. These are indexes that represent a slice in a datacube with dimensions sites, timesteps and scenarios, and for one specific scenario we have a matrix of dhw/wave values for each site and timestep.
In my test, for each scenario I counted the number of dhw/wave above some threshold for each site (over all timesteps) and then took the median and variance over all sites. I then used these four new properties called dhw_threshold, dhw_variance, wave_threshold and wave_variance with the rule induction algorithm and got the following result:

@Rosejoycrocker and me met to talk about this issue in a meeting and here is a summary of what was discussed:
Existing features

waves_stress

Represent how much waves are relevant in the location selection
We can use this information together with the wave analysis above somehow (e.g., weighting the median above threshold count)

seed_frequency and seed_years

Instead of using these two features as is, we could compute the ratio see_frequency/seed_years

plan_horizon

Represents how many years in the future we look to decide seeding locations
Should we use this parameter directly? (no conclusion on this)

use_dist and dist_thresh

We can use only dist_thresh and ignore ise_dist

depth_offset and depth_min

We could sum both and have a column depth_max - and only use this one instead

dist_mean and dist_var

For each species - represent the “adaptiveness”
We could combine this for all species into one single property to represent an overall adaptiveness - maybe the mean of the variances?

New features to be considered

Ocean acidifying (it can depend on currents, maybe site connection)

heritability could also be an interesting feature to look into rules for. We don't have control over this of course, but it would suggest the level of heritability needed for seeding to be effective.
looking into rules for plan_horizon could inform the location selection algorithms I think.
I'm not sure how much it would impact analysis but location selection weightings could be normalised as they are used in algorithms (all shade weightings sum to 1 and all seed weightings sum to 1). This would reflect their true relative values in each scenario.

Timing of disturbances - wave/cyclones, DHWs, etc.
Could be represented as an ordered categorical, binning the timeframe into 5 or something (very early, early, mid, ..., etc)

Initial implementation for discussion.
I am currently using these to support some bespoke analyses, but these could be generalized.
All of this is a work in progress. It works for what I need for now but needs to be cleaned up.
function build_features(rs)
    scens = copy(rs.inputs)

    scenario_deployments = ADRIA.decision.n_deployment_locations(rs.ranks, :seed)

    new_cols = Symbol.("n_loc_deploy_" .* string.(collect(scenario_deployments.stats)))
    insertcols!(scens, (new_cols .=> eachcol(scenario_deployments))...)

    return scens
end

function add_feature!(scens, feat_name::Symbol, y::Vector)::Nothing
    scens[!, feat_name] = y

    return nothing
end

The idea is that there are a common set of scenario-dependent or scenario-derived features that would pretty much always be of interest to us when exploring intervention strategies.
The function build_features() (perhaps this is poorly named) takes the scenario specification and adds the number of locations deployments occurred on. As this can be highly variable depending on seeding preferences, DHW scenario, number of corals to be deployed on, etc, the method adds the summary statistics. The method used to extract these are defined here.
Ideally, it would accept a set of functions that all return a modified dataframe so that a feature set can be composed:
rs45 = ADRIA.run_scenarios(dom, 128, "45")
scens = copy(rs45.inputs)

function some_feature_of_interest(scens)
    # add feature of interest to scens
end

function some_other_feature_of_interest(scens)
    # add feature of interest to scens
end

build_features(scens, some_feature_of_interest, some_other_feature_of_interest)

# or simply pipe between functions

feature_spec = scens |> some_feature_of_interest |> some_other_feature_of_interest

The add_feature!() method simply attaches a vector representing any arbitrary (numeric) value to the dataframe.
For example, the scenario relative cover:
rs45 = ADRIA.run_scenarios(dom, 128, "45")
src45 = ADRIA.metrics.scenario_relative_cover(rs45)

mean_src45 = dropdims(mean(src45, dims=1), dims=1)

feature_spec = build_features(rs)
add_feature!(feature_spec, :mean_perc_coral_cover, mean_src45)

# Arguable `add_feature!` is a useless function as it's a one-liner anyway in this example
# but the idea was to support adding any number of scenario outcomes.

At this point the scenario spec is no longer a specification of scenarios, but a mix of inputs and outputs.
Of course, there's no reason why we would use the entire scenario specification as the base dataframe.
We could easily split out a subset.
The reason for wanting a mix of factors and outcomes in a single dataframe is that we could then specify any arbitrary combination of $x \rightarrow y$.
Here's such a function, which also supports an additional arbitrary BitVector filter (filter_cond).
I'm calling this an effort map as the initial intention was to map an arbitrary level of intervention effort to an arbitrary factor or outcome.
function _effort_map(scens::DataFrame, x::Symbol, y::Symbol; filter_cond=true)
    _x = scens[:, x]
    _y = scens[:, y]

    unique_x = sort(unique(_x))
    qs = [0.25, 0.5, 0.75]
    out = ADRIA.DataCube(zeros(length(unique_x), 4), effort=unique_x, stats=[:lower_50, :mean, :median, :upper_50])
    for u_x in unique_x

        cond = (scens[:, x] .== u_x) .& filter_cond
        if all(cond .== 0)
            continue
        end

        y_s = _y[cond]
        lb, med, ub = quantile(y_s, qs)
        m = mean(y_s)
        out[effort=ADRIA.YAXArrays.At(u_x)] .= [lb, m, med, ub]
    end

    return out
end

Corresponding (badly named) plot function:

function plot_effort(effort_data)
    f = Figure()
    ax = Axis(f[1,1])
    for eff in effort_data.stats
        scatter!(ax, effort_data'[stats=ADRIA.YAXArrays.At(eff)])
    end

    return f
end


Download only sound

When we try to download a music from Kaku it downloads the Video.
Take for example the music Blank Space from Taylor Swift.

Download from Kaku -> http://prntscr.com/803124
Download as mp3 from (http://www.youtube-mp3.org/) -> http://prntscr.com/8032nr
That's almost 10x the bandwidth/hard drive space consumed and probably most users only want the music not the video.

My idea is that we could split the download option into:

Download music*
Download video.

*For what i've seen Youtube API doesn't allow us to only download the music, so we would need to download the video and then take only the music and delete the said video using a 3rd party converter or make one.

Kaku is built based on youtube-dl, so should check useful options from https://github.com/rg3/youtube-dl/blob/master/README.md#format-selection

@uirsevla is working on this bug, so marked as in progress

There is no issue with Download function (just tested / Win OS). Kaku download Video with AUDIO.
This is what it sopose to do imo, or am i missing something here?

This is just an option for users to choose which format they want. dup with https://github.com/EragonJ/Kaku/issues/189

@EragonJ
Ok. Thanks for explaination.

@uirsevla Here comes some tips about how to implement this feature :

You need to add a select/option in settings page to let users choose what format they want (Please check https://github.com/rg3/youtube-dl#format-selection)
When users choose needed format (good quality video / bad quality video / good quality audio ... ), you need to keep these references and pass that to TrackInfoFetcher.js.
If I am right, this is all you need to do because Kaku is modularized enough and technically, you don't need to worry about the others. They should work independently by themselves.

And remember, make sure all searchers do work under these different formats. I think that's all ! Happy hacking !

I just helped to implement this feature, feel free to update based on it ! Thanks :+1:

@EragonJ Can you confirm that Kaku only downloads the audio when streaming? I only want to save bandwidth, I have a low bandwidth cap.

@reddit-is-fun you can check the settings panel, it says best audio & best video there :) If you do change the pref, you would notice that only audio has been downloaded.

@EragonJ I don't believe that's true. YouTube supports resolutions up to 8K and it would be insane to start streaming video at 7680 × 4320 resolution on a 720p monitor.
I have checked the settings, would like to know what "best" exactly means.

Can you confirm that Kaku only downloads the audio when streaming?

If you use best audio, then only audio will be streamed in Kaku !

If I was wrong, can you provide some data or analytics results for that ? That would be helpful for me to dive into bug. thanks !


Add some automated testing with Travis CI

There are some missing imports to fix.
Please enable the repo at https://travis-ci.org/arcelien/pba

Thanks, I will investigate.


Figures can now be activated remotely

About the PR

Title!
Why / Balance

It sounds fun! This allows you to pull some pranks with like making a figure talk in someones backpack or just randomly.
Technical details

Had to rename the system so it made sense, I also made a few changes to the OnUseInHand function that (I think??) was done in an odd way. I could be wrong though!
Media

https://github.com/user-attachments/assets/e8e04929-7a7a-4139-bbe2-c42c52be8b5e
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

Breaking changes

The SpeakOnUseComponent has been updated to SpeakOnActivateComponent. If you have any custom figurines you'll just have to swap to the new name!
Changelog

:cl: Beck Thompson

add: Figures can now be activated with signals!

Does it still have the cooldown when activated like that or will it get spammed? Could be really annoying if someone hooked it up to a tech anom or something... I want to use this to make a doorbell or something like that

Does it still have the cooldown when activated like that or will it get spammed? Could be really annoying if someone hooked it up to a tech anom or something... I want to use this to make a doorbell or something like that

Yeah don't worry! It still has the activated cooldown like if you use it in hand (forget how long) but its like 10 seconds between uses I think.
Using it as a doorbell would be fun and it would totally work I think 😆

"your my favourite deputy!"

Fun idea.
But best make it a SpeakOnTrigger system and TriggerOnUse so it can be reused. Then combine it with TriggerOnSignalComponent.

But best make it a SpeakOnTrigger system and TriggerOnUseInHand/TriggerOnActivate so it can be reused. Then combine it with TriggerOnSignalComponent.

Good news TriggerOnActivate is already a thing (I only realized when I typed the component name and it auto imported it 😆)! This is a lot better really good suggestions 🫡

Thanks for the review! Let me know if there is anything else 🫡


ci(release): 3.0.1 [skip ci]

Automated changes by create-pull-request GitHub action

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

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Upload Multiple - Not saved

I am having trouble using multiple unsaved uploads in the folder and neither in the database
My Controller
  $this->crud->addField([    // Image
                                'name' => 'photos',
                                'label' => 'Photos',
                                'type' => 'upload_multiple',
                                'upload' => true,
                                'disk' => 'public',
                            ]);

My Article
public function setPhotosAttribute($value)
     {
         $attribute_name = "photos";
         $disk = "public";
         $destination_path = "folder_1/subfolder_1";

         $this->uploadMultipleFilesToDisk($value, $attribute_name, $disk, $destination_path);
     }

  protected $casts = [
        'featured'  => 'boolean',
        'date'      => 'date',
        'photos' => 'array'
    ];

My Filesystems
  'disks' => [

      'public_folder' => [
          'driver' => 'local',
          'root' => public_path('uploads'),
      ],

        'local' => [
            'driver' => 'local',
            'root' => storage_path('app'),
        ],

      'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'visibility' => 'public',
        ],

        's3' => [
            'driver' => 's3',
            'key' => 'your-key',
            'secret' => 'your-secret',
            'region' => 'your-region',
            'bucket' => 'your-bucket',
        ],

    ],

    'uploads' => [
            'driver' => 'local',
            'root' => public_path('uploads'),
        ],

Not saved in bank and folder.

What does your uploadMultipleFilesToDisk look like?

This seems to be related with #526, I've also tried to use upload_multiple with the same configuration that @jvgm has but no luck so far. @jvgm were you able to solve this?

@jvgm , @NicolasBonet my bet is that your photos column is NOT mentioned in your model's $fillable array. So Eloquent ignores it. This would explain both why it's not saved in the db, and why it's not saved on the disk (the mutator isn't fired).
I'm pretty sure this is the problem, so I'm going to close the issue. If I was too cocky and it wasn't this, feel free to reopen it :-)
Cheers!


Plugin "netlify-plugin-inline-critical-css" failed: Failed to launch the browser process!

Hi,
sorry to be back.
Since March 28 my Netlify builds are tricky.
Having CriticalCSS build crashes, I reverted to Hugo 0.81.0.
Build command is the simplest: hugo
Critical config is the simplest
  [[plugins]]
  package = "netlify-plugin-inline-critical-css"

I checked all my files for HTML or script errors but all validators are green.
I still have these Netlify logs:
Plugin "netlify-plugin-inline-critical-css" failed

Error: Failed to inline critical CSS.
Failed to launch the browser process!
Inconsistency detected by ld.so: dl-tls.c: 493: _dl_allocate_tls_init: Assertion `listp->slotinfo[cnt].gen <= GL(dl_tls_generation)' failed!

TROUBLESHOOTING: https://github.com/puppeteer/puppeteer/blob/master/docs/troubleshooting.md

In "onPostBuild" event in "netlify-plugin-inline-critical-css" from netlify.toml
at onClose (/.netlify/plugins/node_modules/puppeteer/lib/Launcher.js:750:14)

Don't you have this on your side ?
Thanks a lot,
JB

https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md#chrome-is-downloaded-but-fails-to-launch-on-nodejs-14 this would probably help? What Node version are you using on CI? You should be able to use another one using the NODE_VERSION environment variable

See https://github.com/Tom-Bonnike/netlify-plugin-inline-critical-css/issues/9, not much we can do sadly :(

You are awesome. Thanks a lot


Is there a way to render a Razor partial (without ViewStart) for an Ajax request?

Is there a way for the module or view to indicate that _ViewStart should not be loaded?
I see that there's a way to indicate that a page should be rendered as a partial by using HtmlHelper's Partial method, but that's for the use case where you want to inline HTML for reuse. However, I'm looking for a way for the module to indicate that no ViewStart should be used (similar to MVC's PartialViewResult).
Thanks!

Did you find any solution to this problem?

I ended up modifying the Nancy/Nancy.ViewEngines.Razor code to get it working as it does in ASP.NET MVC. Thanks for reminding me; I’ve been meaning to submit a PR.

@hoppersoft Thanks for the prompt reply. It means, currently there is no way of doing this in nancy?

Nope; I had to resort to some fairly low-level hacking to make it work without breaking the existing SDHP. Once I get the PR in, you should be able to fork/patch/compile like we did.


Name appears

On the user's profile page, they can write the name and surname that I use to verify their account.
Users should be shown with their surnames hidden. Name and surname should be completely visible to the admins. In the permissions setting, it should be possible to set which roles to grant this authority. (For the names to appear; those who previously verified should be asked to re-verify.)

https://github.com/cenkkoroglu/flarum-tcno-dogrulama/issues/1
I cannot use the features you made in this issue. Didn't add it to the Packagist?


Fix some issues

I have rename some error class name and delete some unused variables

Hi @ChangweiZhang, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Hi @ChangweiZhang, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

@ChangweiZhang looks like your fork is out of sync with Microsoft/master.
Please update your fork from Microsoft/master and then merge and update the pull request.

Fixes #155

Hi @ChangweiZhang, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Hi, I have added some missing meta files and update my fork from Microsoft/master. Thank you

Everything seemed to be working for me in the emulator.


Add cert-transfer (mutual-tls-interface) relation

It would be handy if we could have charms trust a CA by means of forming a relation.
For example, I don't need traefik to have a CSR signed by this charm (self-signed-certificates-operator), but I do need traefik to trust the CA, so it can load balance https endpoints.
This is needed to fix https://github.com/canonical/traefik-k8s-operator/issues/214.
Specifically, see diagram in https://github.com/canonical/traefik-k8s-operator/issues/214#issuecomment-1660868997.

I think a specific relation would be better, because adding it to the tls-certificates would complicate things a bit. The library already reacts to relation-changed, and we would need to add more conditions to check. It would also not really make sense in the case of some other providers, like the ACME providers, as the CA is not controlled by the provider in that case.

I added this to our backlog.

I understand the requirement and I agree with @ghislainbourgeois 's approach here.
I believe we may want to change the mutual-tls interface name before getting too far implementing anywhere (ref)


SRVKP-5855: remove (via rename) update pipeline-service PAC jobs

rename vs. delete so we can more easily reference this history later if need be
rh-pre-commit.version: 2.3.0
rh-pre-commit.check-secrets: ENABLED

unit test job timed out ... passes locally:
gmontero ~/go/src/github.com/openshift-pipelines/pipeline-service-exporter  (disable-plnsrvce-upd-job)$ go test ./...
?   	github.com/openshift-pipelines/pipeline-service-exporter	[no test files]
ok  	github.com/openshift-pipelines/pipeline-service-exporter/collector	0.167s
gmontero ~/go/src/github.com/openshift-pipelines/pipeline-service-exporter  (disable-plnsrvce-upd-job)$

plus this PR did not change src code .... only removed pac job.  Merging.

confirmed pipeline service update job not started on post merge


farm management screen is blank

Config context:

SDK 10.5_OSX
Chrome browser
mainnet

Duplicate of #626


[WIP]Use do_settings_change in organisation settings.

Testing Plan:
Manula Testing.
This is a WIP in PR currently, so before proceeding to implement do_settings_change in organization settings section, I want to make sure that the current two commits makes sense now or not. (Don't merge them now, as I wanna test it further while implementing them in org settings page .)
@timabbott what's your view on this?

Yeah, those draft changes look great to me!

@timabbott I've added some more commits, these are the changes needed to further implement what discussed here at https://chat.zulip.org/#narrow/stream/101-design/subject/New.20save.20feedback.20system/near/538317.
I'll add commit for new org-settings saving mechanism soon.

The approach for the commits so far looks good to me.  Haven't done manual testing, so I'm not merging anything yet.

(I haven't updated the tests so tests will fail.)
For failed changes, showing status doesn't look great in save button and so I've kept just one status element for failed changes and made "Saving" button to reset to "Save" in error callback.
I've also restructured the organization settings page into more sensible subsection(with no change in UI).
(Currently, I'm updating node and Casper tests).
@timabbott FYI.
(I hope commits are properly split, I've tested each commit and they work properly individually.
Another thing I want to know, currently I'm updating tests for each commit but is this fine to update tests for all commit in the last commit or separate commit).

So, while writing node tests I'm facing errors, to solve them I first need to make sure that are we okay my current approach.
In my current approach, I'm getting the subsection properties names from their id's by some minor string operations.
If there's better approach please give me lead about that.

@shubhamdhama I'll take a look at this.

I merged the first 5 preparatory commits, since they looked good and don't make any functional changes.
Playing with the end of the branch, the "Discard changes" buttons should hide when you click "Save changes"; otherwise the final end state seems to work pretty well.
I also noticed that we seem to have a bug in the real-time sync if you have 2 windows open (if you click "save changes" in one window, the other's checkbox state doesn't update), but that's probably not a regression here, just a follow-up issue.
As a sidenote, for next steps, we should start thinking about using a handlebars template for elements like the the organization-submission  block, so that we can deduplicate the code (both for those blocks and eventually also for our checkbox elements...).  Probably not worth thinking about until this is merged though.

BTW, the first 5 commits were exactly the sort of thing I was looking for in terms of commit structure :)

For "org settings: Make each subsection independent for saving changes.", I think you could without too much trouble split the code structure changes out into a preparatory commit that doesn't include the CSS/template changes.
For the node tests, your high-level approach looks great.  I think @showell wrote that test file, so if you're having trouble debugging, ask him for help.

I've updated the PR for last three reviews but still doubt about first remains https://github.com/zulip/zulip/pull/8650#discussion_r175105634.
This time I've also updated current Casper Tests which are passing currently but I think it would be great if more Casper tests are added for the changes.
I'll forward to node tests if current changes look right.

Okay, I'm taking a deep look at all possible bugs. BTW, for now, I've updated tests (Though I'm not personally happy with the tests for submit_settings). But I'll update them here or as a followup.

@timabbott can you give this another round of review, I've added a "data-status" attribute to track the last status of the element, which helps in "Casper test" and for further tracking the status of saving.
If this gets finalized I'll extract if (subsection === 'msg_editing') { into a separate function to make this clean when we use this function for org-permissions, and also will add some bluesip errors for subsection validity(if this is important here).

@shubhamdhama this looks pretty reasonable; I expect to merge it tomorrow after some manual testing.

Merged, with these small changes squashed into the commits in question:
diff --git a/static/js/settings_org.js b/static/js/settings_org.js
index aa021f4..ff5aa7f 100644
--- a/static/js/settings_org.js
+++ b/static/js/settings_org.js
@@ -492,7 +492,9 @@ function _set_up() {
             elem = $(elem);
             var property_name = exports.extract_property_name(elem);
             if (typeof page_params[property_name] === 'boolean') {
-                // Trigger a click event because of dependent sub-settings
+                // We trigger a click event rather than just changing
+                // the prop, because that handles dependent
+                // sub-settings correctly.
                 if (elem.prop('checked') !== page_params[property_name]) {
                     elem.click();
                 }
@@ -562,9 +564,9 @@ function _set_up() {
             if (!new_allow_message_editing) {
                 if ((parseInt(compose_textarea_edit_limit_minutes, 10).toString() !==
                      compose_textarea_edit_limit_minutes) ||
-                    compose_textarea_edit_limit_minutes < 0) {
-                // Realm.DEFAULT_MESSAGE_CONTENT_EDIT_LIMIT_SECONDS / 60
-                compose_textarea_edit_limit_minutes = 10;
+                        compose_textarea_edit_limit_minutes < 0) {
+                    // Realm.DEFAULT_MESSAGE_CONTENT_EDIT_LIMIT_SECONDS / 60
+                    compose_textarea_edit_limit_minutes = 10;
                 }
             }

Thanks @shubhamdhama!  This is a big improvement to that screen.
I think the natural follow-up projects for this are:

Fixing the real-time sync for having 2 windows open and editing these settings in one of them.  We'll need to do something similar to what we have in "notification settings" and "display settings" for this.
Doing the same treatment to "organization permissions"
Starting to work on de-duplicating the handlebars template duplicated code.

I think the first two would be things we could merge for the upcoming release, so perhaps it's best to focus on those.


Unknown timestamp format for LastUpdateEpoch

What exactly is the format of the timestamp provided in the ebpf package's LastUpdateEpoch.
The struct in the docs is here.
It just generally says time but doesn't specify what the uint64 means.
I am getting consistently at this moment something like<PHONE_NUMBER>69801 from the LastUpdateEpoch while my system up time according to /proc/uptime is 1252465.93 seconds.
It seems like I have ruled out both up time and Unix epoch time but can't think what it would be.
Anyone know what the time given by LastUpdateEpoch is?

For those wondering in the future, it is in fact some monotonic system time. It is equivalent to runtime.nanotime(), which internally is a call to clock_gettime(CLOCK_MONOTONIC, ...).


Make the project more modern!

Also has a few cross-platform fixes, and a build test fix.

What exactly is the motivation for this change?

Which change specifically?

The whole PR I guess. What do you mean by "more modern" exactly?

Compile as a modern ES module, target the latest ES syntax, use SVG's instead of PNG's for twemoji because they don't lose quality when being scaled and they're smaller, make the build work on windows, and fix build error in emoji.test.ts.

Cool! Thanks. Question. When it's compiled into an ES module will people still be able to pull it in via a simple script tag, or is a bundled needed?

In today's browsers, anyone can able to import it with import EmojiButton from './path/to/emoji-button.js'; in a module (script loaded with type=module), without a bundler at all.

Didn't know ES module support had landed in all modern browsers! I need to pay more attention to this stuff 😀 I'll take a look at the PR more this evening.
Thank you!

Oops, I missed two more usages of emoji.parse() that weren't using the options to get an SVG, so in some places it is still requesting PNG. I'll have a commit in a moment to fix that...

Fixed.

@joeattardi Is this gonna get merged soon?

Will try to get to it this week. Lots going on right now!

Okay!

Hi, sorry for the long delay, still haven't forgotten about this PR. Been super busy.

No problem.


Build using CMake

Instead of including a binary block in the git tree for building the executable, cmake which is readily available in most platforms could be used instead

Thank you for suggesting this. We do appreciate the pull request, and would love to see more, but I would be careful about this particular change. We've tended to use waf (which is written in Python) extensively through all our projects and making the switch to Cmake feels as something which should be done project-wide, rather than on individual repositories.
I'd be happy to hear from @artfwo as well though.

Hey @marlls1989, thanks for the PR. I've noticed that your CMakeLists.txt doesn't include the check for ImageMagick 7, does that work when building against V7?
Regarding waf, well, waf is a compressed Python script, not an executable binary. I like waf because it's simple, fast and does its work. CMake, on the other hand, is a Makefile generator and thus requires both make and cmake to be installed in order to build anything. While those can indeed be installed on most systems, it seems an overkill for me switch over the entire project.
We've been trying to keep things simple and blockhash can actually be built without any of those tools by running gcc blockhash.c `pkg-config --cflags --libs MagickWand` -lm. Waf is there for a bit of cross-platform convenience and saving typing :) I don't think moving to cmake will make things any better for such a small project, so I'd rather not do that.

Hi! Thanks for your time reviewing and replying my PR, I really appreciate your time and attention...
Regarding testing against ImageMagick 7, I haven't tested. This PR was just a quick hack done under 30 minutes on Fedora 26 and was built using ImageMagick 6.9.3. It is not "master branch" quality work yet.
It is just a hack I did to build the package as I was suspicious of running unknown code on my machine, sent my hack back to you as a pull request to make it more readily available to those that like me, were suspicious of running what appeared as a foreigner binary on their machines.
Again, thank you for your time replying my PR. I understand and respect your reasoning for choosing Waf.
Cheers

Hey, @marlls1989! Thanks for understanding. Looking forward to seeing more from you in the future!


⚠ Visual-Crew_Builder has degraded performance

In b90e192, Visual-Crew_Builder (https://visual-crew-builder.ai) experienced degraded performance:

HTTP code: 200
Response time: 1317 ms

Resolved: Visual-Crew_Builder performance has improved in 9f8e37e after 6 minutes.


vue-tsc:1.7.12 memory heep size, and 1.7.11 bad check for unused on template.

When I update vue-tsc to1.7.12, heep memory like #3239 , my project using vxe-table ant-design-vue.
And 1.7.11 didn't find I have idx in template, treat it as unused.

Could you please provide a minimal reproduction?

Could you please provide a minimal reproduction?

Sure, minutes

Could you please provide a minimal reproduction?

code sandbox
pnpm i
npm run check

Could you please provide a minimal reproduction?

code sandbox pnpm i npm run check

This vue-tsc crashed.
And if revert to 1.7.11 can work.
https://codesandbox.io/p/sandbox/idx-unused-nc6xlc?file=%2Fsrc%2Fcomponents%2FHelloWorld.vue%3A13%2C1
Just treat idx in template as unused.

I'll look into this in a few days

I suddenly found this is duplicate of #329 =。=

I believe the first problem has been resolved and the second one is a duplication.

I believe the first problem has been resolved and the second one is a duplication.

yep

I believe the first problem has been resolved and the second one is a duplication.

1.8.2 Still crash.
https://codesandbox.io/p/sandbox/vue-tsc-antdv-crash-reporduce-p8yxsy?file=%2Fpackage.json%3A25%2C22

Thanks for you confirmation.

Closed due to unable to reproduce in latest version.


Create query prototype

[x] only one submit button
[x] no query fields
[x] tool renders the API response nicely
[x] no UI sugar (toast, ellipses, blocking UI elements)
[ ] ~results cannot be selected~
[x] no download
[x] no node selection

:rocket: Issue was released in v0.1.0 :rocket:


osde2e++

Updating the osde2e dependency and taking the chance to increment the Go version to consume #48 as well
OSD-19380

/close


How to set text color Constraint according to background color.

Hi,
can you please tell me how can I implement functionality like this =>https://material.io/color/#!/?view.left=0&view.right=1&primary.color=c4e0a4&primary.text.color=d5ffca
I want to set background color of box and and auto set text according to background color automatically.
Can you please tell me is there any function of parameter in this plugin.
Thanks

Hi vikasinnoeye,
You can bind 'slidermove' or 'change' event of the input to set the background color of corresponding boxes.
<input type="text" id="color-input" />

$('#color-input').on('slidermove', function() {
    $('#box').css('background-color', $(this).wheelColorPicker('getValue', 'css'));
});

Hi @fujaru
Thanks for replaying, can you please tell me how can I set  set text color according to the background color like the example link?

I am not sure what did you mean by "text color", but you can get the color value in hex (e.g. #ffffff) with
$('#color-input').wheelColorPicker('getValue', 'css')

Please refer to the example.html page for samples on how to assign colors and labels to other elements with the color picker.

By "text color" I mean this, please check the screenshot:

I see that. You can get the "brightness" (v value) of the object returned by this
$('#color-input').wheelColorPicker('getColor').v

The value is between 0 to 1, we can check whether the value is more or less than, say, 0.5 to alter the color between black or white.

Hi, for that looking into the issue but with above code:
$('#color-input').wheelColorPicker('getColor').v
I am always getting value 1, can you please check that.

Please check this video recording on result: https://streamable.com/1ctjq

The v value refers to V component of  HSV/HSB colorspace. In this case, we would need to convert it to HSL and use L component instead.
https://stackoverflow.com/questions/3423214/convert-hsb-hsv-color-to-hsl


using script config in notepad++ debugger not working

Debugging a script that is using a script config file .cs.config does not work, because the config file is not loaded. The debugger is always loading the C:\Program Files\Notepad++\plugins\CSScriptNpp\CSScriptNpp\css_dbg.exe.config which does not exists.
Why isn't it loading the script config file which is in the same directory as the script file?
In the C:\Program Files\Notepad++\plugins\CSScriptNpp\CSScriptNpp is no css_config.xml file. Can this be a problem?
I'm using notepad++ 7.6.6 (64bit) with CSScriptNpp 1.7.24
thanks for any help.

Unfortunately it's not an easy to fix problem. CLR is ultimately inflexible when it comes to loading config files. Basically it is the entry assembly file name + .config.
In cs-script the problem is solved by loading the script is a separate AppDomain and configuring this appdomain to use alternative config file.
AppDomain.CurrentDomain.SetupInformation.ConfigurationFile = configFile;

It is a heavy trick that btw does not work on .NET core as its AppDomain config simply does not allow alternative "*.config" at all.
Thus as a rule of thumb I am trying to avoid using .config and use .json settings files instead.
Anyway, it looks like the trick does not work in case of debugging (being executed by the css_dbg.exe).
I will check if AppDomain.CurrentDomain.SetupInformation.ConfigurationFile is accidentally not set in case of debugging. But to be honest the chances of that are slim.
In a mean time you can use an alternative debugging technique when you start the script as normal and only attach the debugger when it is fully loaded. You can do it by using Assert statement.


5.1.1 not work

Hello author, this project was opened in version 5.1.1, and no resources can be seen. Please kindly update the project, thank you

Did you use git LFS?


In .net core 3.0, how to merge generated dll and exe into an exe file?

In Visual Studio, the csproj project file configuration uses <PublishSingleFile>true</PublishSingleFile> and <PublishTrimmed>true</PublishTrimmed> , and the generated exe file is 47M.
But I want a smaller size, the operation is as follows:

Use <PublishTrimmed>true</PublishTrimmed> to build the project.

After the project is generated, some invalid dlls are deleted, such as api-ms-win-core-console-l1-1-0.dll, api-ms-win-core-datetime-l1-1-0.dll... ...

The *.deps.json file has been modified and the program runs normally.

After modification, the entire file size of the entire program is 30M.
Ask, how to merge dll, exe into an exe file.
Note: Do not consider this tool https://github.com/dgiagio/warp

@livarcocc

PublishSingleExe is our solution to this.
@jeffschwMSFT

@toolgood have you been able to figure this out? @jeffschwMSFT do we have any recommendations here?


Cannot rerun co-sims on changed multimodels

I guess this is related to the "validity" of co-sims feature (maybe #222)
But this implementation is too restrictive. We can flag the results as invalid/issue a warning but forcing users to create a new co-sim every-time they change a multi-model is too restrictive. Especially because we can't duplicate co-sims so there is lots of re-clicking.
This feature needs to be disabled

That is definitely not the case. It prevents launching co-sims.

We can either merge #266 or update the error message to explain how to regenerate the checksum. But right now, it's very unintuitive behavior.

It was implemented to prevent co-simulations if the multi model changed since a change here should be done in Modelio and then re-exported to the app as a new multi-model (except for the selection of the FMUs). With this in mind I think updating the error message might be best.
I understand why you want this disabled since your workflow is based on a standard iterative development workflow (which I also prefer) but there was a strong focus on the fact that configs and results no longer was valid if something changed. If you want it removed I suggest bringing it up at the meeting for WP4. (personally I'm ok with either solution)

Thanks.
I think it's not worth the discussion. I'll just update the error message.


Port cartographer_ros_msgs to ROS2.

Includes changes made in the original 1.0 version and adaptation to
new messages and services that were added since then.
Original authors of 1.0 port:
Chris Lalancette (Open Robotics)
Mikael Arguedas (Open Robotics)
Shane Loretz (Open Robotics)
Darby Lim (ROBOTIS)
Signed-off-by: Michael Grupp<EMAIL_ADDRESS>

colcon build --packages-select cartographer_ros_msgs

source install/setup.bash
ros2 interface list | grep cartographer

Is there any updates regarding this port?


what is the rationale behind the new version?

Hey guys, what's the added benefit of using the new version of the program? Just wondering.
Thanks,

What version are you talking about?

the commit that changed  move towards YAML. just wondering if i should upgrade or use the .inf file versions. i think read somewhere in the commit notes that the autoconversion to yaml might be not 100% correct.

In my opinion YAML is a much better and manageable markup language to use for the ad files. It's a widely used language and it is meant for the very purpose we're using it for; certainly better than making up our own markup syntax.
I realize that for many this doesn't matter because most people won't be manually editing their ad files after they've generated them, but using YAML is still a better direction to go.
I included a python script that can convert inf ad files to the new yml format. The reason why I say that auto conversion might not be 100% correct is because I did not test it for every possible edge case however for the vast majority of inf ad files it should work fine. Some types of ads require additional special fields (eg. car sale ads, rental ads, etc) which you may have to add in manually. This was the same case for the inf ad files.

okay great. thanks a lot for the input!
Could you please give me some pointers on how to make the double new lines characters (new row and blank row) work? Right now if I have \n\n it will only show up as a single \n in the ad post. Unless I manually click on the "edit ad" button.
I was thinking of writing a selenium script that will do this, but its sounds heavy and not a good way to implement. any points would help!

That's a conversation that should be discussed in issue #52
My workaround is to add three line breaks where ever I want a blank line to appear in the ad when rendered on the actual ad page.

I'll consider that a fix!! Thank you so much !

Wondering why the ability to have login information in a file was removed?

@crowbarsolutions That feature hasn't been removed, it has always been there. Just like before you can always include a username and password field in an ad post file if you wish.
The "build_ad" subcommand still has this too; it will ask for a Kijiji username and password when generating an ad post file.


sodg fixes

@rultor release, tag is 0.4.0

@rultor release, tag is 0.4.0

@rultor release, tag is 0.4.0

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.4.0

@yegor256 Done! FYI, the full log is here (took me 38min)


pop out + new video - original video plays in background

Kudos to @jessopb for spotting this one. @seanyesmunt thinks it may be related to the recent auto play changes.
Reproduce: have autoplay turned on, start a video, click back / out of it, and then navigate and play another video.

This is no longer an issue with autoplay reverted.


Breaking changes ef core 3.0.0-preview8.19405.11

Trying to port to new ef core 3.0 preview
And i think there have some breakings changes!

var migrationServices = new ServiceCollection()
                    .AddDbContextDesignTimeServices(baseCtx)

there no AddDbContextDesignTimeServices in new version

var test1Model = test1ModelBuilder.GetInfrastructure().Metadata;
                test1Model.Validate();

there no vaildate method

     var entityTypes = CurrentContext.Model.GetEntityTypes().Select(t =>
         new {
             ClrType = t.ClrType,
             TableName=t.Name //().TableName
             }
         ).ToList();

there no TableName property
What U suggest to do to port to new verison ?
Further technical details
error log.txt
EntityUtills.txt
EF Core version: Microsoft.EntityFrameworkCore.Design 3.0.0-preview8.19405.11
Database Provider: (e.g. Microsoft.EntityFrameworkCore.SqlServer)
Operating system: 10
IDE: (e.g. Visual Studio 2019)

You need to explicitly reference EFCore.Design now.

@Diaskhan Is your intention to let us know about breaking changes that aren't documented? If not, it might be a good idea to scan the announcements/status updates to understand what is happening in 3.0.

Note from triage: nothing here not already covered.

I will try to do. If not gonna work give u a feedback !


Palo Alto Wildfire plugin

Added in Palo Alto Wildfire plugin support:
This plugin currently examines files by submitting SHA256 hashes of e-mail attachments to the Palo Alto Wildfire API to determine if the hash is present in the Wildfire database.  If the file is in the database and is known Malicious or Grayware additional details are retrieved and populated in PIE case record and submitted to LogRhythm Case API.
Wildfire LR Case Example
Wildfire Spam Report Example
Shodan.io update:
Cleaned up Invoke-O365Trace.ps1's call of Shodan plugin when set to true.  Will no longer populate Shodan header/footer into spam-report.txt when no links were identified within the e-mail.

Great stuff - just finished testing this out today - thanks!


✨ Feature – Allow interop with JS or TS

Problem
Elm supports interop with JavaScript via flags, ports, and web components. It is not clear in the guide how working with those things is possible with Elm Land.
Solution
The high-level idea is to allow users to create an src/interop.js file in their project that looks like this:
export const flags = ({ env }) => {
  return {}
}

export const onReady = ({ env, app }) => {
  // Ports are available on `app.ports`
}

This is currently supported in JavaScript, but I need to explore how involved src/interop.ts would be. Mainly I'm interested in whether supporting Typescript will require extra configuration, build steps, or have serious performance impact.

Is there a way we could create something like an Environment.elm which exports a environment function for the build / server to pull in and then users can always remain within the ecosystem rather than creating a JS file? Basically what is already in place for Route and so on within the internals and in that way all environment settings, ports and so on is on the framework level to handle and users can remain in elm land 😉. WDYT?

Hey there 👋
100% agree on adding .env file support, that's a missing feature that will benefit everyone!
Elm Land will still use the elm-land.json and the src/interop.js files to provide environment variables via flags, and those same variables will be available for folks working with JS web components etc

If you're interested, you should definitely join the Discord channel and share more of your pain points there!
( I mostly use GitHub issues to track planned work, and am slower to see comments here )

Hey there 👋
100% agree on adding .env file support, that's a missing feature that will benefit everyone!
Elm Land will still use the elm-land.json and the src/interop.js files to provide environment variables via flags, and those same variables will be available for folks working with JS web components etc

If you're interested, you should definitely join the Discord channel and share more of your pain points there!
( I mostly use GitHub issues to track planned work, and am slower to see comments here )

Thanks for the tip, I'll consider it!
As to your point about the interop JS file and to clarify how you would implement the environment variable parsing, is this your plan?

Parse dotenv file
Pass environment variables to interop JS as a function argument to the default export (making an assumption 😉)
Take return value of that function as the flags to be passed to all Elm page init functions

If that is the flow you had in mind, I still don't understand why the interop JS is required since we could just pass the environment variables into a record to all page init constructors.
I guess I also don't understand the point about web components, why would they need access to flags?
Perhaps it's just a big misunderstanding on my part 🙈!

Both TypeScript support and .env files have been added in #54 , and will be released with v0.18.0 🚀


fix(dataproc): increasing retry count and delay for workflow templates, adding UUID to resource names

https://github.com/GoogleCloudPlatform/golang-samples/issues/2032 and similar are popping up due to race conditions.
Retries were added to workflow sample, and UUIDs added to resource names for the rest of the samples.

@tbpg all feedback addressed


encoding/xml can NOT analysis hex uint/int

Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (go version)?
go version go1.8 linux/amd64
What operating system and processor architecture are you using (go env)?
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
What did you do?
1, edit test.xml with hex number
<test type="test" index="0x1">
</test>

2, edit xml.go
package main

import "encoding/xml"
import "io/ioutil"
import "fmt"

type testxml struct {
	Type   string `xml:"type,attr,omitempty"`
	Index  uint   `xml:"index,attr,omitempty"`
}

func (d *testxml) Unmarshal(doc string) error {
	return xml.Unmarshal([]byte(doc), d)
}

func main() {
	xml, err := ioutil.ReadFile("test.xml")
	if err != nil {
		return
	}

	fmt.Printf("read xml : \n%s\n", xml)
	testXml := testxml{}
	if err := testXml.Unmarshal(string(xml)); err != nil {
		fmt.Printf("testXml.UnmarshalXML:\n%s\n", err.Error())
		return
	}

	return
}

3, run go
go run xml.go
What did you expect to see?
encoding/xml can analysis hex uint/int.
What did you see instead?
encoding/xml report a error : strconv.ParseUint: parsing "0x1": invalid syntax
And I tried to fix this bug...
modify go/src/encoding/xml/read.go
itmp, err := strconv.ParseInt(string(src), 10, dst.Type().Bits())
--> itmp, err := strconv.ParseInt(string(src), 0, dst.Type().Bits())
I run the same test code, and it works well.

This is working as intended & documented.
The "0x" prefix is only respected in the bits==0 auto-detect mode. If you specify 10 or 16, the "0x" prefix is not allowed and it's your job to strip it first. See strings.TrimPrefix. Or just use s[2:] if you've validated that it's present already.

Does it mean you can't parse hex values as int or uint using the standard xml.Decoder ?

For questions about Go, see https://golang.org/wiki/Questions.


Need linter and unified coding style

@baudehlo , we are about to finish deals for 2.0.0 release window. I highly recommend to use eslint with tests and unify coding style. That will be very big changeset.
One question:

Any preferences? For example, we use 2 space chars for left indentation. All our presets can be found here

For me the most simple way is to copy my linter configs. But i'm not sure you like those. Let me know what do you think.

Done

Yeah honestly I will probably never work on this again, so make it what you work best with. Personally I'm old and can't see indents when they are two spaces, but I am happy to let you pick your own style here.

On Aug 1, 2015, at 6:41 PM, Vitaly Puzrin<EMAIL_ADDRESS>wrote:
Done
—
Reply to this email directly or view it on GitHub.

Yeah, 2 spaces is not the best choice, but coding style standard for node (due lot of nested callbacks).
I'll probably will not work on this too :) . In long term users should/will migrate to webdriver api. But i hope this project is now in much more maintainable state and will not require changes next 1-2 years.


Support for Argoverse Dataset

Hi @zhixinwang, will you be interested in adding support for Argoverse dataset to your code base. If yes, please let me know I can send a pull request for the same.
Thank you.

Hi @zhixinwang, I have written an adaptor that converts argoverse data to KITTI format that is inspired by this repo, where I fixed a few issues w.r.t the transformation and have trained a model for only a few epochs with the images from the front camera only (just 1/7 th of the data) due to my computational limitations. Initial results were pretty good but definitely not close to the results that you got for KIITI, I guess the reason for it is mainly due to the fact that in argoverse the LIDAR data intensity is not as great as KIITI, please refer to the same images for more info. But anyone with access to better computation resources could definitely try training the model on the entire dataset and experiment with your model's hyperparameters. If you are fine with it then I can give a PR for the same.


Change endpoint path to be more consistent

From:

https://github.com/opt-nc/GLIA/issues/444#issuecomment-1174581825

Endpoint paths now to get a list of communes and agencies:
GET /communes HTTP/1.1
GET /temps-attente/agences HTTP/1.1

It should be:
GET /communes HTTP/1.1
GET /agences HTTP/1.1

⚠  This change will impact:

RapidAPI
Killercoda
Visualisations

Wrong repo. Moved to :

https://github.com/opt-nc/opt-temps-attente-agences-api/issues/89


number of columns

reading the docs there should be 12 columns
I can only set out 11
if I set col-4 three times in a row it steps the last col-4 on to next row
if  set col, col, col on a row I get the full-width page
I can set col-4, col-4, col-3  and get the three items on the same row and one bank column
I would expect the  col , col, col and col-4, col-4, col-4 I would expect the col and col-4 to be the same width but the col-4 is a few pixels wider
views:
  - title: cameras
    path: cameras
    badges: []
    panel: true
    cards:
      - type: 'custom:bootstrap-grid-card'
        cards:
          - type: row
            cards:
              - type: picture-entity
                class: col
                entity: binary_sensor.shelly_shem_d3b509_over_power
                show_state: false
                hold_action:
                  action: more-info
                show_name: true
                name: Back
                camera_image: camera.back
                camera_view: live
              - type: picture-entity
                class: col
                entity: sensor.nest_doorbell_chime_time
                show_name: true
                show_state: false
                name: Doorbell
                camera_image: camera.front_door
                camera_view: live
              - type: picture-entity
                class: col
                entity: sensor.nest_doorbell_chime_time
                show_name: true
                show_state: true
                camera_image: camera.doorbell_chime_image
                name: Doorbell Chime
          - type: row
            cards:
              - type: picture-entity
                class: col-4
                entity: sensor.nest_doorbell_sound_time
                show_name: true
                show_state: true
                camera_image: camera.doorbell_sound_image
                name: Doorbell Sound
              - type: picture-entity
                class: col-4
                entity: sensor.nest_doorbell_motion_time
                show_name: true
                show_state: true
                camera_image: camera.doorbell_motion_image
                name: Doorbell Motion
              - type: picture-entity
                class: col-4
                entity: sensor.nest_doorbell_person_time
                show_name: true
                show_state: true
                camera_image: camera.doorbell_person_image
                name: Doorbell Person
          - type: row
            cards:
              - type: picture-entity
                class: col-6
                entity: automation.car_presence
                show_state: false
                hold_action:
                  action: more-info
                show_name: true
                camera_image: camera.front_cam2
                camera_view: live
                name: Front
              - type: picture-entity
                class: col-5
                entity: sensor.nest_doorbell_chime_time
                show_name: true
                show_state: false
                name: Doorbell
                camera_image: camera.nest_hello
                camera_view: live

Thanks for sharing! I have that behavior too and found the problem and pushed a fix for it.

Fixed in v0.1.0.


Build a 1972 arcade Pong replica

Epic Issue to track the milestone progress to get a full replica of the 1972 arcade game. Once that is complete the enhancements can be made.

#18


remove use of variable length arrays

Description:
After #4645 was merged, @jmarantz noticed that the STACK_ALLOC_ARRAY macro was incorrect on Windows -- it was not properly initializing the memory for the array and the destructors of any array elements would not get called. This PR fixes the macro to:

Use alloca to allocate the memory on the stack
Wrap the buffer with a wrapper template class that handles constructing / destructing the elements of the array

We also update the Linux build to use this alloca+wrapper class strategy and so can add "-Wvla" to the POSIX copts to catch further uses of variable length arrays
Risk Level:
Low - should be no change in behavior
Testing:
bazel build //source/exe:envoy-static && bazel test //test/...
Docs Changes:
N/A
Release Notes:
N/A

Haven't looked at code yet, but if you are going to change the linux path we should probably get @mattklein123 's buy-in before even reviewing, and likely we'll want some perf tests showing the impact, a la https://github.com/envoyproxy/envoy/pull/4867

Haven't looked at code yet, but if you are going to change the linux path we should probably get @mattklein123 's buy-in before even reviewing, and likely we'll want some perf tests showing the impact, a la #4867

Presumably what this code is doing with a wrapper around alloca() is essentially what I imagine gcc/clang are doing when generating VLA code, so I doubt there will be much/any perf difference. So at a high level it's fine with me. @jmarantz are you interested in taking a first pass on this?


Let terrain prevent projectile layer change callbacks

Currently, the engine calls OnEnterWater and OnExitWater on a projectile whenever its current velocity puts it past the water plane - even if it would collide with the terrain surface first. This PR moves the callbacks to after the terrain check so that they can be unscheduled when the terrain does end up being the impact result.

Incorrect, note the water splashes on land
https://github.com/FAForever/FA-Binary-Patches/assets/15778155/f5dac2c2-1268-4f86-82c2-ba022d7a0d5b
Correct!
https://github.com/FAForever/FA-Binary-Patches/assets/15778155/f13b8157-e9a5-4fbd-98a2-439bbfc6c78e


Reproducability issue: tied_presults and presults are not defined

I tried running the ipynb notebook to reproduce the results and figures from the paper.
However, I run into an issue in the cell that makes the first figure, i.e., the cell just below header 1. First fig in simulation section: correction reliability and power.
In this cell, variables tied_presults and presults are among the arguments that are passed on to the basic_plot-method. These variables are not defined in the notebook.
Could you guide me on how I should initialise these variables in order to be able to reproduce the your plots?
@castells @nanbi-amazon

After looking into it a little bit more, I believe that the solution is to add the following line to the cell below the 1. First fig in simulation section: correction reliability and power:
tied_presults, presults = power_all(alpha, npoints, nreps, nsessions, nqueries, nonrel, rel, ranking_generator, customers, interleavers)

Can you confirm that this is indeed the correct fix?

Thanks @TaXxER for spotting this! Indeed you got it right, that line needs to be uncommented. We had left a few lines commented out from our last iterations while running the experiments. I've just committed a full pass at the notebook hopefully fixing any such trailing bits and cleaning up a few unneeded comments and code, and I'm now doing a full run to test all is ok.


Selected null passed from parent raises exception: Chapter 2.

Still broken :).

Hm, I would try looking into the line that changes the search value to the selected value.

@shentao probably getOptionLabel could return '' on null instead of option.

This is what I'm talking about :D I'm leaving for vacation for a week so I will merge everything next month. ;)

@shentao sure. Have fun.
BTW Got nasty preload on inactive select (many many on-search-change events for large forms). Will try to build a PR in that week.

Awesome! I really appreciate your commitment! Great job!

probably getOptionLabel could return '' on null instead of option.

That was a bad idea. Everything breaks :.

Could you test this on v1.0.1?

@shentao sure, will do tomorrrow.

Thanks!

@shentao wow. Everything works. Even removed all my duct-tape.
Good job!

Glad to hear that! :D


Don't bother non-technical authors with formatting issues in docs

I propose to exclude readme/ fragments from linters.
As long as the README.rst generator accepts them and produces valid .rst (which is checked upon ocabot merge), we should not bother non technical authors with overly strict formatting issues of readme fragments.

But AFAIK, this will make that until merge, there's no way to detect possible problems. I think the same should apply for both technical and non technical...

But AFAIK, this will make that until merge, there's no way to detect possible problems. I think the same should apply for both technical and non technical...

Not really. The "issues" pre-commit "fixes" in markdown text are not important. Mostly trailing whitespace, line wrapping etc. They do not detect markdown validity errors. We could have a dry-run generation of the README in CI, but that is a different issue.
Look at the linked PR as an example of what pre-commit complains about.
So I think it is more important to facilitate docs contributions by non-tech folks than being pedantic about whitespace in documentation.

OK then.

Thanks for the valuable feedback everyone!
@tumbaoju FYI.


<EMAIL_ADDRESS>decompress error

The log file contains following contyent (I removed most of it as the overall comment wold have been just too long).
; Version detected: 6000 (Unicode)
#5 {app}\etc\gimp\2.0\controllerrc
Reading slice D:\Programs\apps\gimp\2.10.18-2\gimp-2.10.18-setup-2.exe
#6 {app}\etc\gimp\2.0\gimprc

...

#15229 {app}\lib\gimp\2.0\plug-ins\file-exr\.debug\file-exr.exe,2.debug
Error (Exception) "MoveFile failed; code 225.%nOperation did not complete successfully because the file contains a virus or potentially unwanted software" at address 0048BFFC

I also got an error, but it has a different message.

Remove-Item:
Line |
   5 |     Remove-Item 'lib\gimp\2.0\plug-ins\twain\twain,2.exe'
     |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot find path 'C:\ProgramData\scoop\apps\gimp\2.10.18-2\lib\gimp\2.0\plug-ins\twain\twain,2.exe' because it does not exist.
Rename-Item:
Line |
   7 |  … r '*,*' -Recurse | Rename-Item -NewName { $_.name -Replace ',\d','' }
     |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
     | Cannot create a file when that file already exists.


404 File not found clicking on the link "sharing" in the list on the page "View" of the project "Glowy PHP"

Description:
404 File not found clicking on the link "sharing" in the list on the page "View" of the project "Glowy PHP"
Environment: оpera v. 93.0.4585.37
Steps to reproduce:

Open section "Projects" on https://awilum.github.io
In project "Glowy PHP" click on the the link "View"
In the list of features click on the link "sharing" in point "Data sharing across views."

Actual result:
Page https://awilum.github.io/glowyphp/view/{{ url() }}/glowyphp/view/methods/share/ is opened with error 404 File not found
Expected result:
Page with information about data sharing across views is opened
Attachment:

Issue fixed. Updates on Live.
@rnastasya  please retest

Made retest, issue fixed


[Issue #289] TextQL - Implement Output Schema generator in Statements and Predicates

This PR implements the generateOutputSchema in the Statements and Predicates.
This method allows the scope to obtain the output schema of a statement based on the schema of its input table(s)/view(s).
TextQL uses the concept of "temporary view" (session-scoped view). In order to add declared statements into the scope (including views) and be able to perform semantic checks such as table/attribute name resolution and assert attributes existence, the generateOutputSchema() function is implemented. It is also useful for determining the schema of a statement inside a subquery.

@FlavioBayer Should we close this issue for now until you become more available?

I am going to close this PR since it's not active.  We can re-open it in the future if needed.


Add Schedule and DrainQueue to WorkSerializer

The aim is to be able to schedule callbacks on the WorkSerializer without executing them immediately.
This would allow us to schedule callbacks on the queue while still staying holding on to mutex locks, and actually drain the queue after we release any such held mutex locks.

This approach looks really good!
@soheilhy, how does the use of atomics look to you?

LvGTM. Thanks!

Thanks for checking @soheilhy !

Known issues: https://github.com/grpc/grpc/issues/27603


Remove extra setTimeout in Blockchain#connect

Hello const/for..of/spread! 😆

LGTM,  but what was the rationale?
I was going to say it changes the memory requirements,  but I suppose they were always there.

I think memory requirements will be same, because instead array you store arguments in v8 queue (or somewhere in node).
IDK about PR, feel free drop/change/etc. It was first thing which I wanted to change when looked on code.


Fix firefox youtube issue

Adds comments on how to run the firefox container
Fixes crashing tabs in certain cases. This is best visible when playing youtube movies

I didn't add this fixes to the alpine-version of firefox because it is pretty much broken beyond repair...

I tested it and it seems stable - ping @jessfraz

I suggest not to create a user profile setting in /root but to change /etc/firefox/syspref.js instead.
I am running jess/firefox not as root but as an unprivileged user in container. Currently the fix does not apply in that case. Changing the setting system wide would apply for all container users.
I suggest a line:
 RUN echo 'user_pref("browser.tabs.remote.autostart", false);' >> /etc/firefox/syspref.js

So I went down the rabbit hole of audio + unprivileged user last night and got pretty much nowhere. @mviereck - do you have any more data on the cause of the issue? This Nix issue and comment describes pretty well what I'm seeing, but the goal I think in this case would be to let FF use PA as provided by the host.

Not that I'm trying to create a heavy discussion (although it will probably follow), but is not running as root worth all the extra issues ?
It's a container after all...

@mviereck - do you have any more data on the cause of the issue?

Not really yet - I don't know what browser.tabs.remote.autostart does at all. It fixes crashing tabs as @ngaro found out (thank you!).
It also fixes "my" ticket #360. (I found that insecure option --ipc=host fixes crashing tabs, too.)
I suggest to transform @ngaro's solution to this short setup that works for all container users:
 RUN echo 'pref("browser.tabs.remote.autostart", false);' >> /etc/firefox/syspref.js

So I went down the rabbit hole of audio + unprivileged user last night and got pretty much nowhere.

The audio thing is a different issue. Maybe we should discuss it in #410. I have a working pulseaudio setup. Sharing /dev/snd fails here, too.

To add to @mviereck's comment, typically with the browser you're hosting your profile and downloads on the host (you could use a volume, but I don't think that's typical - as if anything anyone does running desktop apps in containers "typical" :) ). In that case, you end up with your home directory with root-owned files that are downloaded from the Internet.
Thanks for the legwork @mviereck ! I'll check out your PR shortly.

fixed by https://github.com/jessfraz/dockerfiles/pull/429 thanks!


Add the ability to use shell:true for DebugAdapterExecutable

The current insiders version of VS Code includes a new version of NodeJS that fails to spawn .bat files when shell: true is not set:
https://nodejs.org/en/blog/vulnerability/april-2024-security-releases-2

It is important to note that there has been a breaking change for Windows users who utilize child_process.spawn and child_process.spawnSync. Node.js will now error with EINVAL if a .bat or .cmd file is passed to child_process.spawn and child_process.spawnSync without the shell option set.

The DebugAdapterExecutable class does not currently allow extensions to set shell: true when describing how their debug adapter should be launched. This PR adds support for passing shell? string | boolean through.
Without this fix, the Flutter debug adapter does not launch (it gets an EINVAL error). With this fix, it launches successfully.
Fixes https://github.com/microsoft/vscode/issues/224184
I don't know if there's a way to add automated tests for this, so if that is required please provide pointers. Thanks!

This is being fixed better by https://github.com/microsoft/vscode/pull/224320


Release v0.8.0

This change is part of the following stack:

#100

#101 ◀

Change managed by git-spice.


Debug angular-cli generated application chrome/ vscode

I was trying to debug my application (No modification) created using ng init command in chrome and vscode (Default environment-Debug).
I was not able to find the *.ts files in the output folder 'dist'. On further searching for .ts files i found the files in the tmp directory with a random generated folder path.
How can configure angular-cli build so that i can emit the *.ts files in the 'dist' folder so vscode debugger vschrome debugging extension can find all files [*.ts,*.js,*.map] and use them for debugging
Also : #1223
is

Please provide us with the following information:

OS?

All.

Versions. Please run ng --version. If there's nothing outputted, please
run in a Terminal:
node --version

angular-cli: 1.0.0-beta.8
node: 6.2.2
os: win32 x64

.

Thanks! We'll be in touch soon.

See https://github.com/angular/angular-cli/issues/1266.

Closed as issue was made obsolete by #1455.

@filipesilva can you provide VsCode launch config and any other steps that i need to make it work with Chrome extension

I would like to have these steps too. Thx!

I would like to have these steps too. Thx!

+1

@santoshsas @code1line @arfeifei @zoiverd see https://github.com/angular/angular-cli/issues/2453 for a usable config.

have you tried https://github.com/atom-bugs/atom-bugs-chrome?


Payjoin sends

supersede #572
fix ci errors
awaiting mutiny-node merge as a dependency for this

Relies on https://github.com/MutinyWallet/mutiny-node/pull/647 and https://github.com/MutinyWallet/bitcoin-waila/pull/8
Test with @DanGould's payjoin receiver
bitcoin:TB1QSAQ38TWXQEJGR3JJ3AHGHWLSMV8JJCFDWERGM4?pj=https://mutiny.payjoin.org:4433

[x] waila part
[x] node part

-- @benalleng

In my testing I got it to work twice!
https://mutinynet.com/tx/3c5436f1edf7d4c32a5ccf2448c1e963f52bb8a0fb6f8688d7e78a14e1cbe80b
https://mutinynet.com/tx/ca2bca759e84730e8bd995b98edbcce0df0bea26965c39d7293cdae2bae65206

After those 2 however, I continued getting a 400 bad request error
XHRPOST https://mutiny.payjoin.org:4433/?v=1&additionalfeeoutputindex=1&maxadditionalfeecontribution=59&minfeerate=1.008 [HTTP/1.1 400 Bad Request 1532ms] { "errorCode": "original-psbt-rejected", "message": "The receiver rejected the original PSBT." }

@benalleng
I don't think this failed because of your hack, but because for whatever reason requests after your last success reused the same input 3c5436f1edf7d4c32a5ccf2448c1e963f52bb8a0fb6f8688d7e78a14e1cbe80b:0. That input was banned to prevent probing of the receiver's UTXOs. Does mutiny employ a mechanism to lock UTXOs from being added to subsequent PSBT constructions?

Also, if this is a mutiny specific bug wonder how we can get around it to make sure any user doesn't get banned

reproduced the error
Got several successes before failure though!
https://mutinynet.com/tx/cd38e01043445e086f4289239909f8404bf809c1ce45ea25bce6281b6fb92de8
https://mutinynet.com/tx/828d97d3a2532121fbd8942d97e6225eb0529b5ba1c547f006b0e9c4541f4543
https://mutinynet.com/tx/494b5144b69cb67cec315080bc4b7e9fc88fcd42c7e96e2f7679c37b31096d53
https://mutinynet.com/tx/d1ebaf0e09a841f1cd61ab67729a94d096d8d6e0bc482e5e4982a07104e91db0
attempt 5:
got a frontend only error
Failed too sign unsure what caused it
attempt 6:
got the error i have seen before likely banning me
XHRPOST
https://mutiny.payjoin.org:4433/?v=1&additionalfeeoutputindex=0&maxadditionalfeecontribution=59&minfeerate=1.008
[HTTP/1.1 400 Bad Request 1695ms]

1

{ "errorCode": "original-psbt-rejected", "message": "The receiver rejected the original PSBT." }

attempt 7:
same error as attempt 6

If a payjoin_psbt response failed to sign and a request was replayed, that utxo would be banned so this would be expected behavior. Do we have any more logs / detailed on why Failed too sign cropped up?

Couldn't recreate the Failed to sign error this time and only got one success before failure, unsure of why its happening

Does this issue require a playwright e2e test to proceed? Have you any logs from those Failed to sign runs?

I believe this is now ready for review. @benalleng  Do we know why OpenSSL failed on iOS here? I don't think it's related to this PR, as it adds no changes to OpenSSL crypto

Yeah I brought it up to everybody on the matrix dev server, the consensus is that it is  related to some secret that non-branch PR's don't have access to

I agree the toggle can come later. The same function can be had for now by pasting in the plain address instead of a &pj= containing uri.

I'm getting "Failed to create payjoin request" running this locally. It doesn't look like the request to https://mutiny.payjoin.org:4433/?v=1&additionalfeeoutputindex=0&maxadditionalfeecontribution=59&minfeerate=1.008 is getting a response?

Oops, the public ip of that server was changed. I reset the DNS A record but it may take some hours to propagate. mutiny.payjoin.org should be <IP_ADDRESS>

Hm still not working for me, same timeout for https://<IP_ADDRESS>:4433/?v=1&additionalfeeoutputindex=1&maxadditionalfeecontribution=59&minfeerate=1.008

Thanks for your patience on this, my server was moved to one with a dynamic ip. It has been changed to a static one at  <IP_ADDRESS> which mutiny.payjoin.org:4433 should point to. The https cert is not right yet, but I don't think mutiny-node's reqwest is configured without tls because default-features = false so it could still work.
However, ignoring TLS certificates is very dangerous and should be fixed immediately https://github.com/MutinyWallet/mutiny-node/blob/2c332b43269ade626b8c195fc0a3a7870c640b94/mutiny-core/Cargo.toml#L37

https://mutiny.payjoin.org:4433 is running and secured by TLS now. Please excuse the wait 🙏

getting an error when trying to test now: Can't broadcast. PSBT rejected by mempool. has there been a new change to the mutinynet mempool policy?

getting an error when trying to test now: Can't broadcast. PSBT rejected by mempool. has there been a new change to the mutinynet mempool policy?

No, haven't in months

Weird. When I run testmempoolaccept on the tx you submitted I get non-final error.
bitcoin-cli testmempoolaccept '["01000000000101ed05c0a2016487c310e082b6bfd4c0f4018c14de9b528d501d91a207b398dc980100000000fdffffff0225140d00000000002251207f809c1307a11ed63b852947c499789be8b1cbe3d50dc0614d92056ab0d2171f1027000000000000225120c8df14b2a973139855a61323a6fd9d2889a272fea87e2a274afa6ec84cf822930140fb6be4528387d682adc3e16bf7621b98883ded27af60b228916de6c417ff3f64b941bf88794c2a26a956257dddc8ac23b93fbd62c6a501fb7c36b7c0e0f1abe6ac250a00"]'
[
  {
    "txid": "875ed948c456d763225354658b12241af6ebf9df45bb11596b270d6d3f143c60",
    "wtxid": "b1b5bf107baa8155bda3f54bbdf90cdaefa1ad1616b14f9512890e1bb7a0cc48",
    "allowed": false,
    "reject-reason": "non-final"
  }
]

I just sent a successful payjoin from this branch. The signet server there was not synced before after maintenence. It should be fixed now

Hate to be a continual bearer of bad news but I tried to send to your sample address and got another error:

Can you see the network request response to see if it was an error communicating with the payjoin server or something else?

it's a 400 bad request:
{ "errorCode": "original-psbt-rejected", "message": "The receiver rejected the original PSBT." }

The prior request that failed still included an input which was recorded as seen, so this subsequent request was rejected. I've deleted the seen_inputs database and restarted the server. Thanks for the persistence.

Error processing payjoin response: couldn't decode PSBT: error in PSBT base64 encoding
{errorCode: "original-psbt-rejected", message: "Missing payment."}
request:
cHNidP8BAH0BAAAAAdPbOhyZ3wNXGuMe2Ey1vGJ3BRASvUXdlsoO8DYM5hI6AQAAAAD9////AhAnAAAAAAAAFgAUh0ETrcYGZIHGUo9ui7vw2w8pYS1cGQEAAAAAACJRIHWOKlfizYzeNj+o6vk2tFCNNvhX36MfGfYbs6A5ct99CbIKAAABASv/QAEAAAAAACJRIL61n+KaCpzVGNkJBX/ASadNWVNYQIvb2M3eiJDCv87KAQcAAQhCAUCl3cUkYEaBSV9d50ckZLrgDjQibvbTKNHYcVCUv5CAbYbapJKmoK1LGyUDOIafJ+Q7ABRrR5/ahlQht0pFM2a7ARNApd3FJGBGgUlfXedHJGS64A40Im720yjR2HFQlL+QgG2G2qSSpqCtSxslAziGnyfkOwAUa0ef2oZUIbdKRTNmuyEWL48baGI+w0e5GEmqwWmcABdJDaEG0fBMo27iBnPOgpsZAJEiV9NWAACAAQAAgAAAAIABAAAAFQAAAAEXIC+PG2hiPsNHuRhJqsFpnAAXSQ2hBtHwTKNu4gZzzoKbAAABBSCmRFjFT1mEcvHv7SBEMwe/2yze55SLpGPXumvW1L2uMSEHpkRYxU9ZhHLx7+0gRDMHv9ss3ueUi6Rj17pr1tS9rjEZAJEiV9NWAACAAQAAgAAAAIABAAAAAgAAAAA=

@futurepaul It looks like the original bip21 from the description belonged to an old wallet, so the output did not pay the receiver you were calling. I updated the description to let you fetch a bip21 from the live server which I'll repeat here:
https://mutiny.payjoin.org:4433/bip21?amount=0.00066666

mutiny.payjoin.org is down for maintenance and should be up tomorrow

mutiny.payjoin.org is up and synced

rebased on master w/ new ActivityEditor change

Tested and it worked for me. The payjoin notice is a bit big compared to everything else, not sure what a better way would be though

@benthecarman hell yeah brother
Happy to follow up with a toggle that fits in the table like bitcoin design recommends

Yeah that might be cleaner

as of now this is the same element / size as other warning InfoBoxes


SolidFire driver doesn't work with underscores in the volume name

When creating a volume with underscores in the name the driver fails.
[root@control wp]# docker volume create -d solidfire --name test_me
Error response from daemon: create test_me: VolumeDriver.Create: Error creating storage: Received error response from API request
[root@control wp]# tail -10 /var/log/netappdvp/solidfire.log
DEBU[1795] Issueing request to SolidFire Endpoint...
DEBU[1795] POST request to<EMAIL_ADDRESS>DEBU[1796] request:596 method:CreateVolume params:&{netappdvp-test_me 1<PHONE_NUMBER> false {0 0 0 0} <nil>}  ={
  "error": {
    "code": 500,
    "message": "netappdvp-test_me is not a valid name. The name must only contain digits, alphabetic characters or a -",
    "name": "xInvalidAPIParameter"
  },
  "id": 596
}

While it's understood that underscores are not a valid character for SolidFire volume names, they can't be avoided when using Docker Compose since it prepends "projectname_" to the volume name.
Andrew

This is a limitation in the SolidFire API, it only allows alphanumerics.  The only other option would be to fail sooner but when automating I don't think that's going to solve the problem for you.

I just submitted a patch/pull request with a solution to this.  Not the best solution, but a solution.

There are 2 proposed fixes for this.  Can we make a decision and Merge one of them.  I proposed one of them, but I'm not married to that Solution, although it does work.

I think we were waiting on some review changes from jg on PR #34?

Woops, I took PR #34 a while ago, should work now.  Closing.


Publish to NuGet

Hello, great directive you've got here.
I'm wondering if you'd be willing to publish to NuGet.
I know you already have Bower and NPM packages, but maybe you are willing to add another one.
I may get the time to do a pull request with a .nuspec file if you are interested.
Thanks,
Leo.

If you create the PR, of course.

+1
Truly a great directive!!