How to use layout parser as layout service and doctr as ocr?

I am using a Layout Parser model that is PubLaynet model and I want to use with doctr ocr instead of resnet 50 model. I will provide a code below how I am trying to do it.
I am getting blank output when I try to use layout parser model, but if I use resnet model I am getting output.
Code:
from deepdoctection.extern.doctrocr import DoctrTextRecognizer, DoctrTextlineDetector
from deepdoctection.extern.model import ModelCatalog, ModelDownloadManager
from deepdoctection.pipe.doctectionpipe import DoctectionPipe
from deepdoctection.pipe.layout import ImageLayoutService
from deepdoctection.pipe.text import TextExtractionService
import deepdoctection as dd

dd.ModelCatalog.register("layoutparser/publaynet/model_final.pth", dd.ModelProfile(
    name="layoutparser/publaynet/model_final.pth",
    description="Layout analysis",
    config="layoutparser/publaynet/config.yml",
    tp_model=False,
    size=[],
    categories={

        1: dd.LayoutType.TEXT,
        2: dd.LayoutType.TITLE,
        3: dd.LayoutType.LIST,
        4: dd.LayoutType.FIGURE,
        5: dd.LayoutType.TABLE,

    },
    model_wrapper="D2FrcnnDetector",
))

# Initialize components
path_weights = dd.ModelCatalog.get_full_path_weights("layoutparser/publaynet/model_final.pth")
path_configs = dd.ModelCatalog.get_full_path_configs("layoutparser/publaynet/model_final.pth")
categories = dd.ModelCatalog.get_profile("layoutparser/publaynet/model_final.pth").categories

# path_weights_tl = ModelDownloadManager.maybe_download_weights_and_configs("doctr/db_resnet50/pt/db_resnet50-ac60cadc.pt")

# categories = ModelCatalog.get_profile("doctr/db_resnet50/pt/db_resnet50-ac60cadc.pt").categories
# det = DoctrTextlineDetector("db_resnet50",path_weights_tl,categories,"cpu")

d2_detector = dd.D2FrcnnDetector(path_configs, path_weights, categories, device="cpu")

layout = ImageLayoutService(d2_detector, to_image=True, crop_image=True)

path_weights_tr = dd.ModelDownloadManager.maybe_download_weights_and_configs("doctr/crnn_vgg16_bn/pt/crnn_vgg16_bn-9762b0b0.pt")
rec = DoctrTextRecognizer("crnn_vgg16_bn", path_weights_tr, "cpu")
text = TextExtractionService(rec, extract_from_roi=[dd.LayoutType.TEXT,
                                                    dd.LayoutType.TITLE,
                                                    dd.LayoutType.LIST,])

# Initialize other components like the matching service and text order service
map_comp = dd.MatchingService(parent_categories=[dd.LayoutType.TEXT,dd.LayoutType.TITLE,dd.LayoutType.LIST, dd.LayoutType.TABLE],
                              child_categories=[dd.LayoutType.WORD],
                              matching_rule='ioa', threshold=0.3,
                              max_parent_only=True)
text_order_comp = dd.TextOrderService(text_container=dd.LayoutType.WORD,
                                     text_block_categories= [
                                                            dd.LayoutType.TEXT,
                                                            dd.LayoutType.TITLE,
                                                            dd.LayoutType.LIST,
                                                            ],
                                     floating_text_block_categories=[
                                                                    dd.LayoutType.TEXT,
                                                                    dd.LayoutType.TITLE,
                                                                    dd.LayoutType.LIST,
                                                                    ],
                                     include_residual_text_container=True)

page_parsing = dd.PageParsingService(text_container=dd.LayoutType.WORD,
                                         floating_text_block_categories=[
                                                                         dd.LayoutType.TEXT,
                                                                         dd.LayoutType.TITLE,
                                                                         dd.LayoutType.LIST,
                                                                         dd.LayoutType.TABLE
                                                                         ],
                                         include_residual_text_container=True)

pipe_comp_list=[layout,text,map_comp,text_order_comp]
analyzer = DoctectionPipe(pipeline_component_list=pipe_comp_list, page_parsing_service=page_parsing)

path = "/home/images"
df = analyzer.analyze(path = path)
df.reset_state()

for dp in df:
    print(dp.text)

Question:
How to use layout parser as layout service and doctr as ocr?

DocTr OCR system has a two step approach: word detection (with doctr/db_resnet50/pt/db_resnet50-ac60cadc.pt) and text recognition (with doctr/crnn_vgg16_bn/pt/crnn_vgg16_bn-9762b0b0.pt). They only work in conjunction.
layoutparser/publaynet/model_final.pth is a layout model.
If you run layoutparser/publaynet/model_final.pth but not doctr/crnn_vgg16_bn/pt/crnn_vgg16_bn-9762b0b0.pt you cannot expect text results because the text recognizer does not get word bounding boxes.
You don't need to build a pipeline by yourself. It suffice to configure the .yaml file. To use DocTr check this notebook, to register a layout parser model check this notebook. Once the layout model is registered you can adapt your .yaml file:
PT:
   LAYOUT: layoutparser/publaynet/model_final.pth
      WEIGHTS:

This is expected. Detecting layouts and words solves only an object detection problem. But you need to assign words to layout segments and you need to order words within a layout segment and layout segments within the page.
In conclusion, as you spotted: MatchingService and TextorderService a required in order to get narrative text.

Thank you for your response.
Like you said I made the changes and it works.
Is there a way I can send specific categories like (Title only) from layout parser to doctr.

@adinath1233 Could you post a updated version where added the suggestions ?

Thank you for your response. Like you said I made the changes and it works.
Is there a way I can send specific categories like (Title only) from layout parser to doctr.

This is the place where extract_from_roi comes into effect.

Hi @Jonathanpro here is my updated version of code,
@JaMe76 can you please also review it?
code:
# registering the model for layout analysis
dd.ModelCatalog.register("layoutparser/publaynet/model_final.pth", dd.ModelProfile(
    name="layoutparser/publaynet/model_final.pth",
    description="Layout analysis",
    config="layoutparser/publaynet/config.yml",
    tp_model=False,
    size=[],
    categories={
        1: dd.LayoutType.TEXT,
        2: dd.LayoutType.TITLE,
        3: dd.LayoutType.LIST,
        4: dd.LayoutType.TABLE,
        5: dd.LayoutType.TABLE, #it is figure cat for now we are making it table cat
    },
    model_wrapper="D2FrcnnDetector",
))
# layout service
path_weights = dd.ModelCatalog.get_full_path_weights("layoutparser/publaynet/model_final.pth")
path_configs = dd.ModelCatalog.get_full_path_configs("layoutparser/publaynet/model_final.pth")
categorie = dd.ModelCatalog.get_profile("layoutparser/publaynet/model_final.pth").categories

d2_detector = dd.D2FrcnnDetector(path_configs, path_weights, categorie, device="cpu")
layout = ImageLayoutService(d2_detector, to_image=True, crop_image=True)

# Text service
path_weights_tl = ModelDownloadManager.maybe_download_weights_and_configs("doctr/db_resnet50/pt/db_resnet50-ac60cadc.pt")

categories = ModelCatalog.get_profile("doctr/db_resnet50/pt/db_resnet50-ac60cadc.pt").categories
det = DoctrTextlineDetector("db_resnet50",path_weights_tl,categories,"cpu")
doctrdet = ImageLayoutService(det, to_image=True, crop_image=True)

path_weights_tr = dd.ModelDownloadManager.maybe_download_weights_and_configs("doctr/crnn_vgg16_bn/pt/crnn_vgg16_bn-9762b0b0.pt")
rec = DoctrTextRecognizer("crnn_vgg16_bn", path_weights_tr, "cpu")

# **************************8***
text = TextExtractionService(rec, extract_from_roi=dd.LayoutType.WORD)
# *******************************

map_comp = dd.MatchingService(parent_categories=[dd.LayoutType.TEXT,dd.LayoutType.TITLE,dd.LayoutType.LIST, dd.LayoutType.TABLE],
                              child_categories=[dd.LayoutType.WORD],
                              matching_rule='ioa', threshold=0.5,
                              max_parent_only=True)
text_order_comp = dd.TextOrderService(text_container=dd.LayoutType.WORD,
                                     text_block_categories= [
                                                            dd.LayoutType.TEXT,
                                                            dd.LayoutType.TITLE,
                                                            dd.LayoutType.LIST,
                                                            ],
                                     floating_text_block_categories=[
                                                                    dd.LayoutType.TEXT,
                                                                    dd.LayoutType.TITLE,
                                                                    dd.LayoutType.LIST,
                                                                    ],
                                     include_residual_text_container=False)
page_parsing = dd.PageParsingService(text_container=dd.LayoutType.WORD,
                                         floating_text_block_categories=[
                                                                         dd.LayoutType.TEXT,
                                                                         dd.LayoutType.TITLE,
                                                                         dd.LayoutType.LIST,
                                                                         dd.LayoutType.TABLE,
                                                                         ],
                                         include_residual_text_container=False)
pipe_comp_list=[layout,doctrdet,text,map_comp,text_order_comp]
analyzer = DoctectionPipe(pipeline_component_list=pipe_comp_list,page_parsing_service=page_parsing)
path = "/home/adinat/data"
df = analyzer.analyze(path = path)
df.reset_state()
for dp in df:
    print(dp.text)

As highlighted 'extract_from_roi' in TextExtractionService is already being sent 'word' ,
changing to 'TITLE', throws an error.
How do i send the category the correct way ?

Now duplicate to #371


[Feature Request] Await for refetch query on Mutation!

Hello, as this project is inspired from react world, and I am also from react world. I love this package very much. But I am requesting for a feature if you can add-
In apollo client, it has a most interesting feature that is await for refetch query before finishing mutation. So, in cached_query after completing mutation, then it run the request for refetchQueries. But I wish if there is an option for saying I want to await for refetch query before completing the mutation state to get success.

hey @siamahnaf,
Thank you for your request.
It's unlikely that I will add the refetchqueries to the mutate future. This is because they are not directly linked and there would be no way to await only the mutation without awaiting the side effects as well.
However, while looking through your request I noticed that CachedQuery.instance.refetchQueries is not awaitable. Making this a future rather than a void function would allow you to easily manually await both the mutation and side effects.
In the mean time, you can still manually refetch the queries after a mutation and await them both:
  Future<void> refetchQueriesFuture() async {
    final queries = CachedQuery.instance
            .whereQuery((query) => query.key.startsWith("posts")) ??
        [];
    await Future.wait(queries.map((q) => q.refetch()));
  }

await mutation.mutate(params);
await refetchQueriesFuture();

I've updated the refetch queries method to be a future as of:
cached_query_flutter: ^2.5.0
cached_query: ^2.2.0

You can now do the following to await both the mutation and the refetching:
await mutation.mutate(params);
await CachedQuery.instnace.refetchQueries(keys: ["posts"]);

