DiskImageBuilder remove old folder and files

Changed the image_functions.sh to look for the right directory which
is "$IMAGE_NAME.d" and remove this. Added a check to remove old *.qcow2
files from previous builds. Confirmed the instance and image cleanup is
deleting these using the uuid in the db and not by their name. Added the
IMAGE_VISIBILITY var to all image_create as this needs setting when we
make new images private when testing.i Fixed TEST_IMAGE_NAME var as it
was causing the script to fail, as there was an image and instance using
the same names. Added a redirect of STDERR as this was causing the
delete files in the cleanup function to fail. Add more versatility to
the script so it can be used for both clouds and no local editing is
needed. Added 2 new constants files for each cloud.

I closed and reopened before I pushed the last changes in.


[QUESTION] How to pass MAXDOP option

Looks like this JDBC lib does not pass MAXDOP option.
spark.read()
.format("jdbc")
.option("driver","com.microsoft.sqlserver.jdbc.SQLServerDriver")
.option("url", "jdbc:sqlserver://xxx.database.windows.net;databaseName=xxxx")
.option("query", "SELECT TOP 10 * FROM dbo.Demo with (nolock) WHERE Id = 1 option (maxdop 1)")
.load()
.show();
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near the keyword 'option'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:270)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1778)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:697)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:616)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7775)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:4397)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:293)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:263)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeQuery(SQLServerPreparedStatement.java:531)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCRDD$.resolveTable(JDBCRDD.scala:61)
at org.apache.spark.sql.execution.datasources.jdbc.JDBCRelation$.getSchema(JDBCRelation.scala:226)
at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:35)
at org.apache.spark.sql.execution.datasources.DataSource.resolveRelation(DataSource.scala:344)
at org.apache.spark.sql.DataFrameReader.loadV1Source(DataFrameReader.scala:297)
at org.apache.spark.sql.DataFrameReader.$anonfun$load$2(DataFrameReader.scala:286)
at scala.Option.getOrElse(Option.scala:189)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:286)
at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:221)
how to make it work? is there any work around. thank you.

Thanks for your reply, asked same question to spark community.

Hi @guoliqiang,
Given the above, this appears to be an issue from the Spark side, and not an issue with the JDBC driver. As such, we'll be closing the issue. If you receive any new information pointing towards this being a JDBC issue, please feel free to comment below and we can re-open this issue for discussion.

Thanks @Jeffery-Wasty. I did not get any clear suggestion from spark community. I implement a custom spark connector on top of this JDBC lib based on my needs.

Hi @guoliqiang,
Unfortunately, we are only able to provide assistance with the JDBC driver, which we've shown above is able to parse option (maxdop correctly.
Our suggestions at this point are either:

remove this custom Spark connector as it appears to be the issue with MAXDOP,
try using a different query, without MAXDOP, to achieve your desired output, or
find Spark-related help from another source.


MSTeams Bot records a white noise when there is a silence

Using Process method from AudioProcessor class, generates all.wav file with white noise in each moment when there was a silence in the call.
I tried to use data.IsSilence as a condition for writing to the buffer, but it just skip the silence moments.
Code snippet:
protected override async Task Process(SerializableAudioMediaBuffer data)
        {
            if (data.Timestamp == 0)
            {
                return;
            }

            var path = Path.Combine(Path.GetTempPath(), BotConstants.DefaultOutputFolder, _settings.MediaFolder, _processorId);

            // First, write all audio buffer, unless the data.IsSilence is checked for true, into the all speakers buffer
            var all = "all";
            var all_writer = _writers.ContainsKey(all) ? _writers[all] : InitialiseWavFileWriter(path, all);

            if (data.Buffer != null)
            {
                // Buffers are saved to disk even when there is silence.
                // If you do not want this to happen, check if data.IsSilence == true.
                await all_writer.WriteAsync(data.Buffer, 0, data.Buffer.Length).ConfigureAwait(false);
            }

            if (data.SerializableUnmixedAudioBuffers != null)
            {
                foreach (var s in data.SerializableUnmixedAudioBuffers)
                {
                    if (string.IsNullOrWhiteSpace(s.AdId) || string.IsNullOrWhiteSpace(s.DisplayName))
                    {
                        continue;
                    }

                    var id = s.AdId;

                    var writer = _writers.ContainsKey(id) ? _writers[id] : InitialiseWavFileWriter(path, id);

                    // Write audio buffer into the WAV file for individual speaker
                    await writer.WriteAsync(s.Buffer, 0, s.Buffer.Length).ConfigureAwait(false);

                    // Write audio buffer into the WAV file for all speakers
                    await all_writer.WriteAsync(s.Buffer, 0, s.Buffer.Length).ConfigureAwait(false);

                }
            }
        }

Expected result - When there is a silence in the call, the bot shouldn't replace it with white noise.
Actual result - MSTeams Bot records a white noise when there is a silence.
Adding a file for example (I converted the wav file to mp4 because GitHub doesn't allow to upload a wav file.).
https://user-images.githubusercontent.com/56232437/173539129-4bd5b153-3e6c-4723-8a40-e219ece1e14f.mp4
I'm using the latest SDK version.

The white noise is an issue with Teams channels meetings for unmixed audio, and you can actually filter for this white noise, you could investigate a few audio buffers in debug and then automatically check for this sequence and ignore the buffer if its the white noise buffer.

Changing ReceiveUnmixedMeetingAudio to false solved the issue.


A question about the second "Text-knowledge guided quadratic term"

Great Paper!
I have one small question though. How does the second term encourages samples with nearby text-based zero-shot predictions to have similar inlierness scores?
When $s_p$ and $s_q$ are alike, $w_{pq}$ is high. Then how does  $s_p$ and $s_q$ are to be similar?
Could you kindly give me some instructions? Thanks!

Yes, it should be $y_p$ and $y_q$.
And that explains my question. $y_p$ and $y_q$ are both encouraged to be high. Thank you!


Clear after float?

I'd like to be able to clear: both; after putting an image as float left/right.
Any way to do that?

duplicate with #15


Bug: QueryError: possibly an empty set returned by an expression for a computed link 'rects' declared as 'required'

I'm using  the edgedb/edgedb image (docker compose).
Steps to Reproduce: Try to select a required multi link.

Schema:
Relevant part of schema (I think):
	abstract type Post {
		multi link votes := .<post[is Vote];
		multi link answers := .<post[is Answer];
		required property shortId -> str {
			constraint exclusive;
		}
		required link user -> User;
		required property createdAt -> datetime;
		required property title -> str;
		required property content -> str;
		required property score -> int16;
	}

	type PDFPost extending Post {
		required link document -> PDF;

		required property excerpt -> str;
		required link excerptRect -> PDFRect;
		required property page -> int16;

		required property anchorIdx -> int16;
		required property focusIdx -> int16;
		required property anchorOffset -> int16;
		required property focusOffset -> int16;

		# maybe I should inline this as JSON?
		# (reasoning ... less space, more performant?)
		required multi link rects -> PDFRect;
	}

	type PDFRect {
		required property x -> int16;
		required property y -> int16;
		required property width -> int16;
		required property height -> int16;
	}

I have 1 post in the database. When I run select PDFPost { rects };, I do see a bunch of rectangles being returned, as expected.

However, when I run the following query:
const Selectors = {
    RECT: {
        x: true,
        y: true,
        width: true,
        height: true,
    },
} as const;

    const query = e.select(e.PDFPost, post => ({
        title: true,
        content: true,
        score: true,
        createdAt: true,
        rects: Selectors.RECT,
        excerptRect: Selectors.RECT,
        answers: {
            content: true,
            createdAt: true,
            user: {
                shortId: true,
                displayName: true,
                image: true,
            },
        },
        user: {
            shortId: true,
            displayName: true,
            image: true,
        },
        filter: e.op(post.shortId, "=", id),
        document: {
            shortId: true,
            club: {
                name: true,
                public: true,
                shortId: true,
            },
        },
    }));

I get the error mentioned in the title of this post. Which doesn't make much sense, since I know from the edgedb CLI that there are rectangles.

Ok. I can get around this by removing the required. It's odd though, since the rectangles are returned from the JS client, meaning that they definitely do exist. I'm 90% sure this is a bug in edgedb?

The error is actually a type assertion that happens whenever you try to assign a possibly empty value to a required link or property.  It doesn't matter if data exists in the database, because it can be deleted etc.  The correct way to deal with such errors in similar situations is to turn a compile-time assertion to a run-time assertion with assert_exists().
In this case it's a bug in the query builder (moving the issue to edgedb-js).  This is because the query builder is likely generating the rects subshape as a computed expression (for implementation reasons) and does not properly guard it with assert_exists.


Release to Marketplace

The sole purpose of this PR is to allow a review of the codebase of the plugin. It contains all changes that have been made since the repo was forked from https://github.com/mattermost/mattermost-plugin-starter-template.
The PR should not get merged. Once every party has approved the PR, https://github.com/mattermost/mattermost-plugin-servicenow/pull/138 will include the required changes for a release.
Security review ticket: https://mattermost.atlassian.net/browse/SEC-2365.

Codecov Report

:exclamation: No coverage uploaded for pull request base (base@808258f). Click here to learn what that means.
Patch has no changes to coverable lines.

Additional details and impacted files
@@           Coverage Diff           @@
##             base     #137   +/-   ##
=======================================
  Coverage        ?   66.24%
=======================================
  Files           ?       16
  Lines           ?     1573
  Branches        ?        0
=======================================
  Hits            ?     1042
  Misses          ?      493
  Partials        ?       38

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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

Closing as every party has approved the PR


Publish draft progressive mesh format spec

Define a streaming file format based on https://hhoppe.com/proj/pm/
NLNet milestone 2.1

duplicate


NTP-1298: Adding a banner about the NTP closing down

Context
The service is closing, therefore this is to add a notification banner to warn users.
Changes proposed in this pull request

Guidance to review

Link to Jira ticket

Things to check

[ ] Title is in the format "NTP-XXX: Short description" where NTP-XXX is the Jira ticket reference
[ ] Code and tests follow the coding standards
[ ] dotnet format has been run in the repository root
[ ] Test coverage of new code is at least 80%
[ ] All UI related acceptance criteria specified in the ticket have been added to the relevant cypress test feature file(s)
[ ] Unless explicitly mentioned in the ticket, all UI work should have been tested as working on desktop and mobile resolutions with JavaScript on and off
[ ] Database migrations can be applied to the current codebase in main without causing exceptions
[ ] Debug logging has been added after all logic decision points
[ ] All automated testing including accessibility and security has been run against your code
[ ] PR deployment has been signed off by wider team

Going to try re-creating the PR


Release/2.0.0 beta02

Add full support for Robolectric
Improved support for "shared screenshot testing"


ERROR: EOFError: read end of file

Missing TiffData attributes in ome-xml  confuse TIFF.jl.
In ImageJ and Imaris, they seem to rebuild XYZCT structure from Pixels' attributes  SizeT, SizeX, SizeY, SizeZ, which is a better idea.
I  guess thatTIFF.jl isn't required to handle ome-xml, but it should catch this error and read pure tiff pixel info.
julia> TIFF.load("HE7-1NLS-22uw-const_1_s10.ome.tiff")
ERROR: EOFError: read end of file
Stacktrace:
 [1] unsafe_read at ./iostream.jl:376 [inlined]
 [2] unsafe_read at ./io.jl:669 [inlined]
 [3] read!(::IOStream, ::Array{UInt8,1}) at ./io.jl:681
 [4] read!(::TIFF.TiffFile{UInt64}, ::Array{UInt8,1}) at /home/hf/.julia/dev/TIFF/src/files.jl:51
 [5] load(::TIFF.TiffFile{UInt64}, ::TIFF.Tag{UInt64}) at /home/hf/.julia/dev/TIFF/src/tags.jl:18
 [6] load!(::TIFF.TiffFile{UInt64}, ::TIFF.IFD{UInt64}) at /home/hf/.julia/dev/TIFF/src/ifds.jl:26
 [7] load(::String) at /home/hf/.julia/dev/TIFF/src/load.jl:11
 [8] top-level scope at REPL[12]:1

xml info:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Warning: this comment is an OME-XML metadata block, which contains crucial dimensional parameters and other important metadata. Please edit cautiously (if at all), and back up the original data before doing so. For more information, see the OME-TIFF web site: http://www.openmicroscopy.org/site/support/ome-model/ome-tiff/. -->
<OME xmlns="http://www.openmicroscopy.org/Schemas/OME/2016-06" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Creator="OME Bio-Formats 5.2.2" UUID="urn:uuid:a5ae8c1b-ac04-4544-97c1-bbdd0bdf8629" xsi:schemaLocation="http://www.openmicroscopy.org/Schemas/OME/2016-06 http://www.openmicroscopy.org/Schemas/OME/2016-06/ome.xsd">
   <Image ID="Image:0" Name="4D-series.ome.tif">
      <Pixels BigEndian="true" DimensionOrder="XYZCT" ID="Pixels:0" SizeC="1" SizeT="134" SizeX="1300" SizeY="1900" SizeZ="20" Type="uint16" PhysicalSizeX="0.108" PhysicalSizeXUnit="µm" PhysicalSizeY="0.108" PhysicalSizeYUnit="µm" PhysicalSizeZ="0.5" PhysicalSizeZUnit="µm" TimeIncrement="600" TimeIncrementUnit="s">
         <Channel ID="Channel:0:0" SamplesPerPixel="1">
            <LightPath/>
         </Channel>
         <TiffData/>
         <TiffData/>
         <TiffData/>
         <TiffData/>
         <TiffData/>
         <lots of TiffData repeat>
         <TiffData/>
      </Pixels>
   </Image>
</OME>

I guess that TIFF.jl isn't required to handle ome-xml, but it should catch this error and read pure tiff pixel info.

This is correct. TIFF.jl should only read the tags in the TIFF file and doesn't use the omexml data (that's OMETIFF.jl's job!).
If you don't mind could you either share an example file with me or (if you're okay with releasing it publicly) upload it to https://github.com/tlnagy/exampletiffs if it's not too big*?

