Doubt in GNN tutorial

Tutorial 7 -
Hey thanks for these wonderful notebooks. I was going through the GNN code especially the GAT section and just to be sure I understood everything correctly i replicated everything for your special case.
    a_input = torch.cat([torch.index_select(input=node_feats_flat, index=edge_indices_row,
           dim=0), torch.index_select(input=node_feats_flat, index=edge_indices_col, dim=0)
            ], dim=-1)

    # Calculate attention MLP output (independent for each head)
    attn_logits = torch.einsum('bhc,hc->bh', a_input, self.a)
    attn_logits = self.leakyrelu(attn_logits)

In this line you stack the features of the nodes in each edge so say we have two nodes
i, j we get a 2x2 matrix corresponding to them represented as
[[a, b] , [c, d]] and we have the attention weights [[w, x] , [y, z]]. When we do the einsum operation we get a 2x1 matrix [[aw+bx, cy+dz]]. This is the first doubt shouldnt it be [aw+bx+cy+dz] according to the equation as for each i, j we have one value. If we have two heads then the a matrix should have shape 2x2*d where d=2 for our case
But going further down keeping the same calculations as above. After the attention probabilities.
node_feats = torch.einsum('bijh,bjhc->bihc', attn_probs, node_feats) which is this line
which can be expanded into where ap is the attention probabilites and feats is the node features after the linear projection
       for i in range(4):
           p1 = ap[i, :, 0]
           p2 = ap[i, :, 1]

           f1 = feats[:, 0, :].squeeze() ## dimension 1
           f2 = feats[:, 1, :].squeeze() ## dimension 2
           p1.shape , f1.shape, f2.shape

           print(torch.tensor([(torch.dot(p1, f1), torch.dot(p2, f2))]))

we see that the results is obtained by taking the two different probabilites from different heads and taking the dot product with two different dimensions of the feature matrix, but each head should operate on both the dimensions of the node features or atleast I hope it should. I check the output at each intermediate stage to be sure that it matches the results from the notebook you provide. Am i missing something

Hi, thanks for raising the questions. Let me try to answer them below.
Regarding the first code fragment: you are right in your intuition, but the code in the notebook operates slightly different for efficiency reasons. Instead of calculating the attention logits for every possible pair of variables, we calculate the attention logit for every edge in all graphs. Hence, the tensor a_input has the shape [number of edges, number of heads, 2*number of features per head]. On this tensor, we then apply the einsum operation, and obtain a tensor attn_logits of shape [number of edges, number of heads]. Afterwards, we re-organize the tensor back into a matrix of shape [number of batches, number of nodes, number of nodes], and take the softmax over the last dimension. If I understand your intuition correctly, you would have stuck to the matrix in the first place. This is more intuitive and simpler to implement, but quickly becomes inefficient when we have more zeros in the adjacency matrix than ones (i.e. any larger graph).
Regarding the second code fragment: you are right that each head only operates on its assigned features and not all channels. This is done on purpose and follows the proposal of the original paper (Velickovic et al.). If all heads operated on all features, we would have an N times larger feature output size, where N is the number of heads. The features can be combined between heads either in the next layer, or summed directly, as done for the last layer.

Thanks for answering. So from what I understand you are saying we define an attention weight for each set of features so in our case we have two heads and the two heads operate on dimension 1 and 2 of the node features. So here a_input is [number of edges, number of heads, 2*number of features per head]   and for each edge we take the 2x2 matrix and multiply it elementwise with the a matrix
[[a, b] , [c, d]] and we have the attention weights [[w, x] , [y, z]]. We do the elementwise multiplication which gives [[aw, bx] , [cy, dz]] and then sum along axis 1 which gives [[aw+bx , cy+dz]]. This is the attention logits for each feature and then we compute the probabilities for each head separately by softmaxing across dimension 2. And since each head operates on a different set of features we compute the final weighted node_feats by doing a weighted average of the respective features of node_feats with their respective attention_probs

prob_ij = exp(aw+cy)/ (exp(aw+cy) + sum other logits(i, k)) and say prob_iu = exp(aw+mn)/ (exp(aw+mn) + sum other logits(i, k)) and then when we compute the weighted node features towards the end we replace the adjacency matrix with prob and this tells us how much we should weigh each neighbor of i in the neighborhood computation

Yes, that is correct. Only correction: we sum along the last axis when doing the einsum operation over a_input and a, i.e. the c dimension. Hence, in your example, we would get [aw+bx, cy+dz] if I understand it correctly.

Yes but then a is feature 1 in node 1 and b is feature 1 in node 2 and w and x are attention weights operating on dimension 1

OK yes, then we mean the same thing here.

Nice thanks a lot


x/build: Add gdb to Windows Builders

As observed in golang/go#22012 the Windows builders do not have gdb causing them to skip any gdb related test.
Add gdb to these packages

@johnsonj while you at it ...
2 out of 5 gdb tests are skipped on my computer:
c:\Users\Alex\dev\go\src>go test -v -run=TestGdb runtime
=== RUN   TestGdbPython
=== RUN   TestGdbPythonCgo
=== RUN   TestGdbBacktrace
=== RUN   TestGdbAutotmpTypes
=== RUN   TestGdbConst
--- SKIP: TestGdbPython (0.05s)
        runtime-gdb_test.go:55: gdb version 7.8
        runtime-gdb_test.go:70: skipping due to lack of python gdb support: Python scripting is not supported in this copy of GDB.
--- SKIP: TestGdbPythonCgo (0.04s)
        runtime-gdb_test.go:55: gdb version 7.8
        runtime-gdb_test.go:70: skipping due to lack of python gdb support: Python scripting is not supported in this copy of GDB.
--- PASS: TestGdbBacktrace (0.51s)
        runtime-gdb_test.go:55: gdb version 7.8
--- PASS: TestGdbAutotmpTypes (0.54s)
        runtime-gdb_test.go:55: gdb version 7.8
--- PASS: TestGdbConst (0.54s)
        runtime-gdb_test.go:55: gdb version 7.8
        runtime-gdb_test.go:436: output "No symbol \"startup\" in current context.\nBreakpoint 1 at 0x44d004: file C:/Users/Alex/AppData/Local/Temp/go-build263992595/main.go, line 9.\n[New Thread 6644.0x2228]\n[New Thread 6644.0x6a8]\n[New Thread 6644.0x2938]\n[New Thread 6644.0x135c]\nwarning: Can not parse XML library list; XML support was disabled at compile time\n[New Thread 6644.0x1dd4]\n[New Thread 6644.0x2258]\n[New Thread 6644.0x239c]\n[New Thread 6644.0x1a9c]\n\nBreakpoint 1, main.main () at C:/Users/Alex/AppData/Local/Temp/go-build263992595/main.go:9\n9\t\tprintln(\"hello world\")\n$1 = 42\n$2 =<PHONE_NUMBER>3709551615\n$3 = -1\n$4 = 1 '\\001'\n"
PASS
ok      runtime 0.649s

c:\Users\Alex\dev\go\src>

I suspect it would be hard to make skipped tests run. As far as I remember I tried some time ago and failed. Do not spent too much time on it if you cannot.
Alex

@thanm @dmitshur if approved, CL 470596 will unskip all gdb test on Windows. I've tried with gdb 12.1 and all tests passes.  Is it time to add gdb to Windows builders?
I'm particularly interested on this because I want to add some CGO unwinding tests as part of #58378,  and they ideally should also run on Windows using gdb and SEH (once #57302 is done).

Is it time to add gdb to Windows builders?

Seems ok to me on principle. What distribution/vintage of GDB 12 did you use for your testing?