It is okay. But it seems like, after completing the Mutation, refetchQueries will run as you are awaiting both.
As mutation has 3 state- Loading, Error, Success.
After running a mutation, it shows loading state then it gets Success or Error state.
So, suppose following is a Mutation Function-
final Mutation<Success, SubscriptionParams> _purchaseMutation = Mutation(
    queryFn: (arg) =>
        serviceLocator<SubscriptionRepository>().verifySubscription(arg),
    refetchQueries: [
      ['profile']
    ],
    onError: (arg, error, fallback) {
      showSnackBar(
        arg.context,
        error.toString(),
        Severity.error,
      );
    },
    onSuccess: (res, arg) {
      ScaffoldMessenger.of(arg.context).hideCurrentSnackBar();
      Navigator.of(arg.context).pop();
    },
  );

Here we add refetchQueries-
refetchQueries: [
      ['profile']
    ],

So, in this Mutation if we have an options awaitRefetchQuery: true. then we can wait within the Mutation to be resolving refetchQuery.
Like in the Mutation state is loading- in the meantime, it place the request and refetch query within this state.
Thanks.


Syncing from upstream zalando/patroni (master)

bt_gitbot

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

23 of 23 (100.0%)  changed or added relevant lines in 8 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.862%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
13040

Relevant Lines:
13058

💛  - Coveralls


document supported handlers for public consumption

This should provide a breakdown the authentication mechanisms supported, constraints or assumptions made regarding the current implementation of a handler. A matrix of sorts!

We've added a bunch of documentation on the existing handlers, so I'm closing this for now - any related new issues should be opened in cyberark/secretless-docs.


Missing environment variables!

running on replit,
I wrote in the shell :
"$ set DISCORD_TOKEN=
$ set ATERNOS_SESSION=
$ set ATERNOS_SERVER="

Set isn't the right command to set environment variables on linux. Just write VAR=value instead. Note that these are temporary values, you should store them in your shell config file to make it permanent. See this article (or google it yourself): https://phoenixnap.com/kb/linux-set-environment-variable

