Finding this project pretty hopeless

Like it seems many others, I came here because Virtualbox directory sharing is rubbish.
This has fixed the speed issue of volume sharing, but it appears at the expense of introducing some other pains:

When you have a lot of files (thousands), rsync isn't great here. It takes several minutes to copy over all the files.
When you reboot the VM, the folder appears to vanish, requiring a fresh re-copy of all the files again.  Already at this point this is impractical.
I can't get the ignore functionality working.  I specified the -i switch with a file, containing paths of directories to ignore. It detected this (echo'ed them in the script) but didn't ignore them. Either way, am I right in thinking it just copies a TAR file and then deletes the ignored files? If so that wouldn't be very useful at all (as deleting takes ages too).
There is a significant latency in detecting change to files, in the order of 5 seconds or so.  I've attempted to add the '-l' switch to reduce the fswatch latency but this has no effect (possibly because it requires the -o switch, but this script breaks using that mode). It could be due to fswatch having to monitor a large number of files, but again this makes it pretty impractical.

/Moan.  Been at this for several hours now. Boot2Docker doesn't appear to work with NFS (permission denied despite the OSX share working for Ubuntu). Going to try to get https://github.com/codekitchen/dinghy working.

Thanks for giving the project a try. Some responses/questions/comments on the points you brought up:

We recently introduced a change to use tar for the initial sync, which speeds things up a bit, but perhaps not enough for really huge projects. How long is it taking? How many files?
Are you rebooting the VM? Or destroying it and recreating it? The files are directly copied onto the boot2docker VM, so I don't see any reason they would disappear if all you did was reboot, but if you deleted and recreated it, then they certainly would.
Is it not ignoring files on the initial sync or during the watch mode too? If it's only on the initial sync, then perhaps the recent tar change introduced a bug where the excludes are not being respected, and I'd appreciate you filing a separate bug for that specific issue.
We do not support any flags for fswatch. If the latency flag (-l) fixes your issue, I'd definitely accept a PR to pass that flag through. To test if this is the case, could you run fswatch by itself (without docker-osx-dev) and see if you can make it work fast enough with the -l flag? FWIW, it uses FSEvents on OSX, so if that doesn't work, I don't know of a file change mechanism that would work any faster...

Sorry I was a little moany, attempting to solve a big picture trivial issue grates on you after hours!
Ended up getting Dinghy working relatively quickly last night, and it seems for my use case it works well. I think since you tried it they have got rid of the need for a vagrant layer so it's much simpler - may be worth giving it a go.
Completely uncached/unoptimised my app booted in between 700-900ms with Virtualbox shared folders, with local files (via docker-osx-dev) this brought it down to 250-350ms, and with dinghy it's sitting at ~290ms without any of the other troubles, and seemingly almost instant file updates. Satisfied for now!