Note to self: while we are installing GDB, it would probably also be a good idea to install Delve as well (right now I don't think there are any tests that use delve that run on windows, but this could change).

Is it time to add gdb to Windows builders?

Seems ok to me on principle. What distribution/vintage of GDB 12 did you use for your testing?

The one you get from running choco install mingw --version=12.2.0. Which installs this under the hood: https://github.com/brechtsanders/winlibs_mingw/releases/tag/12.2.0-14.0.6-10.0.0-ucrt-r2
gcc.exe (MinGW-W64 x86_64-ucrt-posix-seh, built by Brecht Sanders) 12.2.0
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Find bug during user system test

checkForm() doesn't work in user/commentSave.jsp

Delete the unused 'if' statement that caused the problem


Cross-Library: support Paparazzi 1.3.4

Describe the bug
Right now, one cannot use Cross-Library screenshot tests with Paparazzi 1.3.4, it only works with Paparazzi 1.3.3 or lower.
Expected behavior
Support 1.3.3 and check whether more Paparazzi options can be added to PaparazziConfig

Postponed to 2.5.0 to avoid enforcing AGP update in versions that support newest android-testify and roborazzi, which come in 2.4.0

done in 2.5.0


problem in 0.7.4 release

I get Branch-SDK/Branch-SDK/BNCServerInterface.h not found when I try to build with Branch 0.7.4 which I installed via cocoapods

@neil477 I think you're referring to 0.7.2, but you're right, I added the wrong header to the podspec. Will be updating within the next 20 minutes.

@neil477 this should be fixed with the latest version, 0.7.3. Please let me know if this works for you.

Hi @neil477 -- I'm gonna close this for now since I believe this is fixed. If you're still seeing problems, please let me know.


Check prometheus is online with simple query

This fix #553 by replacing online check on status/flag with a simple query

Codecov Report

Merging #557 into master will increase coverage by 0.06%.
The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master     #557      +/-   ##
==========================================
+ Coverage   52.65%   52.72%   +0.06%
==========================================
  Files          63       63
  Lines        4938     4922      -16
==========================================
- Hits         2600     2595       -5
+ Misses       1930     1924       -6
+ Partials      408      403       -5

Impacted Files
Coverage Δ

pkg/metrics/providers/prometheus.go
67.64% <50.00%> (+6.93%)
:arrow_up:

Continue to review full report at Codecov.

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


Running code analysis fails

Install the C++/WinRT extension from Microsoft
Create a new blank C++/WinRT "MyProject"
Open the context menu of the project and select
Analyze and Code Cleanup > Run Code analysis on MyProject

Compilation fails with
MyProject\Generated Files\XamlTypeInfo.g.cpp(9,10): fatal error C1083: Cannot open precompiled header file: 'Debug\pch.pch.codeanalysis': No such file or directory
Probable cause:
The PrecompiledHeaderOutputFile property is set to 'Debug\pch.pch' for all files (including pch.cpp)
but to 'Debug\pch.pch.codeanalysis' for 'Generated Files\XamlTypeInfo.g.cpp'

Hi Frank, which version of Visual Studio are you using?

Hi Frank, which version of Visual Studio are you using?

Visual Studio 2019 Enterprise, version 16.5.2

Thanks, I do see this failure but again this is not a feature I have any control over. The project itself compiles without issue. Please report this here:
https://developercommunity.visualstudio.com/spaces/62/index.html

Reported here: https://developercommunity.visualstudio.com/content/problem/975713/running-code-analysis-fails.html


JSON response format failing to retrieve clean JSON

Issues
When asking the model to return JSON via responseFormat (or response_format) setting in the request options, sometimes with JSON an additional text is added, usually explaining the JSON that it returned.
Reproduction:
String userPrompt is generated dynamically based on the usecase.
const userPrompt = `Given the following Typescript Types: 'interface Question<T extends QuestionType> { title: string; type: T;

.....
, your job is to provide structured JSON formatted questions in an array. Create questions for a rating type question survey. Do not include any text in your response except JSON. Do not return Markdown or HTML. Be sure to create not more than 1 questions. Be sure to create at least 1 questions.`

mistral = new MistralClient(options.apiKey);
const chat = await mistral.chat({
		model: 'mistral-small,
		messages: [{ role: 'user', content: userPrompt }],
		responseFormat: { type: 'json_object' },
		temperature: temperature,
	});
data = JSON.parse(
			chat.choices[0].message.content
		)

console.log(data)

Completion:  {
  id: '0ef53d7c6c3a4a5ebbaf43aa96c0f5d9',
  object: 'chat.completion',
  created:<PHONE_NUMBER>,
  model: 'mistral-small',
  choices: [
    {
      index: 0,
      message: {
        role: 'assistant',
        content: '[\n' +
          '{\n' +
          '"title": "How would you rate your overall satisfaction with our product?",\n' +
          '"type": "rating",\n' +
          '"required": true,\n' +
          '"properties": {\n' +
          '"labels": [\n' +
          '{\n' +
          '"label": "Very unsatisfied",\n' +
          '"value": 1\n' +
          '},\n' +
          '{\n' +
          '"label": "Unsatisfied",\n' +
          '"value": 2\n' +
          '},\n' +
          '{\n' +
          '"label": "Neutral",\n' +
          '"value": 3\n' +
          '},\n' +
          '{\n' +
          '"label": "Satisfied",\n' +
          '"value": 4\n' +
          '},\n' +
          '{\n' +
          '"label": "Very satisfied",\n' +
          '"value": 5\n' +
          '}\n' +
          ']\n' +
          '}\n' +
          '}\n' +
          ']\n' +
          '\n' +
          **'This JSON array contains one question of type "rating" that asks the customer about their overall satisfaction with the product. The question has 5 labels with corresponding values from 1 to 5, where 1 means "Very unsatisfied" and 5 means "Very satisfied". The question is required.',**
        tool_calls: null
      },
      finish_reason: 'stop',
      logprobs: null
    }
  ],
  usage: { prompt_tokens: 447, total_tokens: 658, completion_tokens: 211 }
}

Notes
The request header seems to be doing fine:
request {
  model: 'mistral-small',
  messages: [
    {
      role: 'user',
      content: 'Given the following Typescript Types \

.......

Do not return Markdown or HTML. Be sure to create not more than 1 questions. Be sure to create at least 1 questions.'
    }
  ],
  tools: undefined,
  temperature: 0,
  max_tokens: undefined,
  top_p: undefined,
  random_seed: undefined,
  stream: false,
  safe_prompt: undefined,
  tool_choice: undefined,
  response_format: { type: 'json_object' }
}

I usually perform a post-processing step ignoring everything before the first { and after the last } of the output text

However, I have observed many cases of ill-generated JSONs since July/2014 (model mixtral-8x7b), such as:
  ": {",


Download the dataset?

Hi, I'm very intersted in livox dataset, but don't know where to download the dataset.
Is there a way to download livox dataset?
Thanks!

@struggleeveryday @Livox-SDK
hi I have bought one livox lidar as well. May I have this livox dataset ?
Thanks

Hi
We really admire your interest in using Livox products. For the data set please visit the link down below:
https://www.livoxtech.com/simu-dataset
@struggleeveryday, @russellyq


ARROW-5950: [Rust][DataFusion] Add logger

It seems useful to me to do some extra (debug, info, etc) logging.
I added to the benchmark.

The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master    #8986      +/-   ##
==========================================
- Coverage   82.65%   82.65%   -0.01%
==========================================
  Files         200      200
  Lines       49675    49678       +3
==========================================
+ Hits        41058    41060       +2
- Misses       8617     8618       +1

Impacted Files
Coverage Δ

rust/arrow-flight/src/arrow.flight.protocol.rs
0.00% <ø> (ø)

rust/benchmarks/src/bin/tpch.rs
0.00% <0.00%> (ø)

rust/datafusion/src/execution/context.rs
89.45% <100.00%> (+0.02%)
:arrow_up:

Continue to review full report at Codecov.

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

FWIW for me we can add it to the bin, also.

I think that's a good idea, but don't want to add a logger as dependency directly to datafusion. Doing so at the bin level is not yet supported https://github.com/rust-lang/cargo/issues/1982 It will probably change though https://github.com/rust-lang/rfcs/pull/3020
Maybe at some point they can move to their own project.

Thanks @alamb updated the PR


CFP: I would like to have an option to transfer only the specified weight to remote in global service.

Cilium Feature Proposal
Currently, if you want to forward a specified percentage of traffic to remote, you have to devise a way to do so by placing envoy in front of global service.
I would like to have an option to transfer only the specified weight to remote in global service.
Is your feature request related to a problem?
Many OSS and Cilium's Global Service are incompatible.
Cilium's Global Service does not create an Endpoint object for the Remote pod, so it will not work with many OSS Proxies that require an Endpoint object.
Describe the feature you'd like
I want to forward a specified percentage of traffic to the REMOTE cluster via Global Service.
(Optional) Describe your proposed solution
I would like to have an option to transfer only the specified weight to remote in global service.

Keep

Keep

Keep

Keep

keep

keep

Keep

Hi @kahirokunn

Cilium's Global Service does not create an Endpoint object for the Remote pod, so it will not work with many OSS Proxies that require an Endpoint object.

Just a note that, starting from Cilium v1.16, it is possible to enable endpointslice synchronization for global services: https://docs.cilium.io/en/latest/network/clustermesh/services/#synchronizing-kubernetes-endpointslice-beta.
Is that enough for your use-case?

@giorio94
Yes, that is more than sufficient! This is absolutely fantastic! Thank you so much!


Fixed double body tag on About.html

This has been a big problem on all of our html files ...

This should be merge soon ..


[Feature Request] Separate client to another package

Describe the solution you'd like
Separate client to another package  that not require RoadRunner.
Additional context
I need only use client of temporal of php-sdk, but I can't install RoadRunner that is required to worker.

Hi. Just don't install RoadRunner.
You don't have to install RoadRunner if you just use Client part.


SQL name resolution

For the upcoming SQL support, we essentially need to implement a basic SQL name resolver. We will not support all of the SQL, but we need following features:
(using the Movies schema)
-- map Movie to our ObjectType
-- map Movie.title to the correct property
SELECT Movie.title FROM Movie;

-- figure out that property title comes from ObjectType Movie
SELECT title FROM Movie;

-- case insentive by default, lowercase when strictly-typed
SELECT tItLe, `relase_year` FROM `movie`;

-- table aliases
SELECT m.title FROM Movie AS m;

-- resolve <link>_id
SELECT title FROM Movie JOIN Genre ON Movie.genre_id = Genre.id

-- resolve <parent_type>_id
SELECT c.title, m.release_year FROM Content c JOIN Movie m ON m.content_id = c.id

-- infer subquery types
SELECT title, t.name FROM (SELECT *, title as name FROM Movie) t JOIN Genre ON ...

Inheritance
We have to decide what to do when selecting from a parent object. Should rows of child tables be included?
@1st1 says no, because SQL is low level and we should expose only this low-level data.
@msullivan says that we should at least provide some syntax to allow access to the inheriting views we already have so the SQL interface is not such a pain in the ass to use.
I think that we should avoid having two different syntaxes (or any kind of table name suffixes), because this adds much more surface for bugs and confusion.
While it would be convenient to expose inheriting views, the exposed database would not be normalized so I agree with Yury to stick only to base tables.
Names of multi-multi link tables
type Movie {
    multi link actors -> Person {
      property character_name -> str;
    };
}
type Person {
    link filmography := .<actors[is Content];
}

These tables do not have a name in EdgeQL, but need one in SQL. I suggest movie_actors_person_filmography:

object name where link is defined,
link name on that object
object name where link is referenced,
link name on that object.

For many-to-many links, I don't think we need to include anything but Movie and actors in the table name. That fully identifies the link. The filmography computed backlink is helpful for writing edgeql queries, but is not fundamental.
So I think it should be named Movie_actors, or "Movie.actors" if we are willing to require quoting.

I also tend towards thinking that rows of child tables should be included by default. We can use the ONLY keyword to suppress that.
(Though it might also be worth doing a bit of investigation about any tools we expect to be automatically generating these SQL queries, and what their capabilities are.)

For single links, my inclination is to just name the column the same thing as the link, instead of adding _id to the end?

We have to decide what to do when selecting from a parent object. Should rows of child tables be included?

We should compile references to inheritance views, and also support the ONLY postfix, in which case a direct reference to an underlying table should be generated.

Yeah, I'd avoid adding suffixes and prefixes to names unless absolutely necessary.

Also, regardless of whether we include subtypes, we don't need the -- resolve <parent_type>_id thing. All of our tables include all the properties from parent types

@msullivan

Also, regardless of whether we include subtypes, we don't need the -- resolve <parent_type>_id thing. All of our tables include all the properties from parent types

If we decide to include subtypes, you may want to select all Content but to also have properties from Movies (for those objects that are a Movie). You can't do that with UNION, because rows would be duplicated and columns would not match.
If we decide not to include subtypes, you also need a way to get all Content subtypes instances.
The more I think about it, the more I lean toward exposing the normalized database. No inheritance, no showing the same values in two different tables.
This will also inflict the appreciation for all the work EdgeDB is doing over the low-level SQL database.

For many-to-many links ...

Ok, agree Movie_actors is probably best.

Like we discussed offline, we need to duplicate pointers from parent objects in the children type--that is how we store it in edgedb, with each object in one table.
Implementation work doesn't need to wait on a final decision on inheritance; it shouldn't be hard to change


[RFC] SQLiteTypeMapping, ContentResolverTypeMapping generation

Hi
I think this is to hard way for operate with generated code
.addTypeMapping(Tweet.class, SQLiteTypeMapping.<Tweet>builder()
        .putResolver(new TweetStorIOSQLitePutResolver())
        .getResolver(new TweetStorIOSQLiteGetResolver())
        .deleteResolver(new TweetStorIOSQLiteDeleteResolver())
        .build())
.addTypeMapping(User.class, SQLiteTypeMapping.<User>builder()
        .putResolver(new UserStorIOSQLitePutResolver())
        .getResolver(new UserStorIOSQLiteGetResolver())
        .deleteResolver(new UserStorIOSQLiteDeleteResolver())
        .build())
.addTypeMapping(TweetWithUser.class, SQLiteTypeMapping.<TweetWithUser>builder()
        .putResolver(new TweetWithUserPutResolver())
        .getResolver(new TweetWithUserGetResolver())
        .deleteResolver(new TweetWithUserDeleteResolver())
        .build())

Provided code generate extra classes for collapse it to
.addTypeMapping(Tweet.class, new TweetSQLiteTypeMapping())
.addTypeMapping(User.class, new UserSQLiteTypeMapping())

Nice idea!
@nikitin-da can you please take a look?

Wait wait wait, please don't merge master to this branch, use rebase, Luke! (Or I'll rebase it and merge manually :)

