Can't access Crashplan Interface on Synology after update.

I just upgraded to the latest Docker image for Crashplan-Pro on my Synology NAS today because Crashplan stopped backing up a few days ago; likely because of a CP update. Opening Docker shows that it is running but trying to access the GUI interface (i.e. 192.168.1.xxx:5800) says the browser can not connect. I followed the instructions below to update CP; which have always worked in the past.
For owners of a Synology NAS, the following steps can be used to update a container image.

Open the Docker application.
Click on Registry in the left pane.
In the search bar, type the name of the container (jlesage/crashplan-pro).
Select the image, click Download and then choose the latest tag.
Wait for the download to complete. A notification will appear once done.
Click on Container in the left pane.
Select your CrashPlan PRO container.
Stop it by clicking Action->Stop.
Clear the container by clicking Action->Clear. This removes the container while keeping its configuration.
Start the container again by clicking Action->Start. NOTE: The container may temporarily disappear from the list while it is re-created.

Any help would be appreciated.

FYI - I added a test file to the NAS and it did NOT get backed up. So nothing is working.

Anything in container's log?

I had previously cleared the logs because I attempted to start over. There are only three entries now 1) Logs cleared, 2) Stop container, 3) Start container.
The container tab shows that the container is running. When I log into my admin panel at CP it shows that client is "disconnected."

I completely removed the container and the Docker app from the Synology and started from scratch. I still cannot open the GUI. Server not found error.

Log file attached after a complete re-install. Any help would be appreciated I am really stuck.
service.log.0.txt

To make sure we are on the same page, can you provide a screenshot of what get in the browser when accessing the UI.
Also, could you provide the output of the following command:
docker inspect <name of the container>

Here is the output of the inspect command and a screenshot of the browser when I try to access the GUI interface on the NAS. (Ip address of server xx obfuscated. I used the real IP address)
inspect-docker.txt

According to the inspect output, you mapped port 5800 of the container to port 32769 on the host.  So you should connect to the UI with http://192.168.x.x:32769.

Hi,
That let me in!
But I didn't map any ports manually. When it stopped working I only deleted the container and started the install from scratch. How can I remap the GUI to the correct default port now and in case it happens after a future re-install?
Thank you!

If you created the container from the Synology UI, I guess you should be able to edit the container's settings and change the port mapping ?

When I stop the container the port display changes to auto
When I restart it changed this time to 32775.
See stopped and started images below.
Thanks for all your work on this. So many of us depend on CP.
How/where do I set it to remain static at 5800/5900?

I found the Docker config file on the Synlolgy NAS. But I dont know where to set the default ports to 5800/5900. File attached.
hostconfig.json.txt

There doesn't seem to be any way, at least that I've found, to change the container ports thru the Synology GUI. Please see previous post.

I found it! You must double click the image before starting the container and set the ports under advanced settings. If you do this after the container is created then Synology creates a duplicate container with a slightly different name; i.e. ....PRO1, PRO2, etc. Apparently you can't change the ports once the container is created.


Change arp command to ip for the ARPLookup in Linux

Hi @arturovm, please consider this change in order to have a more "portable" method for the lookup in Linux and avoid the installation and usage of the obsolete arp.

I like this @letitbeat, perhaps we can try both. I'll take from here.

Let's stop using the arp command, thanks!


quarkus: stack is experimental

Summary
The Quarkus stack is currently in "experimental".
We are currently considering building part of a microservices scenario using Quarkus and Appsody.
I would like to know the current roadmap for the Quarkus stack and when it might be moved to "incubator".
Thanks.