* Github has a hard cap at 100Mb per file so it would be best if the file is substantially smaller than that.

Also...It looks like this is a BigTIFF file, which I don't have good test coverage of so it would help me a lot if you could send me an example.

Same LZW BigTIFF trigger different error???
EOFERROR  occurred in NFS drive. Following error occurred in local drive.
julia> TIFF.load("HE7-1NLS-22uw-const_1_s1.ome.tiff")
ERROR: SystemError: seek: Invalid argument
Stacktrace:
 [1] #systemerror#50 at ./error.jl:167 [inlined]
 [2] systemerror at ./error.jl:167 [inlined]
 [3] seek at ./iostream.jl:108 [inlined]
 [4] seek(::FileIO.Stream, ::UInt64) at /home/hf/.julia/packages/FileIO/Glbhe/src/types.jl:103
 [5] seek at /home/hf/.julia/dev/TIFF/src/files.jl:75 [inlined]
 [6] load(::TIFF.TiffFile{UInt64}, ::TIFF.Tag{UInt64}) at /home/hf/.julia/dev/TIFF/src/tags.jl:17
 [7] load!(::TIFF.TiffFile{UInt64}, ::TIFF.IFD{UInt64}) at /home/hf/.julia/dev/TIFF/src/ifds.jl:26
 [8] load(::String) at /home/hf/.julia/dev/TIFF/src/load.jl:11
 [9] top-level scope at REPL[2]:1

I uploaded HE7-1NLS-22uw-const_1_s1.ome.tiff for your test at google drive. I generate this BigTIFF by Libtiff tiffcp -8 -c lzw  and embed xml info by OME-TIFF tool.
md5sum: 8e26efcb1ee3adafc54c90266353f8e6

Could you upload a non-LZW compressed version?
I currently only support Packbits and no compression, but plan to add LZW in the near future since it seems commonly used.

ERROR: SystemError: seek: Invalid argument

This is fixed on the latest master. Now I get:
ERROR: Compression COMPRESSION_LZW is not implemented. Please open an issue against TIFF.jl.
Stacktrace:
 [1] error(::String, ::TIFF.CompressionType, ::String) at ./error.jl:42
 [2] read!(::TIFF.TiffFile{UInt64}, ::SubArray{UInt8,1,Array{UInt8,2},Tuple{UnitRange{Int64},Int64},true}, ::Val{TIFF.COMPRESSION_LZW}) at /home/tamas/.julia/dev/TIFF/src/compression.jl:50
 [3] read!(::TIFF.TiffFile{UInt64}, ::SubArray{UInt8,1,Array{UInt8,2},Tuple{UnitRange{Int64},Int64},true}, ::TIFF.CompressionType) at /home/tamas/.julia/dev/TIFF/src/compression.jl:8
 [4] read!(::SubArray{UInt8,1,Array{UInt8,2},Tuple{Base.Slice{Base.OneTo{Int64}},Int64},true}, ::TIFF.TiffFile{UInt64}, ::TIFF.IFD{UInt64}) at /home/tamas/.julia/dev/TIFF/src/ifds.jl:170
 [5] macro expansion at /home/tamas/.julia/dev/TIFF/src/load.jl:32 [inlined]
 [6] macro expansion at /home/tamas/.julia/packages/ProgressMeter/g1lse/src/ProgressMeter.jl:717 [inlined]
 [7] load(::String) at /home/tamas/.julia/dev/TIFF/src/load.jl:31
 [8] top-level scope at REPL[2]:1

which is expected due to the current lack of LZW support.

Thanks! Now, I can load non-LZW BigTIFF, which is uploaded to google drive.
BTW, it is useful to use libtiff tool to generate and modify compressed/non-compressed TIFF/BigTIFF. You may have a look.

Same LZW BigTIFF trigger different error???
EOFERROR occurred in NFS drive. Following error occurred in local drive.

And no more EOFERROR for non-LZW BigTIFF at NFS drive. I would like to test it when LZW feature is available.

Awesome, then I'm going to close this since we've resolved the EOFERROR and the seek error.


Weird figure without caption

The following URL: https://www.bbc.co.uk/news/technology-44482380
Produces a figure with the following HTML:

                 Image copyright
                 TOM HUMBERSTONE

                Image caption
                    The day starts badly for IT administrator Tony Lewis when he reads an email from a hacker

That "Image copyright" text is not inside a caption, so it gets rendered as regular text, inline with the image. It should be put inside a figcaption like the rest, so it can be rendered nicely.
I think this comes from this piece of code, but I'm not sure.
https://github.com/miniflux/miniflux/blob/6d25e02cb5e3ddd9f3fc8dfb44cf29c98866d587/reader/rewrite/rewrite_functions.go#L34

Duh, it's not the rewriter. This is the source HTML.

                 Image copyright
                 TOM HUMBERSTONE

                Image caption

                    The day starts badly for IT administrator Tony Lewis when he reads an email from a hacker

Should I just use the rewriter, or is it worth to special case wrapping all free text inside figure with figcaption?

