Update script.js

Included more robust error handling in the fetch request.

hello @AKSHITHA-CHILUKA !
Did you opened any issue or were you assigned any issue for this contribution?
If yes, then please mention the Issue No.
If no, then I request you to please open an issue first.

LGTM!


Cannot add two WebSocketServerProtocolHandler at different URIs

Pardon my knowledge of netty
I'm trying to setup Netty (4.1.39final) to implement a web server which serves two separate WebSocket services differentiated by the URI pattern:
/wsA : service 1 ,
/wsB : service 2
initChannel method in my ChannelInitializer looks like:
pipeline.addLast(new HttpServerCodec());
pipeline.addLast(new HttpObjectAggregator(65536));
pipeline.addLast(new WebSocketServerProtocolHandler("/wsA"));
pipeline.addLast(new WebSocketFrameHandlerA());
pipeline.addLast(new WebSocketServerProtocolHandler("/wsB"));
pipeline.addLast(new WebSocketFrameHandlerB());

when I try to open a connection the the second WebSocket service the client hangs forever and the connection never gets established.
Is this expected behavior?
What am I doing wrong here
I have been through netty examples but could not find answers

As far as I can tell this will not work... What you could do is dynamically add the handler to the pipeline depending on the URI.


Make PostgresUserPasswordProfileMapping schema profile argument schem…

Description
Made PostgresUserPasswordProfileMapping schema profile argument optional
Related Issue(s)
#675

HI @FouziaTariq we're very close to merging this change. Please let us know if you'd like support on the tests.

Hi @tatiana , I tried to fix them but that logic didn't work so I am not sure what's wrong with those integration tests & how to fix them.

@Fouzia-Tariq I fixed some minor issues with the tests - and I'm merging now. Thanks a lot for the patience and work on this - and apologies for the delay.


The filename attribute for GenericFile Objects must now be a singular value

This was previously an array, and must be modified within the RSpec suites.

Like #18, this too appears to have been successfully resolved by #29.


Space added in $foo

Often $foo is used for parameters in SQL; e.g. sqllite.
That works in sqlformat-rs for numbers like $1.
But for word characters, a space gets inserted:
SELECT
  *
FROM
  problem
WHERE
  file_hash = $ hash

Thanks, when researching the implementation I look at what is supported across different platforms and saw that Postgres, which also uses $ params, only accepts number args. Since sqlite accepts named args I'll add support for those.


I want to generate my Telegram Bot API library's code, but don't want to parse documentation web page.

I am developing a library for the Telegram Bot API, and I decided to generate some of its code. To do that I need a description of all the structures and methods of the API, however, the only thing I see available is the HTML page https://core.telegram.org/bots/api .
Is the https://core.telegram.org/bots/api page generated from something, or is it written by hand? If it is generated, I would really like to see the source material, and use it to generate code in my library.
If there is something that can help generate code for the Telegram Bot API libraries, maybe you should publish it in this repository?
Thank you.

If there is something that can help generate code for the Telegram Bot API libraries, maybe you should publish it in this repository?

Another option I could suggest is to create an endpoint like https://core.telegram.org/bots/api.json (or not .json, but another suitable format) which could be accessed from a program that will generate code (the web server will not block it from accessing this url specifically).

Currently, there is no official TL for Telegram Bot API which can help you to generate Bot API methods.
Something similar of what you need: https://github.com/PaulSonOfLars/telegram-bot-api-spec (not affiliated with Bot API).


How to prevent stuck on low configuration computer

My computer's graphics card configuration is very low (it can be considered that there is no graphics card). I use 2D data and observe special stuck in 2D mode. Are there any settings that can make cesium load more smoothly?
I have another question  that whether the rendering mechanism of 2D mode and 3D mode is the same. In other words, is 2D mode more fluent than 3D mode in the same situation?

