Fix run output fd

This is a very simple solution. Just add a connection cache based on LRU. This solution can only make sure we will not create multiple conn for one SocketAddr.

I suppose this is problem you're tring to solve.
I'm not sure a cache (especially a time based on) is the best decision. I would expect mixnet nodes to be chosen at random from the upper layer, so there's no correlation between nodes being chosen in the past and nodes being chosen in the future. Also, unless the cache can hold a good chunk of the network nodes I would expect a good number of misses.
I suspect we hit the limit only when trying to send a lot of packets at once, because otherwise sockets should be recycled.
Other possible options:

batching?
use other transports
rate limit creation of new sockets

But we are still facing the run out of fd problem if we have too many clients, it seems that each client requires and holds one fd

Yes, but with batching what I meant to say is that if we see that we have to send 10 messages to the same host we can reuse the same connection. Batching also helps with hiding timing information btw

Although I didn't review all changes in this PR yet, my opinion is

QUIC might be a better solution than TCP. But before we are stable with QUIC, we need to make TCP-based implementation stable.
For connections between mixnodes, it would be enough to establish/reuse TCP connections with the next mix layer because we will not have the static mixnet topology for now.
For connections between mixnodes and mixclients, we may need some solution such as cache or the connection_limit option for mixnodes.

I guess the cache solution that you implemented tries to solve this issue.

I wil take a look in detail.

For connections between mixnodes, it would be enough to establish/reuse TCP connections with the next mix layer because we will not have the dynamic mixnet topology for now.

It can work provided we can connect to all nodes in the next layer

For connections between mixnodes and mixclients, we may need some solution such as cache or the connection_limit option for mixnodes.

On the client side, we can probably batch to try reduce the number of connections and then rate limit. Server side we can probably expect a bit more room and/or a deployment with increased OS resources

It can work provided we can connect to all nodes in the next layer

Yes, the size of mixnet is what I don't expect for now. It's kinda block box. Then I think we can go with the simplest solution.

As discussed in Discord with @youngjoon-lee, I replaced LRU with a hash map, and removed the connection cache in the receiver of the mixnet client. If we still need packet buffering and ratelimit, I will implement them in other PRs.

Apart from the comments, I'm still having doubts about the solution as a whole. Given that routes through the mixnet are supposed to be random or at least we can't expect specific patterns, keeping a subset of connections might not be very efficient (exact numbers depend on subset size ofc). If we can guarantee the pool to be as big as necessary (e.g. the next layer) then this is good, but otherwise I would like to see measurements to see whether this helps or not and then some documentation on our findings. Actually, I do not see any limit on the size of the connection pool, so it grows as big as necessary atm, is that your intention or you forgot to add it (there's some mention of it in the doc but that parameter does not actually do anything)?

Yes, the current solution is based on the assumption that the mix node in each layer will not be too large and the number of conns will always fit with the pool.


Update MSXML2 references for Excel 2016

UDFs produced compile errors in Excel 2016. MSXML2.DOMDocument is a synonym for MSXML2.DOMDocument30 (i.e. "Microsoft XML, v3.0") so adding the "60" to the end of each references fixed it. Thanks to https://stackoverflow.com/a/12848825/3927208

very good - did not know as i never tested on 2016! appreciate the help.


Add to linalg trace, zero, identity, add_col_vec (WIP)

Operations needed by #3826, linalg + eigen implementation.
This is a work in progress: tests, docs, dimension checks etc are missing.
PS: if I run check_format.sh it wants to rewrite almost completely LinalgBackendEigen.h, see https://gist.github.com/micmn/8565fdbb0bcb1e2b1867a934f8f0fbce#file-style-diff-L193

@OXPHOS if you by any chance happen to have some time to give a glimpse and blessing on this that'd be appreciated!

@micmn hehe yeah i reckon we can omit the style refactor in this case :P

Cool I'll check ASAP!

I'm good with all the changes. I used to list the methods in alphabetic order for the convenience (to a certain degree). Can you adjust them if possible?
Also @micmn you're working on algorithms cleanup project, right? If so, I won't ask you to try GPU backends. But you can specify in the title that these methods are only available on CPU.

The format issue can be fixed later.

I used to list the methods in alphabetic order for the convenience (to a certain degree)

Whoa!  But you can specify in the title that these methods are only available on CPU.
Yeah, currently I don't have ViennaCL setup in my system but it would be nice to have a try later.


Looper should display its version when it runs normally

What do you think?
Useful for debugging user-submitted issues.

👍  yep great idea


Define minmax helpers for input

Summary
This PR improve the way that we are currently enforcing min/max values on inputs.
Relevant Technical Choices

Defined a helper to process and return values between min/max ranges specced.
Defined a helper to validate min/max ranges specced from a specific source (e.g. mostly .length property).
Used local constants to define by scope each min/max field value
Used usePresubmitHandler when possible to reflect the current UX and data flow.
Used min, max, minLength, and maxLength attributes when possible to improve code quality for web standards once we have specced min/max values for some inputs and for further usage when we define the UX/UI feedback for those min/max values.
opacity received a special improvement since it was not being validated correctly considering 1 the minimum, but now, 0 is the minimum.

User-facing changes
Inputs covered on the initial PR will reflect limitations as soon as the user input some wrong value.

Numeric fields will update using the closest range (e.g. Lower values of the limits will use the min allowed, higher values of limits will use the max allowed)
Text fields will limit the user to input more than the max allowed. Also, text fields only will execute scoped actions after user inputs reach the min values required.

To-Do

Add more tests

Testing Instructions

Add an image element
Select the dimensions (width and/or height) field in the Design Panel
Type 10000 and press Enter
It should update the field selected (or both if aspect-ratio is locked) to 1000

Solves #1549
Solves #1881
Solves #1419

@barklund you need to reply to the CLA bot

@googlebot I fixed it.

@googlebot I consent.

^ @merapi that's for you since you added some commits

@googlebot I consent.

We just need to agree on the video title limit, otherwise everything should be ok @miina PTAL
@barklund all issues from your review are fixed, right?

We just need to agree on the video title limit, otherwise everything should be ok @miina PTAL

Yep, looks good otherwise!

So, I've added some extra logic to the Numeric component - now it sometimes ignores empty input, sometimes pushes it upstream (relevant for "clearable" values such as letter-spacing or line-height). When empty values are allowed, '' will be pushed upstream and saved for the element. When it is not allowed, the input can still be emptied, but if blurred while empty, it'll restore to its old value just before being emptied (e.g. width or height).
Similarly, it can also allow a single minus as input if value can be negative (like rotation, line-height and letter-spacing). These can be both cleared and a negative value can be typed by starting to type '-'. This value will never be pushed upstream and if the input is blurred while only a single minus sign is in there, the previously persisted value will be restored (will be a number for rotation, but can be either a number or empty string for line-height or letter-spacing).
@miina, @merapi, please re-test with this in mind.

@swissspidy please just verify my merge (conflicts in link/index.js) and we should be good to go.


Extend arc-6 with enableNetwork and enableAccounts

At Reach we have found it useful to split enable into enableNetwork and enableAccounts so that network queries can be performed without asking the user to select an account. We propose that this be included as optional in arcs 6, 10, and 11.

are arc's mutable? I thought the pattern was to submit an informational arc that acts as an addendum to a previous one, in such a case.

If this is still relevant, please consider merging the version in the repo before submitting it.
ARC-6

@DanBurton, could you please tell me if this is still relevant?

Should be added to this PR to create a new ARC extension for ARC-6

PR merged with https://github.com/algorandfoundation/ARCs/pull/97


Create stale.yml

Config for stale issue app.

@jmertic thanks!  Can I just request you to add a license header (following two lines) to the top of the file so it'll pass through the build checks? 🙏
# SPDX-License-Identifier: Apache-2.0
# Copyright Contributors to the ODPi Egeria project.

Done :-)

Matches what we discussed on the call today, so going ahead and merging...

super :-)


Stop the gstreamer pipeline cleanly when deleting an ingress

Because ingress needs "pipeline frozen" errors too.


Alternative to Kiosk

Anyone knows alternatives to Kiosk?

Try a search with "signage"
--
Ing. Héctor Daniel Cortés González @.> | Thou shalt not
antes 'Aztec Eagle' Turbo @. @.***>ie.unam.mx>         |
take the name
http://www.ier.unam.mx/academicos/hdcg/               |    of root
RHCE 110-903-861. Linux User #13086.                  |    in vain.
perl6 -e '(1 x $) !~~ /^(11+)$0+$/ && .say while ++ $'
El sáb, 21 oct 2023 a la(s) 10:00, Samuel @.***)
escribió:

Anyone knows alternatives to Kiosk?
—
Reply to this email directly, view it on GitHub
https://github.com/kihosk/kiosk/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADRUCCJCXHUOCHJBZ7QQV3DYAPWQJAVCNFSM6AAAAAA6KHL3O6VHI2DSMVQWIX3LMV43ASLTON2WKOZRHE2TKNJUHE4DKOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Sorry. My dyslexia. Search for (double checking this time) Signage
[image: image.png]
--
Ing. Héctor Daniel Cortés González @.> | Thou shalt not
antes 'Aztec Eagle' Turbo @. @.***>ie.unam.mx>         |
take the name
http://www.ier.unam.mx/academicos/hdcg/               |    of root
RHCE 110-903-861. Linux User #13086.                  |    in vain.
perl6 -e '(1 x $) !~~ /^(11+)$0+$/ && .say while ++ $'
El lun, 23 oct 2023 a la(s) 11:37, Héctor Daniel Cortés González (
@.***) escribió:

