[FEATURE REQUEST] Merge new chapters of library novels into previous file

Is your feature request related to a problem? Please describe.

Instead of downloading individual epubs of newly released chapters. I think it would be more helpful for it to add to the orignal epub or maybe merge the new epub into the old
Describe the solution you'd like

All newly released chapters in the library remain in one file only with the rest of the chapters
Describe alternatives you've considered

Maybe instead of editing the old epub, instead create a new one by merging the contents of the old one and the new one

The library will now save the novel without the chapter numbers and update it going forward. EPUB only for now.

Could also be useful in text mode to download different chapters as separate .txt files instead of one large file. Especially when you're downloading a few hundred chapters it makes it pretty hard to track where you left off.

Thanks for the update....but when I add a novel to the library while it does create a folder for it, it doesn't actually move the novel file into it so we have to manually do it for the library to update the file, otherwise it'll just create a new file and keep updating it. Also would it be possible to actually manually update the old files? for ex : I have a file containing chapters till 1345. but the newest chapter is 1567. So would it possible for it to scan the file and fill in the chapters which are not present?

Another thing is the library doesn't update the previous chapters , for ex a novel has 3557 chapters and a few side stories added on top of that. if anymore chapters are added but the last chapters is still the side story, it wont add the new chapters.
case in point : https://www.wuxiaworld.com/novel/emperors-domination

Good first point. I'm going to change it so that it will try to move an already downloaded file before creating a new one in the library folder.
Currently, to update and old file you would need to set the last chapter of the library to the last chapter of the old file and then restart the library, it will then say that there are so-and-so new ones. To do this you need to remove the novel from the library (not the file/folder) and then remove all chapters which are missing from the chapters list before re-adding the novel to the library. Another way would be manually editing the library.json file and setting the "lastChapter" variable.
Concerning your last question, checking and updating missing chapters is a bit more complicated and usually not needed when you download the novel fully once and then keep adding the new chapters on top. This case with the side stories at the end is unfortunate.

Yea you are right the third point is an extreme case but maybe the library can check the TOC from the website and the TOC from the file and match them to get the missing chapters? it should for all cases right? and it already does something similar when a few chapters fail to download and it downloads them at the end. Maybe you can add this as an option?
I got the JSON workaround which I used but what did you mean by

To do this you need to remove the novel from the library (not the file/folder) and then remove all chapters which are missing from the chapters list before re-adding the novel to the library.

?

Its not quite that easy. How do you know which chapter is missing and what happens if multiple chapters have the same name? You'll need an identifier stored inside the ePub TOC NG could read and understand. I would go with the chapter URL hashed in some form added to the file name. This would make some really ugly chapter file names and some people use those. All in all it would require quite extensive changes and additions, the retry function is completely unusable for this. I will think about it, no promised yet tho.

To do this you need to remove the novel from the library (not the file/folder) and then remove all chapters which are missing from the chapters list before re-adding the novel to the library.

yea sure that's up to you but my idea was to compare chapter numbers not the title itself, since you have source TOC stored in the url, we could simply compare the numbers with that in the file and dl the missing ones though I am sure I am really understating the complexity here

Oh and that workaround actually obliterated all the chapters except those which I had removed in the chapter list from the original file

It can only add chapters right now, so I'm not sure what happened.

Also you cant use the chapter number because, like in your case with the side stories, chapter insertions will mess the numbers up.

Another thing I noticed is that it actually does detect that new chapters are available for downloading despite it showing the side stores as latest chapters but again the same bug happens, it deletes all the previous content except the new chapters when I download them, it happened with another novel too. Maybe something to look at? if only that could be fixed, while yea the side chapter won't be in a neat pile at the bottom but maybe all the chapters can be added as is when they are released?

NG basically just counts the links on the toc page. First link is chapter 1 and last chapter will be chapter n. If the amount of all chapter links is different to the previous time it shows that there are new chapters available and will download the latest chapter. In your case it will always be the side story since it's the last chapter on the list. This is why I mentioned that chapter number aren't unique enough.
To understand your problem correctly, if you have a novel file already present and you download the new chapters, it will remove all old ones? That sounds to me like it creates a new file instead of modifying it.
Can you try adding a new novel and then change the lastChapter number in the library.json so that you can try downloading the last chapter a few times?

Yep same problem and I dont think it's creating a new file, its modifying the original one

Closed in favor of #132 and #134


Setup gitbook

https://www.gitbook.com

maybe custom Astro.js site for this?

https://rust-lang.github.io/mdBook/


Allow ClamClient to support connecting to the ClamAV server via IPAddress