Please ask your question in the Cesium community forum (https://community.cesium.com/) and include a bit more information on your application/OS/browser etc and what kind of data you're loading so that others in the community can provide some ideas on optimizing your app.


Issue3054: NULL pointer crash when calling constructor with Proxy new_target

Calls to NewScObjectNoCtorFull() with 'instance' being proxy expect
new object to be returned, whereas interpreter or JIT calls to
NewScObjectNoCtor() with 'instance' being proxy expect nullptr.
Checking for proxy in NewScObjectHostDispathOrProxy() causes problem
for the former case. Fix by making the proxy-checking only applicable
to NewScObjectNoCtor().

@Microsoft/chakra-es @Microsoft/chakra-developers review pls?

Addressing https://github.com/Microsoft/ChakraCore/issues/3054

Thanks for code review comments.


KittiDataset

ImportError: cannot import name 'KittiDataset' from 'pcdet.datasets.kitti.kitti_dataset' (/home/karker/PROJ/SFD/pcdet/datasets/kitti/kitti_dataset.py)
What can in do for this question?Help

ImportError: cannot import name 'VoxelBackBone4x' from 'pcdet.models.backbones_3d.spconv_backbone'I have another question！！！

hello, how you defeat problem with kitti dataset?
Traceback (most recent call last):
File "train.py", line 200, in
main()
File "train.py", line 106, in main
train_set, train_loader, train_sampler = build_dataloader(
File "/home/m/Desktop/TED/pcdet/datasets/init.py", line 52, in build_dataloader
dataset = all[dataset_cfg.DATASET](
KeyError: 'KittiDatasetSFD


Verify that "Micești" is listed in the dropdown menu when searched

Description:
"Micești" should appear in the dropdown menu with correct spelling and locality information.
Preconditions:
The website is up and running.

Step 1
Type "Micești" in the search bar.
Expected results:
The dropdown is listing "Micești" as the first location in the dropdown menu.

Step 2
Observe the dropdown menu.
Expected results:
"Micești" is displayed and selectable from the dropdown menu.


Get duration of music file, without handler.

I have a problem with duration when I play the local file - I never receive it.
Does it possible to get the music file duration without handler?

Closing this due inactivity, please open a new issue if you still have problems.


Docker support & pass env when building

Does this mean we will write a Dockerfile, to build and run project in docker?

Yep!

Because of different os environments, some users cannot build successfully.

Since the dashboard will not have a lot of traffic, I think I can use nodejs as the underlying image for program building. Through it, we can realize the function of one key to run a dashboard.
At the same time, we should add the function of specifying API address of API gateway management through environment variable and dashboard settings.

Ok, I will assign it to you :)

I write a Dockerfile for test, I found that if the node_modules were packed into the image during the build process, the image file would be too large, about 1.3GB.
I think there are two ways to solve this problem

Write a bash script to transfer the npm install process to the docker run process

In the process of building the image, npm install is performed, and then the dashboard is compiled and packaged to generate the files for deployment, and the nginx driver is used to access them and delete the node_modules after packaging

I hope to get some suggestions. THX

@bzp2010 Wow, good job! We could only contain those bundled files under dist folder in the image :)

Just write a bash script to only keep files under dist folder?

Install apisix;
Git clone apisix-dashboard repo;
Build docker image, dashboard files will be bundled in this step;
Clean unused files and move bundled files under apisix/dashboard folder;

Please note, we use docker just to reduce the compiling error under our Docker env.

Is this just to compile the program using a unified environment?
I think it is more suitable for docker to deploy dashboard through docker image to provide access.

It's ok to deploy the dashboard inside the docker container, then we should add some configurations in nginx.conf, @membphis @moonming what's your opinion?

Yes.
First, compile the dashboard during image construction, generate dist files, and then put these files into nginx image to expose the port.

This may take advantage of CI facilities to build and upload images to the docker hub after each commit merge.

sure, we can add dashboard in docker image after 1.2 released.
bzp2010<EMAIL_ADDRESS>于 2020年4月16日周四 下午7:46写道：

Yes.
First, compile the dashboard during image construction, generate dist
files, and then put these files into nginx image to expose the port.
This may take advantage of CI facilities to build and upload images to the
docker hub after each commit merge.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/apache/incubator-apisix-dashboard/issues/155#issuecomment-614602646,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AGJZBK3SWAZJGIY6GTMO32LRM3V2ZANCNFSM4LGYRZWA
.

ok, @bzp2010 Please go ahead for next branch.


Zero-width Character

Hi,
How can we type a zero-width character (also known as "nim fasele", which is available as SHIFT+SPACE in the standard Persian layout or CTRL+SHIFT+2 in Windows)?
Thank you.

this repo is outdated, and also seems to be unmaintained.
since about a year ago, the layout was added to xkb itself, so you don't need to install it from this github repo.
you should replace your copies of /usr/share/X11/xkb/symbols/ir and /usr/share/X11/xkb/rules/evdev.xml with ones from a clean install, and then make sure you have the latest version of xkeyboard-config installed.
and yes, the layout that comes with xkb does have the ZWNJ on control+shift+2.


replace unmaintained actions-rs/toolchain action in CI

Basically all of the actions-rs/* actions are unmaintained. See https://github.com/actions-rs/toolchain/issues/216 for more information. Due to their age they generate several warnings in CI runs, for example in https://github.com/BLAKE3-team/BLAKE3/actions/runs/7144895807:

The following action uses node12 which is deprecated and will be forced to run on node16: actions-rs/toolchain@v1. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/

To get rid of those warnings the occurrences of actions-rs/toolchain are replaced by dtolnay/rust-toolchain.

Awesome, this is my first time seeing that project. I'll merge anything with dtolnay in the name :) Thanks!


Cannot figure out how to configure whitelist

I realize this is likely an issue w/ cloudfront and how to write the config file... but I'm trying to use the s3-pypi-with-waf.json template and its throwing this error:
An error occurred (ValidationError) when calling the CreateStack operation: Parameters: [WhitelistedCIDRBlock] must have value
Any attempts at modifying it have not been successful.

You have to supply the WhitelistedCIDRBlock parameter in addition to the other two (DomainName and  AcmCertificateArn) when you use that cloudformation template.

Closing this because the CloudFormation templates have been replaced by a Terraform configuration.


Multiple optional parameters - are they supposed to work?

What version of Hono are you using?
3.12.0
What runtime/platform is your app running on?
Cloudflare Workers
What steps can reproduce the bug?
Create a minimal Hono app (this is running on Cloudflare Workers)
import { Hono } from "hono";

const app = new Hono();

app.get("/base/:firstoptional?/:secondoptional?", c => c.json(c.req.param()));
// /base ->                     404 (why?)
// /base/hello ->               { "firstoptional?": "hello" }
// /base/hello/world ->         { "secondoptional": "world", "firstoptional?": "hello" }

export default app;

What is the expected behavior?

I would expect /base to match
I would expect it to not return ? in the param key names

What do you see instead?
I see what I have commented in the code. The ? is added to the param key name.
Additional information
My real life use-case is:
app.get("/v1/leaderboard/:version?/:platform?", handler);

This acts in the same as the above examples.
I would like to be able to match /v1/leaderboard and then handle if the params are undefined.
If this is intended (I can understand the reasons for being intentional), then this might be seen as a feature request.

I have updated to 3.12.2, and now I have a different error.
Using the same sample application as above, I get HTTP 500 errors on every request where there is a route with multiple optional params:
[wrangler:err] TypeError: undefined is not iterable (cannot read property Symbol(Symbol.iterator))
    at null.<anonymous> (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/router/reg-exp-router/router.js:55:30)
    at [object Object]
    at buildMatcherFromPreprocessedRoutes (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/router/reg-exp-router/router.js:51:31)
    at RegExpRouter.buildMatcher (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/router/reg-exp-router/router.js:204:14)
    at null.<anonymous> (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/router/reg-exp-router/router.js:182:31)
    at [object Object]
    at RegExpRouter.buildAllMatchers (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/router/reg-exp-router/router.js:181:17)
    at RegExpRouter.match (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/router/reg-exp-router/router.js:163:27)
    at SmartRouter.match (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/router/smart-router/router.js:30:22)
    at Hono2.matchRoute (file:///C:/Users/leonl/Desktop/Projects/the-finals-api/node_modules/hono/dist/hono-base.js:206:24)
[wrangler:inf] GET / 500 Internal Server Error (26ms)

@yusukebe ping for visibility

@leonlarsson
Thanks for your response.
@usualoma
Sorry for pinging you again and again.
I've not tested enough, but the changes in #1940 seem to cause unexpected behavior with RegExpRouter and LinearRouter.
I added tests in the following branch, and you can run them. If you would like, I would appreciate it if you could make a PR from this branch and fix it.
https://github.com/honojs/hono/tree/test/add-optional-params-tests

@yusukebe
This will fix it, so it would be helpful if you could fix it and have it done!
diff --git a/src/router/linear-router/router.ts b/src/router/linear-router/router.ts
index dd1afe75..7d91554f 100644
--- a/src/router/linear-router/router.ts
+++ b/src/router/linear-router/router.ts
@@ -1,5 +1,6 @@
 import type { Router, Result, Params } from '../../router'
 import { METHOD_NAME_ALL, UnsupportedPathError } from '../../router'
+import { checkOptionalParameter } from '../../utils/url'

 type RegExpMatchArrayWithIndices = RegExpMatchArray & { indices: [number, number][] }

@@ -12,13 +13,9 @@ export class LinearRouter<T> implements Router<T> {
   routes: [string, string, T][] = []

   add(method: string, path: string, handler: T) {
-    if (path.charCodeAt(path.length - 1) === 63) {
-      // /path/to/:label? means /path/to/:label or /path/to
-      this.routes.push([method, path.slice(0, -1), handler])
-      this.routes.push([method, path.replace(/\/[^/]+$/, ''), handler])
-    } else {
-      this.routes.push([method, path, handler])
-    }
+    ;(checkOptionalParameter(path) || [path]).forEach((p) => {
+      this.routes.push([method, p, handler])
+    })
   }

   match(method: string, path: string): Result<T> {
diff --git a/src/router/reg-exp-router/router.ts b/src/router/reg-exp-router/router.ts
index 82a8d0ea..a6d6009f 100644
--- a/src/router/reg-exp-router/router.ts
+++ b/src/router/reg-exp-router/router.ts
@@ -198,10 +198,7 @@ export class RegExpRouter<T> implements Router<T> {
               findMiddleware(middleware[METHOD_NAME_ALL], path) ||
               []),
           ]
-          routes[m][path].push([
-            handler,
-            paths.length === 2 && i === 0 ? paramCount - 1 : paramCount,
-          ])
+          routes[m][path].push([handler, paths.length > 1 ? i : paramCount])
         }
       })
     }

@usualoma
Thanks! I've created the PR with your patch. But, one test fails. Could you see it?
https://github.com/honojs/hono/pull/1951

@yusukebe Sorry!
diff --git a/src/router/reg-exp-router/router.ts b/src/router/reg-exp-router/router.ts
index a6d6009f..69dc8eec 100644
--- a/src/router/reg-exp-router/router.ts
+++ b/src/router/reg-exp-router/router.ts
@@ -198,7 +198,7 @@ export class RegExpRouter<T> implements Router<T> {
               findMiddleware(middleware[METHOD_NAME_ALL], path) ||
               []),
           ]
-          routes[m][path].push([handler, paths.length > 1 ? i : paramCount])
+          routes[m][path].push([handler, len > 1 ? paramCount - len + i + 1 : paramCount])
         }
       })
     }

Or maybe even simpler.
diff --git a/src/router/reg-exp-router/router.ts b/src/router/reg-exp-router/router.ts
index a6d6009f..51ab473e 100644
--- a/src/router/reg-exp-router/router.ts
+++ b/src/router/reg-exp-router/router.ts
@@ -198,7 +198,7 @@ export class RegExpRouter<T> implements Router<T> {
               findMiddleware(middleware[METHOD_NAME_ALL], path) ||
               []),
           ]
-          routes[m][path].push([handler, paths.length > 1 ? i : paramCount])
+          routes[m][path].push([handler, paramCount - len + i + 1])
         }
       })
     }

@usualoma
Thank you for the quick response. Merged https://github.com/honojs/hono/pull/1951

Thanks for your work. I can confirm this works properly now :)


mpos update block info,the finder was wrong,not real finder

those day
mpos pool add new blocks to database
the finder not the  real miner
i checked mysql, the share_id is not real from shares  table
how to fix it?

Not sure what you mean but it could mean that you had a chain fork. In that case blocks will be duplicates and MPOS will have issues assigning valid shares to them.
Also if you are solo mining into the wallet a block found will have no share for it and MPOS fails.
If this is a valid block and you have valid shares for it you could simply mark it as laid (accounted column) and then pay miners a bonus to even out the lost income from that block.

http://www.idcray.com/pool/shares.jpg
http://www.idcray.com/pool/block.jpg
like this
we found two blocks
the share_id is 14778 and 14755 in Block table
but in the Shares table  ID is 14781 and 14791
they are different
so the block finder was changed

@TheSerapher


Export component and bus sequences

With this PR, the postprocessing does not only export timeseries for each bus, but also timeseries for each component type.

It works for me if I change line 1033 in the postprocessing file from df_renewable_sum = df_renewable.groupby(['region'], axis=1).sum() to df_renewable_sum = df_renewable.groupby(level = ['region'], axis=1).sum().

Have you checked if this leads to the correct results? If you call groupby in the original way, the keyword would be by, not level.

I am not sure where the difference would occur. But the resulting scalars for RE production remain the same. An when looking into df_renewable and df_renewable_sum during execution, the code also does what it should (adding up the RE production by country). Replacing "level" by "by" in the code results (unsurprisingly) in the same key error as occurred initially.

The above-mentioned error disappeared when I used pandas 1.1.0 (prior to that I used either version 0.24 or 0.25).


Coroutine.await crashes for iOS

Calling the below code crashes with
Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file SwiftCoroutine/SharedCoroutine.swift, line 112.
The crashing version:
let scheduler = DispatchQueue.main
let repo = SomeRepository()

class SomeRepository {
    func getSomethingAsync() throws -> [String] {
        return try Coroutine.await { (continuation) in
            try! Coroutine.delay(.seconds(2))
            continuation(["foo", "bar", "baz",])
        }

    }
}

func foo() {
    scheduler.startCoroutine {
        do {
            let something = try repo.getSomethingAsync()
            print(something)
        } catch {
            #warning("TODO: handle error")
        }
    }
}

However, this is fine:
class SomeRepository {
    func getSomethingAsync() throws -> [String] {
        // getSomethingAsync is guaranteed to be called inside a coroutine
        try! Coroutine.delay(.seconds(2))
        return ["foo", "bar", "baz",]
    }
}

Not sure if this is expected behavior.
If it is, I think it might be a good idea to mention dos and don'ts in the documentation.

Hi @funct7, thank you for a very interesting case. The issue is because of nested Coroutine.await inside getSomethingAsync (inside Coroutine.delay there is other Coroutine.await). Coroutine.await is a very basic block that doesn't support nested behaviour. Your second getSomethingAsync is correct. Yes, you are right I should document it or add such functionality. However, you can use nested CoroutineScheduler.await like this:
func getSomethingAsync() throws -> [String] {
   // Some `CoroutineScheduler.await`, for example` your `scheduler` or `DispatchQueue.global()`
   try scheduler.await {
      try Coroutine.delay(.seconds(2))
      return ["foo", "bar", "baz"]
   }
}

or with other coroutine like this (so we can use Coroutine.delay inside coroutine):
func getSomethingAsync() throws -> [String] {
   try Coroutine.await { continuation in
      scheduler.startCoroutine {
         try Coroutine.delay(.seconds(2))
         continuation(["foo", "bar", "baz"])
      }
   }
}

anyway inside Coroutine.await should be something async:
func getSomethingAsync() throws -> [String] {
   try Coroutine.await { continuation in
      // Something async
      DispatchQueue.global().async {
         continuation(["foo", "bar", "baz"])
      }
   }
}

Thanks again.

@funct7  Also, I would recommend you to use CoFuture for getSomethingAsync(), it will make your code more readable and easier to use:
/// Thanks to CoFuture you will know that it can be awaited
func getSomethingAsync() -> CoFuture<[String]> {
   CoFuture { continuation in
      try? Coroutine.delay(.seconds(2))
      continuation(.success(["foo", "bar", "baz"]))
   }
}

func foo() {
   scheduler.startCoroutine {
      do {
         let something = try repo.getSomethingAsync().await() // Await `CoFuture` result
         print(something)
      } catch {
         #warning("TODO: handle error")
      }
   }
}

Also, you can use CoFuture inside foo() for error handling:
func foo() {
   // Create CoFuture<Void> for which we can handle errors.
   scheduler.coroutineFuture {
      let something = try repo.getSomethingAsync().await() // Await `CoFuture` result
      print(something)
   }.whenFailure { error in
      #warning("TODO: handle error")
   }
}

There are a lot of ways how you can use it.

Thanks for the comment.
I was actually wondering what the best practice may be.
Returning a CoFuture seemed a little like returning Defer in Kotlin, while returning a result seemed like a suspend fun, at least at the Swift-language level.
As long as all the results were to be awaited immediately after calling the function, I thought I might go with the suspend fun-looking version with some documentation. 😉
I agree that the caller await()ing makes it more explicit that the coroutine will be suspended.


Allow specification of inverse mass matrix (Feature Request)

Summary:
command stan interface should allow specification of initial mass matrix.
Description:
see https://github.com/stan-dev/rstan/issues/433  for details

closing - many thanks to @bbbales2 for this fix!


Fixed  #3508 by removing the fixed height of toolbar

Fixed  #3508 by removing the fixed height of toolbar


Clearing the CSV_Parser variable

Hey! I need to use my csvparser variable globally, and read in things with << but I don't know how to clear it so the new config doesnt get pasted after the old one. I tried using cp = CSV_Parser(mystring, "ucucucucucs"); but somewhy I get random esp32 crash using it..

Hey, currently it does not have any reset method. The only way to reset it is to create a new object. Your way of doing it seems correct (assuming that "mystring" wasn't deallocated).
One thing to beware is this kind of situation:
CSV_Parser cp(csv_str, /*format*/ "sLdcfx-");
int32_t *longs =          (int32_t*)cp["my_longs"];
cp = CSV_Parser(csv_str, /*format*/ "sLdcfx-");
// now longs is a pointer to deallocated memory
// Serial.print(longs[0]); could crash the program