Try a search with "signage"
--
Ing. Héctor Daniel Cortés González @.> | Thou shalt not
antes 'Aztec Eagle' Turbo @. @.***>ie.unam.mx>
| take the name
http://www.ier.unam.mx/academicos/hdcg/               |    of root
RHCE 110-903-861. Linux User #13086.                  |    in vain.
perl6 -e '(1 x $) !~~ /^(11+)$0+$/ && .say while ++ $'
El sáb, 21 oct 2023 a la(s) 10:00, Samuel @.***)
escribió:

Anyone knows alternatives to Kiosk?
—
Reply to this email directly, view it on GitHub
https://github.com/kihosk/kiosk/issues/2, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADRUCCJCXHUOCHJBZ7QQV3DYAPWQJAVCNFSM6AAAAAA6KHL3O6VHI2DSMVQWIX3LMV43ASLTON2WKOZRHE2TKNJUHE4DKOI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


Fix cloudflare deploy

The auto version path breaks cloudflare deploy because of path permissiom probably.
either move nuget folder to project or see if u can pull a bash try catch without breaking versioning.

Fixed in 56e0f28921f0c4cc0a43f7d4031c3f887a322fc0


List containers on host details screen alphabetically (and force Rancher agents to the bottom)

Version: Build from Master (4/7/15)
When we look at the detailed host page and look at the containers in the host, the containers are listed by creation time.
Can we update so that it's alphabetical? Also, can we make sure the Rancher agents (Network Agent, LB Agent, Cluster Server (i.e. SWARM Container)) are at the bottom. When a host has an extremely high number of containers, this sorting will be helpful.

Duplicate of #354


Make timeouts and retries configurable for function executions

As Keptn Tasks should fail after some time or after some executions, this behavior should be configurable.
Therefore, we'd need some additional fields in the FunctionSpec (/operator/api/v1alpha1/keptntaskdefinition_types):

retries
timeout

These thresholds should also get passed over to the created Task resource instance, and the task should be terminated (and so the corresponding job) if one of these states has been reached.

I would like to work on this issue as first-time contributor to keptn. Could you assign it to me?

@haanhvu i assigned you!


Some multiline commands only run with the first line

Here's a simple example of what triggers this behavior:
- uses: gacts/run-and-post-run@v1
  with:
    run: |
      if [[ true == true ]]; then
        echo "true"
      else
        echo "false"
      fi
    post: |
      if [[ true == true ]]; then
        echo "true"
      else
        echo "false"
      fi

The output:

I suspect it's due to a bug in joinMultilineCommands, but I know next to no Javascript/Typescript so I can't easily fix it myself.
Edit: after looking at the code a bit more closely, it seems the problem is because commands are always split into separate lines and run one line at a time. I think this makes sense when shell and/or post-shell is set to ""  (invoking commands directly) and the user provided a list of commands. However is the shell is set, I think the input commands should not be modified and instead executed by the set shell as-is. Does that sound reasonable to you?

Could you try this?
4,7c4,7
<       if [[ true == true ]]; then
<         echo "true"
<       else
<         echo "false"
---
>       if [[ true == true ]]; then \
>         echo "true" \
>       else \
>         echo "false" \
10,13c10,13
<       if [[ true == true ]]; then
<         echo "true"
<       else
<         echo "false"
---
>       if [[ true == true ]]; then \
>         echo "true" \
>       else \
>         echo "false" \

Ping @capnspacehook

Closed due inactivity


Simplified installation and pre-build image

Co-authored by @MagdelineNg and @younglim
This PR adds:

hats_shell for MacOS and Windows for easy environment setup
Switch tests runs in hats_shell using Chromium to Google Chrome browser to work with Apple Silicon Macs without need for Rosetta
MacOS settings in hats_shell to run executables without errors
Ability to pre-build image and bundle NodeJS as a single zip package

Update PR message and comment. LGTM!

Additional commits to improve the behaviour of GitHub actions that create MacOS and Windows portable installation:

https://github.com/GovTechSG/purple-hats/pull/65
https://github.com/GovTechSG/purple-hats/pull/66


paste is pasting extra characters

Your environment

ruby -v:
ruby 3.0.4p208 (2022-04-12 revision 3fa771dded) [x86_64-linux]

rdbg -v:
rdbg 1.5.0