Look at the requirements for an incubator stack (https://appsody.dev/docs/stacks/stacks-overview#incubator), the quarkus stack does meet the technical requirements necessary. It would have to be the stack maintainer, @paulrobinson, who decide if he thinks the stack is ready to be promoted to "incubator".

Thanks @skoh7645.
@paulrobinson can you share any info? Thanks.

Hi. Sorry for the delay on this. I'm hoping to take a look at this Monday or Tuesday (failing that it will be a further week later, due to my vacation).

Looking at the criteria, I think that the Quarkus stack can progress to 'incubator' status.
The Quarkus version does need upgrading, but I can raise a PR for that now.

Awesome, thanks @paulrobinson!

FYI: Here's the PR to upgrade Quarkus: https://github.com/appsody/stacks/pull/674

This stack has been promoted to incubator level. Closing issue.


feat: Extend User module to built-in role system

This Pull Request drafts a role-system built into the user module as an additional way for user rights management. The roles are provided by the system, and a role definition can be attached for every module.

[x] Take current state of customer projects
[x] Rename role "user" into "custom"
[ ] Allow to define multiple roles

Pull request is feature-completed.
This pull request resolves #587.


How to empty the logs?

I have tried cat /dev/null > /root/.forever/xxxx.log and it will remove contents of the file BUT only until the next line is written to log, after which all the contents comeback. forever cleanlogs didn't help either.

Did we find an ultimate solution for this?
pi@garry1:~/.forever$ ls -la *.log | wc -l
91
pi@garry1:~/.forever$ cd ..
pi@garry1:~$ du -sh .forever/
26M	.forever/

Duplicate of #106.


[SPIRV] Resulting matrix vector product code looks unoptimized

Lets say I have the following shader: (I'm targeting spirv with -emit-spirv-directly and my version is v2024.1.17):
struct Constants {
    float4x4 view_projection_matrix;
};

[[vk::push_constant]] Constants constants;

[shader("vertex")]
float4 main(): SV_Position {
    return mul(constants.view_projection_matrix, float4(1.0, 0.0, 1.0, 1.0));
}

I compiled it with ./slangc -emit-spirv-directly example.slang -o example.vert.spv | spirv-cross example.vert.spv and the resulting glsl code looks the following (Im using spirv-cross to translate the resulting spirv to glsl):
#version 450

struct _MatrixStorage_float4x4_ColMajorstd140
{
    vec4 data[4];
};

struct Constants_std140
{
    _MatrixStorage_float4x4_ColMajorstd140 view_projection_matrix;
};

uniform Constants_std140 constants;

void main()
{
    gl_Position = vec4(1.0, 0.0, 1.0, 1.0) * mat4(vec4(constants.view_projection_matrix.data[0].x, constants.view_projection_matrix.data[1].x, constants.view_projection_matrix.data[2].x, constants.view_projection_matrix.data[3].x), vec4(constants.view_projection_matrix.data[0].y, constants.view_projection_matrix.data[1].y, constants.view_projection_matrix.data[2].y, constants.view_projection_matrix.data[3].y), vec4(constants.view_projection_matrix.data[0].z, constants.view_projection_matrix.data[1].z, constants.view_projection_matrix.data[2].z, constants.view_projection_matrix.data[3].z), vec4(constants.view_projection_matrix.data[0].w, constants.view_projection_matrix.data[1].w, constants.view_projection_matrix.data[2].w, constants.view_projection_matrix.data[3].w));
}

lets say I try to compile the equivalent file with dxc: dxc -T vs_6_7 -E main -spirv -Fo example_dxc.vert.spv example.slang | spirv-cross example_dxc.vert.spv, the resulting code looks much simpler:
#version 450

struct type_PushConstant_Constants
{
    mat4 view_projection_matrix;
};

uniform type_PushConstant_Constants constants;

void main()
{
    gl_Position = vec4(1.0, 0.0, 1.0, 1.0) * constants.view_projection_matrix;
}

what is the reason for this? why is the mat4 constructed from 4 vec4, isn't this code unoptimized?

What you are seeing here is that the Slang generated code is constructing the matrix unambiguously from the uniform buffer first. To ensure consistent data layout on all targets we support, Slang will always lower matrices to arrays of vectors in constant buffer declarations.
For runtime performance, since the driver will scalarize anything, the final code that hits the GPU should not have any of these steps and will perform just as fast. On most GPU architectures, there is no such concept as a matrix and they are lowered to scalar registers anyways.
Let us know if you find this to cause any actual performance problems on any GPU architecture, and we can generate code differently if that is case.

Closing since this is intended compiler behavior and we don't think it leads to unoptimized code or degraded performance. Feel free to reopen if this is not the case.


when looking to support an existing request the request page it goes to is undefinend

Expected Behavior

I get to the request for that article

Actual Behavior

takes me to /request/undefined

Steps to Reproduce this bug

Run http://www.nejm.org/doi/full/10.1056/NEJM199901143400207 through the /request/new page

The plugin couldn't find the existing request on this URL too

my request url is http://oab.test.cottagelabs.com/request/uXGQEZJaJYRPA6PBm

These links have been fixed now.

this is back in 1.7 & on current /request/new page

Fixed in the plugin but still to get to the website UI

Fixed again again again

This will NOT stay closed >:(
Supporting: http://www.nejm.org/doi/full/10.1056/NEJMoa1504720 should add your support to: http://oab.test.cottagelabs.com/request/CLMPrDLk3Bwrd4ejB but it doesn't. This is with the plugin 0.2.1.

This seems to be working for me. The availability check on that URL takes a VERY long time, like two minutes, which appears to be mostly spent waiting for dissemin to return. But when it does return, I see the links to the support request and clicking it works. However you may be seeing problems because there are actually multiple requests for this article in the dev system, because at various points we have been able to break things and submit new requests where it should not be possible. I can clear out all the test requests we have created so far if you want. But as far as I can tell, this is fixed.

Thanks for reopening this, I missed that. Also, thanks for clearing out the test data. Also, more info here, I'm still on 2.1. Worked through most of the ten requests we had, my results were:

http://oab.test.cottagelabs.com/request/ZJXdCX65oD2xNKiCP was found by the find api \o/
http://oab.test.cottagelabs.com/request/3u3xARjRsQoJzeniZ. Supported it, but was sent to undefined. The page now seem to have 2 supporters (but not extra story) & the plugin tells me I have supported it.
http://oab.test.cottagelabs.com/request/twpusXfduyaCPGm9e same again.
http://oab.test.cottagelabs.com/request/uDi3owjiczkTGEXdh the plugin finds no request at all
http://oab.test.cottagelabs.com/request/GSKErWTMMamqJRSrk request found, but sent to undefined after supporting from the plugin. Page now has 2 supporters, but no extra stories or usernames.
http://oab.test.cottagelabs.com/request/Xp96FFrjAkbE5MkxE same again. Plugin tells me I've now supported the request after.

OK, they will all have to be reviewed tomorrow, then the plugin retested, then the bookmarklet finished. That puts the site release out to Wednesday at the earliest.

Okay. I'm going to try and restart my mac & use a cleaner install of chrome. @chealsye @meganwaps can you try this?

Okay, just did the above & still no luck.

@JosephMcArthur Could you give me a link that already has a request? I can't support my own... so having trouble testing this.

I just tried to get this to work by supporting Chealsye's most recent request, Once I click on the 'Add your Support' button, nothing happens. It just looks like this forever.

@chealsye  you can find the links to the original articles on request pages (they're the links for the titles)

http://oab.test.cottagelabs.com/request/ZJXdCX65oD2xNKiCP was found by the find api \o/
http://oab.test.cottagelabs.com/request/3u3xARjRsQoJzeniZ. Supported it, but was sent to undefined. The page now seem to have 2 supporters (but not extra story) & the plugin tells me I have supported it.
http://oab.test.cottagelabs.com/request/twpusXfduyaCPGm9e same again.
http://oab.test.cottagelabs.com/request/uDi3owjiczkTGEXdh the plugin finds no request at all
http://oab.test.cottagelabs.com/request/GSKErWTMMamqJRSrk request found, but sent to undefined after supporting from the plugin. Page now has 2 supporters, but no extra stories or usernames.
http://oab.test.cottagelabs.com/request/Xp96FFrjAkbE5MkxE same again. Plugin tells me I've now supported the request after.

@meganwaps can you try to support the requests from the plugin. That's the issue here.

I just tried to get this to work by supporting Chealsye's most recent request, Once I click on the 'Add your Support' button, nothing happens. It just looks like this forever.

I looked at this and it worked a-okay, can you try on some others?

@JosephMcArthur Ah okay. I tried the links you included above, but all the ones I tried didn't have a request. Will try with others from the page.

Tried to support http://www.cell.com/current-biology/abstract/S0960-9822(15)01167-7
got the undefined error.

I just tried to get this to work by supporting Chealsye's most recent request, Once I click on the 'Add your Support' button, nothing happens. It just looks like this forever.

I looked at this and it worked a-okay, can you try on some others?

@meganwaps we'd also need some info on browser to do this.

I have updated the plugin to 0.2.2 and made a new release as well. I have changed it so that it no longer shows a message about "you have already supported" or "you created". Instead, if the user did support or create, the big orange button just says "view request" and clicking that takes the user to the request page.
Other functionality is the same - if the item is already available, the button goes blue and clicking it will open the item. If it is unavailable, the button is orange and pressing it opens the box to add a story to add a new request. If it is unavailable but there is already a request created by someone else and the current user has not yet supported it, then pressing the button opens the story box but asks for a support story. In cases where the user submits a new request or a support story, on successful submission they see a thank you note and a link to the request page, which will also have been opened for them automatically.
I have tested this with the article at:
http://www.tandfonline.com/doi/abs/10.1080/09505431.2014.928678
I was able to support an existing request, then able to be told I already support it and to open the request, and then able to create a new request (for data this time) and have the proper new request page open, and then able to view the fact that there was already both an article and  a data request, and each button take me to either of the requests, and those requests display the fact that I either already supported or had created the request. Also the request page shows the support stories now (there was an error there).
@JosephMcArthur please test again, let me know if happy - be sure to use the latest 0.2.2 version of the plugin.

Okay, I think the undefined bug is good to shut here. I've tested it on a few papers & they worked. I can see the view request thing working too - and that's a nice enhancement.
The remaining issue highlighted here is:

http://oab.test.cottagelabs.com/request/uDi3owjiczkTGEXdh the plugin finds no request at all

which still doesn't find the existing request. I can see you've used a t&f in your example above, and it worked for me so this doesn't happen for all t&f papers. Just wondering why it's happening here.

Ah - this is not an error, this is a problem.
The request page you link to has the URL as follows:
http://www.tandfonline.com/doi/full/10.1517/14656566.2016.1159298
Whereas when you are looking at that same article, you are probably seeing something like what I see, which is:
http://www.tandfonline.com/doi/abs/10.1517/14656566.2016.1159298?journalCode=ieop20
Note that it has a query parameter on the end? So I created a new request for it and it is here:
http://oab.test.cottagelabs.com/request/TezRFg5cErYjyzYzh
So you will see that is a new request because the URL is NOT the same. Unfortunately, the T&F site and some other publisher sites do not seem to be consistent in whether or not they include the query parameters.
I did previously try stripping query parameters from the URLs which would solve this problem for ones like this, BUT the problem then is that some other publisher sites use the query parameters to signify that the page is actually about a different article. This may be less common than the issue above, but is at least common enough for me to have seen it and hence changed back to the way we currently do.
We can only pick one of these for now - either we keep things as is now and some pages like this may not be recognised as the same, or we strip query parameters, solving problems like this but then potentially never being able to distinguish between pages that use query parameters to change their content.
We have discussed disambiguating what is on a URL by something like the DOI, but that is quite a change and has other consequences to consider. At any rate, given that what the plugin does now is record openness of URLs - not of DOIs - we can't make that change quickly. Also of course it would only help for things with DOIs (or whatever thing we chose to disambiguate on).
Also, even if we did as above, the real big problem with ignoring query parameters in future is that we could never use the plugin very well on google scholar or any other search-style page, because they almost always use query parameters to indicate the state of the page - we would be forever stuck thinking everyone is only on the homepage of google scholar, for example.
It is because of the above reason - that we could potentially lose a lot of functionality that we may later want - that I have reverted to the way it is now.
@JosephMcArthur let me know if you want this changed.

Thought I tested the link changing - sorry.
Okay, I'm happy to close this. All I'd suggest is we monitor this issue. I have a place to drop thoughts or sighting of the issue at #381.

Do you mean when you went to the articles those requests are for, and
clicked the button, you couldn't find a request at all?
Are you using the new 2.1 plugin btw?
On Mon, 24 Oct 2016 at 22:21 chealsye<EMAIL_ADDRESS>wrote:

@JosephMcArthur https://github.com/JosephMcArthur Ah okay. I tried the
links you included above, but all the ones I tried didn't have a request.
Will try with others from the page.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OAButton/backend/issues/358#issuecomment-255869947,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEuWZzMkpcfeePsWvpNpHABFfQ-quml_ks5q3SF1gaJpZM4KeKZm
.

@JosephMcArthur who is that last comment aimed at? Doesn't seem to make sense in the context


Support for WebClientSession

Title says it all :) It would be great to have a Mutiny version of Vert.x' WebClientSession in Quarkus to mimic the usage of WebClient but with session support (i.e. using a cookie store).

The class is not generated because the original class (from Vert.x Web) is not annotated with @VertxGen. I just opened an issue.

This has been fixed. We are generating io.vertx.mutiny.ext.web.client.WebClientSession.


Consider adapting a comprehensive toolkit like ms_toollib

ms_toollib is a comprehensive toolkit about minesweeper. if you need to read any video format, like .avf, .mvf, ..., I recommend it to you.

https://github.com/eee555/ms_toollib

custom format is redundant, in my opinion

Thank you! I will take a look at the library and see if it's a good fit.

Correct me if I am wrong @eee555, but this library from yours is for the solver algorithms, correct? I had to translate most of the stuff via a translator, so I might have some incorrect sentences.
Also about the custom format, what format would you suggest? I am open to any other format which is able to achieve the same result as mine 😄

Not just the solver algorithms. What you need is to convert the video files into giFs, such as avf format of arbiter software. If you want to parse files in avf format using rust, ms_toollib is your best choice(or only choice). The current obstacle is that the documents are all written in Chinese. Ideally, there would also be instructions in English, which has not yet been achieved.

The test example of the parser is here.
https://github.com/eee555/ms_toollib/blob/main/base/tests/test_analyse.rs
Let me know any demo you need and I'll write it for you. I'll know how to improve my documentation.

AvfVideo_works

A similar repository is here
https://github.com/thefinerminer/minesweeper-rawvf
However, it is written in C and is not structured.

If you want to ask me what video format I recommend, I recommend evf format. Not just because I wrote it, because it's the only documented, unambiguous format. and it is actually used in my minesweeper software.
however, I don't think you'll need it, because you only need to read the file, not generate it.
https://github.com/eee555/ms_toollib/blob/main/base/readme.md

Sorry for not responding for such a long time.
But I think for now, at least, the format the project is currently using suits its use case better. Since the format you suggest seems really nice, but it's not as space efficient as I would like it to be.


Extend the API by creating magic function that can be used in notebooks

I'm wondering if there is a plan to create a set of magic functions that could be used in a notebook cell to store the items.
Basically, instead of having something like:
x = np.linspace(0, 2, 100)

fig, ax = plt.subplots(figsize=(5, 2.7), layout="constrained")
ax.plot(x, x, label="linear")
ax.set(xlabel="x label", ylable="y label", title="Simple Plot")
ax.legend()
plt.show()

project.put("my_figure", fig)

I would have
%put
x = np.linspace(0, 2, 100)

fig, ax = plt.subplots(figsize=(5, 2.7), layout="constrained")
ax.plot(x, x, label="linear")
ax.set(xlabel="x label", ylable="y label", title="Simple Plot")
ax.legend()
plt.show()

with the expectation that the output of the cell is what will be rendered. Similarly for a markdown cell:
%put
# Markdown title

This is a description that is only text and show be rendered as such.

Under the hood, I can imagine that %put can just pass to MediaItem.factory with a conversion from markdown to HTML. The nice part is that the notebook is already giving you the info that this is the a markdown cell.
The rational behind this question is that if I am a data scientist that want to quickly create a report, I can just add %put in the cells that I am interested to export and get already a report without the need to clean all my notebook.

hello Guillaume!
Thank you for this feedback and idea! I've added your feedback in our notion where we centralize feedbacks from github, discord, and collected by any other medium. We will review it and prioritize according to our vision.
I like the idea because it allows integration in existing notebooks (e.g. your rationale). Yet, it is something that can be misleading because it's not something that can be used in python script.
I will leave this issue open to allow for discussions.


Make (some?) classes conditional, allowing the same behaviour as gomplements' conditional attributes

For example b.Active

Will be implemented in https://github.com/willoma/gomplements/issues/1


500 error upon deployment of a Supabase subscription to Cloudflare Pages

Bug report
Describe the bug
I have a SvelteKit app that uses the '@sveltejs/adapter-cloudflare' adapter to deploy to Cloudflare Pages.
The app uses the @supabase/supabase-js library to connect to my Supabase project. I've deployed an app with data reading & writing successfully to Supabase.
I've added a basic supabase subscription, and having deployed the change I get the following error on page load:

500 Cannot assign to read only property 'stack' of object ''
TypeError: Cannot assign to read only property 'stack' of object ''

The subscription works correctly in local development, but fails when deployed.
Here is the code snippet that causes the failure:
const steps = readable(null, (set) => {
        supabase
            .from('steps')
            .select('*')
            .order('created_at')
            .then(({error, data}) => set(data))

        /* Code above here deploys successfully. Code below does not. */

        const subscrption = supabase
            .from('steps')
            .on('*', (payload) => {
                if (payload.eventType === 'INSERT') {
                    set([...get(steps), payload.new])
                }
            })
            .subscribe()
        return () => supabase.removeSubscription(subscrption)
    })

System information

OS: Windows
Browser (if applies): Chrome
Version of supabase-js: 1.35.4
Version of Node.js: 16

Well color me confused, when I do nothing other than add a try/catch block around the subscription, the 500 error stops occurring, but also the subscription works!?
const steps = readable(null, (set) => {
        supabase
            .from('steps')
            .select('*')
            .order('created_at')
            .then(({error, data}) => set(data))

        try {
            const subscrption = supabase
            .from('steps')
            .on('INSERT', (payload) => {
                set([...get(steps), payload.new])
            })
            .subscribe()

            return () => supabase.removeSubscription(subscrption)
        } catch(e) {
            console.log(e)
        }
    })

@craigdrayton oh interesting, I have never seen that before. Glad it’s working!

@craigdrayton can you please share the error that was console logged? perhaps it can give us a clue as to what was causing the 500.

That's what I mean is strange - no error was logged so it appears that the error did not occur because the try/catch block was there...
The original error message was:

500 Cannot assign to read only property 'stack' of object ''

I actually suspect the root issue is somewhere in the SvelteKit cloudflare adapter, which assigns to a 'stack' property in the code it generates at .svelte-kit\cloudflare\_worker.js

@craigdrayton gotcha, i'll close this issue for now but feel free to re-open if you're hunch regarding CF adapter doesn't work out.

I end up here  debugging the nuxt3 app on Cloudflare pages, I keep getting this error
500 Class constructor EventEmitter cannot be invoked without 'new.
It happens whenever I use supabase.channel, which is because of this package. Thanks to @craigdrayton  🙏  , wrapping a real-time call with try-catch solves my issue.
Here is a full stack trace  of the error:
TypeError: Class constructor EventEmitter cannot be invoked without 'new'
    at new WebSocketClient$1 (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:26411:7)
    at new W3CWebSocket (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:26632:192)
    at Wd.default.connect (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:27285:31)
    at RealtimeChannel.subscribe (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:27052:52)
    at file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:34260:10
    at file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:34274:4
    at e2.withAsyncContext (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:7332:14)
    at setup (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:34251:64)
    at px.setup (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:34283:96)
    at callWithErrorHandling (file:///my-dir/.wrangler/tmp/dev-P05VER/m10vftjxpip.js:5254:17)
    ```


Support for Tauri 1.x

pnpm create tauri-ui installs the latest alpha version of tauri,  How do I switch to tauri1.4?

./
pnpm remove @tauri-apps/cli @tauri-apps/api @tauri-apps/plugin-app @tauri-apps/plugin-os @tauri-apps/plugin-shell @tauri-apps/plugin-window

pnpm add @tauri-apps/api
pnpm add @tauri-apps/cli -D

./src-tauri
cargo remove tauri tauri-plugin-app tauri-plugin-os tauri-plugin-shell tauri-plugin-window
cargo remove --build tauri-build

cargo add tauri
cargo add --build tauri-build

./src/components/menu.tsx, delete tauri-controls everything about it. (it doesn't support v1)
- import { WindowTitlebar } from "tauri-controls"

./src/components/about-dialog.tsx, make following changes:
- import { getName, getTauriVersion, getVersion } from "@tauri-apps/plugin-app"
- import { arch } from "@tauri-apps/plugin-os"
- import { open } from "@tauri-apps/plugin-shell"

import { getName, getTauriVersion, getVersion } from "@tauri-apps/api/app"
import { arch } from "@tauri-apps/api/os"
import { open } from "@tauri-apps/api/shell"

./src-tauri/src/main.rs, change main function as:
fn main() {
    tauri::Builder::default()
        .invoke_handler(tauri::generate_handler![greet])
        .run(tauri::generate_context!())
        .expect("error while running tauri application");
}

I followed these steps, but on build it doesn't build a usable app any fix ?

How about an option to choose either alpha or latest during installation?

I followed these steps,on dev everything works fine, but on build it doesn't build a usable app any fix ?
I would see the following message when i run the built app , Could not connect: Connection refused

@KhalilSelyan Have you tried changing the devPath property in tauri.conf.json? Changing this from the localhost value then tauri build / tauri build --debug may finally give a successful build for you - hope this helps you.
  "build": {
    ...
    "devPath": "../dist",
    ...
  },


Use Genserver.cast() instead of GenServer.call() in webrtc/videoroom

Hello,
I was wondering if this is necessary to handle :add_peer_channel event with handle_call()
https://github.com/membraneframework/membrane_demo/blob/9cbcc6096edb31407af8971d141b6830be5affc5/webrtc/videoroom/lib/videoroom/room.ex#L46
Since we do not make use of the return value of this method, wouldn't it be better to make it asynchronous and handle with handle_cast()?
Then, of course, we would need to change it's invocation here:
https://github.com/membraneframework/membrane_demo/blob/9cbcc6096edb31407af8971d141b6830be5affc5/webrtc/videoroom/lib/videoroom/room.ex#L16
and use GenServer.cast()
Another thing is - do we really need add_peer_channel/3 wrapper? The only place where we invoke this method is here:
https://github.com/membraneframework/membrane_demo/blob/2bc1bf6eb4aa219ca86a1eb7bedceff27cecec14/webrtc/videoroom/lib/videoroom_web/peer_channel.ex#L17
We could simply use GenServer.cast() there.

This can actually be a regular send


Replace update_strategy with a rolling update_policy

When using version v0.2.0 of the vault-cluster module, I get the following WARNING
Warning: "update_strategy": [DEPRECATED] This field will be replaced by `update_policy` in 3.0.0

  on .terraform/modules/vault_cluster/modules/vault-cluster/main.tf line 54, in resource "google_compute_region_instance_group_manager" "vault":
  54: resource "google_compute_region_instance_group_manager" "vault" {

In addition to the tech-debt paid off by replacing a deprecated field, this also supports rolling update. As understand, this feature was much sought after.

Hi @lbordowitz, thanks for posting this issue. I'll discuss the priority with the team and get back to you. In the meantime you're more than welcome to submit a PR.


Unexpected Error when extracting this module

module PropExtraction

open FStar.Ghost

val less_than_17: (x:int) -> Tot prop
let less_than_17 x = u:unit{b2t (x < 17)}

val less_than_17': (x:int) -> Tot (erased Type0)
let less_than_17' x = hide (b2t (x < 17))

When extracting to F# (or ocaml, but with a slightly different error message) I get
fstar PropExtraction.fst --codegen FSharp
Extracting module Prims
Extracting module FunctionalExtensionality
Extracting module PropositionalExtensionality
Extracting module PredicateExtensionality
Extracting module TSet
Extracting module Heap
Extracting module ST
Extracting module All
Extracting module Ghost
Extracting module PropExtraction
Unexpected error; please file a bug report, ideally with a minimized version of the source program that triggered the error.
Failure("Impossible: ill-typed application:\n\thead=FStar.Ghost.hide, arg=(b2t (op_LessThan x 17)), tag=Tm_delayed-resolved\n\texpected type unit, got obj")

This doesn't seem to happen any more on the latest master.


Mismatched block number error when forking Arbitrum Mainnet in Foundry tests

Component
Forge
Have you ensured that all of these are up to date?

[X] Foundry
[X] Foundryup

What version of Foundry are you on?
forge 0.2.0 (fd56528 2024-10-14T00:26:15.553566000Z)
What command(s) is the bug in?
No response
Operating System
macOS (Apple Silicon)
Describe the bug
I’m encountering a block number mismatch error when forking the Arbitrum Mainnet in my Foundry tests. The test is configured to fork at block 260_000_000, but Foundry returns block 20_886_024 instead, leading to a failed assertion. This issue occurs despite using the correct Arbitrum Mainnet RPC URL.
Steps to Reproduce

Fork the Arbitrum Mainnet using the following configuration:

string public constant ARBITRUM_MAINNET_RPC_URL = "https://arb1.arbitrum.io/rpc";
uint256 public constant ARBITRUM_MAINNET_Block = 260000000;

Create a fork in the setUp() function:

vm.createSelectFork(ARBITRUM_MAINNET_RPC_URL, ARBITRUM_MAINNET_Block);

Run the test and observe the mismatch between the expected and returned block numbers.

Expected Behavior

The test should successfully fork at block 260_000_000 on the Arbitrum Mainnet, allowing the test suite to proceed.

Actual Behavior

The block number returned by Foundry is 20_886_024, which is significantly lower than the specified block number, causing the test to fail with the following error:

[FAIL: setup failed: assertion failed: 20886024 != 260000000] setUp() (gas: 0)

I have confirmed that the Arbitrum Mainnet RPC URL is correct and fully functional, having tested it with both Alchemy and Infura.
example:
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;

import "forge-std/Test.sol";

contract ForkArbitrumMainnetTest is Test {
    // Arbitrum Mainnet RPC URL & Block
string public constant ARBITRUM_MAINNET_RPC_URL = "https://arb1.arbitrum.io/rpc";
uint256 public constant ARBITRUM_MAINNET_Block = 260000000;

    function setUp() public {
        // Fork from Arbitrum Mainnet at a specific block
        vm.createSelectFork(ARBITRUM_MAINNET_RPC_URL, ARBITRUM_MAINNET_BLOCK);

        // Check if fork is at the correct block
        uint256 currentBlock = vm.getBlockNumber();
        assertEq(currentBlock, ARBITRUM_MAINNET_BLOCK, "Block number does not match the expected block");
    }
}

this happens due to Arbitrum returning L1 block, hence 20886024 instead 260000000 https://docs.arbitrum.io/build-decentralized-apps/arbitrum-vs-ethereum/block-numbers-and-time#ethereum-block-numbers-within-arbitrum
Maybe we could add the logic in vm.getBlockNumber() cheatcode to return Arbitrum block number instead L1

getBlockNumber is the same as block.number which is L1 block number in Arbitrum, see https://github.com/foundry-rs/foundry/issues/5085 for L2 block number.


Remove old check to prevent self-managed cluster upgrades with controller

Issue #, if available:
Description of changes:
We now allow users to update worker node configs for the self-managed clusters through the controller, so we can remove this check
Testing (if applicable):
Unit tests + upgraded self-managed Docker cluster (scaled nodes up/down  + added a new wn group) using kubectl apply
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/lgtm


Dark skin render with transparecy

With the addition of the black base for transparency, skins with transparecy look dark instead of the desired color.
With this skin:

Instead of getting this:

I get this on my profile

And this is the full 2d render

@Carlosjrlu, can you please give me a link to the skin in the Ely.by's skins catalog?

Here:
https://ely.by/skins/s1636889

Thank you. I will investigate the problem and write back with the results.

@Carlosjrlu, does this seems right?

Yeah! That's exactly how it should look.

Great. I need a little more time to fix a few more edge cases, but essentially, we fixed the key problem.


Thanks for opening this issue. A GitHub docs team member should be by to give feedback soon. In the meantime, please check out the contributing guidelines.

Thanks for opening this issue. A GitHub docs team member should be by to give feedback soon. In the meantime, please check out the contributing guidelines.
Originally posted by @welcome[bot] in https://github.com/github/docs/issues/2323#issuecomment-750929515

This issue is blank and appears have been opened accidentally. I'm going to close it now, but feel free to open a new issue or ask any questions in discussions!


Made imp.html page responsive

Type of change
Please delete options that are not relevant.

[X] Bug fix (non-breaking change)
[x] New feature (non-breaking change)
[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update

Checklist:

[X] My code follows the style guidelines of this project
[X] I have performed a self-review of my code
[X] I have commented my code, particularly in hard-to-understand areas
[X] I have made corresponding changes to the documentation
[X] My changes generate no new warnings
[X] Any dependent changes have been merged and published in downstream modules

sir plz checka and merge my pull request ..


how i can access to the dictionary with the faces reconized?

im doing a domotic project with the intel realsense camera and one of the task is reconize the face of the person at the entrace, but i need to know how is the person and  using "Face.FaceRecognized += (s, e) =>" i just know if the person was before reconized nothing else.

What do you mean by how is the person? A picture of him/her?

no, im sorry. who is the person*. I  want to know the userid for a specific face and for all the faces saved , to give a name for each face, or specify the Useid for a new face...

Unfortunately the RealSenseSDK doesn't give us the ability to add extra info to its internal faces database, but:
You can subscribe to the Camera.Face.FaceRecognized event and get the FaceRecognizedEventArgs.
Look for UserId in this object, them save it somewhere with your extra info yourself :)

Thank you for your help. Now I've another issue when a try to turn off the camera, I use cam.Dispose() but I'm getting a runtime error "R6025 pure virtual function call".


refactor: Change property type_id to forecast_type_id

:tada: This PR is included in version 1.0.0-staging.9 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Should not delete the cattle-system namespace when deleting the imported k8s cluster

Rancher Server Setup

Rancher version: master-head

Describe the bug
When deleting the imported k8s cluster from the Rancher it will delete all the resources and the namespace of the cattle-system, but this will cause an issue of the imported k8s cluster if it has extra resources that exist in the same cattle-system namespace, e.g, in the Harvester cluster we run embedded Rancher in this namespace which should not get removed by the Rancher.
To Reproduce

import an existing k8s cluster to the Rancher server.
delete the imported k8s cluster
the cattle-system namespace  and its resources is removed completely

Result

resources in the same namespace will also get deleted.

Expected Result
should keep the other resource and the cattle-system namespace, probably only delete the cluster-agent node.

QA should test removing an importing cluster and re-importing to ensure a cluster could still be imported.

verified using the master-head-08-19 version:

imported a downstream Harvester/k8s cluster via the Importing Existing option
the cluster explorer is ready
delete the imported cluster and all resources have remained (the downstream cluster must have embedded rancher installed on the cattle-system namespace)
reimporting the same cluster again and the cluster explorer still working as expected.

@kravciak Can you do one additional validation? I believe the change we made only keeps the cattle system namespace IF Rancher is running on the imported cluster.
Can you validate that removing a regular imported cluster cleans up the cattle-system namespace?

@dnoland1 Do you think this change will affect the hosted Rancher use case at all?

@deniseschannon I don't think it will, but can test. Does "imported k8s cluster" include k3s clusters that have been imported?

Yes, I would assume so @dnoland1

@deniseschannon pods are not cleaned from cattle-system namespace after cluster removal
I did:

run v2.6-head (b3980c2) docker single node rancher
import k3s cluster Import Existing -> Generic
wait until all pods on k3s are running after import
remove k3s cluster from dashboard UI

I tried to reproduce on v2.6.0-rc2 but it behaves the same, cattle-system namespace is not removed from k3s cluster (and deleted cluster keeps popping back in dashboard as Removing, scheduled for deletion)
kubectl get pods -A
NAMESPACE             NAME                                      READY   STATUS      RESTARTS   AGE
kube-system           local-path-provisioner-5ff76fc89d-cxm5w   1/1     Running     0          6m33s
kube-system           coredns-7448499f4d-r7b4j                  1/1     Running     0          6m33s
kube-system           helm-install-traefik-crd-pjv9m            0/1     Completed   0          6m33s
kube-system           helm-install-traefik-mfn72                0/1     Completed   0          6m33s
kube-system           metrics-server-86cbb8457f-jpfqk           1/1     Running     0          6m33s
kube-system           svclb-traefik-t7d8t                       2/2     Running     0          6m17s
kube-system           traefik-97b44b794-9wx8s                   1/1     Running     0          6m17s
cattle-system         cattle-cluster-agent-5977659645-lxddk     1/1     Running     0          4m30s
cattle-fleet-system   fleet-agent-68c987f6-wgpdf                1/1     Running     0          3m51s

On 2.6.0-rc1

Import a k3s cluster
Delete it from Rancher
cattle-cluster-agent pod is seen deleted from the cluster.

 kubectl get pods -A
NAMESPACE             NAME                                      READY   STATUS      RESTARTS   AGE
kube-system           local-path-provisioner-5ff76fc89d-m9mxf   1/1     Running     0          5m1s
kube-system           metrics-server-86cbb8457f-zd7bc           1/1     Running     0          5m1s
kube-system           coredns-6488c6fcc6-jtnnr                  1/1     Running     0          5m1s
kube-system           helm-install-traefik-gn8cc                0/1     Completed   0          5m1s
kube-system           svclb-traefik-7x2zz                       2/2     Running     0          4m42s
kube-system           svclb-traefik-njtv7                       2/2     Running     0          4m42s
kube-system           svclb-traefik-2bl9l                       2/2     Running     0          4m42s
kube-system           traefik-6f9cbd9bd4-hz4jm                  1/1     Running     0          4m42s
cattle-fleet-system   fleet-agent-7fd89c96df-7zmd6              1/1     Running     0          3m51s

cattle-system Namespace seems to have gotten deleted

kubectl get namespaces
NAME                          STATUS   AGE
local                         Active   4m5s
kube-node-lease               Active   5m33s
default                       Active   5m33s
kube-public                   Active   5m33s
cattle-fleet-system           Active   4m26s
cattle-impersonation-system   Active   4m41s
kube-system                   Active   5m33s

On 2.6-head commit id: 24e5435

Import a k3s cluster
Delete it from Rancher
cattle-cluster-agent pod is seen deleted from the cluster.
The clean up pod errors out
cattle-system namespace is seen in terminating state

kubectl logs cattle-cleanup-c5hc9-55nbr -n default
time="2021-08-20T23:21:53Z" level=info msg="Starting sleep for 1 min to allow server time to disconnect...."
time="2021-08-20T23:21:53Z" level=warning msg="failed to reconcile kubelet, error: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?"
time="2021-08-20T23:21:53Z" level=info msg="Listening on /tmp/log.sock"
time="2021-08-20T23:22:53Z" level=info msg="Starting cluster cleanup"
time="2021-08-20T23:22:53Z" level=fatal msg="checking for cattle-system/rancher service: services \"rancher\" is forbidden: User \"system:serviceaccount:default:cattle-cleanup-l77bw\" cannot get resource \"services\" in API group \"\" in the namespace \"cattle-system\""

Can I get clarification on the expected outcome - is the correct outcome for imported clusters that do not have rancher running in them that the cattle-system namespace should be deleted - the opposite of what the issue title says? And the current problem is that it is being partly deleted but stuck in a Terminating state?

Two use cases:

Original use case: Import k8s cluster. When removing the cluster from Rancher, it should clean up the cattle-system namespace.
New use case to support: Import k8s cluster that has rancher running in the cattel-system-namspace. (Harvester use case). When removing the "Harvester" cluster from Rancher, it shouldn't clean up the cattle-system namespace

Ready to test on 2.6

Re-tested using the master-head-390a336, deleting the imported harvester cluster will not clean up the cattle-system namespace and resources, also re-importing the deleted cluster also works, thanks.

@guangbochen can you re-test with v2.6-head as the changes for master have not been merged.

@guangbochen can you re-test with v2.6-head as the changes for master have not been merged.

ditto, it works in v2.6-head, thanks.

I imported 2 k3s clusters, one clean and one with rancher running.
Cattle-system ns is nore deleted after removal from UI on any of them.
After removal from rancher state is:
# clean k3s
~> kubectl get pods -n cattle-system
NAME                                    READY   STATUS    RESTARTS   AGE
cattle-cluster-agent-857c8b5694-prstq   1/1     Running   0          25m

# k3s with rancher
~> kubectl get pods -n cattle-system
NAME                                    READY   STATUS      RESTARTS   AGE
cattle-cluster-agent-5bd497d754-74pj8   1/1     Running     0          22m
rancher-64cb65cbf7-xt75l                1/1     Running     0          25m
helm-operation-j5jw2                    0/2     Completed   0          21m
helm-operation-nph7s                    0/2     Completed   0          20m
helm-operation-gj68f                    0/2     Completed   0          20m
rancher-webhook-64f6bf4d54-zrlmv        1/1     Running     0          20m
helm-operation-7smk2                    0/2     Completed   0          20m

@cmurphy , could you please take a look into this?

Reproduced as a regression in v2.6-0dd1ce6547cbb3253a8c6f48f5d538c98e7c567d-head

Import a Harvester cluster and wait until it's ready.
Remove the Harvester cluster. The cattle-system namespace is deleted.

@gitlawr after harvester is imported does the rancher service exist in the cattle-system namespace? kubectl -n cattle-system get svc. If it does not exist then that is why the namespace is getting deleted. So https://github.com/rancher/rancher/issues/34716 might be causing this regression, rather than the other way around.

the Rancher service is definite there and this is what we have agreed on how to identify the embedded multi-rancher cluster.

I can reproduce with v2.6.0 or v2.6-b7c440be05dff2055b4c8c201e31df97026bc24b-head upstream Rancher and v0.3.0-preview1 Harvester
Here's the support bundle after the Harvester cluster is imported to Rancher. It provides manifests & logs for debugging.
supportbundle_preview1_import_to_260.zip
Here's the Rancher Logs grabbed when the imported cluster is deleted.
r-logs.txt

For QA: v2.6-b7c440be05dff2055b4c8c201e31df97026bc24b-head is an older version. Please go ahead with the validation first but wait for Harvester team to confirm the result and close the issue if the validation passed on the Rancher side, since the time is tight and this is a blocker for Harvester.

Verified in v2.6-06e19b04ce49a4a8f2895769cfa892b8ad14575c-head
I can import, delete, then reimport a Harvester v0.3.0-preview1 cluster to Rancher from Virtualization Management. The Harvester cluster remains working after these operations.

reproduced on v2.6-head (06e19b0)
Import a Harvester cluster and wait until it's ready.
Remove the Harvester cluster. The cattle-system namespace is deleted.


Sniper missing to catch pokemon

I noticed (with a little debug) that Sniper catches only the first pokemon in the targets list, then it continue sniping instaed of going through list. By adding
    if success:
        shots = 0

to the code, it will catch all the pokemon sniped. Is this a legit change?
    for index, target in enumerate(targets):
        if shots < self.bullets:
            success = self.snipe(target)
            shots += 1

            # Homing shots are supposed to hit the target (capture). Rollback
            if self.homing_shots and not success:
                shots -= 1

            # Wait a bit if were going to snipe again (bullets and targets left)
            if shots < self.bullets and index < len(targets):
                self._trace('Waiting a few seconds to teleport again to another target...')
                time.sleep(3)
            if success:
                shots = 0

Sniper TRIES to catch the N best (according to the order specified) targets, where N is the bullets value. If you have enabled homing_shots, it'll end up CATCHING (for sure) the N best targets.

it'll end up CATCHING (for sure) the N best targets
Except if the Pokemon vanish

Accordin to docs
* bullets - Each bullet corresponds to an **ATTEMPT** of catching a pokemon. (default: 1)
I understand that bullets is the number of attempt of catching each pokemon.
But, instead, it is the number of sniped pokemon to catch, right? Why shouldn't the bot try to catch ALL the pokemon?

An attempt of capturing a pokemon might succeed or not (vanish). bullets IS the number of MAX attempts (as long as there's enough pokemon to snipe). homing_shots will consider that those "Damn! It's not here" messages are failed attempts and so it will not waste a bullet (retry a different target).

Thank you


a misspelling

a misspelling
runing-> running

Thanks @wangxy518 .
Page preview:
https://deploy-preview-21448--kubernetes-io-master-staging.netlify.app/docs/concepts/cluster-administration/flow-control/
/lgtm

/approve


Revert "debian: Explicitly build deb with xz"

This reverts commit 2366e0124d0f03bb7cf3d7cd03053208ad5f65cb.

I didn't mean for this to be merged. Let's yank the 1.4.1 release.

yanked.

Codecov Report
Patch and project coverage have no change.

Comparison is base (2366e01) 41.60% compared to head (8843a10) 41.60%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main      #62   +/-   ##
=======================================
  Coverage   41.60%   41.60%
=======================================
  Files           6        6
  Lines         274      274
=======================================
  Hits          114      114
  Misses        160      160

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


The reason was I missed to force push changes to the PR on LocalRest side, which caused unknown commit hash on agora side.


[$250] Workspace- Upgrade animation freezes when clicking on "View your subscription" and returning

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.57-0
Reproducible in staging?: Y
Reproducible in production?: Y
Issue reported by: Applause Internal Team
Action Performed:

Log in with a new Gmail account
Create a workspace
Navigate to Workspace settings - More features
Enable "Report fields"
Click on "Upgrade"
Click on "View your subscription"
Click on the browsers "back" button

Expected Result:
Upgrade animation should be playing or the RHP should disappear.
Actual Result:
Upgrade animation freezes when clicking on "View your subscription" and returning to the page.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
https://github.com/user-attachments/assets/416d356c-b204-44b2-8388-ab5c9175d29b

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~021854048484565910103
Upwork Job ID:<PHONE_NUMBER>565910103
Last Price Increase: 2024-11-13

Issue OwnerCurrent Issue Owner: @akinwale

@VictoriaExpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
In my opinion, the most efficient and easiest solution would be to clear the browser's navigation history (remove only the one last step) after closing the side panel. Alternatively, we could loop the animation so that it continuously plays as long as the component exists, rather than just once.

Contributor details:
My Expensify account email<EMAIL_ADDRESS>Upwork Profile Link: upwork
Proposal:
In my opinion, the most efficient and easiest solution would be to clear the browser's navigation history (remove only the one last step) after closing the side panel. Alternatively, we could loop the animation so that it continuously plays as long as the component exists, rather than just once.

We can move forward with @abzokhattab's proposal here which is a cleaner approach to solving the issue.
🎀👀🎀 C+ reviewed.

@akinwale The correct expected behavior here is to remove the 'Got It' screen from the stack so it doesn't reappear. This is consistent with how we handle similar cases.
Screen.Recording.2024-11-08.at.4.54.16.PM.mov
We do the same when user press Got it from bank upgrade page

I disagree with this being correct behaviour. The issue here is that the animation is interrupted and is expected to resume if the user happens to navigate back to that screen.
Let's wait for input from @puneetlath to decide what the correct course of action here should be.

Whoops, sorry. I didn't realize this was waiting on me. I don't really feel strongly either way. I think it's fine that you can navigate back and it takes you back to that modal, so I say we continue with the originally selected proposal.

BugZero Checklist:

[x] [Contributor] Classify the bug:

Bug classification

Source of bug:

[x] 1a. Result of the original design (eg. a case wasn't considered)
[ ] 1b. Mistake during implementation
[ ] 1c. Backend bug
[ ] 1z. Other:

Where bug was reported:

[x] 2a. Reported on production (eg. bug slipped through the normal regression and PR testing process on staging)
[ ] 2b. Reported on staging (eg. found during regression or PR testing)
[ ] 2d. Reported on a PR
[ ] 2z. Other:

Who reported the bug:

[ ] 3a. Expensify user
[ ] 3b. Expensify employee
[ ] 3c. Contributor
[x] 3d. QA
[ ] 3z. Other:

[x] [Contributor] The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake.
Link to comment: N/A

[x] [Contributor] If the regression was CRITICAL (e.g. interrupts a core flow) A discussion in #expensify-open-source has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner.
Link to discussion: N/A

[x] [Contributor] If it was decided to create a regression test for the bug, please propose the regression test steps using the template below to ensure the same bug will not reach production again.

[ ] [BugZero Assignee] Create a GH issue for creating/updating the regression test once above steps have been agreed upon.
Link to issue:

Regression Test Proposal
Test:

Launch Expensify.
Create a workspace.
Navigate to the workspace settings for the newly created workspace and select More features.
Enable Report fields.
Click Upgrade.
Click View your subscription.
Click on the browser's back button.
Verify that the upgrade animation continues playing and does not freeze after navigating back.

Do we agree 👍 or 👎?

Raised an issue to add regression test to TestRail - https://github.com/Expensify/Expensify/issues/452847

Payment Summary:
Contributor: @abzokhattab paid $250 via Upwork
C+: @akinwale owed $250 via Upwork

$250 approved for @akinwale


video

how do i load a video in chromapper

Download and synchronize the video with the in-game Chroma mod first, then with this plugin, the video should show in ChroMapper as well.


Wrong URL when sharing

graphql-bin.com instead of graphqlbin.com
On the hosted version.

The electron version (Windows) uses the right hostname.


Opening Paragraph tag on highlight

For one of the cases, the highlight text has a  tag attached. Check image here.

fixed!


Please push 1.2.2 to PyPI

We encountered the recently fixed null char issue.

@nugend qPython 1.2.2 has been pushed to PyPI yesterday.

Thanks!


Timeline not matching waveform

Hi Katspaugh,
I'm running into an issue where the timeline width (and also notches for timestamps) stop short of the actual clip duration and waveform width.
I am running a 0.x version of wavesurfer, is this fixed in a later version, or is there some sort of workaround I'm unaware of?
Any help is much appreciated.
Thank you,
Trevor
PS- Here is a screenshot of what I'm talking about:

toggleScroll() function needs to be updated
OLD Function:
toggleScroll: function () {
this.params.scrollParent = !this.params.scrollParent;
this.drawBuffer();
},
UPDATED Function:
toggleScroll: function () {
this.params.scrollParent = !this.params.scrollParent;
this.drawBuffer();
    //Change by jay
    this.drawer.progress(this.backend.getPlayedPercents());

},

Looks like the same as #354. Please, reopen if you still can reproduce the bug with the latest code.


Remove goerli and polygon mumbai deployments

Closes #1988

Yes, for that I created #1992 since it seems unrelated to the changes I made here. I'll investigate and open a PR for that then merge this.

🤦  the error was because I forgot to actually remove polygon-testnet (I only removed polygon-zkevm-goerli-testnet).

the error was because I forgot to actually remove polygon-testnet (I only removed polygon-zkevm-goerli-testnet)

I see. I only checked the code (and not filenames).

Yea, my silly mistake. Mind approving then?


WPF - sRGB Color Space Profile.icm is non-free

Describe the Bug
The .NET 9 source contains the file src/wpf/src/Microsoft.DotNet.Wpf/src/PresentationCore/System/Windows/Media/Resources/ColorProfiles/sRGB.icm. This file may not be distributed without fee if modified.
Steps to Reproduce

Go to the location https://github.com/dotnet/dotnet/blob/main/src/wpf/src/Microsoft.DotNet.Wpf/src/PresentationCore/System/Windows/Media/Resources/ColorProfiles/sRGB.icm in the VMR and see that it exists.
Other Information

There exists an old Debian Bug that describes the issue with this file: https://bugs.debian.org/657281
We just remove it from the Ubuntu source tarball as it is a windows only resource

The tool found it based on the md5 hash sum.

Oh, that's amazing!

[Triage] @dotnet/dotnet-wpf - Can you provide details on how this file was obtained and what license it is under?

[Triage] This is a blocker for distro maintainers in 9.0.  It can be cloaked in 9.0 since the Unified Build project is not complete.  It will need to be addressed in 10.0.
A secondary question is how can we detect this in our binary scan tool?

A secondary question is how can we detect this in our binary scan tool?

I just commented on https://github.com/dotnet/source-build/issues/4595#issuecomment-2336787834 too:

You could just use the hash lists lintian uses to detect these files if you do not want to integrate the full lintian tool. They can be found here: https://salsa.debian.org/lintian/lintian/-/tree/master/data/cruft
E.g. here is the specific entry for the sRGB.icm file:
https://salsa.debian.org/lintian/lintian/-/blob/master/data/cruft/non-free-files#L39

[Triage] @dotnet/dotnet-wpf - Can you provide details on how this file was obtained and what license it is under?

@MichaelSimons, this file was already part of the WPF source code when it was being open-sourced 5 years back. Apart from this, we don't have any information about the file yet.
I will try to find out more details about this from the previous WPF team members.

@MichaelSimons, I have added you a mail thread discussing about the file. From the discussion it looks like we are free to distribute this file.


Update rationale readme

Update WCAG link to the latest 2.1 version of the spec.
Update header to align with principle.

Now that the Mobile app is open, let’s add the removal of the (soon-to-be-) language to this PR and ship it.


Logos not showing up

Everytime I set up a logo using the Extra Metadata plugin in the desktop version of playnite. The logo doesn't show up when I switch to Fullscreen mode. I checked the metadata folders and the logos are there and I also made sure that logos were enabled in settings. Am I doing something wrong?

EDIT: Fixed by disabling and re-enabling.


Geometry, FeatureService reference not found.

CS0234	The type or namespace name 'Geometry' does not exist in the namespace 'ESRI.ArcGIS.Client' (are you missing an assembly reference?)	ESRI.ArcGIS.Client.Toolkit.DataSources	D:\arcgis-toolkit-sl-wpf-master\src\CommonAPI\API\ESRI.ArcGIS.Client.Toolkit.DataSources\Wmts\Wmts.cs	15	Active
I downloaded arcgis-toolkit-sl-wpf-master.zip and opened solution file in Visual Studio. I got above error building api.
Can someone help me with this?

Screenshot attached.
Meghan Kulkarni

ArcGIS API for Silverlight and ArcGIS Runtime SDK for WPF were retired on July 1, 2016.
We recommend you explore WPF solutions based on the ArcGIS Runtime SDK for .NET.
We recommend you explore Web solutions based on the ArcGIS API for JavaScript.

I've seen that. We're working on getting out platform upgraded. However, at this moment is there any way to fix the above error? I just want to compile API and receive dll?
Thanks.
Meghan Kulkarni

@meghan452
It looks like the Solution is failing to restore the NuGet package `ESRI.ArcGIS.Client'. Because this product is retired, it has been unlisted on NuGet.org, but a project/solution Restore should still be able to reach and restore the package.
Does your Visual Studio installation have a NuGet.org package source? (see https://docs.microsoft.com/en-us/nuget/consume-packages/install-use-packages-visual-studio for more info)

@mbranscomb  I appreciate prompt response. I was missing it. I got in installed. I get below error now

CS1061	'Editor' does not contain a definition for 'SnapDistanceSymbol' and no extension method 'SnapDistanceSymbol' accepting a first argument of type 'Editor' could be found (are you missing a using directive or an assembly reference?)	ESRI.ArcGIS.Client.Toolkit	D:\arcgis-toolkit-sl-wpf-master\src\CommonAPI\API\ESRI.ArcGIS.Client.Toolkit\Editor\EditorWidget.cs	50	Active

@mbranscomb nvm. I was missing ESRI SDK's for Silverlight. I got it resolved.
Thanks.


Version control for each modification made to code by AI (and user)

Is your feature request related to a problem? Please describe:
So while I was working on a project, I got it to add something I really liked. However, when I asked it to modify something, the code broke. I wanted it to revert to the old version but there was no old version.
Describe the solution you'd like:
For each modification, the changes should be stored so that if user decides to revert back to old version, they could do it by navigating to the prompt and clicking on it or something.
Describe alternatives you've considered:
Nothing.
Additional context:
Nothing.

Short term workaround while we implement checkpoints (which we are doing as fast as we can): you can CTRL + Z to undo changes manually on each individual code file that the AI changed if you do not like the results.

Short term workaround while we implement checkpoints (which we are doing as fast as we can): you can CTRL + Z to undo changes manually on each individual code file that the AI changed if you do not like the results.

Short term workaround while we implement checkpoints (which we are doing as fast as we can): you can CTRL + Z to undo changes manually on each individual code file that the AI changed if you do not like the results.

Short term workaround while we implement checkpoints (which we are doing as fast as we can): you can CTRL + Z to undo changes manually on each individual code file that the AI changed if you do not like the results.

A fix for this issue has landed!
Details here: https://x.com/stackblitz/status/1844839379270836266

This feature is better than what I wanted it to be! Nice! Looking forward to what this can do


timeline plugin: fix null is not an object in fillText

Followup to PR #2299, this is an additional instance of the same pattern that caused null is not an object elsewhere
The HTMLCanvasElement.getContext() method can either return a drawing context on the canvas or null. Safari's Canvas implementation (v14) seems to cause runtime errors in the Timeline plugin:
null is not an object (evaluating context.canvas)
The error seems difficult to reproduce but it appears in our team's error reports a few hundred times per day.
This change will guard fillText from attempting to access canvas as an object if it doesn't exist.
This shouldn't cause any breaking changes in the external or internal API.

ping @felguerez

@thijstriemstra sorry to drop the ball moving this one forward, many thanks for adding to the changelog and releasing  🙏

Hi all I still have problems with large files on Safari, the wave and the audio is cut somewhere in the middle. I don't know if this supposed to fix this issue but in my case it didn't work out. Thank you all

@nahukas no, that sounds unrelated to this pull request.


Provider: Crystallize

Headless eCommerce provider: https://crystallize.com/

Hey there! Thank you for opening this issue. We have decided to take Next.js Commerce in a new direction and will be closing out current PRs and issues due to this change. Please see this PR for more details: https://github.com/vercel/commerce/pull/966


Automatic channel setup fee limit

This PR makes automatic channel setup fee limit configurable via ServiceConfig.

Merged the reviewed Android & iOS PR's for SDK notification handling package & automatic channel setup fee limit into one to reduce cognitive load & ease of development.

Moving @dangeross's comment regarding:
maxSendableMsats = max(serviceConfig.autoChannelSetupFeeLimitMsats, nodeInfo.inboundLiquidityMsats)

here as it applies to both implementations.

I think this confuses the user acceptable fee limit with the max amount that can be received.
If a fee limit is set, the max sendable can be nodeState.maxReceivableMsat (minus channelsBalanceMsat?). Then before creating the invoice in the next step, if the amount is over the channelsBalanceMsat check the openChannelFee result to see if the feeMsat is within the user fee limit.

Yes, the implementation is currently faulty, it'll only accept payments within fee limit as it is.
Perhaps, we should only apply the fee limit if inbound liquidity is zero after making these calculations.
Do we need to factor in reserve amount as well? @roeierez love to hear your input on calculating the correct max sendable amount.

Moving @dangeross's comment regarding:
maxSendableMsats = max(serviceConfig.autoChannelSetupFeeLimitMsats, nodeInfo.inboundLiquidityMsats)

here as it applies to both implementations.

I think this confuses the user acceptable fee limit with the max amount that can be received.
If a fee limit is set, the max sendable can be nodeState.maxReceivableMsat (minus channelsBalanceMsat?). Then before creating the invoice in the next step, if the amount is over the channelsBalanceMsat check the openChannelFee result to see if the feeMsat is within the user fee limit.

Yes, the implementation is currently faulty, it'll only accept payments within fee limit as it is.
Perhaps, we should only apply the fee limit if inbound liquidity is zero after making these calculations. Do we need to factor in reserve amount as well? @roeierez love to hear your input on calculating the correct max sendable amount.

@erdemyerebasmaz  Yes we will need to calculate here the maximum amount (limited by maxRecievableMsat) for which the open channel fees is calculated no more than the fee limit.
In order to calculate that we need to fetch the open_channel_fee let's call it ocp.
Then given an amount the fee calculation is:
max(ocp.min_msat, amount * ocp.proportional / 1000000)
So if ocp.min_msat > fee_limit then we return the inbound liquidity (because we can't open a channel).
Otherwise the max amount is calculated:
min (maxRecievableMsat, fee_limit * 1000000 / ocp.proportional)

fee_limit * 1000000 / ocp.proportional

@roeierez Applied fee calculation changes: 37925dd67bf400c235b692757b7c7eee2ecfb135
We don't seem to have invoice amount when constructing LnurlInfoResponse, should we always return inbound liquidity as maxSendable in that case 🤔

My only minor nit is the use of Msats. Msat would be more consistent with the SDK. Otherwise looks good

Applied naming changes to increase readability & consistency


comp-deferred-compilation-deny-list and autoloads

https://github.com/hlissner/doom-emacs/blob/49f3bc193a4984f0b5a01a71ad91bb26f643c6d8/core/cli/autoloads.el#L13
Shouldn't this be comp-deferred-compilation-deny-list now?
Best regards,
Roman

As of 8c39790 this issue should be resolved. Let me know if that isn't the case and I'll reopen it. Thanks for bringing it to my attention!


Document containerd configuration

containerd has a TOML-based configuration system that is not yet documented. We should generate table-style docs of configurable parameters that can easily be updated by project maintainers.

FYI:
https://github.com/containerd/containerd/blob/master/docs/man/containerd-config.toml.5.md
https://github.com/containerd/cri/blob/master/docs/config.md


pkg: Add checkcommits tool.

Rework of https://github.com/01org/cc-oci-runtime/pull/873 in golang.
By hosting it in the tests repository our other repos can "go get" if
they wish to use it.
Fixes #18.
Signed-off-by: James O. D. Hunt<EMAIL_ADDRESS>

@dlespiau - thanks - fixed.

with or without the changes outlined above, I think we can merge this.
lgtm

I've addressed @dlespiau's comments. However, make check shows I need to refactor checkCommitBody() a little as the cyclomatic complexity is 17 (our limit is 15), hence adding do-no-merge label for now.

Branch updated.

lgtm


Enable support for this codebase's to write JUnit5 tests

JUnit5 is arguably a better development experience, and we should allow
contributors to start writing unit tests using it, instead of JUnit4,
where possible.
However, until we've migrated the codebase between versions, we can use
the vintage-engine to run both JUnit4 and JUnit5 tests at the same time!
This also includes the platform-launcher, which will allow us to launch
the tests from an IDE.

Closing as it looks like this has been solved already through 79907e474b718ad9266d51708cf5460a98b7976e


added cookieProps https flag

Fixes #38

Verified with local build of production docker image. Cookie is marked secure with this change in place.


How to filter my html element by gateway?

When I send a request through the gateway, I hope that I can parse the elements of the page in the gateway and then block some of the elements. I try to create a filter to get the page information, then process the page elements according to the rules, and finally The modified page is returned to the browser.
The problem came. When I tried to use it, I found that the program reported a "Only one connection receive subscriber allowed" error. I found that because the obtained page body only allowed one read operation, so I tried to cache the page first. Load processing, but found that there are still problems, the following is part of my code:
public class HtmlContentVisibleFilter implements GlobalFilter, Ordered {
@Override
public Mono filter(ServerWebExchange exchange, GatewayFilterChain chain) {
return chain.filter(exchange).then(
Mono.fromRunnable(() -> {
ServerHttpRequest request = exchange.getRequest();
ServerHttpResponse response = exchange.getResponse();
HttpClientResponse clientResponse = exchange.getAttribute(ServerWebExchangeUtils.CLIENT_RESPONSE_ATTR);
boolean isOkStatus = response.getStatusCode() == HttpStatus.OK;
boolean filterFlag = isOkStatus && clientResponse != null;
if (filterFlag) {
NettyDataBufferFactory factory = (NettyDataBufferFactory) response.bufferFactory();
Flux body = clientResponse.receive().retain().map(factory::wrap);
MediaType contentType = response.getHeaders().getContentType();
boolean pageFlag = contentType.includes(MediaType.TEXT_HTML);
if (pageFlag) {
//TODO to modify page body
AtomicReference bodyRef = new AtomicReference<>();
body.subscribe(dataBuffer -> {
CharBuffer charBuffer = StandardCharsets.UTF_8.decode(dataBuffer.asByteBuffer());
DataBufferUtils.release(dataBuffer);
bodyRef.set(charBuffer.toString());
});
                   String bodyStr = bodyRef.get();
                   System.out.println(bodyStr);
                    DataBuffer bodyDataBuffer = stringBuffer(bodyStr);
                   Flux<DataBuffer> bodyFlux = Flux.just(bodyDataBuffer);
                   request = new ServerHttpRequestDecorator(request) {
                        @Override
                        public Flux<DataBuffer> getBody() {
                           return bodyFlux;
                       }                        };
                    return chain.filter(exchange.mutate().request(request).build());
                         response.writeAndFlushWith(body.map(Flux::just));
                    }
           }else{
                   response.writeWith(body);
             }

}
I do not know if anyone knows where the problem is? Or does anyone know if the gateway has a more convenient way to deal with this problem?

Reading the body can be tricky.  There is a modify body filter in the gateway already have you tried that?

Thank you for answer my question .Could you tell me which one? I will try it.
------------------ 原始邮件 ------------------
发件人: "Ryan<EMAIL_ADDRESS>发送时间: 2018年10月19日(星期五) 晚上7:08
收件人<EMAIL_ADDRESS>抄送<EMAIL_ADDRESS><EMAIL_ADDRESS>主题: Re: [spring-cloud/spring-cloud-gateway] How to filter my html elementby gateway? (#610)
Reading the body can be tricky.  There is a modify body filter in the gateway already have you tried that?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Reading the body can be tricky. There is a modify body filter in the gateway already have you tried that?

Thank you for answer my question .Could you tell me which one? I will try it.

https://github.com/spring-cloud/spring-cloud-gateway/blob/2.0.x/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyResponseBodyGatewayFilterFactory.java

https://github.com/spring-cloud/spring-cloud-gateway/blob/2.0.x/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/filter/factory/rewrite/ModifyResponseBodyGatewayFilterFactory.java

it seems doesn't work, and I found the code for NettyWriteResponseFilter to be strikingly similar to my logic, but it seems that my code is not in effect.

@spencergibb colud you tell how to deal with it?

it seems doesn't work

In what way?  Please provide a sample that demonstrates it not working.  It sounds like this should solve your use case so I would like to fix it if it is not working.

it seems doesn't work

In what way? Please provide a sample that demonstrates it not working. It sounds like this should solve your use case so I would like to fix it if it is not working.

**there is two question:
first of all,how to make ModifyResponseBodyGatewayFilterFactory effect in my project?should i create a new class extends it and override the filter method?(The content that needs to be modified in the body will change according to the configuration changes in the database, so I think it should not be implemented by simple configuration of yml or properties.)
secondly,how to read the content of the body in POST filter, I found the code for NettyWriteResponseFilter to be strikingly similar to my logic, but it seems that my code is not in effect.**
`import com.newland.bomc.gate.feign.PermiApiFeignClient;
import com.newland.bomc.gate.feign.ResFeignClient;
import io.netty.buffer.ByteBufAllocator;
import io.netty.buffer.UnpooledByteBufAllocator;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.reactivestreams.Publisher;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
import org.springframework.cloud.gateway.filter.GlobalFilter;
import org.springframework.cloud.gateway.support.ServerWebExchangeUtils;
import org.springframework.core.Ordered;
import org.springframework.core.io.buffer.DataBuffer;
import org.springframework.core.io.buffer.DataBufferUtils;
import org.springframework.core.io.buffer.NettyDataBufferFactory;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.http.server.reactive.ServerHttpRequestDecorator;
import org.springframework.http.server.reactive.ServerHttpResponse;
import org.springframework.http.server.reactive.ServerHttpResponseDecorator;
import org.springframework.stereotype.Component;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
import reactor.ipc.netty.ByteBufFlux;
import reactor.ipc.netty.http.client.HttpClientResponse;
import reactor.util.concurrent.Queues;
import rx.functions.Func1;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.CharsetDecoder;
import java.nio.charset.StandardCharsets;
import java.util.Observable;
import java.util.concurrent.ExecutionException;
import java.util.function.Function;
@Component
@Slf4j
public class HtmlContentVisibleFilter implements GlobalFilter, Ordered {
@Autowired
private PermiApiFeignClient permiFeignClient;

@Autowired
private ResFeignClient resFeignClient;

private String html;

@Override
public Mono<Void> filter(ServerWebExchange exchange, GatewayFilterChain chain) {
    return chain.filter(exchange).then(
            Mono.defer(() -> {
                ServerHttpRequest request = exchange.getRequest();
                ServerHttpResponse response = exchange.getResponse();
                HttpClientResponse clientResponse = exchange.getAttribute(ServerWebExchangeUtils.CLIENT_RESPONSE_ATTR);
                if (clientResponse == null) {
                    return Mono.empty();
                }
                //TODO cache body and rewrite it
                NettyDataBufferFactory factory = (NettyDataBufferFactory) response.bufferFactory();
                Flux<DataBuffer> body = clientResponse.receive().retain().map(factory::wrap);
                boolean isOkStatus = response.getStatusCode() == HttpStatus.OK;
                String userId = request.getHeaders().getFirst("userId");
                boolean hasUserId = StringUtils.isNotBlank(userId) && StringUtils.isNotEmpty(userId);
                boolean filterFlag = isOkStatus && hasUserId && clientResponse != null;
                if (filterFlag) {
                    MediaType contentType = response.getHeaders().getContentType();
                    if (contentType != null && contentType.includes(MediaType.TEXT_HTML)) {
                        String requestUri = request.getURI().getPath();
                        Boolean permissionFlag = permiFeignClient.userPermiFlag(userId, requestUri, request.getMethod().toString()).getData();
                        if (permissionFlag) {
                            //FIXME the flatmap doesn't work here
                           body.flatMap(dataBuffer -> rebuildFluxBody(exchange, dataBuffer));
                        }
                    }
                }
               // request = new ServerHttpRequestDecorator(request) {
               //     @Override
               //     public Flux<DataBuffer> getBody() {
               //         return Flux.just(stringBuffer(html));
               //     }

               // };
                return chain.filter(exchange.mutate().request(request).build());
            })

    );

}

public Flux<DataBuffer> rebuildFluxBody(ServerWebExchange exchange, DataBuffer dataBuffer) {
    DataBuffer bodyDataBuffer = reBuildDataBuffer(dataBuffer);
    System.out.println("====>>>>>>>>>>>" + bodyDataBuffer);
    return Flux.just(bodyDataBuffer);
}

private DataBuffer reBuildDataBuffer(DataBuffer dataBuffer) {
    InputStream dataBufferStream = dataBuffer.asInputStream();
    ByteArrayOutputStream prepareBaos = cloneInputStream(dataBufferStream);
    DataBuffer bodyDataBuffer = null;
    InputStream insCopy = new ByteArrayInputStream(prepareBaos.toByteArray());
    try {
        byte[] bytes = IOUtils.toByteArray(insCopy);
        NettyDataBufferFactory nettyDataBufferFactory = new NettyDataBufferFactory(new UnpooledByteBufAllocator(false));
        bodyDataBuffer = nettyDataBufferFactory.wrap(bytes);
    } catch (IOException e) {
        e.printStackTrace();
    }
    return bodyDataBuffer;
}

private ByteArrayOutputStream cloneInputStream(InputStream inputStream) {
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    byte[] buffer = new byte[1024 * 4];
    int n;
    try {
        while ((n = inputStream.read(buffer)) != -1) {
            out.write(buffer, 0, n);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    return out;
}

@Override
public int getOrder() {
    return 110023;
}

public static String getString(ByteBuffer buffer) {
    Charset charset = null;
    CharsetDecoder decoder = null;
    CharBuffer charBuffer = null;
    try {
        charset = Charset.forName("UTF-8");
        decoder = charset.newDecoder();
        charBuffer = decoder.decode(buffer.asReadOnlyBuffer());
        return charBuffer.toString();
    } catch (Exception ex) {
        ex.printStackTrace();
        return "";
    }
}

protected DataBuffer stringBuffer(String value) {
    byte[] bytes = value.getBytes(StandardCharsets.UTF_8);
    NettyDataBufferFactory nettyDataBufferFactory = new NettyDataBufferFactory(ByteBufAllocator.DEFAULT);
    DataBuffer buffer = nettyDataBufferFactory.allocateBuffer(bytes.length);
    buffer.write(bytes);
    return buffer;
}

}
`
could you help me deal with it? I have tried to renew the ServerHttpResponseDecorator
and override writeWith ，failed etc.

Please learn how to format code on GitHub.

first of all, how to make ModifyResponseBodyGatewayFilterFactory effect in my project?should i create a new class extends it and override the filter method?(The content that needs to be modified in the body will change according to the configuration changes in the database, so I think it should not be implemented by simple configuration of yml or properties.)

It is hard for me to say, for basic cases you should be able to use the filter directly, but without more information I cant tell you the right way to do it.

secondly,how to read the content of the body in POST filter, I found the code for NettyWriteResponseFilter to be strikingly similar to my logic, but it seems that my code is not in effect.

You shouldnt have to do this if the filter works for you
I think the best thing you can do to allow us to help you is to provide a sample project that demonstrates your use case and where the Gateway falls short of supporting that use case.

Sorry, I didn't notice this problem.
According to what you said, I prepared an example when the service registry used consul.
In this project, my usage scenario is that the user accesses the service (http://localhost:8888/producer/test) in the producer through the gateway.
When the producer service returns the response page, the gateway intercepts the page information through the filter, and The tags on the page are hidden. such as, the <h1>tag in index.html in the producer project. Then the page is returned to the user.
Now I want to get the stream of the returned page in the filter, how to deal with this problem? I tried some methods but they all failed.
I have uploaded my case on github, would you like to help me deal with the problem, the project address is https://github.com/lindaosong/gateway-filter.git. The filter is called HtmlContentVisibleFilter in the gateway project.I hope to hear your valuable comments, thank you very much.

Please eliminate the Consul dependency that is not needed to reproduce the issue

Please eliminate the Consul dependency that is not needed to reproduce the issue

Okey~,I have eliminated the Consul dependency in the project.You can try it again!

Here is a simple example based off your sample
	@Bean
	public RouteLocator routeLocator(RouteLocatorBuilder builder) {
		return builder.routes()
				.route(p -> p.path("/producer/test").filters(f -> f.modifyResponseBody(String.class, String.class, "text/html",
						(exhange, in) -> {
							String newContent = in.replaceFirst("I am a tag!", "I am a modified tag!");
							return Mono.just(newContent);
						})).uri("http://localhost:8081/producer/test"))
				.build();
	}

Here is a simple example based off your sample
	@Bean
	public RouteLocator routeLocator(RouteLocatorBuilder builder) {
		return builder.routes()
				.route(p -> p.path("/producer/test").filters(f -> f.modifyResponseBody(String.class, String.class, "text/html",
						(exhange, in) -> {
							String newContent = in.replaceFirst("I am a tag!", "I am a modified tag!");
							return Mono.just(newContent);
						})).uri("http://localhost:8081/producer/test"))
				.build();
	}

This case is very good, I will try it out. But I still have a question, is there a way to get the body content in the filter and modify it?

Yes, see the code in that filter.

Yes, see the code in that filter.

First of all, thank you for your kind help. I can now filter the elements by referring to the filter ModifyResponseGatewayFilter. But now I found a problem. The image elements on my page will not display properly through the filter. Can you help me see why? Is it improper for me to use? The project is on github at https://github.com/lindaosong/gateway-filter.git

If i just fetch the image through the gateway as opposed to going through the HTML I noticed a problem when on every other request fetching the image.  Upgrading to Finchley.SR2 fixes that problem, but once that happens you custom filter breaks.  If I disable your filter the image can be fetched through the gateway fine.

If i just fetch the image through the gateway as opposed to going through the HTML I noticed a problem when on every other request fetching the image. Upgrading to Finchley.SR2 fixes that problem, but once that happens you custom filter breaks. If I disable your filter the image can be fetched through the gateway fine.

No matter whether I upgrade the springcloud version or disable the filter, I can't display the picture properly. Can you tell me how to reproduce the normal scene you said? Or is there any problem with my filter? I wrote it with reference to ModifyResponseGatewayFilter.

gateway-filter.zip
Start the gateway and producer app and then go to http://localhost:8888/producer/images/error.png
Again I am not using your filter because there is some kind of error in it.

gateway-filter.zip
Start the gateway and producer app and then go to http://localhost:8888/producer/images/error.png
Again I am not using your filter because there is some kind of error in it.

I tried your demo. I don't quite understand why there is some kind of error in it? I copied the ModifyResponseGatewayFilter filter that you provided, and then just modified the inclass, outClass, and RewriteFunction. Trouble helping me to correct me? There seems to be no documentation describing the use of that class. Is there any other filter that can modify the ResponseBody?


Security recommendations via advisor alerts

Any plans and timelines to support security recommendations via Advisor Alerts?
"Advisor alerts are currently only available for High Availability, Performance, and Cost recommendations. Security recommendations are not supported."

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

ID: 4cea0be8-64a1-ff81-82ea-26e350a2fc11
Version Independent ID: f5f4f0af-d894-137c-8fc4-39d4153861f2
Content: Create Azure Advisor alerts for new recommendations - Azure Advisor
Content Source: articles/advisor/advisor-alerts.md
Service: advisor
GitHub Login: @saket-ms
Microsoft Alias: sagupt

@abymsft Thanks for the comment! As per https://github.com/MicrosoftDocs/azure-docs/issues/38935, it's moved to Security Center from Advisor.

@abymsft At this point it appears that there's no edits or updates needed for the referred Azure documentation so closing this issue for now. If there are any questions / feedback regarding referred Azure documentation, please do let us know and we will gladly continue the discussion.


fix(yarn.lock): links to packages

#8

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

I see that the fix is planned in a different way (https://github.com/KasperskyLab/uif/pull/14). I am closing this pull request.

@promo360 yah, I will turn into native package-lock and npm to reduce extra tooling around UIF. BTW thank a lot for your investigations — they helped a lot.


allow empty params files

the intention of the surrounding code is to ignore files that do not
parse as yaml.  However, an empty file under parameters.d gets parsed
as yaml.load("") -> None, and that None is not iterable by set()
So, change this 'if' condition not to raise an exception if
param_contents for a given yaml file is empty/None.

Does this allow params files that are not empty but only contain comments and whitespace?

It looks like a yaml.safe_load() of an empty file would also yield None so this will also ignore those files when it comes to populating the params

Confirmed - yes, yaml.load() or yaml.safe_load() on text with only whitespace and comments returns None, as with an empty string / file


Adding in an opinionated pre-commit

I would like to propose adding in an opinionated .pre-commit-config.yaml, to enable pre-commit hooks in the project. Doing so would help push automated code checks directly to the local repo clone, and can help with ensuring code quality.
In terms of whether or not this should be enabled by default, I would lean towards not enabling it by default, as the use of pre-commit is not commonly taught in introductory git courses. However, I am quite sure that seasoned git users will appreciate its availability in the repository nonetheless.
Before I get working on it, was wondering what you all might think about this contribution? As this would be my first contribution to the repo, I am happy to follow your guidance on what else should be added.

I would also love to see this feature! Consider adding as a part of the pre-commit pipeline: https://github.com/wemake-services/wemake-python-styleguide

Hi guys, can I take this issue? What I have in mind is a pre-commit with the following plugin:

flake8
isort
wemake-python-styleguide
black

please, let me know your thoughts

@fgriberi feel free to ping me for review / help 👍

I like the idea of this. A few additional thoughts:

We've done a register-hook make command for easy installation in the past. I think by default that command should be optional (but, our team often makes it a dependency of requirements).
If the precommit hook runs make commands, then committing updated make commands updates the hook for everyone, which is convenient.
A few opinions: wemake-python-styleguide is too opinionated for a default. flake8 is a definite for me, black is probably, isort I could take or leave but don't feel strongly.

@pjbull I've been thinking about using pre-commit instead of a bash script. The integration with the mentioned tools is awesome. What do you think?

I didn't find the increase in complexity to be worth it for our team, and I think that it sacrifices the flexibility that a project template like this should have.

Hi everyone,
I've created a pull request (#323) that addresses this issue. It adds pre-commit hooks for code formatting and linting to enhance code quality and consistency in the project. The pre-commit hooks include tools such as pre-commit-hooks, mirrors-prettier, black, isort, and flake8.
You can review the pull request here: Pull Request #323
Your feedback and suggestions are greatly appreciated. Please take a look at the changes, and if everything looks good, your approval would be fantastic. If you have any comments or questions, feel free to share them in the PR discussion.
Let's work together to improve the code quality of this project! Thank you for your attention to this matter.


vscode  sem to enable  semantic completion for c/c++

the completion backend is "cquery", which you will need to install manually.
what is cqery?how to fix it?

i have install cquery manually, but the tip still show, how to fix it?

The tooltip shows when TabNine received an error running the cquery command. If you get the tooltip despite installing cquery, then probably TabNine can't find it. Please follow the steps in https://tabnine.com/semantic starting from "If it works in the terminal, but TabNine can't find it".


URLs should become hyperlinks

For example, see
https://leanprover-community.github.io/mathlib_docs/linear_algebra/quadratic_form.html
where under "References", there are 2 URLs, which are not hyperlinks.

Also, I'm not sure if this is something that doc-gen should do, or whether the mathlib style guide should say that urls in doc strings should be markdown links.

It looks like we might be able to get markdown2 (used in doc-gen) to convert links automatically by following the steps described here.

It looks like we might be able to get markdown2 (used in doc-gen) to convert links automatically by following the steps described here.

@bryangingechen do you know if this is any easier with mistletoe? I don't think it's a big deal or worth much effort. (We can change those urls to proper markdown links.)

I think it would be comparable; we'd have to create a regex to pick up raw URLs (maybe we could use the ones in the link above?) and then tell mistletoe to render them as links. (I'll test this out and report back when I can.)


ci: Optimize GitHub Actions workflow to use self-hosted runners.

Add determine-runner step, use self-hosted runner or fallback to latest Ubuntu version.
Remove cargo-bins/cargo-binstall, use cargo install instead.
Add Python setup step for Python 3.11.
Add Rust toolchain setup step.

Thanks！


Allow manyToMany relationships in association argument

argument could look something like:
associations: [
 { type: "manyToMany",
   target: "Dog",
   cross_table: "dogs_to_persons",
   source_key: "person_id",
   target_key: "dog_id"}
]```

Done.
"Through" table is created as migration (see views folder).


Ctrl Z and Y keybinds are flipped

If you have a keyboard with a QWERTZ layout, for example, in Germany, Austria, Switzerland, etc., it has the z and y switched compared to the US version.
Now, if you want to undo your book page, you have to press redo.
This is very annoying and unintuitive.

It looks like this is actually a vanilla bug: https://bugs.mojang.com/browse/MC-121278
I'll see if I can fix it in Scribble though. Thank you for the report!


Path.removingLastComponent() recurses infinitely

https://github.com/apple/swift-package-manager/blob/4111569c63698f1a6339dd053c9c4babb3e3ed95/Sources/PackagePlugin/Path.swift#L78-L93
I was working on a build plugin recently that walked parent directories looking for a configuration file to read, which worked great - until it hit the root of the filesystem ("/").
I would expect the result of calling removingLastComponent() on a Path representing "/" to be nil.
It actually returns itself, so recursing continues infinitely.

Hm, https://developer.apple.com/documentation/foundation/nsstring/1411141-deletinglastpathcomponent seems to have the same behavior

Oof. I guess this problem is only relevant if you're iterating over the parents of a Path.

We deprecated PackagePlugin.Path, so I think we can close this.


add table of contents

Signed-off-by: Schrotti<EMAIL_ADDRESS>

I've added an optional parameter '-s' to control if the table of content is generated. I need this optional, because I'm including the generated FIDL adoc into another document, which already has a table of contents.

Hi @mintoko,
yea I was thinking in the same direction but wasn't sure yet.
Thanks for adding this.