:+1:
What about rebase and squash into one commit? Or you can leave it as is and I'll do it myself when we'll got :+1: from @nikitin-da

Cool feature! LGTM

@zayass Sorry, but can you please rebase on latest master again?

@nikitin-da rebased

Thanks


Support exports

New api https://advertising.amazon.com/API/docs/en-us/exports

Yes we may need to add

+1

+1

Added the preliminary version of Exports API:
https://advertising.amazon.com/API/docs/en-us/exports
Please use and test it, here is my example testing:
import logging
import argparse
import sys

from datetime import date, datetime

from ad_api.api import Exports
from ad_api.base import AdvertisingApiException

logging.basicConfig(
    level=logging.INFO,
    format="%(asctime)s:%(levelname)s:%(message)s"
)

parser = argparse.ArgumentParser(
    description='''This program will query the exports of the amazon shop. ''',
    epilog=f'©Copyright Denisneuf {year}')
parser.add_argument('--store', type=str, help='Type store shop', default='myshop')
parser.add_argument('--market', type=str, help='Type the marketplace', default='ES')

args = parser.parse_args()

def get_export(export_id: str):

    logging.info("---------------------------------")
    logging.info("Exports > get_export")
    logging.info("---------------------------------")

    try:

        result = Exports(account=store, marketplace=marketplace, debug=True).get_export(
            exportId=export_id,
            typeExport="campaigns" # campaigns, targets, adgroups
        )

        logging.info(result)

    except AdvertisingApiException as error:
        logging.info(error)

def list_adgroups(param: dict):

    logging.info("---------------------------------")
    logging.info("Exports > adGroups")
    logging.info("---------------------------------")

    try:

        result = Exports(account=store, marketplace=marketplace, debug=True).adgroups_export(
            body=param
        )

        logging.info(result)

    except AdvertisingApiException as error:
        logging.info(error)

def list_campaigns(param: dict):
    now = datetime.now()  # current date and time
    date_time = now.strftime("%Y%m%d")
    logging.info(date_time)

    logging.info("---------------------------------")
    logging.info("Exports > Campaigns")
    logging.info("---------------------------------")

    try:

        result = Exports(account=store, marketplace=marketplace, debug=True).campaigns_export(
            body=param
        )

        logging.info(result)

    except AdvertisingApiException as error:
        logging.info(error)

if __name__ == '__main__':

    if args.store is None:
        while True:
            try:
                store_input = input(
                    'Please Input the name of store (bestq or leadtech): ')
            except ValueError as err:
                logging.error(str(err))
                continue
            else:
                args.store = store_input
                logging.warning("The store is set as an input: " + str(args.store))
                break
    else:
        logging.warning("The store is set as an argument: " + str(args.store))

    if args.market is None:
        while True:
            try:
                market_input = input(
                    'Please Input the marketplace (ex. ES): ')
            except ValueError as err:
                logging.error(str(err))
                continue
            else:
                args.market = market_input
                break
    else:
        logging.warning("The marketplace is set as an argument: " + str(args.market))

    store = args.store
    market = args.market
    base = Base(store, market)

    marketplace = base.get_marketplace()

    dictionary = \
        {
            "stateFilter": [
                "ENABLED",
                "PAUSED"
            ],
            "adProductFilter": [
                "SPONSORED_PRODUCTS"
            ]
        }

    # list_campaigns(dictionary)

    # 'payload': {'exportId': 'xxxxxxxxxxxxxxxxx',
    #            'status': 'IN_PROGRESS'}}

    export = 'xxxxxxxxxxxxxxxxx'

    get_export(export)

Two things, as the content type of method get_export depends on the type you decide to get the export, to get the url download you must pass the typeExport:
        result = Exports(account=store, marketplace=marketplace, debug=True).get_export(
            exportId=export_id,
            typeExport="campaigns" # campaigns, targets, adgroups
        )

And apparently there's 3 methods: campaigns, adgroups and targets but in the tests I found it must have maybe a hidden one:
application/vnd.campaignsexport.v1+json,
application/vnd.adgroupsexport.v1+json,
application/vnd.targetsexport.v1+json,
application/vnd.adcreativesexport.v1+json
I will test later, let me know!

Any comments, open a discussion, now I close this as issue.


geojson missing startist Day_4

On M1, stardist in Day 4 is complaining
---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Cell In[14], line 2
      1 # Convert into Polygon and add to Geometry Collection
----> 2 from geojson import Feature, FeatureCollection, Polygon
      3 c = 1
      4 shapes = []

ModuleNotFoundError: No module named 'geojson'

On the same notebook, I actually do not see any
import stardist
(unlike in Day_5, where there is a clear import stardist in the import cell)
but strangely, on Day_4, even without that import, it works  ...

sorry I will sort that out.
I did not install geojson

Fixed


[Feature Request] UI that support adding Oauth2 provider through URL

Description
It would be nice if there is a UI in the admin page where admin users can add an Oauth2 provider by themselves. They could type in the URL of their own provider (by URL, I mean something like github.com/markbates/goth/providers/google), make some config and then the provider works.
I am from Shanghai Jiao Tong University, China, and we are trying to use Gitea as course website for some of our CS courses, like Operating System, Algorithm. We would like to use our university account (which only supports Oauth2) as authentication source, but we failed with current provider list. I wrote a provider, modified the source code to add it and then it worked. It would be nice if this could be done by UI in a release version.

Oauth2 by itself only serves as an authorization protocol and not as a authentication mechanism (see this article for an explanation). Google, Twitter etc. all build upon that to provide authentication - however this requires manual handling of each provider. The correct way for you university to solve this issue would be to provide an OpenID Connect endpoint which allows unified access. They probably already have this implemented if you can use your university account to sign in at microsoft or similar.


Check part "liveness"

[ ] photo/schematic

[ ] code and/or instructions

[ ] expected result of "liveness" test

Broke this down into individual issues per part


Doom Uppercut Target levelling

Created by: Fredericc0
Uppercut doesn't raise himself at the same momentum as the people he uppercuts making it extremely easy to lose track of your uppercut target.

moved from ow1_emulator_backup#564

Created by: MaxwellJung
idk this kind of sounds like a skill issue... /s

Created by: UgandanF16
Yeah I have noticed this, it's pretty disorienting mid combo.

mentioned in merge request ow1_emulator_backup!377


API db not closed correctly

ERROR:root:SQLITE_LOG: recovered 270 frames from WAL file /data/counterparty/counterparty.api.db-wal (283) SQLITE_NOTICE_RECOVER_WAL

on startup

Got this with the apidb branch:
2024-07-04T18:01:52.830370000+02:00 - [    INFO] - Adding transaction_count column to blocks table...
ERROR:root:SQLITE_LOG: statement aborts at 3: [
        CREATE TABLE IF NOT EXISTS addresses(
            address TEXT,
            options INTEGER,
            block_index INTEGER
        )
    ] database schema has changed (17) SQLITE_SCHEMA

For some unknown reason the WAL file is not deleted even though all connections are closed. I suspect this is due to a sub-process authorization problem but I'm not sure. So far I have found this workaround which works well:
https://github.com/CounterpartyXCP/counterparty-core/pull/2031/commits/92390cd9da89a67e63f70c0d8f1c1be7fc3e36ff
The WAL and SHM files are deleted.

ok I understood the problem: the last closed connection must not be read-only to be able to correctly delete the WAL and SHM files..


Some open ended question on the ingestion pipeline

Thanks for giving many ideas and sharing processing techniques.
As I can see, currently the pipeline seems to be hosted on it's own dedicated machine/webapp/container app rather than using the Azure Document Skillset API, which makes sense because there are so many intricate details, if-else statements to deal with different kinds of documents.
Is it realistic to expect to replicate this work using just the Skillset API, may be with some custome web api skill, is it worth it? I want your opinions.

Hi - In my opinion it would be quite hard to replicate the current ingestion pipeline capabilities using the Skillset (Azure AI Search integrated indexing) api and probably not worth the effort required. However, if you have the time to spend, I think having that code as an optional path available would be of interest to others, as there do not seem to be many good examples for that api available at present...

u have the t

Thanks, I totally agree. I will close this issue now.


ordering lib?

@rndblnch the following link is broken: https://bitbucket.org/rndblnch/ordering
I'd like to try and refresh this project, so I'm trying to first locate the most recent code :)

i will put the code on github, bitbucket discontinued its mercurial hosting service.
let me have a look, i will be right back …

ok, the code is up at: https://github.com/rndblnch/ordering
beware: older versions (the one included in reorder.js, I suspect) was wrong in its interpretation of the S (similarity matrix): it was interpreted as a distance matrix. the algorithm was trying to minimize the distance (instead of maximize the similarity)!
you should check if the mistake was corrected by @jdfekete while translating the code to javascript!
the last version correctly maximize similarity.
interesting side not: minimizing similarity leads to orders that are not that absurd (i discovered the problem only by chance). maybe worth taking some time to understand why…