I doubt the add_image_title rewriter is doing this. The source HTML doesn't have a title attribute in the img tag, so the rewriter wouldn't even process it.
The problem, I think, is that the markup is invalid. They're using span tags (which are inline) with img tags (which are block). This isn't really the way you're supposed to do it.
If the rewriter finds other img tags with title attributes in the source it does run the source through GoQuery, which affects the markup (behind the scenes it's interpreting the HTML, similar to a web browser). But that doesn't change the fact that their source is a little messy. Such is the web, though.
Do you need the rewriter for a site that's already putting in captions?

I double checked and the rewriter is not configured for that feed, it's pure Web messiness.
I'll live with it, this is not a "bug" on Miniflux per-se.


Unable To export Log and Share on Android

Unable to export logs and Share on android device, its working fine in ios
I am using this method
Future exportAllLogs() async {
FlutterLogs.exportLogs(exportType: ExportType.ALL);
return _completer.future as FutureOr;
}
but  _completer unable to return value ,

Unable to export logs and Share on android device, its working fine in ios
Future exportAllLogs() async {
FlutterLogs.exportLogs(exportType: ExportType.ALL);
return _completer.future as FutureOr;
}
but _completer unable to return value ,


*SUSE: Changed ASCII behavior

In *SUSE's lsb_release, they have different behavior for -ir and
-d, one output will be openSUSE Leap 42.1 and the other will be
SUSE LINUX 42.1. This new behavior would also extend compatibility
with SUSE Linux Enterprise.

My apologies for the weird resolution. VirtualBox's Guest Addition is a weird thing.

:+1:


feat(extras): propose to add mini.move as an extra instead of native move command

The main motivation for using mini.move instead of the native move command is to avoid polluting the undo history as mini.move allows undoing consecutive moves with one single u. And horizontal moves are nice too!
I set up the keybindings manually to overwrite the default keymaps, as well as to set up moving in InsertMode.

Awesome, thanks!

In the quest for simplicity -- thoughts on removing the default keymaps, and allowing users to opt-in to the move bindings solely by using mini.move? Seems redundant to have "good" and "better" bindings with equivalent functionality.

In terms of simplicity, the included native keymaps cover 99% of the cases.
You can of course always add mini.move in your own config.

Well, the real reason for this suggestion is to fix https://github.com/LazyVim/LazyVim/pull/2945, because currently, enabling mini.move in the extras UI isn't enough to configure the plugin, the user also has to add custom configuration to prevent it from clashing with the default bindings.
Additionally, I think mini.move is the better option for 99% of users, so adopting an "if you want move bindings, enable extras.mini.move" approach instead of "you already have move bindings, but if you want slightly better ones enable this extra" is more elegant.

Feel free to submit a PR for the extra.

@folke it already is an extra, thanks to this PR. Or do I misunderstand?

Sorry, I was confused. Now I remember. All the code in this PR turned out not to be needed.
And I've then changed the extra to:
return {
  {
    "echasnovski/mini.move",
    event = "VeryLazy",
    opts = {},
  },
}

So not event worth to be an extra tbh, but it's there now :)

@folke #2945 used to not work with the version of lazyfile function, but with the new I don't think there's any problem. So, maybe just loading mini.move on LazyFile instead will solve the issue of the default keymaps overriding the plugin's ones.

@dpetka2001 As you mentioned in #2945 loading mini.move on LazyFile won't work when opening nvim with an argument and the default keymap will still overwrite mini.move.

That was with the old lazyfile function. With the new one i don't believe there should be problems. Test it out locally to see if it works. Just do in your personal config
return {
  {
    "mini.move",
    event = function()
      return "LazyFile"
    end,
  },
}


Add portable PDB doc

@Gregg-Miskelly @tmat - This look good for the conceptual info? Once the tooling has stabilized we could add usage in common tools here too. For now I'm thinking tools (VS, cli, VSCode) can use their own wikis to give a description of how to use portable PDB and then link here for the general info. We can also update the list of supported scenarios over time.
cc @richlander @mikem8361 @ZhichengZhu @alsemenn

:+1:

:+1:

@noahfalk I made some suggestions on fixes.

This is a great write up. I really love the high level and historical overview. Documents like this are often hard to find but can really help developers make informed decisions...
I can remember times in the past when I've asked questions like: "Do we have to copy PDBs to production?" and, "What will happen if I turn off that Create PDB Files checkbox?"
This high level theoretical overview allows me (and others) to answer those types of questions for ourselves. (Thanks)
Anyways, If we're still "pre-feedback" I might also suggest linking the first mention of Roslyn to a similar document explaining what that is. From the point of view of a novice, "Roslyn" is often a term that is thrown around with the assumption that users know exactly what that is.  (At Microsoft it is probably true)
As a member of an external team however, I could recount a reasonably hilarious tale of folly and woe where a small team of developers spent way too long befuddled by an error message to which our response upon reading was: "Who the heck is Roslyn?"

I made a follow up commit based on the feedback here: https://github.com/dotnet/core/commit/1beaf16021b93221a2554cd87a9056b7ac8af4e8
@richlander - Thanks for editing!
@AlexChesser - Its great to hear that these kinds of docs are useful and I fully agree about adding the Roslyn link. Thanks for very actionable feedback.


Another function that could be removed

https://github.com/Frenzie/elk-quick-quote/blob/5ebda2500c1cadba2c2abe71241b10c25801cd6c/quickQuote.js#L426
You should be able to safely  use postarea = quotebutton.closest('.postarea'), now

Depends on your definition of safe. I might need to polyfill it for Opera 11/12. /grin

But yeah, closest is what, five years old? Pretty safe but probably at least a decade younger than this script. ;-)


albert: 0.26.2 -> 0.26.3

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for albert is: Fast and flexible keyboard launcher
meta.homepage for albert is: https://albertlauncher.github.io
meta.changelog for albert is: https://github.com/albertlauncher/albert/blob/v0.26.3/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.26.3 with grep in /nix/store/fqzk6qz01d5z87s2ql6dj1w6dgvaf6ri-albert-0.26.3
found 0.26.3 in filename of file in /nix/store/fqzk6qz01d5z87s2ql6dj1w6dgvaf6ri-albert-0.26.3

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

albert

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/fqzk6qz01d5z87s2ql6dj1w6dgvaf6ri-albert-0.26.3 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A albert https://github.com/r-ryantm/nixpkgs/archive/a15961f2e9ef87fe57ef896517f6879979bb0282.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/a15961f2e9ef87fe57ef896517f6879979bb0282#albert

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/fqzk6qz01d5z87s2ql6dj1w6dgvaf6ri-albert-0.26.3
ls -la /nix/store/fqzk6qz01d5z87s2ql6dj1w6dgvaf6ri-albert-0.26.3/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

albert

Maintainer pings
cc @ericsagnes @Synthetica9 @eljamm for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

@eljamm not sure if you know about the NixPkgs merge bot, but I noticed you're part of the maintainers of this package, so I believe you could actually merge this yourself.