From: rttyy @.>
Sent: Saturday, January 21, 2023, 3:22 PM
To: sleeyax/aternos-discord-bot @.>
Cc: Subscribed @.***>
Subject: [sleeyax/aternos-discord-bot] Missing environment variables! (Issue #76)
running on replit,
I wrote in the shell :
"$ set DISCORD_TOKEN=
$ set ATERNOS_SESSION=
$ set ATERNOS_SERVER="
—
Reply to this email directly, view it on GitHubhttps://github.com/sleeyax/aternos-discord-bot/issues/76, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHHQIZU4IIJWI7DZJRZAFK3WTPWKZANCNFSM6AAAAAAUCNR5JY.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Thanks !!

the problem persists

Lookup "replit environment variables" in replit docs or Google, there's probably a specific way to set them.

From: rttyy @.>
Sent: Saturday, January 21, 2023 4:50:25 PM
To: sleeyax/aternos-discord-bot @.>
Cc: Sleeyax @.>; Comment @.>
Subject: Re: [sleeyax/aternos-discord-bot] Missing environment variables! (Issue #76)
[image]https://user-images.githubusercontent.com/79284347/213874980-561994e5-fc11-427b-adcc-617a41afdd55.png
[image]https://user-images.githubusercontent.com/79284347/213874991-869fa6d9-dd52-4a47-8756-cdcf276b7a7e.png
the problem persists
—
Reply to this email directly, view it on GitHubhttps://github.com/sleeyax/aternos-discord-bot/issues/76#issuecomment-1399276653, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHHQIZQW5PVS7X4LMCG2ED3WTQAUDANCNFSM6AAAAAAUCNR5JY.
You are receiving this because you commented.Message ID: @.***>

new error

could you help me ?

Did you change anything in the source code? Go.mod shouldn't contain the things the compiler warns about. Also, make sure to use the version of go that is listed there.

From: rttyy @.>
Sent: Saturday, January 21, 2023, 6:02 PM
To: sleeyax/aternos-discord-bot @.>
Cc: Sleeyax @.>; Comment @.>
Subject: Re: [sleeyax/aternos-discord-bot] Missing environment variables! (Issue #76)
could you help me ?
—
Reply to this email directly, view it on GitHubhttps://github.com/sleeyax/aternos-discord-bot/issues/76#issuecomment-1399289264, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AHHQIZUNCPMSQ675HATLR33WTQJBLANCNFSM6AAAAAAUCNR5JY.
You are receiving this because you commented.Message ID: @.***>

I'm going to reset the project and I'll tell you

Hey I just ran it myself on replit, you need to configure the environment variables in the secrets section.

hi ! thank you very much, I would just like to be sure, what is the command to run the bot (with the source code)

The command to use is in the readme. It's the one you used. I think you should be able to hit 'run' on replit somewhere directly though.

Thank you 😊! It works perfectly on remplit and on my Linux computer


[Misc]: Why doesn't a larger block size result in faster performance?

Anything you want to discuss about vllm.
Hello. Recently, I have been conducting experiments based on several hypotheses, but the results have been different from what I expected, so I am seeking your advice.
Hypothesis
I hypothesized that a larger block size would decrease throughput but improve latency. Conversely, I expected a smaller block size to increase throughput but worsen latency. The reasoning behind this is as follows:

For Larger Block Size:

Throughput: Decreases
Latency: Improves
Reason: With a larger block size, memory fragmentation increases, leading to inefficient use of memory space. However, the number of blocks to manage decreases, thereby reducing the overhead from block table management.

For Smaller Block Size:

Throughput: Increases
Latency: Worsens
Reason: With a smaller block size, memory fragmentation decreases, making memory use more efficient. However, the number of blocks to manage increases, thereby increasing the overhead from block table management.

Experimental Setup

Model: Llama-2-7b-hf, utilizing 12.5523 GB of memory.
GPU Memory Utilization: Set to gpu_memory_utilization=0.9 (default value).
Other Options: enable_chunked_prefill=True enabled.
Case 1: Block size 16 (3780 GPU blocks)
Case 2: Block size 128 (472 GPU blocks)
Experimental Environment: The same number of input and output tokens (min_tokens and max_token values are identical).

Experiment

Fig 1:

Continuous fixed requests sent to VLLM. 256 requests processed simultaneously.
Each time one request arrives, another request is sent.
The system processes tokens of various lengths simultaneously (e.g., 4 tokens of 890~1000 length, 1 token of 600-890 length, 16 tokens of 100-226 length, and 256 tokens of 80-100 length).

Fig 2:

12 requests sent per second.
Total number of requests is 1299, with a Coefficient of Variation (CV) of 2.
The number of output tokens ranges from 125 to 128.
Unlike Fig 1, the request batch size can vary.

Experimental Results

Figure 1: Block size 16 (12.23), Block size 128 (12.17)
Figure 2: Block size 16 (3.98), Block size 128 (3.99)

Results
The experiment results showed almost no performance difference in both cases. Additionally, with a block size of 16, the average memory usage was about 50%, while with a block size of 128, it was about 70%. The difference in memory usage due to fragmentation was about 10-20%, but there was no pending since the GPU memory space was used above 99.9%.
Main Question
Why are the experimental results not reflecting the assumption that "Smaller block sizes reduce memory fragmentation but increase management overhead, and larger block sizes increase memory fragmentation but reduce management overhead"?

following up on this. Block size doesn't seem to have any effect


Extending MudCalendar gives me a few errors

When attempting to extend MudCalendar using the code below, I get the following error:
Error CS0103: The name 'CellHeightStyle' does not exist in the current context (CS0103) (Design)
I noticed the DayStyle method works, but the CellHeightStyle is throwing this error.
I see both methods are part of the DayWeekViewBase that the DayView inherits.

Any ideas on how to get this working without having to re-write this method?
Code:
@inherits DayView

@Render

@code {

 List<string> _employees = new List<string> { "Employee 1", "Employee 2", "Employee 3" };

 protected override RenderFragment RenderTimes =>
 @

         <colgroup>
             <col class="mud-cal-employee-column" />
         </colgroup>

             @foreach (var employee in _employees)
             {

                         @employee

             }

;

protected override RenderFragment RenderDays =>
@

     <colgroup>
         <col style="width: 200px;" />
     </colgroup>

             @foreach (var cell in Cells)
             {

             }

;

}

It is because DayStyle is protected but CellHeightStyle is private.
I think it would make sense to change CellHeightStyle to protected as well.  I will include that in the next release.  Until then you would need to rewrite the method.


Implement contract verification via plugin

Add feature to seamlessly submit a deployed contract for verification (see https://docs.zksync.io/build/tooling/block-explorer/contract-verification.html#hardhat-plugin )

Note after demo with Ago:

Consider pre-populating the Contract Address control with the address of the most recently deployed smart contract

Fix 'contract verification successful' message on terminal which is being presented even when unsuccesful

Change the contract verification process to one where it's an opt-in:

"remove the standalone verification option and keep it only on deployment as optional"
Include the inputs used for the deployment as the same inputs for the verification
also, if the checkbox is checked, the button should read "Deploy and verify"

Afaik plugin now supports deploy and verification:
https://github.com/NethermindEth/zksync-remix-plugin/pull/91
I have previously deployed a contract when this feature was not available. Would it be possible to add verification for an already deployed contract?

Hey @pauliax ! Sorry for the late response, I've totally missed your message! Yes, of course we are thinking on the adding this kind of functinoallity. I will create an issue for that in order to track it!


"forty" theme submission

@andrewbanchich  Great theme. Thanks for adding "forty". Keep it up. Will also send out tweet later today. Cheers.


Can't call GUfunc with another GUfunc defined with @guvectorize

Hello,
I am unable to call a GUfunc with another GUfunc defined with @guvectorize.
Exemple :
import numpy as np
import numba
from numba import int64, guvectorize, float64

@guvectorize(["float64[:], float64[:]"], "(i)->()", nopython=True)
def mysum(x, y):
    "Reimplement x.sum(axis=-1)"
    acc = 0
    for xi in x:
        t = np.array([0.])
        mysum2(x,t)
        acc += t[0]
    y[0] = acc

@guvectorize(["float64[:], float64[:]"], "(i)->()", nopython=True)
def mysum2(x, y):
    "Reimplement x.sum(axis=-1)"
    acc = 0
    for xi in x:
        acc += xi
    y[0] = acc

print(mysum(np.array([1.,2.,3.]), np.array([0.])))

This raises:
Untyped global name 'mysum2': cannot determine Numba type of <class 'numpy.ufunc'>
Swaping the order does not fix the issue.
Thanks

Copying the answer given in gitter:

it's a known limitation that guvectorize cannot be used in other jit-compiled code. You can rewrite mysum2 as a @numba.jit function. you can probably just replace the decorator on mysum2 and it should work


Document annotations in "Code files"

Thoughts? I'm thinking about

[ ] android.annotation.TargetApi https://developer.android.com/reference/android/annotation/TargetApi
[ ] tools:targetApi https://developer.android.com/studio/write/tool-attributes#toolstargetapi
[ ] androidx.annotation.RequiresApi
[ ] androidx.annotation.ChecksSdkIntAtLeast
[ ] androidx.test.filters.SdkSuppress

and what they do, in what practical cases they might be useful?

I think this could be a good idea. Are you thinking of these being in a separate table alongside the other definitions tables? I don't have much familiarity with these annotations myself.

Yeah, somehow separately, as they're tighly related to API levels. A table at the bottom could be good. I can start the PR and then get some experienced community members to have a look and review/expand.

Yeah, somehow separately, as they're tighly related to API levels. A table at the bottom could be good. I can start the PR and then get some experienced community members to have a look and review/expand. In the end the format could change bu the contents will stay the same-ish.


RFC: Replace sanitize.css to normalize.css

Why we do not replace sanitize.css to normalize.css ?
I see here are some  reasonable explanations to use normalize.css
@gihrig I could send a PR :)

I will close this for now, will fire another RFC when we need to do this.


Icon request: MC-HOST24

URL of the site or app (required): https://mc-host24.de
Logo resources for the icon (optional, but recommended): https://mc-host24.de/assets/img/logo/140px-mc-host24-logo.png

Here you go!
https://github.com/aegis-icons/aegis-icons/blob/master/SVG/MC-HOST24.svg
❓ How to add icon(s) to Aegis?


Passing object as polymorphic object-as-map produces error at the wrong place

Consider:
type ObjType = {
  n : number,
  s : string
};

declare var x : ObjType;

function asMap<T>(x : { [string] : T }) {};

asMap(x);

Gives as output:
2:   n : number,
         ^ number.  This type is incompatible with the expected param type of
2:   n : number,
         ^ number

As you can see, flow only points to the ObjType, and not to the call to asMap (this has cost me many hours in a real-world code base).
(aside: theoretically I see no reason why flow should not accept the above program, although I can image that flow cannot represent the type that T should resolve to. )

now errors in the right place


Allow multiple commands in a single query

SQLx version: 0.3.5
Database: PostgreSQL 12
DB Driver/Version: ???
In the project I am working on, we opted to design our database using an idempotent initialization script that runs every time our application server starts, to ensure we are using the latest schema, and this script sits in its own .sql file.
Ideally, we would like to load the entire file and run it as a single massive query, however SQLx returns an error that we cannot use multiple commands in a single query. So, currently, we have code that fragilely assumes there is an empty line between each command and splits the file that way. It works, but being able to run it all would be better.
I could not find any existing issues about this: is this a conscious design choice, some sort of limitation, or just not implemented yet? If the latter, is it a change that would be welcome in a pull request, if necessary?

You can do this with [Executor::execute()] (https://docs.rs/sqlx/0.3.5/sqlx/executor/trait.Executor.html) which when passed just a string doesn't prepare the statement and thus can execute multiple commands in a single call (we just send the string straight to Postgres).
We don't really advertise this interface because we would prefer people use query() which uses prepared statements and bind parameters (faster and safer and suits most uses), but yeah Postgres  doesn't support multiple commands in one prepared statement so sometimes this is your only choice.

Thanks for the quick response! I didn't see that Executor::execute() existed. That should work.
I agree about the query interface, and we are using that for all of the rest of our code.


fix: removes opinionated styles in favour of component library

Goal
This PR is the first step towards our goal of de-coupling Corgi from its styles and also integrate the component library into our ecosystem.

Removed all styles
Renamed .js files to .jsx, where components are the context
Added an env.example
Removed old stylelint rules that are invalid after the updates to the package

Testing

Clone the repo
checkout fix/patch-component-library
cd into cli
Link package with npm link
Create a new directory and cd into it cd ~/Desktop; mkdir corgi-test; cd corgi-test
Link package npm link @wethegit/corgi
Bootstrap new project npx corgi project
Use correct node version with you node version manager
Install packages npm i
Run dev npm run dev

Just checking — looks like npm run dev changed back to npm start
Any preference here?

start seems to be the standard. next uses start and I believe our packages use start as well cuz I think that's the default with vite.

One more thing, sorry I should have mentioned this before —
We should update corgi's utils directory to be called utilities. This way everything from the component library works out of the box (like path aliases and stuff)

One more thing, sorry I should have mentioned this before —  We should update corgi's utils directory to be called utilities. This way everything from the component library works out of the box (like path aliases and stuff)

Great call!

One more thing, sorry I should have mentioned this before —  We should update corgi's utils directory to be called utilities. This way everything from the component library works out of the box (like path aliases and stuff)

That's done @andrewrubin !


Codestyle + flags

Setting up flags for unused functions + Variables

Motivation
Pretty much basic principles of programming..

Please use a nightly toolchain to format code: cargo +nightly fmt.


errors in hyperlinks in getting_started.html

In https://read-the-docs.readthedocs.org/en/latest/getting_started.html#in-rst there are two links to the beginners template that use the text "this template" that point to missing pages.
I'm guessing the link you are trying to reference http://docs.writethedocs.org/en/latest/writing/beginners-guide-to-docs.html perhaps (?)

Indeed, looks like this was patched. Thanks for the report!


Add Unit Testing

To begin with, this will be adding a framework for unit testing, tests for existing features can come later


Cannot collect logs from log files with root permission

Describe the bug:
I am running logging operator 3.17.0 on k8s.
Logging k8s resources from /var/log/... works perfectly but I also need to log files directly from the VM (e.g. /var/log/auth.log).
I am using the inputTail plugin specifying the files I need to log.
fluentbit shows the log message:
Fluent Bit v1.8.9
* Copyright (C) 2019-2021 The Fluent Bit Authors
* Copyright (C) 2015-2018 Treasure Data
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io
...
[date time] [error] [plugins/in tail/tail file.c:810 errno=13] Permission denied
[date time] [error] [input:tail:tail.0] cannot open /var/log/auth.log

As the /var/log/auth.log owner is root I configured the fluentbit container to run with root privileges (see referenced YAML file).
But even though the container runs as root user I receive the same log messages in fluentbit, showing permission denied.
Perhaps the fluent-bit.exe in the container is not executed as root but in the Dockerfile of fluentbit I didn't find with which user the .exe is run.
Expected behaviour:
I expect fluentbit to get the logs from /var/log/auth.log file
Steps to reproduce the bug:
Install k8s cluster
Install logging operator
Configure logging resource
Check fluentbit logs
Environment details:

Kubernetes version v1.18.9
Self-managed k8s cluster
logging-operator version 3.17.0
Install method: static manifests
Logs from fluentbit (see above)
logging resource definition:

kind: logging
metadata:
  name: logging
spec:
  controlNamespace: logging
  fluentbit:
    image:
      repository: your_fluentbit_image_repo # I am using  official images but a private repo
      tag: '1.8.9'
    resources:
      limits:
        cpu: 1
        memory: 1Gi
      requests:
        cpu: 500m
        memory: 500Mi
    metrics:
      serviceMonitor: false
      prometheusRules: false
      serviceMonitorConfig: {}
    security:
      serviceAccount: fluent-bit
      podSecurityPolicyCreate: false
      roleBasedAccessControlCreate: true
      podSecurityContext:
        runAsNonRoot: false
        runAsUser: 0
    inputTail:
      Path: /var/log/auth.log
      Path_Key: /var/log/auth.log
      Parser: json
      Buffer_Chunk_Size: 1M
      Buffer_Max_Size: 1M
      Mem_Buffer_Limit: 32M
      Refresh_Interval: "10"
  fluentd:
    image:
      repository: your_fluentd_repo # I am using  official images but a private repo
      tag: 'v1.14.4-alpine-1'
    configReloaderImage:
      respository: your_config_reloader_repo # I am using  official images but a private repo
      tag: 'v0.5.0'
    logLevel: info
    ...further fluentd specs...

/kind bug

I found out that in fact the deployed psp was the problem as it dropped all capabilities. Granting the default capabilities with root privileges to fluent-bit allows to read restricted files owned by another user (e.g. auth.log or syslog).


Fixes #320. Fixes compiler errors and warnings encountered with Xcode 9.3 beta 2

@rdingman thanks for this PR! I've got one little tweak that I'd love to see:
I prefer to avoid having Swift-version-specific conditionals in the main code wherever possible. Instead, I like to back-port new functions to the old version of Swift. We wrote up a blog post about this, but the short version is that, in the existing Compatibility.swift, we would expose a function called compactMap only on Swift 4.0. This way, we don't have two branches in StringStyle.swift that we have to keep in sync with each other.
How does that sound? Please let me know if you'd like clarification, or if you don't have time to make the update, I can take it from here.

Makes sense. I'll try to make those changes today.

@rdingman perfect. Going to wait a little to merge until the Xcode is a little further along, because future betas may break more things, but I may publish this as a release candidate soon.

This has been released as part of BonMot 5.1. Thanks for your contribution, @rdingman! 🚀


no segments* file found in NuGetGallery.LuceneFileSystem@***\App_Data\Lucene: files: index.metadata

Hi,
I'm running the latest version of NugetGallery and i've got this error everytime i click on a tag...
I've got an index.metadata file in app_data\lucene folder but it's empty.
Anyone can help ?
Thx

I'm getting this error, too. @pranavkm, can you take a quick look, or point me in the right direction? I guess it time for me to learn about Lucene.NET.

Hi,
I just got this error too. All I did was download the latest source, run the website with a fresh database, registered a user, logged in and uploaded a new package. Got the error on the final submit step.
Then I deleted the empty index.metadata file in the lucene folder and retried the submit and then it worked.
But after a minute or so the LuceneIndexingService.UpdateIndex task was triggered, and that method calls LuceneIndexingService.GetPackages which crashes on this line of code:
return context.Database.SqlQuery(sql, new SqlParameter("UpdatedDate", dateTime.Value)).ToList();
I get an InvalidOperationException with the following message:
The cast to value type 'Int32' failed because the materialized value is null. Either the result type's generic parameter or the query must use a nullable type.

...and yes, the error occurs because the "LatestKey" column in the sql query returns null. In the entity class, the LatestKey property is of type int.

Hi,
I've stopped the web site during the week-end and now i'v got exactly the same InvalidOperationException trying to start it... I'v got 3 packages (IsLatest = true) but one has been published twice after i deleted the first version.
Tell me if you want me to investigate.

Some details: exception is thrown from LuceneIndexingService.cs line 55. The reason why the query is wrong is because one of the row has a LatestKey = Null. This row is the one which has been deleted. The 3 others are ok.

I was getting the same error.  To correct, I simply deleted the index.metadata file in the Lucene folder.  It recreated it and everything worked like a charm after that.

Thanks for the inputs. The IsLatest \ LatestKey seems to be at fault here, I'll have a look at it in a bit.


Chrome requests authentication with popup for 'Basic' auth method

Resolved with https://github.com/dzikoysk/reposilite/commit/816f910e36ebd31f546fc41534ecbd601da21b82


[skip ci]Document Qualification tool Spark requirements

To run the qualification tool, it requires the Spark 3.x jars.  If someone is trying to run it on a node that doesn't have it document how they can get them.
Also add in a couple --help options I forgot to add when adding the threadpool support.

build


support for Tor <IP_ADDRESS>

includes build of tor <IP_ADDRESS> and modifications to library to support absolute paths in configuration file (latest tor will not start if there are relative paths in configuration files).

Looks good, but could you please squash commits?

Ok. I am closing this pull request and prepare a new one.


Training on ScanNet

Hi all,
has anybody tried to apply the network on ScanNet data?
I am currently trying to achieve similar performance as mentioned in PointNet++ paper, which is around 83% accuracy. However, when training with this model, I can hardly achieve values greater than 60%.
I tried using the same hyperparameters as in the original PointNet++ setting (i.e. changed lr to 1e-3).
Any suggestions or help would be appreciated.
Best,
Sophia

If I recall correctly, I was able to reproduce the results on ScanNet by setting the hyper-parameters to the same as in https://github.com/charlesq34/pointnet2/blob/master/scannet/train.py and adding the class balanced cross-entropy loss used there.

Hi there,
I'm facing the same problem of reproducing the performance in the PointNet++ paper. The best accuracy I had is 59%.
I use the code in https://github.com/charlesq34/pointnet2/blob/master/scannet/preprocessing/collect_scannet_scenes.py to preprocess the ScanNet data and the data loader in https://github.com/charlesq34/pointnet2/blob/master/scannet/scannet_dataset.py to fetch the data.
I'm wondering if anyone could share the code for training on ScanNet with this PointNet++ implementation? That'd be super helpful. :)
Best,
Dave


Fee Recipient Post Merge (WIP)

Post Merge, consensus clients will need to set an Eth 1 account when running a validator/beacon Chain in order to receive the fees on processing transactions while proposing a block. Currently, PoS validators only receive funds from the protocol and do not receive fees on the transactions themselves. Users would like a way to tell the Validator Client/ Beacon Node to change the fee recipients dynamically while the system is running.
Each validator index ( not public key according to this api https://github.com/ethereum/beacon-APIs/pull/178) can have a fee recipient.

How do we protect this endpoint 🤔  ? is it merged into the existing endpoints or separate?

To clarify this would be added to a validator_client oapi file not the keymanager right? Drawing similarities, the keymanager API does not handle graffiti.

first spec used for fee recipient api merged in, closing issue.


Only import the transformers package if tiktoken is not available

The transformers package takes a long time to load:
$ time python3 -c 'import transformers'
4.01s user 0.80s system 153% cpu 3.140 total

This package isn't necessary unless tiktoken is unavailable. By making the import lazy, the import time of gpt_index goes down significantly.
Before:
$ time python3 -c 'import gpt_index'
5.74s user 1.24s system 130% cpu 5.366 total

After:
$ time python3 -c 'import gpt_index'
2.98s user 0.74s system 179% cpu 2.074 total

On a related note, if you want to stop transformers from printing all those warnings, you need to set two environment variables:
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'
os.environ['TOKENIZERS_PARALLELISM'] = 'false'

sweet thanks!


fixing neogeo issues.

@coded-with-claws
can you load this rfid_write file and see if this fixes your issues with NeoGeo? I implemented a couple of your fixes from the other branch, but also added those goofy case statements that slipped through. I noticed that the NeoGeo array wasn't being properly searched and that the findIt function was running twice, overwriting previously written variables.
Additionally, the list of games isn't perfect. Some of my games on my MiSTer aren't found in this list. I added an exit there so that the script halts if the games aren't found. We can fix these later.
I tested this both running a local games folder as well as a games folder on a USB with positive results. Let me know how it goes for you.

Wow, it works great and I no longer have to move the mgl file to fat!! I wonder how this was fixed, I only see a difference into the delay value, but I'm happy!
I can see you kept my changes 👍 Nice addition for the err.mp3!! I increased its volume in a commit. I also added a small fix for the serial_listen (although it's OK in your update script, I think it's better to fix the new path for people who would manually install).
I think you're good to go with this branch! 👍

Thanks so much :)
I'm glad to hear this seems to work! I believe the biggest issue was that findIt was being called twice and overwriting variables that were already set.
Thanks again for all your help!

Just a heads up @coded-with-claws, since this file is being sourced, the exit 1 in neGeoFileFixer command closes the screen session. I removed that exit so that the serial_listen doesn't close. That change has been pushed to main.

Thanks for the info, I hadn't seen :)


Blocking IO in a getter

https://github.com/visionmedia/express/blob/2.x/lib/view/view.js#L121
This seems bad

you realize these are cached right? that portion of the view system is completely removed in 3.x anyway.

@visionmedia is it really a micro optimisation to use non blocking IO when caching?
Can I justify every bit of blocking IO as long as I cache?

it's a one-time hit, it's irrelevant, hanging the signature of partial() to be async would complicate everything more than it already is in 2.x

@visionmedia I mean why can't we extrapolate that logic to

anything that can be cached should just be loaded synchronously for API convenience

it depends on the case, much like compile-time for templates is largely irrelevant because that too is a one-time hit

@Raynos why are you so hostile in reporting this bug? @visionmedia already stated that 3.x does not have this behavior. If you want to fix it for yourself, go right ahead, you have the source code. The people behind this project are not your personal workers to cater to your every need. Explain your bug report without demands and maybe provide a patch. THAT will go a long way towards getting things fixed.

the thing is that it's not really a bug, the hoops you would have to jump through to make partial() work via async IO would be more detrimental, and impact the entire life of that process, not just the first request

@shtylman your correct my attitude in the bug report wasn't very good. However I'm just being blunt, not hostile.
And your right, I could try fixing it myself, not sure whether it can be done since @visionmedia has alluded to it numerous times that it's problematic.
The rest of the comments were just probing my understanding of using blocking IO in node.js. I always assumed it should be avoided due to performance penalties.
Now I can trust @visionmedia when he says it's the lesser of evils compared to making the partial API a mess.


CandleStick fails when plotting a single point

Hi @Minu476 I'm not sure I understand the issue.
One can create an OHLC like this:
var ohlc = new ScottPlot.OHLC(open, high, low, close, timeSeconds);

An array of OHLC objects can be plotted with:
plt.PlotCandlestick(ohlcArray);

Is the problem that a crash occurs when plotting an array with only one ohlc?

If there is only one data point on some plottables, IndexOutOfBound exception will be triggered.

Hi scaot this is Nasser

scott

If there is only one data point on some plottables, IndexOutOfBound exception will be triggered.

Thanks for the clarification Nasser! I'll look into this one shortly

The for block should only run if there's more than 1 candle:
https://github.com/swharden/ScottPlot/blob/b858f9a88e30aab8783f4b8b8549ff7e41cdae02/src/ScottPlot/plottables/PlottableOHLC.cs#L39-L60

Fixed this with a one-line modification: https://github.com/swharden/ScottPlot/commit/9966d7e2e4af538b2764573e838cebe242a0fc11
I'll make a new NuGet package this weekend


link new docs to issues

/cc @BillWagner @mairaw

LGTM.  :shipit:
@tdykstra Go ahead and merge it.


Roll engine to fffe502d437ac7931f08c6cef3e3f71fbd36adaa

Coverage decreased (-82.9%) to 0.0% when pulling 6d8ee05d0072b80671765590df47b01e7f3a234d on cbracken:roll-engine into 1be406b1b5d1f8faf54994c0cfb21dc991d84d55 on flutter:master.


Recruiter api

zqd recruit manages a pool of zqd workers and provides a mechanism for zqd root processes to recruit zqd worker processes for query execution.
The zqd recruiter is started with: zqd --personality=recruiter
API is described in the README

Thanks everyone for the comments. I will implement these suggestions.
Although this server API has independent tests, it seems like this PR will be more
complete for review if I go ahead and add the client connection work that I have
in progress in the recruiter-worker branch. So, I will close this PR and the changes
for the comments above will be included in a PR that merges the recruiter-worker branch.


Fix an ASAN issue in redisvFormatCommand()

Calling the standard function strlen() with null causes undefined behavior.
This is triggered when the string argument is missing for a %s command format.
Note:

The formatted output command the added tests are not changed due to the correction.
One could argue the importance of this fix.

Interesting.. the added additional %b and %d tests were affected in some CI targets. Will investigate.

Well, I seems that it's undefined behavior when not giving correct number of arguments to va_args() anyway..
Building with -m32 on linux va_args() gives an invalid string pointer and a segfault, so I guess there is no remedy in this case.
Closing this PR.


Icons in the icons are located at different levels in height.

It would be cool if the icons were always on the same level.

Fixed.


Make scoped_connection movable

scoped_connection is currently not movable. If you want to store connections in a vector, then you have to remember to release them before destroying them otherwise you end up with connections that may refer to already destroyed objects.
Based on my own modifications, the only things required to make scoped_connection movable are: it needs a defaulted move constructor and move assignment operator, and delegate needs to be given a default copy constructor, a move constructor that steals fn and data, and an assignment operator that does the same.
Since this seems like a relatively small and easily implemented issue, I have to assume there was some reason it hasn't been done before, so please let me know of any issues.

I have to assume there was some reason it hasn't been done before

Don't get offense but my guess is that this assumption is wrong. 😅
Good catch, I'll make the scoped_connectionmovable. 👍


Add github, linkedin, skills and find command details in DG

Closes #89
Trying out this simpler workflow for the first time. (instead of pushing to branch on origin repo)
Added details for github, linkedin and skills.
Added findcommand sequence diagram.
Added some implementation details for findcommand.
Have yet to add activity diagram and some details.
Need to change implementation of find command first.

LGTM


Improved Travis CI config

In addition to making the builds quicker by not forcing new rustfmt install on each build I cleaned up the file a bit and made clippy warnings to be treated as errors. In a consecutive PR we can make the nightly builds to disallow failures, which not allow propagation of PRs introducing clippy warnings (now errors).
Connects-To: #66

@majorz needs a version bump

I bumped it up with rewriting the latest commit message, but it looks like Travis has stuck now. I will force a rebuild.

@majorz what about the version in cargo.toml?

@majorz what about the version in cargo.toml?

Right, for some reason I deleted the version update before committing... One more reason to make versionist cargo aware sooner :)


Add NodeJS to the Crossed Tracer integration tests

Motivation
This request expands the crossed-tracer integration tests to include NodeJS
Changes
This change adds the 'produce' and 'consume' endpoints to the express4 integration in support of the crossed tracer integration tests.  These endpoints are used to produce/consume from Kafka queues.
Workflow

⚠ Create your PR as draft ⚠
Work on you PR until the CI passes (if something not related to your task is failing, you can ignore it)
Mark it as ready for review

Test logic is modified? -> Get a review from RFC owner. We're working on refining the codeowners file quickly.
Framework is modified, or non obvious usage of it -> get a review from R&P team

:rocket: Once your PR is reviewed, you can merge it!
🛟 #apm-shared-testing 🛟
Reviewer checklist

[ ] Relevant label (run-parametric-scenario, run-profiling-scenario...) are presents
[ ] No system-tests internal is modified. Otherwise, I have the approval from R&P team
[ ] CI is green, or failing jobs are not related to this change (and you are 100% sure about this statement)
[ ] A docker base image is modified?

[ ] the relevant build-XXX-image label is present
[ ] To R&P team: locally build and push the image to hub.docker.com

[ ] A scenario is added (or removed)?

[ ] Get a review from R&P team
[ ] Once merged, add (or remove) it in system-test-dasboard nightly

Added the label to run the CROSSED_TRACING_LIBRARIES

/merge

@tabgok good old repo here, you can merge the old way :)


Zoom Issues when setting zoomMin below 0.5

I'm using iScroll 5 for a project that require scrolling through a history timeline. The timeline's image is large. Around 7000x3000. To see the whole timeline, I need to set the zoomMin and zoomStart to 0.3. However... anytime I set those values below 0.5 it starts to glitch really bad when zooming in or out. It makes the entire app flash and go blank. But as soon as I set zoomMin and zoomStart to 0.5 and above.. it starts working fine again. Any help you could provide on this would be GREATLY appreciated.

@springlab @cubiq
I also experiencing the same problem.
Would love to know how you managed to fix it or workaround it.


Move OIS to a separate repository

Based on the discussion in JIRA

I've run a routine test with the coingecko example to check whether it still works (as I understood that Airnode needs to pull OIS as a dependency anyway) and it does, but it might not be enough to test if the split was performed correctly. @Siegrift could you perhaps advise?

Actually, this issue didn't affect Airnode at all, since what only happened now is that the code was moved to https://github.com/api3dao/ois. But the test you described will be necessary for https://github.com/api3dao/airnode/issues/1274 where we will start using the ois package.
I'll check whether it was published right, so we can consider this tested.


Does MACE support the LRN layer?

Dear MACE group:
I have one question. Does MACE support the LRN layer? I  have run a AlexNet, it has 2 LRN layers,.However, I couldn't convert it successfully.（您好，我想知道MACE目前支持LRN层么，我跑了AlexNet,在convert的时候就没有成功，用的是SNPE Demo里面的AlexNet,这个网络有2层LRN）
Best Regards

Not yet


Problem when editing - duplicates child items

The nested form works great when creating new records. However when I edit the record, it creates duplicate child items even if I do not mean to add new items.
How do I prevent it from creating new child items when updating the Sales Order?
class SalesOrderItem < ApplicationRecord
  belongs_to :item
  belongs_to :sales_order

class SalesOrder < ApplicationRecord
  has_many :sales_order_items, dependent: :destroy, inverse_of: :sales_order
  accepts_nested_attributes_for :sales_order_items

Sales Order Controller (parent)
  def new
    @sales_order = SalesOrder.new
    @items = Item.all
    @customers = Customer.all
    @sales_order.sales_order_items.build
  end

  def edit
  end

  def update
    respond_to do |format|
      if @sales_order.update(sales_order_params)
        format.html { redirect_to @sales_order, notice: 'Sales order was successfully updated.' }
        format.json { render :show, status: :ok, location: @sales_order }
      else
        format.html { render :edit }
        format.json { render json: @sales_order.errors, status: :unprocessable_entity }
      end
    end
  end

-----------------------------------------------
def sales_order_params
      params.require(:sales_order).permit(:customer_id,
                                          :date,
                                          :user_id,
                                          :remarks,
                                          :vat_ex,
                                          :sales_order_items_attributes => [:item_id, :price, :quantity]
                                          )
 end

Hi there, thank you for your first issue and taking the time to write a good and clear explanation.
The problem is your sales_order_params : because you do not allow the :id as a parameter for your sales-order-items, rails has no way of knowing if the received items match the existing ones and will assume they are new items.
So you will have to change your sales_order_params as follows:
:sales_order_items_attributes => [:id, :item_id, :price, :quantity, :_destroy]

So to be extra clear: I added

:id (to know if a nested item existed before or not)
_destroy to know if the item should be destroyed.

Thank you so much for pointing this out to me. I have amended my code and it works smoothly now. I appreciate your detailed explanation as well. Today I learned something new :1st_place_medal: Thank you!
Issue resolved, will close with comment.


Send and count invites

First of all, thanks for this wonderful plugin. I use it in my Cordova app and it work very well.
Now I have a new need.
Within the app, users can send invitations to their contacts (by e-mail or text message). The invitation contains a link to download the app. The app must store every invitation in the database.
When one of the invited users downloads the app by invitation, a credit is assigned to the user who sent the invitation.
For this, actually i use firebase-invitation to send invitations by email or sms and this plugin return the number of sent invites and a reference-id.
But when i click on the dynamic-link in the invitation email/sms, i can download app from Store but when i start app, branch doesn't fire.
Note that if instead I click on the invitation when the app is already installed, branch fires!
So the question is:

Is there a way to handle firebase dynamic link?
or is there a way to send invitations by email/sms using branch and track (by javascript, in the process of sending) each single invitation by a reference-id?

Sorry for my bad english!
Thanks in advance for any help

Due to the age of this issue, I am closing this now. If you are encountering this problem still, please reach out to our support team (support.branch.io) or open a new github issue and we would be happy to help you out!


upgrade re2 to 2022-12-01

For https://github.com/google/re2/commit/ba2e7c2f25047a6848f2baa9bc4cb700ea9dda84
to suppress 64 to 32 bit conversion warning in xcode
@sampajano

Thank you for the change but I don't think we can get this change yet; check the description of https://github.com/grpc/grpc/pull/31665

Thanks for the heads up, will hold for cmake update.

Thanks for the heads up, will hold for cmake upgrade.


baseline

Hi Team,
Thank you so much for your work.
Just wondering would it be possible to also share the code for the baseline, for example the GraphVAE?

Hi,
Thanks for the issue. We used the code of GrammarVAE to get the results (https://github.com/mkusner/grammarVAE). For the other baselines, we contacted the authors to obtain their generated molecules. Therefore, we do not have their code. Please directly contact them for the molecules. Thanks!
Best regards,
Qi


add space and separator between Dig and Reply

This is what I meant to accomplish yesterday with a '|' character. I figured out that it's easier to accomplish with css!

thanks! merged into 1.8.1


Upgrade to latest Rust

A _0 test fails, but don’t know why

Doesn't this require switching rustc-serialize from 0.1 to 0.2 in the Cargo.toml?
rustc-serialize 0.1 doesn't compile anymore.

Thanks! (bumped the dep)


"Cozănești", "Dorna-Arini", "Gheorghițeni", "Ortoaia", "Rusca" and "Sunători" villages are listed in the drop-down menu.

Description:
The villages are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Preconditions:
The website (https://peviitor-ro.github.io/ui.orase/) is up and runing. After every step delete the text you typed from the search bar.

Step 1
Write in the search bar "Cozănești".

Expected results
The location is listed in the drop-down menu as "Sat Cozănești SUCEAVA (Dorna-Arini)".

Step 2
Write in the search bar "Dorna-Arini".

Expected results
The location is listed in the drop-down menu as "Sat Dorna-Arini SUCEAVA (Dorna-Arini)".

Step 3
Write in the search bar "Gheorghițeni".

Expected results
The location is listed in the drop-down menu as "Sat Gheorghițeni SUCEAVA (Dorna-Arini)".

Step 4
Write in the search bar "Ortoaia".

Expected results
The location is listed in the drop-down menu as "Sat Ortoaia SUCEAVA (Dorna-Arini)".

Step 5
Write in the search bar "Rusca".

Expected results
The location is listed in the drop-down menu as "Sat Rusca SUCEAVA (Dorna-Arini)".


Provide guidance on China SMS support

China has special guidelines on SMS formatting to comply with regulations. Provide guidance to our validators on how best to handle Attestation coverage in China.

Closing this ticket since we can't support China in Valora due to regulation.


TypeError: Illegal Invocation

Hi, I don't know is this my error or something else but here is the story. I have modal where you have list of files you can upload and you have button to add new file which opens new modal where you can select file, and I'm returning that file in promise to that first modal, and from there i want to add it to file array that I have. The problem is when I try to push it to array I get following errors
TypeError: Illegal invocation
at equals (angular.js:1043)
at equals (angular.js:1043)
at equals (angular.js:1028)
at equals (angular.js:1043)
at Scope.$digest (angular.js:15820)
at Scope.scopePrototype.$digest (hint.js:1972)
at Scope.$apply (angular.js:16097)
at Scope.scopePrototype.$apply (hint.js:2035)
at HTMLButtonElement. (angular-touch.js:477)
at HTMLButtonElement.jQuery.event.dispatch (jquery.js:4435)
TypeError: Illegal invocation
at equals (angular.js:1043)
at equals (angular.js:1043)
at equals (angular.js:1028)
at equals (angular.js:1043)
at Scope.$digest (angular.js:15820)
at Scope.scopePrototype.$digest (hint.js:1972)
at Scope.$apply (angular.js:16097)
at Scope.scopePrototype.$apply (hint.js:2035)
at tick (angular.js:11292)
Can anybody help me with this because I'm out of ideas

I don't think that it had anything to do with the this package at all. I'was displaying those files in datatable, and I noticed that I was using very outdated version, updating datatable fixed those error.


Demo accepts file URIs

It looks like wkhtmltoimage and phantomjs are called in such a way that file URLs are not blocked. This gives access to files on the server by passing a URL like file:///etc/X11/rgb.txt .
I can see the file contents in the output at https://http2pic.haschek.at/api.php?url=file%3A%2F%2F%2Fetc%2FX11%2Frgb.txt

oh neat, thanks for the info


Question regarding Apache 2 license

I am a developer of NVFlare.
We were looking for HE libraries that uses Apache 2 license.
While in the process of installation, we discovered that the files located at https://github.com/intel/pailliercryptolib_python/blob/development/src/ipcl_python/ipcl_python.py#L15 and https://github.com/intel/pailliercryptolib_python/blob/development/requirements.txt#L7 are utilizing the gmpy2 library, which is licensed under GPL-3.0 (https://github.com/aleaxit/gmpy/tree/master).
We are concerned that integrating a library under GPL-3.0 might conflict with the Apache 2 license.
Therefore, we kindly request if it would be possible to provide an alternative version that does not incorporate any GPL-licensed libraries. This could entail either removing gmpy2 entirely or substituting it with an alternative library to perform the inversion.
Thank you for your attention.

Hi @YuanTingHsieh   thank you very much for your advice.

gmpy2 is LGPL-3.0+ instead of GPL-3.0 https://pypi.org/project/gmpy2/
In IPCL-Python, gmpy2 is used as a dynamic library. If I remember correctly, LGPL-3.0+ has a linking exception, which means that if we use gmpy2 as a dynamic library, there is no problem using it in the Apache 2 project.

Of course, your suggestion is very helpful, and we will consider it.

@fangxiaoran @justalittlenoob thanks for the response!
Note that if users do not install gmpy2 then they won't be able to use this python binding directly.
No problem!


feat: SDK maintains state, add reconciling

Implements the newest spec changes here.

Provider state is deprecated (state is now maintained in the SDK itself). This is non-breaking, we just ignore the provider's own state now
add RECONCILING events and state, fire related events with provider's on context change
add FATAL state

The new tests should help you understand the impact of the changes.

@lukas-reining thanks for the great review. I've resolved some of your smaller comments, and left a few others open for your re-review.

he provider section in the client and server readmes.

Good point. I removed the provider status there.


DHCPv4Client Sample build throwing an error due Option Callbacks

Hi,
I am currently trying to interface my nrf52840 DK with the ENC28J60 module to run the dhcpv4 client sample, however I am running into the error below when building the project, it seems there is something wrong with the Option call backs flag that we enable in the project config.. Is there something I maybe doing wrong?

You haven't enabled networking or haven't setup your dts properly

Hi @thedjnK,
thank you for the response, I just took the example as it is, since i am new to the nrf, could you show me where I left out the network enabling flag and also how to correctly set up the dts.

You need to add the device to device tree, either by editing the board files (generally you would do this with a custom board) or by using an overlay - see https://github.com/zephyrproject-rtos/zephyr/blob/main/boards/shields/mikroe_eth_click/mikroe_eth_click.overlay for an example, this is one which adds it via a shield.

I have added the overlay file as you mentioned above, However there are still issues in the build.

I had to change some names in the overlay
mikrobus_spi  to spi0
mikrobus_header  to gpio0
because it was throwing errors. Now it does not seem to recognise the full duplex command for the SPI.

You are using NCS which is behind the current zephyr codebase, the version of NCS you are using does not support that because it was added recently so you'd need to remove it

Hi @nordicjm,
I have downloaded the latest version of NCS and included the eth shield in the build, however I am still getting the error below.

I am really not sure as to what i am doing wrong.


Add ci config to update generated code on proto changes

After discussions in standup and 1:1 we all agreed to use mage to generate java grpc bindings.


{skip: true} prevents Node from exiting

A test like
tape('get payment token works', {skip: true }, (assert: any) => {...
correctly doesn't run the test or fail, but unfortunately it never finishes either. My node.js process just keeps running forever waiting for it to 'finish'

Generally "skip" implies that you have another test to run - it seems very odd to skip every test, why even run the tests at that point?
That said, this seems like a bug that should/can be fixed.

I'm not able to reproduce this problem. I have extensively investigated the responsible code and should be able to fix it if I can reproduce it.

@RichardJECooke could you provide an example repo (including which version of node you're using) so we can reproduce?

Sorry, I've completely changed my code since then to work around it. If it happens again in a new test I'll post here immediately.

Thanks - I'll close this for now.


[mesheryctl] Filter: List subcommand dysfunctional

Notes for Reviewers
This PR fixes #7994
The error while using mesheryctl exp filter list was because the token get expires and when we make request /api/filter it redirect to login page so while unmarshalling in below code
https://github.com/meshery/meshery/blob/80f6fea86ad2215e27f2028c7b5f22c8cf8d7b34/mesheryctl/internal/cli/root/filter/list.go#L70
the response we get is not of type models.FiltersAPIResponse so that's the reason we get error Invalid character '<' looking for beginning of value ('<' this is an html open tag)
Signed commits

[ ] Yes, I signed my commits.

@suhail34 Let's discuss this on the Meshery Dev call. Please add this as an agenda item in the meeting minutes if you would. :)


Add auto normalization based on showing at least 5 dates for all selected regions

Found a simple way to auto-normalize.
I look at all selected regions and check which one has the lowest value within 5 dates from the latest.
I then round that date to its floor of the largest digit (21312 -> 20000) and use it for normalization.

@cyrusrc - wanna review it or skim? or should I just land?


Using styled-components with react-router

react-router's <Link> component and react-modal2's <Modal> component accept additional classNames via separate properties.  e.g. <Link> accepts activeClassName and <Modal> accepts backdropClassName and modalClassName.  It would be great to have a way to style these using styled-components.  Perhaps we could have something like:
const StyledLink = styled(Link)`
  color: palevioletred;
  display: block;
  margin: 0.5em 0;
  font-family: Helvetica, Arial, sans-serif;

  &:hover {
    text-decoration: underline;
  }
  &.active {
    color: red;
  }
`;

where &.active gets passed as a separate class name to the activeClassName property.

Hmm, that Link example should already work because :hover and :active are valid CSS pseudo selectors. But as for passing two classnames... I'm not sure that there's a nice way to do that.
Perhaps we need a className helper that works a bit like keyframes?
import { className } from 'styled-component'

const backgroundClass = className`
  background-color: rgba(0,0,0,0.5);
`

const modalClass = className`
  background: white;
  border-radius: 0.5rem;
  padding: 2rem;
`

<Modal backdropClassName={backgroundClass} modalClassName={modalClass}/>

This wouldn't work with function interpolations but might be a useful alternate. Plus, it would let you do things like Glamor:
export default ({}) => (
  <div className={className`
      display: flex;
      padding: 1rem;
    `}>
      ...
  </div>
)

I've wanted to be able to do this occasionally when you have one or two styles to apply somewhere and you don't want to name a whole new component. There's probably a better name tho. @mxstbr what do you think?

The issue is that activeClassName for the Link refers to the route of the Link being active, not somebody clicking on it. This can't just be replicated with :active I'm pretty sure.
I really really dislike the className thing. It breaks the whole premise of styled-components, I feel like there has to be a better escape hatch for the above case?

This is why I like the idea of :active being the true pseudo-class and .active targeting the activeClassName property.  I would be fine with us using an alternative prefix other than . if people prefer.
Another option might be something like:
const StyledLink = styled(
  styled(Link)`
    color: palevioletred;
    display: block;
    margin: 0.5em 0;
    font-family: Helvetica, Arial, sans-serif;

    &:hover {
      text-decoration: underline;
    }
  `,
  'active'
)`
  color: red;
`;

Ah I see yeah I misread &.active as &:active in the original example. To be honest, I actually think turning &.active into activeClassName is really clever, but it's already a valid thing to do so I don't want to overload it.
I suppose you could do &:pass-as-prop(activeClassName) { ... } or something else wacky like that. But tbh that's starting to put a lot of magic in there for an API that... is kinda clunky.
IMO React Router could add a data-active attribute instead of applying a different classname, then we could do:
const StyledLink = styled(Link)`
  color: palevioletred;
  display: block;
  margin: 0.5em 0;
  font-family: Helvetica, Arial, sans-serif;

  &[data-active] {
    color: red;
  }
`;

Lol, actually you can do this:
const rando = btoa(Math.random())
const StyledLink = styled(Link)`
  color: palevioletred;
  display: block;
  margin: 0.5em 0;
  font-family: Helvetica, Arial, sans-serif;

  &.${rando} {
    color: red;
  }
`;
<StyledLink activeClassName={rando}/>

😂

The [data-active] is a neat solution for the react-router example (if the react-router team would accept the addition of the data-attribute).  I don't think it solves the modal example where you would want to style multiple separate child components.

Sure it would!
const backdropClassName = btoa(Math.random())
const modalClassName = btoa(Math.random())

const StyledModal = styled(Modal)`
  &.${backdropClassName} {
    background: rgba(0,0,0,0.5);
  }
  .${modalClassName} {
    background: ${ props => props.bg || 'white' };
    padding: 2rem;
  }
`

<StyledModal bg='papayawhip'
             backdropClassName={backdropClassName}
             modalClassName={modalClassName} />

I think this could even be used for third-party component libraries:
// lib/Modal.js

// Use this class in the Modal component, notice the dot, that way users don't
// have to be aware that it's even a class
const backdrop = '.__my_lib__modal_backdrop__do__not__touch__'

class Modal extends React.Component { /* ... */ }

export {
  backdrop
}
export default Modal

// app/Component.js

import Modal, { backdrop } from 'my-lib'

const StyledModal = styled(Modal)`
  &${backdrop} {
    background: rgba(0,0,0,0.5);
  }
`

Kind of like a fake child component selector 👌

@geelen If styled-components would go with the generated classNames approach from above, it might not be a bad solution to include a classname generator in styled-components that could take advantage of the better development classnames
import { generateClassName } from 'styled-components';

const modalClassName = generateClassName('modalClassName');

This is interesting.  It relies on the className provided by styled-components being added to the top most html element rendered by the component being styled, but that's probably true in most cases and seems reasonable.
It does seem like a lot of hoops to jump through, but I can see the desire to keep styled-components' API surface as small as possible.

As it turns out, this is an actual problem in ReactNative. Some RN primitives have props that expect styles to be passed in. (not just a value, so this is different from #149)
ScrollView as an example has a contentContainerStyle prop which applies the styles one passes in "to the scroll view content container which wraps all of the child views.".
The generateClassName solution doesn't work here, as there are no class names in ReactNative. 😕
We might need to add support for passing arbitrary styles to a prop of the underlying primitive in core?

Just one more comment when discussing the Link item. If passing an invalid html prop (i,e one called inactive) you will get an error in the console due to this being passed all the way down to the Link itself

Another use case for multiple class names is <ReactCSSTransitionGroup> which takes multiple classes like this:
<ReactCSSTransitionGroup
  transitionName={ {
    enter: 'enter',
    enterActive: 'enterActive',
    leave: 'leave',
    leaveActive: 'leaveActive',
    appear: 'appear',
    appearActive: 'appearActive'
  } }>
  {item}
</ReactCSSTransitionGroup>

<ReactCSSTransitionGroup
  transitionName={ {
    enter: 'enter',
    leave: 'leave',
    appear: 'appear'
  } }>
  {item2}
</ReactCSSTransitionGroup>

More info here https://facebook.github.io/react/docs/animation.html#custom-classes

This is how i'm currently providing an activeClassName to Link:
const BaseNavItem = styled(Link)`
  color: red;
`;

const NavItem = styled(({className, ...props}) => <BaseNavItem {...props} activeClassName={className} />)`
  color: blue
`;

export default NavItem;

I think this could be hidden behind some sort of helper:
styled(someHelper(BaseNavItem, 'activeClassName'))

@amccloud that's clever, nice work!

Hey, @amccloud, I'm having a bit of trouble understanding your solution and would appreciate a pointer :). How would you use NavItem? What do you provide it with?  A regular css class or...? In the context of styled-components, aren't css classes obsolete?

@manolkalinov With styled-components you have to pass down the CSS classes if you're not using custom components.

@jontro That's a great idea with ReactCSSTransitionGroup. It's a use-case that I think will be very important to me.
I never liked the idea of having to define my animation duration in BOTH a globally-applied CSS AND inside my JS component file. It would be most ideal if Styled-Components can let me keep this in one single file.

Personally, I think @geelen 's existing solution is pretty darn viable. I'm testing out styled-components on a proof-of-concept app, and I think something like this is acceptable code even if you don't end up adding the attrs constructor.
const StyledLink = styled(Link)`
  color: inherit;
  margin: 3px;
  padding: 3px 7px;
  text-decoration: none;
  border: 1px solid transparent;
  border-radius: 3px;

  &:hover { border-color: rgba(175, 47, 47, 0.1); }
  &.selected { border-color: rgba(175, 47, 47, 0.2); }
`;

const FilterLink = ({ activeClassName, ...props }) => (
  <StyledLink {...props} activeClassName={`selected ${activeClassName}`} />
);

export default FilterLink;

Worse comes to worse, if .selected is already globally defined and a dev doesn't know how to use btoa, they'll probably just fall back on a BEM-style classname (.filter-link__selected or whatnot) and I think the code would still be acceptable and plenty readable.

I like @amccloud's solution, which is why i made
https://github.com/codepunkt/styled-property

Funnily enough, I also ended up making a quick hack to support my own use case as well:
https://github.com/rgdelato/styled-classnames

I think this could be hidden behind some sort of helper:
styled(someHelper(BaseNavItem, 'activeClassName'))

In case anyone wants it, here's an implementation of the helper described by @amccloud. Caveat, I'm using flow and ramda. You can obviously remove the flow annotations and translate omit to your implementation of choice.
import React from 'react';
import { curry, omit } from 'ramda';
import { Link } from 'react-router';

const omitProps = curry((
  omittedProps: Array<string>,
  Component: any,
  props: Object,
) => {
  const { children, ...rest } = omit(omittedProps, props);
  return <Component {...rest}>{children}</Component>;
});

const StyledLink = styled(omitPropsFromDef(['foo', 'bar'], Link))`
  cursor: pointer;
`;

Hey guys, is there some better solution for this when v2 is going to be released?

@svrcekmichal As far as I know, there's going to be a .attr property added to v2 (see #365) that solves this problem.

FWIW, this is working for me.
import { Link } from 'react-router';
import styled from 'styled-components';

const NavItem = styled(Link)`
  background-color: blue;

  &.${(props) => props.activeClassName} {
    background-color: paleturquoise;
  }
`;

NavItem.defaultProps = {
  activeClassName: 'active',
};

export default NavItem;

And in v2, using attrs
import { Link } from 'react-router';
import styled from 'styled-components';

const activeClassName = 'nav-item-active'

const NavItem = styled(Link).attrs({
    activeClassName
})`
  background-color: blue;

  &.${activeClassName} {
    background-color: paleturquoise;
  }
`;

@mikehazell @GGAlanSmithee What do you think about this API? #522

As mentioned above, we currently don't need to follow up on this anymore, since we have the attrs method in v2.

In new react-router you may use NavLink instead of Link component. https://reacttraining.com/react-router/web/api/NavLink

Combining the @GGAlanSmithee and @karolisgrinkevicius solved the issue for me.

@karolisgrinkevicius it seems you still need to use attrs even with NavLink

I am running into issues using the new 'NavLink' from react-router-dom 4.2.2 following GGAlanSmithee's .attr approach:
const activeClassName = 'nav-item-active'

const NavItem = styled(NavLink).attrs({
 activeClassName
})`
 color: blue;
 &.${activeClassName} {
   color: black;
 }
`;
....
<NavItem to='insights'>Insights</NavItem>

Only the 'default' styles are being rendered. Using the 'activeStyle' prop on NavLink did not help either.

You need to pass the activeClassName to NavItem.
<NavItem to='insights' activeClassName={activeClassName}>Insights</NavItem>

I'm going to lock this issue now. Everything that needs to be said has been said and it's unnecessary to notify everybody for problems related to your own codebase.
If you are having problems, please go to StackOverflow or open a new issue.


Arabic lines still display in English in Advanced Per-system Settings and Game Settings

Despite the lines being translated, the various game settings remain in English:

This is true across the global Game Settings menu and the Advanced per-system options.

"Mar 12, 2023" ???? Did you check it's still happening ?
Translations are on batocera's side ( here https://github.com/batocera-linux/batocera.linux/blob/master/package/batocera/emulationstation/batocera-es-system/locales/ar/batocera-es-system.po ) and they look OK.
Can you confirm it's still happening with v39 beta ?

@Hew-ux @Chipsum does the problem still exist?  Please test and confirm with latest v39 beta.

بسم الله
This problem (like the shown in the picture) is in the arabic support first, bcs all the letters in the os are sperated, and the po file is showing it correctly, so the source code must be edited to support letters overlay (تراكب الأحرف) and to use always the po file, not the system string
والله الموفق


Fix zero precision in datetime and timestamp

Fix issue when setting zero to precision to go default

Thanks! Could you add integration test for this?

Also missing tests

I miss that... Anyway, it's fixed here : https://github.com/knex/knex/commit/a431485aa6308aa2e9046f89b9216e7057caaa29


docs(notebooks): add utility scaling demo

Summary
Adds Utility Scaling demo notebook cleaned and updated to Qiskit 1.0.
Details and comments
Requires merging of the following PRs first:

#14
#15
#16
#17

All code plus notebook can be found in the scaling branch of this repository for ease of access and execution. This is the way it has been shared since it was ready with people that required early access (e.g. for preparation of Practitioner's Forum APAC).
This PR is meant to provide a place to review the notebook in isolation.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4

Relevant Lines:
4

💛  - Coveralls

Tests seem to fail due to the name of the file holding the cached results being invalid for Windows:
> Run actions/checkout@v3
Syncing repository: IBM-Quantum-Technical-Enablement/quantum-enablement
> Getting Git version info
Temporarily overriding HOME='D:\a\_temp\e528dd69-442a-4685-be32-65faa8c21fe5' before making global git config changes
Adding repository directory to the temporary git global config as a safe directory
"C:\Program Files\Git\bin\git.exe" config --global --add safe.directory D:\a\quantum-enablement\quantum-enablement
Deleting the contents of 'D:\a\quantum-enablement\quantum-enablement'
> Initializing the repository
> Disabling automatic garbage collection
> Setting up auth
> Fetching the repository
> Determining the checkout info
v Checking out the ref
  "C:\Program Files\Git\bin\git.exe" checkout --progress --force refs/remotes/pull/20/merge
  Error: error: invalid path 'docs/notebooks/scaling/12x12_2024-02-16T18:40:[14](https://github.com/IBM-Quantum-Technical-Enablement/quantum-enablement/actions/runs/8084536689/job/22090468670?pr=20#step:2:15).0352[19](https://github.com/IBM-Quantum-Technical-Enablement/quantum-enablement/actions/runs/8084536689/job/22090468670?pr=20#step:2:21)+00:00.json'
  Error: The process 'C:\Program Files\Git\bin\git.exe' failed with exit code 128

I've just found average_distributions function should handle the edge case where the counts of all-zero state is 0. Current notebook sometimes fails with ValueError when plotting the "Readout probabilities at different noise levels" figure. Example of half-baked figure looks like below (xval label 1024 suggests all-zero state is not observed within the shots).
ValueError: The number of FixedLocator locations (3), usually from a call to set_ticks, does not match the number of labels (2).

Another small comment is datetime.UTC seems not in Python 3.10. If we need to support 3.10 or earlier, we many need to use datetime.timezone.utc instead.

Thanks for the comments @itoko 🙇🏼♂
Although we have chatted already I will include my responses here for transparency.
The ValueError that you report is merely for plotting, the rest of the notebook should run smoothly nonetheless. This code should be able to fix it thought:
from qiskit.visualization import plot_distribution
from copy import deepcopy
import matplotlib.pyplot as plt

plt.rcParams.update({"text.usetex": True, "font.family": "Helvetica"})
fig, ax = plt.subplots(dpi=200)

ACCURATE_READOUT = "0" * NUM_QUBITS
plots_dict = deepcopy(results_dict)
plots_dict = {
    nf: {"0": counts.pop(ACCURATE_READOUT), "1": sum(counts.values())}
    for nf, counts in plots_dict.items()
}

plot_distribution(
    [plots_dict.get(nf) for nf in NOISE_FACTORS],
    legend=[f"Noise factor: {nf:.1f}" for nf in NOISE_FACTORS],
    color=['lightgray', 'gray', 'black'],
    title="Readout probabilities at different noise levels",
    number_to_keep=1,
    ax=ax,
)
ax.set_xticklabels(['Accurate', 'Error'], rotation=0)
ax.legend(fontsize=11)

plt.show()

We need to change the file name 12x12_2024-03-12T21:18:13.498254+00:00.json not to use ":" in it for Windows users. Otherwise, windows users cannot install quantum-enablement module, i.e. they are not able to do pip install quantum-enablement@git+https://github.com/IBM-Quantum-Technical-Enablement/quantum-enablement. I heard it today from a windows user.

All requests and pending PRs have been addressed. Marking this as ready for review now.


Check watchonly wallet at startup

So we don't bypass an import in case of a crash or w/e..

We'll need bitcoind 0.22 to list imported descritptors, removing from the milestone.


ETL Workflow with OCP V4 Components as interface

OAuthConfig and DCNConfig are the new players.
NodeConfig (ConfigNode) is gone until it's broken down into future needed components.
https://github.com/fusor/cpma/issues/107
https://github.com/fusor/cpma/issues/106

@jmrodri,
Are you sure we are talking about the same issues #.
Because the unit of translation is now an OCP4 component and not an individual configuration file.
The ETL pattern can now take place.

@jmrodri,
Are you sure we are talking about the same issues #.
Because the unit of translation is now an OCP4 component and not an individual configuration file.
And the ETL pattern can now take place.
Please details if you disagree.

@gildub sure thing. Agreed the unit of translation is more correct, but the structure of the code is the crux of the issue. What @eriknelson and I are trying to do is organize the code such that the focus is on creating translators which are the bulk of the work. And so that it is clear to someone working in this project that they really should only need to add or update translators. The rest of the code is largely the infrastructure used to run translators.

Want to help @gildub here so let's separate the blocking issues to merging this PR vs. longer term issues that should be filed:
Blockers:

Be more specific about sources: https://github.com/fusor/cpma/pull/113#discussion_r282646447
I don't think Add should be a method. Should consider what this is doing and maybe move the logic to Extract https://github.com/fusor/cpma/pull/113#discussion_r282647208
These are not configs, they should be called Translators https://github.com/fusor/cpma/pull/113#discussion_r282647410
Likewise: https://github.com/fusor/cpma/pull/113#discussion_r282647872
GenYAML should not be part of the Translator interface: https://github.com/fusor/cpma/pull/113#discussion_r282667735
Decode isn't doing much, its contents should be part of the Extract method: https://github.com/fusor/cpma/pull/113#discussion_r282674608, here as well: https://github.com/fusor/cpma/pull/113#discussion_r282674670

Long term issues:

Reconsider what a Translator is called: https://github.com/fusor/cpma/pull/113#discussion_r282649141
What is the purpose of Add on this type? https://github.com/fusor/cpma/pull/113#discussion_r282667033
More than one component can output to the same CRs: https://github.com/fusor/cpma/pull/113#discussion_r282676836
Reconsider top level app structure: https://github.com/fusor/cpma/pull/113#discussion_r282544936

@jmrodri, I agree re the structure, to be done, I'll do a pass on that one ASAP.

Long term issues linked above.

[x]   These are not configs, they should be called Translators #113 (comment)
[x]   Likewise: #113 (comment)
[x]   GenYAML should not be part of the Translator interface: #113 (comment)

[x] Decode isn't doing much, its contents should be part of the Extract method: #113 (comment), here as well: #113 (comment)

We do need to clarify about sources but need some time and because the Add is involved I'd rather keep that one for following PR.

d

Total mistake on my part closed this, apologies.


[4.2] [sourcekitd] Capture diagnostics with invalid locations for compile notifications

Cherry-pick #15782

Stop filtering out diagnostics with invalid locations in the editor diagnostic consumer, and instead capture them separately so that we can include them in did-compile notifications.
rdar://39225000

@swift-ci please test


Others maybe later.


PyTorch Training 404 link

https://www.kubeflow.org/docs/components/pytorch/
The link in the paragraph with:

See distributed MNIST example config file.

(https://github.com/kubeflow/pytorch-operator/blob/master/examples/tcp-dist/mnist/v1beta1/pytorch_job_mnist.yaml)
leads to 404.

Found the commit that broke the link. I'll submit a PR to fix.


Ask the server for uuids instead of generating our own.

Currently the library generates it's own UUID when a document doesn't have an ID set, we should defer to the server for UUIDs. In order to reduce the number of requests sent to generate UUIDs we should ask for a block of UUIDs and use them until the list runs out.

I agree that such an option would be nice for situations where one is
paranoid about the local source of randomness, but I don't think it should
be the default. It's an extra RTT, right? Also, it would be nice to have
pluggable local-unique-ID generators.
On Feb 5, 2016 6:02 AM, "Rhys Short"<EMAIL_ADDRESS>wrote:

Currently the library generates it's own UUID when a document doesn't have
an ID set, we should defer to the server for UUIDs. In order to reduce the
number of requests sent to generate UUIDs we should ask for a block of
UUIDs and use them until the list runs out.
—
Reply to this email directly or view it on GitHub
https://github.com/cloudant/java-cloudant/issues/201.

Closing, we won't be changing this here.
For a document POST the ID is generated server-side anyway.
Our new cloudant-java-sdk(beta) doesn't generate any UUIDs client-side for a putDocument, a doc id is a required path parameter for that operation and the validation will fail if it is not provided. The expectation is that a user will postDocument if they want the server to generate an ID. If for some reason it is desired to PUT and have a server generated ID then the getUuids operation is available.


Usage in edge environments - Cloudflare workers, Vercel edge

I'm trying to use this lib in an edge runtime using next.js's Edge runtime, which like the browser has a global crypto object, and not an importable module for crypto. This is also how Cloudflare Workers behaves, and I believe this is part of the WinterCG common minimum API.
The issue is that the code in toolbox.ts imports the "crypto" module, which doesn't exist in such environments. https://github.com/webauthn-open-source/fido2-lib/blob/9da9eb90f32f8f6bc49eabd2d9873872812c6323/lib/toolbox.js#L22-L38
It seems that the node.js crypto module is only used in these lines and nowhere else in this package.
While I'm not familiar with @peculiar/webcrypto, it seems that it exists solely for this purpose - to provide an abstraction over such issues and always point to the natively supported crypto implementation. I might be wrong about this - again, not familiar with @peculiar/webcrypto.
Could you consider not importing the native crypto module, and instead just using the @peculiar/webcrypto module? The implication of this is that lines 31-34 above will go away, and when using node.js, all calls to the crypto module will always go through @peculiar/webcrypto, thus supporting a larger number of runtimes.

Hey rakeshpai, thanks for the question. Basically the module tries to import the native and global crypto (L26), and has two layers of fallbacks if this is not supported - first using a platform-specific crypto, and then using JS emulation.
So if your environment has one of the fallbacks before @peculiar/webcrypto, it will use those and should never use peculiar.
Do you maybe have a simple example for an environment where this code leads to issues?


Feature Request: vedo2madcad

Creating a separate issue to reflect discussion in https://github.com/marcomusy/vedo/issues/968.
Want: To be able to convert easily with pointdata attributes to and from the madcad library.

Just implemented utils.madcad2vedo() with an example in examples/other/madcad1.py.

Awesome, thanks!!!

@marcomusy reopening as I noticed there isn't an implementation of madcad2vedo, just vedo2madcad. It'd be good to be able to convert to madcad with a vedo2madcad function, run madcad.thicken and then convert back without losing the RGBA information in pointdata.

As you are familiar with madcad would you give it a try creating a vedo2madcad() function?

Sure thing!

PR up. FYI it doesn't look like they support vertex colour, just the mesh as a whole.


A simple pull request (Requirement No.3)

This is the 3rd pre-internship requirement which was to Submit a Simple Pull Request from Your Apache AGE Repository.

@AbdulMoiz961
It appears that the PR submitted seems to be empty or lacks the necessary content to be reviewed.
To ensure the productivity and efficiency of the project's development, it is important for contributors to verify their submissions for completeness and relevance to the project and to open issues.
Should you need guidance on how to make a contribution, please refer to the project's contributing guidelines at age.apache.org.


Update Track 2 Python packages

@nickzhums, will this change update this doc https://azure.github.io/azure-sdk/releases/latest/python.html?

@nickzhums, will this change update the doc https://azure.github.io/azure-sdk/releases/latest/python.html?

yes

The broken link is related to https://github.com/Azure/azure-sdk/pull/2015 so merging.

thanks @weshaggard


Drag & Drop from File Explorer produces incorrect file paths with WSL

Dragging & dropping a file from Windows File Explorer into a Bash window produces the path formatted for Windows instead of Ubuntu.
Dragging the Desktop folder into a Bash window should produce the text /mnt/c/Users/acesnik/Desktop. Instead, it produces C:\Users\acesnik\Desktop.
Your Windows build number
Edition: Windows 10 Pro
Version: 1607
OS Build: 14393.576
See also https://github.com/Microsoft/WSL/issues/1501

There's not really a way for us as the console/terminal to be able to know what format the shell running attached to us wants the path in. I wouldn't even begin to know how to begin implementing this.
I've filed MSFT:19977636 to track this request, but I don't think it's going to go anywhere any time soon, especially without any plan for how it'd be possible.

I wouldn't even begin to know how to begin implementing this.

Thanks Mike.  That wasn't the answer I expected, but I understand the answer. WSL (on its end of the pty) has no business knowing what you are doing when a file is dropped onto your window. On your end of the pty, you are saying (point blank): hey I have no idea how WSL wants that path string to look. I don't even know it is WSL.
Impasse.
The popular competing terminal emulator implements this by throwing out separation of concerns. The emulator knows the context of the thing that launched it (historically that meant Cygwin). You can do the same.  For poweshell.exe the context string would be, well, nothing. The details of that dirty work doesn't matter for our purposes right now. You probably don't like that answer, but at least this is a different answer than "there's not any way for us ...to know".
The other way to do this is inversion of control. You provide a hook, which wsl.exe (or powershell.exe or cmd.exe) can consume. How you'd provide that inter-process hook is up to you, but at least the signature is conceptually bog simple. Method OnPathDrop takes a string and returns a string. Framing the problem this way means you don't have to know the dirty details, ever. Not your problem. The scope of work is providing said hook.
Academic, I know. Beats empty proposition.

There's not really a way for us as the console/terminal to be able to know what format the shell running attached to us wants the path in. I wouldn't even begin to know how to begin implementing this.

The problem is that the paste is seen by conhost, that will then emulate keypresses to be sent to the underlying console application. I would suppose that in the WSL it's either wsl.exe or bash.exe (??) and they would have to detect that the thing you are entering at this precise moment is a file path (rather than "random" keypresses), and then do a path conversion "à la Cygwin".
The problem here of course is that detection.
Unless, it is possible, from within conhost, to "detect" whether the console application that has the focus (is the main) in the given console, will expect *nix-type file paths instead of win32-type file paths.
If this was possible, then a win32 to *nix file path conversion would have to take place in conhost.exe.
An alternative way (that is inspired from Wolfram Mathematica when you paste file paths in a string), would be to recognize that the file path has a certain form, namely "driver_letter:\path\to\file" . If such recognition can be performed, then one can then convert this type of string to a *nix-formatted file path.
Since that solution would be handled by the console application itself, the console app could display some kind of "popup" character-window asking whether or not to perform the file-path conversion.

Hi, can this please be implemented? It's pretty trivial as far as i can tell, the parent process for conhost is wsl.exe so all it needs to do is check the module name of it's parent process. This can be done a number of ways, the easiest of which is probably just enumerating the processing and checking pids. If one is found get the window name and check for 'wsl.exe': https://gist.github.com/mattn/253013/d47b90159cf8ffa4d92448614b748aa1d235ebe4 (additionally should probably verify the parent start time is before child start time).

Ah but what if you're running cmd.exe within WSL 🤔

the parent process for conhost is wsl.exe

Well, that's certainly not what I'd expect actually. That's curious that there's an extra console process hanging around when WSL is already attached to a console. In your screenshot, the console server for wsl.exe is actually OpenConsole.exe, presumably 18360.

wslhost.exe is always the parent of conhost for wsl systems afaik. The wsl.exe is parent of cmd.exe when spawned from within a wsl2 environment. Grab process hacker2 and try for yourself

Has no effect on WSL Ubuntu 22.04.1 LTS.
Ubuntu 22.04.1 LTS installed from the Microsoft Store is configured in this way, so it is not determined correctly.
	"source": "CanonicalGroupLimited.Ubuntu22.04LTS_79rhkp1fndgsc"

ManglePathsForWsl() determines like this.
It has to be a more efficient way of judging or set manually.
/terminal/src/cascadia/TerminalControl/ControlInteractivity.cpp:676
    bool ControlInteractivity::ManglePathsForWsl()
    {
        return _core->Settings().ProfileSource() == L"Windows.Terminal.Wsl";
    }

FWIW, This is an excellent example of why I always thought that pushing the source down into the control layer to make the decision about drag/drop was the wrong thing to do. Hmm.

There's not really a way for us as the console/terminal to be able to know what format the shell running attached to us wants the path in. I wouldn't even begin to know how to begin implementing this.
I've filed MSFT:19977636 to track this request, but I don't think it's going to go anywhere any time soon, especially without any plan for how it'd be possible.

that's not true git bash for windows does that correctly