Describe the bug
When pasting something into debug console, extra characters are inserted
For example, pasted "break" and "^[[200~" and "^[[201~" is always pasted also in
(ruby:remote) ^[[200~break^[[201~

To Reproduce

puma server running in docker container
** require 'debug/open_nonstop'
rdbg --attach
Paste something in debugger console

Expected behavior

paste won't paste extra characters
no_color turns off all colors
no redundant and useless '(rdbg:remote) c    # continue command" or such shown when trying to enter commands, it just makes usage irritating due to flashing  '# whatever useless text'

Additional context
config I used
config set nonstop true
config set no_color true
config set use_short_path true

I think "^[[200~" and "^[[201~" are Bracketed-paste.
Terminal application's setting perhaps can disable it.

Have to check if there is some setting. Strangely this is only case were I have seen such happening.

debug.gem uses Reline which is used by irb for console.
irb doesn't show this issue?

Please reopen this issue if you have another idea.

Fix:
https://askubuntu.com/questions/662222/why-bracketed-paste-mode-is-enabled-sporadically-in-my-terminal-screen


Extend TLT chip_sw_lc_ctrl_program_error

This extends the chip_sw_lc_ctrl_program_error test to align with the chip_sw_all_escalation_resets test for kTopEarlgreyAlertIdLcCtrlFatalProgError. This should close issue #17955 (and last task item in issue #15649).

Ignore this PR. Do not review or merge.


Create gNOI file feature

Pull Request Functional Test Report for #1834 / fe1e428898665c41c303ea28462157da56961e19
No tests identified for validation.
Help


Datepicker: after navigating within calendar, active day loses "active" class

Minor bug, but annoying if you're trying to override datepicker styles.
Look at a datepicker in month view. I chose a month where the active date was today. Open the Chrome or Firefox inspector and note how the the current day on the calendar has a class called "active".
<button type="button" style="width:100%;" class="btn btn-default btn-sm btn-info active"
Navigate to a previous month, then navigate back.
If you look at the Firefox or Chrome inspector again and look at the day that's active, you'll see that it doesn't have the class "active" anymore.
<button type="button" style="width:100%;" class="btn btn-default btn-sm btn-info"
If you aren't overriding datepicker styles, you won't see a difference.
We're trying to customize the datepicker a bit, and we want to rely on the "active" style. This bug is causing us issues.

Please provide a plunkr so we can see what you're seeing. Can be the default plunkr as well if that reproduces your problem.

My apologies on not providing code!
Here's a plunkr
http://plnkr.co/edit/jWjlsmUjheKk84aD7TKJ?p=preview
You'll see that when you get to the page, the datepicker's current day has a blue background and white letters.
If you navigate to another month and then navigate back, the current day now has a gray background and navy blue letters.
The inspector seems to show that this is due to the class "active" not being re-added.
Also please forgive me for having an icon for the previous month going in the wrong direction. Our code uses images, and I felt that characters were easier to handle here.
Thanks for all your work on this component!!

This is intended behavior. The active class is only on the element when the mouse is down during a click. When the mouse button is released, the btn-info class is applied (dt.selected == true). To style it, you should restyle the btn-info class instead of active.

My apologies on the very, very late response....
Thank you very much for the advice! That worked awesomely.


Performance Test for 1.1.0

Description:
Need to run a performance test for 1.10-alpha and releases until 1.1.0 GA.
Need to fix the scripts for the latest changes introduced with 1.1.0.

Closing the issue hence the PR is merged.


Adds SkeletonLoader Component

Fixes #236
This PR does the following:

Adds SkeletonLoader

Front End Review:

[ ] View the example in Storybook

@scooooooooby I added the latest .scss code to this PR that we have on location finder. Let me know how this looks.

Changes look good to me! Github won't let me approve this because I opened the original request so I've flipped it back to you. If you could approve it I'll get this merged&released today. Thanks @nypl-wluisi!


Change CTA on State Dropdown

We get a bunch of requests for new states in our email. I think this because we ask users to let us know when creating a map:

Rather than send us an email, we should instead have people sign up for the mailing list so they know when new states (and features) will be released. So we should change this text and also update the mailing list sign up to capture additional info:

Update the text on the state dropdown to say (something like this--open to suggestions):

What state do you want to map? If you don’t see it in the list, sign up for our mailing list to know when new states are available!

Add a new field to our mailing list signup to capture additional info (free text):

What state do you want to map, or what feature is especially important to you?

I'm not sure where this would be captured exactly because I'm not sure how the mailchimp form works, but it would be great to capture this info somewhere as we build our list.

@tgilcrest Re: mailchimp, there's a text limit for the field label, and we can't add a textarea, just a one-linetext field. I suggest keeping the field scoped to missing states. How does this look?

@tgilcrest Re: mailchimp, there's a text limit for the field label, and we can't add a textarea, just a one-linetext field. I suggest keeping the field scoped to missing states. How does this look?


Deps - Import Invoice template into Joanie then remove marion/howard

Feature Request
As we did for Certificate template, we should import Invoice template into Joanie then we will be able to remove marion / howard dependencies.
Solution

Import Invoice template from Howard to Joanie and update if needed
Update Invoice model logic to generate document without Marion
Remove marion/howard dependency.

Ongoing PR to fix this


Link to google-cloud APIs list in README results in 404 page

Here is the 404 link in README - https://cloud.google.com/nodejs/docs/reference/google-cloud/latest/
Thanks!

Thanks for the heads up!  This appears to be resolved.


feat: Run cargo hack against workspace

Description
Adds a step to cargo hack the workspace.

[!NOTE]
This should fail since https://github.com/anton-rs/kona/pull/482 fixes the brekage

Once https://github.com/anton-rs/kona/pull/482 is merged, this pr can be rebased and the ci check should pass


Periodic10 Outline

Main Changes

DB Based Configurations

we spoke briefly about this, but for all enterprise based applications, we'll want to keep the configurations in the DB, I'll send a separate email about the structure of this
but essentially if you're using DB based configurations, it will be a setting in content/config/config.json {config_settings: (ENUM - database, file)}
if there is a database.configuration.js then use that file for the mongo connection (instead of the default periodic db, we will interface with the DB through core data, so technically it could be another DB - sql)
if using DB configurations, that means every config is based off the DB (except for config.json)

all environment based configs
all extension based configs
all theme based configs
extensions.json

the structure of the schema will be something like

{
    name_of_file: string (e.g. 'content/config/extensions.json','content/config/environment/development.json','content/config/extensions/peridicjs.ext.dbseed.json')
    application_environment: string
    settings: schema_type_mixed
  }

Containers instead of Themes

these will be functionally the same as themes, but relabeled, the entire structure will be controlled through a new core module, more on this later

Periodic Singleton

instead of using dependency injection, we'll be using a periodic singleton instance of the periodic object (class)

Core Container

a new module that is a class that is extended to implement a container
to develop a new container, you only need a package.json file and a index.js file (we'll remove all post/pre install npm hooks so they can be deployed as NPM modules and also have a core.containers modules (notice the s at the end) that app start up, if the containers public files and configs haven't been copied, then to do that during app start up
core container is  class that has an init method, that essentially does what routes.js currently does

it assumes any controller dir is a directory of controllers, will mount on periodic(singleton).containers[name of container].controller
it assumes any utility dir is a directory of utilities, will mount on periodic(singleton).containers[name of container].utiltity
it assumes any router dir is a directory of routes, will mount on periodic(singleton).containers[name of container].router and will mount on periodic.app (the express app on singleton)
it assumes any config dir is a directory of configs, will mount on periodic(singleton).containers[name of container].config and will mount on periodic.app (the express app on singleton)

*** if using DB config it will copy the default configs into the config db
**** IT WILL ALWAYS copy the file based config even if using config db, as default config (only happens if those files aren't there - instead of during install)
we will specify in config.json to skip check theme file copies on start up

it assumes any public dir is a directory of public files to be copies to the app root public dir namespaced by the contiainer name in

[APP ROOT]/public/containers/[name of container] <- contents of public dir - just like the theme process

Core Extension (not replacing core extensions - more on this later)

identical to container but for themes (in the sense of all that's required is a package.json and an index.js that extends core.extension (without the s) calls the init method

Test Coverage, Documentation

I'm going to put this in a separate email, but I wanted to get those major changes out to you before you take off

Staying the same

Index.js
App Folder
Public Folder
Content Folder

Staying the same with new tests and fixes/updates

Index.js

high level, this needs to handle 3 things

app start up

set up web server (clustered servers)
if using socket io then pass express instance to socket io

cli commands

not a high priority frankly we should pull this out and run through the periodic cli (which should probably be names to periodicjs-cli

allow for the entire start up to be configurable based off of content/config/startup.js

App Folder

model - easiest - staying the same no changes
controller (not sure its needed since core controller handles almost all of this - outside of asset uploads) so need assets but probably not anything else
lib

cli-  we'll remove this most likely because we're moving CLI stuff to periodcjs-cli
config - this will be more complicated because it should read the right config based on if the configs are DB based or file based,

we should actually move all config loading onto the periodic singleton here,
so instead of in each controller/container doing the config loading, lets load it all here,
this will be async since it will/may require loading from DB
should mount on singleton

periodic.containers.[name of container].(config | controllers | router | util),
periodic.config (configs from env configs and config.json -whether db or file based)
periodic.config.extensions (extensions.json)
periodic.extenions[name of ext].(config | controller | util | router)
periodic.app (express app is here - but not loaded during config)
periodic.db (periodic db)
periodic.dbs (all db connections, periodic.dbs[pds], periodic.dbs[pas] etc, periodic.dbs[config] config db, periodic.dbs[logger] db loaded for db logging extension)

perioc lib object should be the periodic class

the initialization should be roughly the same, with the ability to be overwritten and customize the express app through content/config/startup.js

some of the references will change, like refs to configs, refs to dbs, etc

routes/index.js

this should be moved into the periodic lib class, this connects to the db and loads the extensions and theme
the default theme which has views and what not logic sits here as well, this should actually be made into a default container
make new default container in app/container/default/index.js

Public Folder
Content Folder


OneClickInstaller: Setup Blox SSV operator node

A user should be able to select the "Blox SSV" in One Click Installer and setup an operator node with it.
Services needed:

geth
one of the consensus client (lighthouse, nimbus, prysm, teku)
blox ssv service https://hub.docker.com/r/bloxstaking/ssv-node

The setup should automatically generate the ssv keys with ansible role ssv-key-generator (see #223 for details).

When should the ssv keys be written into /data/config.yaml? on setup or on registration together with the RegistryContractAddr (Ethereum Address? #228) ?

On setup, the setup can already generate the key pair (public key & secret key).
Doesn't matter much, even if the user later replaces it there's no harm done and the user has a running service when completing the setup.


How to run additional code generation?

In old EF6 with EDMX I used a T4 script to also generate additional .cs file per entity where I generate overrides for Equals, ==, != ,ToString, GetHashCode otherwise Checks failed for EF6 because of the proxy generation.
Is this still an issue with EF Core and how can I also generate such addition code into additional partial class .cs files when I run the Scaffold-DbContext command?

EF Core 7 has full t4 support:
https://learn.microsoft.com/en-us/ef/core/managing-schemas/scaffolding/templates?tabs=dotnet-core-cli
You can look at the test project in the EFR repo for an example: https://github.com/R4ND3LL/EntityFrameworkRuler/tree/main/src/Tests/NorthwindTestDesign/CodeTemplates/EFCore
Also, note, EFR provides an additional feature that allows each entity configuration to be split into its own file rather than all configurations being in one file.   You can opt into this feature by setting this property at the json root level:
"SplitEntityTypeConfigurations": true,

ok, so I have to wait for a EF Core 7 compatible Firebird provider version.

that would be correct, as far as I know.  EFR could potentially provide the T4 capability to EF Core 6 by running the same templating code as EF7.  The code for doing that is not that serious.  However that hasn't been on my radar so far since most would just use EF7


VS code is crashing in every 4-5 minutes

VSCode Version:
OS Version:

Steps to Reproduce:

Does this issue occur when all extensions are disabled?: Yes/No

Maybe you should complete the issue first?

/needsMoreInfo

/duplicate of #103304


Block content page and internationalization with language prefix

Hello,
In reference to this post in the mailing-list:
https://groups.google.com/d/msg/django-oscar/ryo6IkzuThY/OHLqUjJgRyUJ
Using Django i18n_patterns to add language prefix to the URL makes things difficult to add block content to a page (for each language, you have to add the corresponding page with the correct language prefix).
It seems that it is related to a bug in Django core in which the django.core.urlresolvers.resolve only resolve URL with the current language prefix (even in other language prefix are correct).
A patch diff being worth a thousand words, here is a naive workaround for Oscar:
--- a/oscar/apps/promotions/context_processors.py   Fri Aug 29 01:57:26 2014 +0200
+++ b/oscar/apps/promotions/context_processors.py   Sat Sep 06 21:39:43 2014 +0200
@@ -1,6 +1,7 @@
 from itertools import chain

 from oscar.apps.promotions.models import PagePromotion, KeywordPromotion
+from django.utils.translation import get_language

 def promotions(request):
@@ -24,9 +25,14 @@
     """
     Return promotions relevant to this request
     """
+    language = get_language()
+    if language and request.path.startswith('/%s/' % language):
+        page_url = request.path[len('/%s/' % language)-1:]
+    else:
+        page_url = request.path
     promotions = PagePromotion._default_manager.select_related() \
         .prefetch_related('content_object') \
-        .filter(page_url=request.path) \
+        .filter(page_url=page_url) \
         .order_by('display_order')

     if 'q' in request.GET:
diff -r a1248ccfe775 oscar/core/validators.py
--- a/oscar/core/validators.py  Fri Aug 29 01:57:26 2014 +0200
+++ b/oscar/core/validators.py  Sat Sep 06 21:39:43 2014 +0200
@@ -4,7 +4,7 @@
 from oscar.core.loading import get_model
 from django.http import Http404
 from django.utils.translation import ugettext_lazy as _
-
+from django.utils.translation import get_language

 class ExtendedURLValidator(validators.URLValidator):

@@ -29,6 +29,9 @@

     def validate_local_url(self, value):
         value = self.clean_url(value)
+        language = get_language()
+        if language and not value.startswith('/%s/' % language):
+            value = '/%s%s' % (language, value)
         try:
             resolve(value)
         except Http404:

After closer look I came to conclusion that we rather need to improve URL field validation for the local URLs, than promotions loading.
If we have promotions for pages / and /de/ (in English and German languages), there are few scenarios how they can be loaded:

Load using locale-neutral page URL (/) will load always only English content block.
Load using both locale-neutral and locale-specific URLs will load content in both languages, which might be not relevant for the customers.
Load firstly using locale-specific URL (/de/) and if no relevant records, fallback to local-neutral URL (/). In this case, it will work as initially intended, but we won't have control where we want to display content block and where not and just display everywhere the same content block.

We already can attach content block to any number of pages, but the URL validator respects only current locale, so that you can attach promotion to /en-gb/ page on default locale and not /de/ and visa versa, which is the main issue, I believe.


MultiAddSelect throws error when changing items.entries

What package(s) are you using?

[x] Carbon for IBM Products (or Carbon for IBM Cloud & Cognitive)

Detailed description
MultiAddSelect throws an error when removing an entry from items.entries after interacting with it. For example, if you don't permit "adding" duplicate entries and you're fully controlling the component, when you try to filter out duplicates in the onSubmit handler the component throws an error. The CodeSandbox makes it pretty clear. This shouldn't throw an error and instead just not render the removed entries.

What version of the @carbon/ibm-products (or @carbon/ibm-cloud-cognitive)
package are you using?

latest

What offering/product do you work on? Any pressing ship or release dates we
should be aware of?

ISV
Steps to reproduce the issue

Load CodeSandbox...
Press the big blue button: "Show MultiAddSelect"
Add 1-3 of the entries
Press the next big blue button: "Add"
Error

Please create a reduced test case in CodeSandbox

https://codesandbox.io/s/pedantic-sky-okbfoi?file=/src/Example/Example.js
Additional information

This can technically be worked around by wrapping the component with a boolean conditional to only render when showTearsheet is true, but then there's no exit animation 🙁
Let me know if anything else is needed from me 🙂

thanks for opening this up. this appears to be a problem where the internal state isn't being reset when you close the component. i will investigate this and try to find a solution.


Add support for Stream's and multiple async tasks in isolates

I needed the functionality to run a Stream<R> in an isolate and have it send updates back to the main thread, so I implemented it.
Additionally, I extended support for running several async functions simultaneously in an isolate, which can be particularly useful for IO-heavy tasks that spend a lot of time waiting anyway.
In the process, I made several other changes:

Refactored the IsolateManager settings into a const object.
Added support for running multiple tasks per isolate, with compatibility checks.
Performed linting and refactoring: added final where appropriate, improved static typing, and ensured a consistent structure (introduced the very_good_analysis package as a dev dependency).
Improved task state management.
Added tests.

I understand that this is quite a significant change, and maybe parts of it might be interesting for a future major release. I wanted to share it in case any of these updates are of interest.
*Note: I haven't looked into the web worker version.

Hi @Marc-R2
Thank you for your excellent work. This is really a big change, so I think we couldn't update all of it at the same time. It would be better if you could separate it into many PRs, so we can implement it with minimal effect to the current package.
About the Stream, it's not natively supported, but we can use the callback parameter to receive multiple results in one compute and add it to the Stream if you want to. You can see more here.

Hi @lamnhan066,
Thanks for the feedback!
I understand that the changes are quite extensive, and I agree that breaking them up into smaller PRs would be a better approach. I'll work on that when I get a chance. In the meantime, I'll continue using my version for my own purposes, but I'd be happy if some of the features could eventually make their way into the package.
Regarding stream support, I noticed the callback parameter workaround, but I preferred having a native Stream<R> from the isolate.
Thanks again for your insights, and I look forward to contributing the pieces in the future!


NETOBSERV-199: E2E Integration tests

This PR just includes an initial, basic version of a test where:
1- A K8s environment is deployed with the Agent, Flowlogs-Pipeline and Loki.
2- An HTTP service is deployed, and a client pod periodically submits HTTP requests.
3- We verify that Loki has stored complete flows for the requests/responses. This would mean that both the Agent and Flowlogs-Pipeline have done their work.
The new e2e folder is divided (by now) in two parts:

A cluster folder that provides the common part of each test: the basic cluster configuration and deployment files, and helper classes to run/access the Kind cluster and Loki.
A basic folder that provides a concrete test: the HTTP client/server deployment plus the actual test features.

Additionally, it allows downloading the whole cluster logs to try to debug failed tests, from the artifacts section in the UI:

Codecov Report

Merging #30 (e0eb5c9) into main (00a4d53) will decrease coverage by 9.97%.
The diff coverage is 1.53%.

@@            Coverage Diff             @@
##             main      #30      +/-   ##
==========================================
- Coverage   52.15%   42.17%   -9.98%
==========================================
  Files          12       14       +2
  Lines         744      939     +195
==========================================
+ Hits          388      396       +8
- Misses        335      521     +186
- Partials       21       22       +1

Flag
Coverage Δ

unittests
42.17% <1.53%> (-9.98%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

e2e/cluster/tester/loki.go
0.00% <0.00%> (ø)

e2e/cluster/kind.go
2.01% <2.01%> (ø)

pkg/exporter/grpc_proto.go
54.28% <0.00%> (+2.85%)
:arrow_up:

pkg/grpc/client.go
80.00% <0.00%> (+13.33%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 00a4d53...e0eb5c9. Read the comment docs.

Thanks for the review @jpinsonneau . I'll address your comments into another PR.
To run the tests locally, you should just run make tests-e2e (docker needed).


Fix code doc comment that referenced a private member.

Closing as we can just delete this code sample.


Room transition only working with sample project scenes

When I try to make a room transition with anything that isn't made with the project's tileset, this happens and the room is not loaded at all.
I have no idea why and what to do.
Used the sample project as base for this.
https://github.com/user-attachments/assets/c9435782-99b8-41c7-80fd-14722dabdb8a

Do you get any errors? Are the rooms aligned properly? (based on their previews)

@KoBeWi
I was using tilesets with different tile size and that also caused small misalignments, that was the issue.
Thanks for pointing that up, now everything works properly!!


Npcs respawn, where they died

I can't make, that they respawn at their spawn point.

... Did you set a spawn point via command?

I noticed that the command /npc spawn and a server restart let them spawn at the position, where they died. Only the respawn after the respawntime let them spawn at their spawn point. I would prefer if they would spawn everytime at their spawn point.

That's out of Sentinel's control if you do the /npc spawn command.

They respawn where they died after manually killing them.
This also occurs when i type /sentinel kill.
Yes, i have set a spawn point.

i had the same problem, npcs respawn at death location or when server startup, on last location...

Likely conflicting plugins (EG Denizen or similar with its own respawn functionality)

That very bad.
I use
Combatnocheatplus
Worldguard
maybe one of them can make conflict but i think not

Still an issue?


Update use-aadhttpclient.md

removed the "Access to the Microsoft Graph" section with the user_impersonation mention as MS Graph doesn't provide that anymore
Category

[ ] Content fix
[ ] New article
Related issues: fixes #X, partially #Y, mentioned in #Z

For the above list, an empty checkbox is [ ] as in [SPACE]. A checked checkbox is [x] with no space between the brackets. Use the PREVIEW tab at the top right to preview the rendering before submitting your issue.
(DELETE THIS PARAGRAPH AFTER READING)

What's in this Pull Request?

Please describe the changes in this PR. Sample description or details around bugs which are being fixed.
(DELETE THIS PARAGRAPH AFTER READING)

Guidance

Please update this PR information accordingly. We'll use this as part of our release notes in monthly communications.
Please target your PR to 'master' branch. Released documents are in live branch.
(DELETE THIS PARAGRAPH AFTER READING)

thx @lucabandMSFT, appreciated.


Investigate better way to build runnable apps with Maven

E.g. appassembler-maven-plugin as shown at https://devcenter.heroku.com/articles/create-a-java-web-application-using-embedded-tomcat

Yup, appassembler-maven-plugin works well, I'll use that one and document.


Support for nbgrader 0.8.x

Is there a timeline to support nbgrader > 0.7.1, as this would unblock up-to-date versions of Jupyterhub and other components?
There seem to be commits in the dev branch, but it would be helpful for our own usage how stable this branch currently is and when a merge to master is planned.

Thank you for your interest. We are in the process of testing out the latest dev changes that work with nbgrader 0.8.x in our live system and the plan is to roll it out by end of August. If you want to check it out you can install the latest dev release on PyPi. Documentation will also follow by end of August.


Responsiveness of research page

Fixes: #1226
Research Page responsiveness updated.

@smaranjitghose @anushbhatia kindly review this PR


Replace compiler internal API with compiler main function call besides completion

Second attempt for the reverted previous PR.

[ ] 1. line and ch higher than 1 for:
fun main() {
  dfsdf
}

 { /* ... */ "start": { "line": 2, "ch": 3 }, /* ... */ }

[ ] 2. Not found main - <errStream>No main method found in project.\n</errStream>
package org.kotlinlang.play

fun main() {
  println("Hello, World!")
}

[ ] 3. none some deprecation warnings
fun main() {
  println("abc"[0].toInt())
}

Expected:
toInt(): Int' is deprecated. Conversion of Char to Number is deprecated. Use Char.code property instead.

[ ] 4. no className for errors with severities (WARNING, ERROR):
fun main() {
  val a: dynamic = "abc"
  println(a.charAt(1).repeat(3))
}

Before:
{"interval":{ /* ... */ }, "message": "..." , "severity": "ERROR", "className":"red_wavy_line" }

Is it merged?


tracker tweaks

[x] Avatar background could bleed if they had transparent avatars
[x] Platform icons now black75
[x] No underline on username

@keybase/react-hackers

:shipit:


[NNBD] Conflicting generic type in Navigator's  push methods

In class Navigator, there is Future<T> push<T>(Route<T> route) and static Future<T> push<T extends Object>(BuildContext context, Route<T> route). The latter restricts T to a subclass of Object which means that a Route<void> doesn't work here. I think, it should be possible to use such a route with both variants. The same if true for other variants of push or replace.
If there is a reason for not allowing Route<void> this should be documented, I think. Currently the documentation stats:
/// The type argument `T` is the route's return type, as used by
/// [currentResult], [popped], and [didPop]. The type `void` may be used if the
/// route does not return a value.

This is a recent change (horrible decision, btw) in Fluter -- it was possible to use void juat yesterday.
The same can be said about many of the changes from today's upgrade. Apps are breaking because of the nullability changes.

Some time ago I ported a 7000 LOC app to NNBD and now I regularly check the progress and this was the first problem so far. Therefore, I can't deny or confirm other breakage :) I was able to work around this problem by using Navigator.of(context).push() and my app still runs.  BTW, I don't think this is a documentation bug but a a typing error.

/cc @a14n @chunhtai
I agree that Route<void> still needs to be allowed.


Bug Report: trying to install Wireshark 0x80190194 : Not found (404)

I tried to install Wireshark and it found the package but eventually there is an error.
Name                           Value
----                           -----
PSVersion                      5.1.19041.1
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.1
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>

The installation package was removed from source server. Fixed with new Url in #446

The installation package was removed from source server. Fixed with new Url in #446

It still occurs. Does it take time to update or should apply immediately?

The installation package was removed from source server. Fixed with new Url in #446

It's still occurring. Does it take time to update or should apply immediately?

Yes. Owner of this repository has to approve the fix and then (after some time) it will be published to winget repository. Sorry, you have to wait.

It is not merged yet, so you are still getting the wring server url. You have to wait until #446 is merged into the repository first. You can check the status of the PR when you click here: #446

https://winget.run/pkg/WiresharkFoundation/Wireshark
Wirehark has that download link as well, when it comes to the winget download.


Gradual Rollout

Reviewers:
@jinruh
@sbaogang

Configuration Page:

Schedule Page:

Added schedule shortcut on deploy summary page:


Rspec testing! How to do it ??

Given this situation:
# config/initializers/sidekiq.rb file
Sidekiq::Throttled::Registry.add(
  :my_throttle,
  concurrency: { limit: 50 }
)

# app/jobs/my_job.rb  file
class MyJob
  include Sidekiq::Worker
  include Sidekiq::Throttled::Worker
  sidekiq_throttle_as :my_throttle
end

How can I write tests in Rspec that assures:

The MyJob class has the expected throttle
The throttle has the expected value  (in this case, 50)
The throttle is being used (when I push a job, make sure that the available jobs to be run is equals 49 in this case)

I've tried some things but still no luck.
Any help will be useful.
Related #62

Re:

The MyJob class has the expected throttle
The throttle has the expected value (in this case, 50)

We will need to add rspec matchers to simplify this task.

Re:

The throttle is being used (when I push a job, make sure that the available jobs to be run is equals 49 in this case)

I don't see a feasible way for such testing


Unable to make subset of a PostgreSQL db with ARRAY columns

When I try to make a subset of a PostgreSQL db with ARRAY columns, rdbms-subsetter fails with this error:
column <column> is of type <type>[] but expression is of type text[]

Is there a way to force casting to the right type?

After further investigation, I found that the problem was with ARRAY[ENUM] columns. This is a known problem. The proposed PR fixes that (albeit being a little bit of a hack :sweat_smile:).

Got your fix merged!  Thank you!  It will be in the next release.


Fix package import for HTTPRouteFilterExtensionRef

Caused by merging https://github.com/envoyproxy/gateway/pull/791 without rebasing https://github.com/envoyproxy/gateway/pull/816
Signed-off-by: Arko Dasgupta<EMAIL_ADDRESS>

looks like the tests also need to be updated to use the indexes in the tests

Codecov Report

Merging #821 (6a7d442) into main (46b7b75) will decrease coverage by 0.11%.
The diff coverage is 60.00%.

@@            Coverage Diff             @@
##             main     #821      +/-   ##
==========================================
- Coverage   64.14%   64.03%   -0.12%
==========================================
  Files          46       46
  Lines        6103     6203     +100
==========================================
+ Hits         3915     3972      +57
- Misses       1952     1989      +37
- Partials      236      242       +6

Impacted Files
Coverage Δ

internal/gatewayapi/translator.go
89.67% <0.00%> (-0.70%)
:arrow_down:

internal/gatewayapi/zz_generated.deepcopy.go
0.00% <0.00%> (ø)

internal/provider/kubernetes/predicates.go
61.21% <46.66%> (-1.46%)
:arrow_down:

internal/provider/kubernetes/controller.go
52.54% <71.87%> (+1.05%)
:arrow_up:

internal/provider/kubernetes/routes.go
50.00% <78.57%> (+4.94%)
:arrow_up:

internal/gatewayapi/helpers.go
77.12% <82.35%> (+0.65%)
:arrow_up:

internal/provider/kubernetes/helpers.go
77.04% <0.00%> (+0.81%)
:arrow_up:

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


Unexpected keyword "rec_arch" in models/builder.py

Bug description
DocumentBuilder expects no "rec_arch", but it is passed through kwargs.
Code snippet to reproduce the bug
        self.straighten_pages = straighten_pages
        self.crop_orientation_predictor = None if assume_straight_pages else crop_orientation_predictor()
        **self.doc_builder = DocumentBuilder(**kwargs)**
        self.preserve_aspect_ratio = preserve_aspect_ratio
        self.symmetric_pad = symmetric_pad
        self.hooks: List[Callable] = []```

### Error traceback

warnings.warn(
Traceback (most recent call last):
File "/home/gabriel/git/OnnxTR/demo/app.py", line 6, in
model = ocr_predictor(
^^^^^^^^^^^^^^
File "/home/gabriel/git/OnnxTR/onnxtr/models/zoo.py", line 103, in ocr_predictor
return _predictor(
^^^^^^^^^^^
File "/home/gabriel/git/OnnxTR/onnxtr/models/zoo.py", line 43, in _predictor
return OCRPredictor(
^^^^^^^^^^^^^
File "/home/gabriel/git/OnnxTR/onnxtr/models/predictor/predictor.py", line 57, in init
_OCRPredictor.init(
File "/home/gabriel/git/OnnxTR/onnxtr/models/predictor/base.py", line 50, in init
self.doc_builder = DocumentBuilder(**kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: DocumentBuilder.init() got an unexpected keyword argument 'rec_arch'

### Environment

OS: Ubuntu 22.04
Python version: 3.11
Library version:
Onnxruntime version: 1.17

I managed to do a workaround by simply adding **kwargs to DocumentBuilder's init() like this:
    def __init__(         self,         resolve_lines: bool = True,         resolve_blocks: bool = True,         paragraph_break: float = 0.035,         export_as_straight_boxes: bool = False,         **kwargs: Any
But perhaps there's a more elegant solution

Hey @nospotfer :wave:,
Thanks for reporting could you please add a full working code snippet to reproduce ? :)

updated :+1:

Great! In any case, here's the snippet I used:
from onnxtr.io import DocumentFile
from onnxtr.models import ocr_predictor

doc = DocumentFile.from_pdf("/path/to/pfd_file.pdf")

model = ocr_predictor(
    det_arch='db_resnet50',  # detection architecture
    rec_arch='crnn_mobilenet_v3_large',  # recognition architecture
    det_bs=4,  # detection batch size
    reco_bs=1024,  # recognition batch size
    assume_straight_pages=True,  # set to `False` if the pages are not straight (rotation, perspective, etc.) (default: True)
    straighten_pages=False,  # set to `True` if the pages should be straightened before final processing (default: False)
    preserve_aspect_ratio=True,  # set to `False` if the aspect ratio should not be preserved (default: True)
    symmetric_pad=True,  # set to `False` to disable symmetric padding (default: True)
    # DocumentBuilder specific parameters
    resolve_lines=True,  # whether words should be automatically grouped into lines (default: True)
    resolve_blocks=True,  # whether lines should be automatically grouped into blocks (default: True)
    paragraph_break=0.035,  # relative length of the minimum space separating paragraphs (default: 0.035)
)

ocr_response = model(doc)
json_response = ocr_response.export()
text_response = ocr_response.render()

Just in case it can be useful for someone else

Added also a small first small benchmark at the readme bottom :)

The issue is still present with 0.1.2.
Steps to reproduce:
from onnxtr.io import DocumentFile
from onnxtr.models import ocr_predictor

model = ocr_predictor(
    det_arch='db_resnet50',  # detection architecture
    rec_arch='crnn_mobilenet_v3_large',  # recognition architecture
    det_bs=4, # detection batch size
    reco_bs=1024, # recognition batch size
    assume_straight_pages=True,  # set to `False` if the pages are not straight (rotation, perspective, etc.) (default: True)
    straighten_pages=False,  # set to `True` if the pages should be straightened before final processing (default: False)
    # Preprocessing related parameters
    preserve_aspect_ratio=True,  # set to `False` if the aspect ratio should not be preserved (default: True)
    symmetric_pad=True,  # set to `False` to disable symmetric padding (default: True)
    # Additional parameters - meta information
    detect_orientation=False,  # set to `True` if the orientation of the pages should be detected (default: False)
    detect_language=False, # set to `True` if the language of the pages should be detected (default: False)
    # DocumentBuilder specific parameters
    resolve_lines=True,  # whether words should be automatically grouped into lines (default: True)
    resolve_blocks=True,  # whether lines should be automatically grouped into blocks (default: True)
    paragraph_break=0.035,  # relative length of the minimum space separating paragraphs (default: 0.035)
)

Traceback:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[5], line 4
      1 from onnxtr.io import DocumentFile
      2 from onnxtr.models import ocr_predictor
----> 4 model = ocr_predictor(
      5     det_arch='db_resnet50',  # detection architecture
      6     rec_arch='crnn_mobilenet_v3_large',  # recognition architecture
      7     det_bs=4, # detection batch size
      8     reco_bs=1024, # recognition batch size
      9     assume_straight_pages=True,  # set to `False` if the pages are not straight (rotation, perspective, etc.) (default: True)
     10     straighten_pages=False,  # set to `True` if the pages should be straightened before final processing (default: False)
     11     # Preprocessing related parameters
     12     preserve_aspect_ratio=True,  # set to `False` if the aspect ratio should not be preserved (default: True)
     13     symmetric_pad=True,  # set to `False` to disable symmetric padding (default: True)
     14     # Additional parameters - meta information
     15     detect_orientation=False,  # set to `True` if the orientation of the pages should be detected (default: False)
     16     detect_language=False, # set to `True` if the language of the pages should be detected (default: False)
     17     # DocumentBuilder specific parameters
     18     resolve_lines=True,  # whether words should be automatically grouped into lines (default: True)
     19     resolve_blocks=True,  # whether lines should be automatically grouped into blocks (default: True)
     20     paragraph_break=0.035,  # relative length of the minimum space separating paragraphs (default: 0.035)
     21 )

File ~/anaconda3/envs/unsloth/lib/python3.10/site-packages/onnxtr/models/zoo.py:103, in ocr_predictor(det_arch, reco_arch, assume_straight_pages, preserve_aspect_ratio, symmetric_pad, export_as_straight_boxes, detect_orientation, straighten_pages, detect_language, **kwargs)
     56 def ocr_predictor(
     57     det_arch: Any = "fast_base",
     58     reco_arch: Any = "crnn_vgg16_bn",
   (...)
     66     **kwargs: Any,
     67 ) -> OCRPredictor:
     68     """End-to-end OCR architecture using one model for localization, and another for text recognition.
     69
     70     >>> import numpy as np
   (...)
    101         OCR predictor
    102     """
--> 103     return _predictor(
    104         det_arch,
    105         reco_arch,
    106         assume_straight_pages=assume_straight_pages,
    107         preserve_aspect_ratio=preserve_aspect_ratio,
    108         symmetric_pad=symmetric_pad,
    109         export_as_straight_boxes=export_as_straight_boxes,
    110         detect_orientation=detect_orientation,
    111         straighten_pages=straighten_pages,
    112         detect_language=detect_language,
    113         **kwargs,
    114     )

File ~/anaconda3/envs/unsloth/lib/python3.10/site-packages/onnxtr/models/zoo.py:43, in _predictor(det_arch, reco_arch, assume_straight_pages, preserve_aspect_ratio, symmetric_pad, det_bs, reco_bs, detect_orientation, straighten_pages, detect_language, **kwargs)
     37 # Recognition
     38 reco_predictor = recognition_predictor(
     39     reco_arch,
     40     batch_size=reco_bs,
     41 )
---> 43 return OCRPredictor(
     44     det_predictor,
     45     reco_predictor,
     46     assume_straight_pages=assume_straight_pages,
     47     preserve_aspect_ratio=preserve_aspect_ratio,
     48     symmetric_pad=symmetric_pad,
     49     detect_orientation=detect_orientation,
     50     straighten_pages=straighten_pages,
     51     detect_language=detect_language,
     52     **kwargs,
     53 )

File ~/anaconda3/envs/unsloth/lib/python3.10/site-packages/onnxtr/models/predictor/predictor.py:57, in OCRPredictor.__init__(self, det_predictor, reco_predictor, assume_straight_pages, straighten_pages, preserve_aspect_ratio, symmetric_pad, detect_orientation, detect_language, **kwargs)
     55 self.det_predictor = det_predictor
     56 self.reco_predictor = reco_predictor
---> 57 _OCRPredictor.__init__(
     58     self, assume_straight_pages, straighten_pages, preserve_aspect_ratio, symmetric_pad, **kwargs
     59 )
     60 self.detect_orientation = detect_orientation
     61 self.detect_language = detect_language

File ~/anaconda3/envs/unsloth/lib/python3.10/site-packages/onnxtr/models/predictor/base.py:50, in _OCRPredictor.__init__(self, assume_straight_pages, straighten_pages, preserve_aspect_ratio, symmetric_pad, **kwargs)
     48 self.straighten_pages = straighten_pages
     49 self.crop_orientation_predictor = None if assume_straight_pages else crop_orientation_predictor()
---> 50 self.doc_builder = DocumentBuilder(**kwargs)
     51 self.preserve_aspect_ratio = preserve_aspect_ratio
     52 self.symmetric_pad = symmetric_pad

TypeError: DocumentBuilder.__init__() got an unexpected keyword argument 'rec_arch'

onnxTR version: 0.1.2

@nospotfer reco_arch not rec_arch :)
Take a look i had updated the readme :)

You're completely right!
It works like a charm. Thank you!

I have already planned to experiment next week a bit with onnxruntime available optimization and 8-Bit quantization to further boost the inference latency on CPU :)

I'll be very happy to give it a try! In any case, docTR cpu in onnx without
quantization is already blazing fast.
El vie, 10 may 2024, 18:18, Felix Dittrich @.***>
escribió:

I have already planned to experiment next week a bit with onnxruntime
available optimization and 8-Bit quantization to further boost the
inference latency on CPU :)
—
Reply to this email directly, view it on GitHub
https://github.com/felixdittrich92/OnnxTR/issues/5#issuecomment-2104880536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AC3TQYZSXXJAY2MJFEQMKPTZBTXNBAVCNFSM6AAAAABHQPWQOOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBUHA4DANJTGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

@nospotfer 8-bit available now: https://github.com/felixdittrich92/OnnxTR/releases/tag/v0.2.0
Feel free to test it 🤗

I'll give it a try as soon as I can!


Aliases don't have rdfs:subClassOf anymore. Is this fine?

For a while now, in the Brick nightly version, the brick:aliasOf entities are very different. One of changes is that rdfs:subClassOf is replaced with owl:equivalentClass and brick:aliasOf. However, without rdfs:subClassOf, this means that all entities that are now known as aliases will not be returned if I run a query like ?item rdf:type/rdfs:subClassOf* brick:Equipment (basically getting all equipment entities in my graph). I found a potential work-around for the query which is ?item rdf:type/brick:aliasOf?/rdfs:subClassOf* brick:Equipment but it is a slower query. In fact, for a versioned graph collection, it takes minutes to get the query to finish. Would it be possible to still include rdfs:subClassOf for these aliases (perhaps this will make it more backward compatible)? Otherwise, how should these alias types be worked with?
Here is an example below how Brick.ttl is written:
Brick Nightly:
brick:VAV a owl:Class ;
    rdfs:label "VAV" ;
    owl:equivalentClass brick:Variable_Air_Volume_Box ;
    skos:definition "See Variable_Air_Volume_Box"@en ;
    brick:aliasOf brick:Variable_Air_Volume_Box .

Brick Stable 1.3:
brick:VAV a owl:Class,
        sh:NodeShape ;
    rdfs:label "VAV" ;
    rdfs:subClassOf brick:Terminal_Unit ;
    skos:definition "See Variable_Air_Volume_Box"@en ;
    sh:rule [ a sh:TripleRule ;
            sh:object tag:Equipment ;
            sh:predicate brick:hasTag ;
            sh:subject sh:this ],
        [ a sh:TripleRule ;
            sh:object tag:VAV ;
            sh:predicate brick:hasTag ;
            sh:subject sh:this ] ;
    brick:hasAssociatedTag tag:Equipment,
        tag:VAV .

Here's is the code to reproduce what I've been trying:
from brickschema.graph import Graph
from brickschema.namespaces import BRICK, A
from rdflib import Namespace
from brickschema.persistent import VersionedGraphCollection

# CREATE GRAPH
g = Graph(load_brick_nightly=True)

# CREATE NAMESPACE
test = Namespace("test#")
g.bind("tst", test)

# ADD TRIPLES
g.add((test["REAL"], A, BRICK["Variable_Air_Volume_Box"]))
g.add((test["ALIAS"], A, BRICK["VAV"]))
g.add((test["ALIAS2"], A, BRICK["VAV"]))

# QUERY 1
query = g.query(
          """
          PREFIX brick: <https://brickschema.org/schema/Brick#>
          PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
          PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
          SELECT ?group (count(?item) as ?total_items) WHERE {
              ?group rdfs:subClassOf brick:Terminal_Unit .
              ?item rdf:type/rdfs:subClassOf* ?group .
          }
          GROUP BY ?group
          ORDER BY asc(?group)
          """
        )

# PRINT RESULTS 1
for row in query:
  group = row.get("group")
  total_items = row.get("total_items")
  print(group, total_items)

# returns only:
# https://brickschema.org/schema/Brick#Variable_Air_Volume_Box 1

# QUERY 2
query = g.query(
          """
          PREFIX brick: <https://brickschema.org/schema/Brick#>
          PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
          PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
          SELECT ?group (count(?item) as ?total_items) WHERE {
                {
                    ?group rdfs:subClassOf brick:Terminal_Unit .
                    ?item rdf:type/rdfs:subClassOf* ?group .
                } UNION {
                    ?group brick:aliasOf/rdfs:subClassOf brick:Terminal_Unit .
                    ?item rdf:type/brick:aliasOf?/rdfs:subClassOf* ?group .
                }
          }
          GROUP BY ?group
          ORDER BY asc(?group)
          """
        )

# PRINT RESULTS 2
for row in query:
  group = row.get("group")
  total_items = row.get("total_items")
  print(group, total_items)

# returns correctly:
# https://brickschema.org/schema/Brick#VAV 2
# https://brickschema.org/schema/Brick#Variable_Air_Volume_Box 1

Hi @rileywong311 I believe the original behavior should be returned if you perform SHACL reasoning on the graph. This should hopefully be as straightforward as adding g.expand("shacl") above after you load in your instance data. This will interpret the aliasOf annotations to add in the proper equivalencies and you can use your original queries. There is a possibility that this won't work on the Versioned Graph Store due to some bug so it would be good to check. I'm on a short trip out of office for a few days but I can help investigate when I return

Ok. This appears to work for at least for Graph. It gives all entities that are typed VAV the type Variable_Air_Volume_Box from the reasoning.
However, it is slow for Graph and perhaps even slower for VersionedGraphCollection. On my end, it takes about 16s for Graph and I didn't let the VersionedGraphCollection one finish because it was over 5 minutes.
(With the nightly version there are also "constraint violations" printed to the console but it still runs the code).
If all I really need to do is give alias types also their "not-alias" version, then perhaps I could just query all of those from my graph and add the triples for the "not-alias" one with my own code.
query = g.query(
          """
          PREFIX brick: <https://brickschema.org/schema/Brick#>
          SELECT ?entity ?alias WHERE {
            ?entity rdf:type/brick:aliasOf ?alias
          }
          """
        )
for row in query:
  entity = row.get("entity")
  alias = row.get("alias")
  g.add((entity, A, alias))

This is significantly faster with 0.1s on a Graph and 8s on a VersionedGraphCollection for me, granted this is all I want to do.
If this seems good, I don't think there would be much else to look into on my end.


aria.utils.Orientation not reliable

The current implementation of screen orientation detection is not working consistently across devices because:

it relies on the orientationchange event which is Webkit only
the meaning of values returned in window.orientation are device-specific (i.e. 0 means portrait for an iPad but landscape for the Nexus 10.)

A better implementation should rely on the resize event and check the window's innerWidth/innerHeight ratio to distinguish landscape from portrait.

commit reverted 55399ac5e6098a5306928cbe16e863f87eb342df (code will be further investigated)


Add base class to find module input and output sizes

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

Project coverage is 100.00%. Comparing base (e2ffa3f) to head (cba7170).

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #49   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           28        31    +3
  Lines          419       454   +35
  Branches        30        34    +4
=========================================
+ Hits           419       454   +35

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


[Heyu] Heyu onstate function failed: Error: Command failed: /usr/local/bin/heyu onstate K8 State engine is not running.

I have it running when I manually start the hey engine but if I reboot the pi it crashes the heyu portion....
"Heyu onstate function failed: Error: Command failed: /usr/local/bin/heyu onstate K8
State engine is not running."
I have to stop the homebridge service and manually start the engine, then restart the service.
I have the START_ENGINE AUTO inside the config file, I think this is all I need right?
Or should I have a script that starts the engine by itself?

@tommyd75 Once I strip all the comments from mine, it looks like this.  And I START_ENGINE AUTO
cat /etc/heyu/x10.conf | grep -v "^#" | grep -v "^$"
TTY	/dev/ttyUSB0
START_ENGINE  AUTO
POWERFAIL_UPDATE YES
HOUSECODE	  A                # A B C D E F G H I J K L M N O P
ALIAS Front_Porch A1 StdLM
ALIAS Garden_Path A2 StdAM
ALIAS Side_Door A3 StdLM
ALIAS Rear_Door A4 SL2LM
ALIAS Family_room_Pot_lights A5 SL2LM ONLEVEL RESUME
ALIAS Family_room_Lamp A6 StdLM
ALIAS Family_room_outlet A7 StdAM
ALIAS Front_Door A8 SL2LM ONLEVEL RESUME
ALIAS Basement A9 SL2LM ONLEVEL RESUME
ALIAS Kitchen_Counter A11 StdLM
ALIAS Living_Room_Lamp A13 StdLM
ALIAS Staircase_Lamp A14 StdAM
ALIAS Powder_Room A15 StdLM
ALIAS Garage_Outlet A16 StdAM
ALIAS Porch_Motion B3 MS14 RFIGNORE
ALIAS Porch_Motion_LS B4 MS14A RFIGNORE
ALIAS Stereo B9 StdAM
LOG_DIR  /var/log/heyu/
SCRIPT B* alloff :: heyu alloff A
SCRIPT B* lightson :: heyu lightson A
SCRIPT_MODE  SCRIPTS       # SCRIPTS  HEYUHELPER
LONGITUDE         W079:16      # [degrees:minutes East or West of Greenwich]
LATITUDE          N43:78       # [degrees:minutes North or South of equator]
TIMER_LOOPCOUNT  57060393

So everything works fine except the engine doesn't start by itself when I reboot so I have to start it myself.
If I don't start it home bridge errors out like this.
Heyu onstate function failed: Error: Command failed: /usr/local/bin/heyu onstate K6
State engine is not running.
My config file looks like this.....
TTY	/dev/ttyS0
HOUSECODE K
ALIAS  front_entry_light        K6   StdLM
START_ENGINE AUTO

On my raspberryPI I automatically start heyu when it boots up, similar to how you can start homebridge automatically when it starts.   Are you auto starting heyu on boot?

No I don’t think I have Heyu starting automatically, although I do have homebridge starting at boot. Is there a quick tutorial you can point me to?
Get Outlook for iOShttps://aka.ms/o0ukef

From: NorthernMan54<EMAIL_ADDRESS>Sent: Sunday, October 29, 2017 8:52:52 AM
To: NorthernMan54/homebridge-heyu
Cc: tommyd75; Mention
Subject: Re: [NorthernMan54/homebridge-heyu] [Heyu] Heyu onstate function failed: Error: Command failed: /usr/local/bin/heyu onstate K8 State engine is not running. (#9)
On my raspberryPI I automatically start heyu when it boots up, similar to how you can start homebridge automatically when it starts. Are you auto starting heyu on boot?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/NorthernMan54/homebridge-heyu/issues/9#issuecomment-340263925, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADeWgN5R9QegtiMfsxF3CYG5Ws1lBokhks5sxIM0gaJpZM4QCALB.

A quick google shows this
https://cylkedowney.wordpress.com/2017/05/19/starting-heyu-using-systemd/

On Oct 29, 2017, at 9:55 AM, tommyd75<EMAIL_ADDRESS>wrote:
No I don’t think I have Heyu starting automatically, although I do have homebridge starting at boot. Is there a quick tutorial you can point me to?
Get Outlook for iOShttps://aka.ms/o0ukef

From: NorthernMan54<EMAIL_ADDRESS>Sent: Sunday, October 29, 2017 8:52:52 AM
To: NorthernMan54/homebridge-heyu
Cc: tommyd75; Mention
Subject: Re: [NorthernMan54/homebridge-heyu] [Heyu] Heyu onstate function failed: Error: Command failed: /usr/local/bin/heyu onstate K8 State engine is not running. (#9)
On my raspberryPI I automatically start heyu when it boots up, similar to how you can start homebridge automatically when it starts. Are you auto starting heyu on boot?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/NorthernMan54/homebridge-heyu/issues/9#issuecomment-340263925, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADeWgN5R9QegtiMfsxF3CYG5Ws1lBokhks5sxIM0gaJpZM4QCALB.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub https://github.com/NorthernMan54/homebridge-heyu/issues/9#issuecomment-340264057, or mute the thread https://github.com/notifications/unsubscribe-auth/AS5CmPpDob1FF6GzQzH4wqZuMT-wfNpuks5sxIPGgaJpZM4QCALB.


Edit UG

Codecov Report

Merging #106 into master will increase coverage by 2.06%.
The diff coverage is 66.66%.

@@             Coverage Diff              @@
##             master     #106      +/-   ##
============================================
+ Coverage     44.08%   46.15%   +2.06%
- Complexity      576      593      +17
============================================
  Files           161      159       -2
  Lines          3128     3105      -23
  Branches        397      393       -4
============================================
+ Hits           1379     1433      +54
+ Misses         1655     1562      -93
- Partials         94      110      +16

Impacted Files
Coverage Δ
Complexity Δ

.../seedu/address/logic/parser/AddressBookParser.java
37.50% <66.66%> (+7.77%)
11.00 <0.00> (+4.00)

...rc/main/java/seedu/address/model/ModelManager.java
42.25% <0.00%> (+5.63%)
26.00% <0.00%> (+3.00%)

...c/main/java/seedu/address/model/person/Lesson.java
89.65% <0.00%> (+24.13%)
14.00% <0.00%> (+2.00%)

...rc/main/java/seedu/address/logic/LogicManager.java
57.69% <0.00%> (+26.92%)
3.00% <0.00%> (ø%)

...eedu/address/logic/commands/LessonEditCommand.java
38.77% <0.00%> (+38.77%)
3.00% <0.00%> (+3.00%)

.../address/logic/parser/LessonEditCommandParser.java
50.00% <0.00%> (+50.00%)
3.00% <0.00%> (+3.00%)

...ss/logic/commands/exceptions/CommandException.java
100.00% <0.00%> (+50.00%)
2.00% <0.00%> (+1.00%)

...seedu/address/logic/commands/LessonAddCommand.java
100.00% <0.00%> (+100.00%)
8.00% <0.00%> (+8.00%)

...u/address/logic/parser/LessonAddCommandParser.java
100.00% <0.00%> (+100.00%)
5.00% <0.00%> (+5.00%)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c5953ae...d822a85. Read the comment docs.


Discover Cassandra nodes via Kubernetes DNS during replication

Currently, the helm chart that sets up Cassandra has nodes discovering each other by IP during data replication. In rare situations we've seen this cause issues if Cassandra and Kubernetes get out of sync as to what are the correct IP addresses for the Cassandra workers. To prevent this issue and shield Cassandra from IP changes, we want to front each Cassandra node with a DNS name of a kubernetes service. @xtophs is the expert in this area for further questions.

Error screenshots from yet another outage caused by this:

Tried to fix the issue with kubectl -n cassandra exec -it cassandra-cluster-cassan-0 -- nodetool removenode 7d0841ec-09fc-4c5c-b67b-412d0d8a0afb and kubectl -n cassandra exec -it cassandra-cluster-cassan-0 -- nodetool removenode 860d09c0-1571-4771-9574-6d537fee57c1.


Move from multiselect.js to Chosen

From
http://loudev.com/
to
https://github.com/harvesthq/chosen

Multiselect no longer being used.


Consider implementing 'aemc-terraform-provider' and pushing module to Terraform Registry

responsibilities

set up and update the AEM instance
deploy AEM packages

all done declaratively, support in-place update when possible
potential problems:

connectivity SSH / AWS SSM (drivers to implement),

SSH example (like in remote-exec) https://developer.hashicorp.com/terraform/language/resources/provisioners/remote-exec
SSM example (sth like https://github.com/mmmorris1975/ssm-session-client/tree/main/examples/ssm-ssh)

registering AEM as a system service (also drivers?)

resource candidates:

aem_instance - provisioning via SSH connection (cloud agnostic)
aem_aws_instance - provisioning via AWS SSM (dedicated to AWS, SSH-less)

resource "aws_instance" "aem_author" {
  // ...
}

resource "aem_aws_instance" "aem_author" {
  aws {
    id  = aws_instance.aem.id
    ssm = true // prefer SSM over SSH when connecting to instance to provision it
  }

  config {
    instance_id = "local_author"
    file        = "aem.yml"  // or yml inline below

    inline = <<EOT
      instance:
        config:
          local_author:
            http_url: http://<IP_ADDRESS>:4502
            user: admin
            password: admin
            run_modes: [ int ]
            jvm_opts:
              - -server
              - -Djava.awt.headless=true
              - -Djava.io.tmpdir=[[canonicalPath .Path "aem/home/tmp"]]
              - -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=<IP_ADDRESS>:14502
              - -Duser.language=en
              - -Duser.country=US
              - -Duser.timezone=UTC
            start_opts: []
            secret_vars:
              - ACME_SECRET=value
            env_vars:
              - ACME_VAR=value
            sling_props: []
      EOT
  }

  provision {
    commands = [
      // assumes usage of standard 'changed' field returned by AEMC
      ["pkg", "deploy", "--url", "http://github.com/../some-pkg.zip"],
      ["osgi", "config", "save", "--pid", "xxx", "props", "a: 'b'"]
    ]

    // nicely propagates 'changed' to TF (update in place), also automatically uploads packages to AEM
    packages = [
      "http://github.com/../some-pkg.zip",
      "packages/core-components.zip"
      "packages/content-large.zip" // use checksums to avoid re-uploading big packages
    ]

    // or as a last resort (without telling 'changed' to TF)
    shell = <<EOT
        sh aemw pkg deploy --url "http://github.com/../some-pkg.zip"
        sh aemw [do ant
    EOT
  }
}

also consider implementing AEMC Packer Provisioner - https://developer.hashicorp.com/packer/docs/plugins/creation/custom-provisioners


"How is this data gathered" in about page is out-of-date

This says the crawl uses IE9.  It's been Chrome for awhile, right?

We're running both in parallel at the moment. The plan is to switch to Chrome as "primary" in the very near future (i.e. httparchive.org will default to http://chrome.httparchive.org/). Once that's in place, we can update that page.

Oh, I didn't realize that - thanks!

Fixed by https://github.com/HTTPArchive/httparchive/commit/ff0f64dfa8a89cadd28d6f41aba9f7e36365116e May 2016


[SDWebImageDownloaderOperation start] crashing

New Issue Checklist

[x] I have read and understood the CONTRIBUTING guide
[x] I have read the Documentation
[x] I have searched for a similar issue in the project and found none

Issue Info

Info
Value

Platform Name
ios

Platform Version
e.g. 8.0

SDWebImage Version
e.g. 3.7.6

Integration Method
cocoapods

Xcode Version
e.g. Xcode 7.3

Repro rate
e.g. sometimes x%

Repro with our demo prj
e.g. does it happen with our demo project?

Demo project link
e.g. link to a demo project that highlights the issue

Issue Description and Steps
Please fill in the detailed description of the issue (full output of any stack trace, compiler error, ...) and the steps to reproduce the issue.
Crashed: NSOperationQueue 0x17403ace0 :: NSOperation 0x170338740 (QOS: USER_INTERACTIVE)
0  libsystem_kernel.dylib         0x184c1a014 __pthread_kill + 8
1  libsystem_pthread.dylib        0x184ce2450 pthread_kill + 112
2  libsystem_c.dylib              0x184b8e3e0 abort + 140
3  libsystem_malloc.dylib         0x184c5ea38 _nano_vet_and_size_of_live + 330
4  libsystem_malloc.dylib         0x184c5fdb8 nano_free + 220
5  CoreFoundation                 0x185bf9e8c _CFRelease + 1264
6  CFNetwork                      0x1863b1800 ___ZN27URLConnectionClient_Classic29_delegate_didReceiveDataArrayEv_block_invoke + 292
7  CFNetwork                      0x1863b0960 ___ZN27URLConnectionClient_Classic18_withDelegateAsyncEPKcU13block_pointerFvP16_CFURLConnectionPK33CFURLConnectionClientCurrent_VMaxE_block_invoke_2 + 108
8  libdispatch.dylib              0x184ad51c0 _dispatch_client_callout + 16
9  libdispatch.dylib              0x184ae0b24 _dispatch_block_invoke_direct + 376
10 CFNetwork                      0x186467eb4 RunloopBlockContext::_invoke_block(void const*, void*) + 36
11 CoreFoundation                 0x185b239a8 CFArrayApplyFunction + 68
12 CFNetwork                      0x186467d98 RunloopBlockContext::perform() + 136
13 CFNetwork                      0x1864690c0 MultiplexerSource::perform() + 312
14 CFNetwork                      0x186468e2c MultiplexerSource::_perform(void*) + 64
15 CoreFoundation                 0x185bf8278 CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 24
16 CoreFoundation                 0x185bf7bc0 __CFRunLoopDoSources0 + 524
17 CoreFoundation                 0x185bf57c0 __CFRunLoopRun + 804
18 CoreFoundation                 0x185b24048 CFRunLoopRunSpecific + 444
19 CoreFoundation                 0x185b718d4 CFRunLoopRun + 112
20 Wattpad                        0x10088100c -[SDWebImageDownloaderOperation start] (SDWebImageDownloaderOperation.m:123)
21 Foundation                     0x186710b00 __NSOQSchedule_f + 228
22 libdispatch.dylib              0x184ad51c0 _dispatch_client_callout + 16
23 libdispatch.dylib              0x184ae3444 _dispatch_queue_serial_drain + 928
24 libdispatch.dylib              0x184ad89a8 _dispatch_queue_invoke + 652
25 libdispatch.dylib              0x184ae538c _dispatch_root_queue_drain + 572
26 libdispatch.dylib              0x184ae50ec _dispatch_worker_thread3 + 124
27 libsystem_pthread.dylib        0x184cde2b8 _pthread_wqthread + 1288
28 libsystem_pthread.dylib        0x184cddda4 start_wqthread + 4

Me too ;(
SDWebImageDownloaderOperation.m line 117
-[SDWebImageDownloaderOperation start]
I'm using 4.0.0 beta 2
I think it has relation with amount of images, my feed have a lot of collectionviews with images inside each.
I changed SDWebImageDownloader.sharedDownloader().maxConcurrentDownloads = 2, but this not help.

I think the problem is that,  in the SDWebImageDownloader class, it will remove SDWebImageDownloaderOperation,  but the operation is working in the other thread.

I also meet the bug,but did not find good way to resolve it.

Please retry with the latest 4.0.0 version


Test api schema

This adds some basic json schema tests:

The documented json schema values are all valid json schemas
The schemas are tested with examples of expected valid or invalid json documents.

How do the tests look? Is it worth bringing in 5 tiny packages to validate json?

Hmm, this feels a little heavyweight for testing that the schema is valid & expresses what you think it does. It's certainly the most correct way to do it but it almost feels like maybe it should be separate? Apropos it would be nice to be able to do:
curl https://myservers/rest/api/foo | lfs-api-validate
...to easily prove whether a server is fulfilling the API properly. A different test I know and you still need to assert that the schema itself is correct but I wonder if that and a lfs-api-validate tool would sit better in their own repo without cluttering the client.

Yeah, keeping it separate is probably a good call. I do want some kind of lint/test suite for servers too, eventually.


traymenu: Add explicit Focus Window entry.

Description
See https://github.com/tauri-apps/tauri/issues/7283
This is a Tauri bug for Linux and it looks like they don't plan on fixing this on the upstream. Thus, we need an explicit button here.
Testing
I've tested this manually on Linux but not on Windows. I'm new to Rust so please review this carefully?

In my opinion, using open and removing conditional compilation attribute instead of focus would be better.

Agreed on condition compilation, but technically, you can click this even when the app is already open... Do we want this to be a toggle (show/hide) instead? Or just "open" but acts as "focus"?

Agreed on condition compilation, but technically, you can click this even when the app is already open... Do we want this to be a toggle (show/hide) instead? Or just "open" but acts as "focus"?

show sounds more accurate and better!


Fixed Pay Command Glitch

this.verifyUser() was returning message.response which was a object rendering if (!user) return;useless.

Fixed verifyUser() to rather return false.

Proof


Create LICENSE.md

license ok

Codecov Report

Merging #1 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master       #1   +/-   ##
=========================================
  Coverage     42.92%   42.92%
  Complexity      110      110
=========================================
  Files            26       26
  Lines           664      664
  Branches         87       87
=========================================
  Hits            285      285
  Misses          351      351
  Partials         28       28

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 44a5778...04f77a3. Read the comment docs.


fix(ldap):ldap not have login attempt limit

What type of PR is this?
Added a limit for the number of failed login attempts for LDAP integration, and this limit on failed login attempts is isolated from the limit for local password login attempts. Furthermore, the limit will be reset after a successful login.

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #1587  Instead of remove login failed message, add login apptempt times to LDAP integrate config.
Special notes for your reviewer:

Additional documentation e.g., usage docs, etc.:
some change:
FailedLoginAttemptLimiter: add method attemptFailedByException to  increase failedAttempt by exception, which can avoid determine the type of exception to reduceFailedAttemptCount in CustomAuthenticationFailureHandler#onAuthenticationFailure.This allows FailedLoginAttemptLimiter transparent to CustomAuthenticationFailureHandler.

It's not necessary to implement this feature at the moment.