I fixed the code to minimize the distance, but never included the
maximization of the similarity since all my code is based on distances.
All the weird options are worth exploring. I think Jarke van Wijk
mentions minimizing similarity/maximizing distances in:

Stef van den Elzen https://dblp.org/pid/25/10660.html, Danny
Holten https://dblp.org/pid/83/1743.html, Jorik Blaas
https://dblp.org/pid/86/1292.html, Jarke J. van Wijk:
Dynamic Network Visualization withExtended Massive Sequence
Views. IEEE Trans. Vis. Comput. Graph. 20(8)
https://dblp.org/db/journals/tvcg/tvcg20.html#ElzenHBW14: 1087-1099 (2014)

Best,
Jean-Daniel
On 10/31/20 5:52 PM, rndblnch wrote:

ok, the code is up at: https://github.com/rndblnch/ordering
beware: older versions (the one included in reorder.js, I suspect) was
wrong in its interpretation of the S (similarity matrix): it was
interpreted as a distance matrix. the algorithm was trying to minimize
the distance (instead of maximize the similarity)!
you should check if the mistake was corrected by @jdfekete
https://github.com/jdfekete while translating the code to javascript!
the last version correctly maximize similarity.
interesting side not: minimizing similarity leads to orders that are
not that absurd (i discovered the problem only by chance). maybe worth
taking some time to understand why…
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/jdfekete/reorder.js/issues/7#issuecomment-719959233,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKFBCQZWLZZASLCZJHBEKLSNQ6D7ANCNFSM4TF3NVSQ.

--
Jean-Daniel Fekete<EMAIL_ADDRESS>AVIZ Team Leader, INRIA                  www.aviz.fr
INRIA Saclay - Île-de-France     www.aviz.fr/~fekete
Bat 660, Université Paris-Saclay tel: +33 1 69156551
F91405 ORSAY Cedex, France       fax: +33 1 69154240

I have applied the pull request since it only changes the python code.


merge from arlac77/template-github,arlac77/template-kronos-module

package.json

chore(package): add ^3.5.2 remove ^3.5.1 (devDependencies.ava)

Codecov Report

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

@@          Coverage Diff          @@
##           master   #705   +/-   ##
=====================================
  Coverage     100%   100%
=====================================
  Files           1      1
  Lines          30     30
  Branches        7      7
=====================================
  Hits           30     30

Continue to review full report at Codecov.

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

:tada: This PR is included in version 2.1.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Revert "Use the current release version of Mockito. (#751)"

This reverts commit 3f946d748ea171c70c297cf3188e4b0dbadab1ad.
Reverting due to integration issues.

Coverage remained the same at 81.108% when pulling 0e514f9d1fa7fcfddb984a64e52cc1af52f73976 on sebright:revert-mockito-upgrade into f8e33e302547d209290611d00ea17b922c225375 on census-instrumentation:master.

Codecov Report

Merging #800 into master will increase coverage by 0.02%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #800      +/-   ##
============================================
+ Coverage     79.13%   79.16%   +0.02%
  Complexity      890      890
============================================
  Files           156      156
  Lines          3954     3954
  Branches        372      372
============================================
+ Hits           3129     3130       +1
  Misses          747      747
+ Partials         78       77       -1

Impacted Files
Coverage Δ
Complexity Δ

...census/implcore/trace/export/SpanExporterImpl.java
98.33% <0%> (+1.66%)
7% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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


Veldrid roadmap?

@mellinoe
Hi
Is there any Veldrid roadmap around?
Just to understand what important features Veldrid is lack of at the moment and you plan to do :)

I do have a list of features I'd like to add, but nothing here in the repo. Here's a quick bullet list, maybe I'll add something more substantial to the docs website.

Push constants (a la Vulkan)
"Better" resource slot allocation for OpenGL and Metal
Swapchain abstraction (implementation in the swapchain branch)
Runtime shader compilation (#25)
Support for reverse-Z depth buffer
SRGB pixel formats

@mellinoe
Would be nice if you will make this roadmap public, with some descriptions (whats benefits it gives, what drawbacks it solves?) to each item.

Swapchain abstraction (already implemented in the swapchain branch)

For example, this one is not clear for me. Whats benefits it gives?

Is OpenGL ES (preferably 2.0) not on the roadmap?

@tzachshabtay That is also on the roadmap. I just need a good device to test it on, mainly.

@mellinoe
By the way, which ones are in priority right one in your roadmap?
Hopefully swapchain abstration & runtime shader compilation wont take long to appear on master :)

Swapchain abstraction is more or less finished, just needs a bit more testing.
Runtime shader compilation won't be done anytime soon, because I don't really know how it will work. There's a lot of open questions, see #25.

There's a lot of open questions, see #25.

Answered. :)

The Swapchain abstraction is now fully implemented and merged into master.

For example, this one is not clear for me. Whats benefits it gives?

Sorry, I didn't see this question before. It gives you a couple of benefits:

You can create a GraphicsDevice without a main swapchain for "headless" stuff. For example, if you just wanted to do compute or some kind of background image processing.
You can create multiple swapchains. This is the part that's most exciting to me, because I want to be able to support things like this: https://twitter.com/ocornut/status/950430111710482433

What about video decode and encode integration. I know DirectX has this and OpenGL has it trough OpenMAX.
As for an GL ES 2.0 how about getting a Raspberry Pi? They're very low cost.

On Linux it’s VDPAU & VAAPI


[Site Request] ICC.tv - International Cricket Council videos and streaming website

Checklist

[x] I'm reporting a new site support request
[x] I've verified that I'm running yt-dlp version 2021.09.02
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that none of provided URLs violate any copyrights
[x] The provided URLs do not contain any DRM to the best of my knowledge
[x] I've searched the bugtracker for similar site support requests including closed ones

Example URLs

Single video: https://app.icc.tv/video/230322/icc-world-test-championship-final-2021--the-preview
Single video: https://app.icc.tv/video/230647/cricket-360-episode-1
Live stream: Static URL not available

Description
A new account can be registered using just an email address. Many livestreams are available only with a non-Indian IP. It had multiple videos and livestream during World Test Championship. Currently the website is streaming qualifiers for Twenty20 World Cup. It is expected to have more and more videos and livestreams going forward.
It would be nice to have a support for both, video and livestreams in yt-dlp. Thank you.

They are not allowing to make account from Indian IP
and blocking VPNs
Who tf they think will watch their matches then? Germans?

They seem to have made strict rules only recently. Creating a new account using an Indian IP or VPN is apparently completely blocked. Existing accounts or accounts created from non-Indian & non-VPN IP seem to work perfectly fine after a bit of workaround.

DRMed content


IE 11 Event Handling inside button tag not fired.

Version
2.6.7
Reproduction link
https://jsbin.com/hezicepana/1/edit?html,output
Steps to reproduce
There are two elements with  v-on:click, the first one is wrapped inside a button tag and the second one is wrapped inside a div tag.
Open it on IE11, clicking both elements to see the results.
What is expected?
Expect both elements trigger the callback and alert the text.
What is actually happening?
The first one does not trigger the callback whereas the second one works fine.

Don't know what causes this.
Not sure whether this happens only to the button tag.

Is there any reason for not listening to the click event on the button itself? According to HTML spec, you shouldn’t put an interactive element inside a button.

@Justineo you're right!
I shouldn’t put an interactive element inside a button.
Still, I want to inform others who might come over this issue on IE.
So I think this issue can be closed?

Yes I'm closing it now. Thanks for reporting your problem.


pythonPackages.arrow: 0.15.4 -> 0.15.5

Motivation for this change
Bump pythonPackages.arrow version.
Requirement for upcoming qiskit-aqua package #78772.
Things done

NOTE: nixpkgs-review wip didn't find any dependent packages, though there obviously are. I was able to find/build most of the dependencies manually. Partial list of dependent packages (think I got everything, but not 100% sure):

topydo
buku
rapid-photo-downloader
pythonPackages.django-q
pythonPackages.jinja2_time
pythonPackages.stravalib
backblaze-b2
pythonPackages.rainbowstream
pythonPackages.construct
pythonPackages.ics
bonfire

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@GrahamcOfBorg build python27Packages.arrow python37Packages.arrow
@GrahamcOfBorg build topydo rapid-photo-downloader buku backblaze-b2 bonfire
python37Packages.django-q python37Packages.jinja2_time python37Packages.stravalib python37Packages.rainbowstream python37Packages.construct python37Packages.ics

@GrahamcOfBorg build python37Packages.django-q python37Packages.jinja2_time python37Packages.stravalib python37Packages.rainbowstream python37Packages.construct python37Packages.ics

bonfire is broken, and topydo fails to build on master due to a single test failure.
@GrahamcOfBorg build rapid-photo-downloader buku backblaze-b2

done as part of #83320


[WIP] - Support Py3.9 + Django3.2, Drop Py3.5

Add support for Django 3.2.X
Add test matrix for Django 3.2.X
Add support for Python 3.9.X
Add test matrix for Python 3.9.X
Drop support for Python 3.5.X
Increment version => 1.8.10

Coverage decreased (-0.6%) to 88.006% when pulling 1b42ea6e4b03c62e11673fdf878ee703563ee384 on PokaInc:feature/add-python39-and-django32 into e34394fb7e12edc04eb2aefb1e72ce3cbc5e345d on rhblind:master.

@rhblind
Thanks for the quick merge.
Do you think it would be possible to create the 1.8.10 release in pypi ?

Beautiful, thanks!
Yes, I'll try to get it done within a few days :)

Any update on the ETA? (preferably also a release with #160 👼 )
Or should I for now add a git install line to my requirements.txt?

Hey,
I'm sorry, I got caught up in work. I'll put it in my calendar and make a release before the weekend!

Hello,
I really appreciate the work you guys do to help me keeping this project somewhat still relevant, and I'm sorry for being slow to merge and respond to your PRs. But anyways, thank you very much ♥
Just pushed the new version to PyPi now!
And, by the way, if anybody wants to help maintaining the library, please shout out!


Force new deploy even with no changes

Triggers rebuild of package info

Follow up to #385 and #355
As there are no code changes the deployment gets skipped on the scheduled runs. This forces it to redeploy anyway.
now [options] <command | path>

  Options:

    -h, --help                     Output usage information
    -v, --version                  Output the version number
    ...
    -f, --force                    Force a new deployment even if nothing has changed

nice, thanks :)