// to avoid the crash we'd have to use:
// longs = (int32_t*)cp["my_longs"];
// and now we can access longs again safely

When assigning new object to existing object (without using "new" keyword), the old one is destroyed (destructor function is called which deallocates memory in case of CSV_Parser object).
Is there a chance you'd send the code so I could reproduce the crash?

Hey there, I am also looking for help.  I think I am having issues with pointing to deallocated memory, but unsure how to solve my issue.  I get an error "assert failed: heap_caps_realloc_base heap_caps.c:432 (heap != NULL && "realloc() pointer is outside heap areas" when this code is run twice (it loads correctly the first time).
CSV_Parser errorCSV(/format/ "ss", /has_header/ true, /delimiter/ ',');
`if (errorCSV.getRowsCount() >> 0){
Serial.print("Parser has ");
Serial.print(errorCSV.getRowsCount());
Serial.print(" rows before");
 errorCSV = CSV_Parser(/*format*/ "ss", /*has_header*/ true, /*delimiter*/ ',');

 Serial.print(" and Parser has ");      // This section shows that the rows are being cleared, returns 0 rows after
 Serial.print(errorCSV.getRowsCount());
 Serial.println(" rows after");

 err_Date = (char**)errorCSV["Date"];      // I put these here to try your solution
 err_Text = (char**)errorCSV["Error"];
}
errorCSV.readSPIFFSfile("/ErrorLog.txt");
Serial.println("Error log loaded...");`

Hello, it seems to me that this code should never satisfy/enter the "if rows count > 0" condition scope.
The first line creates an object:
CSV_Parser errorCSV(/*format*/ "ss", /*has_header*/ true, /*delimiter*/ ',');
This object did not parse anything yet so the getRowsCount should return 0.
There is errorCSV.readSDfile("/ErrorLog.txt"); line but it's after the condition.
If this whole snippet is inside a loop or a callback, a new object would be called every time this code is ran, making the getRowsCount return 0 each time.
Is the code missing some parts? I'd like to try to reproduce the issue and then hopefully find the reason why it happens.
Btw currently, using string for indexing (e.g. errorCSV["Date"] rather than using numbers like errorCSV[0]) only works after parsing the CSV (because these strings are not known before parsing the header).
Not related:
(errorCSV.getRowsCount() >> 0) condition should probably have ">" (higher than) instead of ">>" (bit shift to the right). But it shouldn't have any impact on the issue.

Thanks for your response!
Sorry that my previous message was confusing for a number of reasons, because I tried to provide the smallest snippet of code that still triggered the issue.  The variables at the top were actually global in my code.  The rest of the code was part of a function that would print the error log to a webpage.  The first call of the function would load the CSV properly and display the error log.  Running it a second time would clear the parser (because row count is > 0), but crash the code when got to the line errorCSV.readSDfile("/ErrorLog.txt"); again.   Without the if statement, the parser combines the previous data with the new data.  Admittedly, my ability to code is based heavily on code and examples by generous people like you!
I actually solved my issue yesterday.  I realized that the variables really didn't need to be global, since everything is done within the function.  I added 2 lines csv_file.seek(0) rows_count = 0; to CSV_parser.cpp under the read SD File, I am not sure they're necessary but with these revisions the code is working as intended.
bool CSV_Parser::readSDfile(const char *f_name) {
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.

  File csv_file = SPIFFS.open(f_name);
  if (!csv_file)
    return false;

  csv_file.seek(0);
  rows_count = 0;

  // read file and supply it to csv parser
  while (csv_file.available())
    *this << (char)csv_file.read();

  csv_file.close();

  // ensure that the last value of the file is parsed (even if the file doesn't end with '\n')
  parseLeftover();
  return true;
}

{
    //The snippet of code I posted was previously here, but errorCSV was declared globally.  Now it resets every time the function is called.

    CSV_Parser errorCSV(/*format*/ "ss", /*has_header*/ true, /*delimiter*/ ',');  //for loading the water level csv

    if (errorCSV.readSDfile("/ErrorLog.txt")) {     //load in the Error Log file if it exists
    Serial.print("Error log loaded successfully: ");
    Serial.println (errorCSV.getRowsCount());

    err_Date = (char**)errorCSV["Date"];
    err_Text = (char**)errorCSV["Error"];

     String errList = "
Error Log (";
     errList += errorCSV.getRowsCount();
     errList += "):

";
     for(int row = 0; row < errorCSV.getRowsCount(); row++) {
        errList += err_Date[row];
        errList += "   ";
        errList += err_Text[row];
        errList += "
";
      }

      errList += "
";
      return errList;
    }
  }

I copied the readSDfile function in CSV_parser.cpp and made a readSPIFFSfile for accessing the ESP32 onboard flash.  Please consider adding a FS option to the readfile in a future update.  Thanks for writing the library, it has been useful for 2 of my projects!

Hey there it's me again.  I wanted to give an example of what I mean by passing the FS to the read file.  For my application, I log all error messages to a CSV file located on SPIFFS since I want to log any issues when I initialize, read, or write to the SD card.  I use your library to parse and display the error log on an "admin" page.
I have tested that this code works, if you could include something like this in a future version I would be grateful.
In CSV_Parser.cpp, I added #include <SPIFFS.h> and #include <FS.h>
/*  https://github.com/michalmonday/CSV-Parser-for-Arduino  */

#include "CSV_Parser.h"

#ifndef CSV_PARSER_DONT_IMPORT_SD
    #include <SD.h>
    #include <SPIFFS.h>
    #include <FS.h>

#endif

I verified that I do not need the 2 lines that I added in my previous post and modified the function in CSV_Parser.cpp.  I am not sure if there is a way to check if the fs argument is passed, and if not default to SD to ensure backwards compatibility?
bool CSV_Parser::readSDfile(fs::FS &fs, const char *f_name) {
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.

  File csv_file = fs.open(f_name);
  if (!csv_file)
    return false;

  // read file and supply it to csv parser
  while (csv_file.available())
    *this << (char)csv_file.read();

  csv_file.close();

  // ensure that the last value of the file is parsed (even if the file doesn't end with '\n')
  parseLeftover();
  return true;
}

I added #include <SPIFFS.h> and #include <FS.h> in CSV_Parser.h.  I am not sure if there's a way for me to only include these in the .cpp or .h, I got errors when I left them out of the .h file.  I added it under the NON_ARDUINO condition because I believe SPIFFS is only for the ESP32.
#ifndef CSV_PARSER_H
#define CSV_PARSER_H

#ifndef NON_ARDUINO
  #include <Arduino.h>
 #include <SPIFFS.h>
 #include <FS.h>
#else
  #include <non_arduino_adaptations.h>
    extern SerialClass Serial;
#endif

The last thing to do is modify this line in CSV_Parser.h
#ifndef CSV_PARSER_DONT_IMPORT_SD
  bool readSDfile(fs::FS &fs, const char *f_name);
#endif

Now I can parse CSV files from either the onboard flash or SD card by passing the appropriate file system.
if (errorCSV.readSDfile(SPIFFS, "/ErrorLog.txt")) {
Serail.println("Error Log loaded successfully from SPIFFS");
}
if (errorCSV.readSDfile(SD, "/ErrorLog.txt")) {
Serail.println("Error Log loaded successfully from SD card");
}

Hello, sorry for late reply. This would be useful but SPIFFS.h and FS.h includes are not available for every board setting (e.g. Arduino Leonardo, Esp8266).
I tried using a template to use any type as the first parameter in the new readFile(T &t, const char *fname) but it seems that it requires instantiation in the CSV_Parser.cpp file like:
template bool CSV_Parser::readFile<SDLib::SDClass&>(SDLib::SDClass&, const char *);

This instantiation seems to work with Arduino Leonardo I used, but breaks compilation when Esp8266 or Esp32 boards are selected. Without this instantiation there's an undefined reference error.
I can't find a way to implement this that would work with AVR and Esp boards, not sure if there's a way to do that.


bug(CDK Overlay): css transitions applied to cdk-overlay-pane do not work with dynamic cdkConnectedOverlayOrigin

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/edit/angular-ivy-acneit?file=src%2Fapp%2Fapp.component.html
Steps to reproduce:

Click each button in turn
See that the overlay attached to each button move from one button to the other

Expected Behavior
Due to the css rule specifying a transition time, the overlay should animate from one position to another
Actual Behavior
The overlay teleported, as if the transition rule did not apply
Environment

Angular: ^10.0.1
CDK/Material: ^10.0.1
Browser(s): Chrome 83
Operating System (e.g. Windows, macOS, Ubuntu): macOS

Update - this is caused by the FlexibleConnectedPositionStrategy.prototype._resetOverlayElementStyles method, it sets the left and top attributes to '', which removes the CSS rule entirely, causing any transition to be ignored.
https://github.com/angular/components/blob/master/src/cdk/overlay/position/flexible-connected-position-strategy.ts#L854-L855
It can be fixed by monkey patching that method, however a real fix would be to change those values to 0. I'm willing to submit an MR, though I have no idea if that would be a breaking change or not.

We use the top and left properties to position the overlay so you shouldn't be using them to animate it. The proper way to do it would be to apply the transition on an element inside the overlay.

@crisbeto the issue is that I want the entire overlay to be moved from one element to another, animating the internals wont work

I get it, but my point is that these properties aren't a public API since we have to use them to position the overlay correctly. Any overrides would be at your own risk. Another alternative can be to create a custom PositionStrategy that doesn't mess with the positioning. If you don't want to repeat all the logic, you can still extend the FlexibleConnectedPositionStrategy.

Yeah, this is working as intended. Our position strategy depends on having full control over those two properties to function correctly. The best thing to do if you want more direct control over the petitioning would be to create a custom position strategy.


tutorials/razor-pages/model "Adding a model to a Razor Pages app"

If  you get the following error, verify you have run migrations and updated the database:
An unhandled exception occurred while processing the request.
SqliteException: SQLite Error 1: 'no such table: Movie'.

The text above comes from an include and is correct for the VS/Mac version and VS Code version - but incorrect for the WIndows version.
The common file  is "Docs\aspnetcore\includes\RP\model4.md"

fixed in #4451


Copy/paste typo in electrical.batteries

electrical.batteries.<reg>.voltage.meta.description is "Voltage measured at or as close as possible to the device"
As far as to my physical knowledge this might concern really big boats, or must be be a copy paste error from battery temperature.

No, this is intentional. On a 12 v dc system with possibly inadequate wiring where in the circuit you measure voltage may cause substantial differences.
Then again we don’t have a path for voltage measurement somewhere else in the circuit.


mispelling auth

I am a bad speller

;) following graphql I just looked around, thx for this awesome rest api