Thanks, I know about it, but the problem is that the albert derivation is not in pkgs/by-name/*, so it needs to be moved in order to use the merge bot.

@NixOS/nixpkgs-merge-bot merge

Aah, right, I forgot about that limitation. 😅

I should probably open a PR to move it after this gets merged.


chore: add asdf to docs

Brief note on using kubefirst by installing with asdf

@Claywd: What did you decide for the ASDF repository? Update the docs accordingly as we discussed :)


SAK-40413 Duplicated removals cause log error trace

These removals are also on the service class. Service class needs it for this process but also for the transferEntities one, so keeping those.
Also solving calendar vm error log trace.

@bgarciaentornos Is the service code identical to this? In other words, are you literally removing duplicate code?

Yes, identical. I guess Earle wanted to handle all these cases directly on the Action class (well, there was a comment saying that each tool should deal with its own cases in the future). But those methods were already on the Service and are necessary because all the transferEntity methods are there too. So all and all, I'd just leave the ones we're going to need and, if in the future there's some refactor, we can then move them elsewhere.


feature: added swap and calculateswap functions to sdk

the goal of this PR is to give developers the ability to utilize Swap.sol's swap function via an SDK

for getting the swap contract address per chain, i am thinking about changing the SynapseContract class defined in src/common/synapse_contracts.ts to add a swap field and storing each chain's Swap.sol address there. this will make it easier to find the contract address when using ethers to get a contract instance

Thanks for the contribution, but this repo is now deprecated and remaining issues being closed. The next iteration of the sdk can be found here


TLK-1864 agents deployments models refactoring

Models refactoring for agents, deployments and models
AI Description

This PR introduces a new AgentDeploymentModel class to the codebase, which is used to manage the relationship between agents, deployments, and models. The class is defined in `src/backend/database_models/agent.py and is used in various other files throughout the codebase.
The AgentDeploymentModel class has the following attributes:

agent_id
deployment_id
model_id
deployment_config
is_default_deployment
is_default_model

The class also has the following methods:

set_default_agent_deployment_model
deployment
model

The PR also includes changes to the following files:

src/backend/alembic/versions/2024_10_28_74ba7e1b4810_update_agent_deployment_model.py
src/backend/crud/agent.py
src/backend/crud/deployment.py
src/backend/crud/model.py
src/backend/database_models/agent.py
src/backend/database_models/deployment.py
src/backend/database_models/model.py
src/backend/routers/agent.py
src/backend/routers/utils.py
src/backend/schemas/agent.py
src/backend/tests/integration/crud/test_deployment.py
src/backend/tests/integration/crud/test_model.py
src/backend/tests/unit/crud/test_agent.py
src/backend/tests/unit/factories/__init__.py
src/backend/tests/unit/factories/agent.py
src/backend/tests/unit/factories/agent_deployment_model.py
src/backend/tests/unit/routers/test_agent.py
src/backend/tests/unit/routers/test_chat.py
src/interfaces/assistants_web/src/cohere-client/generated/schemas.gen.ts
src/interfaces/assistants_web/src/cohere-client/generated/services.gen.ts
src/interfaces/assistants_web/src/cohere-client/generated/types.gen.ts
src/interfaces/assistants_web/src/constants/conversation.ts

Changes

The AgentDeploymentModel class is introduced to manage the relationship between agents, deployments, and models.
The class is defined in src/backend/database_models/agent.py and is used in various other files throughout the codebase.
The class has attributes for agent_id, deployment_id, model_id, deployment_config, is_default_deployment, and is_default_model.
The class also has methods for set_default_agent_deployment_model, deployment, and model.
The PR includes changes to several other files throughout the codebase.

Codecov Report
Attention: Patch coverage is 80.64516% with 18 lines in your changes missing coverage. Please review.

Project coverage is 79.69%. Comparing base (083b530) to head (23b0297).

Files with missing lines
Patch %
Lines

src/backend/routers/agent.py
30.76%
9 Missing :warning:

...0_28_74ba7e1b4810_update_agent_deployment_model.py
78.94%
4 Missing :warning:

src/backend/tests/unit/routers/test_chat.py
0.00%
4 Missing :warning:

src/backend/routers/utils.py
85.71%
1 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #824      +/-   ##
==========================================
- Coverage   79.73%   79.69%   -0.05%
==========================================
  Files         244      244
  Lines       10486    10342     -144
==========================================
- Hits         8361     8242     -119
+ Misses       2125     2100      -25

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


cfwg: Gather information about automation and adapt to unified scripts repo

CFWG is compare-flatcar-with-gentoo. It's a script I'm using for generating reports in https://github.com/krnowak/reports. I plan to move the repo to flatcar org, but I need my customizations to be in place first to avoid depending on my krnowak/stuff branch.

Moved the script to the reports repo. Closing. Will later file a PR to drop it from this repo.


move to CRD v1

fixes: https://github.com/kiali/kiali/issues/3912
Note that no helm changes are necessary - we already moved those to v1. This just moves the previous versions and OSSM metadata to v1.

see also: https://issues.redhat.com/browse/OSSM-580


General Notice - Code Style

I believe that the rest of the codebase uses trailing semi-colons.
Work on this fork should aim to follow this style in new code.

True. I kind of left that stuff for the end. :)
Might have overridden some in the merge because I didn't want to keep you waiting.


added materialize-css to the packages

Without it it was giving me an error it was required :).

Cheers for the fix! :)


Actions and Bug Fixes

Fixes all issues seen in #238. Some of them I saw had already been fixed in develop, the gym fixes are new.
Other changes of note:
gym has been swapped for gymnasium and corresponding pip freeze run
Github actions have been added, currently set to run on push to any branch. There are commented out changes to make this develop branch only.

Merged these fixes, which was mostly adding support for actions, s/gym/gymnasium, and updating 3rd party package versions.


Fix WebsocketError kind for LCUWebSocket by using client request instead of URL

Should resolve #7 ! 💚
URL was incorrectly passed to the connect_async_tls_with_config function instead of the client request.
https://docs.rs/tokio-tungstenite/latest/tokio_tungstenite/fn.connect_async_tls_with_config.html
I also added an ignored test that I used to verify that that error was fixed on my end. I tried following the testing layout you already have for the project. :3

Thanks so much! This is a really embarrassing thing to miss honestly


[FEATURE REQ] CreateQueryFilter API that doesn't assume column names are hard coded

Library name
Azure.Data.Tables
Please describe the feature.
We run into scenarios where we can't access the concrete type of record we want to query, which means we're using reflection to build up certain queries.
That means that when filtering, we'd like to do something as follows:
TableClient.CreateQueryFilter($"{propertyInfo.Name} eq {propertyValue}");

This doesn't currently work because the TableOdataFilter will escape all arguments passed into the FormattableString.
Note that we're using the select options in the GetEntityAsync API only to retrieve the properties we know, so we're not materializing the whole record.
That means there's currently an assumption in the SDK when creating filters that the concrete type is available and well-known. Having an API available that allows differentiating between the arguments that represent column names (and therefore don't require escaping) and argument values would solve this problem.
Currently, we're setting up the filter in 2 phases to ensure column names are not escaped.

Thank you for your feedback.  Tagging and routing to the team member best able to assist.

I was discussing this with @lailabougria recently. Unfortunately I wasn't aware there is already a similar issue https://github.com/Azure/azure-sdk-for-net/issues/32347.
The feedback is still valid though because it shows we as users make assumptions based on the method name sbout the use case a method provides

I agree that for the dynamic property name scenario, the current behavior and naming is misleading. I think we could add some better documentation on this method or create a new version that is more intuitively named to indicate that all interpolated values are escaped.
@lailabougria or @danielmarbach - do you have any thoughts on how the ideal API might look?

I almost managed to type in "fluent API" but then I got shivers and reminded myself how much I don't like them ;)
When I look how the API is intended to be used I almost think regardless whether it is used with predefined column names or not, it assumes anything formattable in there is related to column values. So maybe it should have been called TableClient.EscapeQueryFilterValue. But I'm not sure this is good input for you since you need to continue support what you have...
I also had some other wild thoughts that I'm happy to share, but I'm also unsure if they are helpful.
In theory, since the TableOdataFilter logic already deals with "type conversion" it would be possible to introduce a Column struct that looks something like
public readonly struct FilterColumn
{
   public FilterColumn(string columnName) => ColumnName = columnName;
   public string ColumnName { get; }
}

then extend the text logic to do something like
FilterColumn x => $"{x.ColumnName}",

then someone could use the filter API like
TableClient.CreateQueryFilter($"{new FilterColumn(propertyInfo.Name)} eq {propertyValue}");

Now that I think about this pattern you could even extend this to something like
TableClient.CreateQueryFilter($"{new Column(propertyInfo.Name)} eq {new ColumnValue(propertyValue)}");

It's an interesting idea. Something like the FilterColumn example would do the trick.
My only concern is that it introduces a new type and this special type might be difficult to discover.
Another idea I had was if we utilized a custom format provider and allowed something like this:
TableClient.CreateQueryFilter($"{propertyInfo.Name:PropertyName} eq {propertyValue}");

That seems a bit magical, but would work without augmenting the API surface.

@christothes I like the proposal. Just one question. From a consistency perspective, wouldn't it make sense to have a custom formatter as well for the values?
Of course for backward compatibility you would need to keep around the existing support but maybe with documentation updates you could gently push in the direction of
TableClient.CreateQueryFilter($"{propertyInfo.Name:Column} eq {propertyValue:ColumnValue}");

or something similar.

@christothes I like the proposal. Just one question. From a consistency perspective, wouldn't it make sense to have a custom formatter as well for the values?
Of course for backward compatibility you would need to keep around the existing support but maybe with documentation updates you could gently push in the direction of
TableClient.CreateQueryFilter($"{propertyInfo.Name:Column} eq {propertyValue:ColumnValue}");

or something similar.

I'm not sure that we'd want to implement an additional format string that essentially does nothing (as it would continue to do exactly what it does today). Perhaps it would be more clear if the new format string was something like :raw or :unescape.

And that is precisely the direction I wanted to lead into with the sample above. I think from a user standpoint (leaving out for a moment the backward compatibility question) having a syntax that has a custom formatter that has a meaning and one part that lacks a formatter (essentially the absence of one has a dedicated meaning) makes it difficult to grasp.
I think what you proposed would eliminate the problem because conceptually it would lift things up into a generic marker that indicates there should be no interpretation of a formattable part as a value. And then having such a marker vs non is no longer an issue because it clearly conveys the intent.


The ivorysql is expected to be compatible with oracle merge_into function.

Enhancement
The ivorysql is expected to be compatible with oracle merge_into function.
the effect: to check whether the table T1 and table T2 meet the conditions in on or not.If yes, update the T1 table with T2 table. If not, insert T2 table into T1 table.
for example：
merge into tab1 t1 using (select xmccbh,jjbh from tab2 t2) t on (t.xmccbh =t1.xmccbh) when matched then update set t1.jjbh = t.jjbh where t1.jjbh is null;

+1
On Mon, Feb 21, 2022 at 3:15 AM sun-hchao @.***> wrote:

Enhancement
The ivorysql is expected to be compatible with oracle merge_into function.
the effect: to check whether the table T1 and table T2 meet the conditions
in on or not.If yes, update the T1 table with T2 table. If not, insert T2
table into T1 table.
for example：
merge into tab1 t1 using (select xmccbh,jjbh from tab2 t2) t on (t.xmccbh
=t1.xmccbh) when matched then update set t1.jjbh = t.jjbh where t1.jjbh is
null;
—
Reply to this email directly, view it on GitHub
https://github.com/IvorySQL/IvorySQL/issues/69, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMWOHQIJ2HX5FEPHYGTTCDU4HYDDANCNFSM5O52ZXIA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

IMO this is now supported in InvorySQL 2.x which is PG 15 based and PG15 have MERGE support.


⚠ SceneTime has degraded performance

In 9f0d628, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 2301 ms

Resolved: SceneTime performance has improved in 4c28423 after 6 minutes.


[Feature] ingress supports configuring tls

ingress supports configuring tls

supported in v1.4

refer to https://github.com/kubevela/kubevela/pull/3925


IndexError: list index out of range

I used an avi file of Morris water maze  (circular arena) and I encountered an error. I attached the video I used.
After lesion.zip
Traceback (most recent call last):
File "track.py", line 266, in
floorCrop(filename)
File "track.py", line 120, in floorCrop
tetragonVertices = tetragons[0]
IndexError: list index out of range
And I would like to know if wanted to use mp4 with h.264 codec what should I change in track.py?

I've fixed the error, but you'll face to another problem: the threshold between animal color and background color is very specific for my lab environment, therefore contour of your animal is corrupted.
So I'll try to make the threshold more adaptive, or at most to replace my detecting algorithm by common one, e.g. GOTURN. Thank you for new video provided with different environment.

As to file extension: you just need to replace all .avi by .mp4 in the end of track.py.

water-maze-lesion.zip
The trajectory of animal is not shown by the animal-tracking app and it shows the distance travelled by the animal is very negligible. How to correct the errors? And how to optimise it for circular arena? Can binary threshold images processed by Fiji used if the animal is not as white as snow in the video? I get some errors like encoder error when binary threshold videos are used

How much light intensity in lux is needed  during video recording for perfect tracking of the animal?

Pomogi  pliz)))help me bro)

The trajectory of animal is not shown by the animal-tracking app and it shows the distance travelled by the animal is very negligible. How to correct the errors?

Pull v0.1.0 and just fill full right half of UI window by the green quad. Your mistake in water-maze-lesion.zip was the highlighting of only the part of arena. Green quad is needed to get rid of perspective effect that is caused by optical aberrations.

And how to optimise it for circular arena?

What you need to fit units of the distance is normalize it by the length of the average side of red quad you've selected as frame in UI measured in meters:

E.g. if the length between top right and bottom right points of red frame is 2.1 meters then divide the distance by 2.1.

Can binary threshold images processed by Fiji used if the animal is not as white as snow in the video? I get some errors like encoder error when binary threshold videos are used.

That is exactly what cv2.threshold() does in my code, so you don't need do any preprocessing. Actually, metamarking of your video with orange centroid of an animal and green quadrants of the arena are overly.

How much light intensity in lux is needed during video recording for perfect tracking of the animal?

Everyday working lighting 200–400 lx is enough.

im still have a war with trying to count a speed ,
speed = _x  =_y = 0
distance += np.sqrt(((x - _x) / float(h))**2 + ((y - _y) / float(h))**2)
speed=(distance)/abs(time.time())
# speed1=str(speed)
from where i can get Time  ?)

im still have a war with trying to count a speed

Are you sure you have read my answer? The item 3 states: there is a variable t that stores elapsed time measured in seconds. How do you think the time appears on the left frame? It is possible due to this variable. So, for elapsed time
speed = distance / t
print(speed)

From where i can get Time?)

From the variable t. I'm not kidding.

And also your code with last corrections does not work when im pressing python track.py

If you don't see red frame on the right then you have to highlight it manually before you press Enter. Look at the gif above.

May I know how you avoided the errors caused by water ripples? I am unable to reproduce the same results for the video I used.

The only thing I did is average all frames and subtracted the sum from each current frame. It helped for your example, but not in general. Try to decrease THRESHOLD_ANIMAL_VS_FLOOR from 70 to 50: it will increase the area of animal and in the same time will make it possible to take the dark ripples for the animal.
We can introduce Kalman filter if you will continue facing the problem.

But what you say is actually the latest commits you did to tracker.py. Did you edit the video to get the results that avoid the errors caused by water ripples. I'm unable to reproduce the same result with the latest release.

No, I did not. I use raw video you have attached. The only differences between our environments are OS and version of python modules, mine are:

macOS
opencv-contrib-python==<IP_ADDRESS>
numpy==1.15.4


Updated .csv files with ISO 3166 data

Hello ,
I have updated the data files with the recent data from ISO - 3166 on behalf of the comment of ainthek.
https://github.com/olahol/iso-3166-2.js/issues/7#issuecomment-152106820
Please review , if the application is working properly.
Peto

Thank you @petogriac.


Invalid Input Error

Hi @d33bs - I am running into the following error when testing cytotable.convert()
duckdb.InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result
Error: Invalid Error: unable to open database file

Full error log
 14:32:42.102 | ERROR   | Task run '_get_source_filepaths-0' - Encountered exception during execution:
Traceback (most recent call last):
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 1551, in orchestrate_task_run
    result = await call.aresult()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
    return await asyncio.wrap_future(self.future)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 194, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/sources.py", line 70, in _get_source_filepaths
    for table_name in _duckdb_with_sqlite()
duckdb.InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result
Error: Invalid Error: unable to open database file

14:32:42.118 | ERROR   | Task run '_get_source_filepaths-0' - Finished in state Failed('Task run encountered an exception: duckdb.InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result\nError: Invalid Error: unable to open database file\n')

14:32:42.119 | ERROR   | Flow run 'berserk-gopher' - Encountered exception during execution:
Traceback (most recent call last):
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 669, in orchestrate_flow_run
    result = await flow_call.aresult()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
    return await asyncio.wrap_future(self.future)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 194, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/sources.py", line 215, in _gather_sources
    sources = _get_source_filepaths(
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/tasks.py", line 485, in __call__
    return enter_task_run_engine(
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 972, in enter_task_run_engine
    return from_sync.wait_for_call_in_loop_thread(begin_run)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/api.py", line 137, in wait_for_call_in_loop_thread
    return call.result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 173, in result
    return self.future.result(timeout=timeout)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 218, in _run_async
    result = await coro
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 1137, in get_task_call_return_value
    return await future._result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/futures.py", line 241, in _result
    return await final_state.result(raise_on_failure=raise_on_failure, fetch=True)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/states.py", line 91, in _get_state_result
    raise await get_state_exception(state)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 1551, in orchestrate_task_run
    result = await call.aresult()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
    return await asyncio.wrap_future(self.future)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 194, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/sources.py", line 70, in _get_source_filepaths
    for table_name in _duckdb_with_sqlite()
duckdb.InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result
Error: Invalid Error: unable to open database file

14:32:42.145 | ERROR   | Flow run 'berserk-gopher' - Finished in state Failed('Flow run encountered an exception. duckdb.InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result\nError: Invalid Error: unable to open database file\n')

14:32:42.146 | ERROR   | Flow run 'spiked-macaque' - Encountered exception during execution:
Traceback (most recent call last):
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 669, in orchestrate_flow_run
    result = await flow_call.aresult()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
    return await asyncio.wrap_future(self.future)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 194, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/convert.py", line 695, in _to_parquet
    sources = _gather_sources(
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/flows.py", line 468, in __call__
    return enter_flow_run_engine_from_flow_call(
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 184, in enter_flow_run_engine_from_flow_call
    retval = from_sync.wait_for_call_in_loop_thread(
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/api.py", line 137, in wait_for_call_in_loop_thread
    return call.result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 173, in result
    return self.future.result(timeout=timeout)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 218, in _run_async
    result = await coro
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/client/utilities.py", line 40, in with_injected_client
    return await fn(*args, **kwargs)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 566, in create_and_begin_subflow_run
    return await terminal_state.result(fetch=True)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/states.py", line 91, in _get_state_result
    raise await get_state_exception(state)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 669, in orchestrate_flow_run
    result = await flow_call.aresult()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
    return await asyncio.wrap_future(self.future)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 194, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/sources.py", line 215, in _gather_sources
    sources = _get_source_filepaths(
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/tasks.py", line 485, in __call__
    return enter_task_run_engine(
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 972, in enter_task_run_engine
    return from_sync.wait_for_call_in_loop_thread(begin_run)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/api.py", line 137, in wait_for_call_in_loop_thread
    return call.result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 173, in result
    return self.future.result(timeout=timeout)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py", line 451, in result
    return self.__get_result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py", line 403, in __get_result
    raise self._exception
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 218, in _run_async
    result = await coro
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 1137, in get_task_call_return_value
    return await future._result()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/futures.py", line 241, in _result
    return await final_state.result(raise_on_failure=raise_on_failure, fetch=True)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/states.py", line 91, in _get_state_result
    raise await get_state_exception(state)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py", line 1551, in orchestrate_task_run
    result = await call.aresult()
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 181, in aresult
    return await asyncio.wrap_future(self.future)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py", line 194, in _run_sync
    result = self.fn(*self.args, **self.kwargs)
  File "/Users/waygr/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/sources.py", line 70, in _get_source_filepaths
    for table_name in _duckdb_with_sqlite()
duckdb.InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result
Error: Invalid Error: unable to open database file

14:32:42.162 | ERROR   | Flow run 'spiked-macaque' - Finished in state Failed('Flow run encountered an exception. duckdb.InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result\nError: Invalid Error: unable to open database file\n')

Full python traceback
---------------------------------------------------------------------------
InvalidInputException                     Traceback (most recent call last)
Cell In[21], line 1
----> 1 what = cytotable.convert(
      2     source_path=manifest_df.sqlite_file[2],
      3     dest_path="test.parquet",
      4     dest_datatype="parquet"
      5 )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/convert.py:942, in convert(source_path, dest_path, dest_datatype, source_datatype, metadata, compartments, identifying_columns, concat, join, joins, chunk_columns, chunk_size, infer_common_schema, drop_null, preset, task_runner, log_level, **kwargs)
    940 # send sources to be written to parquet if selected
    941 if dest_datatype == "parquet":
--> 942     output = _to_parquet.with_options(task_runner=task_runner)(
    943         source_path=source_path,
    944         dest_path=dest_path,
    945         source_datatype=source_datatype,
    946         metadata=metadata,
    947         compartments=compartments,
    948         identifying_columns=identifying_columns,
    949         concat=concat,
    950         join=join,
    951         joins=joins,
    952         chunk_columns=chunk_columns,
    953         chunk_size=chunk_size,
    954         infer_common_schema=infer_common_schema,
    955         drop_null=drop_null,
    956         **kwargs,
    957     )
    959 return output

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/flows.py:468, in Flow.__call__(self, return_state, wait_for, *args, **kwargs)
    464 parameters = get_call_parameters(self.fn, args, kwargs)
    466 return_type = "state" if return_state else "result"
--> 468 return enter_flow_run_engine_from_flow_call(
    469     self,
    470     parameters,
    471     wait_for=wait_for,
    472     return_type=return_type,
    473 )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:184, in enter_flow_run_engine_from_flow_call(flow, parameters, wait_for, return_type)
    179     retval = from_async.wait_for_call_in_loop_thread(
    180         begin_run, done_callbacks=done_callbacks
    181     )
    183 else:
--> 184     retval = from_sync.wait_for_call_in_loop_thread(
    185         begin_run, done_callbacks=done_callbacks
    186     )
    188 return retval

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/api.py:137, in from_sync.wait_for_call_in_loop_thread(call, timeout, done_callbacks)
    135     waiter.add_done_callback(callback)
    136 waiter.wait()
--> 137 return call.result()

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:173, in Call.result(self, timeout)
    167 def result(self, timeout: Optional[float] = None) -> T:
    168     """
    169     Wait for the result of the call.
    170
    171     Not safe for use from asynchronous contexts.
    172     """
--> 173     return self.future.result(timeout=timeout)

File ~/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py:451, in Future.result(self, timeout)
    449     raise CancelledError()
    450 elif self._state == FINISHED:
--> 451     return self.__get_result()
    453 self._condition.wait(timeout)
    455 if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:

File ~/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py:403, in Future.__get_result(self)
    401 if self._exception:
    402     try:
--> 403         raise self._exception
    404     finally:
    405         # Break a reference cycle with the exception in self._exception
    406         self = None

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:218, in Call._run_async(***failed resolving arguments***)
    216                 logger.debug("%r using async cancel scope %r", self, ctx)
    217                 ctx.chain(self.cancel_context, bidirectional=True)
--> 218                 result = await coro
    219 except BaseException as exc:
    220     logger.debug("Encountered exception in async call %r", self, exc_info=True)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/client/utilities.py:40, in inject_client.<locals>.with_injected_client(*args, **kwargs)
     38 async with client_context as new_client:
     39     kwargs.setdefault("client", new_client or client)
---> 40     return await fn(*args, **kwargs)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:258, in create_then_begin_flow_run(flow, parameters, wait_for, return_type, client)
    256     return state
    257 elif return_type == "result":
--> 258     return await state.result(fetch=True)
    259 else:
    260     raise ValueError(f"Invalid return type for flow engine {return_type!r}.")

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/states.py:91, in _get_state_result(state, raise_on_failure)
     86     raise PausedRun("Run paused.")
     88 if raise_on_failure and (
     89     state.is_crashed() or state.is_failed() or state.is_cancelled()
     90 ):
---> 91     raise await get_state_exception(state)
     93 if isinstance(state.data, DataDocument):
     94     result = result_from_state_with_data_document(
     95         state, raise_on_failure=raise_on_failure
     96     )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:669, in orchestrate_flow_run(flow, flow_run, parameters, wait_for, interruptible, client, partial_flow_run_context)
    664         else:
    665             from_async.call_soon_in_new_thread(
    666                 flow_call, timeout=flow.timeout_seconds
    667             )
--> 669         result = await flow_call.aresult()
    671         waited_for_task_runs = await wait_for_task_runs_and_report_crashes(
    672             flow_run_context.task_run_futures, client=client
    673         )
    674 except PausedRun:

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:181, in Call.aresult(self)
    175 async def aresult(self):
    176     """
    177     Wait for the result of the call.
    178
    179     For use from asynchronous contexts.
    180     """
--> 181     return await asyncio.wrap_future(self.future)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:194, in Call._run_sync(***failed resolving arguments***)
    192     with cancel_sync_at(self.cancel_context.deadline) as ctx:
    193         ctx.chain(self.cancel_context, bidirectional=True)
--> 194         result = self.fn(*self.args, **self.kwargs)
    196 # Return the coroutine for async execution
    197 if inspect.isawaitable(result):

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/convert.py:695, in _to_parquet(source_path, dest_path, source_datatype, metadata, compartments, identifying_columns, concat, join, joins, chunk_columns, chunk_size, infer_common_schema, drop_null, **kwargs)
    652 """
    653 Export data to parquet.
    654
   (...)
    691         result.
    692 """
    694 # gather sources to be processed
--> 695 sources = _gather_sources(
    696     source_path=source_path,
    697     source_datatype=source_datatype,
    698     targets=list(metadata) + list(compartments),
    699     **kwargs,
    700 )
    702 if not isinstance(sources, Dict):
    703     sources = sources.result()

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/flows.py:468, in Flow.__call__(self, return_state, wait_for, *args, **kwargs)
    464 parameters = get_call_parameters(self.fn, args, kwargs)
    466 return_type = "state" if return_state else "result"
--> 468 return enter_flow_run_engine_from_flow_call(
    469     self,
    470     parameters,
    471     wait_for=wait_for,
    472     return_type=return_type,
    473 )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:184, in enter_flow_run_engine_from_flow_call(flow, parameters, wait_for, return_type)
    179     retval = from_async.wait_for_call_in_loop_thread(
    180         begin_run, done_callbacks=done_callbacks
    181     )
    183 else:
--> 184     retval = from_sync.wait_for_call_in_loop_thread(
    185         begin_run, done_callbacks=done_callbacks
    186     )
    188 return retval

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/api.py:137, in from_sync.wait_for_call_in_loop_thread(call, timeout, done_callbacks)
    135     waiter.add_done_callback(callback)
    136 waiter.wait()
--> 137 return call.result()

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:173, in Call.result(self, timeout)
    167 def result(self, timeout: Optional[float] = None) -> T:
    168     """
    169     Wait for the result of the call.
    170
    171     Not safe for use from asynchronous contexts.
    172     """
--> 173     return self.future.result(timeout=timeout)

File ~/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py:451, in Future.result(self, timeout)
    449     raise CancelledError()
    450 elif self._state == FINISHED:
--> 451     return self.__get_result()
    453 self._condition.wait(timeout)
    455 if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:

File ~/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py:403, in Future.__get_result(self)
    401 if self._exception:
    402     try:
--> 403         raise self._exception
    404     finally:
    405         # Break a reference cycle with the exception in self._exception
    406         self = None

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:218, in Call._run_async(***failed resolving arguments***)
    216                 logger.debug("%r using async cancel scope %r", self, ctx)
    217                 ctx.chain(self.cancel_context, bidirectional=True)
--> 218                 result = await coro
    219 except BaseException as exc:
    220     logger.debug("Encountered exception in async call %r", self, exc_info=True)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/client/utilities.py:40, in inject_client.<locals>.with_injected_client(*args, **kwargs)
     38 async with client_context as new_client:
     39     kwargs.setdefault("client", new_client or client)
---> 40     return await fn(*args, **kwargs)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:566, in create_and_begin_subflow_run(flow, parameters, wait_for, return_type, client)
    564     return terminal_state
    565 elif return_type == "result":
--> 566     return await terminal_state.result(fetch=True)
    567 else:
    568     raise ValueError(f"Invalid return type for flow engine {return_type!r}.")

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/states.py:91, in _get_state_result(state, raise_on_failure)
     86     raise PausedRun("Run paused.")
     88 if raise_on_failure and (
     89     state.is_crashed() or state.is_failed() or state.is_cancelled()
     90 ):
---> 91     raise await get_state_exception(state)
     93 if isinstance(state.data, DataDocument):
     94     result = result_from_state_with_data_document(
     95         state, raise_on_failure=raise_on_failure
     96     )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:669, in orchestrate_flow_run(flow, flow_run, parameters, wait_for, interruptible, client, partial_flow_run_context)
    664         else:
    665             from_async.call_soon_in_new_thread(
    666                 flow_call, timeout=flow.timeout_seconds
    667             )
--> 669         result = await flow_call.aresult()
    671         waited_for_task_runs = await wait_for_task_runs_and_report_crashes(
    672             flow_run_context.task_run_futures, client=client
    673         )
    674 except PausedRun:

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:181, in Call.aresult(self)
    175 async def aresult(self):
    176     """
    177     Wait for the result of the call.
    178
    179     For use from asynchronous contexts.
    180     """
--> 181     return await asyncio.wrap_future(self.future)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:194, in Call._run_sync(***failed resolving arguments***)
    192     with cancel_sync_at(self.cancel_context.deadline) as ctx:
    193         ctx.chain(self.cancel_context, bidirectional=True)
--> 194         result = self.fn(*self.args, **self.kwargs)
    196 # Return the coroutine for async execution
    197 if inspect.isawaitable(result):

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/sources.py:215, in _gather_sources(source_path, source_datatype, targets, **kwargs)
    212 source_path = _build_path(path=source_path, **kwargs)
    214 # gather filepaths which will be used as the basis for this work
--> 215 sources = _get_source_filepaths(
    216     path=source_path, source_datatype=source_datatype, targets=targets
    217 )
    219 # infer or validate the source datatype based on source filepaths
    220 source_datatype = _infer_source_datatype(
    221     sources=sources, source_datatype=source_datatype
    222 )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/tasks.py:485, in Task.__call__(self, return_state, wait_for, *args, **kwargs)
    481 parameters = get_call_parameters(self.fn, args, kwargs)
    483 return_type = "state" if return_state else "result"
--> 485 return enter_task_run_engine(
    486     self,
    487     parameters=parameters,
    488     wait_for=wait_for,
    489     task_runner=SequentialTaskRunner(),
    490     return_type=return_type,
    491     mapped=False,
    492 )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:972, in enter_task_run_engine(task, parameters, wait_for, return_type, task_runner, mapped)
    970     return from_async.wait_for_call_in_loop_thread(begin_run)
    971 else:
--> 972     return from_sync.wait_for_call_in_loop_thread(begin_run)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/api.py:137, in from_sync.wait_for_call_in_loop_thread(call, timeout, done_callbacks)
    135     waiter.add_done_callback(callback)
    136 waiter.wait()
--> 137 return call.result()

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:173, in Call.result(self, timeout)
    167 def result(self, timeout: Optional[float] = None) -> T:
    168     """
    169     Wait for the result of the call.
    170
    171     Not safe for use from asynchronous contexts.
    172     """
--> 173     return self.future.result(timeout=timeout)

File ~/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py:451, in Future.result(self, timeout)
    449     raise CancelledError()
    450 elif self._state == FINISHED:
--> 451     return self.__get_result()
    453 self._condition.wait(timeout)
    455 if self._state in [CANCELLED, CANCELLED_AND_NOTIFIED]:

File ~/miniforge3/envs/jump_sc/lib/python3.10/concurrent/futures/_base.py:403, in Future.__get_result(self)
    401 if self._exception:
    402     try:
--> 403         raise self._exception
    404     finally:
    405         # Break a reference cycle with the exception in self._exception
    406         self = None

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:218, in Call._run_async(***failed resolving arguments***)
    216                 logger.debug("%r using async cancel scope %r", self, ctx)
    217                 ctx.chain(self.cancel_context, bidirectional=True)
--> 218                 result = await coro
    219 except BaseException as exc:
    220     logger.debug("Encountered exception in async call %r", self, exc_info=True)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:1137, in get_task_call_return_value(task, flow_run_context, parameters, wait_for, return_type, task_runner, extra_task_inputs)
   1135     return await future._wait()
   1136 elif return_type == "result":
-> 1137     return await future._result()
   1138 else:
   1139     raise ValueError(f"Invalid return type for task engine {return_type!r}.")

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/futures.py:241, in PrefectFuture._result(self, timeout, raise_on_failure)
    239 if not final_state:
    240     raise TimeoutError("Call timed out before task finished.")
--> 241 return await final_state.result(raise_on_failure=raise_on_failure, fetch=True)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/states.py:91, in _get_state_result(state, raise_on_failure)
     86     raise PausedRun("Run paused.")
     88 if raise_on_failure and (
     89     state.is_crashed() or state.is_failed() or state.is_cancelled()
     90 ):
---> 91     raise await get_state_exception(state)
     93 if isinstance(state.data, DataDocument):
     94     result = result_from_state_with_data_document(
     95         state, raise_on_failure=raise_on_failure
     96     )

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/engine.py:1551, in orchestrate_task_run(task, task_run, parameters, wait_for, result_factory, log_prints, interruptible, client)
   1544             logger.debug(
   1545                 f"Beginning execution...", extra={"state_message": True}
   1546             )
   1548             call = from_async.call_soon_in_new_thread(
   1549                 create_call(task.fn, *args, **kwargs)
   1550             )
-> 1551             result = await call.aresult()
   1553 except Exception as exc:
   1554     name = message = None

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:181, in Call.aresult(self)
    175 async def aresult(self):
    176     """
    177     Wait for the result of the call.
    178
    179     For use from asynchronous contexts.
    180     """
--> 181     return await asyncio.wrap_future(self.future)

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/prefect/_internal/concurrency/calls.py:194, in Call._run_sync(***failed resolving arguments***)
    192     with cancel_sync_at(self.cancel_context.deadline) as ctx:
    193         ctx.chain(self.cancel_context, bidirectional=True)
--> 194         result = self.fn(*self.args, **self.kwargs)
    196 # Return the coroutine for async execution
    197 if inspect.isawaitable(result):

File ~/miniforge3/envs/jump_sc/lib/python3.10/site-packages/cytotable/sources.py:70, in _get_source_filepaths(path, targets, source_datatype)
     50 """
     51 Gather dataset of filepaths from a provided directory path.
     52
   (...)
     64         Data structure which groups related files based on the compartments.
     65 """
     67 if source_datatype == "sqlite" or (path.is_file() and path.suffix == ".sqlite"):
     68     return {
     69         f"{table_name}.sqlite": [{"table_name": table_name, "source_path": path}]
---> 70         for table_name in _duckdb_with_sqlite()
     71         .execute(
     72             """
     73             /* perform query on sqlite_master table for metadata on tables */
     74             SELECT name as table_name
     75             from sqlite_scan(?, 'sqlite_master')
     76             where type='table'
     77             """,
     78             parameters=[str(path)],
     79         )
     80         .arrow()["table_name"]
     81         .to_pylist()
     82         if any(target.lower() in table_name.lower() for target in targets)
     83     }
     85 # gathers files from provided path using compartments as a filter
     86 sources = [
     87     {"source_path": file}
     88     for file in path.glob("**/*")
   (...)
     93     )
     94 ]

InvalidInputException: Invalid Input Error: Attempting to execute an unsuccessful or closed pending query result
Error: Invalid Error: unable to open database file

The command I used to obtain this error:
# Convert CellProfiler SQLite to parquet
cytotable.convert(
    source_path="'s3://cellpainting-gallery/cpg0016-jump/source_1/workspace/backend/Batch1_20221004/UL001643/UL001643.sqlite'",
    dest_path="test.parquet",
    dest_datatype="parquet"
)

Hi @gwaybio - thank you for submitting this issue! This is happening due to a gap in functionality and testing for CytoTable with remote SQLite files. Currently, DuckDB does not allow querying remotely located SQLite files. To resolve this, we'll need to:

[ ] Add a test for remote SQLite querying, likely extending existing moto testing (this is currently not covered)
[ ] Modify the code to download or stream a copy of the SQLite data locally
[ ] Modify the code to query the data locally once it's available

In addition, I've submitted the following issue to explore what this might look like if DuckDB could query remote locations natively (through the sqlite_scanner extension, which enables SQLite integration). https://github.com/duckdblabs/sqlite_scanner/issues/39

Is this issue resolved with merging of #47?

Thanks @gwaybio, I think it's a good idea to close this and work towards further revisions in #52 . This issue was addressed through #45 and #47, allowing for cached SQLite querying and memory safety considerations.


CI: disable requesting new certs for staging.testrun.org

fix #302

Let's keep it like this for a week, when the rate limit is over we can turn it on again. The current cert is valid until June 15.

If I understand correctly, we won't find any problems with ACMEtool anymore, because we keep the cert on staging? makes sense for now

exactly. But until the rate limit expires we won't find them anyway


Fix the bug in Undone for schedule

Coverage remained the same at 55.491% when pulling 91693ee8fd8331b43d831cb55f611ed205c21851 on Drashti96:update-Undone_command into 86b9c48d9921a306cf77491afb76f7194767f6f6 on CS2103AUG2016-W15-C4:master.


[QUERY] Connect to eventhubs using sample

Library name and version
main - c744877c
Query/Question
Im trying to connect a eventhubs processor to my clients eventhub using the sample thats provided here:
sdk-sample
However I keep running into timeout exceptions:

C:/Users/507587/RiderProjects/azure-sdk-for-net/artifacts/bin/Azure.Messaging.EventHubs.Processor.Samples.HostedService/Debug/net6.0/Azure.Messaging.EventHubs.Processor.Samples.HostedService.exe
fail: Azure.Messaging.EventHubs.Processor.Samples.HostedService.EventProcessorClientService[0]
Error in the EventProcessorClient         Operation: Performing the main Event Processor loop.
Azure.Messaging.EventHubs.EventHubsException(GeneralError): WARNING: A load balancing cycle has taken too long to complete.  A slow cycle can cause stability issues with partition ownership.  Consider investigating storage latency and thread pool health.  Common causes are soft delete being enabled for storage and too many partitions owne
d.  You may also want to consider increasing the 'PartitionOwnershipExpirationInterval' in the processor options.  Cycle Duration: '86.10' seconds.  Partition Ownership Interval '1:20' seconds. (iot-telemetry).  For troubleshooting information, see https://aka.ms/azsdk/net/eventhubs/exceptions/troubleshoot
fail: Azure.Messaging.EventHubs.Processor.Samples.HostedService.EventProcessorClientService[0]
Error in the EventProcessorClient         Operation: Retrieving list of partition identifiers from a Consumer Client.
System.TimeoutException: Creation of RequestResponseAmqpLink did not complete in 0 milliseconds.
at Microsoft.Azure.Amqp.Singleton1.GetOrCreateAsync(TimeSpan timeout, CancellationToken cancellationToken)                                        at Azure.Messaging.EventHubs.Amqp.AmqpClient.GetPropertiesAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)             at Azure.Messaging.EventHubs.Amqp.AmqpClient.GetPropertiesAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)             at Azure.Messaging.EventHubs.EventHubConnection.GetPropertiesAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)          at Azure.Messaging.EventHubs.EventHubConnection.GetPartitionIdsAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)                 at Azure.Messaging.EventHubs.Primitives.EventProcessor1.ListPartitionIdsAsync(EventHubConnection connection, CancellationToken cancellationToken)
at Azure.Messaging.EventHubs.Primitives.EventProcessor`1.RunProcessingAsync(CancellationToken cancellationToken)

I already made sure I'm connecting to a blobclient that does not have soft-delete enabled. I made sure the container is there. Also the eventhub + consumergroups are there. I'm at a loss what to do atm, since the exception does not give much more information.

I also tried with websockets, which gives me a different exception:

System.Net.WebSockets.WebSocketException (0x80004005): Unable to connect to the remote server
---> System.Net.Http.HttpRequestException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. (eventhubname.servicebus.windows.net:443)
---> System.Net.Sockets.SocketException (10060): A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Net.Sockets.Socket.g__WaitForConnectWithCancellation|277_0(AwaitableSocketAsyncEventArgs saea, ValueTask connectTask, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
--- End of inner exception stack trace ---
at System.Net.Http.HttpConnectionPool.ConnectToTcpHostAsync(String host, Int32 port, HttpRequestMessage initialRequest, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.ConnectAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.CreateHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)
at System.Net.Http.HttpConnectionPool.AddHttp11ConnectionAsync(HttpRequestMessage request)
at System.Threading.Tasks.TaskCompletionSourceWithCancellation1.WaitWithCancellationAsync(CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.GetHttp11ConnectionAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken)    at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken)    at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)    at System.Net.WebSockets.WebSocketHandle.ConnectAsync(Uri uri, CancellationToken cancellationToken, ClientWebSocketOptions options)    at System.Net.WebSockets.ClientWebSocket.ConnectAsyncCore(Uri uri, CancellationToken cancellationToken)    at Microsoft.Azure.Amqp.TaskHelpers.WithTimeout(Task task, TimeSpan timeout, Func1 errorMessage, CancellationToken token)
at Microsoft.Azure.Amqp.ExceptionDispatcher.Throw(Exception exception)
at Microsoft.Azure.Amqp.AsyncResult.End[TAsyncResult](IAsyncResult result)
at Microsoft.Azure.Amqp.Transport.AmqpTransportInitiator.ConnectAsyncResult.End(IAsyncResult result)
at Microsoft.Azure.Amqp.Transport.AmqpTransportInitiator.<>c.b__17_1(IAsyncResult r)
at System.Threading.Tasks.TaskFactory1.FromAsyncCoreLogic(IAsyncResult iar, Func2 endFunction, Action1 endAction, Task1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
at Azure.Messaging.EventHubs.Amqp.AmqpConnectionScope.CreateAndOpenConnectionAsync(Version amqpVersion, Uri serviceEndpoint, Uri connectionEndpoint, EventHubsTransportType transportType, IWebProxy proxy, Int32 sendBufferSizeBytes, Int32 receiveBufferSizeBytes, RemoteCertificateValidationCallback certificateValidationCallback, String scopeIdentifier, TimeSpan timeout)
at Microsoft.Azure.Amqp.FaultTolerantAmqpObject1.OnCreateAsync(TimeSpan timeout, CancellationToken cancellationToken)    at Microsoft.Azure.Amqp.Singleton1.GetOrCreateAsync(TimeSpan timeout, CancellationToken cancellationToken)
at Microsoft.Azure.Amqp.Singleton1.GetOrCreateAsync(TimeSpan timeout, CancellationToken cancellationToken)    at Azure.Messaging.EventHubs.Amqp.AmqpConnectionScope.OpenManagementLinkAsync(TimeSpan operationTimeout, TimeSpan linkTimeout, CancellationToken cancellationToken)    at Microsoft.Azure.Amqp.FaultTolerantAmqpObject1.OnCreateAsync(TimeSpan timeout, CancellationToken cancellationToken)
at Microsoft.Azure.Amqp.Singleton1.GetOrCreateAsync(TimeSpan timeout, CancellationToken cancellationToken)    at Microsoft.Azure.Amqp.Singleton1.GetOrCreateAsync(TimeSpan timeout, CancellationToken cancellationToken)
at Azure.Messaging.EventHubs.Amqp.AmqpClient.GetPropertiesAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)
at Azure.Messaging.EventHubs.Amqp.AmqpClient.GetPropertiesAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)
at Azure.Messaging.EventHubs.EventHubConnection.GetPropertiesAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)
at Azure.Messaging.EventHubs.EventHubConnection.GetPartitionIdsAsync(EventHubsRetryPolicy retryPolicy, CancellationToken cancellationToken)
at Azure.Messaging.EventHubs.Primitives.EventProcessor1.ListPartitionIdsAsync(EventHubConnection connection, CancellationToken cancellationToken)    at Azure.Messaging.EventHubs.Primitives.EventProcessor1.RunProcessingAsync(CancellationToken cancellationToken)

Regards, Johan
Environment
.NET SDK:
Version:   7.0.201
Commit:    68f2d7e7a3
Runtime Environment:
OS Name:     Windows
OS Version:  10.0.19045
OS Platform: Windows
RID:         win10-x64
Base Path:   C:\Program Files\dotnet\sdk\7.0.201\
Host:
Version:      8.0.1
Architecture: x64
Commit:       bf5e279d92
.NET SDKs installed:
6.0.302 [C:\Program Files\dotnet\sdk]
6.0.400 [C:\Program Files\dotnet\sdk]
7.0.201 [C:\Program Files\dotnet\sdk]
8.0.101 [C:\Program Files\dotnet\sdk]
.NET runtimes installed:
Microsoft.AspNetCore.App 6.0.7 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 6.0.8 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.AspNetCore.App 8.0.1 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.7 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 6.0.8 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.NETCore.App 8.0.1 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]
Microsoft.WindowsDesktop.App 6.0.7 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.8 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 7.0.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 8.0.1 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Other architectures found:
x86   [C:\Program Files (x86)\dotnet]
Environment variables:
Not set
global.json file:
C:\Users\507587\RiderProjects\azure-sdk-for-net\global.json
IDE: JetBrains Rider 2023.3.2

Turns out it was a network issue after all

Hi @JBastiaan.  Thanks for reaching out and for the update confirming that the root cause was network issues.   I'm going to mark this as addressed, but please feel free to unresolve if you'd like to continue the discussion.


ProjectManager: Warn when projects have different config_version

When opening projects for edition through the project manager, the
following checks are now done:

If the config_version is lower than the one used by the current
engine version, users are asked if they want to convert to the new
format or abort editing. Fixes #20626.

If the config_version is higher than the expected one (project
from a more recent and incompatible engine version), projects are
grayed out and can't be edited. Fixes #18758.

When editing from the command line, the behaviour is unchanged:
projects in situation (1) are automatically converted, while projects
in situation (2) show an error message (made more explicit).
The "Run" option from the project manager was not changed, so it will
still run (1) projects without converting them, and fail running (2)
projects.
Supersedes #22452, diff of my changes to this PR: https://github.com/akien-mga/godot/commit/4888b974ad8071413ebe26b722d03d33d01a075c

Previews:

$ cat project.godot | grep config_version
config_version=5
$ godot-git
ERROR: _load_settings_text: Can't open project at '/home/akien/tmp/godot/test/CoinDash-test-4.0/project.godot', its `config_version` (5) is from a more recent and incompatible version of the engine. Expected config version: 4.
   At: core/project_settings.cpp:561.
ERROR: _load_settings_text_or_binary: Couldn't load file '/home/akien/tmp/godot/test/CoinDash-test-4.0/project.godot', error code 12.
   At: core/project_settings.cpp:588.

(Still not the best output, but it's better than just saying condition 'config_version > FORMAT_VERSION' is true.)


source mode: could not determine GOARCH and Go compiler

gomock rule fails in source mode with error: Loading input failed: could not determine GOARCH and Go compiler.
Versions
OS: macOS 10.14.5
Go: 1.12.5
Bazel: 0.25.2
rules_go: 0.18.5
golang/mock: 1.3.1
jmhodges/bazel_gomock: e4a4d7dce76eedebd85d1bac72a9c02615c80eff
Reproduce
git clone git@github.com:linzhp/bazel_examples.git
cd bazel_examples
bazel build gomock:mocks

Note
I notice that GOARCH="" && source <(go env) && echo $GOARCH will print out things like amd64 on Linux, but it will print empty string on Mac. This line may not work on Mac

Hm, I suspect I'm not seeing this because I'm running the GNU bash (installed with homebrew) instead of the default BSD bash.

Nope, that ain't it. Seems the code misunderstands how exporting would work. What are you hitting that needs this variable set?

That error, however, doesn't seem likely to be caused by the empty GOARCH? I, of course, can't reproduce locally.
What version of gomock are you using? Does any of this debugging info help? https://github.com/golang/go/issues/30355
Could you post a reproduction for me?

Just updated linzhp/bazel_examples.git to use latest Gazelle@39b19ce92c43c9915d69db5fa68b1772434df2e9, and mockgen 1.3.1. Still get the same error:
~/bazel_examples$ bazel build --verbose_failures gomock:mocks
INFO: SHA256 (https://github.com/bazelbuild/bazel-gazelle/archive/39b19ce92c43c9915d69db5fa68b1772434df2e9.zip) = e12b1b6bd69544ff0e75d79ed2a99d8326ba3fafe97f8eaf88695e7ad6b37e2a
DEBUG: Rule 'bazel_gazelle' indicated that a canonical reproducible form can be obtained by modifying arguments sha256 = "e12b1b6bd69544ff0e75d79ed2a99d8326ba3fafe97f8eaf88695e7ad6b37e2a"
INFO: Analyzed target //gomock:mocks (32 packages loaded, 6528 targets configured).
INFO: Found 1 target...
ERROR: /home/zplin/bazel_examples/gomock/BUILD.bazel:14:1: error executing shell command: '/bin/bash -c
           source <($PWD/external/go_sdk/bin/go env) &&
           export PATH=$GOROOT/bin:$PWD/external/go_sdk/bin:$PATH &&
           $(pwd)/bazel-out/host/bin/external/com_github_g...' failed (Exit 1) bash failed: error executing command
  (cd /home/zplin/.cache/bazel/_bazel_zplin/1341e6c28d7cbbf89cb6e477e4ed8da8/sandbox/linux-sandbox/14/execroot/__main__ && \
  exec env - \
  /bin/bash -c '
           source <($PWD/external/go_sdk/bin/go env) &&
           export PATH=$GOROOT/bin:$PWD/external/go_sdk/bin:$PATH &&
           $(pwd)/bazel-out/host/bin/external/com_github_golang_mock/mockgen/linux_amd64_stripped/mockgen -source gomock/client.go -package gomock sshClient > bazel-out/k8-fastbuild/bin/gomock/mocks.go
        ')
Execution platform: @bazel_tools//platforms:host_platform

Use --sandbox_debug to see verbose messages from the sandbox: bash failed: error executing command
  (cd /home/zplin/.cache/bazel/_bazel_zplin/1341e6c28d7cbbf89cb6e477e4ed8da8/sandbox/linux-sandbox/14/execroot/__main__ && \
  exec env - \
  /bin/bash -c '
           source <($PWD/external/go_sdk/bin/go env) &&
           export PATH=$GOROOT/bin:$PWD/external/go_sdk/bin:$PATH &&
           $(pwd)/bazel-out/host/bin/external/com_github_golang_mock/mockgen/linux_amd64_stripped/mockgen -source gomock/client.go -package gomock sshClient > bazel-out/k8-fastbuild/bin/gomock/mocks.go
        ')
Execution platform: @bazel_tools//platforms:host_platform

Use --sandbox_debug to see verbose messages from the sandbox
2019/05/31 04:51:58 Loading input failed: could not determine GOARCH and Go compiler
Target //gomock:mocks failed to build
INFO: Elapsed time: 46.706s, Critical Path: 2.50s
INFO: 10 processes: 10 linux-sandbox.
FAILED: Build did NOT complete successfully

What happens if you try https://github.com/jmhodges/bazel_gomock/commit/ec2e84d9bf708841b7129ee94e61c06382c8cfda ?

It needs more fixes than that. See #18 for all fixes needed.
However, I think we should revert #16, see my comment on that thread

Thanks! Mind rebasing on to HEAD now?


As a data analyst, I want to access historical population data to conduct trend analysis and forecast future population growth for strategic planning purposes.

Editing title to match report #21
The top N populated capital cities in a continent where N is provided by the user


Automated cherry pick of #294: fix: scheduler disk schedtag filter host type not convert to

Cherry pick of #294 on release/2.8.0.
#294: fix: scheduler disk schedtag filter host type not convert to

/cc @wanyaoqi