Update data-types.md

typo, by -> be

Thanks for submitting the fix! It looks like our build pipeline still isn't running correctly for you though. The folks over at CircleCI support say that it may have to do with your specific account. Can you try logging into CircleCI with your GitHub account and then pushing an empty commit to this PR branch?

Hi Eric, unfortunately the OAuth process for CircleCI would grant a lot of permissions to my GitHub account that I am not super comfortable granting (full read and write all public and private data for all repos) :/
Feel free to recreate this CR yourself if it facilitates the process

No worries, I understand. The support folks at CircleCI say you have an account in their system that's in a weird state, and that's what's causing the issue. To resolve it, you either have to log in or they can wipe the account on their end. Would you be OK with them wiping your account in their system? I can certainly clone this PR, but you've been so helpful with the bug fixes and I'd love to find a long-term way for you to contribute directly.

Thanks for looking into this. I think I would be ok with wiping the account then, but is there any way you could loop me into the communication with the Circle CI support so I can check with them for any user data I might want to recover? If there's nothing significant it should be fine, but any way to export account user data would be ideal.

When asked about the content of your account, they said:

They may have personal API tokens that will need to be rotated, otherwise, all project build settings and org settings will be re-accessible by this user after they re-access the account.

That said, I've gone ahead and just manually re-run the build while we sort this out.

Thanks for checking. I'm OK with wiping the account then.


FS-2538: Multiple fixes to FreeTextField

Description

Change tinymce selectors to be each unique component, this allows us to use multiple on the same form without affecting one another
Move the import of tinymce to layout.html, this means we'll only import it once, rather than for each time the component is rendered, this was breaking functionality
Add limit context to error messages, so the strings display properly with the number inside of them, also fixed for MultilineTextField

Type of change

[x] Bug fix (non-breaking change which fixes an issue)

Checklist:

[x] I have performed a self-review of my own code

Have pushed 11874bd & cdc10bb which handle scenarios with no words, but unique characters, and matches the front-end and back-end functions for counting words, so we don't have discrepancies with the validation.
cc: @rayhan15243 @adamdavies1

Amazing!


Consider replacing release_1 tag with release_106 tag in remote git repo

Earlier today Jenkins CI lost track of build numbers on the master branch. The next build of the master branch then caused the release_1 tag being added to this commit. The following build of the master branch tried to add the release_2 tag, but failed, because the tag already existed.
Following advice from 2nd line support, I ran a script on Jenkins to update the current build number to 107. I chose 107, because release_105 was the last correctly numbered tag. The next build of the master branch had the correct build number, 107, and successfully added the release_107 tag. So I think everything is now working correctly.
However, it would be nice to replace the release_1 tag with release_106 so that the git history makes sense. However, I'm slightly uncertain about whether doing this is a good idea in case there are things depending on the existing release_1 tag. Thus I've written this up as a GH issue so we can discuss the problem and decide what to do.

After discussion with @chrisroos I added a release_106 tag to xxx and removed the release_1 tag using the following commands:
$ git tag release_106 0ec49f49be8a33c4b174cd69e3de60aa52bf77f7
$ git tag -d release_1
Deleted tag 'release_1' (was f6e61d2)
$ git push --tags
Total 0 (delta 0), reused 0 (delta 0)
To github.com:alphagov/asset-manager.git
 * [new tag]         release_106 -> release_106

Everything looks OK to me, so I'm going to close this.


Calling method member in discord.py module returns error when not supposed to

VSCode Version: 1.46.1
OS Version: macOS Catalina Version 10.15.3 (19D76) (x64)

Steps to Reproduce:

Install python extension and discord.py
Create a .py file of any kind

3 Copy and paste the code below into the python file you just created
import discord
from discord.ext import tasks, commands

class LoopTasks(commands.Cog):
    def __init__(self, bot):
        self.bot = bot
        self.my_random_task.start()

    @tasks.loop(minutes=20.0)
    async def my_random_task():
        print("Doing stuff...")

Save the file
You should get an error at lines 7 & 8 of the code above

According to the documentation here and the actual code of the discord module. The error shouldn't exist as .start() is a valid member of the tasks.loop method.
Documentation: Here
Repository: Here
I had some doubt that it was actually a problem with the editor but for some reason no matter where else I try the issue only comes up in VSC. Let me know if you've found something wrong in my code. (I tested it in multiple instances and the same error popped up)

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

Since this requires the python extension to reproduce, it is likely caused by the python extension.


Incorrect sample code

The article refers to auto-complete and explains how it differs from suggestions, but the sample code given is for suggestion rather than auto-complete. The correct auto-complete C# sample can be found in the referenced sample project under DotNetHowToAutocomplete.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: de445b14-68fc-85d4-6f7a-0447e6068f67
Version Independent ID: 4bff523f-c1a3-63bd-64eb-c0843a7c7a29
Content: Example for adding autocomplete to your search box - Azure Search
Content Source: articles/search/search-autocomplete-tutorial.md
Service: search
GitHub Login: @mrcarter8
Microsoft Alias: mcarter

@keithl8041 Thank you for your feedback . We will investigate and update further.

@keithl8041 We have reassigned your feedback to the author to see if this was done intentionally.

@keithl8041 The DotNetHowToAutocomplete sample illustrates both Suggestions and Autocomplete features.  In HomeController.cs, line 41 is the Suggestions query and line 69 is the Autocomplete query.  The construction is very similar so the author wanted to show them side by side.  We will revise the docs to make our intentions more obvious.  Thanks for the feedback!
#please-close

Hi, sorry if the initial report wasn't clear - the code in the DotNetHowToAutocomplete solution is complete and very useful, I was just pointing out that the function to be featured in the article should be the auto-complete function (line 69) instead of the current suggestion function (line 41).

@keithl8041 good to hear that it's not a code issue.  I'm working on doc revisions.  I'll circle back on this PR when I have something to show you.

@keithl8041 Doc updates are published:  https://docs.microsoft.com/en-us/azure/search/search-autocomplete-tutorial
The supplemental content to the sample code now includes suggestions and autocomplete code blocks for both C# and Java.  I retitled the doc to convey that the example code covers both features.  I'm recommending that we close this issue, but feel free to reopen if you have further feedback.
#please-close


Feature/line chart visibility

Description

How Has This Been Tested?

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] The PR is submitted to the correct branch (dev).
[x] My code follows the code style of this project.
[x] I've added relevant tests.

Would you be able to update the legend to indicate what is currently displayer, maybe gray out or put a line though not displayed values?

Now the Legend has an Indicator for the hidden parts:

lgtm, @henon any comments?

I think the hidden graphs schould be entirely hidden in the legend as well. This would be most consequent. Hidden data is hidden both in graph and legend. But then wouldn't that bring the entire PR ad absurdum, wouldn't it? Because you could just remove the entire ChartSeries and re-render the chart.
Like so:
https://try.mudblazor.com/snippet/mamnbQlYBxtKTnRF

Ah, sorry I see what you want to do, you want to switch between graphs in the legend.

A simple and easy default behavior would also be to set the z-index of the graph that was last clicked in the legend to a value higher than all the other graphs.
But of course legend render fragment and visibility are also good features.

Introduced a variable toggle that enables or disables the ability to show or hide chart lines. When this feature is activated, checkboxes appear next to each line. Users can interact with these checkboxes to selectively display or conceal specific lines on the chart. I also added an example how to use it in the Docs.

What would you say to the idea of replacing the circle with a colored checkbox if the CanHideSeries parameter is true? Wouldn't that look even better?

Added to make this work, custom colors to Checkbox:

I am sorry that I have to raise this objection, but is there no other way to override the color of the check boxes? We want to support custom colors in MudBlazor components but we'll probably implement it very differently.

I've thought through a number of solutions, and I think the current method—using the Color enum together with an extra check for custom colors—is the most efficient. It makes sure that the default colors are the standard colors, but it also gives you the option to utilize custom colors if necessary. I think this approach is a good compromise between functionality and minimalism because it makes modifications easy to make and less invasive. Furthermore, this will be simple to alter if mudblazors components have custom colors. Greating

Oh nice, your solution is much better than what I proposed!

Without your idea, i would have not found this solution. So thank U! And thx for merging!


Changes in navbar and search box

Description:

Search bar in the middle look so odd i want to include search bar in the nav.
Add Hover in nav bar and the cards.

Please allow me to make changes.
@Trisha-tech

Hi , I’d like to contribute to this issue by helping with the changes to the navbar and search box. Could you please assign this task to me? I'm excited to work on improving the search bar and adding hover effects to the navbar and cards. Thanks!


HL-56: Application state base, grants state, stepper state

Description :sparkles:
Issues :bug:
Testing :alembic:
Screenshots :camera_flash:
Additional notes :spiral_notepad:

Codecov Report

Merging #100 (6356799) into main (463d619) will decrease coverage by 40.39%.
The diff coverage is 0.00%.

@@             Coverage Diff             @@
##             main     #100       +/-   ##
===========================================
- Coverage   55.91%   15.51%   -40.40%
===========================================
  Files         172      110       -62
  Lines        2679     1424     -1255
  Branches      200      209        +9
===========================================
- Hits         1498      221     -1277
- Misses       1149     1167       +18
- Partials       32       36        +4

Impacted Files
Coverage Δ

.../components/applications/draftsList/DraftsList.tsx
0.00% <0.00%> (ø)

...orms/application/deMinimisAid/DeMinimisAidForm.tsx
0.00% <0.00%> (ø)

...cations/forms/application/deMinimisAid/extended.ts
0.00% <0.00%> (ø)

...pplication/deMinimisAid/list/DeMinimisAidsList.tsx
0.00% <0.00%> (ø)

...ns/forms/application/deMinimisAid/list/extended.ts
0.00% <0.00%> (ø)

...s/forms/application/step1/ApplicationFormStep1.tsx
0.00% <0.00%> (ø)

...s/applications/forms/application/step1/extended.ts
0.00% <0.00%> (ø)

...rc/components/applications/pageContent/extended.ts
0.00% <0.00%> (ø)

...it/applicant/src/components/applications/styled.ts
0.00% <0.00%> (ø)

...nents/applications/submittedList/SubmittedList.tsx
0.00% <0.00%> (ø)

... and 79 more

Continue to review full report at Codecov.

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