The app and all it's dependancies is 1.34GB, it was taking several minutes (at least 3 minutes, probably more), with 115,024 files.  I just tried to time it but I'm getting permission issues with chown now from the script (probably something I've changed).
I was just rebooting the VM.  The /Users directory vanished after a reboot and required a full resync. FYI there are no shared folders on the VM.
I actually didn't test if it was ignoring files in the sync, but it was definitely not respecting it during sync (several thousand of the 115k files are node_module files which I didn't need synced, plus ignoring .git etc)
Yeah I edited the docker-osx-dev script to modify 'fswatch_cmd' to include the latency flag, but no joy there (as I say because I think the batch flag (-o) may be needed, but looks like the script relies on the output of fswatch without it.  It could also be because of the sheer number of files, which as you say is obviously going to be a limitation whatever file change lib is used.

@assembledadam I commented the same thing. Here, we are using NodeJS, as you can imagine, a big project have a lot of dependencies, so the node_modules/ folder have a lot of files. docker-osx-dev could be an excellent tool, but the initial rsync, and other points already pointed, make it hard to adopt. Thanks!

@thalesfsp  I am a front-end engineer . and use gulp /yeoman. so this project helped me a lot about share problem.but more question occurs.such as sync problem ...

Sync problem also has a different aspect: size. I've got a project with 13 GB of assets that are used at runtime, meaning, despite the nice and fast sync, Docker runs out of space in some 15s.

I was just rebooting the VM. The /Users directory vanished after a reboot and required a full resync. FYI there are no shared folders on the VM.

Same here. Some clarification: docker was installed before I tried the first time docker-osx-dev. After a restart of the docker vm a docker-osx-dev call will ask you again to remove the shared "/Users" vboxsf folder. Or the other way around: after a reboot of your vm, your /Users folder is shared again and you could use it like before. This is very useful for me, because sometimes I have to use other images, where i want to mount a folder within my user folder. This folder should be synced both ways, without docker-osx-dev. Is this a bug? Any opinions?
@assembledadam
Maybe you could try to containerize your build environment?
We have developed a small facade project for some of our core build tools (gulp+addons) for web apps to share configs and custom plugins. This facade, lets call it "build-tool", was the only dependency of our web apps. So we could put it into a docker image and use it. Some advantages of this approach:

ultra fast setup for new projects/developers
no (frontend) dev has to npm i dependencies (yeah :D)
ONE environment for build tools independent of host OS (e.g. ubuntu base image)

@otbe: Not sure I understand you correctly, but in general, if you start the VM yourself with default options (e.g., boot2docker start or docker-machine create --driver virtualbox default), it will enable vboxsf and mount your /Users folder. If you start the VM using docker-osx-dev (just running the script is enough), it'll start it for you and set the necessary flags to disable vboxsf so /Users is not mounted.

@otbe That's close to what I've done, got a really nice workflow sorted out.  I use Dinghy to sort out my dev base, alongside docker-compose with my pre-baked images (+ using AWS for prod and some dev resources). Been up and running for a few weeks now.

@brikis98
Thats fine for me. So I could choose between the behaviors. Run vm via docker-machineor docker-osx-dev.
@assembledadam
Nice to hear. We just start to use docker this way and you confirm me :+1:
Will give Dinghy a try!


disable online (update ?) check

where we can disable the internet connection after start ?
5 sec after start the app will connect to:
Remote Name:  www.medo64.com
where we can disable this ?

That's the check for new version.
I don't plan to change it or make it configurable.

PS: If it really bothers you, source is available and you can recompile a version without it.

its an windows thing, if i block in firewall, the system hing up a while, this lets look your app buggy and slow.


Carousel images not horizontally centered when they're narrower than the carousel

Docs says that carousel will automatically align captions and format it. but if we add large content into caption it does not align properly.
I thought it will get dynamic position like in Popovers and tooltip that have an option to align them automatically.
I look through carousel code and does not find anything that automatically align content within caption, so this section should not say that.
http://getbootstrap.com/javascript/#optional-captions

Could you post a JS Bin or JSFiddle that demonstrates the misalignment?

https://jsbin.com/cuhoyaduli/edit?html,output
check this on 320px width.

Hi @moinakbarali!
You appear to have posted a live example (https://jsbin.com/cuhoyaduli/edit), which is always a good first step. However, according to Bootlint, your example has some Bootstrap usage errors, which might potentially be causing your issue:

W002: <head> is missing X-UA-Compatible <meta> tag that disables old IE compatibility modes
W003: <head> is missing viewport <meta> tag that enables responsiveness

You'll need to fix these errors and post a revised example before we can proceed further.
Thanks!
(Please note that this is a fully automated comment.)

So, the actual bug seems to be that slide images aren't centered when they're narrower than the carousel itself.

As far as i do understand  @moinakbarali; the only problem is that the text is too long to fit the carousel?
Possible related: https://github.com/twbs/bootstrap/issues/18171

Yes @bassjobsen is correct. But as the carousel doc say that it will align content automatically it should handle long text someway or it should not say that it will align content automatically.
@cvrebert that is also an issue, I fixed them using margin: 0 auto or by adding centered-block class to image.

Closing this as a duplicate of #18171 then.
I'll open a new issue for the image centering problem.


Diadem: adds missing translations fr

Great. So you would want a regex something like Vous détectez une? (carrière de pierre|de végétation évanescent).*?. However, it looks like there are two other kinds of harvest nodes, so we would need to find those as well. I'm not sure where in the game data that would be, but I think one of the other people you notified should probably know.

Sorry for the confusion, but is this ready to merge, or is there still uncertainty here?

I have merged your commit. It's ok for me, if it's ok for you.


process.execPath returns the atom.exe path instead of node.exe path on windows

While upgrade linter-jshint to the latest version 1.1.2, i found it doesn't work any more on windows. See following snapshot:

But the issue has nothing to do with OSX. I am running my atom on windows.
After some debug work, the issue is caused by lib/helpers.coffee line 18:
return @_exec(process.execPath, args, options, true)

The process.execPath returns C:\Users\howard\AppData\Local\atom\app-1.0.2\atom.exe which is absolutely incorrect.

That's actually by design :)
We have single binary, and pass ATOM_SHELL_INTERNAL_USE_AS_NODE or a similar env to make it act like node.

I don't understand, do i need some extra configuration on windows? Since it doesn't work right now

No You don't :) it's by design and works perfectly that way.

Actually not, the linter functionality doesn't work at all, the error dialog placed on top right corner whenever i change my code.
Is that means something wrong with my evn?

Yes, It's actually a bug when we pass whole of the env object instead of some selected ones, we are discussing an appropriate solution for it at the moment, You can find the workaround in the jshint issue.

Thanks for quick reply, and explanation. ^_^


#3 Proposal to print rai version

This approach is simple and leverage Cobra's built-in support for version print.
The version variable could be overwrited - at compile time - using -ldflags="-X 'main.version=x.x.x-xxxx'".

@bradlo Done.
Welcome, glad it helps.


Authentication cookies not forwarded

Version of the custom_component
latest
Configuration
multiscrape:
  - resource: "http://<IP_ADDRESS>:1234/cgi-bin/reboot.sh?boot=now"
    scan_interval: 60000
    log_response: True
    button:
      - unique_id: reboot_router
        name: reboot router
    form_submit:
      submit_once: True
      resubmit_on_error: False
      resource: "http://<IP_ADDRESS>:1234/cgi-bin/get_password_cookie.sh"
      input:
        password: 'withChar&$#SG8Mb"^'
    sensor:
      - select: ""
        name: reboot_router```

## Describe the bug
From form_submit_response_body.txt I see the cookies are set correctly
Set-Cookie:hash=D678DFD98D668721F6E37F6F20E1EE9DDFF168FF382DF82E61E6E2F7DF189D68; Path=/;
Set-Cookie:exp=1692908272; Path=/;

in  page_request_headers.txt I would expect those cookies, but there's "None"
in page_response_body.txt I see the error that I'm not logged on.

I'm doing something wrong?

Will https://github.com/danieldotnl/ha-multiscrape/pull/327 fix the problem?
If so looking forward to feedback. :)

Will #327 fix the problem? If so looking forward to feedback. :)

Me too!

I'm experiencing this too.  I'm attempting to scape a mocreo hub using the configuration similar to here:
https://gist.github.com/sdrapha/a942171c3ff0ca16b3f74fab6a3e919a
With log_response enabled, I see the set-cookie header being returned from the form in form_submit_response_headers.txt Headers({'content-type': 'text/html; charset=UTF-8', 'set-cookie': 'id=b03494a0-68d8-f13a-c780-8892c20caa1c; Max-Age=86400;'})
but in page_request_headers.txt is only {}
I tried with 7.0.3 and also going back to 6.8 and this still seems to be the case
Does the login form not save cookies between requests? How could it ever have worked for anyone? What am I missing??
Thanks!

Actually, I think #368 solves this issue.


As a user I want to backup/import my identity with a PDF file

Story
As a user, I want to backup my identity by saving a PDF file
Description
The user must be able to save a PDF file with his identity's mnemonic and other potential recovery methods (e.g. QR code).
Tasks

[x] #27 (placeholder implementation)
[x] #173 (placeholder implementation)
[ ] #224
[ ] #275

Acceptance Criteria

[x] Backup-identity has the PDF skeleton implemented
[x] Import-identity has the PDF skeleton implemented
[ ] Backup-identity has the PDF skeleton fully integrated and working properly
[ ] Import-identity has the PDF skeleton fully integrated and working properly

Closing this in favor of #250 and #251.


Possible race condition in Channel.ConnectAsync

[NB: I'm working in C# but suspect the issue below might lie in the native code; I'm using GRPC v1.0.0.]
Consider this scenario (all done in a the same process using local loopback):

I open a listening socket on some port and explicitly connect a Channel to it using Channel.ConnectAsync.
Once all is connected I then close the remote (accepted) socket and the listening socket, simulating a server going down.
I then prompt the channel to connect by calling Channel.ConnectAsync.

What I would expect is that the channel's state would flip between Connecting and TransientFailure as it attempts to reconnect. However, I am finding that is not always the case and that sometimes after step (2) the channel goes to Transient then Idle and just stays there apparently ignoring the request to attempt to connect again in (3).
If I sleep the thread between (2) and (3) then this doesn't happen. It also doesn't happen if I trigger a connection attempt by invoking a call on the channel rather than explicitly calling ConnectAsync.
The NUnit unit test below reproduces this. The test monitors for a certain number of TransientFailure states before shutting the channel down. Note that there are two test cases: if you run both then the first will usually complete but the second very rarely completes. Occasionally the first doesn't complete. The logging showing state changes from a typical run is below.

I0922 15:31:10.544000 ---------------- Open ------------------------
I0922 15:31:10.557000 START
D0922 15:31:10.599000 Grpc.Core.Internal.UnmanagedLibrary Attempting to load native library "?????\GrpcExperiments\GrpcExperiments\bin\Debug\grpc_csharp_ext.x64.dll"
D0922 15:31:10.646000 Grpc.Core.Internal.NativeExtension gRPC native library loaded successfully.
I0922 15:31:10.680000 close remote
I0922 15:31:10.686000 State is Connecting
I0922 15:31:12.686000 State is Connecting
I0922 15:31:13.684000 State is Connecting
I0922 15:31:15.020000 State is TransientFailure
I0922 15:31:15.297000 State is Connecting
I0922 15:31:17.312000 shutdown done
I0922 15:31:17.316000 END
I0922 15:31:17.324000 START
I0922 15:31:17.327000 close remote
I0922 15:31:17.328000 State is TransientFailure
I0922 15:31:17.328000 State is Idle

using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using Grpc.Core;
using Grpc.Core.Logging;
using NUnit.Framework;

namespace GrpcExperiments.Code
{
    [TestFixture]
    internal sealed class ChannelTests
    {
        private TextWriterLogger _logger;
        private StreamWriter _textWriter;

        [Test]
        public async Task Break([Values(1, 2)] int maxFailures)
        {
            _logger.Info("START");

            try
            {
                GrpcEnvironment.SetLogger(_logger);
                var tcpListener = new TcpListener(IPAddress.Loopback, 9001);
                tcpListener.Start();

                var channel = new Channel("localhost", 9001, ChannelCredentials.Insecure);
                var acceptTask = tcpListener.AcceptTcpClientAsync();

                Task.WaitAll(channel.ConnectAsync(), acceptTask);

                var remoteTcpClient = acceptTask.Result;

                _logger.Info("close remote");
                remoteTcpClient.Close();
                tcpListener.Stop();

                // uncomment this and it works
                //Thread.Sleep(500);
                var task = channel.ConnectAsync();

                var state = channel.State;
                var count = 0;

                while (state != ChannelState.Shutdown)
                {
                    _logger.Info($"State is {state}");
                    _textWriter.Flush();
                    await channel.WaitForStateChangedAsync(state).ConfigureAwait(false);
                    state = channel.State;

                    if (state == ChannelState.TransientFailure)
                    {
                        ++count;

                        if (count > maxFailures)
                        {
                            await channel.ShutdownAsync();
                            _logger.Info("shutdown done");
                            _textWriter.Flush();
                            state = ChannelState.Shutdown;
                        }
                    }
                }

                remoteTcpClient.Close();
                tcpListener.Stop();
                GrpcEnvironment.ShutdownChannelsAsync().Wait();
            }
            catch (Exception exception)
            {
                _logger.Error(exception, "Error in test.");
            }
            finally
            {
                _logger.Info("END");
                _textWriter.Flush();
            }
        }

        [OneTimeSetUp]
        public void OneTimeSetUp()
        {
            _textWriter = new StreamWriter(new FileStream(Path.Combine(TestContext.CurrentContext.TestDirectory, "test_log.txt"), FileMode.Append, FileAccess.Write, FileShare.Read, 1), Encoding.UTF8, 1);
            _logger = new TextWriterLogger(_textWriter);

            _logger.Info("---------------- Open ------------------------");
        }

        [OneTimeTearDown]
        public void OneTimeTearDown()
        {
            _textWriter.Close();
        }
    }
}

Update: I said above that this doesn't happen if I trigger a connect by invoking call but it turns out that's not true but it happens less often.

I think this behavior is actually expected. The channel state API is documented in https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md. But basically from the descriptions here, what appears to be happening is:
At the beginning, the channel attempts to connect. It successfully makes the TCP handshake and then transitions to READY. The Thread.Sleep(500) actually makes a significant difference after shutting down the TCP server and trying to call Channel.ConnectAsync again, because after no RPC activity has occurred on the channel for IDLE_TIMEOUT (default at 300 seconds), the channel transitions to "idle" state. Without the timeout, the channel probably thinks it's still in "ready" state just after closing the server, and so the subsequent state polling in the loop should have differing results.
When trying to connect to the closed TCP server, it flips between "transient failure" and "connecting" states as it goes through its retry logic. Eventually, it looks like the IDLE_TIMEOUT occurs while in one of the retried "connecting" states, and the channel state transitions to "idle". Once in the "idle" state, it stays there for as long as it's not explicitly shut down and there aren't any RPC attempts on it.
The exact difference that the initial states make before the state-polling loop should come down to timing, and the time taken between retries, and is probably a bit hard to trace down. But just note that the reconnect attempts and the time taken here is expected to be influenced by the time-without-RPCs - so there doesn't look to be a race here.

closing as I think this is ok by the channel state API

update: so @jhickson this looks like it brings up a documentation issue. I guess the state diagram in https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md isn't 100% true at this point, as it is expected that the transition to idle can actually happen earlier than the 300 seconds mentioned in the doc, if the channel finds out that it would be more efficient to do so. And I guess this transition to idle is actually a bit unspecified at this point anyways.
I should add that with gRPC being over HTTP2/TCP, the attempts to connect to the raw TCP server I suspect would give some somewhat unspecified behavior around the channel state API. The docs currently only mention completion of TCP handshakes, but there's probably also some failures to recognize HTTP2 going on, but again this is probably a doc issue.
Still for most cases though, I would think the Channel API should be able to abstract these states and transitions. Wondering are you examining these states in the application?

@apolcyn: you'll be pleased to know that I'm no longer examining these states. I thought I needed to but I was just over-complicating matters. So whether this is purely a documentation issue or something more sinister is of less relevance to me now. However, it would be good to get clarification.
By the way, if I'm not supposed to be examining these states then should the means of doing so be in the surface API at all? Or is it useful to have them there for diagnostics?

@jhickson thanks for bringing this to attention anyways. AFAIK the behavior around the Channel connectivity states and transitions is probably not stable at this point, at least from a timing perspective, though it is accessible. Basically, being IO/timing sensitive, I think it would be difficult to set hard expectations against. And there are complexities like, for example, polling channel.state might actually give a different result than the state just arrived at in WaitForStateChangeAsync, as it should be valid for the state to change in the time between.

@jtattermusch I would think that the methods like WaitForStateChangeAsync are probably more internal, but maybe there's more to the intended usage of these?

Looking more into this, I think there are multiple things going on here, but the most basic problem actually seems to be just that the ConnectAsync method will stall when it reaches the terminal "idle" state - sorry I had overlooked this earlier. I think that the most simple fix to this is to just attempt to reconnect when it does do this. This seems to fix the repro case here - both test cases finish succesfully.

the above comment appears incorrect, this still needs more investigation

Last update on this issue from Mar 2017, closing.


Remove iOS8 and later from fix #57.

Hi everyone!
The buggy behavior of iOS6 and iOS7, which was fixed in #57, is not actual on iOS8. Please lets remove iOS8 from the fix cause it's not needed there. @rowanbeentje can you please share info about rdar://13048589 ?
Thank you.
@njam FYI.

@vogdb I think you also need to remove the |\d{2} from the regexp, which matches any two digits (OS 10_0 for example).

Agree. Actually I didn't pay that much of attention when did a replace. Now after a investigation I think that we should even use a regexp like this: [6,7](?:_\d{1,3}){1,3} or [6,7](?:_\d+)+
@njam thoughts?

I think that's not necessary as we don't need to match the full version, but only that OS is followed by a space and then either 6 or 7 and then an underscore..?

ok.

@matthew-andrews wdyt?

rdar://13048589 was marked as a duplicate of rdar://11077291 in March 2013, which is still "Open" (that's all I can see).
However with some testing on a test page (http://beent.je/ios-targetelement-bug.html) this seems to have been addressed as far back as iOS 7; 6.1.3 is still showing the problem, but 7.0.2 looks fixed to me.  Does anyone's testing show differently?

I tested it on iOS7.1. It does not work there.

iOS8.1 works fine.

Can't test iOS6 on Yosemite =(

Hmm.  Must have done something wrong - I was testing on real devices, but can confirm on re-testing I can see the broken behaviour on 7.1 on iPhone and iPad.
So looks good to me... regex looks fine in its new form too.
Thanks!

I was about to mention that iOS 8 should be added to the deviceIsIOSWithBadTarget, then I found this post.
It seems to me that the issue still exists on iOS 8. I opened the test site and when I tapped the right column and during scrolling tapped it again, I get the following result:

Am I performing the right test?
The iOS version I used is 8.3 on an iPhone 6.

works fine to me

From your screenshots I assume you are testing using the left column. I mentioned in my post that I used the right column.
Still its not entirely clear to me what these tests should show.

On the left column there must be no difference in the values, on the right the difference can be small up to 4 or 5. Yours is 6, so I'd say it can be a problem.

The difference in the right column depends on the time between touchstart and touchend and can be easily > 10.
We use the fastclick script in an app we created. We encountered a problem in the following scenario:

Create a form with a number of <select> elements (more than fit on the screen) and a text <input>
Touch the text <input>

keyboard appears

Touch a <select>

keyboard is replaced by options
screen scrolls to touched select (triggered by touchend?)
after 300ms click is emulated on touchend coordinate
another select is now on the location of the touch, so that select now gets the focus

When we included iOS 8 in deviceIsIOSWithBadTarget, this behaved better. I don't know if the click is emulated on the same element as the touchend, or that the click is skipped entirely, but the double focus change was gone. And we did not encounter any other problems.


fix: filter sections by both worklist and term for sync

What Issue does this PR resolve? (Link to GitHub Issue, approved features and bugs will be given priority)
Resolves #140.
Please provide a video demo below, or a screenshot and description of the change.
No visual changes.
Tag reviewers for the PR below.
@mlool

I can't test this, if someone who hasn't registered it, it would be great if you can take a look

marked as draft because we're going to switch to automatically detecting the correct term from the saved schedule.


ENT-7423: Added python implementation for iptables custom promise

Ticket: ENT-7423

Closing this as stale, but we might get back to it later.


how to trace queue invocation，such as LinkedBlockingQueue？

My code just like this。
// make a queue （TraceDataWrapper can pass trace information within my pinpoint plugin.）
private LinkedBlockingQueue<TraceDataWrapper> queues = new LinkedBlockingQueue<>(100);
// method A , put My Wrapper  Object to the queue
queues.put(TraceDataWrapper.of(person));
// method B ( after spring bean init），fork one thread to deal with the real object
new Thread(() -> {
while(true) {
try {
Thread.sleep(1000);
Person p = queues.take().value();
personDao.save(p); //  this method didn't show in pinpoint web UI.
} catch (Throwable e) {
e.printStackTrace();
}
}
}).start();
I have wrote a plugin of pinpoint, and I am sure that I can get the traceId after the method TraceDataWrapper.value() be invoked，but any information can't be showed in pinpoint web UI, how to trace the next method personDao.save(p);  or any idea？

Look forward to your reply. thanks。

It is recommended to use the ThreadPoolExecutor rather than using the Thread.
Pinpoint already supports TaskExecutor of Spring
Using the TaskExector or referencing the plugin code will help you solve your problem.
https://github.com/naver/pinpoint/blob/master/plugins/spring/src/main/java/com/navercorp/pinpoint/plugin/spring/async/SpringAsyncPlugin.java
https://github.com/naver/pinpoint/blob/master/plugins/spring/src/main/java/com/navercorp/pinpoint/plugin/spring/async/SpringAsyncConfig.java#L29
    private static final String[] DEFAULT_ASYNC_TASK_EXECUTOR = {
            "org.springframework.scheduling.concurrent.ConcurrentTaskExecutor",
            "org.springframework.core.task.SimpleAsyncTaskExecutor",
            "org.springframework.scheduling.quartz.SimpleThreadPoolTaskExecutor",
            "org.springframework.core.task.support.TaskExecutorAdapter",
            "org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor",
            "org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler",
            "org.springframework.jca.work.WorkManagerTaskExecutor",
            "org.springframework.scheduling.commonj.WorkManagerTaskExecutor"
    };

Pseudocode
ThreadPoolExecutor actually works like this
    public void dispatch() {
        // method B ( after spring bean init），fork one thread to deal with the real object
        new Thread(() -> {
            while(true) {
                try {
                    Thread.sleep(1000);
                    TraceDataWrapper dataWrapperRunnable = queues.take();
                    // Implement personDao.save() in run()
                    dataWrapperRunnable.run();
                } catch (Throwable e) {
                    e.printStackTrace();
                }
            }
        }).start();

    }

    public class TraceDataWrapper implements Runnable {
        private PersonDao personDao;
        private Person p;

        @Override
        public void run() {
            // asyncContext start
            personDao.save(p); // this method didn't show in pinpoint web UI.
            // asyncContext end
        }
    }

Thank you for your reply。It seems the best way was to use ThreadPoolExecutor rather than queue before I have found out effective solution。But it will change a lot of code in some projects to abandon  the field LinkedBlockingQueue in my situation。

That's so embarrassing, I seem to have misunderstood what you mean. AsyncContext is work for me. I change my code to pass AsyncContext to the dealing thread, it can trace the invocation completely。
My code just like this。
// make a queue （TraceDataWrapper will be use to store the asyncContext.）
private LinkedBlockingQueue queues = new LinkedBlockingQueue<>(100);
// method A , put My Wrapper Object to the queue，the method “of” will be intercept
queues.put(TraceDataWrapper.of(person));
// method B ( after spring bean init），fork one thread to deal with the real object
new Thread(() -> {
while(true) {
try {
Thread.sleep(1000);
// We should wrap the real operation in order to trace the whole invocation
queues.take().run((t) -> {
save(t.getName()); // real operation
});
} catch (Throwable e) {
e.printStackTrace();
}
}
}).start();

It works! Thanks again.

:+1 That's cool.


An option to ALWAYS use google API ?

The library does a great job parsing and formatting the addresses, and giving a common usable format. But the default iOS reverse-geocoding (from position to address) is not very good in all countries.
Can we have an option to always use the Google API for this ?

Better would be an option to use Google API on iOS, and leave the android as default.


Uptime-kuma web interface stop working and got SQLITE_CORRUPT message on reload...

⚠ Please verify that this bug has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
I have a self-monitor configured and it reports uptime-kuma http access as down but it is still working and monitoring my resources but I cannot access my frontend.
Then, if I reload my uptime-kuma docker it completely dies and in the docker logs I get the following messages:

==> Performing startup jobs and maintenance tasks
==> Starting application with user 0 group 0
Welcome to Uptime Kuma
Your Node.js version: 16
2022-04-26T00:48:40.536Z [SERVER] INFO: Welcome to Uptime Kuma
2022-04-26T00:48:40.536Z [SERVER] INFO: Node Env: production
2022-04-26T00:48:40.536Z [SERVER] INFO: Importing Node libraries
2022-04-26T00:48:40.537Z [SERVER] INFO: Importing 3rd-party libraries
2022-04-26T00:48:40.732Z [SERVER] INFO: Creating express and socket.io instance
2022-04-26T00:48:40.732Z [SERVER] INFO: Server Type: HTTP
2022-04-26T00:48:40.734Z [SERVER] INFO: Importing this project modules
2022-04-26T00:48:40.823Z [NOTIFICATION] INFO: Prepare Notification Providers
2022-04-26T00:48:40.858Z [SERVER] INFO: Version: 1.15.0
2022-04-26T00:48:40.862Z [DB] INFO: Data Dir: ./data/
2022-04-26T00:48:40.862Z [SERVER] INFO: Connecting to the Database
2022-04-26T00:48:40.941Z [DB] INFO: SQLite config:
[ { journal_mode: 'wal' } ]
[ { cache_size: -12000 } ]
2022-04-26T00:48:40.945Z [DB] INFO: SQLite Version: 3.38.2
2022-04-26T00:48:40.945Z [SERVER] INFO: Connected
Trace: [Error: SELECT value FROM setting WHERE key = 'database_version'  limit 1 - SQLITE_CORRUPT: database disk image is malformed] {

errno: 11,
code: 'SQLITE_CORRUPT'
}
at process. (/app/server/server.js:1696:13)
at process.emit (node:events:526:28)
at emit (node:internal/process/promises:140:20)
at processPromiseRejections (node:internal/process/promises:274:27)
at processTicksAndRejections (node:internal/process/task_queues:97:32)
If you keep encountering errors, please report to https://github.com/louislam/uptime-kuma/issues

This happened to me with the following versions:
1.14.0
1.15.0 (my current version)
I already had this issue twice and both time in also two differents docker. When this happen I have to recreate from scratch my docker and export a backup config in order to get working it again.
I'm running those dockers in the following manner:

Docker swarm using portainer

My swarm config:

version: '3.3'
networks:
default:
external:
name: network-stack-conectate
services:
uptime-kuma:
image: louislam/uptime-kuma
volumes:
- /some/path/uptimekumadata:/app/data

Also I a have third uptime-kuma docker running without docker swarm / portainer,  just docker-compose and it also had an issue but I cannot confirm if is the same error message because I didn't give it much atenttion whe it happen cause it was just a probe.
🐻 Uptime-Kuma Version
Versión: 1.15.0
💻 Operating System and Arch
Ubuntu 20.04.4 LTS
🌐 Browser
non-relevant..
🐋 Docker Version
20.10.12
🟩 NodeJS Version
No response

What is your mounted location type? Is it a NFS drive?
How did you stop Uptime Kuma container?

Hi, thanks for your reply.
About your question:

I'm using glusterFS as the file system.

I stopped the container using the Portainer "update" button.

Right now I created my uptime-kuma from scratch and I will monitor to see
if it happens again to find something else that could lead me to the right
track....
El mar, 26 abr 2022 a la(s) 00:21, Louis Lam @.***)
escribió:

What is your mounted location type? Is it a NFS drive?
How did you stop Uptime Kuma container?
—
Reply to this email directly, view it on GitHub
https://github.com/louislam/uptime-kuma/issues/1567#issuecomment-1109313906,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATZ67SILNBGIBBZLGSON23LVG5VMDANCNFSM5UKHGJXQ
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
*Eduardo Pedersen *
CEO - Founder
+595 972 496 046
@.*** @.***>

Hi, thanks for your reply.
About your question:

I'm using glusterFS as the file system.

I stopped the container using the Portainer "update" button.

Right now I created my uptime-kuma from scratch and I will monitor to see if it happens again to find something else that could lead me to the right track....

glusterFS

It is not support by SQLite database. Please use a normal disk.

Ops! that explain it everything, I will do that and only if I have similar issues again open a new ticket.
Thanks!

I just had the same error message, the Docker container could not be started anymore. The database was corrupted. Unfortunately, two Docker containers had probably accessed the database file at the same time, while one was not quite stopped yet and the second container was just started.
I was able to recover the database with the following steps.
Connect to db from bash
bash> sqlite3 kumadb
Run analyze to check for errors:
sqlite3> analyze;
sqlite3> .mode insert
sqlite3> .output /app/data/backup.sql
sqlite3> .dump
sqlite3> .exit
Rename the existing db to something else
bash> mv kuma.db kuma.db.original
import the dump file as your db
bash> sqlite3 kuma.db < mydb_export.sql
Run analyze again to check for errors. If there are no errors then good to go.


calling get_weth function problem in aave_borrow.py file

I got error when execute aave_borrow.py . I got error in the following line
"from scripts.get_weth import get_weth"
error
No module named scripts. get_weth
I solve this as follows:
I deleted line 3 in aave_borrow.py
and I paste this
def get_weth(account=None):
"""
Mints WETH by depositing ETH.
"""
account = (
account if account else accounts.add(config["wallets"]["from_key"])
)  # add your keystore ID as an argument to this call
weth = interface.WethInterface(
config["networks"][network.show_active()]["weth_token"]
)

How are you running the script?

brownie run scripts/aave_borrow.py --network kovan
or
brownie run scripts/aave_borrow.py --network mainnet-fork

hmm... I'm not able to reproduce this error.
Can you run python --version? And also what OS are you working on?

Python 3.8.8
NAME="Ubuntu"
VERSION="20.04.2 LTS

What version of brownie? I just tested on v 3.8.8 of python, ubuntu, 20.04.2 LTS and it still worked for me
Wondering what else might be going on. I don't think you should have to have a __init__.py in there.

Brownie v1.14.6

What happens when you put a __init__.py file in scripts? Does it work then?

it is working now ! Thank you sir!

Oh wow that did work huh. I guess I'll update this.
Thanks for making this issue!


Interval example: fix import

cgutils must be imported from numba.core

@EQt thanks for catching this one! It looks good to me so I am marking it as ready to merge.

For future reference: if you wanted to take this further, we recently established a way to include example snippets in such a way that they are tested.
Here is an example from:
https://github.com/numba/numba/blob/master/docs/source/reference/pysupported.rst
It goes like:
Here's an example using ``List()`` to create ``numba.typed.List`` inside a
jit-compiled function and letting the compiler infer the item type:

.. literalinclude:: ../../../numba/tests/doc_examples/test_typed_list_usage.py
   :language: python
   :caption: from ``ex_inferred_list_jit`` of ``numba/tests/doc_examples/test_typed_list_usage.py``
   :start-after: magictoken.ex_inferred_list_jit.begin
   :end-before: magictoken.ex_inferred_list_jit.end
   :dedent: 12
   :linenos:

Basically the snippet is in numba/tests/doc-examples so it will be automatically be picked up during testing. We then use a combination of literalinclude to select the file and magictoken (basically a marker in a python comment)  to cut out the correct part of the file to include in the docs.


[Go SDK] Implement State and Timer support

There's presently no mechanism to specify timers in the Go SDK, or use them at all. The work would be designing the user facing code, and mechanisms, and plumbing through timers properly. For ecample they can't be conflicting with other user facing constructs like Emitter functions and iterator functions.
However there's an abundance of work to handle before starting to deal with state and timers though.
While timers should work in batch, they're commonly more appropriate for streaming which the SDK doesn't support very well at the moment. DoFns need to be able to Self Checkpoint in order to behave as a streaming source (early checkpointing allows a bundle to self terminate, so it can be rescheduled later or as a minor way to split to multiple workers.). We should also implement Triggers and Advanced/Custom window fns first as those are simpler ways to get some of the advanced functions that timers allow for. We also need to be able to set and propagate the watermark correctly through the SDK (and validate that we do).
See the programming guide for a fuller description of State and Timers
https://beam.apache.org/documentation/programming-guide/#state-and-timers

Design an idiomatic Go approach to Timers and State processing for DoFns
** Go doesn’t support annotation like constructs, with the exception of struct field tags.
** Design likely requires new framework side marker types.
** Design likely requires using field tags.
** Needs to allow customization for state types. (easier post generics in Go, but an design that doesn’t require that would be viable sooner)

State concerns:
** Should support deferred batch reads of multiple states
** Needs to be expandable to handle ValueState, Combining State, and BagState

Timer concerns:
** Needs to handle Event and Processing Time timers.
** Dynamic Timer tags (likely the one and only way to handle Go SDK timers)
** Needs to introduce an “OnTimer” method, and associated validation.

Similar locations need changing relative to the Map Side Inputs https://issues.apache.org/jira/browse/BEAM-3293
On the execution layer, the new forms would need to be added like for exec/sideinput.go
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/sideinput.go
The inputs layer, for the actual abstraction using reflection:
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/input.go
But for specifically handling State (which leverages the state API in a more sophisticated way than Side Inputs do) and Timers. The State API manager implementation is handled in the harness https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/harness/statemgr.go
The funcx package would need to be updated to detect the new parameter forms
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/funcx/fn.go
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/funcx/sideinput.go
as well has the DoFn graph validation code
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/graph/fn.go#L566
They would need to be correctly translated into the pipeline protos:
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/graphx/translate.go#L315
and finally back to the newly created handlers in the exec package.
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/exec/translate.go#L402
The SideInputCache would need to be changed to be a full [UserState cache]https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/core/runtime/harness/harness.go#L101] as the state_caching protocol URN doesn't make a distinction between side inputs and user state, and we should not break behavior.
It's likely other changes are necessary to handle specifics for state and timers.
If implemented pre-generics, the code generator frontend, and backend would need to be updated to detect and generate code for efficient no-reflection overhead map access functions if necessary
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/util/shimx/generate.go
https://github.com/apache/beam/blob/master/sdks/go/pkg/beam/util/starcgenx/starcgenx.go
Unit must be added throughout and Integration tests should be added to verify the functionality against portable beam runners.
https://github.com/apache/beam/tree/master/sdks/go/test/integration/primitives
And of course, the user GoDoc should be updated for the support.
Imported from Jira BEAM-10660. Original Jira may contain additional context.
Reported by: lostluck.

Since this is rather large, I broke it down into 2 issues. These should be completed before marking this done:

[ ] #22736
[ ] #22737


New cname for couchdb-vm2, see INFRA-20435

Because of ASF Infra changes, couchdb-vm2.apache.org is going away and will be replaced by couchdb-vm before August 1st 2020.
This PR adds redirection through a new CNAME, logs.couchdb.org, for the logfile uploader.
It also uses repo-nightly.couchdb.org instead of couchdb-vm2.a.o.
This requires @janl to get the new CNAME in before this can land.

The machine is ready now and just needs the CNAMEs.


tests: set pipefail option in test script

Closes #356

Tests are expected to fail, pending https://github.com/yoshuawuyts/choo/pull/358

Two changes here actually. Had to update the shebang to use bash instead of sh so pipefail is available.

yay, thanks Ben :tada:


refactor(curriculum): sorting songs functionality in music player project

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Closes #53553

I found an issue with the sortSong function – calling the renderSongs function with it (renderSongs(sortSongs())) does not display the songs.
In step 26, the songs were still displayed:

By the time we had the renderSongs(sortSongs()) call in step 27, the songs were not displayed:

In step 35, the songs were displayed too and that's because we had renderSongs(userData?.songs) instead of renderSongs(sortSongs()):

Changing the call back to renderSongs(sortSongs()) did not display the songs:

In step 79, the songs were displayed for the same reason they were displayed in step 35:

When the preview of what to build was displayed in step 1, the songs were not displayed:

I found an issue with the sortSong function – calling the renderSongs function with it (renderSongs(sortSongs())) does not display the songs.
In step 26, the songs were still displayed:

By the time we had the renderSongs(sortSongs()) call in step 27, the songs were not displayed:

In step 35, the songs were displayed too and that's because we had renderSongs(userData?.songs) instead of renderSongs(sortSongs()):

Changing the call back to renderSongs(sortSongs()) did not display the songs:

In step 79, the songs were displayed for the same reason they were displayed in step 35:

When the preview of what to build was displayed in step 1, the songs were not displayed:

Hey @Ksound22 !
Thanks for catching that.
The sorting function was missing the return value so I added a step for that and updated the seed code.
I also updated the seed code for the steps that were using the old renderSongs(userData?.songs) to replace it with the new function.
Tested it locally and we should be good now 👍


Add Binary data type

As titled.
Closes: #656.

I've changed our initial idea of using a marker Binary class as it was confusing in the resulting json output. I've updated the compiler to accept the native typescript ArrayBuffer type and output an internal custom binary type.


feat: API  to run application

feat:  add API to run application
fix: change the field name 'fileName' to 'filePath' in the JavaDebugResolvedMainClass

Added a comment here: https://github.com/nvim-java/nvim-java/issues/4#issuecomment-1873354020


Show HP bar above player after being hit

Reviewed files:

source/BonusList.cpp @ r1
source/Defines.h @ r1
source/Player.cpp @ r1
source/Player.h @ r1
source/Render.cpp @ r1
source/Render.h @ r1

Comments from the review on Reviewable.io


double-beep: Watch iranranks.com

double-beep requests the watch of the watch_keyword iranranks\.com. See the MS search here and the Stack Exchange search here.

iranranks\.com has been seen in 1 true positive, 0 false positives, and 0 NAAs.

Approved by Makyen in Charcoal HQ


Create momo and bank quotation

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

...perations/create_momo_and_bank_payout_quotation.rs
100.00% <100.00%> (ø)

src/payouts/types/quotation.rs
100.00% <100.00%> (ø)


[CLI]: API update delay

Describe the bug

I have some runs finished with some config names, and when I used the wand API to retrieve them, I found the wand API was not able to get all the runs up to date. I wonder whether it has config to sync with the least status with the web app.

Additional Files
No response
Environment
WandB version:
OS:
Python version:
Versions of relevant libraries:
Additional Context
No response

Hi @liuyixin-louis! Thank you for writing in!
Could you please send me the workspace of the runs you are trying to pull up using the API? What field are you searching by? Could you also send the toy script of you using the api?

Hi, thanks for your reply; yes, I can share it; I masked some fields for privacy, but the structure is the same. So for me i find it can pull the right results after waiting for a while, ~10 min i remembered. The code mainly try to get the mean of some runs that have the same certain config.
dataset_name="XXX"
runs = api.runs("XXX", {"State": "finished",'config.dataset_name':dataset_name, "config.exp_name": "XXX"})
prompt2scoredict_dict = {}
import os
import numpy as np
import pickle as pkl
def all_reduce_metrics(runs, value =False):
    for run in runs:
        if 'restult_artifact_name' not in run.summary:
            continue
        art_name=  run.summary['restult_artifact_name']
        artifact = api.artifact(f'XXX'+art_name+":latest")
        if not os.path.exists(artifact.file()):
            artifact.download()

        # file = None
        with open(artifact.file(), 'rb') as f:
            file = pkl.load(f)
        prompt2scoredict_dict[run.config['instance_name']] = file['propmt2score']
    reducer = {}
    for instance in prompt2scoredict_dict:
        for prompt in prompt2scoredict_dict[instance]:
            for metric in prompt2scoredict_dict[instance][prompt]:
                if metric not in reducer:
                    reducer[metric] = []
                reducer[metric]+=prompt2scoredict_dict[instance][prompt][metric]
    print(f'all reduce over {len(prompt2scoredict_dict)} instances')
    if value:
        return {k: np.mean(v) for k,v in reducer.items()}
    return reducer
metrics = [
    'M1',
    'M2'
    ]
def reduce_over_one_variable(runs, control = 'note', metric_subset=None):
    runs_note_unique_list = list(set([run.config[control] for run in runs]))
    res_over_control = {k:{} for k in runs_note_unique_list}
    runs_over_control = {k:[] for k in runs_note_unique_list}
    for run in runs:
        runs_over_control[run.config[control]].append(run)
    for k in runs_note_unique_list:
        print(k)
        res_over_control[k] = all_reduce_metrics(runs_over_control[k], value = True)
    if metric_subset is not None:
        return {
            k: {metric: res_over_control[k][metric] for metric in metric_subset} for k in res_over_control
        }
reduce_over_one_variable(runs, control='note', metric_subset=metrics)

Thank you so much for sending it over @liuyixin-louis! That is very much appreciated and I will take a look.
How many runs per project do you currently have? Would you be able to share the workspace with me? It is strange that it takes a while to update. Are you running sweeps or regular wandb runs?
Also what version of wandb are you using?

@ArtsiomWB Thank you for your response. My current run number for this project is 3647. and yes i can share the workspace (code and wandb log), can you give me your wandb account or email? I was not using any sweeps feature i think it's just regular wandb runs. My wandb version is 0.16.6.

Totally!
Could you please send it to<EMAIL_ADDRESS>

Hi artsiom, so i found that the problem is gone these days. Thank for helping!


FLINK-2740 Adding flink-connector-nifi module with NiFiSource and NiF…

To test with a live NiFi instance, do the following:

Download the latest 0.3.0 release: https://nifi.apache.org/download.html

Extract it somewhere and edit conf/nifi.properties to set
nifi.remote.input.socket.port=9081
nifi.remote.input.secure=false

./bin/nifi.sh start

Go to http://localhost:8080/nifi/ in your browser

Click the templates icon in the top right

Click Browse and select the template in src/test/resources, click Import

Drag a new template on to the canvas using the Template icon near the top left

Press the green Start icon in the toolbar to start all processors

Run either the NiFiSourceTopology to pull data from NiFi, or the NiFiSinkTopology to push data

The NifiSource-/Topology are just examples, right? If so, could you add Example to the names? We could also unify both into a single example.

I will add Example to the topology class names, do you prefer they live in src/test/resources so they don't get included in the final jar? Wasn't sure because I saw another connector had something similar in src/main/resources.
Also, I suspect the failed build is related to the template file I put in src/test/resources, I will add a license header to that file which hopefully solves that problem.

Thank you for your contribution.
You can also check whether the build is passing by executing mvn clean verify locally.
Speaking about tests: is there something like a local Nifi runner which starts Nifi within the JVM?
Other systems we integrate with (HDFS, YARN, elasticsearch, kafka) have integration tests that are implemented like that. It would be great to have such a test for the Nifi connector as well.

Which connector has the examples in src/main/resources ? I think its okay to put the examples into the src/main/java folder.

Good to know, I'll do a full clean verify on the next update.
Regarding tests, I don't think we have plans to support running an embedded instance of NiFi for full on IT tests. We currently have a mock framework for testing processors with in NiFi, but we could potentially provide a mock implementation of the SiteToSiteClient which would help a lot for these cases, and would be useful for us in general, besides just the Flink integration.
If we were going to provide that, then we would likely need to wait until the next NiFi release (0.4.0) before finalizing this work, unless we incorporated that directly into src/test/java of the flink-connector-nifi module, and removed it later when it was generally available.
Sorry, I mistyped before and meant to say other connectors had topologies in src/main/java, twitter and rabbitmq. So it sounds like it is fine to leave the NiFi topology examples there.

Okay, I see. I think it is fine to merge the Nifi connector without a test if there is no infrastructure for automated testing available.

I followed the tutorial for Nifi that you posted into the pull request. Thanks a lot for the good instructions. I was able to start it and get it to run in a few minutes.
However, when starting the source topology, I got the following error:
10/01/2015 12:23:47	Source: Custom Source -> Map -> Sink: Unnamed(2/8) switched to RUNNING
10/01/2015 12:23:47	Source: Custom Source -> Map -> Sink: Unnamed(4/8) switched to FAILED
java.lang.NullPointerException
	at org.apache.flink.streaming.connectors.nifi.NiFiSource.run(NiFiSource.java:65)
	at org.apache.flink.streaming.api.operators.StreamSource.run(StreamSource.java:57)
	at org.apache.flink.streaming.runtime.tasks.SourceStreamTask.run(SourceStreamTask.java:57)
	at org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:198)
	at org.apache.flink.runtime.taskmanager.Task.run(Task.java:579)
	at java.lang.Thread.run(Thread.java:745)

it seems that the final Transaction transaction = client.createTransaction(TransferDirection.RECEIVE); call is returning null.
This is what my NiFi screen looks like: http://i.imgur.com/FDFgrdu.png

Working on updates to address the feedback... Regarding the NullPointerException, I'm going to protect against that in the code, but I'm still trying to think of why you ran into that.
Did you set nifi.remote.input.socket.port in nifi.properties?
I was able to produce that NPE when I did not set this property.
Could you also see if any errors are showing up in  NIFI_HOME/logs/nifi-app.log at the same time?

Thank you for looking into it.
Your analysis was right: I've accidentally put the port into the host parameter nifi.remote.input.socket.host=9081.
After I've changed it, everything was working: https://www.youtube.com/watch?v=ylnv5p5Ddk8
In my local setup, it seems that only one of my 8 parallel instances of the source are actually reading data. I suspect that Nifi is delivering data only to one reader.
How would that work in a cluster? How does Nifi know that all the Flink NifiSources connecting to Nifi belong to the same system?

I think the example data flow in NiFi is producing data fairly slowly, this is based on the scheduling tab of the GenerateFlowFile processor being set to 2 secs. We could set this to 0 sec to start really going by stopping the processor, right-clicking and selecting Configure.
The SiteToSiteClientConfig has options to set batch count but the example isn't setting it so it is using some default, and the first instance of the source probably runs and pulls all the available data, and when the second instance runs nothing is left.
If you set the batch count lower in the example, like this:
SiteToSiteClientConfig clientConfig = new SiteToSiteClient.Builder()
			.url("http://localhost:8080/nifi")
			.portName("Data for Flink")
			.requestBatchCount(5)
			.buildConfig();

and then have more than 5 flow files queued in NiFi when you start the source topology, I think the other instances will start pulling as well. This seemed to work for me using parallelism of 2, but of course let me know if you are seeing something different.

I realized I didn't fully answer your question about how that works in a cluster... the SiteToSiteClient knows about all the nodes in the NiFi cluster and will pull from the output port on each node. Same concept on the sending side, it will distribute the data to different nodes in the cluster, sending more data to nodes that are considered less busy. The SiteToSiteClient is what we use internally for two NiFi instances/clusters to communicate with each other.
Regarding how they know they belong to the same system, technically they don't, and other non-Flink clients could pull from that same port, but we have to hope that if an organization is using Flink and NiFi they would be ensuring that port was only being used by this specific Flink streaming process, and there could be multiple output ports to support multiple Flink streaming processes pulling.
There is also the option to secure a NiFi instance with SSL, and then provide SSL credentials to the SiteToSite client in order lockdown NiFi so that only authorized clients can pull/push data.

Each Flink streaming job/process would pull from a different port, the port name is specified in the SiteToSiteClientConfig for the source:

Great. Thank you for your answers. I  think its fine to let users deal with cases when multiple systems want to consume data from a NiFi flow.
Once my in-code comments are addressed, the code is good to merge in my opinion.

Ah, you've addressed my feedback. I should refresh my browser before commenting ;)
So +1, good to merge

I'm going to merge this PR ...


Error in dashboard-nvim

A similar error happens when a window is split in dashboard-nvim, below is the trace:
msg_show.lua_error E5108: Error executing lua: vim/_editor.lua:0: nvim_exec2(): Vim:Error executing Lua callback: ....local/share/nvim/lazy/lazy.nvim>
stack traceback:
        [C]: in function '__newindex'
        ...share/nvim/lazy/focus.nvim/lua/focus/modules/resizer.lua:116: in function 'split_resizer'
        ...tin/.local/share/nvim/lazy/focus.nvim/lua/focus/init.lua:97: in function 'resize'
        ...share/nvim/lazy/focus.nvim/lua/focus/modules/autocmd.lua:43: in function <...share/nvim/lazy/focus.nvim/lua/focus/modules/autocmd.lua:37>
        [C]: in function 'nvim_open_win'
        ....local/share/nvim/lazy/lazy.nvim/lua/lazy/view/float.lua:118: in function 'mount'
        ....local/share/nvim/lazy/lazy.nvim/lua/lazy/view/float.lua:63: in function 'init'
        .../.local/share/nvim/lazy/lazy.nvim/lua/lazy/view/init.lua:53: in function 'create'
        .../.local/share/nvim/lazy/lazy.nvim/lua/lazy/view/init.lua:38: in function 'show'
        ...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:38: in function 'command'
        ...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:24: in function 'cmd'
        ...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:108: in function <...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:95>
        [C]: in function 'nvim_exec2'
        vim/_editor.lua: in function 'cmd'
        ...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:23: in function <...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:20>
stack traceback:
        [C]: in function 'nvim_open_win'
        ....local/share/nvim/lazy/lazy.nvim/lua/lazy/view/float.lua:118: in function 'mount'
        ....local/share/nvim/lazy/lazy.nvim/lua/lazy/view/float.lua:63: in function 'init'
        .../.local/share/nvim/lazy/lazy.nvim/lua/lazy/view/init.lua:53: in function 'create'
        .../.local/share/nvim/lazy/lazy.nvim/lua/lazy/view/init.lua:38: in function 'show'
        ...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:38: in function 'command'
        ...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:24: in function 'cmd'
        ...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:108: in function <...cal/share/nvim/lazy/lazy.nvim/lua/lazy/view/commands.lua:95>
        [C]: in function 'nvim_exec2'
        vim/_editor.lua: in function 'cmd'
        ...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:23: in function <...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:20>
stack traceback:
        [C]: in function 'nvim_exec2'
        vim/_editor.lua: in function 'cmd'
        ...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:23: in function <...re/nvim/lazy/dashboard-nvim/lua/dashboard/theme/doom.lua:20>

Thanks!

I think this is a duplicate of #145. @willothy already fixed it, but I didn't create a tag with the fixes. I've done that now.

Yes, fixed.


cleansed visitor activity types

@drewbanin take a look. all of these are deployed in our redshift currently. am going to start working on analysis on top of them shortly.

@jthandy  one thing noted but otherwise looks good to me

I've been thinking about that those create schema commands. I don't think this is a good place for them, if they are in fact needed. I'm going to remove them and we can figure out about construction / teardown of these views later.


[MonorepoBuilder] Add option for maximum number of parallel processes to split command

This pr adds an option to limit the maximum number of parallel processes for the repository split. I came accross the problem that one of my monorepos has 19 packages and the split fails most of the time. I think this is because of resource limits of my server, so one option would be to fix this on the server side but I thought it would be a good option to have anyways. And it works for me, so I don't have to struggle with my server settings. :wink:
For me, a limit of 10 still works, everything above causes at least one process to fail most of the time. This is very annoying when you perform the split as part of the ci. :wink:
This patch solves this issue for me.
The current output is not perfect since it waits during process creation whenever the maximum number of processes is reached and after all processes were created it prints [OK] Running XX jobs in parallel where XX now only reflects the number of the last chunk of processes.
I think this is a minor smell but maybe you have an idea to improve this.

I have to leave now but I will do the changes later today. Thanks for the really quick response and comments. :+1:

It seems this stopped working with Symfony 5, no idea why.

@TomasVotruba I think the bug was introduced here: https://github.com/Symplify/Symplify/commit/d7dfd46280de8261d2befa688040e85d3490545b#diff-809107f5ec9048f00586bbd5a2f2666f
Looking at the build output (https://travis-ci.org/Symplify/Symplify/jobs/616037943#L487) there seems to be a bug in waiting for the processes to finish. The output should be [OK] Running 7 jobs in parallel because of the smell I described in the description of this pr:

The current output is not perfect since it waits during process creation whenever the maximum number of processes is reached and after all processes were created it prints [OK] Running XX jobs in parallel where XX now only reflects the number of the last chunk of processes.

But it actually says there are currently 14 active processes to wait for, so it is not waiting for processes to finish after 7 processes have been started.
Looking at https://github.com/Symplify/Symplify/commit/d7dfd46280de8261d2befa688040e85d3490545b#diff-809107f5ec9048f00586bbd5a2f2666fR76 and https://github.com/Symplify/Symplify/commit/d7dfd46280de8261d2befa688040e85d3490545b#diff-809107f5ec9048f00586bbd5a2f2666fL78 it might have been a copy'n'paste error.
I assume it is just too many concurrent processes for the build machine and so they are blocking each other causing at least one process to timeout.


feat(tekton): Add property locking support

PR summary
Add support for locking properties in Tekton pipelines. When enabled, this prevents a property from being over-ridden at trigger level or when running the Pipeline.
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

Does this PR introduce a breaking change?

[ ] Yes
[x] No

:tada: This PR is included in version 1.5.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


cue: definition returned via LookupDef is not closed

What version of CUE are you using (cue version)?

$ cue version
v0.3.0-alpha4.0.20201022063748-aee9955c790b

Does this issue reproduce with the latest release?
Yes
What did you do?
-- cue.mod/module.cue --
module: "mod.com"
-- go.mod --
module mod.com

go 1.16

require (
	cuelang.org/go v0.3.0-alpha4.0.20201022063748-aee9955c790b
	github.com/rogpeppe/go-internal v1.6.2-0.20200830194709-1115b6af0369 // indirect
)
-- main.go --
package main

import (
	"fmt"

	"cuelang.org/go/cue"
	"cuelang.org/go/cue/load"
)

func main() {
	bps := load.Instances([]string{"."}, nil)
	is := cue.Build(bps)
	i := is[0]

	runSpec := i.LookupDef("#runSpec")
	v := i.Lookup("v")

	if err := runSpec.Err(); err != nil {
		panic(err)
	}
	if err := v.Err(); err != nil {
		panic(err)
	}

	res := runSpec.Unify(v)

	if err := res.Validate(cue.All()); err == nil {
		fmt.Println("MATCH")
	} else {
		fmt.Printf("err: %v\n", err)
	}
}
-- x.cue --
package x

#runSpec: {action: "run", command: [...string]}

v: {ction: "run", command: ["echo", "hello"]}

What did you expect to see?
Per v0.2.2:
err: #runSpec: field "ction" not allowed in closed struct

What did you see instead?
MATCH

cc @shykes

Further detail (having just spent an afternoon chasing a similar problem): this was actually working in v0.3.0-alpha1, but was then broken in v0.3.0-alpha2

Per offline chat, bisected this to https://cue-review.googlesource.com/c/cue/+/6742

A workAround for now is to explicitly specify the closed set:
	res := runSpec.UnifyAccept(v, runSpec)

The old API didn't check closedness as much as the new evaluator did and thus having a full-on closedness evaluation was breaking a lot of code. I could see if I can make this particular case work, though.  For now, you can use the above code to explicitly force the closedness check.

Confirmed that UnifyAccept does appear to be something of a workaround, although it does give some rather interesting error messages 😄
#Guide: field `Banana` not allowed by Acceptor'

That's indeed interesting, as Banana doesn't appear in the example.
Acceptor is the name of the argument in the API. But maybe it could indeed take the vertex name or path.

That's indeed interesting, as Banana doesn't appear in the example.

Ha ha! As you probably guessed, that's me quoting from another example 😄

This issue has been migrated to https://github.com/cue-lang/cue/issues/567.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Lab 03b - "Free user cannot apply model changes" error when trying to add relationships

Module: Create a medallion architecture in a Microsoft Fabric lakehouse
Lab/Demo: 03b
Task: Create a dataset
Step: 03
Description of issue
When trying to add the table relationships, I get an error:
Free User cannot apply model changes, upgrade to PowerBI Pro.
I verified the "data model settings" change in the earlier portion of the lab was applied.
https://learn.microsoft.com/en-us/fabric/get-started/fabric-trial#users-who-are-new-to-power-bi
I set this up on a new account, with no Power BI license, associated with an account I created in my existing Azure subscription. I followed these steps to enable my Fabric trial...so I would expect to have a Power BI Free license.
https://learn.microsoft.com/en-us/power-bi/consumer/end-user-features#feature-list
This table shows that I should be able to edit datasets in my workspace with a Free license.
It's not clear if the Power BI license & the Fabric license are separate, or if a (Fabric) Trial license should have the same functionality as a (Power BI) Free license.
If this is a service-side bug & not the expected behavior in Fabric, please let me know and I'll report it via their support channel.
Repro steps:

Follow steps in this section: https://microsoftlearning.github.io/mslearn-fabric/Instructions/Labs/03b-medallion-lakehouse.html#create-a-dataset
Hit error when trying to add any relationship between dimension & fact tables

Hi Mark - this is a product issue. We have alerted the product team. Thanks for raising it here!


UITextView inside UICollectionView not scrolling when using StackTransformView

Alright this is a bit weird let me see if I can explain it well enough. I think it is fairly easy to replicate also.
Basically when using the StackTransformView if you have a UITextView that is suppoused to scroll then it won't detect the touch on the second cell and onwards and you won't be able to scroll.
Looking at it more closer I decided to check the example.
I decided to add the event to detect when a cell is selected in ShapesViewController like this:
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
        if collectionView == self.collectionView {
            print("Clicked cell at")
            print(indexPath)
        }
}

Now when trying the ScaleTransformView examples or SnapshotTransformView when you tap on the second cell the output will in console will be Clicked cell at [0, 1] if you tap the third then it should be Clicked cell at [0, 2].
But when doing the same with StackTransformView the output is always the same Clicked cell at [0, 0].
It seems as if the animation to change cell is done and the contentview of the cell is moved and animated but the first cell is always in the front capturing the touches.
Another way to see this is by replacing the ImageView in the ShapeCardView.xib stackView for a TextView. Because the first cell seems to be always in the front capturing the touches you won't be able to scroll text on the second or third cell and so on.
It is kind of weird and I tried to look into it but have no idea what is going on.
Surprisingly if we apply our own transform into TransformableView like it is done on the credit card example in  CardCollectionViewCell this problem is not there and touches go to their respective cells and scrolling is possible in the text view.

After playing a bit more around with it I think the problem comes from the func zPosition(progress: CGFloat) -> Int in StackTransformView.
If I ignore the option stackOptions.reverse , comment everything and in this method just return the default return Int(-abs(round(progress))) scrolling works perfectly on the textview inside the collection view cells. But when doing this the reverse breaks so I can only use normal configuration that do not need the reverse option being true.
Same happens if I decide to override the zPosition method with an extension on the collectionviewcell class.
Hopefully this helps.

Hi, thanks for adding this issue.
I think your right when stackOptions.reverse is true, zPosition should be calculated differently,
I'll come back to this in a couple of days

Okay, I needed to explain this in the limitations section but I didn't, my bad.
the way that this layout works is putting all the cells in the collectionview bounds (doesn't matter which TransformView you use)
and then it applies transforms on the target view (StackTransformView.cardView, ScaleTransformView.scalableView etc)
so basically you cannot use func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
because all cells always are on top of each other and the first visible cell is always on the top that's why you always get [0, 0]
this is a downside however it gives you more flexibility to work with the view like using auto layout and more.
now there is a simple solution for selecting cells and that is adding a tap gesture to the view inside your cell! (I added more info at the end of this comment).
If you want to handle touch gestures for multiple cells at the same time you need to somehow disable touch on your cell.contentview and then it passes the touch gesture to the next view which is your next cell.
I haven't tested that because I didn't need it but I think it's doable.
If you don't need to handle touch gestures on multiple cells at the same time you can always override func zPosition(progress: CGFloat) -> Int in you cell and return a higher number for the cell that you want to be responsible for touch gestures.
for handling select at indexPath you can use the future version branch,
you need to specify the branch in your podfile:
pod 'CollectionViewPagingLayout', :git => 'https://github.com/amirdew/CollectionViewPagingLayout.git', :branch => 'macApp'

you just need to set a delegate for the layout and call a method(configureTapOnCollectionView(goToSelectedPage:)).
then you get a similar method for selecting the cell:

class YourViewController {
    func setupCollectionView() {
        let layout = CollectionViewPagingLayout()
        layout.delegate = self
        collectionView.collectionViewLayout = layout
        layout.configureTapOnCollectionView(goToSelectedPage: true)
    }
}

extension YourViewController: CollectionViewPagingLayoutDelegate {
    func collectionViewPagingLayout(_ layout: CollectionViewPagingLayout, didSelectItemAt indexPath: IndexPath) {
        print(indexPath)
    }
}

I added a bullet point and explained the limitation with touches
I close this issue but feel free to reopen it if you have any question


PROPOSAL: Allow hiding part of the stack trace

Taking inspiration from how pkg/errors is meant as a drop-in replacement for the standard errors package, I have created an errors package that's specific to a larger project I'm involved in. That makes it easy to customize error behavior in the future. This package is mostly thin wrappers around pkg/errors.
The one downside to this is the stacks end up with an extra layer. Obviously I could fix that, but as far as I can tell it would require a fair amount of code duplication with pkg/errors.
I think there is a fairly easy way around this though; add an exposedStack *stack to withStack{}, and allow for callers to modify the boundaries of exposedStack. By default, exposedStack would be stack[:] so everything would work as today.
I think this would also make it easier for someone to satisfy #111, since they wouldn't need to duplicate any of the printing or other interfaces.

Thanks you for your proposal. I can see what you want to do, but not how
to do itm can you show some code to demonstrate what happens today, and
what could be changed to address that in the future.
Thanks
Dave
On Sat, 5 Aug 2017, 03:05 Jim Nasby<EMAIL_ADDRESS>wrote:

Taking inspiration from how pkg/errors is meant as a drop-in replacement
for the standard errors package, I have created an errors package that's
specific to a larger project I'm involved in. That makes it easy to
customize error behavior in the future. This package is mostly thin
wrappers around pkg/errors.
The one downside to this is the stacks end up with an extra layer.
Obviously I could fix that, but as far as I can tell it would require a
fair amount of code duplication with pkg/errors.
I think there is a fairly easy way around this though; add an exposedStack
*stack to withStack{}, and allow for callers to modify the boundaries of
exposedStack. By default, exposedStack would be stack[:] so everything
would work as today.
I think this would also make it easier for someone to satisfy #111
https://github.com/pkg/errors/issues/111, since they wouldn't need to
duplicate any of the printing or other interfaces.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pkg/errors/issues/129, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAcA6MB-hhnwXb2TZRHAOnODjqf-FrHks5sU09TgaJpZM4Ot9ev
.

I think there would need to be a func SetStackBounds(start,end int) that found the first error that had a stack trace and adjusted it's stack trace accordingly. For withStack{}, this might look like....
type withStack struct {
    error
    *stack
    originalStack *stack
}

func (w *withStack) SetStackBounds(start,end int) {
    *w.stack=*w.originalStack[start,end]
}

I am in a similar boat as @decibel and would love to see this addressed.  Another implementation of this approach, https://github.com/go-errors/errors/blob/master/error.go#L93, has a parameter to accomplish saving only a subset of the stack.  There are at least two other implementations of this need that I have seen and I am hoping that we can all standardize on a single one (ideally, this one) :)

To be clear, the reason this is not done is I do not know an algorithm for
gluing together two chains of program counters. This is the roadblock for
this issue.
On 23 May 2018 at 05:12, Farhan Ahmad<EMAIL_ADDRESS>wrote:

I am in a similar boat as @decibel https://github.com/decibel and would
love to see this addressed. Another implementation of this approach,
https://github.com/go-errors/errors/blob/master/error.go#L93, has a
parameter to accomplish saving only a subset of the stack. There are at
least two other implementations of this need that I have seen and I am
hoping that we can all standardize on a single one (ideally, this one) :)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/pkg/errors/issues/129#issuecomment-391107834, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcAxOOrjyb1EUq86_1BZIH8CJl0hn6ks5t1GMjgaJpZM4Ot9ev
.

A simple option is to add functions like WrapSkip(err error, message string, skip int) error and pass the skip value down to callers() and add it to the hard-coded 3. It seems the Go 2 errors proposal was reduced to only contain the point the error was created rather than a stack trace, so this package probably still has a place after it and might even want to support it's interfaces to integrate with it.

Here's an untested implementation of this: https://github.com/segevfiner/pkg-errors/tree/stack-skip
An alternative is to have stuff like WrapOptions(err error, message string, opts Options) error so we can add other stuff in the future.
Should this look acceptable I can send it in as a PR.

Here's an untested implementation of this: https://github.com/segevfiner/pkg-errors/tree/stack-skip
An alternative is to have functions like WrapOptions(err error, message string, opts Options) error so we can add other stuff in the future.
Should this look acceptable I can send it in as a PR.

Here's an untested implementation of this: https://github.com/segevfiner/pkg-errors/tree/stack-skip
An alternative is to have functions like WrapOptions(err error, message string, opts Options) error so we can add other stuff in the future.
Should this look acceptable I can send it in as a PR.

Really need this, It's easy to implement some common error-processing operations.


Wrong index reference in file tail

https://github.com/splunk/splunk-connect-for-kubernetes/blob/27b2308371c38d34189c271b6d676014bf726165/helm-chart/splunk-connect-for-kubernetes/charts/splunk-kubernetes-logging/templates/configMap.yaml#L319
IMO instead of .record.index  it should be .record.splunk_index.
Otherwise I don't receive the audit logs because of "TcpOutputProc - Pipeline data does not have indexKey."

it has been fixed. please use the latest version. thank you.
https://github.com/splunk/splunk-connect-for-kubernetes/commit/51e2fa6e3c9915504e661864565d52047541602e#diff-875e8d2016f8ed2c8bf60dfb37a8b1b29b76655270cde0e9e67472125993dd7d


animation added for sign up login process

Pull Request
Fixes #173
Implemented a loading state to indicate whether a login/signup process is ongoing. Utilized conditional rendering to display a spinner until the process completes after a user click. The spinner is styled with the primary color to seamlessly integrate with the website's accent, ensuring a cohesive visual experience.

[x] I have tested my changes.
[X] My code follows the project's coding standards.
[ ] I have updated the documentation (if applicable).

On clicking Sign Up
https://github.com/ani1609/Spendwise/assets/64408989/7b319b7b-61b5-4b89-ac72-bee7d5369a89
On clicking Log in
https://github.com/ani1609/Spendwise/assets/64408989/f9b02d25-73da-4b14-91eb-c986b423f259
Here is a recording with a 1s delay to properly view the animation
https://github.com/ani1609/Spendwise/assets/64408989/9f64ba85-fb2f-41e1-9523-46925b16f434

@GautamRaj-12 why is the signup form coming up once again after clicking the submit button?

@GautamRaj-12 you also need to handle the edge cases (invalid email or password, passwords do not match and user already exists)

Ok.. tell me. That will be helpful..

ok @ani1609

Login - Invalid Username or Password
https://github.com/ani1609/Spendwise/assets/64408989/9ea04601-fdb5-42a6-868f-0a2437374c60
Login - Successful Login
https://github.com/ani1609/Spendwise/assets/64408989/7d4a006f-8aa8-4443-aad3-c7d2f1713aac
Signup - User Already exists
https://github.com/ani1609/Spendwise/assets/64408989/3c818bfe-0579-4256-b61c-2e049deb2491
Signup - New User Registered
https://github.com/ani1609/Spendwise/assets/64408989/9039ba1c-ea63-49df-9802-635ad63099f4
Signup - Passwords do not match - Animation happens too fast to be seen properly
https://github.com/ani1609/Spendwise/assets/64408989/4be2750a-60f5-43c5-9cc7-f4d2a85d07ba
Signup - Passwords do not match - Some delay using setTimeOut to see the spinner (Not implemented in actual code, just for visualising)
https://github.com/ani1609/Spendwise/assets/64408989/c3a845e5-4ac1-4695-8dda-3b0d23d8473e


TEST_FORMATTING does not fail with Error: Docker login for 'ghcr.io' failed with exit code 1

https://github.com/i4Ds/Karabo-Pipeline/actions/runs/4403177365/jobs/7711217264

@kenfus I don't see why this is an issue. I've just seen it fail once and if so, then there is nothing I can do about that.

Ah ok, so it's just an error which happens sometimes with docker images?

I saw this issue for the first time. I'm not sure whether this is a registry, or a github workflow issue. But there is nothing to do about that as long as our tests rely on docker.


Memory leak / unlimited caching kills the server

Bug Description
The connection (pool) "remembers" the query with the biggest memory size. It means when you insert some binary data (e.g. 100 MB) then it doesn't free the memory even though the data are already stored in the database.
I've tried to call persistent(false) or set various settings like max_lifetime but nothing really helped.
I've noticed the bug because my Rust app that uses sqlx through SeaORM was crashing on the server with the error "out of memory". The app uploads temporary binary data (~1-40MB) to Postgres and it allocates hundreds of MBs because of the sqlx bug until I set the maximum number of connections to a lower number with aggressive short lifetime and min_connections 0.
I've tried to debug it by myself by no luck unfortunately.
Minimal Reproduction
https://github.com/MartinKavik/sqlx-memory-debug
(instructions + a screenshot  in the README)
Info

SQLx version: 0.6
SQLx features enabled: [ "runtime-tokio-rustls" , "postgres" ]
Database server and version: Postgres 13.5 or newer (other DBs not tested)
Operating system: desktop Kubuntu, server Ubuntu
rustc --version: rustc 1.67.1 (d5a82bbd2 2023-02-07)

Thank you!

Since postgres 15.2 my application grows in terms of memory consumption (2.5 GB)

@abonander Thanks for detailed and interesting response!

You could also push smaller chunks with separate queries in a transaction.

Yes, it was my first workaround but I didn't like the changed app code.

However, if you're just using the pool directly

sqlx is hidden under the SeaORM layer in my case so basically no direct access is possible.

As for a real solution, I'm not sure. We certainly could be smarter about how we manage the connection buffers, perhaps tracking the actual capacity we're using over time and shrinking it if it's not being used. That logic could probably live here, though we likely don't want to do that every flush as that could cause a lot of thrashing in the allocator.

I was "playing" with the code in write_and_flush.rs but changing capacity of the buffer didn't come to my mind for some reasons :facepalm:
I've tested my app with slightly modified code in that file:
// ...
impl<'a, S> Drop for WriteAndFlush<'a, S> {
    fn drop(&mut self) {
        let buf_vec = self.buf.get_mut();
        // clear the buffer regardless of whether the flush succeeded or not
        buf_vec.clear();
        buf_vec.shrink_to(512);
    }
}

and so far it seems to work as expected :+1:
512 seems to be the default capacity and it's enough for almost all queries according my manual testing with my app.
If anybody want to test it, the change is in my fork, in the branch created from the tag 0.6.2:
[patch.crates-io]
sqlx-core = { git = "https://github.com/MartinKavik/sqlx", branch = "fix/buf_limit_512_from_v062" }

I can image I/we can just add that .shrink_to call with 512 constant replaced with a configurable (env?) variable to resolve this issue until proper solution is designed because it seems to be a bit edge-case but still a blocking edge-case for people like me. What do you think?

I'm adding a .shrink_buffers() method to Connection but it's going to have to land in 0.7.0 because we're in the middle of an alpha cycle for that release.


Three category Section - get all products in the three categories, limit 5, continuous scroll

I am interested in this

@ayomichaels , EDD is wednesday morning. Thanks


testing deploy

feat: implemented Remix server adapter and runtime for Netlify
chore: added the demo edge site to test the Netlify remix server adapter
chore: added default remix config for the Netlify adapter
chore: remove extension from import
chore: added some more defaults to the default remix config
Update packages/remix-server-adapter/src/globals.ts
chore: renamed '@netlify/remix-server-adapter to @netlify/remix-adapter
chore: fixed globals
chore: forgot to commit updated package lock
chore: configured project to deploy edge demo site
chore: renamed remix-server-runtime to remix-runtime
chore: renamed remix-adapter to remix-edge-adapter
chore: fixed lint errors
chore: automatic prettier formatting
chore: avoid husky in CI
chore: avoid husky in CI (again)
test: added E2E tests
chore: react 18 hydration errors in Cypress handled now
chore: clarified a comment
chore: added GH workflow for Cypress
chore: trying an if-env fix again

Description
Related Tickets & Documents

Related Issue #
Closes #

QA Instructions, Screenshots, Recordings
Please replace this line with instructions on how to test your changes
For us to review and ship your PR efficiently, please perform the following steps:

[ ] Open a bug/issue before writing your code 🧑💻. This ensures we
can discuss the changes and get feedback from everyone that should be involved.
[ ] Read the contribution guidelines 📖. This ensures your code follows our style
guide and passes our tests.
[ ] Update or add tests (if any source code was changed or added) 🧪
[ ] Update or add documentation (if features were changed or added) 📝
[ ] Make sure the status checks below are successful ✅

A picture of a cute animal (not mandatory, but encouraged)

deploy testing complete.


Uncaught TypeError: window.CodeMirror is not a function while running PySheets in local server

When I go to local server website and click on the sheet's after running the pysheets command on my computer, there is an error message: Uncaught TypeError: window.CodeMirror is not a function

It works on Firefox but doesn't work on Google Chrome.


[ONBOARDING] General Member - Optum / UnitedHealth Group

TODO General Member Onboarding
This is an issue created to onboard new TODO Group General Members.
Organization
Optum/UnitedHealth Group
Members

Destiny Babjack (primary)

Contact Information

[ ] For each representative of the General Member company, collect the
following:

name
pronouns
company email address
GitHub username
whether or not the representative is the primary contact for the company

[ ] Update the members list to included the collected contact information

[ ] administration repo
[ ] governance repo

Communication channels
Ensure that member representatives have joined the following:

[ ] TODO Group Slack
[ ] Community Mailing List

GitHub

[ ] Invite members to the Core GitHub team
(this will send them an invite to the GitHub organization and grant them
access to private repositories)

Private channels
Add members to the following:

[ ] General Member mailing list
[ ] General Member Slack channel: #private

Meetings and Calls
Google Groups should automatically invites members to meetings, but ensure that
they have invites for the following meetings:

[ ] General Members Touchpoint
[ ] General Members AMA session

Resources and initiatives

[ ] Ensure members are aware of the General Members onboarding guide

Let's close this as they have lost contact

Let's close this as they have lost contact

@caniszczyk re-opening this! We have news from Optum to kick off the onboarding 👍


Removing a Tag from a Directive Removes it from ALL Directives in Aerie

Checked for duplicates
Yes - I've already checked
Is this a regression?
No - This is a new bug
Version
2.11.2, develop
Describe the bug
First encountered this when helping Ansel insert Activity Directives with Tags already associated. This bug is present on Clipper venues, unsure of the impact.
Removing a tag from one directive in a plan removes it from all directives, even completely unrelated plans.
Videos of the bug
https://github.com/user-attachments/assets/82ddc233-6333-4f4c-a935-e1db56d4d943
https://github.com/user-attachments/assets/ff7ecac1-7ca7-42ff-94e9-bd44353dddc6
Reproduction

Make two plans. Add an activity to both.
Add the same tag to both activities.
Remove the tag from one activity.
You'll get a delete failed error box and the tag will be removed from both directives.

Logs
No server logs.
Browser logs:
subscribe error modal.B2RzNcii.js:13:39289
TypeError: (destructured parameter) is null
    Immutable 6
modal.B2RzNcii.js:13:39320
subscribe error modal.B2RzNcii.js:13:39289
TypeError: (destructured parameter) is null
    Immutable 6
modal.B2RzNcii.js:13:39320
DEPRECATION NOTICE: "backgroundColor" is being deprecated. Please use the "style.background" property. tooltip.Fr7s8DnR.js:2991:2388
Error: Some activity directive tags were not successfully deleted
    deleteActivityDirectiveTags Immutable

System Info
MacOS, Firefox

Severity
Moderate

Update: according to @AaronPlave, other entities that can have tags associated with them have a variant of this bug on disassociation.

I think the queries that do this in the UI are:

DELETE_ACTIVITY_DIRECTIVE_TAGS
DELETE_CONSTRAINT_TAGS
DELETE_EXPANSION_RULE_TAGS
DELETE_PLAN_TAGS
DELETE_SCHEDULING_CONDITION_METADATA_TAGS
DELETE_SCHEDULING_GOAL_METADATA_TAGS


Coverage remap not working (no remapping of js results to .ts files)

Coverage map error: No sourcemaps found
Running npm run serve.coverage (after npm test) produces the following:
[15:29:02] 130 $ npm run serve.coverage

><EMAIL_ADDRESS>serve.coverage /Users/jesper/src/jesperronn-angular2-seed
> remap-istanbul -i coverage/coverage-final.json -o coverage -t html && npm run gulp -- serve.coverage

[Error: Could not find source map for: "/Users/jesper/src/jesperronn-angular2-seed/dist/dev/about/components/about.component.js"]
[Error: Could not find source map for: "/Users/jesper/src/jesperronn-angular2-seed/dist/dev/shared/services/name-list.service.js"]
[Error: Could not find source map for: "/Users/jesper/src/jesperronn-angular2-seed/dist/dev/home/components/home.component.js"]
[Error: Could not find source map for: "/Users/jesper/src/jesperronn-angular2-seed/dist/dev/app/components/app.component.js"]
[Error: Could not find source map for: "/Users/jesper/src/jesperronn-angular2-seed/dist/dev/app/components/navbar.component.js"]
[Error: Could not find source map for: "/Users/jesper/src/jesperronn-angular2-seed/dist/dev/app/components/toolbar.component.js"]

><EMAIL_ADDRESS>gulp /Users/jesper/src/jesperronn-angular2-seed
> gulp "serve.coverage"

[15:29:09] Requiring external module ts-node/register
[15:29:11] Loading task serve.coverage
[15:29:11] Using gulpfile ~/src/jesperronn-angular2-seed/gulpfile.ts
[15:29:11] Starting 'serve.coverage'...
[15:29:11] Finished 'serve.coverage' after 6.13 ms

Lot's of missing sourcemaps. And I see that the remap has actually not occured. As you can see from the screenshot, coverage maps the js files and not the ts files.

I am running on latest master (commit 6eca776de0b8b30260b384a4dc9da16edcc88fce ). This is apparently unrelated to #560, which is the full sources mapping flag.

@jesperronn This may very well be on me from when I updated the dev deps last week #547 .
I'll take a look at it when I get out of this meeting.

@jesperronn - I've gotten this close to where it should be with a bit of hackery. That said, as long is this isn't blocking you from getting work done, I would like to wait on opening the real PR until after https://github.com/mgechev/angular2-seed/pull/528 which should land tonight.
In the mean time, I'll branch off of 528 and validate the same fixes there.

@d3viant0ne no hurry, I am not sure you broke it, since I tried this very same a couple of weeks ago. As I recall another sourcemaps writer was required due to issues with either remap or ts-sourcemaps-inline-compilation. I saw a js example but didn't have the time to investigate.
This in no way blocks.

After a bit of discussion, the PR will allow for the coverage to be a typescript/transpiled javascript configurable option. I'll have it done this afternoon.

@jesperronn - Got bogged down in other stuff this weekend. #580 is next up in my OSS queue. Call it PR by Wednesday to be safe


Esc button to clear search line

UI: add clearing feature via Esc button on keyboard. Behaviour is similar to click on the "x"

Try to fix