feat: add limits and totals to API responses

Changes
Add feature, segment and segment override limits to API responses.
How did you test this code?
Tests written by Novak as part of #2526.

Codecov Report
Patch coverage: 97.56% and no project coverage change.

Comparison is base (cb42f9d) 95.43% compared to head (4b56b22) 95.44%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2615   +/-   ##
=======================================
  Coverage   95.43%   95.44%
=======================================
  Files         975      976    +1
  Lines       27245    27309   +64
=======================================
+ Hits        26002    26064   +62
- Misses       1243     1245    +2

Files Changed
Coverage Δ

api/environments/views.py
89.43% <71.42%> (-1.17%)
:arrow_down:

api/audit/serializers.py
100.00% <100.00%> (ø)

api/environments/serializers.py
97.14% <100.00%> (+0.21%)
:arrow_up:

api/organisations/views.py
91.16% <100.00%> (ø)

api/projects/serializers.py
100.00% <100.00%> (ø)

api/projects/tests/test_serializers.py
100.00% <100.00%> (ø)

api/projects/views.py
94.21% <100.00%> (+0.19%)
:arrow_up:

...pi/tests/unit/projects/test_unit_projects_views.py
100.00% <100.00%> (ø)

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


[FEATURE] 是否可以在图片生成后直接下载原尺寸的图片？（Downloading Images with the Original Size from the App）

Checks

[x] I confirm that I have searched existing issues and couldn't find a similar proposal.
[x] I have read the documentation and test the software carefully and confirmed that this is not an existing feature.

Is your feature request related to a problem? Please describe.
在Edge侧边栏或网页使用Bing生成图片时，默认会显示缩略小图，如果直接右键点击保存图片，默认保存的也是该缩略小图。但如果点击图片进入Image Creator的页面，则会看到图片原尺寸是1024x1024的，在这里下载也会下载到大尺寸的图片。
而目前SydneyQt App中，生成图片后点击下载，默认下载的也是那个缩略小图的尺寸。请问是否方便把它做成可以直接下载原尺寸大图的功能呢？

I don't use the desktop version, but from what I learned when developing the alternative front end, It is quite easy to download the image of original size. Just remove the queries (anything following ?) from the image url and you can download the original image.

Thanks, mate. It works on the website. However, the download URL in the desktop app cannot be manually modified. Hopefully, this feature could be added later.


Use tile-frames for better frame browsing.

This requires a version of GeoJS newer than v1.2.0 to have any effect.

As an example of the difference, this uses the exact same 1000-frame source file.  Before, we switched frames only when loaded:
https://user-images.githubusercontent.com/8781639/129386249-ce7902cc-afcf-40da-a53b-2fbdd0b944e8.mp4
After this update, we switch to the preview image immediately and then load the frames.  You can see jpeg artifacts in the preview frames; these vanish as the actual tiles are loaded when the scroll pauses.
https://user-images.githubusercontent.com/8781639/129386350-cd609aec-e2cc-435d-9853-56fe6779781a.mp4

this is very nice. hard to read the code with many codecov warnings (not sure why that is happening). what is a tile frame?

I don't know why codecov is commenting PRs, since it is set to comment: false.
Many tile sources have multiple "frames" -- different bands on geospatial data, different z slices on histology images, time series, XY pan series, multiple channels, etc.  large_image aggregates all of this into a concept of "frames" so that there is a 0-based index of these separate images.  It requires that all of the images be the same resolution and have the same tile size and a similar tile structure (e.g., all frames are expected to have the same maximum depth of pyramidally arranged tiles, but not necessarily have the same levels of the pyramid filled out).
The synthetic image shown above simulates a moderate sized image with 1000 z slices -- I have some histology examples, but they are not necessarily public or, in some cases, particularly clear, so the synthetic image makes a more obvious demo.


chore(docs): mention rules_multirun

We get this question a lot so the answer belongs in the docs.