When I tried https://helsinkibenefit-bf-appl-100.test.kuva.hel.ninja/ to create new application and filled the step 1 and moved to step 2 and then back to step.1 it didnt remember the values on step 1 anymore?

yes, this pr is not about step 1. Its a base of the state, next PR will cover the step 1 so that you can actually go from 1 to second step and back and see the actual values.


Document all basic types operations in table form

It would be helpful to have a table with a one-to-one correspondence between the Ruby operation and the equivalent C API call.
For example:
Array

Ruby
C
Description

#[]
rb_ary_entry()
specify things about args etc.

See my comment on #12


Update?

Interesting package but when I went to inspect go.mod for dependencies, there was no go.mod.
Any plans to update this? I looked at Acero but it imports a TON of other packages I don't need nor care to have.

I found 3JoB/vfs which is a girl or this repository but updated last year. It adds support for Walk and Symlink.


Font select added to interface

You can now select a font from the interface. To populate it with more fonts, copy the TTF files into the fonts folder.

VERY THANKFUL for your efforts.


Sources path

Hello
I'm confused about your versioning for Vue 3 :confused:
npm install vue-yandex-maps@next - Next version
npm install vue-yandex-maps@beta - Beta version
If I open the repo I see only one version, which is beta. I wanna work with  the next version. Where can I find sources for it? :thinking:

https://github.com/PNKBizz/vue-yandex-map

vue3-only


Main readme modifications for v0.1.0

Rendered
There are two todos left:

[ ] correct links to crates.io and docs.io for relayer & relayer-cli
[ ] Link to the relayer guide

Description

For contributor use:

[ ] Updated the Unreleased section of CHANGELOG.md with the issue.
[ ] If applicable: Unit tests written, added test to CI.
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Updated relevant documentation (docs/) and code comments.
[ ] Re-reviewed Files changed in the Github PR explorer.

Codecov Report

Merging #598 (5c85cd0) into master (b1b37f5) will increase coverage by 31.4%.
The diff coverage is 65.2%.

@@            Coverage Diff            @@
##           master    #598      +/-   ##
=========================================
+ Coverage    13.6%   45.1%   +31.4%
=========================================
  Files          69     143      +74
  Lines        3752    9408    +5656
  Branches     1374       0    -1374
=========================================
+ Hits          513    4249    +3736
- Misses       2618    5159    +2541
+ Partials      621       0     -621

Impacted Files
Coverage Δ

...application/ics20_fungible_token_transfer/error.rs
0.0% <0.0%> (ø)

...pplication/ics20_fungible_token_transfer/events.rs
0.0% <ø> (ø)

...ion/ics20_fungible_token_transfer/msgs/transfer.rs
0.0% <0.0%> (ø)

modules/src/events.rs
0.0% <0.0%> (ø)

modules/src/ics02_client/error.rs
100.0% <ø> (ø)

modules/src/ics03_connection/error.rs
100.0% <ø> (+66.6%)
:arrow_up:

modules/src/ics03_connection/handler/verify.rs
60.0% <ø> (ø)

modules/src/ics03_connection/msgs.rs
100.0% <ø> (+78.0%)
:arrow_up:

modules/src/ics03_connection/msgs/conn_open_ack.rs
84.4% <ø> (ø)

...les/src/ics03_connection/msgs/conn_open_confirm.rs
80.6% <ø> (ø)

... and 270 more

Continue to review full report at Codecov.

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


Routes using glob.sync not registering

Glob.sync is returning an empty array for me. My tree looks the same as the sample:
-- src
    -- api
        -- users
            -- routes
                -- Users.js
-- config.js
-- server.js

and I have
glob.sync('api/**/routes/*.js', {
      root: __dirname
    }).forEach(file => {
      console.log('file --', file);
      const route = require(path.join(__dirname, file));
      server.route(route);
    });

my never runs.

just to confirm--do you get undefined in your console.log there? or is it just that the routes aren't registering with server.route?

Yes, it was undefined. The solution for me was:
glob.sync('api/**/routes/*.js', {
      cwd: __dirname // root -> cwd
    }).forEach(file => {
      console.log('file --', file);
      const route = require(path.join(__dirname, file));
      server.route(route);
    });

gotcha, thanks for sharing. which version of glob do you have? and which platform are you running node on?

Platform is Ubuntu 16.04, "glob": "^7.1.1"
I have to say though, I love that implementation for importing routes!

Cool, it's possible something broke between glob 7.0 and 7.1 but I'm not sure. Would you want to open a PR with the fix?
And yes, using glob for this is much saner :) Things can get out of hand when we start getting a lot of routes.

I can open a PR for sure. I'll to do it later at home though.

@camerow any updates of that PR? :)


Images of bot

This PR adds the latest images for the Mario Bot .

@MOLOCH-dev Pls Review

I have resolved the alignment issues

Image under"4_simulation_gazebo" is still outdated, kindly update it as well.
Also add the images of rviz simulation in "3_simulation_rviz".

I've updated the images in 4_simulation_gazebo and 3_simulation_rviz with my PR which has been merged


Query is re-fetched when enabled changes from one truthy value to another

Describe the bug
The documentation suggests specifying the enabled option as enabled: user, but that leads to a behaviour not expected: when that user changes from one object to another object, the query will be re-fetched.
To Reproduce
Suppose the following code
const [token, setToken] = React.useState(null);
const { data } = useQuery('profile', () => {
    // The following code should be using the token, yet
    // we don't want our cache to be scoped by it.
    return new Promise((resolve) => {
      console.log(`Refetching profile with token ${token}`);
      setTimeout(() => resolve({ name: 'foo' }), 2000);
    });
  },
  { enabled: token }
);

<...>
<Button title="Set token" onPress={() => setToken(new Date().toString())} />
<Text>{JSON.stringify(data)}</Text>

Start and look at the console. Nothing should be printed there initially.
Press "Set token". You should see "Refetching profile";
Wait for at least 2 seconds;
Press "Set token" again;

Expected behavior
Nothing gets added to the console
Observed behavior
"Refetching profile" is printed again
Screenshots
N/A
Desktop (please complete the following information):

Expo: 37.0.10

Smartphone (please complete the following information):

Device: iPhone 11 Simulator
OS: 13.4.1

Additional context
react-query version 2.4.12

:tada: This issue has been resolved in version 2.4.13 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Make ssh-sync-server horizontally scalable

For the challenges, currently we store state in ChallengeResponseDict. This is thread-safe but single node.
This state is responsible for responding to challenges, but the problem with this approach is that it is not horizontally scalable...
If a user instantiates a challenge, that pops a thread on node A (which is probably fine). But then if we had a challenge response submitted to node B, node B would not be able to resolve the challenge as it isn't sharing the state that node A has.
If we used Redis to have a distributed state this might help. So node B checks redis, finds the state. It would also need to locate the machine that has the thread active, and notify it somehow. Could probably do this with a pub/sub system.
The app would still utilize channels, but would be receiving signals from Redis directly.
This may not be very necessary but would improve the scalability of ssh-sync.

https://redis.uptrace.dev/guide/go-redis-pubsub.html

In order to test this we would need some sort of load balancer to route traffic correctly...infra hell.
K8s, docker swarm
this may be the easiest way?


Fix unreachable case in MultiSelectableSelectionContainerDelegate handleSelectWord

Fixes an issue in handleSelectWord where it can never return SelectionResult.next when the last selectable returns with a result of SelectionResult.next because a preceding check for SelectionResult.next takes precedence. This change moves the case above the preceding one so it can actually be reached.
Pre-launch Checklist