This use case can happen if the ClamAV server is only accessible via a private IP address. The TcpClient.ConnectAsync(hostname assumes hostname is a DNS address.

Due to other PR merges this PR had a conflict so I've fixed that and incorporated into into #42, thanks for your contribution!


ack2.08 slower than ack 1.96 when searching in Linux kernel.

I've noticed that ack2 feels significantly slower than ack1 in a lot of uses. Here's one particular test case. With the current Linux stable kernel 3.10.9, the following query is 3x slower with ack2.08 vs. ack1.96
Download tar -xf linux-3.10.9.tar.xz from https://www.kernel.org/. Then...
bulleit:~/Downloads justin.ko$ tar -xf linux-3.10.9.tar.xz
bulleit:~/Downloads justin.ko$ cd linux-3.10.9
bulleit:~/Downloads/linux-3.10.9 justin.ko$ ack --version
ack 2.08 (git commit 0c5f694)
Running under Perl 5.12.4 at /usr/bin/perl

Copyright 2005-2013 Andy Lester.

This program is free software.  You may modify or distribute it
under the terms of the Artistic License v2.0.
bulleit:~/Downloads/linux-3.10.9 justin.ko$ time ack -k FUSE_LINK fs
fs/fuse/dir.c
823:	req->in.h.opcode = FUSE_LINK;

real	0m1.553s
user	0m1.480s
sys	0m0.070s
bulleit:~/Downloads/linux-3.10.9 justin.ko$ ack_old --version
ack 1.96
Running under Perl 5.12.4 at /usr/bin/perl

Copyright 2005-2011 Andy Lester.

This program is free software.  You may modify or distribute it
under the terms of the Artistic License v2.0.
bulleit:~/Downloads/linux-3.10.9 justin.ko$ time ack_old FUSE_LINK fs
fs/fuse/dir.c
823:	req->in.h.opcode = FUSE_LINK;

real	0m0.549s
user	0m0.512s
sys	0m0.036s

Sounds like this has been fixed for about 1.5 years now? Closing.

It's your ticket, @kojustin.  Are you satisfied with the fix?

I haven't had to ack/grep the Linux kernel codebase in a while now. For the much smaller codebases I am working on ack 2.14 from homebrew is fast enough


Update ClientCard text to wrap around to new line

Fixes #202

Are we allowed to change these tho? Is this under cosmetic UI changes (not allowed)?

can we say it's a failure bc it doesn't give the proper output for a long text field? bc aaa... is not the same as aaaaaaa

But the user typing this in the first place is considered extreme user input? Idk, what do yall think? @kngys, @trpmy, @reginateh

But the user typing this in the first place is considered extreme user input? Idk, what do yall think? @kngys, @trpmy, @reginateh

I think it's considered extreme user input, probably no need to change?

But the user typing this in the first place is considered extreme user input? Idk, what do yall think? @kngys, @trpmy, @reginateh

I would err on the side of caution and treat this as extreme user input. I'll put a note in UG


select2 4.0: Being avaialble to focus on a field for tagging is essential

Not sure why it has been removed in 4.0 because it was impecably implemented in 3.5.x, where doing something like this would work:
$("#tags").select2('focus');

and the the options are displayed as soon as you start typing
now with 4.0 I can only use do:
$("#tags").select2('open')

which in my particular use case is suboptimal because it hides important info when loaded.

Duplicate of https://github.com/select2/select2/issues/2311.


move mixing length to default precomputed quantities

We need mixing length to calculate cloud diagnostics with or without EDMF. Without EDMF, we can use mixing length = N_eff * dz, where N_eff is the effective buoyancy frequency.

Closed by #2456


Dashboard wording updates in different states

If intake is open and application count is 0
https://www.figma.com/file/nhOquOVmWD1P3BxEY0KIh5/CCBC-Intake?node-id=6362%3A28240

[ ] Start a new application. Review of applications will begin on [intake close date]. You can edit applications, including Submitted ones, until this date.
[ ] Applications will appear here

no table

If intake is open and application count is 1+
https://www.figma.com/file/nhOquOVmWD1P3BxEY0KIh5/CCBC-Intake?node-id=6362%3A28883

[ ] Review of applications will begin on [intake close date]. You can edit draft and submitted applications, until this date.

show table in lieu of "applications will appear here"

If intake is closed and no future intake dates are set and application count is 0
https://www.figma.com/file/nhOquOVmWD1P3BxEY0KIh5/CCBC-Intake?node-id=6364%3A29446

[ ] Applications are currently not being accepted.

no table

If intake is closed and an intake is upcoming and application count is 0
https://www.figma.com/file/nhOquOVmWD1P3BxEY0KIh5/CCBC-Intake?node-id=6362%3A28255

[ ] Applications are currently not being accepted.
[ ] Please return to submit applications for [Intake name] when it opens on [MM/DD 00:00 AM]

no table

If intake is closed and an intake is upcoming and application count is 1+

[ ] https://www.figma.com/file/nhOquOVmWD1P3BxEY0KIh5/CCBC-Intake?node-id=6362%3A28411
[ ] New applications are currently not being accepted.
[ ] Please return to submit applications for [intake #] when it opens on [MM/DD, 00:00 AM]

show table

@MarsRomer tagging for visibility and review!

@zoeyli-46  would it make sense to show an empty dashboard table when applications = 0?

@zoeyli-46  can we change 'complete' to 'submit' if applications > 0

@MarsRomer changed the word to submit
We originally thought about having an empty dashboard when applications = 0 but we decided against it because we want applicants to just immediately see the next action to take, which is to click the new application button.
Other than this, this ticket is ready to be placed in a sprint! :)

@zoeyli-46 do you think  the places where we say 'applications can be edited until the intake closes' can possibly be clarified?  i.e. Draft applications can be edited anytime, regardless of when the intake closes.  Submitted applications can be edited until the intake closes.

Regarding "draft applications can be edited anytime regardless of when intake closes", is this to say that the draft application can be edited for the following intake if not submitted?
Because the application questions may change in following intakes, it might confuse the applicant to allow them to edit a draft application from a previous intake. Because they do not know what questions changed, they may just start a new application altogether instead of editing the old one.

and I think we were going to let them do that, they can continue to edit the drafts.  If we add a question we will need a banner to alert them of this, and it will also show up in the review page as something missing.  If we remove a question, that can be a banner to let them know.  We will try very hard to limit changing the intent of any of the questions.  How does that sound?

I'm wondering if this ticket should be split in 2 tickets, one for when the urgent things we need done for when the intake opens, and then another for when the intake closes.

I agree! I think what you mention about allowing them to edit drafts is another ticket, I'll create it in the new issues column.
I think this ticket is focused on what the dashboard page description should say, not how to the dashboard table should behave/alert banners in the form

Can we add wording updates rather than just behavioural updates? Also will be hard for Mars to check the 0-count states before this passes from PO Review -> Sprint DOne

Hey team! Please add your planning poker estimate with Zenhub @AntBush @matthieu-foucault

@zoeyli-46 @elliottSlee make wording as general as possible

I just noticed by using time travel that after the first intake closes, the dashboard disappears.  Do we need a separate ticket for the dashboard to persist in between intakes?

Looks good, but scenario 1 isn't as expected.  I still see the ISED message when I set the current date to be in between 2 intakes (December 20, 2022).  but works fine when I set the current date to April 2023.
I think we wanted just the message in scenario 1 regardless of an upcoming intake date in the database (except for the very first intake of course since it's a special case)

The ISED alert is a separate issue. We added it in hastily to solve the issue when we were expecting to launch shortly and didn't spend much development time on it to cover all scenarios as the messaging would likely be outdated either way by next intake. In it's current, simplistic implementation it just displays when there is no open intake.
I believe we discussed last week to just remove it from our codebase when the intake opens.

I think we should do what ever is the simplest solution, but keeping in mind that it's not entirely out of the question that we may need this banner again down the road.  ISED is talking about updating their maps more regularly moving forward, so there may be another update in January which would require this banner to show again with similar wording.  Is there a simpler way to add/remove this banner?  growthbooks perhaps?

@marcellmueller & @MarsRomer I thought there was a card about updating the banner to say applications are now being accepted. We discussed lumping in removing the current banner with that card. I can't find it.

Sounds good @MarsRomer, we can talk about this during backlog refinement though I think it will be a new (even if likely small) ticket.


'tags'' field from old installs could have wrong data-type causing crash

Better to fix the datasource than to add work-arounds in the code
Closes #1847
Closes #2456

See attached url-watches.json
            "tags": "",
When update_16 is run automatically, it is a list again.


AttributeError: 'pyds.NvOSD_Masis:issue is:open kParams' object has no attribute 'get_mask_array'

AttributeError: 'pyds.NvOSD_MaskParams' object has no attribute 'get_mask_array'

What's your DeepStream version?

It's the letest 6.3

update all dependencies required for deep-stream had works for me


feat: support renaming object properties with .from() and add metadata

This enables the following:
const Response = z.object({
  userId: z.string().from("user_id"),
});
const response = Response.parse({
  user_id: "foo",
});
// => { userId: 'foo' }
type ResponseOutput = z.output<typeof Response>;
// equivalent to:
type ResponseOutput = {
  userId: string;
};
type ResponseInput = z.input<typeof Response>;
// equivalent to:
type ResponseInput = {
  user_id: string;
};

Details
This PR also adds a metadata property to all ZodTypeDefs; .from('foo') clones the schema with metadata: { from: 'foo' } on the def.  There have been multiple issues requesting support for attaching metadata to nodes, and I know you've encouraged users to wrap Zod schemas so that you can keep Zod simple, but we haven't thought of any satisfactory ways to accomplish a lot of our goals without metadata:

Associating OpenAPI metadata like examples to a schema used for several responses' properties, and being able to generate an OpenAPI spec from the combined response schemas (a number of libs out there monkeypatch .openapi() onto ZodType).
Marking certain response properties as includable/selectable
Renaming properties like this

The ZodObject types and parsing code are able to unwrap ZodOptional/ZodNullable/ZodDefault so that .from('foo').optional() works as well as .optional().from('foo').
I added type parameters everywhere for metadata, which is kind of awkward.  It's not strictly necessary, even without all those type parameters,ExtractFrom<ZodOptional<WithMetadata<ZodString, {from: 'foo'}>>> should work.  But maybe having the metadata type parameters makes sense in an imagined ecosystem of third-party libs that operate on attached metadata?
Notes
I acknowledge this is a big change, and I know you've been wary about attaching metadata to zod schemas in the past, but I wanted to see what you think about this approach.  This is the solution to #2470 that we've come up with to use in our own fork, if nothing else.  For the API framework we're building we want to provide much cleaner ways of declaring input/output property names
I haven't updated the Deno code yet... waiting to get some feedback on this approach before I proceed

I would imagine that the mapping is metadata on the ZodObject, not on the individual properties. I'm picturing an API more like:
const Response = z.object({
  userId: z.string(),
}).mapKeys({
  userId: "user_id",
});

Mostly because each individual property is itself a schema and for composability's sake you might be taking a schema from some object's shape and putting into another schema which doesn't have the expected key, or maybe it ends up as an array element, etc.

@scotttrinh yes that's probably better in a lot of ways...it feels dissatisfying for userId to be duplicated, but I guess there's just no perfect solution.

@scotttrinh would the .mapKeys information be preserved by subsequent .partial, .extend, etc?  In my use case at least, I would want it to

@jedwards1211

would the .mapKeys information be preserved by subsequent .partial, .extend, etc? In my use case at least, I would want it to

Yeah, although pick/omit would need to remove it in some cases so you don't have surprises if you later merge an omitted object schema with a new one that you didn't define a map for and suddenly your keys is getting mapped because of some deep ancestor 😂

@scotttrinh well I just mean if you pick the userId property it would keep the userId: user_id mapping, to me that would be the expected behavior.  Whereas if you omit userId it would also discard the userId: user_id mapping.

The bigger problem with metadata typing I'm running into though is that it increases the size of the graph TS has to traverse to measure the variance of types that contain ZodObject schemas etc. and sometimes hits the limit where it bails and says the type instantiation is possibly infinite.  I haven't gotten to the bottom of whether there's a mistake in my approach that causes true infinite recursion in some cases or if it just pushes the type graph size a bit over the threshold.

@colinhacks @scotttrinh setting aside the .mapKeys() API question, I'm curious for your thoughts on the metadata approach of this PR, and whether it's something you might be open to?
In the past, Colin has said he's not interested in allowing third-party libraries which build on zod to embed their own custom metadata in zod schemas – since then, in practice, many libraries which build on zod have had a hard time providing great APIs to users whilst building on top of zod. For ourselves, I feel fairly confident we'll need to fork zod to provide a good user experience without a clean way to attach custom metadata to zod schemas in a typesafe way.
Zod can serve as the basis for various other DSLs (ORMs, API DSLs like ours, etc) and I think it'd really benefit the community to have a single base for this rather than requiring a bunch of forks to keep builders nice and fluent.
Of course, it's your project, so if this isn't a direction you're interested in, we'll figure something else out!

Not stale

Closing in favor of #2496


[VisuallyHidden] Element imports CSS into JS, can this be handled in anothe way.

❔ Question
When working with <VisuallyHidden/> the currently vended copy relies on importing CSS into JS:
import "./main.css";

My project doesn't use CSS Modules and I'd like not to add additional complexity to my build tools. Is there an alternative to this techniques that could be used and support a broader number of project contexts?
The CSS is pretty small, might even fit into a Tweet ._u-react-spectrum-screenReaderOnly_3e916{border:0;clip:rect(0 0 0 0);-webkit-clip-path:inset(50%);clip-path:inset(50%);height:1px;margin:0 -1px -1px 0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}._u-react-spectrum-screenReaderOnly_3e916._is-focusable_3e916:active,._u-react-spectrum-screenReaderOnly_3e916._is-focusable_3e916:focus{clip:auto;-webkit-clip-path:none;clip-path:none;height:auto;margin:inherit;overflow:visible;position:static;width:auto;white-space:inherit}, hopefully there are alternative approaches to including it.
🔦 Context
Attempting to use aria hooks in a low/no build environment.
🧢 Your Company/Team
Adobe Spectrum

I guess we could probably use inline styles... not sure if there's any perf impact to that vs classes. Or maybe inject a style tag, but that seems less ideal as well.

If this is something that was low occurrence (I've been only looking at a small subset of the API surface), I could see patch-packaging it out of the files so that I could choose how I wanted to include that CSS in my project. Not sure whether it creates trouble to manage two exports, one with CSS imported and one with documentation as to where to find the CSS files?

Eh yeah, but we should solve this. Others might want to use React Aria in environments that don't support CSS imports too.

Made an attempt here. Less optimal than I'd hoped due to the focus styles, which can't be reproduced with an inline style. So we need some JS to handle it. Looked at injecting a style tag at runtime, but this won't work for server side rendering. If anyone has other ideas, please let me know. https://github.com/adobe/react-spectrum/pull/911

maybe this is related to this error. I made a codesandbox where is not possible to use visually-hidden or any package that uses it (like overlays) because of it: https://codesandbox.io/s/nextjs-react-aria-css-error-r33kz
any help I can do on testing or feedback let me know!


app.kerberos.io - Day Overview Question

@cedricve I think I know what the Day Overview is but can you explain - is it joining all recordings into one and the timeline on the right is a way to jump to each clip? ( the movie does not load for me )
Related to this, is it possible to download the number of events per day data in a csv or json  file?
Again just to say that the app.kerberos.io analytics are great for my use case of tracking activity in bird nest boxes - thanks for all the work, Im getting great value from the subscription.
John

Thanks @harpyeagle, can you upgrade to the latest version? And can you confirm you have the "Fragmented recording" option enabled in the "Recordings tab" on the settings page.

Related to this, is it possible to download the number of events per day data in a csv or json file?
Interesting what is the usecase? To important in a tool such as Power BI for dashboarding? Or you would like to have this in the Kerberos Hub UI?

Hi @cedricve
I'm running into an issue when Fragmented recording is turned on. If I download a recorded video I am no longer able to do basic edits on it in Quicktime - "Export", "Trim" etc. Is this related to the Fragmented recording setting? Its like they are read-only.
Thanks,
John

Hi @cedricve
Just to answer my own question - if you do run into the above issue an alternative is to use an application called Compressor on the mac store.
Thanks,
John


Gather all Events in RSSAgent before sorting

May fix #1077.

Quick review @knu or @dsander?

Looks good!

Thanks!


Update Workshop.md

These instructions are in README.md

We know, Lloyd requested they be moved into a single file.

The README also contains the instructions on cloning the repo and testsuite so that would need moving across too, I think.

I've already moved them across, see the second commit.
I realised I had missed them in my initial commit and went to update it but I think I updated the PR as you closed it, so you may not have seen the second commit.

OK cool, that makes sense. We can merge this as-is but I wonder if it would be better to move the contents of Workshop.md to README.md entirely, so all the instructions are on the front page of the repo. What do you think?


ImportError: cannot import name 'sync' from 'os'

Hi
I am trying out the enhancement. But the error was raised
Traceback (most recent call last):
  File "D:\A\Pycodes\Speech enhancement and derverberation with diffusion-based generative models\enhancement.py", line 10, in <module>
    from sgmse.model import ScoreModel
  File "D:\A\Pycodes\Speech enhancement and derverberation with diffusion-based generative models\sgmse\model.py", line 1, in <module>
    from os import sync
ImportError: cannot import name 'sync' from 'os' (E:\Anaconda\lib\os.py)
PS D:\A\Pycodes\Speech enhancement and derverberation with diffusion-based generative models>

Do you have any idea why?

Hi, this may have to do with a Python version mismatch. We used Python 3.8. However, the problematic import was unused in the first place - I have removed it in this repository just now. Could you try again after pulling the current state of the repo?

Thank you for your reply. I tried python 3.8. It still occurred.

(py38) C:\Users\FunkYou>python "D:\A\Pycodes\Speech enhancement and derverberation with diffusion-based generative models\enhancement.py" --test_dir D:\A\Marine Mammal Detection\datasets\Watkins confused --enhanced_dir D:\A\Marine Mammal Detection\datasets\Watkins confused --ckpt "D:\A\Pycodes\Speech enhancement and derverberation with diffusion-based generative models\checkpoints\train_wsj0_2cta4cov_epoch=159.ckpt"
Traceback (most recent call last):
  File "D:\A\Pycodes\Speech enhancement and derverberation with diffusion-based generative models\enhancement.py", line 10, in <module>
    from sgmse.model import ScoreModel
  File "D:\A\Pycodes\Speech enhancement and derverberation with diffusion-based generative models\sgmse\model.py", line 1, in <module>
    from os import sync
ImportError: cannot import name 'sync' from 'os' (E:\Anaconda\envs\py38\lib\os.py)

(py38) C:\Users\FunkYou>conda env list
# conda environments:
#
base                     E:\Anaconda
myenv                    E:\Anaconda\envs\myenv
py36                     E:\Anaconda\envs\py36
py38                  *  E:\Anaconda\envs\py38

(py38) C:\Users\FunkYou>python
Python 3.8.13 (default, Mar 28 2022, 06:59:08) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

Anyway, I will try the new repo. Thanks


chore(deps): bump https://github.com/jenkins-x/step-go-releaser from 0.0.8 to 0.0.14

Update jenkins-x/step-go-releaser from 0.0.8 to 0.0.14
Command run was jx step create pr regex --regex version: (.*) --version 0.0.14 --files docker/gcr.io/jenkinsxio/step-go-releaser.yml --repo https://github.com/jenkins-x/jxr-versions.git

/approve


Update DRPolicy with a region value

This is to catch up with changes to the DRPolicy
CRD as per ramen code base.
Signed-off-by: Shyamsundar Ranganathan<EMAIL_ADDRESS>

I suspect this will fail for older builds as DRPolicy CRD does not have the region value in there. We may want to keep this PR pending till we find a manner to provide for an older branch that would work without the region value.

Closing as this is stale, DRPolicy changed to referencing DRCluster instead.


TypeError: Deno.spawn is not a function after upgrading Deno to 1.29 (was working in 1.28.3)

Version
1.14.1
Platform
Windows and GitHub Page Deploy
What steps will reproduce the bug?

Setup lume
add pagefind plugin
build OR run (deno task serve)

How often does it reproduce? Is there a required condition?
Everytime
What is the expected behavior?
Run and Build and Deploy
What do you see instead?
TypeError: Deno.spawn is not a function
    at (https://deno.land/x/lume@v1.14.1/plugins/pagefind.ts:182:51)
    at async Events.dispatchEvent (https://deno.land/x/lume@v1.14.1/core/events.ts:49:11)
    at async Site.build (https://deno.land/x/lume@v1.14.1/core/site.ts:521:5)
    at async build (https://deno.land/x/lume@v1.14.1/cli/build.ts:36:3)
    at async Command.execute (https://deno.land/x/cliffy@v0.25.5/command/command.ts:1794:7)
    at async Command.parseCommand (https://deno.land/x/cliffy@v0.25.5/command/command.ts:1639:14)
    at async (https://deno.land/x/lume@v1.14.1/cli.ts:147:3)

Additional information
No response
spawn is deprecated

Thanks for reporting this
It's fixed in v1.14.2


PR1-1 Add PR template

Pull Request Template

Jira Link
Description

Added simple PR template to the common components repo, as a brainstorming exercise to formulate a standardized PR template.
Checklist

[X] I have self-reviewed the code
[X] I have updated the relevant documentation to reflect these changes
[X] I have tested these changes
[X] This code has been linted to conform with the rest of the repository
[x] This PR has the correct base branch selected (not main!.. or.. main?)
[ ] I am abiding by our Code of Conduct

Haha, I respect that! I actually meant to replace it with a link to a video of a cat meowing but accidentally left the rick roll in (after being rick rolled :eyes:), so good catch


Inline equations linebreak at appropriate places

Currently, Typst treats an inline equation as a monolithic item.  No line breaks are possible in the middle.
This PR implements something close to TeX's strategy for allowing line breaks.  A break is allowed:

After a binary operator or a relation,
unless the operator or relation is enclosed in a left-right group (or in a more complicated thing like an exponent or a radicand),
except that a relation followed by a relation doesn't line break.
Notwithstanding the above, inline equations with more than one line never line break.

This ended up being somewhat trickier than I anticipated.  The paragraph rendering algorithm delayed rendering of equations and boxes until late, but needed to know how many items in the paragraph these objects will become early on.  That's easy if the answer is always "1", but for equations the answer now depends on layout.  So layout was migrated sooner in the algorithm.
Additionally, when determining whether a line break is allowed after all of the initial math layout is done, you need to know if binary ops and relations are sitting inside of LR groups.  But not enough information was left behind to determine this.  So an additional layer of tags was introduced so that beginnings/ends of LR groups could be identified after the fact.
Some notes/questions:

Meta information for the whole inline equation is applied to all of the resulting (non-space) fragments. I need confirmation that that was the right choice.
The Layout trait takes a &mut Vt as an argument.  I think that means, in principle, that there can be ordering effects if children are laid out in different orders.  So when I moved the equation rendering early, I also moved the box rendering early.  But I noticed that layout of fractional-spaced boxes was, in fact, already delayed until the very end of paragraph layout, just before completion. Are ordering effects a non-issue? I'm not exactly sure what in the Vt might be altered during layout.  At any rate, this PR lays out paragraph children in the same order as was done previously (preserving any bugs, if they were present).
In TeX, something like $10^3$cm does not allow a line break between the formula and the text.  By contrast, Typst allows line breaks here.  One could implement this, I think, by changing the way formula fragments are represented in the paragraph (as a non-breaking space U+00A0 instead of an object replacement U+FFFC, perhaps). But this is best tackled, if desired, in a separate PR.
A couple of test source files were edited so that newly legal line breaks did not interfere with the spirit of the test.

Example
#set page(width:120pt,margin:10pt,height:auto)
#let hrule(x) = {box(line(length:x))}
#hrule(50pt)$e^(pi i)+1 = 0$\
#hrule(60pt)$e^(pi i)+1 = 0$\
#hrule(80pt)$e^(pi i)+1 = 0$\

Before

After

Meta information for the whole inline equation is applied to all of the resulting (non-space) fragments. I need confirmation that that was the right choice.

Should be fine. The introspector will deduplicate it.

The Layout trait takes a &mut Vt as an argument. I think that means, in principle, that there can be ordering effects if children are laid out in different orders. So when I moved the equation rendering early, I also moved the box rendering early. But I noticed that layout of fractional-spaced boxes was, in fact, already delayed until the very end of paragraph layout, just before completion. Are ordering effects a non-issue? I'm not exactly sure what in the Vt might be altered during layout. At any rate, this PR lays out paragraph children in the same order as was done previously (preserving any bugs, if they were present).

The ordering isn't determined by the order in which things are layouted, but by the order in which they end up in the frames. The important thing is thus just that the order in which things are layouted is the same across multiple layout passes. This is because the &mut Vt is the source of stable identifiers (Locations).

In TeX, something like $10^3$cm does not allow a line break between the formula and the text. By contrast, Typst allows line breaks here. One could implement this, I think, by changing the way formula fragments are represented in the paragraph (as a non-breaking space U+00A0 instead of an object replacement U+FFFC, perhaps). But this is best tackled, if desired, in a separate PR.

You are correct that this would require changing the way formula fragments are representation. I'm fine with deferring this, it seems unrelated.

A couple of test source files were edited so that newly legal line breaks did not interfere with the spirit of the test.

Sounds good!

The GroupRole thing is very much unappealing, I totally agree.
It's there because TeX's left/right groups don't break (see below) and I interpreted lr as the equivalent of a left/right group, which it largely is.  They do happen more frequently in Typst than in LaTeX  because of automatic delimiter matching. (Oh, I see; you've updated your comment; you know all this)
We can drop the GroupRole thing and allow breaking in left/right groups.
Alternatively we can rejigger MathFragment so that it's a single object that has two fields: one is a current MathFragment enum and one is a GroupRole.   At least that way there are fewer GroupRoles announcing themselves in the code.  Probably that would have been the better thing to have done in the first place.

The LaTeX code:
\documentclass[12pt]{article}
\usepackage[papersize={200pt, 100pt},left=20pt, right=20pt]{geometry}
\begin{document}
\noindent fill fill fill fill fill fill fill $\left(a+b+c\right)$
\end{document}

yields

Add one more fill and you get

And one more and you get

To be honest, I think breaking in LR is not that bad. It's still only after relations.

I'll update to do that, and will address the other minor comments.

How's it going with this @damaxwell?
It is really a crucial feature, and I'm very happy that someone too it up!

Closing due to inactivity.

Can't wait til this feature drops in the new Typst release 😄


AbstractHttpServlet 'getAction' should receive request parameters in order to return appropriate action

Method signature will be changed to receive both HttpServletRequest and HttpServletResponse


Flake8 rule 'E999' reported an invalid point

It's dead jim :(
Flake8 reported an invalid point for the rule E999, with the messge IndentationError: expected an indented block.

# -*- coding: utf-8 -*-
#
#    Copyright (C) 2016 Lan ETS
#
#    This program is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    This program is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

from django.views.generic import ListView
from lanets.apps.administration.models import Configuration

class HotelsView(ListView):

Debug information:
Atom version: 1.11.2
Flake8 version: 3.0.4 (pycodestyle: 2.0.0, pyflakes: 1.2.3, mccabe: 0.5.2) CPython 2.7.9 on Linux

Please update your flake8 version (pip install -U flake8). This particular error should be fixed in flake8>=3.2.1.

Will do - I was just about to upgrade all my pip package. Will report back

Everything is swell now - I will close this.
By the way - thanks for the package, it's awesome!
Cheers


Unsupported beautification result 'Parsing error

Beautify cannot parse some CSS. This error also prevents beautify from beautifying any CSS in the file.
It dislikes the following:
@media(min-width:480px) and (max-width:619px) {
    ul.footer-menu-list li: nth-child(3) {
    margin-right: 0;
}
ul.footer-menu-list li:first-child {
    margin-left: 0;
}
.footer-menu-list-item {
    margin: 20px 16px;
}
}

This is what the code looked like before:
@media(min-width:480px) and (max-width:619px) {
    ul.footer-menu-list li: nth-child(3) {
    margin-right: 0;
}
ul.footer-menu-list li:first-child {
    margin-left: 0;
}
.footer-menu-list-item {
    margin: 20px 16px;
}
}

Expected Output
The beautified code should have looked like this:
@media(min-width:480px) and (max-width:619px)
	{
    	ul.footer-menu-list li: nth-child(3)
      {
        margin-right: 0;
      }
    ul.footer-menu-list li:first-child
      {
        margin-left: 0;
      }
    .footer-menu-list-item
      {
        margin: 20px 16px;
      }
    }

Actual Output
The beautified code actually looked like this:
@media(min-width:480px) and (max-width:619px) {
    ul.footer-menu-list li: nth-child(3) {
    margin-right: 0;
}
ul.footer-menu-list li:first-child {
    margin-left: 0;
}
.footer-menu-list-item {
    margin: 20px 16px;
}
}

Steps to Reproduce
Error: Unsupported beautification result 'Parsing error: Please check the validity of the block starting from line #1616
1614 | }
1615 | @media(min-width:480px) and (max-width:619px) {
1616*|     ul.footer-menu-list li: nth-child(3) {
1617 |     margin-right: 0;
1618 | }
Gonzales PE version: 3.0.0-28
Syntax: css'.
at beautifyCompleted (/Users/deauberts/.atom/packages/atom-beautify/src/beautify.coffee:135:21)
at tryCatcher (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/util.js:16:23)
at Promise._settlePromiseFromHandler (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:510:31)
at Promise._settlePromise (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:567:18)
at Promise._settlePromise0 (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:612:10)
at Promise._settlePromises (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/promise.js:687:18)
at Async._drainQueue (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:133:16)
at Async._drainQueues (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:143:10)
at Async.drainQueues (/Users/deauberts/.atom/packages/atom-beautify/node_modules/bluebird/js/release/async.js:17:14)
Debug
Here is a link to the debug.md Gist:
https://gist.github.com/BMOv2600/acc5abfd3b26ef8a042674ba4b33bd3d
Checklist
I have:

[ X] Tried uninstalling and reinstalling Atom Beautify to ensure it installed properly
[ X] Reloaded (or restarted) Atom to ensure it is not a caching issue
[ X] Searched through existing Atom Beautify Issues at https://github.com/Glavin001/atom-beautify/issues
so I know this is not a duplicate issue
[ X] Filled out the Input, Expected, and Actual sections above or have edited/removed them in a way that fully describes the issue.
[ X] Generated debugging information by executing Atom Beautify: Help Debug Editor command in Atom and added link for debug.md Gist to this issue

Hi guys!
First of all, li: nth-child(3) is not valid css, there should be no space after :, that's why you get parsing error.
Also, Atom Beautify uses outdated version of csscomb package (3.1 instead of 4.0), I would suggest you update to the latest one, it has a lot of parsing issues fixed.

Sorry. I used an unminifier that might have added the space. Glad you caught that.
How do I update Beautify's csscomb package?

https://github.com/Glavin001/atom-beautify/pull/1660 has been merged.
Published to v0.29.26


Refactor: Rationalize use of alerts and callouts

These two components are very similar. Can we just choose to use one over the other?

@drewbanin — is there one we should be preferring?
Should we instead bump our docusaurus version and use callouts instead?

@clrcrl Still something you have an opinion on? :)

@clrcrl Still something you have an opinion on? :)

I think this it outdated, we ended up implementing the native-docusaurus callouts

I think this it outdated, we ended up implementing the native-docusaurus callouts


SearcherManager should return new IndexSearchers every time [LUCENE-10664]

SearcherManager caches IndexSearcher instances. This is no longer a good approach now that IndexSearcher has timeout support (#11188) and keeps track of the time until which queries are allowed to run.

Migrated from LUCENE-10664 by Adrien Grand (@jpountz), updated Aug 02 2022

@zhaih In general when there is an easy way without a threadlocal, this is my preference since threadlocals can introduce subtle bugs or memory issues.


Schema: Move node-selection's href and any-content into choice

In the current schema, node-selection makes both href and content optional. So it allows these elements:
<x:context href="uri">content</x:context>

<x:param href="uri" name="foo">content</x:param>

<x:expect href="uri" label="foo">content</x:expect>

which don't make sense.
As for x:context, the scenario is terminated: https://github.com/xspec/xspec/blob/63cf95d7eade5678e5c994fae18ff69d3410ac5d/src/compiler/generate-xspec-tests.xsl#L123-L130
As for x:param and x:expect, content is ignored: https://github.com/xspec/xspec/blob/63cf95d7eade5678e5c994fae18ff69d3410ac5d/src/compiler/generate-tests-helper.xsl#L51-L66
This PR updates the schema to reflect it. The elements above are no longer allowed by the updated schema.
Also added are

Simple tests to validate the tests/tutorial against the schema (c07917e73f914992f3b71240cc14e807834f47b7)
Tests to verify that the implementation does select href over any-content (38a77b0244ffdd0a2c7c907e5793c19f0c23b8cb)
Tests to verify that the schema does detect violation<PHONE_NUMBER>12d1acc57505cfa8bd6eac74fb1866)

@AirQuick This schema change is a good usability improvement, and the tests that you have already added will be very helpful when new tests are added and when changes are made to the schema.
test/end-to-end/cases/*.xspec could possibly be added to these tests, however xspec-rule.xspec fails validation to the schema due to the variable and apply elements.

Thanks, @vincentml
Right. variable and apply should be addressed some day: #60

The two scenarios in test/end-to-end/cases/xspec-rule.xspec are disabled by pending attributes. And in this case, the pending attributes are not being tested. (On the other hand, pending attributes in xspec-pending.xspec are actually tested.)
So, we can comment out those two scenarios safely. I commented out them in eb6eed6.
Now we can include test/end-to-end/cases/*.xspec in validation testing. I did so in df8513e .

obsoleted by #307


Feature/libitd 2221

Fixed bug in export.py with running two commands after each other without commit changes in between
added try-finally to all tests to ensure setup and teardown are always called even if an assert fails
removed the use of the export directory and changed export.py to create temporary files instead of making actual ones
re added arg parameter to schema command and also added args parameter to all the tests where schema is called

https://issues.umd.edu/browse/LIBITD-2221

@aguilarm-umd Please make the Pull Request to the umd-lib branch: https://github.com/umd-lib/patsy-db/tree/feature/LIBITD-1754

Okay, I made a pull request for the LIBITD-1754 branch in umd-lib, so I guess I'll close this one then.


chore: govulncheck shouldn't check out code

Before (checking out the PR SHA, and then govulncheck checks out the main branch):

After (checkout out the PR SHA and then using it):


afEachArrayItem / Prepopulate with data

I can't seem to squirrel out a solution here, and no doubt there is a simple answer.
I have an array of objects in a form, running a custom template, and AF only seems to ever render the 0 index in the array.  When clicking (+) and adding more rows the data appears, and (-) works fine.
Is there a trick to force the initial count to the options.length of the field?
Schema:
    'currencies': {
        type: Array,
        optional: true,
        minCount:1,
        maxCount: 10
    },

    'currencies.$': {
        type: Object
    },

    'currencies.$.name': {
        type: String,
        label: "Name",
        max: 200
    },

    'currencies.$.iso3': {
        type: String,
        label: "ISO3",
        max: 200
    }

Template:

            {{#afEachArrayItem name=this.atts.name}}

                                    {{> afQuickField name=this.current.name label=false template="bootstrap3"}}

                                    {{> afQuickField name=this.current.iso3 label=false template="bootstrap3"}}

                            {{#if afArrayFieldHasMoreThanMinimum name=../atts.name minCount=../atts.minCount maxCount=../atts.maxCount}}
                                <button type="button" class="btn btn-danger btn-sm autoform-remove-item"></button>
                            {{/if}}

            {{/afEachArrayItem}}

Actually, the lack of rendering was due to the currencies property being an object and not an array (schoolboy error!), with that fixed, this works, though it isn't possible to delete index 0 in the array.
Clicking remove adds a hidden field, but this removed field re-appears on submit, and thus is never deleted.
is there something else I am missing? Could this also just be data related?

Worth refering to my comments here also:
https://github.com/aldeed/meteor-autoform/issues/838


Linalg refactor

Goal of this issue is to be provide a more pythonic API and to make it easier to track changes to world object transforms.

Start using the https://github.com/pygfx/pylinalg package so we can drop the linalg module and tests from this project.
Refactor such that we work with plain ndarrays for all data (e.g. vectors, matrices, quaternions)
Provide modules with linalg utils (e.g. pylinalg.quaternion.from_euler())
Be consistent about functions accepting arguments: xx(point) vs xx(x, y, z). Also in the pygfx itself.
Be able to add and multiply vectors, and be able to scale (interpolate) rotations.
In-place ops ...

This can be useful: https://www.python.org/dev/peps/pep-0646/

Korijn is working on it: https://github.com/pygfx/pylinalg/pull/5


Starting/stopping Kubernetes stops all running docker containers

Describe the bug
Each time the 'enable kubernetes' switch is toggled (at the top of the pods page), all the docker containers that are currently running are stopped.
To Reproduce

Start a regular docker container
Go to the Pods page in the Orbstack main window
Enable kubernetes
Note that the regular docker containers are now stopped

Expected behavior
Changes to kubernetes should not affect other docker containers.
Diagnostic report (required)
OrbStack info:
Version: 1.0.0
Commit: c43913566b3e18b25f38a8d5f70e535eb265bdb2 (v1.0.0)
System info:
macOS: 14.0 (23A344)
CPU: arm64, 10 cores
CPU model: Apple M1 Pro
Model: MacBookPro18,1
Memory: 32 GiB
Full report: https://orbstack.dev/_admin/diag/orbstack-diagreport_2023-10-12T17-08-44.817907Z.zip

Screenshots and additional context (optional)
No response

Expected behavior as OrbStack's Kubernetes cluster uses the Docker engine as the container runtime.

Actually, this can probably be improved.

Actually, this can probably be improved.

Actually, this can probably be improved.


Add script for updating version string

Add a script for updating version string for release process.

Replaced by #44


Stock market

Description
I have added a script to fetch real-time stock data in required intervals for the desired company.
Fixes #33
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes
[ ] No

Type of change
Please delete options that are not relevant.

[x] New feature (non-breaking change which adds functionality)
[x] This change requires a documentation update
[x] Documentation Update

Checklist:

[x] My code follows the style guidelines(Clean Code) of this project
[x] I have performed a self-review of my own code
[x] I've edited the README.md and link to my code.
[x] I have created a helpful and easy to understand README.md
[x] My documentation follows Template for README.md
[x] My changes generate no new warnings
[x] I have added tests/screenshots(if any) that prove my fix is effective or that my feature works.

Can you add the requirements.txt file also ?, it will helpful.

There is only one library involved which is why I have included the pip command in the Readme itself.

Can you add the requirements.txt file also ?, it will helpful.

There is only one library involved which is why I have included the pip command in the Readme itself.

Great Then !👍

@L3thal14 Kindly Resolve the Conflicts


Operation Wolf

The mouse or gamepad does not work.

Operation Wolf does not use TBIOS, and that's why Tsugaru cannot integrate mouse by default.  At this time, Tsugaru does not automatically identify an application, so please specify OPERATIONWOLF from "Application" tab if you are using GUI, or -APP OPERATIONWOLF if you are using CUI.


Update auto-update.md

Updated the note and added link to https://docs.microsoft.com/en-us/microsoft-edge/extensions-chromium/publish/update-extension documentation for users who are updating their extensions directly in partner center

Docs Build status updates of commit 6c88297:
:warning: Validation status: warnings

File
Status
Preview URL
Details

microsoft-edge/extensions-chromium/enterprise/auto-update.md
:warning:Warning
View
Details

microsoft-edge/extensions-chromium/enterprise/auto-update.md

Line 35, Column 234: [Warning-hard-coded-locale] Link 'https://docs.microsoft.com/en-us/microsoft-edge/extensions-chromium/publish/update-extension' contains locale code 'en-us'. For localizability, remove 'en-us' from links to most Microsoft sites.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 63f8f08:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/extensions-chromium/enterprise/auto-update.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 86b59a6:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/extensions-chromium/enterprise/auto-update.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 52d3c46:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/extensions-chromium/enterprise/auto-update.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit b1c76a9:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-edge/extensions-chromium/enterprise/auto-update.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Sync genconfig.py output file extensions with rest of repo

Change output extention from ".yaml" to ".yml". Help output, README and default config file extensions all use ".yml".

@glommer ping

Hi.
I am ok with the change. genconfig generates the files in a different
location than the standard files, and the files have to be passed
explicitly with the -n and -s switches to start-all.
Because of that the extension doesn't matter - they will be bind mounted to
the correct locatiom regardless of their name.
But consistency is good so I am ok with it
On Jul 30, 2017 3:25 AM, "Tzach Livyatan"<EMAIL_ADDRESS>wrote:
@glommer https://github.com/glommer ping
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/scylladb/scylla-grafana-monitoring/pull/203#issuecomment-318884232,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUNvZQ4mX1BnJhjJR2c0fBLbwiwFEp_ks5sTDACgaJpZM4OdlIy
.

Thanks @siculars @glommer


Refactor AsyncSignal

Refactor AsyncSignal
Adding back FutureSignal and StreamSignal as AsyncSignal subclasses
Adding AsyncSignalStatesealed class for AsyncSignal state
Adding reload to AsyncSignal
Adding refresh to AsyncSignal

This is a breaking change but the API is a lot more flexible and works better for Future/Stream or AsyncValue direct usage:
class Example extends StatefulWidget {
  const Example({super.key, required this.title});

  final String title;

  @override
  State<Example> createState() => _ExampleState();
}

class _ExampleState extends State<Example> {
  final throwError = signal(false);
  final delay = signal(500);
  late final _futureSignal = futureSignal(() => _future());

  Future<int> _future() async {
    await Future.delayed(Duration(milliseconds: delay.value));
    if (throwError.value) {
      throw Exception('Error');
    } else {
      return Random().nextInt(1000);
    }
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        backgroundColor: Theme.of(context).colorScheme.inversePrimary,
        title: Text(widget.title),
      ),
      body: Center(
        child: ConstrainedBox(
          constraints: const BoxConstraints(maxWidth: 400),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              Watch((_) {
                return SwitchListTile(
                  title: const Text('Throw Error'),
                  value: throwError.value,
                  onChanged: (value) => throwError.value = value,
                );
              }),
              Watch((context) {
                return ListTile(
                  title: const Text('Result'),
                  subtitle: _futureSignal.value.map(
                    data: (value) {
                      return Text(
                        value.toString(),
                        style: Theme.of(context).textTheme.headlineMedium!,
                      );
                    },
                    error: (error, _) {
                      return Text(
                        'error:$error',
                        style: Theme.of(context).textTheme.headlineMedium!,
                      );
                    },
                    loading: () {
                      return const Center(child: CircularProgressIndicator());
                    },
                    reloading: () {
                      return Text(
                        'reloading',
                        style: Theme.of(context).textTheme.headlineMedium!,
                      );
                    },
                    refreshing: () {
                      return Text(
                        'refreshing',
                        style: Theme.of(context).textTheme.headlineMedium!,
                      );
                    },
                  ),
                );
              }),
              Row(
                children: [
                  Flexible(
                    child: ElevatedButton(
                      child: const Text('Reload'),
                      onPressed: () => _futureSignal.reload(),
                    ),
                  ),
                  const SizedBox(width: 10),
                  Flexible(
                    child: ElevatedButton(
                      child: const Text('Refresh'),
                      onPressed: () => _futureSignal.refresh(),
                    ),
                  ),
                ],
              ),
            ],
          ),
        ),
      ),
    );
  }
}

Here is another example post migration:
import 'package:signals/signals.dart';

/// AsyncSignal emissions
void main() {
  /// Fetch id value as Future
  Future<String> fetch(int id) async =>
      Future.delayed(const Duration(milliseconds: 5), () => 'Future::$id');

  /// Emit temporised values
  Stream<int> idEmitter() async* {
    yield 1;
    await Future.delayed(const Duration(milliseconds: 10));
    yield 2;
    await Future.delayed(const Duration(milliseconds: 10));
    yield 3;
  }

  /// First AsyncSignal emit the initial value then sync with
  /// idEmitter stream
  final id = streamSignal(idEmitter, initialValue: 0);

  /// Sync on user emitted value with a default emission of 'guest'
  final user = fetch(id.value.requireValue).toSignal(initialValue: 'guest');

  /// When user Future resolve
  final greeting = computed(() => 'Hello, ${user.value}');

  effect(() {
    /// Register to $id AsyncSignal
    print('current id: ${id.requireValue}');

    /// Configure new emission after Fetch resolve with id.value
    user.resetFuture(() => fetch(id.value.requireValue));
  });

  /// Computed Greeting emitted a new Salutation after user.value completed
  effect(() => print('greeting: $greeting'));
}

Could you please also provide an example how you would declare an AsyncSignal (e.g. for a stream in a controller) which will only be assigned on a user action, and how you would watch that signal in the view (which until now didn't seem to be possible when it's declared initially)?
I tried to overcome it here, but i don't think it's a good solution.

With the new Future/Stream signal this should be possible:
Stream<List<String>> getPostsStream(int id) async* {
  yield ['$id:1', '$id:2', '$id:3'];
  await Future.delayed(const Duration(milliseconds: 500));
  yield ['$id:4', '$id:5', '$id:6'];
  await Future.delayed(const Duration(milliseconds: 500));
  yield ['$id:7', '$id:8', '$id:9'];
}

final postsStream = StreamSignal<List<String>>();

Future<VoidCallback> initPosts(int id) async {
  await postsStream.addStream(getPostsStream(id));

  return effect(() {
    print('posts $id: ${postsStream.value.value}');
  });
}

VoidCallback? cleanup;
cleanup = await initPosts(20);
cleanup.call();
cleanup = await initPosts(25);
cleanup.call();

It is also possible to use a switch expression now:
value = switch (value) {
  AsyncSignalStateData<T> data => ...,
  AsyncSignalStateError<T> error => ...,
  AsyncSignalStateLoading<T>() => ...,
};

Also updated the async demo:

Looks really good now, except this error i get now when resetting a StreamSignal.

Is it meant to be that we are not supposed to use AsyncSignalState and its child classes in our code?
Something like this is currently not possible:
final postsSignal = signal<AsyncSignalState>(AsyncSignalStateData(<Post>[]));

since those classes are not exported.
Btw. this is the example where i receive a Future<Either<ApiException, List<Post>>> which i have to handle by myself.
At the moment i use AsyncValue classes from the package state_beacon, but since similar classes are available in Signals directly why not make them useable?

I didnt realize they were not exported! Will fix

Fixed on 2.0.2

The 'reloading' state doesn't seem to fire in my code, or in your 'flutter_async' example - the 'refreshing' does (release 2.0.0)

Also fixed this in 2.0.2

Looks all good to me. Thank you so much, Rody.


Provide easier way for Bohemia to trigger summarization during tests

Currently there is some friction on the Bohemia side around triggering summarization during their tests.  While we test summarization on our end, Bohemia needs to test it as well in their document compatibility test case (so they can verify that their old documents will load and summarize correctly under newer runtimes).
We need to look into our own summarization tests and determine if they can be replicated for Bohemia, and provide guidance on how to do so.  If the steps are too difficult/complex, we will need to create a simpler way to trigger it first.

@leeviana fyi

@leeviana fyi

@agarwal-navin - this feels like non-stop ask in light of GC work. Are there dups?
Also this is part of request in https://github.com/microsoft/FluidFramework/issues/6260
Should can we close as dup?
@arinwt - FYI

IMO, there are 3 different types of APIs needed for testing summaries:

An API to generate summary which can then be analyzed if needed. It will run locally and the summary is not sent to the server. This is what the current summarize API on container runtime can be used for and we have tests that do this. We should make this more easily accessible though.
An API to generate summary when needed and this summary gets uploaded to the server and ack'd. Basically, the regular summarizer flow with ability to control when the summary happens. We don't have this today and it may not be straightforward to add this. # 1 and # 2 can probably be done via the same API.
An API to generate summary which can then be used to load another container. This will be similar to the serialize and rehydrateDetachedFromSnapshot APIs on the Container except that it can be run on an attached container. Basically, # 1 plus an API that can load a container from the summary. I believe this is the ask in this work item.

We should probably create issues for these 3 scenarios and everything should fall into one of these buckets.
Having these APIs will be helpful not just to the users of framework for also to the framework itself. I have been wanting to have these in place for our testing anyway :-). I am not sure about the priority though. Even though some of them are not straightforward but we do have tools to do all of these currently.

Not stale

@NicholasCouri Does #8251 address this issue?  Do we have documentation around how this can be achieved?

@NicholasCouri Does #8251 address this issue? Do we have documentation around how this can be achieved?

This is the first time I'm seeing #8251 - I don't think we have documentation around it. Do we have @agarwal-navin? I was looking at #8251 and would it be possible for partners to use the same idea we had on the end-to-end tests Paul had created?

Yes, I would say it is covered by #8251. I am currently updating our tests to use summarizeOnDemand. We can use this in Bohemia as well. We will probably learn the pain points around restrictions around summarizer election and we can improve it for testing.

Did we ever add this documentation so we can try using this in tests?

@agarwal-navin do you have the docs/usage of the summarizeOnDemand API?

@leeviana summarizeOnDemand is used extensively in our end-to-end tests. It's used in the office-bohemia repo in a couple of tests as well. You could take a look and try it other use cases if needed and give us feedback.
I will close this work item since summarizeOnDemand is available for use.


Are there options for theme authors to theme the PR description?

https://github.com/Microsoft/vscode/issues/57301
It's not clear where this grey is coming from which looks very out of place in my theme:

Can this be documented if we can theme?

I came here to create a similar thread. @Tyriar is always ahead 🙌🤣
Anywho, as a theme (SOP) author I'd love to be able to style several elements of the interface.
[ ] GitHub PR Status
Normally the button styles are picked up from the theme but the PR Status is badge/shield is all messed up. GIF ↓

[ ] DP Missing + No Syntax Highlighting
The display image and syntax highlighting are missing in places — not sure if a theme should control these but my 🦄Shades of Purple VSCode theme handles styling of different languages inside the markdown very well. That'd be good too (Happy to recreate a separate issue for this)
Peace! ✌

@ahmadawais for the status text color see #399


Still having the issue with longClassPath

I am still having issue with Long Classpath after applying the plugin
java.io.IOException: Cannot run program "java": CreateProcess error=206, The filename or extension is too long
at java.lang.ProcessBuilder.start(ProcessBuilder.java:1048)
at com.ford.auto.parallel.runtime.ParallelFeatureRunner.run(ParallelFeatureRunner.java:27)
at com.ford.auto.parallel.runtime.ParallelRunner.runFeature(ParallelRunner.java:143)
at com.ford.auto.parallel.runtime.ParallelRunner.lambda$0(ParallelRunner.java:47)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

I use this script
`buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.github.viswaramamoorthy:gradle-util-plugins:0.1.0-RELEASE"
}
}
apply plugin: "com.github.ManifestClasspath"`
It works..
maybe try to clean build..

Hello,
I tried to use this gradle-util-plugins plugin, I can see it downloaded in .gradle cache but, still getting classpath issue while running on windows. Can you tell me the location where it creates the manifest jar ? and check whether it sets the classpath with this manifest jar or not?
I am simply using below scripts in build.gradle:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "gradle.plugin.com.github.viswaramamoorthy:gradle-util-plugins:0.1.0-RELEASE"
}
}
apply plugin: "com.github.ManifestClasspath"


Parser Support for opts.filter and opts.maxFiles

I cleaned up the git history and made a new PR here: https://github.com/doom-fish/rar-stream/pull/30


Using buffer middleware, HTTP status code 500 returned when request time exceed respondingTimeouts

Do you want to request a feature or report a bug?

Bug

What did you do?
I set respondingTimeout in traefik static config and I get different status code while the request time exceed the timeout for scenarios bellow:
buffer middleware enabled
without buffer middleware

What did you expect to see?
I expected to have same HTTP status for those scenarios not 500 status code.
What did you see instead?
buffer middleware enabled -> 500
without buffer middleware -> 502/504 (it seems for HTTP 1.1 requests 504, for HTTP 2.0 requests 502)
Output of traefik version: (What version of Traefik are you using?)

Traefik v2.1.2

What is your environment & configuration (arguments, toml, provider, platform, ...)?
log:
  level: INFO
providers:
  docker: {}
entrypoints:
  web:
    address: ":80"
    transport:
      respondingTimeouts:
        readTimeout: "20s"
        writeTimeout: "20s"
        idleTimeout: 30
  web-secur:
    address: ":443"
    transport:
      respondingTimeouts:
        readTimeout: "20s"
        writeTimeout: "20s"
        idleTimeout: 30
accessLog: {}

If applicable, please paste the log output in DEBUG level (--log.level=DEBUG switch)
<IP_ADDRESS> - - [12/Jan/2020:08:13:37 +0000] "POST /api/log/v2 HTTP/2.0" 500 21 "-" "-" 9528165 "to-apiservice-location@file" - 20000ms

Hello @rooholam and thanks for your interest in Traefik.
I tried to reproduce the issue you are facing on v2.1and v2.3 without any success. With the provided respondingTimeouts configurations, the connection between the client and Traefik is closed without any error message.
The mentioned status codes are returned when something went wrong between Traefik and the proxied service. Therefore, the status codes returned seem to be unrelated to the respondingTimeouts configuration.
I reproduced a timeout between Traefik and a service with and without the buffer middleware, and I always had a 504 Gateway Timeout as expected.
Are you sure that it's not a problem with your service?
If so, can you provide a reproducible case?

Hi! I'm Træfiker :robot: the bot in charge of tidying up the issues.
I have to close this one because of its lack of activity :disappointed:
Feel free to re-open it or join our Community Forum.


chore: use virtualized list for swap history items

Summary
If the user has an extensive list of swaps, such as 100 items, there are performance concerns with rendering the list. As of now, react-window does not provide support for grouping. To address this limitation, we plan to incorporate the react-virtuoso library, which offers support for grouping, and utilize it in instances where we are already employing react-window.
Fixes # (issue)

[x] The scroll functionality should be restricted to the swaps list, rather than allowing it for the entire page.

Checklist:

[x] I have performed a self-review of my code
[x] I have added tests that prove my fix is effective or that my feature works

I'm agree with @samobasquiat on we shouldn't use different solutions for samething.
There are two approach to this:

Use our current libs:  (react-window, react-window-infinite-loader, react-virtualized-auto-sizer)
Downside: We lose sticky header, but can implement grouping. (As Shinji said)
You can ask @RanGojo if we need sticky or not. if we don't, we can go with this.

Use virtuoso:
Downside: bundle size.

It seems it supports for tree shaking, so the final bundle will be smaller hopefully.
If we go with this approach, we should remove the other 3 libs since they already have 35kb size and by adding  virtuoso it goes to ~80kb in total.

Please update the PR description.

I found another bug, I'm not sure what I did is correct but for making my list longer I used this trick:
 <SwapsGroup
              list={[...filteredList, ...filteredList, ...filteredList]}

But what I see is something like this which is not my complete list and it's only a part of the list.
https://github.com/rango-exchange/rango-client/assets/120930547/11bd88bf-2d8a-4ef7-ae67-ee5fea372beb


feat: Remove all unnecessary install modes

Fixes: #152.
Two modes::

The normal mode  sets local core.hooksPath on git hooks install in a repository and will not do any automatic installation on clone/init.
The centralized mode sets this globally and will work by default for all clone/init repos.

More changes:

Run-wrappers can still be installed in local repos, init.templateDir is not used and controlled by Githooks anymore.

Run-wrapper will look by default to githooks-runner and as fallback into git config githooks.runner. We will make
an option to not set githooks.runner where the user is responsible to set the githooks-runner into the path.

The installer has an option --hooks-dir which specifies the directory to place the maintained hooks.

The installer has an option --hooks-dir-use-template-dir in non---centralized mode which looks for set GIT_TEMPLATE_DIR or init.templateDir or the Git default directory. This option is not encouraged, and will install templates on each init/clone as before.

The installer warns if  the chosen hooks dir during install is pointing to a template directory used by Git. This important.

User wanting to install run-wrappers instead of setting core.hooksPath should either use git hooks install --maintained-hooks or place a file <template-dir>/hooks/githooks-contains-run-wrappers to let Githooks know that this repo maintains run-wrappers (for updates etc, that no core.hooksPath is used instead).

Registering is now done for all repositories (also in centralized mode).

git hook uninstall --full and git hooks uninstaller --full-uninstall-from-repos will clean all Git config and cached settings (checksums) in registered repositories, by default git hooks uninstall will not remove locally set githooks.* Git config variables, this is to make reinstallation more easy, e.g. githooks.maintainedHooks stays and will be read on reinstall.

coverage: 78.037% (-2.2%) from 80.215%
when pulling 22ef4bcf921656630a81ef008bc5897cf58ccfa7 on feature/remove-all-unnecessary-install-modes
into 116356a27cabdb23e0b4545788c52117b38e7a87 on main.


Removes walk_files from datasets/utils.py

[x] Remove walk_files from datasets/utils.py
[x] Remove TestWalkFiles from tests

@1nF0rmed  Thanks for the contribution. but there was a PR which was submitted slightly earlier, so I will close this one.


[Question]: The input of Q→SQL comonent（Retrieval）is not correct, when using the DB Assistant in the Agent module.

Describe your problem
fig 1：I create an agent from DB Assistant template, choose DDL、Q→SQL、DB Description knowledge base for the corresponding retrival componet. When run the agent, asking any question, encounter the same error

fig 2: the DDL retrieval componet gets right input

fig 3: the Q→SQL retrival component gets wrong input, it should be the user query, not the output of the DDL retrivel component.

How can i fix it, is there any mistake i made?

fig 4: the input set default for the Q→SQL retrieval component

It's usually caused by too many fields in the query to ES.
What's the ES version you apply?

It's usually caused by too many fields in the query to ES. What's the ES version you apply?

Thanks for responsing, the version of ES is 8.11.4

It's usually caused by too many fields in the query to ES. What's the ES version you apply?

According to the error info it shows, it may be too many query to ES, but from the fig3, it can be seen that the further reason is the wrong input of "Q→SQL retrival component "，how to change it to user's query?

Set the input of the component to interface.

Set the input of the component to interface.

It still doesn't work.

I set all the input of the three component to "Reference-interface", but i get nothing output:

and all the input of the three components are the opener of the Begin component, without user's query.

And then, i run the "test run" button of each component, and get right response.

Thanks for fixing it.


Suggested improvement for reldist

From what I can tell, reldist skips any features in A that are closer to either end of a chromosome than any feature in B. I suggest adding an option to reldist that allows such 'A' features to be included by using the end of the chromosome in the reldist calculation if there is no 'B' feature flanking one side of the 'A' feature. Otherwise, reldist could give misleading results in some situations (especially for small numbers of peaks) because the calculation is conditioned on the 'A' features being found between two 'B' features. Currently, it would be possible for two sets of features to be almost completely distantly separated (e.g. onto different arms of a chromosome) yet still achieve a small average reldist because the 'A' features that do happen to be between two 'B' features have small reldist. The special case of a chromosome having some 'A' features but zero 'B' features would probably need to be handled separately though, maybe by reporting the reldist for these 'A' features as reldist = Inf.
Regardless of whether you decide to take my above suggestion, I would at least report 'A' features that are not flanked by 'B' features on both sides in the output of reldist when the -detail flag is used. For 'A' features that lack a 'B' feature on one or both of its flanks, you could report the 'A' feature as having reldist = Inf. This would be useful for easily finding 'A' features that are excluded from the reldist calculation.
P.S. I think the illustration for reldist in the bedtools docs has A and B the opposite way from the actual meanings of -a and -b in the usage of reldist.
P.P.S. Thanks for all of your work on bedtools! These tools are super useful.

It occurred to me that treating the end of a chromosome like a 'B' feature in the reldist calculation actually might not be a great idea because an 'A' feature at the end of a chromosome would have a small reldist even if it's a long way from a 'B' feature. I think the best solution is to just report reldist = Inf for 'A' features that are closer to the end of a chromosome than any 'B' feature (or on a chromosome with zero 'B' features).


File Modification Detected dialog appears after training completed.

System Information (please complete the following information):

Windows OS: Windows-10-Enterprise-21H1
ML.Net Model Builder (Preview): <IP_ADDRESS>6603 (Candidate build)
Microsoft Visual Studio Enterprise 2019: 16.10.3
.Net: 5.0.302

Describe the bug

On which step of the process did you run into an issue: Train completed
Clear description of the problem: After training completed, pop up one File Modification Detected dialog, said that the project has been modified outside the environment. I have tried the four buttons, found that the generated files .consumption.cs & .training.cs & .zip can be load to VS by clicking "Reload" or "Reload All" button, if you click "ignore" or "ignore All" buttons, it  also won't affect the next steps, can still predict the results and add project templates. Not sure if this dialog is expected, please take a look.

To Reproduce
Steps to reproduce the behavior:

Select Create a new project from the Visual Studio 2019 start window;
Choose the C# Console App (.NET Framework) project template with .Net Framework 4.7.2;
Add model builder by right click on the project;
After training completed, pop up File Modification Detected dialog, said that the project has been modified outside the environment.

Expected behavior
Not sure if this dialog is expected behavior.
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
This dialog also appears on main build: <IP_ADDRESS>6604

@LittleLittleCloud  for visibility

It's expected, as Model Builder will update .csproj after training is completed.

Closing as this is expected behavior.


feat: add basic validations for transaction requests

We should try to catch some basic cases before we execute transactions. These validations should be added to TransactionRequest

For example, if the request is asking to send some assets out of the account, but the account does not have these assets, we should be able to catch this before we actually build and try to execute the transaction.

Originally posted by @bobbinth in https://github.com/0xPolygonMiden/miden-client/pull/438#pullrequestreview-2192327178

Additionally we should add tests to cover these cases and to verify that only valid scripts are generated with the TransactionScriptBuilder

Closed by #447.


More GUI like API

There are several things that could be improved to make remi feel more like a GUI toolkit. Things like .append(random_string,widget) feel very much like you are manually writing HTML and not building a GUI. Perhaps make a container base class / mixin that manages append for you (as the ID is almost unneeded in most cases)

Also, things like Table should have a more table like API add_row etc

Tag.append -> Tag.set_child
class Container(Widget):
    def __init__(self, w, h, layout):
        pass

    def append(self, widget):
        child_ref = '%s' % self._child_idx
        self.set_child(child_ref, widget)
        return child_ref

I like this change. I coded the actual append function allowing to access child widget by known keys. This caused unpleasant coding.
Maybe we should inform users by the README file about this change.

I wonder if its possible to include an App supplied key as an optional argument. If not supplied then revert to auto-key.

There have been occasions in the past when I could  have used App supplied keys.
The change will break simple_app_dynamic_layout.py. I have just used the same technique in an experimental tabbbed dialog to display the new tab when a button is clicked. It's rather nice.
It will make migration of existing Apps easier.

Another thing that might make the API more gui like is to replace the strings specifying the names of the listener functions with the name of the function.
Instead of this:
self.bt.set_on_click_listener(self, 'on_button_pressed')
this:
self.bt.set_on_click_listener(self, self.on_button_pressed)

@KenT2 The difference between a user supplied key, and an invisible one is, to my intuition and what other toolkits do, the same as appending a child and setting a child. And in my API model I would return the generated key so the widget could be replaced/updated later using the set API.
Regarding the callbacks, yes I want to remove the string identifiers, it is very odd compared to every other GUI framework.

Does anyone have any naming suggestions for append / set_child / get_child ?

I felt comfortable with Qt toolkit. What about add_widget (and from this set_widget / get_widget)?

I liked the Qt3 API a little more than the current one (i.e. now every Qwidget has an orientation, which is the model Remi copied...), but fair enough - set_widget and add_widget are distinct.
I want the API for container classes to feel a little different than non containers (the Gtk model), which is why I like append_widget.

So, only to be sure I understood, you would like to have Containers that are comparable to Layouts right? The specific widgets themselves can contain other widgets?

I propose that In remi, contains would differ from widgets in that only they would provide append() which would manage child identifiers, and only containers would have an orientation property.
Every widget could still contain other widgets (via set_widget), but the container API would be nicer

Ok, now it is clear. Which kind of advantage this work provides? Are these changes also propaedeutic to other changes you planned, or it's "just" to get a more standard API interface?

The changes are just to give the framework a more standard (so it feels
like other GUI toolkits) API
On 23 November 2015 at 12:32, Davide<EMAIL_ADDRESS>wrote:

Ok, now it is clear. Which kind of advantage this work provides? Are these
changes also propaedeutic to other changes you planned, or it's "just" to
get a more standard API interface?
—
Reply to this email directly or view it on GitHub
https://github.com/dddomodossola/remi/issues/81#issuecomment-158910364.

good enough now


Update UML for the following

BetterModelClassDiagram.puml
ModelClassDiagram.puml
ArchitectureSequenceDiagram.puml

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

LGTM


minor: add examples for patch operations

we don't need to call mutliple patch calls, it should be one update so that we can show you can group all of these things together?

we don't need to call mutliple patch calls, it should be one update so that we can show you can group all of these things together?

Showcasing the examples for patch calls on how it could be done for different scenarios, should i group all of those in one?


chore: update v-model syntax in antdv4

I always need to rewrite value(v-model) to v-model:value

Thank you for your discovery, but the content in antd4 and 5 may not meet my expectations to a large extent, because antd4 and antd5 themselves were not completed by me. There should be many details in them that have problems. I reprocessed antd5 yesterday. I have gone through it again.  If you are interested, you can refer to the antd5 directory to talk about the corresponding processing of antd4. The basic component templates should be more. However, there may be differences in the API attributes of individual components depending on the version.

I reprocessed the antdv code and solved this issue. Thank you for your discovery.


Revamp the vector databases UI

Summary

This PR revamps the configuration UI for vector databases.
Checklist

[x] My code follows the code style of this project and passes make format.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] My change has adequate unit test coverage.

@elisalimli can you review this. I have tested it on my own but would be good if you could review and test this to make sure it works as intended. I copied some of the code you had added.


Rewrite InputDialog etc.

It looks pretty weird now

https://github.com/PetrFlajsingr/pf_imgui/issues/163


Add interpolation from conda-forge

interpolation package has been added to conda forge so we can use that channel to install
!conda install -y quantecon
!pip install interpolation

should become
!conda install -y quantecon
!conda install -c conda-forge -y interpolation

@jstac we would need to specify the conda-forge channel for the interpolation package so I don't really see a lot of benefit in making the change. What do you think?


Issue uploading histogram to tensorboard.dev

On windows:
I follow the histogram example in https://github.com/PhilipVinc/TensorBoardLogger.jl/blob/master/examples/Histograms.jl
using TensorBoardLogger #import the TensorBoardLogger package
using Logging #import Logging package

logger = TBLogger("histogramlogs", tb_append) #create tensorboard logger

################log histogram example:################
#using logger interface
with_logger(logger) do
    for i in 1:100
        x0 = 0.5+i/30; s0 = 0.5/(i/20);
        edges = collect(-5:0.1:5)
        centers = collect(edges[1:end-1] .+0.05)
        histvals = [exp(-((c-x0)/s0)^2) for c = centers]
        data_tuple = (edges, histvals)
        @info "histogram/loggerinterface" autobin=rand(10).+0.1*i manualbin=data_tuple
    end
end

Running it in tensorboard on my computer, everything looks great.  i.e.
tensorboard --logdir histogramlogs

However, when I follow the instructions to upload it,
tensorboard dev upload --logdir \
     'histogramlogs'

It returns a link for tensorboard, but the output says
PermissionError: [WinError 5] Access is denied: '\\$Recycle.Bin\\S-1-5-18'

I tried running as an administrator and it didn't help, but the \\$Recyle.Bin is very suspicious.
The full output
S C:\Users\jlperla\Documents\GitHub\DifferentiableStateSpaceModels.jl> tensorboard dev upload --logdir \
TensorFlow installation not found - running with reduced feature set.
Data for the "graphs" plugin is now uploaded to TensorBoard.dev! Note that uploaded data is public. If you do not want to upload data for this plugin, use the "--plugins" command line argument.
Data for the "histograms" plugin is now uploaded to TensorBoard.dev! Note that uploaded data is public. If you do not want to upload data for this plugin, use the "--plugins" command line argument.
Data for the "hparams" plugin is now uploaded to TensorBoard.dev! Note that uploaded data is public. If you do not want to upload data for this plugin, use the "--plugins" command line argument.
Upload started and will continue reading any new data as it's added
to the logdir. To stop uploading, press Ctrl-C.

View your TensorBoard live at: https://tensorboard.dev/experiment/QWseahp3Rfy8MKLWoiVtKg/

Done. View your TensorBoard at https://tensorboard.dev/experiment/QWseahp3Rfy8MKLWoiVtKg/
Traceback (most recent call last):
  File "c:\users\jlperla\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\users\jlperla\anaconda3\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Users\jlperla\Anaconda3\Scripts\tensorboard.exe\__main__.py", line 9, in <module>
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\main.py", line 75, in run_main
    app.run(tensorboard.main, flags_parser=tensorboard.configure)
  File "c:\users\jlperla\anaconda3\lib\site-packages\absl\app.py", line 300, in run
    _run_main(main, args)
  File "c:\users\jlperla\anaconda3\lib\site-packages\absl\app.py", line 251, in _run_main
    sys.exit(main(argv))
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\program.py", line 290, in main
    return runner(self.flags) or 0
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\uploader\uploader_subcommand.py", line 633, in run
    return _run(flags)
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\uploader\uploader_subcommand.py", line 140, in _run
    intent.execute(server_info, channel)
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\uploader\uploader_subcommand.py", line 447, in execute
    uploader.start_uploading()
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\uploader\uploader.py", line 199, in start_uploading
    self._upload_once()
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\uploader\uploader.py", line 213, in _upload_once
    self._logdir_loader.synchronize_runs()
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\uploader\logdir_loader.py", line 70, in synchronize_runs
    for subdir in io_wrapper.GetLogdirSubdirectories(self._logdir):
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\backend\event_processing\io_wrapper.py", line 232, in <genexpr>
    subdir
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\backend\event_processing\io_wrapper.py", line 183, in ListRecursivelyViaWalking
    for dir_path, _, filenames in tf.io.gfile.walk(top, topdown=True):
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\compat\tensorflow_stub\io\gfile.py", line 719, in walk
    for subitem in walk(joined_subdir, topdown, onerror=onerror):
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\compat\tensorflow_stub\io\gfile.py", line 719, in walk
    for subitem in walk(joined_subdir, topdown, onerror=onerror):
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\compat\tensorflow_stub\io\gfile.py", line 696, in walk
    listing = listdir(top)
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\compat\tensorflow_stub\io\gfile.py", line 658, in listdir
    return get_filesystem(dirname).listdir(dirname)
  File "c:\users\jlperla\anaconda3\lib\site-packages\tensorboard\compat\tensorflow_stub\io\gfile.py", line 193, in listdir
    entries = os.listdir(compat.as_str_any(dirname))
PermissionError: [WinError 5] Access is denied: '\\$Recycle.Bin\\S-1-5-18'

Note the bottom,

A quick googling suggests that is an error that might be thrown when renaming files from Python...
I have to confess that I just found out about TensorboArd.dev!
I think the issue is not really in TensorBoardLogger.jl itself but rather in TB failing because we encode some extra metadata compared to python's TB.
I'd like to bring this issue upstream, however could you please do the following:

can you check that a log file generated with TensorboardX in Python is successfully uploaded?
can you upload the Tensorboard log file that is failing?

@sebastiangomez87   Can you try to replicate this error and try the things that @PhilipVinc  is suggesting?  I am curious if this fails on linux/WSL or is just a windows thing.

Locally I cannot reproduce your error, however, the online visualiser shows no data at all, even scalar...

Maybe we should we try this without the pictures and with a trivial scalar?  Maybe I was wrong and the issue has nothing to do with histograms/images.

On my computer (Mac) scalars don't work either.
I think the issue is on the .proto file: I know that there is a tiny difference somewhere between a .proto generated by TensorFlow and the one generated by TensorBoardLogger, however, I have never been able to track down it's origin, and locally everything always worked so I stopped thinking about it.
It's possible that this is causing problems in this context.
That's why I'm interested in knowing if with tensorboardx (which is a python code very similar to tensorboardlogger) the same problem appears...

@PhilipVinc  Can you tell us exactly what TensorBoardX code you want us to run to isolate the problem?

The example here should be ok https://github.com/lanpa/tensorboardX

Hmm, no wait. I have no idea what I did before but now everything works
•5% ➜ tensorboard dev upload --logdir \
    'histogramlogs/'

Data for the "graphs" plugin is now uploaded to TensorBoard.dev! Note that uploaded data is public. If you do not want to upload data for this plugin, use the "--plugins" command line argument.
Data for the "histograms" plugin is now uploaded to TensorBoard.dev! Note that uploaded data is public. If you do not want to upload data for this plugin, use the "--plugins" command line argument.
Data for the "hparams" plugin is now uploaded to TensorBoard.dev! Note that uploaded data is public. If you do not want to upload data for this plugin, use the "--plugins" command line argument.
Upload started and will continue reading any new data as it's added
to the logdir. To stop uploading, press Ctrl-C.

View your TensorBoard live at: https://tensorboard.dev/experiment/v2qKNr9OS4SwLzXhEmAjkQ/

[2020-09-24T22:05:52] Uploader started.
[2020-09-24T22:05:52] Total uploaded: 0 scalars, 200 tensors (131.7 kB), 0 binary objects

I did the following code:
import matplotlib.pyplot as plt
from tensorboardX import SummaryWriter

plt.switch_backend('agg')

fig = plt.figure()

c1 = plt.Circle((0.2, 0.5), 0.2, color='r')
c2 = plt.Circle((0.8, 0.5), 0.2, color='r')

ax = plt.gca()
ax.add_patch(c1)
ax.add_patch(c2)
plt.axis('scaled')

from tensorboardX import SummaryWriter
writer = SummaryWriter()
writer.add_figure('matplotlib', fig)
writer.close()

then
tensorboard --logdir runs

and it looked good in the browser.
Then I closed tensorboard, and ran
tensorboard --logdir 'runs'

... and...  it said it worked and uploaded, but it didn't seem to have anything at the link.

Ok, so I strongly believe you have a problem with your tensor board installation...
what version do you have?

Gotcha.
tensorboard                        2.3.0
tensorboard-plugin-wit             1.7.0
tensorboardX                       2.1

Python/conda/pip is the worst for reproducibility.  What I wouldn't give for a Package.toml/Manifest.toml approach there.
@sebastiangomez87 can try this on his (newly installed) conda and if he doesn't have any problems, lets assume this is not your problem :-)

if you manage to let it work could you please let me know? I'd like to be 100% sure it's not our issue...

I'm having the same issues. I tried both of @jlperla codes in Julia and Python, and I also tried the example demo_custom_scalar in Python.

@PhilipVinc   I still think this is an error in tensorboardlogger and Windows.  There may be other things going on as well, but the error message we are all getting that PermissionError: [WinError 5] Access is denied: '\\$Recycle.Bin\\S-1-5-18' suggests something very windows specific.
Maybe moving or deleting files or something like that? Do you have a windows machine or virtual machine you could try it on?

For whatever reason, things are now working better on some other machines.   No idea.  So I am going to close this.