The failed test is present on main as well :(


Documentation should explain new typedef syntax better

I've helped two different people in the past few days who were confused about how to convert the old typedef syntax to the new typedef syntax (and how to use it for generic function types):
// Old syntax
typedef T MyFunctionType<T>(T x, String y);

// New syntax
typedef MyFunctionType<T> = T Function(T, String);

//New generic function type syntax
typedef MyGenericFunctionType = T Function<T>(T, String);

This doesn't seem to be covered much here:
https://www.dartlang.org/guides/language/language-tour#typedefs
It would be great to have some more detailed guidance on this to point people to.
cc @sethladd @kevmoo @apwilson

We might also want to take advantage of the opportunity to let users know that there is a quick assist in server that will automatically translate from the old syntax to the new syntax.

Is this mainly a 1.x -> 2 conversion issue? If so, the place for help on that is not the language tour, but the Dart 2 page or a page that it points to, such as Fixing Common Type Problems.
Do you know what symptoms they were seeing that made them do this change? I'm wondering if we should add more to the Problems section A function of type ... can't be assigned.

Is this mainly a 1.x -> 2 conversion issue?

Yes and no.  This is a new feature in Dart 2.  You can still use the old syntax, but people are being encouraged, in part by lints, to use the new feature.

If so, the place for help on that is not the language tour,

The language tour has an entry for typedefs which uses the old syntax, and then mentions the new syntax (but only the "generic function type" version).  It seems like it would be better to either uniformly use the new feature, or perhaps show the old feature and its replacement version (as well as the new functionality available).

Fixing Common Type Problems.

It's not quite a type problem, but it could be worth an entry there.

Do you know what symptoms they were seeing that made them do this change?

No problem, they were just encouraged (again, I think by a lint, @apwilson can you confirm?) to use the new syntax and were having trouble doing so.  Or in @kevmoo's case, he actually wanted the new generic function type syntax.
In one case, the programmer was migrating code that looked like:
typedef T Foo<T>(T x);

and accidentally wrote:
typedef Foo<T> = Function<T>(T x);

instead of
typedef Foo<T> = Function(T x);

In the second case, the programmer actually wanted a generic function type:
typedef Foo = Function<T>(T x);

but again accidentally wrote:
typedef Foo<T> = Function<T>(T x);

The fact that you can put a <T> in either (or both) positions (but for different purposes) is confusing, and seems worth explaining.

@bwilkerson what's a good example of using the quick assist? Is this something all IDEs with Dart support support?

Yes, the lints indicated we should use the new syntax.
On Fri, May 18, 2018, 4:02 PM Kathy Walrath<EMAIL_ADDRESS>wrote:

@bwilkerson https://github.com/bwilkerson what's a good example of
using the quick assist? Is this something all IDEs with Dart support
support?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dart-lang/sdk/issues/33165#issuecomment-390353938,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAIuGhrYIIlRQqgoNnLI4ktdlM2X9mx5ks5tz1L3gaJpZM4UFO9Q
.

what's a good example of using the quick assist?

The examples that Leaf has given are all good. The assist currently doesn't erase variable names (as Leaf did), but we can change that if we think that was the wrong decision.
Just paste any of the old syntax examples and click on "typedef". In IntelliJ you should get a yellow lightbulb icon next to the right edge of the editor that has a drop-down menu containing the suggestion to convert it to the new syntax (I don't remember the actual wording).
If you find any examples that produce different results than what Leaf suggested, we should look at them to make sure it isn't a bug in server.

Is this something you can do in all IDEs that have Dart support?

Yes.

The language tour has an entry for typedefs which uses the old syntax, and then mentions the new syntax (but only the "generic function type" version). It seems like it would be better to either uniformly use the new feature, ...

[x] Done, as of https://github.com/dart-lang/site-www/pull/923.

or perhaps show the old feature and its replacement version

[x] Done in Effective Dart: DON’T use the legacy typedef syntax.

The fact that you can put a <T> in either (or both) positions (but for different purposes) is confusing, and seems worth explaining.

I agree, but Bob (@munificent) had this to say about that:

The generic function type use case is vanishingly rare. (I don't recall ever seeing one in the wild, nor do I know of any real-world use cases that motivated adding it to the language.) I don't think it's worth putting in "Effective Dart".

[ ] Maybe @munificent @kevmoo and @leafpetersen can discuss this offline and post here the final decision? We can then update the docs, or agree not to :)

We might also want to take advantage of the opportunity to let users know that there is a quick assist in server that will automatically translate from the old syntax to the new syntax.

Quick assists are great, but I don't think that site-www is the place to document them IMHO.

if writing the following by accident occurs often enough, then maybe we need a lint rule for it (/cc @pq):
...
Maybe we need a lint to complain about unused type parameters, as in this case too:

Both SGTM!

Why isn't this just an error in the language?

Why isn't this just a warning in the language, similar to an unused variable or method?

These are not language warnings.  The analyzer gives hints on these sometimes, but that's basically in the same category as lints.

Correct, sorry, I still don't understand the different diagnostic levels.

Linter issue: https://github.com/dart-lang/linter/issues/1027
@leafpetersen - can we close this issue now?

... or do you still want to discuss the "generic function type use case" mentioned above?

The generic function type use case is vanishingly rare. (I don't recall ever seeing one in the wild, nor do I know of any real-world use cases that motivated adding it to the language.) I don't think it's worth putting in "Effective Dart".

I'm not sure about Effective Dart, but there are most definitely uses of this in the wild already.  See for example mockito.  We need to document this feature somewhere.  If this isn't the place, then where is the right place?

where is the right place?

The Language Tour. @kwalrath WDYT?

The language tour is not complete. As its first sentence says, it "shows you how to use each major Dart feature." It shouldn't cover features that most people aren't likely to use.
I think we need another (non-spec) place for those less-used corners of the language. Maybe it could be an "Advanced Language Features" page (/guides/language/advanced). It might not explain everything completely, but it could list features, maybe have short examples, and point to more information if it's available.
The "more information" places could be blog posts, @dartlang.org posts, Medium posts, code in a stable repo, ...
An alternative to creating an Advanced Language Features page would be to create a complete page, Dart Language Features, which would point everywhere (including the language tour). That would be harder, though.
What do you think, @leafpetersen & @chalin?

Generally, I'd agree with your suggestions, but in this case I don't think that we are dealing with an advanced feature, and I think that it can be relatively concisely explained. How about this: I'll put together a short update to the Language Tour typedef section, and then we can see whether it fits there or not?

@kwalrath I think the language tour should at least point out that there is a difference and where to read more about it (if it is not explained directly).


make sure the dbus daemon is available before starting the test suite

On CircleCI, the builds fail one over four times because we are launching
the testsuite while ratbagd.devel is still not ready.
Do a basic polling after we launch the daemon so that we are aware when
the ratbagd daemon is ready.

Got the ACk from @whot sitting right to me.


Set up weave gitops with OIDC

Looks like this might now be possible.

That was my experience before. I was hoping that I could use Authelia and impersonate my username defined there as a cluster admin. This still might but be possible but I'll try when I have time.

@chrisbsmith I was able to get this working. You can check out my wego and authelia config if interested in adding it.


fix(menu): blur inputs when swiping to open menu

Pull request checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been reviewed and added / updated if needed (for bug fixes / features)
[x] Build (npm run build) was run locally and any changes were pushed
[x] Lint (npm run lint) has passed locally and any fixes were made for failures

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: https://github.com/ionic-team/ionic/issues/20588
What is the new behavior?

Menu gets and blurs any active element when swiping to open menu

Does this introduce a breaking change?

[ ] Yes
[x] No

Other information

This may end up becoming a feature for the gesture util, but I'm not quite sure yet. Going to close for now until I can collect more feedback.


TE#6 Mac Chip tool testing: TC-MF-1.23 - Mac Chip tool giving 0x01 error response instead of 0x02

Testcase: TC-MF-1.23 step 5
When Mac chip tool opens a commissioning window using BCM giving max+1 timeout (901 seconds), it is expected to get 0x02 response code while we are seeing 0x01 (Busy) response code.
"ubuntu@matter-te-6:~$ chip-tool administratorcommissioning open-basic-commissioning-window 901 0
[1634245410.473728][4230:4230] CHIP:CTL: Read local id 0x000000000001B669, remote id 0x58EF6937C7559F28
[1634245410.476264][4230:4230] CHIP:CTL: Generating NOC
[1634245410.476596][4230:4230] CHIP:CTL: Generating ICAC
[1634245410.482200][4230:4230] CHIP:IN: UDP::Init bind&listen port=5541
[1634245410.482340][4230:4230] CHIP:IN: UDP::Init bound to port=5541
[1634245410.482369][4230:4230] CHIP:IN: UDP::Init bind&listen port=5541
[1634245410.482462][4230:4230] CHIP:IN: UDP::Init bound to port=5541
[1634245410.482488][4230:4230] CHIP:IN: TransportMgr initialized
[1634245410.482510][4230:4230] CHIP:DIS: Init fabric pairing table with server storage
[1634245410.490837][4230:4230] CHIP:DL: MDNS failed to join multicast group on veth1ab88fa for address type IPv4: ../../third_party/connectedhomeip/src/inet/IPEndPointBasis.cpp:259: Inet Error 0x00000110: Address not found
[1634245410.492621][4230:4230] CHIP:DL: MDNS failed to join multicast group on vethc72637a for address type IPv4: ../../third_party/connectedhomeip/src/inet/IPEndPointBasis.cpp:259: Inet Error 0x00000110: Address not found
[1634245410.494344][4230:4230] CHIP:DL: MDNS failed to join multicast group on veth280f827 for address type IPv4: ../../third_party/connectedhomeip/src/inet/IPEndPointBasis.cpp:259: Inet Error 0x00000110: Address not found
[1634245410.496013][4230:4230] CHIP:DL: MDNS failed to join multicast group on veth09ab52b for address type IPv4: ../../third_party/connectedhomeip/src/inet/IPEndPointBasis.cpp:259: Inet Error 0x00000110: Address not found
[1634245410.497775][4230:4230] CHIP:DL: MDNS failed to join multicast group on vethc0cbd1a for address type IPv4: ../../third_party/connectedhomeip/src/inet/IPEndPointBasis.cpp:259: Inet Error 0x00000110: Address not found
[1634245410.497949][4230:4230] CHIP:ZCL: Using ZAP configuration...
[1634245410.498028][4230:4230] CHIP:ZCL: deactivate report event
[1634245410.498630][4230:4230] CHIP:DIS: Verifying the received credentials
[1634245410.500551][4230:4230] CHIP:DIS: Added new fabric at index: 1, Initialized: 1
[1634245410.500589][4230:4230] CHIP:DIS: Assigned compressed fabric ID: 0xFF77B9A4FF1DBD83, node ID: 0x000000000001B669
[1634245410.500616][4230:4230] CHIP:CTL: Joined the fabric at index 1. Compressed fabric ID is: 0xFF77B9A4FF1DBD83
[1634245410.501015][4230:4235] CHIP:DL: CHIP task running
[1634245410.501905][4230:4235] CHIP:IN: Build plaintext message 0xaaaad1f05f58 to 0x0000000000000000 of type 48 and protocolId 0 on exchange 42359r with MessageCounter<PHONE_NUMBER>.
[1634245410.501964][4230:4235] CHIP:IN: Sending plaintext msg 0xaaaad1f05f58 to 0x0000000000000000 at utc time: 14474089 msec
[1634245410.501992][4230:4235] CHIP:IN: Sending msg on generic transport
[1634245410.502124][4230:4235] CHIP:SC: Sent SigmaR1 msg
[1634245410.504772][4230:4235] CHIP:EM: Received message of type 0x31 with vendorId 0x0000 and protocolId 0x0000 on exchange 42359i
[1634245410.504819][4230:4235] CHIP:EM: Rxd Ack; Removing MessageCounter:FCF7022F from Retrans Table
[1634245410.504844][4230:4235] CHIP:EM: Removed CHIP MessageCounter:FCF7022F from RetransTable
[1634245410.504899][4230:4235] CHIP:SC: Received SigmaR2 msg
[1634245410.504931][4230:4235] CHIP:SC: Peer assigned session key ID 3
[1634245410.507948][4230:4235] CHIP:SC: Sending SigmaR3
[1634245410.508417][4230:4235] CHIP:EM: Piggybacking Ack for MessageCounter:2ECD92CC on exchange: 42359i
[1634245410.508465][4230:4235] CHIP:IN: Build plaintext message 0xaaaad1f05f58 to 0x0000000000000000 of type 50 and protocolId 0 on exchange 42359r with MessageCounter<PHONE_NUMBER>.
[1634245410.508499][4230:4235] CHIP:IN: Sending plaintext msg 0xaaaad1f05f58 to 0x0000000000000000 at utc time: 14474095 msec
[1634245410.508556][4230:4235] CHIP:IN: Sending msg on generic transport
[1634245410.508652][4230:4235] CHIP:SC: Sent SigmaR3 msg
[1634245410.508685][4230:4235] CHIP:IN: New secure session created for device 0x58EF6937C7559F28, key 3!!
[1634245410.508747][4230:4235] CHIP:TOO: Sending cluster (0x003C) command (0x01) on endpoint 0
[1634245410.508781][4230:4235] CHIP:DMG: ICR moving to [Initialize]
[1634245410.508816][4230:4235] CHIP:DMG: ICR moving to [AddCommand]
[1634245410.508908][4230:4235] CHIP:IN: Secure message was encrypted: Msg ID 0
[1634245410.508936][4230:4235] CHIP:IN: Build encrypted message 0xaaaad1f05f70 to 0x58EF6937C7559F28 of type 8 and protocolId 1 on exchange 42360r with MessageCounter 0.
[1634245410.508964][4230:4235] CHIP:IN: Sending encrypted msg 0xaaaad1f05f70 to 0x58EF6937C7559F28 at utc time: 14474096 msec
[1634245410.508989][4230:4235] CHIP:IN: Sending msg on generic transport
[1634245410.509052][4230:4235] CHIP:DMG: ICR moving to [   Sending]
[1634245410.512103][4230:4235] CHIP:EM: Received message of type 0x10 with vendorId 0x0000 and protocolId 0x0000 on exchange 42359i
[1634245410.512146][4230:4235] CHIP:EM: Rxd Ack; Removing MessageCounter:FCF70230 from Retrans Table
[1634245410.512171][4230:4235] CHIP:EM: Removed CHIP MessageCounter:FCF70230 from RetransTable
[1634245410.513191][4230:4235] CHIP:EM: Received message of type 0x09 with vendorId 0x0000 and protocolId 0x0001 on exchange 42360i
[1634245410.513231][4230:4235] CHIP:EM: Rxd Ack; Removing MessageCounter:00000000 from Retrans Table
[1634245410.513255][4230:4235] CHIP:EM: Removed CHIP MessageCounter:00000000 from RetransTable
[1634245410.513294][4230:4235] CHIP:DMG: InvokeCommand =
[1634245410.513321][4230:4235] CHIP:DMG: {
[1634245410.513344][4230:4235] CHIP:DMG:         CommandList =
[1634245410.513370][4230:4235] CHIP:DMG:         [
[1634245410.513395][4230:4235] CHIP:DMG:                 CommandDataElement =
[1634245410.513442][4230:4235] CHIP:DMG:                 {
[1634245410.513480][4230:4235] CHIP:DMG:                         CommandPath =
[1634245410.513592][4230:4235] CHIP:DMG:                         {
[1634245410.513639][4230:4235] CHIP:DMG:                                 EndpointId = 0x0,
[1634245410.513686][4230:4235] CHIP:DMG:                                 ClusterId = 0x3c,
[1634245410.513731][4230:4235] CHIP:DMG:                                 CommandId = 0x1,
[1634245410.513778][4230:4235] CHIP:DMG:                         },
[1634245410.513830][4230:4235] CHIP:DMG:
[1634245410.513869][4230:4235] CHIP:DMG:                         StatusElement =
[1634245410.513914][4230:4235] CHIP:DMG:                         {
[1634245410.513959][4230:4235] CHIP:DMG:                                 GeneralCode = 0x1,
[1634245410.514008][4230:4235] CHIP:DMG:                                 ProtocolId = 0x1,
[1634245410.514053][4230:4235] CHIP:DMG:                                 protocolCode = 0x1,
[1634245410.514096][4230:4235] CHIP:DMG:                         },
[1634245410.514144][4230:4235] CHIP:DMG:
[1634245410.514182][4230:4235] CHIP:DMG:                 },
[1634245410.514226][4230:4235] CHIP:DMG:
[1634245410.514259][4230:4235] CHIP:DMG:         ],
[1634245410.514299][4230:4235] CHIP:DMG:
[1634245410.514330][4230:4235] CHIP:DMG: }
[1634245410.514387][4230:4235] CHIP:ZCL: DefaultResponse:
[1634245410.514417][4230:4235] CHIP:ZCL:   Transaction: 0xaaaab0e6ae38
[1634245410.514446][4230:4235] CHIP:ZCL:   status: EMBER_ZCL_STATUS_FAILURE (0x01)
[1634245410.514480][4230:4235] CHIP:TOO: Default Failure Response: 0x01
[1634245410.514536][4230:4235] CHIP:DMG: ICR moving to [Uninitiali]
[1634245410.514570][4230:4235] CHIP:EM: Sending Standalone Ack for MessageCounter:00000001
[1634245410.514662][4230:4235] CHIP:IN: Secure message was encrypted: Msg ID 1
[1634245410.514699][4230:4235] CHIP:IN: Build encrypted message 0xffff8dda19c0 to 0x58EF6937C7559F28 of type 16 and protocolId 0 on exchange 42360r with MessageCounter 1.
[1634245410.514738][4230:4235] CHIP:IN: Sending encrypted msg 0xffff8dda19c0 to 0x58EF6937C7559F28 at utc time: 14474101 msec
[1634245410.514772][4230:4235] CHIP:IN: Sending msg on generic transport
[1634245410.514869][4230:4235] CHIP:EM: Flushed pending ack for MessageCounter:00000001
[1634245410.515063][4230:4230] CHIP:TOO: Run command failure: ../../third_party/connectedhomeip/zzz_generated/chip-tool/zap-generated/cluster/Commands.h:43: CHIP Error 0x000000AC: Internal error
[1634245410.515160][4230:4230] CHIP:CTL: Shutting down the commissioner
[1634245410.515198][4230:4230] CHIP:CTL: Shutting down the controller
[1634245410.518170][4230:4230] CHIP:DL: Inet Layer shutdown
[1634245410.518296][4230:4230] CHIP:DL: BLE layer shutdown
[1634245410.518330][4230:4230] CHIP:DL: System Layer shutdown"

This requires changes in the Interaction Model layer to support custom error code, which is currently expected to land in TE7.5, so moving this to TE7.5 as well.

TE7 update: Observing the same issue on ECM as well as on BCM (TC-MF-1.23 and TC-MF-1.24)

Fixed by #11883


Differences between Swin Transformer in mmcls/mmdet/mmseg

Hi! Thanks for maintaining such a wonderful framework. I want to pre-train my own Swin Transformers for other tasks but found that mmcls, mmdet, mmseg all have their swin folder. Are there any differences? What should be careful about after training using mmcls's version?

Swin Transformers in mmcls, mmdet , mmseg are all the same. the weight of mmcls  Swin Transformers can be load into model in mmdet. you can use mmcls or mmselfsup to train your pre-train model.
By the way, you can use mmdet's backbones in mmcls, you can also use mmcls's backbone in mmdet, refer to this Chinese article  if you understand Chinese.

Thank you! This is very helpful.


fixed dai balance issues

how do I repro the issue this PR fixes?

Inspect totalcost property on confirm.tsx when trading, eventually it’ll be randomly wrong and let you trade even though you don’t have the money. Dai cost never is wrong


Create method for specifying maximum auto reconnect delay

I'd just like a method so that I can set the number that JDA#setAutoReconnect() maxes out at (for example, 60 seconds). Currently, it maxes out at 900 seconds (15 minutes); I don't want it that long, as I'll constantly be having internet cut out for prolonged periods of time, but I need it to go back online faster.
Because of this, I propose a simple method "setAutoReconnectMaxDelay(long maxDelay)". This method would allow for someone to change the maximum delay from 900 seconds to whatever they desire.

Added as of efe0546 / 3.0.0_169
JDABuilder#setMaxReconnectDelay(int)


Generate docs using pdocs python package

PR checklist:

[ #21 ] Github Issue associated with branch.
[ NA ] Code passes linting through autopep8.
[ Yes] PR branch is up-to-date with latest master branch.

Sample gh page link: https://adityabharti.github.io/fawkes/

@adityabharti Can you use https://intuit.github.io/auto/docs/configuration/non-npm along with the gh-pages plugin provided by auto ?
I can provide the email address and the username as environment variables so that it can be picked up.

@adityabharti Are you going to make the changes required or should I take this forward ?

@MadaraUchiha-314 You may take this forward, been running a little busy. Thanks!


returns no feeds

after running a simple test, the items array is empty
[mrgeorgen@mrgPC ~/.newsboat]$ http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'F==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true
HTTP/1.1 200 OK
Connection: close
Date: Mon, 25 Jan 2021 09:48:26 GMT
Server: gunicorn/20.0.4
content-length: 370
content-type: application/json
x-fm-errors: %7B%22https%3A//videos.lukesmith.xyz/feeds/videos.atom%3FvideoChannelId%3D2%22%3A%20%22%27NoneType%27%20object%20has%20no%20attribute%20%27get%27%22%7D
{
    "description": "json feed created by FeedMixer.",
    "home_page_url": "http://localhost:8080/json?f=https%3A%2F%2Fvideos.lukesmith.xyz%2Ffeeds%2Fvideos.atom%3FvideoChannelId%3D2&F=https%3A%2F%2Fwww.youtube.com%2Ffeeds%2Fvideos.xml%3Fchannel_id%3DUC7YOGHUfC1Tb6E4pudI9STA&n=20&full=true",
    "items": [],
    "title": "FeedMixer feed",
    "version": "https://jsonfeed.org/version/1"
}

I believe the problem is actually the uppercase F in the second query string. If I change this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'F==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

to this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'f==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

then I get a valid feed in return.
I'm keeping this open because there should be better error reporting when feedmixer can't understand a query parameter.

I believe the problem is actually the uppercase F in the second query string. If I change this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'F==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

to this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'f==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

then I get a valid feed in return.
I'm keeping this open because there should be better error reporting when feedmixer can't understand a query parameter.

I believe the problem is actually the uppercase F in the second query string. If I change this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'F==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

to this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'f==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

then I get a feed with items.
I'm keeping this open because there should be better error reporting when feedmixer can't understand a query parameter.

I still get no items after changing the command

I believe the problem is actually the uppercase F in the second query string. If I change this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'F==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

to this:

http localhost:8080/json 'f==https://videos.lukesmith.xyz/feeds/videos.atom?videoChannelId=2' 'f==https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA' n==20 full==true

then I get a feed with items.
I'm keeping this open because there should be better error reporting when feedmixer can't understand a query parameter.

I still get no items after changing the command

ok it works now. I used my patch before that seems to have messed something up

ok it works now. I used my patch before that seems to have messed something up


Remove resources folder from Git

Due to updates in Netlify's build infrastructure, we no longer need to commit the Hugo-generated resources folder.
@estesp Could you go into Netlify and update the build image to Ubuntu Xenial 16.04 (under Build & Deploy and then Build image selection)?

@estesp Could you update the build image for the site to Xenial on Netlify? It just takes a single click.

Done and re-ran deploy; looks good now

@estesp I don't have merge privileges, so go ahead and click the green button 👍


feat: protect existing endpoints using runtime builtin ims auth

Description
Opened as a draft for now as there's a bug in Runtime where if you specify security for one path, it checks for an ims token for all paths, so I haven't been able to fully test that list and get templates still works without providing an auth token
Auth details:

For deleting templates - require template_registry.write and a strict client allow list (see swagger for list)
For creating templates - require template_registry.write and a strict client allow list (see swagger for list)

Other notable changes

Had to revert swagger to 2.0, since Runtime doesn't support 3.0+ for the scope and client validation features

Related Issue

Motivation and Context

How Has This Been Tested?
npm run test
Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@MichaelGoberling Can you validate the template registry api json ? I was getting some error when I tried it here https://editor-next.swagger.io/

@sandeep-paliwal
I see there's a few small warnings and then two errors about authorizationUrl being empty, i'll fix the warnings, but let me see if the empty authorizationUrl is needed or not, since that's how it's shown in the Runtime docs https://developer.adobe.com/runtime/docs/guides/using/creating_rest_apis/#scopes-validation

@sandeep-paliwal
okay I've fixed the swagger warnings, but proposing we keep the empty authorizationUrl
if we remove it, redocly complains about there not being an authorizationUrl, and whether or not we keep it or remove it, the swagger editor complains. We don't actually need this field, because Runtime automatically uses the IMS stage or prod url (and we shouldn't put a static value there because we want Runtime to use stage or prod IMS based on the env we deploy to)

runtime has fixed the security-for-all-paths bug! ready for review


this is a bug

this is a bug in gimp

I'm closing because there isn't enough information to action any changes.


fix: Nullable object fields now working as expected

This PR attempts to provide a fix to the issue where a nullable field in an object would appear in the generated model as non-nullable.
I also tried addressing this other issue reported by @wduncanfraser but I still haven't been able to get a fix in place for that. Feel free to pick up where I left off and add the fix to this PR (or create another issue and submit a different PR for that). I'll try to give a head start to anyone that wants to give it a go with my latest findings (I could be wrong, I'm new to this library): the beginning part of toModelType recursive function is used to generate the type of an OAS array (a Kotlin list). The starting call site is in the addToClass function. This populates the isNullable argument with the nullability information about the array, but the nullability of the items schema gets lost in the recursion. I think solving this issue would require some change that allowed to propagate the items schema information inside toModelType.
Closes #289.

@cjbooms The build is failing because of the nullableArrayItems test I added which still doesn't have a fix. For the sake of getting the other fix merged, I was thinking of removing the nullableArrayItems test from this PR and create a new one that I'll leave open to resume that work there. WDYT?

Sounds good. Exactly what I was gonna do before getting swamped in work. Should have time before next Tuesday to get this merged and a release cutn

@cjbooms Done, the model generator tests should pass now.

Thanks @DavidMazarro. Have been trying to cut you a new release, but Sonatype has changed their deployment process and it seems to have broken. Will have another attempt later in the weekend.

Released. thanks for the contribution

@cjbooms My pleasure!


Added check configuration for JaCoCo

Adds support for the check element of the JaCoCo ant task.
The check supports an ignoreFailure option and include/exclude patterns
Usage:
jacocoTestReport {
    ignoreFailure = true
    exclude '**/Test*.java'
    check {
        rule(element:'BUNDLE') {
            limit(counter:'BRANCHES',minimum:'0.80')
        }
    }
}

The build fails because of codenarc, but the report is not available

Thanks. It's not clear to me exactly what this pull request is trying to achieve.

Why are these properties on the jacocoReport and not on jacoco configuration.
How does include/exclude relate to the same properties on the jacoco
There is no test coverage for the new options
These is no documentation for the new options.

Because of all this, I'm going to close this pull request and suggest that you propose your changes on the gradle development list.

You're right about the includes/excludes, they duplicate existing functionality.
The rest of it directly addresses GRADLE-2783, and it was the simplest way to implement it.
We've been using our own version of this patch for a few months.


Change stop reason type from error to object

server stopped because Error: process sigint
should becomes
server stopped because process sigint
So
const STOP_REASON = new Error('process sigint')

should become
const STOP_REASON = {message: 'process sigint', toString: () => this.message}

Done


DO NOT MERGE - Topic/slowest

Hey @lihaoyi check this out. It adds an arg --report-slowest or --report-slowest=n which prints a report like:
[info] ...
[info] Tests: 20
[info] Passed: 20
[info] Failed: 0
[info] Slowest 5 tests:
[info]   #1: (52 ms) test.utest.FrameworkTests
[info]   #2: (11 ms) nesting.nesting
[info]   #3: (11 ms) helloWorld.helloWorld
[info]   #4: ( 6 ms) extractingResults.extractingResults
[info]   #5: ( 5 ms) nesting.runForking.runForking

Two problems:

test -- --report--slowest doesn't work. Seems to be SBT bug. testOnly * -- --report--slowest works.
I don't know how to get the full test name. You can see nesting.nesting in the results above? It should be test.utest.FrameworkTests.nesting. Do you know how to do that?

@lihaoyi Are you able to provide any advice on those two problems I mentioned above? I'd like to fix and merge this.

Ping @lihaoyi :)

ping @lihaoyi as requested long ago :smile:

Sorry I didn't find time to look at this...
The new renderer prints out times on a per-test and aggregated per-block or per-suite. That makes it pretty easy to skim the LHS of a test suite and see where all your time is going:

Does that already satisfy your use case of trying to find slow tests, or do you still want a reporting-style output that you showed here? Rather than baking the code into uTest itself, I feel like instead we should expose the test results to our utest.runner.Framework#teardown function or similar, which would make it trivial for you to implement this or all sorts of similar reports with a few lines of code in your codebase

Yeah let's close this and see how we go


docs: Hooks

Introducing Hooks (@turdiyev) #1

Introducing Hooks (@turdiyev) #1

You should update this issue #1 with the number of current PR
-  * [ ] Introducing Hooks
+  * [ ] Introducing Hooks (@turdiyev) #4

@turdiyev Is it work in progress?

@turdiyev Is it work in progress?

Sorry, I don't get you. Do you mean does this PR reference to the issue?

@turdiyev it's not fully translated

@turdiyev it's not fully translated

hmm, this file is too long to translate. It is in progress, but with onHold status ).

It is in progress

That's the answer to my first question :)
I add [WIP] prefix to PR name and unassigned myself from it. Assign me once you finish everything.

Please read #1 issue For New Translators and For Maintainers sections carefully

Please read #1 issue For New Translators and For Maintainers sections carefully

Thanks. ok. i see.

@turdiyev is it ready to merge?

@turdiyev is it ready to merge?

Yep


Fixed #498

Description
Added dialogs in place where the the product may not be in the database, fixes delay in going back when the user refuses to add the product to the database.
Related issues and discussion
#498
Checklist
Make sure you've done all the following (You can delete the checklist before submitting)

[x] Apply the AndroidStyle.xml style template to your code in Android Studio.
[x] Code is well documented
[x] Include unit tests for new functionality
[x] All user-visible strings are made translatable
[x] Code passes Travis builds in your branch
[x] If you have multiple commits please combine them into one commit by squashing them.
[x] Read and understood the contribution guidelines .

Thanks @Karljoones! Merged


RFC: Use a const initializer for GIL_COUNT if possible

Normally LocalKey::try_with needs to check for the initialization flag to lazily initialize the TLS. This behaves badly with a compiler optimization and it seems that multiple calls to gil_is_acquired() cannot be correctly eliminated. Rust 1.59 added a const { ... } initializer (a special form only allowed here for now) in thread_local! which removes the initialization flag, allowing those kind of optimizations.
I should note that the performance impact is probably minimal, because the check branch is extremely well predicted and the optimization is only possible when every PyO3 code that leads to gil_is_acquired() is inlined, a pretty uncommon situation. I couldn't demonstrate any consistent improvement or regression from my machine, which performance seems to be flaky as well. But at least we would have one less branch there. I'll leave this as an RFC so that someone else can prove or disprove that this is indeed beneficial.

I should note that the performance impact is probably minimal, because the check branch is extremely well predicted and the optimization is only possible when every PyO3 code that leads to gil_is_acquired() is inlined, a pretty uncommon situation. I couldn't demonstrate any consistent improvement or regression from my machine, which performance seems to be flaky as well. But at least we would have one less branch there. I'll leave this as an RFC so that someone else can prove or disprove that this is indeed beneficial.

I think we should apply this change even if we cannot measure an improvement, as long as we do not measure a regression. The reason is that the effects will most likely be hard to measure as you point, mostly due to branch prediction hiding the costs of the branch. But it still one branch less and hence less pressure on the global resources backing branch prediction in the first place. Meaning that effects would most likely only be measurable when these global resources are oversubscribed.
I also think the change is nicely localized and carries a reasonable maintenance cost which we will loose eventually as our MSRV passes 1.59 (which are targetting 1.56 for PyO3 0.20 at the moment, but nothing is set in stone yet).

Agreed, I think this is a worthwhile improvement - even if immeasurable now and requires a conditional flag, with a future Rust version this will have no maintainance cost and be strictly better.

LGTM
bors r+


Exercise debugLog writes in jtx unit tests (RIPD-1393)

Motivation: recently I submitted a pull request where one of the files had 80% coverage.  That file would have had 100% coverage with this change.  That irritated me.  So here's the change.
The change makes it so invocations of debugLog in jtx tests will always generate their text but not log it unless it's FTL. This just means debugLog and beast::Journal will enjoy (almost) the same behavior in jtx tests.  Tests that do not construct a jtx::Env will not see the new behavior.
The behavioral difference between debugLog() and beast::Journal is in the threshold.  If I set debugLog().threshold(kError) (which would match beast::Journal) then STObject.cpp generates a lot of noise in the unit test output.  So debugLog has a threshold of  kFatal.
Reviewers: @mellery451 @ximinez

I would argue that STObject.cpp shouldn't even be logging. From levelization point of view this would be like std::vector logging. It makes no sense.

@vinniefalco True in general, but it's only logging to the debugLog(), which is really just a step above std::cerr, no? Also, debugLog() lives in ripple/basics, while STObject lives in ripple/protocol. Isn't basics levelized below protocol?

OH..... "debugLog".... I see. Its better for ripple-libpp to have no dependencies on other Ripple libraries or else it complicates the build.

@ximinez: Regarding the file that was the impetus, that file is in a separate pull request that has not been integrated into the release.  So no, I actually haven't confirmed that this pull request improves that coverage.  The file in question is TerminateHandler.cpp in this code coverage report: https://codecov.io/gh/ripple/rippled/compare/77999579b535373872d8cce7ddc8b12cdcc39d84...8308ba2a4eb237060a8cc941676eaaaba505049a/diff.  The uncovered lines in that file are all JLOG(debugLog()) related.
I'm fairly confident this code works as intended.  Note that in this pull request STObject.cpp picked up four lines of coverage that were all inside JLOG(debugLog()) related areas.

@ximinez, I'm good with leaving this pull request as is.  There may be some work in the future as ripple-libpp gets its test infrastructure disentangled from jtx.  But when that happens we'll want the same things to happen to both beast::Journal and debugLog().  So, to me, keeping this code together for now feels like the right start.

Merged as https://github.com/ripple/rippled/pull/2005/commits/71b42dcec597cb2b47cae25e93725ea945f4e726


[Proposal] Option to return sparse graph instead of embedding

I was wondering if the following proposal is worth a discussion. I am fully sold on UMAP being conceived as a dimensionality reduction algorithm, whose effectiveness is a function in large part of the quality of its embeddings for downstream tasks.
However, I also think that the abstract sparse graphs ("fuzzy simplicial sets")  UMAP computes as part of its fit routine, prior to the embedding step, have values in their own right. One could compute all sorts of invariants from these graphs directly (you probably already suspect which sort of invariants I would like to access in giotto-tda).
In brief, I'm wondering whether there could be scope for extending the UMAP API as follows: a new init parameter mode could be added to the UMAP constructor. The default value could be 'embedding', leading to the current behaviour. There could then be another value, say 'graph' or 'fuzzy_simplicial_set', and a UMAP instance instantiated with this mode would return a sparse graph instead of an embedding in fit_transform (and skip the embedding step, of course).

You can access the graph representation right now as the graph_ attribute of a fitted model, so that is something. The catch is that that doesn't fit into pipelines as I presume you would like. Some recent changes in 0.5dev have split out the portions of fit into graph construction and embedding construction (not least to aid in some work on an implementation of Parametric UMAP using neural networks to learn an embedding function). Given that it seems like this would be quite feasible. I'll see what I can do.

Thanks @lmcinnes! Interesting to know about the work on Parametric UMAP... is there a reference already? Yes, indeed, the ability to place the graph-only version into a pipeline is where I was coming from. Great to see it might fit into the development roadmap.

All the work on Parametric UMAP is by Tim Sainburg. He has a paper in the works, so there will hopefully be something soon. In the meantime you can check #489 for the PR in progress.


Add to UserGuide known issues and specifications, DeveloperGuide planned enhancements

Resolves

#217,
#219,
#220,
#225,
#261

This PR also addresses #228


Problems continuing to train Experiment loaded from file.

I'm running 0.6.0rc0 and training a recurrent model with LSTM layers.
I would like to load a trained network from file and continue training on additional data. However, when I try this, I get:
File "/Volumes/Archive/ExternalCode/theanets/theanets/main.py", line 193, in itertrain
for i, monitors in enumerate(algo.itertrain(train, valid, **kwargs)):
File "/Volumes/Archive/ExternalCode/theanets/theanets/trainer.py", line 65, in itertrain
params=self.network.params,
File "/Volumes/Archive/ExternalCode/theanets/theanets/graph.py", line 316, in params
return [p for l in self.layers for p in l.params]
File "/Volumes/Archive/ExternalCode/theanets/theanets/layers/base.py", line 204, in params
return self._params + self.activate.params
AttributeError: 'function' object has no attribute 'params'
Inspecting the Experiment.network object, it appears that the params and num_params attributes are corrupted.
Thanks,
Alex

I can see where this went wrong; the activation function probably got serialized without the additional .name and .params attributes (which are basically empty for normal activation functions).
I've updated the code (see 325e43a) in master; if you're using the git master, could you check this out and give it a try?

Okay, continued training seems to work now, thanks! This seems to be a fix in 0.7.0; I guess I'll move to the new (batch-first) indexing now, unless you plan to make this fix available in 0.6.2.

Great!
I just merged this into the v0.6 branch and released v0.6.2.


[7.x]  The problem of polymorphic association

Laravel Version: 7.x
PHP Version: 7.2.5
Database Driver & Version: MySQL 5.7

Description:
I use morphMany for Circle, it's nor work;
Steps To Reproduce:
MySQL Table
Circles

id
content

Comments

id
morph_id
morph_type
content

the code
class Model extends Illuminate\Database\Eloquent\Model {

}

class Cricle extends Model  {
    public function comments()
    {
        return $this->morphMany(Comment::class, 'morph');
    }

}

class Comment extends Model
{

    public function morph(){
        return $this->morphTo();
    }

}

then I use
$circle = Circle::query()->with('comments')->first();
// it is null, but i am sure it has some data
$circle->comments

i print sql, it was work for mysql tool
select * from `comments` where `comments`.`morph_id` in (1) and `comments`.`morph_type` = "AppModelsCircle"

in mysql morph_type is App\Models\Circle  and it work


Random Icon intermittently appears above note title when the toggle for this is off

Describe the bug
A (apparently random) icon sometime appears above the note title when the Toggle Icon in Title setting is off.
This happens even when the note does not have any icon configured
To Reproduce
Steps to reproduce the behavior:

Go to File explorer
Click on a file
(Sometimes) see that an icon has appeared above the note title

Expected behavior
I do not expect to ever see an icon above the note title because I have set the Toggle Icon in Title setting to be off.

I am not able to reproduce this issue. Please take a closer look, if other plugins interfere with Iconize or your data.json file is somehow broken. You can also upload a minimal reproduction vault so that I can test this problem independently.

I have tried and failed to reproduce this with a stripped-down copy of my vault (containing all the plugins & config but a subset of the content). However, I do still see this issue (intermittently) with my full vault.
I'm not able to share the full vault here for confidentiality reasons, therefore it is difficult to take this further.
I suggest that you close this issue now, and if in future I can reliably reproduce this problem with a vault that I can share, I will open a new issue and supply that example.


Context struct for raft test helper functions

The argument list of several raft utility functions has grown over time. They used to only take a nodes map, but now they also take a clockSource and securityConfig. It would probably clean things up to have some kind of raft cluster test context that gets passed to these functions or used as a method receiver for them.
cc @abronan

Bump.
Should we leave this as is (no milestone)?

Yes, no urgency. It's a test cleanup issue.


Add option to highlight items already stacked in inventory

Adds an option to the Ground Items plugin to highlight stackable items which already exists in the players inventory. This is useful when training slayer.
Closes #9332

Fixed review comments and adhered to the rules of getItemComposition by letting it run on ClientThread, I missed that assertion earlier.

Superseded by #13858


Add example for models with custom layers

Codecov Report

Merging #59 (cb577a2) into main (e85e7c4) will decrease coverage by 3.22%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##             main      #59      +/-   ##
==========================================
- Coverage   96.50%   93.28%   -3.23%
==========================================
  Files          29       14      -15
  Lines        2060     1027    -1033
==========================================
- Hits         1988      958    -1030
+ Misses         72       69       -3

Impacted Files
Coverage Δ

RTNeural/ModelT.h
86.13% <57.14%> (-3.19%)
:arrow_down:

RTNeural/activation/activation.h
33.33% <0.00%> (-65.13%)
:arrow_down:

RTNeural/common.h
85.14% <0.00%> (-8.40%)
:arrow_down:

RTNeural/conv1d/conv1d_eigen.h

RTNeural/conv1d/conv1d_eigen.tpp

RTNeural/gru/gru.h

RTNeural/gru/gru.tpp

RTNeural/gru/gru_eigen.tpp

RTNeural/dense/dense.h

... and 9 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 e85e7c4...cb577a2. Read the comment docs.


cannot import thirdparty python lib in inline script

can i import thirdparty lib in script ? like redis , now it says "no module named redis"

i solved my problem by using mitmproxy lib, it's really greate!


Remove multiple literal strings check rule for scala

Thanks for fixing this, @chenjunjiedada! I merged this.


Facing issue with http request with non English characters

Hi,
I am facing issue with non-English characters as a part of POST request URL target.
URL: host/target
std::string target(URL_TARGET);
Steps:

resolver : host, "443"
connect :
ssl handshake

boost::beast::http::requestboost::beast::http::string_body req{ POST, target.c_str(), HTTP_VERSION };
req.set(beast::http::field::content_type, "application/json; charset=utf-8");

write
read

It returns 400 invalid request error.
It works fine if requst url target is English characters only.

As far as I am aware, HTTP URIs only permit the letters a-zA-Z, numbers 0-9, $-_.+ and !*'(),
https://datatracker.ietf.org/doc/html/rfc1738#section-5

For more info.
I am trying to create an upload session using MS graph api: POST /drives/{driveId}/items/{itemId or path}/createUploadSession
where path is file path and contains the non English characters as well.
https://docs.microsoft.com/en-us/graph/api/driveitem-createuploadsession?view=graph-rest-1.0#create-an-upload-session
Note: It works with the manual test tool like Postman with non English characters.

It might be worth using wire shark to see exactly what postman is sending.
There may well be some escaping you need to do when creating the request.

Hi @madmongo1
Thank you for your inputs.. Checked the URL details that were being sent via postman on postman console output.
The encoding was the issue my side. I had to encode the target part of my URL to make it work.
e.g. Had to convert target "/drives/{driveId}/items/root:/再見.zip:/createUploadSession" to "/drives/{driveId}/items/root:/%E5%86%8D%E8%A6%8B.zip:/createUploadSession"
This solved the issue.
Thank you.
ref: https://datatracker.ietf.org/doc/html/rfc1738#section-2.2

Great news! May I close this issue?


Be able to download videos directly from a Livesteam JSON feed.

Tweaked livestream.py to be able to download directly from a JSON feed.

Why do you need to pass the feed url?

Well, I was using this because if you give it an event URL (e.g., https://new.livestream.com/chess24/tatasteelchess), it will only download the videos that initially appear on the page. It does not download the videos that load when you scroll down. You can get those by manually passing it the feed URL's. Granted, the ideal behavior would be for it to find all of the videos in the event, but I couldn't figure out how to do that. Not yet anyway.

I have updated the extractor in 082b1155a36dc9b51424151f80860e52ee30b55e to extract all the videos in an event.

Marvelous.

Fixed in youtube-dl 2015.03.15. See our FAQ on how to update.


Crash on Hyprland launch

Hyprland Version
 System/Version info
0.35.0

Bug or Regression?
Bug
Description
I tried installing Hyprland on a fresh Arch installation and got
[CRITICAL] m_sWLRBackend was NULL! This usually means wlroots could not find a GPU or enountered some issues.
[CRITICAL] Critical error thrown: wlr_backend_autocreate() failed!

I've already reinstalled Arch and tried following different guides on how to install Hyprland, but nothing worked out.
For now, I just installed Arch following installation guide on wiki.archlinux.org, installed Hyprland package from pacman, set XDR_RUNTIME_DIR to /run/usr/$(id -u) and ran Hyprland.
P. S. I know something is said about this error in hyprland wiki, but I don't really now what should I do with launch in the TTY and refer to the wlr logs in RED
How to reproduce
I've already described what I did
Crash reports, logs, images, videos
--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
Vaxry is going to be upset.

Hyprland received signal 6 (Aborted)

Version: 84ab8d11e8951a6551d1e1bf87796a8589da6d47
Tag: v0.35.0

System info:
	System name: Linux
	Node name: arch
	Release: 6.7.8-arch1-1
	Version: #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000

GPU:
	30:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c9) (prog-if 00 [VGA controller])

os-release:

Backtrace:
	#0 | Hyprland(_Z12getBacktracev+0x62) [0x569caa1e7612]
		??
		??:0
	#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0x5c5) [0x569caa1b14a5]
		??
		??:0
	#2 | Hyprland(_Z25handleUnrecoverableSignali+0x4c) [0x569caa12a83c]
		??
		??:0
	#3 | /usr/lib/libc.so.6(+0x3c770) [0x7ac188b6e770]
		??
		??:0
	#4 | /usr/lib/libc.so.6(+0x8d32c) [0x7ac188bbf32c]
		??
		??:0
	#5 | /usr/lib/libc.so.6(gsignal+0x18) [0x7ac188b6e6c8]
		??
		??:0
	#6 | /usr/lib/libc.so.6(abort+0xd7) [0x7ac188b564b8]
		??
		??:0
	#7 | /usr/lib/libstdc++.so.6(+0x9ca6f) [0x7ac188e9ca6f]
		??
		??:0
	#8 | /usr/lib/libstdc++.so.6(+0xb011c) [0x7ac188eb011c]
		??
		??:0
	#9 | /usr/lib/libstdc++.so.6(+0xb0189) [0x7ac188eb0189]
		??
		??:0
	#10 | /usr/lib/libstdc++.so.6(+0xb03ed) [0x7ac188eb03ed]
		??
		??:0
	#11 | Hyprland(+0x708ab) [0x569caa0ea8ab]
		??
		??:0
	#12 | Hyprland(_ZN11CCompositor10initServerEv+0x648) [0x569caa133458]
		??
		??:0
	#13 | Hyprland(main+0x6d2) [0x569caa1133e2]
		??
		??:0
	#14 | /usr/lib/libc.so.6(+0x25cd0) [0x7ac188b57cd0]
		??
		??:0
	#15 | /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7ac188b57d8a]
		??
		??:0
	#16 | Hyprland(_start+0x25) [0x569caa128145]
		??
		??:0

Log tail:
[LOG] Hyprland PID: 14878
[LOG] ===== SYSTEM INFO: =====
[LOG] System name: Linux
[LOG] Node name: arch
[LOG] Release: 6.7.8-arch1-1
[LOG] Version: #1 SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:36 +0000

[LOG] GPU information:
30:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c9) (prog-if 00 [VGA controller])

[LOG] os-release:

[LOG] ========================

[INFO] If you are crashing, or encounter any bugs, please consult https://wiki.hyprland.org/Crashes-and-Bugs/

[LOG]
Current splash: Segmentation fault (core dumped)

[LOG] Creating the HookSystem!
[LOG] Creating the KeybindManager!
[LOG] [hookSystem] New hook event registered: configReloaded
[LOG] Creating the AnimationManager!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 19.20µs. Estimated average calc time: 0.04µs.
[LOG] Creating the ConfigManager!
[LOG] NOTE: further logs to stdout / logfile are disabled by default. Use debug:disable_logs and debug:enable_stdout_logs to override this.
[LOG] Creating the CHyprError!
[LOG] [hookSystem] New hook event registered: focusedMon
[LOG] [hookSystem] New hook event registered: preRender
[LOG] Creating the LayoutManager!
[LOG] [hookSystem] New hook event registered: preConfigReload
[LOG] Reloading the config!
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 7.16µs. Estimated average calc time: 0.03µs.
[LOG] Using config: /home/abec/.config/hypr/hyprland.conf
[LOG] Registered dynamic var "$terminal" -> kitty
[LOG] Registered dynamic var "$fileManager" -> dolphin
[LOG] Registered dynamic var "$menu" -> wofi --show drun
[LOG] Created a bezier curve, baked 255 points, mem usage: 4.08kB, time to bake: 7.16µs. Estimated average calc time: 0.03µs.
[LOG] Registered dynamic var "$mainMod" -> SUPER
[LOG] Disabling stdout logs! Check the log for further logs.
[libseat] [libseat/backend/logind.c:660] Could not get primary session for user: No data available
[libseat] [libseat/libseat.c:79] No backend was able to open a seat
[backend/session/session.c:84] Unable to create seat: Function not implemented
[backend/session/session.c:249] Failed to load session backend
[backend/backend.c:79] Failed to start a session
[backend/backend.c:407] Failed to start a DRM session
[CRITICAL] m_sWLRBackend was NULL! This usually means wlroots could not find a GPU or enountered some issues.
[CRITICAL] Critical error thrown: wlr_backend_autocreate() failed!

very outdated hyprland.
[libseat] [libseat/backend/logind.c:660] Could not get primary session for user: No data available
[libseat] [libseat/libseat.c:79] No backend was able to open a seat
[backend/session/session.c:84] Unable to create seat: Function not implemented
[backend/session/session.c:249] Failed to load session backend

tells you all you need to know. If you don't know how to use arch, we're not an arch tech support forum, try using a distro that is more catered to your abilities.

I haven't figured out what exactly was causing the problem, but using archfi install script worked out for me. I would have actually used archinstall from the very beginning, but I couldn't find a way not to wipe out the entire disk. Maybe this might help someone