[x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
[x] I read the [Tree Hygiene] wiki page, which explains my responsibilities.
[x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement].
[x] I signed the [CLA].
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is [test-exempt].
[x] All existing and new tests are passing.

@Renzo-Olivares (PR Triage): Do You still have plans for this draft?

@goderbauer Yeah this one is still on my radar.

Handling this in a different PR.


executorfront undeclared

even if you fix this error they are so many more bruh.

Can't build in release, even if we recompile it.


Replace /etc/lsb-release with /etc/os-release

And print errors when the distribution or host are not identified.
See the following for more information on /etc/os-release:

https://stackoverflow.com/questions/47838800/
http://0pointer.de/blog/projects/os-release.html

I tested this quickly in a Ubuntu container (which required installing sudo).

I tested this quickly in a Ubuntu container (which required installing sudo).

If os-release covers lsb-release cases as well then LGTM
CC: @VanDavv

If os-release covers lsb-release cases as well then LGTM
CC: @VanDavv

I'll wait until #109 is merged and rebase on top of @alex-luxonis's changes.

I'll wait until #109 is merged and rebase on top of @alex-luxonis's changes.


Feature request: Note field in webgui

This might be banal, but can we have a note field in GUI for internal notes about a gate? I would like to add my "friendly" name for the site and perhaps some other sysadmin details, just for me to see it next time I login to the webgui. Currently I need to always look up the call/SSID on the map because I am getting confused between all the gates/digis that I manage, to make sure I am working on the correct one. Thanks!

Hi,
on the GUI is says right away the Callsign that you have on the igate...
please explain if this is different from what I just wrote.

One igate is S57PNX-12, one is S57PNX-14, one is S57PNX-13, one is S57PNX-8, one is S57PNX-15 etc. etc. I can reach all of them via network from my home. It's easy for me to get confused which one is which and I always double check the callsign by looking on aprs.fi map.
If you give me a little field for my notes, I can write the name of the location or street address or  maybe the phone number of the site owner or  any other information for my own notekeeping. Not for public display on the map.
Hope this explains it.

I get now the request.... will see how to do this

Works OK for me,  OK to close.


fix a deprecation in initializer API

This fixes a deprecation in initializer API which no longer receives a container. An instanceInitializer should be used to look up objects from the container. See http://emberjs.com/guides/deprecations#toc_deprecate-access-to-instances-in-initializers for more details.

See simplabs/ember-simple-auth#602 et al.
Also fixing that actually requires more work than simply renaming the file.

You're right, I was just committing the rest of the necessary changes which were not included in my first commit. However, I can see that it's being discussed elsewhere, so I'm not gonna bother with another pull request.
Thanks!


misc: fix typos and minor changes

Description

Changes

Screenshots

Linked issue

Codecov Report

Merging #60 (37e1292) into main (b58f201) will decrease coverage by 0.22%.
The diff coverage is 86.20%.

@@            Coverage Diff             @@
##             main      #60      +/-   ##
==========================================
- Coverage   96.11%   95.88%   -0.23%
==========================================
  Files          33       33
  Lines        1287     1289       +2
==========================================
- Hits         1237     1236       -1
- Misses         39       40       +1
- Partials       11       13       +2

Impacted Files
Coverage Δ

check/checkers.go
100.00% <ø> (ø)

check/providers_bytes.go
100.00% <ø> (ø)

check/providers_httpheader.go
87.75% <ø> (ø)

check/providers_map.go
100.00% <ø> (ø)

check/providers_struct.go
100.00% <ø> (ø)

testx.go
100.00% <ø> (ø)

runner_table.go
80.37% <85.18%> (-2.32%)
:arrow_down:

checkconv/assert.go
100.00% <100.00%> (ø)

runner_httphandler.go
90.90% <100.00%> (ø)

Continue to review full report at Codecov.

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


SMSG_ACCOUNT_DATA_TIMES for 3.3.5 should not have u32[-]

https://github.com/gtker/wow_messages/blob/22842fa515be36cc2426d6df8702e611be35c671/wow_message_parser/wowm/world/login_logout/smsg_account_data_times.wowm#L50-L52
The comment states "For every bit that is 1 in the mask, write one u32 with the time", so it should really be u32[mask.count_ones()], I don't think wowm currently supports such array length description, but maybe should be added?

The mask-and-read pattern is also already used for PackedGuid, UpdateMask, and some of the other Wrath only types.
It would probably be best to make this a custom type as well, since it avoids complicating the codegen for downstream implementers.


Home page loading is blocked by slow/invalid servers

Currently the home screen won't show up until all of the servers have been validated, which could be slow, especially if one of the servers doesn't respond at all. It might be a good idea to show the home screen immediately and populate the content as we're able to.
Note that this isn't a trivial change though. We usually make synchronous calls to the servers, which means that even if we call Show right away we won't see all the content until a maddeningly long time. We can perhaps move to doing it all asynchronously though.
We just need to make sure the user experience is actually better. Retrieving screens are frustrating, but an initial load time is understandable. If the page loads and I don't see all my content, and it's not obvious that content is still loading, that could be annoying.

I'll look at this, I think I need to get similar things working for myPlex anyway.


Update to MTK v9

@bradcarman note that the DE2AE is a bit borked on v9. But the text around it wasn't quite correct anyways so I disabled it.


Tests folding discriminant

Here unexpected failing tests. Built on top of https://github.com/o1-labs/proof-systems/pull/2270/files.

Do we still want this @fabrizio-m?


Use vue3-shortkey without console.log

Close: https://github.com/sunner/ChatALL/issues/304
Use the pull request changes below without console.log
https://github.com/rodrigopv/vue3-shortkey/pull/1

Tested good

Aha....Depends on a PR? Is it reliable? I prefer to leave the infos in console.....

No problem. @sunner


Case-insensitive string comparison for allowed Git organizations

Problem description
GitHub and GitLab namespaces (user names, organizations) are case-insensitive. So both github.com/MLeGNer and github.com/mlegner point to the exact same thing. The comparison for allowed organizations in cargo-deny, however, is case-sensitive. This means that the organization needs to be listed with all capitalizations that are used.
For direct dependencies one can control the capitalization, but for indirect ones this is not possible.
Suggested solution
Perform the check for allowed organizations in a case-insensitive way. AFAICT, this means changing the code here.

Should be a fairly easy fix, no? Just convert each namespace to lowercase or uppercase before comparison.


Fix flaky post install step

Backports:

https://github.com/rancher/shepherd/pull/131
https://github.com/rancher/shepherd/pull/132


use pax cmd for archive test output on zos

tar has path length limitation on zos
pax is the more standard archiving tool on zos

Issue: #719
Signed-off-by: lanxia<EMAIL_ADDRESS>

Rebased to resolve the merge conflict.


change all static libs to dynamic ones

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Ah, I expect that this build will fail because the correct rpath is not provided to the linker for all of the libraries (but we can wait and see).

Ok, so I am almost 100% certain that my initial attempt is incorrect. Looking at the way that Debian packages mumps, I see that a few new targets need to get added to the Makefiles.
@basnijholt did you look at the way debian packages mumps when you created this recipe?
It might just be a case of taking the patches that debian applies and doing some minor tweaks,
but I wanted to avoid going down a dead end if you had already tried this


Fix the tree traversal iterators

The original implementation of the iterators only worked for certain tree shapes. This PR fixes them.

This fixes the Tree iterators. The test that is failing is just because a regex needs updated for the WordCounter benchmarks. Merging.


Suggestion: passing a customised ActivityIndicator or SpinnerComponent

I have read your source code and found that there is no way to pass a customised loading spinner to replace the default ActivityIndicator. The default one is ugly and I would like to replace it with my own component. Maybe you can just rewrite renderLoader()  to support this feature. Or I can just send you a PR if you are acceptable.

@gameboyVito Great suggestion, PRs are welcome! :)

resolved here https://github.com/kfiroo/react-native-cached-image/releases/tag/v1.3.5


Time missing in the Order Stages

Only date is visible in the Order Stages even though the heading says "Date & Time"

@sbuenafe-rh I recall you said this should be relative date/time and on hover over it should display UTC.  Is that still the plan?

@gmcculloug yes, the guidance is relative date/time with tooltip with precise date and UTC time. We do display the relative time for when it was ordered, and when the order was updated in the row. I just brought forward the precise date/time for the steps -- in thinking forward that our event log will have the precise timestamps.


Refactor: KCL Lint(Rust ver.)

Enhancement
KCL Lint
1 Background

An indispensable tool for programming languages: code checking tools. Code checking is available for most programming languages, and generally compilers have built-in checking tools.
KCL Lint is designed to help users to coding more compliant with the KCL code specification, detect potential problems in the code, help enforce KCL coding standards, and provide features such as simple refactoring suggestions or automatic fixes.
Use the lint tool to build ci tests for internal and external Konfig repositories  to ensure the quality of the code.

2 Design
2.1 Difference with python ver.
The python version of KCL Lint follows the design of pylint and is a compiler-independent tool. The Lint has indepent command line parsing. In main fuction, Linter calls the parse_program() function to obtain the AST, and then checks the AST, generates Lint messages and output them. Therefore, the python version of KCL Lint needs to deal with many problems by itself, such as parameter parsing, path processing, file traversal, etc. In fact, these work has already been handled once in KCLVM. At the same time, the Lint tool also maintains another error messages and error output system, which is somewhat separated from the main body of KCLVM, and also required cost to maintain. Moreover, for some Warning level information, the user will not be prompted during the compilation process. They need to run the lint command separately to see it.

The KCL Lint rust version is based on the design of Rustc's Resolver and Lint, and executes lint checking during the semantic phase of compilation. Lint shares a common error handling system with the rest of the KCLVM. Lint tool checks AST, generates diagnostics and inserts them into handler.diagnostics, which are handled by the KCLVM. This avoids the need to maintain an additional set of error messages, and also throws the Lint-checked problems at compile time without the need to perform additional lint checks. If a separate lint check is required, the diagnostics are thrown after the lint check and the program exits. This avoids maintaining an additional set of error messages, and also emit the problems detected by Lint at compile time. If only lint checking is required, KCLVM will emit diagnostics after lint checking and exits the main program.

When checking, the python ver. Lint divides different checks into multiple checkers by AST type, such as ImportCheck, BaseChecker etc. Each checker needs to traverse AST at least once. The Rust version is no longer divided into multiple checkers, but collects all lint checks by AST type in a CombinedLintPass structure. When traversing the AST node, Lint calls the check method of CombinedLintPass, which run all lint checks in one traversal.
2.2 Overall
Lint is executed during the semantic analysis phase, and the main structure consists of Lint, LintPass, CombinedLintPass and Linter, which implements the walker methods for traversing AST. When traversing AST node, the corresponding check method in CombinedLintPass is called. Static information and check methods for each lint are defined in Lint and LintPass respectively. CombinedLintPass aggregates the checks in these LintPasses according to the type of AST node.

2.3 Specific design
2.3.1 Lint
Lint is a struct type that defines a lint. It is a global identifier and a description of the lint, which contains some stastic information about the lint (name, level, error message, error code, examples, etc.).
pub struct Lint {
    /// A string identifier for the lint.
    pub name: &'static str,

    /// Level for the lint.
    pub level: Level,

    /// Description of the lint or the issue it detects.
    /// e.g., "imports that are never used"
    pub desc: &'static str,

    // Error/Warning code
    pub code: DiagnosticId,
}

2.3.2 LintPass
The LintPass is an implementation of the specific check logic for Lint, containing the check methods that need to be called when traversing the AST tree. LintPass is defined as a trait, which needs to be implemented for each definition of lintpass. Not every Lint needs to check all ASTs, but only the check methods required by the Lint need to be overridden. So when defining trait LintPass, we give all methods a default implementation, i.e. a null check, and when defining LintPass, just override the partial check function.
Every LintPass needs to implement the get_lint() method to generate the corresponding Lint structure.
pub trait LintPass{
    fn name(&self);
    fn get_lint();
    fn check_ident(&mut self, a: ast::Ident, diags: &mut IndexSet<diagnostics>){}
    fn check_module(&mut self, a: ast::Module, diags: &mut IndexSet<diagnostics>){}
    fn check_stmt(&mut self, a: ast::Stmt, diags: &mut IndexSet<diagnostics>){}
    ...
}

pub struct LintPassA{
    name: str
}

pub struct LintPassB{
    name: str
}

impl LintPass for LintPassA{
    fn name(){..}
    fn get_lint(){...}
    fn check_ident(&mut self, a: ast::Ident, diags: &mut IndexSet<diagnostics>){
        ...
    }
}

impl LintPass for LintPassB{
    fn name(){..}
    fn get_lint(){...}
    fn check_stmt(&mut self, a: ast::Stmt, diags: &mut IndexSet<diagnostics>){
        ...
    }
}

2.3.3 CombinedLintPass
Each LintPass defined separate check function for AST node. Traversing the AST once for each Lint individually would cause a relatively large performance overhead. Therefore, the CombinedLintPass structure is defined to aggregate the check methods of all defined LintPasses. By calling the check method of CombinedLintPass when traversing the AST, all Lint checks can be done in one traversal.
pub struct CombinedLintPass {
    LintPassA: LintPassA;
    LintPassB: LintPassB;
    ...
}

impl CombinedLintPass{
    pub fn new() -> CombinedLintPass {
        CombinedLintPass {
            LintPassA: LintPassA::new(),
            LintPassB: LintPassB::new(),
            ...
        }
    }

}

impl LintPass for CombinedLintPass {
    fn check_ident(&mut self, a: Ident, diags:&mut IndexSet<diagnostics>){
        self.LintPassA.check_ident(a, diags);
        self.LintPassB.check_ident(a, diags);
        ...
    }
    fn check_stmt(&mut self, a: &ast::Stmt, diags: &mut IndexSet<diagnostics>){
        self.LintPassA.check_stmt(a, diags);
        self.LintPassB.check_stmt(a, diags);
        ...
    }
}

2.3.4 Linter
Linter is a structure that traverses the AST and required to implement mothods of Walker. Linter calls the check method of CombinedLintPass when traversing the AST.
pub struct Linter<T: LintPass> {
    pass: T,
    diags: diagnostics
}

impl Checker{
    fn new() -> Checker{
        Checker{
            pass: CombinedLintPass::new()
            diags: Default::default()
        }
    }
}

impl ast_walker::Walker for Linter{
    fn walk_ident(&self, a: ast::Ident, diags: &mut IndexSet<diagnostics>){
        pass.check_ident(a, diags);
        walk_subAST();
    }
    fn walk_stmt(&self, a: ast::Ident, diags: &mut IndexSet<diagnostics>){
        pass.check_stmt(a, diags);
        walk_subAST();
    }
}

2.3.5 lint message
Lint errors are consistent with KCLVM error and are stored as diagnostics types, which are handled by the error handling module.
2.3.6 cli agrs
2.3.7 lint config
There are some lint checks that support custom parameters, such as naming convention, code length, etc., and the lint tool itself requires some configuration, such as allowing the user to ignore some checks. Lint configuration is set according to the following priorities.

the config file specified by the cli parameter
the .kcllint file in the directory of the file or folder being checked.
default config

The configuration file is written in yaml format, e.g.
ignore: ["E0501"]
max_line_length: 120

2.3.8 others
macro
The definitions of Lint, LintPass and CombinedLintPass have a lot of repetitive code that can be generated using macro definitions. For example, declare_lint! and declare_lint_pass! are used in rustc to define Lint (WHILE_TRUE) and LintPass (WHILE_TRUE).
declare_lint! {
    /// The `while_true` lint detects `while true { }`.
    ///
    /// ### Example
    ///
    /// ```rust,no_run
    /// while true {
    ///
    /// }
    /// ```
    ///
    /// {{produces}}
    ///
    /// ### Explanation
    ///
    /// `while true` should be replaced with `loop`. A `loop` expression is
    /// the preferred way to write an infinite loop because it more directly
    /// expresses the intent of the loop.
    WHILE_TRUE,
    Warn,
    "suggest using `loop { }` instead of `while true { }`"
}

declare_lint_pass!(WhileTrue => [WHILE_TRUE]);

impl EarlyLintPass for WhileTrue{
  ...
}

And the definition of BuiltinCombinedEarlyLintPass
early_lint_passes!(declare_combined_early_pass, [BuiltinCombinedEarlyLintPass]);

// Expand all macros
pub struct BuiltinCombinedEarlyLintPass {
    UnusedParens: UnusedParens;
    UnusedBraces: UnusedBraces;
    ...
}

impl BuiltinCombinedEarlyLintPass{
    pub fn new() -> Self {
        UnusedParens: UnusedParens,
        UnusedBraces: UnusedBraces
        ...
    }

    pub fn get_lints() -> LintArray {
        let mut lints = Vec::new();
        lints.extend_from_slice(&UnusedParens::get_lints());
        lints.extend_from_slice(&$UnusedBraces::get_lints());
        ...
        lints
    }
}

impl EarlyLintPass for BuiltinCombinedEarlyLintPass {
    fn check_ident(&mut self, context: &EarlyContext<'_>, a: Ident){
        self.UnusedParens.check_ident (context, a: Ident);
        self.UnusedBraces.check_ident (context, a: Ident);
        ...
    }
    fn check_crats(&mut self, context: &EarlyContext<'_>, a: &ast::Crate){
        self.UnusedParens.check_crats (context, a: Crate);
        self.UnusedBraces.check_crats (context, a: Crate);
        ...
    }
}

Ref

RustcDevGuide: https://rustc-dev-guide.rust-lang.org/
Rustc: https://github.com/rust-lang/rust.git
Konfig: https://github.com/KusionStack/konfig
Pylint: https://github.com/PyCQA/pylint

#160


Git - use git mv when a file is being renamed in the explorer

Investigate the possibility of installing a handler that would participate in the file move operation and invoke git mv.

possible code here
https://github.com/adam8810/vscode-git-rename
https://marketplace.visualstudio.com/items?itemName=ambooth.git-rename

[https://marketplace.visualstudio.com/items?itemName=erickriva.git-watch-vscode-rename](This extension) is intended to solve a very-specific case, where changing only file/folder name case is not registered in Git as a different file/folder.

+1 for this: Considering that GitHub and VS Code are owned by the same company, my assumption was that everything is designed to work with Git. I suppose I am not alone with this assumption.

Seems to me that the thing here is that this unfortunately wouldn't solve a problem.
I ended up here because I (wrongly) assumed that it should.
But I just did extensive experimenting and unless I missed something, it doesn't matter whether you renamed a file through the OS or by using git mv. git will make the decision whether it recognizes a file as having gotten renamed purely based on file content when staging changes.
(In addition to basic experiments with a single commit, I also tried splitting up renaming and changing content into different commits. But once reviewing it on GitHub, it has no more knowledge about the file having gotten renamed, just like git diff.)


Create Local Storage

LOCAL STORAGE to consist of

[ ] User Name
[ ] Search Choices/Results
[ ] Colour Scheme


Password does not need to be decoded and use DecodeChain instead of Decode

The Password string needs to be passed as-is to the DecodeChain method of pkcs12
https://github.com/dana-team/certificate-operator/blob/05dc847496df5e6af78e4d14f24ae74698beb893/internal/cert-handler/decoder.go#L34-L42

/assign @arielsepton


Federated Authentication Google Configurations Allows to save the IDP without mandatory fields

Environment
Standalone 5.4.0 GA pack
DB - H2
Browser - Chrome Version 61.0.3163.100 (Official Build) (64-bit)
JDK - jdk1.8.0_121
Steps to recreate the issue

Run Standalone IS 5.4.0 GA pack
Register Google as a IDP using Google configuration without giving a value to mandatory fields Client secret and Client ID
Allows to save the IDP

Observation
Even though API secret is a mandatory field allows to save the IDP. No error message is displayed.

Thank you for your contribution!
We are closing this issue since it has not been prioritized for a long time. Chances are that it has already been solved in more recent versions. If not, we will be re-evaluating this when it becomes a priority.


[Dependencies] Does it need to have ~465 dependencies?

Very cool project but as the title say I ask if it is a good practice to have such a long list of dependencies.
Having a large number of dependencies in a Node.js project can have several potential drawbacks:

Increased complexity: Each dependency may have its own set of dependencies, leading to a complex web of dependencies that can be difficult to manage and debug. This can make it challenging to understand how different parts of the codebase interact with each other.

Slower performance: Each dependency must be loaded and initialized at runtime, which can slow down the performance of the application. This can be particularly problematic on low-power devices or in applications that require high levels of performance.

Increased security risks: Every dependency represents a potential security risk, as each one introduces new code that may contain vulnerabilities. This can be especially concerning if the dependencies are not well-maintained or are outdated.

Compatibility issues: Dependencies may not always be compatible with each other or with the version of Node.js being used. This can result in difficult-to-diagnose issues that can be time-consuming to resolve.

Maintenance burden: Each dependency must be updated and maintained over time to ensure that the project remains secure and functional. This can be a significant burden, especially if the dependencies are poorly documented or have complex APIs.

While having a large number of dependencies is not necessarily a bad thing in and of itself, it's important to carefully evaluate each one to ensure that it is necessary and that its benefits outweigh its potential drawbacks.
also, I think you forgot the yarn next telemetry disable step in the README -> Installation.

Hey @ManuLinares. Good shout about next telemetry, what dependencies do you think could be removed?

Closing for now ^_^


GitHub marketplace requires naming changes

@donovanmuller, sure, where we should mention that ?
Here are some arguments:

The fundamental problem for the rest of k3d actions is (except some of them are not working at all), you can't pass freely any argument from k3d command tree or any k3s argument.  For instance  this one hard-codes port on hard-coded load-balancer. For the real scenarios, we need highly customizable action.

Only our action provides embedded docker registry (kind actions don't provide).

Only our action creates clusters out of default docker bridge network  (kind actions don't provide), it does not limit us in multi-cluster scenarios.

k3d-action beats kind actions compared to memory requirements and performance. Therefore, it is suitable for multi-node, multi-cluster scenarios.

All scenarios are documented and tested by action

@kuritka based on:

The fundamental problem for the rest of k3d actions is (except some of them are not working at all (setup nolar/k3d/k3s - the most of the code is some parsing version with jq, which actually fails)), you can't pass freely any argument from k3d command tree or any k3s argument. For instance this one (rinx/setup-k3d) hard-codes port on hard-coded load-balancer. For the real scenarios, we need highly customizable action.

That is your differentiator. More customisable. If you could work a minimal version of the above into the description and then README that should be fine.

@donovanmuller What about this?
Fundamental advantage of this GitHub action is a full customization of embedded k3s clusters. In addition, it provides a private image registry and multi-cluster support.

💯


Fix documentation for updating sources.

Thanks for awesome automation tool!
I've found that there is no --update-vcs option for battle command, furthermore -u option reserved for ansible -u REMOTE_USER
I would appreciated if you fix documentation about this issue.

Merged with a few changes via 3311fd3ff0614758fabb7d714a0c290b32bcee91

Thanks! Nice to see support for Ansible 2.

I did this with ansible 1.9.4, so I wouldn't say it supports ansible 2.


volatile type not handled as expected

Somewhere inside the constructor there appears to be missing handling of a type declared as volatile
https://godbolt.org/z/d399qnY64
std::expected from GCC use for comparison
This is a very odd use of volatile (it came up when a colleague used it to defeat the optimiser while debugging) so I really can't be surprised it's a bit iffy

it's interesting :)

The same has already been taken care of in nonstd::optional, likely via its issue 69.
See the expanded Compiler Explorer snippet.
I'll update nonst::expected likewise.