ClosedChannelException during RPUSH and BLPOP

Expected: RPUSH should work without any exception
Actual: WriteRedisConnectionException/ClosedChannelException occured
Steps to reproduce: Intermittent error in production
Redis version: 2.8.19
Redisson version: 3.12.4
Redisson configuration
config.useReplicatedServers()
				.setScanInterval(2000)
				.setReadMode(MASTER)
				.setTimeout(20000)
				.setMasterConnectionPoolSize(CacheConstants.MAX_TOTAL_CONNECTIONS)
				.setSlaveConnectionPoolSize(CacheConstants.SLAVE_MAX_TOTAL_CONNECTIONS)
				.setKeepAlive(true)
				.setPingConnectionInterval(CacheConstants.PING_INTERVAL);

When doing RPUSH, it's trying on the connection which is busy with BLPOP on entirely on different queue. Can you let me know how to avoid this issues. I have also added ping interval.
This issue is also happening on connections waiting with command BLPOP.
org.redisson.client.WriteRedisConnectionException@/kibana-highlighted-field@: Unable to write command into connection! Node source: NodeSource [slot=0, addr=null, redisClient=null, redirect=null, entry=MasterSlaveEntry [masterEntry=[freeSubscribeConnectionsAmount=1, freeSubscribeConnectionsCounter=value:50:queue:0, freeConnectionsAmount=1, freeConnectionsCounter=value:230:queue:0, freezed=false, freezeReason=null, client=[addr=redis://<host>:6379], nodeType=MASTER, firstFail=0]]], connection: RedisConnection@1606408253 [redisClient=[addr=redis://<host>:6379], channel=[id: 0x10f2380a, L:/:58058 ! R:<host>/:6379], currentCommand=CommandData [promise=RedissonPromise [promise=ImmediateEventExecutor$ImmediatePromise@53692e5c(success)], command=(BLPOP), params=[usermessage_queue2, 60], codec=org.redisson.client.codec.StringCodec]], command: (RPUSH), params: [botresponse_queue-<host>, PooledUnsafeDirectByteBuf(ridx: 0, widx: 140, cap: 512)] after 3 retry attempts\n\tat org.redisson.command.RedisExecutor.checkWriteFuture(RedisExecutor.java:270)\n\tat org.redisson.command.RedisExecutor.access$100(RedisExecutor.java:58)\n\tat org.redisson.command.RedisExecutor$1.operationComplete(RedisExecutor.java:155)\n\tat org.redisson.command.RedisExecutor$1.operationComplete(RedisExecutor.java:152)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:577)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:551)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:490)\n\tat io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:615)\n\tat io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:608)\n\tat io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:117)\n\tat io.netty.channel.AbstractChannel$AbstractUnsafe.safeSetFailure(AbstractChannel.java:993)\n\tat io.netty.channel.AbstractChannel$AbstractUnsafe.write(AbstractChannel.java:865)\n\tat io.netty.channel.DefaultChannelPipeline$HeadContext.write(DefaultChannelPipeline.java:1367)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContext.java:717)\n\tat io.netty.channel.AbstractChannelHandlerContext.invokeWriteAndFlush(AbstractChannelHandlerContext.java:764)\n\tat io.netty.channel.AbstractChannelHandlerContext$WriteTask.run(AbstractChannelHandlerContext.java:1104)\n\tat io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:164)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:472)\n\tat io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.lang.Thread.run(Thread.java:748)\nCaused by: java.nio.channels.ClosedChannelException: null\n\tat io.netty.channel.AbstractChannel$AbstractUnsafe.newClosedChannelException(AbstractChannel.java:957)\n\t... 12 common frames omitted

it's trying on the connection which is busy with BLPOP on entirely on different queue

Redisson uses connection pool. If connection acquired fro BLPOP it can't be used by other until it finishes.
Can you share your code sample to reproduce it?

@mrniko As mentioned in the description this is intermittent issue in production, can't reproduce it locally. In the exception that I have attached during RPUSH, you can see both commands RPUSH and BLPOP, I don't know what that means.

which Redisson object do you use to invoke BLPOP command?

@mrniko Here is the code to push to queue, and pop from queue.
public void pushToQueue(String queueName, String content) {
		RList<String> list = redissonClient.getList(queueName);
		try {
			list.add(content);
		} catch (Exception ex) {
			LOG.error("Error occurred while adding to queue {}", queueName, ex);
		}
	}

public String popFromQueue(int timeout, String queueName) {
		RBlockingQueue<String> queue = redissonClient.getBlockingQueue(queueName);
		try {
			return queue.poll(timeout, TimeUnit.SECONDS);
		} catch (InterruptedException ex) {
			Thread.currentThread().interrupt();
			LOG.error("Error occurred while popFromQueue() with queue {} with timeout {}", queueName, timeout, ex);
			return null;
		}
	}

Hi @mrniko Have you found any root cause for this exception? And also I suggest to perform automatic retries on a different connection when netty channel closed error happens, instead of retrying 3 times on same corrupted channel. If it's not in scope of Redisson, then please let me know, I will add retries from code in case of WriteRedisConnectionException.

Have you found any root cause for this exception?

Not yet.

And also I suggest to perform automatic retries on a different connection when netty channel closed error happens, instead of retrying 3 times on same corrupted channel

You can change attempts amount in https://github.com/redisson/redisson/wiki/2.-Configuration#retryattempts setting.

@mrniko Thanks for quick reply. Yes, I am aware of the retry settings, I would like to have it, but is it possible to retry on another connection when it receives netty closure exception?

This is how it works.

@mrniko Ok, but in many exceptions I see after trying for 3 times also client receiving error, it's very rare that at the same time other connections also throwing netty channel closed error.

after 0 retry attempts

means at first call

Unable to reproduce the issue. Here is my test
        Config config = createConfig();
        config.useSingleServer().setConnectionMinimumIdleSize(2).setConnectionPoolSize(2).setPingConnectionInterval(100);

        RedissonClient redisson = Redisson.create(config);
        RBlockingQueue<Integer> queue1 = getQueue(redisson);
        AtomicReference<Integer> rr = new AtomicReference<>();
        new Thread(() -> {
            try {
                Integer r = queue1.poll(10, TimeUnit.SECONDS);
                rr.set(r);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();

        for (int i = 0; i < 10; i++) {
            assertThat(queue1.add(i)).isTrue();
        }

        assertThat(queue1.size()).isEqualTo(9);
        assertThat(rr.get()).isEqualTo(0);
        redisson.shutdown();

@mrniko yes understand it’s first attempt from exception, but as per my understanding client should receive error after 3 retry attempts are exhausted.

the first exception is reported https://github.com/redisson/redisson/blob/02befca6de2381dbd7a5e8a843616a7858de5c33/redisson/src/main/java/org/redisson/command/RedisExecutor.java#L188

@mrniko normally in my development unit tests also I don’t receive the error, but in production we are seeing this error intermittently, and Sometimes exception shows BLOP command when doing RPUSH. Sometimes shows 3 retry attempts, sometimes 0 retry attempts. It’s hard to understand where is the issue?

Hi @mrniko Today I see another instance of org.redisson.client.WriteRedisConnectionException where currentCommand=null], command: null, command itself logged as null. It happened only twice in last 7 days in the production. Any guess when this happens when no command to submit?

Right, could you list all Redisson methods you use?

@mrniko Here are the Redisson methods I am using currently.
redissonClient.getBucket(key).expire(tsMillis, TimeUnit.MILLISECONDS);
redissonClient.getBucket(key).trySet(value);
batch.getBucket(key).setAsync(value, ttl, TimeUnit.MILLISECONDS);
redissonClient.getBucket(key).get();
redissonClient.getBucket(key).isExists();
redissonClient.getBucket(key).delete();
redissonClient.getList(queueName).add(content);
redissonClient.getList(queueName).size()
redissonClient.getBlockingQueue(queueName).poll(timeout, TimeUnit.SECONDS);

Unable to reproduce it with the latest version


how to upload image in AFNetworking 3.0?

code like this, but the parameters is likey nil, I don't know why
AFHTTPRequestSerializer *serializer = [AFHTTPRequestSerializer serializer];
NSMutableURLRequest *request = [serializer multipartFormRequestWithMethod:@"POST"
URLString:path
parameters:paraDic
constructingBodyWithBlock:^(id formData) {
                                              [formData appendPartWithFileData:imageData
                                                                          name:@"attachment"
<EMAIL_ADDRESS>                                                                      mimeType:@"image/jpeg"];
                                          } error:nil];

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

NSURLSessionUploadTask *uploadTask = [manager uploadTaskWithRequest:request
                                                              fromData:imageData
                                                              progress:^(NSProgress * _Nonnull uploadProgress) {

                                                              } completionHandler:^(NSURLResponse * _Nonnull response, id  _Nullable responseObject, NSError * _Nullable error) {

                                                              }];

[uploadTask resume];

This is probably best suited for stackoverflow. We use Github to track bugs and feature requests.
:beers:

From our Contribution Guidelines
Asking Questions
We don’t use GitHub as a support forum. For any usage questions that are not specific to the project itself, please ask on Stack Overflow instead. By doing so, you’ll be more likely to quickly solve your problem, and you’ll allow anyone else with the same question to find the answer. This also allows maintainers to focus on improving the project for others.

ths, I got it ~


Declare platforms to build on pgb clone

If you want to build only one platform the clone command will build both and fail if the other platform is not well configured (ie not unlocked).
I tried using update and build separately but two builds are launched (update always  make a build (it would be great to omit the build).
So, my current status is: I want to build for ios and android will be launched and will fail because is locked.

you can just specify  with no other platform tag present and it will only build ios.
this is a limitation of the api on build.phonegap.com's side.

Do you know if something changed on the API? When using clone with android-key, sometimes the key does not change and the build fails (since 2-3 weeks ago)


Micropub channels

Adds support for the channels extension in Micropub requests. Fixes #773.
This can be used to dictate where a post gets published within a publication, and potentially allows for posts of the same type to be published to different locations.
Adds:

New publication.channels configuration option
Querying /micropub?q=config includes a channels property with configured channels
Querying /micropub?q=channel returns configured channels

If channels are configured:

The default channel is the first value given for publication.channels
If a request includes an mp-channel value, it gets saved to properties.channel
If a request doesn’t include mp-channel, the default channel UID is used
If a request includes values for mp-channel that don’t exist in publication.channels, they’ll get ignored. If no values match, the default channel UID is used
Post form shows a ‘Channels’ field under ‘Advanced options’, with checkboxes to select for each of the configured channels
Post page shows channels specified for a given post
A {channel} token is available to use in paths; if multiple channels are assigned to a post, these will get separated using the slug separator character

Example
In publication config:
publication: {
  channels: {
    en: {
      name: "English"
    },
    de: {
      name: "German"
    }
  },
  postTypes: {
    article: {
      post: {
        path: "_posts/{channel}/{yyyy}-{MM}-{dd}-{slug}.md",
        url: "{channel}/{yyyy}/{MM}/{slug}"
      }
    }
  }
}

GET /micropub?q=channel

"channels": [
  {
    "uid": "en",
    "name": "English"
  },
  {
    "uid": "de",
    "name": "German"
  }
]

Published to /en/2024/11/channels:
POST /micropub
Content-Type: application/json

{
  "type": "h-entry",
  "properties" {
    "mp-channel": "en",
    "name": "Channels",
    "content": "Hello, world."
  }
}

Published to /de/2024/11/kanale:
POST /micropub
Content-Type: application/json

{
  "type": "h-entry",
  "properties" {
    "mp-channel": "de",
    "name": "Kanäle",
    "content": "Hallo Welt."
  }
}

How should this value be used by presets?
Right now, if a publication has channels configured, the default (or chosen) channel(s) will get saved to properties.channel, so for example a post might look like this:
----
published: 2024-11-16
title: Channels
channel:
  - en
----
Hello, world.

I think channels are analogous to Eleventy collections, so potentially for that preset, the channel property should be used for tags? But you might want to use properties.category for the tags field instead. Not sure what is the right approach, but can figure that out in a separate PR.
Might this value have equivalent representations in other platforms, too?
Should a default channel be enforced?
Right now, a default channel is enforced. That means, while you might only want to use the channel property for the output path, the channel property would still get added to frontmatter properties as well. Maybe that’s fine (though this’d make be twinge…)

@benjaminparry This might solve the issue you’ve got with wanting to post articles to 2 different locations on your website.
@gerwitz You had previously asked about having more ways to organise posts; would this help?

Indeed, this is perfect for my case

@gerwitz Out of interest, how would you use this feature (do you use 11ty)? Is it a problem that a default channel is always set if no channels are provided?

Well that escalated quickly! I’ll find some time to catch up this week. Thanks Paul!


Deployment on GCP deployment manager fails

As of today, the deployment on GCP (via the deployment manager installation)  fails. The cluster version 1.9.6-gke.0 doesn't seem to be supported (anymore...?).
{
"ResourceType":"container.v1.cluster",
"ResourceErrorCode":"400",
"ResourceErrorMessage":{"code":400,"message":"Version \"1.9.6-gke.0\" is invalid.","status":"INVALID_ARGUMENT","statusMessage":"Bad Request","requestPath":"https://container.googleapis.com/v1/projects/primeval-node-185717/zones/europe-west1-b/clusters","httpMethod":"POST"}
}

Apparently this has been resolved in the mean time, the deployment manager installation works again for me, using a newer version now.
Maybe others can confirm?
However, if I want a newer Istio version, such as 0.8, I still need to use helm for GCP for now...


python312Packages.momepy: 0.8.1 -> 0.9.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python312Packages.momepy is: Urban Morphology Measuring Toolkit
meta.homepage for python312Packages.momepy is: https://github.com/pysal/momepy
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.9.0 with grep in /nix/store/pymklpglag8h8bw96xwsinh653aghqpp-python3.12-momepy-0.9.0
found 0.9.0 in filename of file in /nix/store/pymklpglag8h8bw96xwsinh653aghqpp-python3.12-momepy-0.9.0

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

python311Packages.momepy
python312Packages.momepy

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/pymklpglag8h8bw96xwsinh653aghqpp-python3.12-momepy-0.9.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python312Packages.momepy https://github.com/r-ryantm/nixpkgs/archive/9c6695c525ebc6264197bdfb7a0089c5b1b4fe14.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/9c6695c525ebc6264197bdfb7a0089c5b1b4fe14#python312Packages.momepy

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/pymklpglag8h8bw96xwsinh653aghqpp-python3.12-momepy-0.9.0
ls -la /nix/store/pymklpglag8h8bw96xwsinh653aghqpp-python3.12-momepy-0.9.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review

x86_64-linux

:white_check_mark: 4 packages built:

python311Packages.momepy
python311Packages.momepy.dist
python312Packages.momepy
python312Packages.momepy.dist

Maintainer pings
cc @autra @imincik @l0b0 @nh2 @nialov @sikmir @willcohen for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 358322

x86_64-darwin

:white_check_mark: 4 packages built:

python311Packages.momepy
python311Packages.momepy.dist
python312Packages.momepy
python312Packages.momepy.dist


thread: Enrich and standardize disk usage logs

This modifies the sufficient log space message for threads from:
  Thread 1 disk space is sufficient: 11 > 10
  Thread 1 disk usage is high (packet path=/tmp/foobar): 10% < 10% free\n
to be:
  Thread 1 disk space is sufficient (packet path=/tmp/foobar): 11% free > 10% threshold
  Thread 1 disk usage is high (packet path=/tmp/foobar): 10% free <= 10% threshold
We also make minor additions to comments.

Thanks!


Added in a perl script to check LogMessages

Addresses  #690.
This script checks for:

Unused strings in LogMessages.cs
Mismatching string IDs and string value prefixes
Duplicate IDs across LogMessages.cs files

There is currently some unused code in this script that may need to be modified in order to support checking for incorrect argument count.

@mafurman,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:shipit:


[ux][landing page] Description, license spacing

Package version (if known): 6.0
Describe the bug
The whitespacing between subjects, description and licenses should be more proportioned and deliberate. See:

Steps to Reproduce

Visit a record landing page filled with description, licenses and subjects

I am sure @jennur can suggest something better :)

Fixed in landing page redesign


⚠ Bofrost.at has degraded performance

In 0593327, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1447 ms

Resolved: Bofrost.at performance has improved in 48d781b.


chore: move sql code of UserSetting into Driver

Maybe it'll conflict with #2281 because both of them add code in the same line of Driver, I'll fixed it if it happened.


Lost "tested" data for St. Lawrence County, NY (fips 36089)

Original issue https://github.com/covidatlas/coronadatascraper/issues/1062, transferred here on Wednesday Jul 15, 2020 at 19:55 GMT

We updated our CDS data at Sat Jun 27 17:41:23 UTC 2020 and lost all values from the "tested" column for St. Lawrence County, New York.

(Transferred comment)
Hi @mikelehen - which file were you using, downloaded from which URL?  Cheers, jz

(Transferred comment)
@jzohrab
We download https://coronadatascraper.com/timeseries.csv regularly.  The copy we pulled on June 25th had the data. The copy we pulled on June 27th did not.
Specifically:

https://raw.githubusercontent.com/covid-projections/covid-data-public/9e21ff74829bf04c3e5d8629f05f1a6e03e671c8/data/cases-cds/timeseries.csv has the data.
https://raw.githubusercontent.com/covid-projections/covid-data-public/9a874045f19648911d0adf0c9de8626d9cfe7876/data/cases-cds/timeseries.csv does not.

First CSV (note 16266.0 for "tested" column):

"St. Lawrence County, New York, United States",county,,St. Lawrence County,New York,United States,107740.0,44.533,-75.193,https://health.data.ny.gov/api/views/xdss-u53e/rows.csv?accessType=DOWNLOAD,county,America/New_York,217.0,,,,16266.0,,,,,,1.0,2020-06-24

Second CSV:

"St. Lawrence County, New York, United States",county,,St. Lawrence County,New York,United States,107740.0,44.533,-75.193,https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv,county,America/New_York,217.0,3.0,,,,,,,,,1.0,2020-06-24

I guess the problem is that you switched from the health.data.ny.gov data source to NYT for some reason?  Do you know why?

(Transferred comment)
Hi @mikelehen , thanks for the detail.
It's possible that one of the sources wasn't available, or this project failed to reach it, on that date.  If so, the CDS report would have used the data returned by another source.  The selection is determined by the source's priority.  Both of those sources are "timeseries" sources, meaning they return full histories of data, so it's possible that we'll have the data again in a future run as you expect it.
Perhaps check a newer version of the report, and let me know.  Thanks, z
(By the way, we're gradually switching this project over to a new one called Li, and the reports there are generated differently, though they should have all of the data points that you need.  Please check out the issue in that project: https://github.com/covidatlas/li/issues/284.  Right now, reports are in "beta", but I'll likely be promoting them to a proper production release soon.  I'll add you to that issue for visibility.  Join us on our Slack if you have any questions. Cheers!)

(Transferred comment)
@jzohrab Thanks.  Yeah, we're intending to start poking at Li soon, but all of our existing pipeline is using the existing CDS data.  To be clear, I work with https://covidactnow.org/ which uses CDS for much of our county data.
To be 100% clear, CDS lost the data ~6/24 and has not gotten it back in the past 3 weeks.  AFAICT https://health.data.ny.gov/api/views/xdss-u53e/rows.csv?accessType=DOWNLOAD still has the data.  So I don't know why CDS has switched sources to one that has less data.

(Transferred comment)
Hi ML, thanks for the note. I’ll take a peek when I’m able.
We wouldn’t have switched sources ... this code hasn’t changed in a long
while as we are working on moving all to Li. Possibly one source became
inactive and the reporting code switched to the next available source ... I
can’t say why.
We should use the source you mentioned.
Cheers and thanks, jz
El El jue, jul. 16, 2020 a la(s) 9:27 p. m., Michael Lehenbauer <
<EMAIL_ADDRESS>escribió:

@jzohrab https://github.com/jzohrab Thanks. Yeah, we're intending to
start poking at Li soon, but all of our existing pipeline is using the
existing CDS data. To be clear, I work with https://covidactnow.org/
which uses CDS for much of our county data.
To be 100% clear, CDS lost the data ~6/24 and has not gotten it back in
the past 3 weeks. AFAICT
https://health.data.ny.gov/api/views/xdss-u53e/rows.csv?accessType=DOWNLOAD
still has the data. So I don't know why CDS has switched sources to one
that has less data.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/covidatlas/coronadatascraper/issues/1062#issuecomment-659774415,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAMPWDJCDBZRNCJZWOYWGZLR36SI5ANCNFSM4O24DLCA
.

Hi @mikelehen, following up (this issue was in the old project, at https://github.com/covidatlas/coronadatascraper/issues/1062).  Is this still an issue?
I just ran the us/ny scraper, and got the following data for St. Lawrence:
Local cache hit for: us-ny / 2020-08-09
scraping data from 2020-08-08
┌─────────┬─────────────────────────────────┬──────────────┬────────┬─────────┐
│ (index) │           locationID            │     date     │ cases  │ tested  │
├─────────┼─────────────────────────────────┼──────────────┼────────┼─────────┤
│    0    │ 'iso1:us#iso2:us-ny#fips:36001' │ '2020-08-08' │  2595  │  82889  │
...
│   49    │ 'iso1:us#iso2:us-ny#fips:36089' │ '2020-08-08' │  263   │  30258  │
...

Please check the reports at https://covidatlas.com/data and if it's good, you can close this issue.  Thank you! jz

Thanks @jzohrab.  Yeah, it seems to have gotten fixed at some point.  I can't close the issue (only comment) since it was migrated, but please go ahead.

Thank you!


Persistent markers on map

I'm on the land use "Cropland"
I click on "Warning" and re-click on Cropland
Some Warning's marker don't disappear

ok


How build external .hex file for your bootloader?

Hello, dear friend. The following problem arose: I build your project, did everything as you described in the README file, and the LED from your hex files that are in your repository is blinking successfully.
Next, I tried to generate another hex file. To do this, use __FLASH.ld in :
/* Memories definition */
MEMORY
{
RAM    (xrw)    : ORIGIN = 0x20000000,   LENGTH = 20K
FLASH    (rx)    : ORIGIN = 0x08004000,   LENGTH = 48K
}
/* Sections */
but after I put together my project with these changes and got my hex LED flashing file, and using your loader, I didnt get the LED flashing on the bluepill board ((

Because of this, I also had a question: what are the rules for assembling your hex file for your loader? because after reading the readme, I'm sorry I didn't find it.

And of course, the application needs to be configured correctly. This means e.g. that VTOR must be configured according to the start address.
Did you check whether your main application is running correctly when started via debugger (e.g. ST-Link)?

Hi @tusker-tools! Yes, main application running correctly)
Thanks, everything worked when I rebuilt the project! And also, in addition to address changes in __FLASH.ld:
/* Memories definition */
MEMORY
{
RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K
FLASH (rx) : ORIGIN = 0x08004000, LENGTH = 48K
}
/* Sections */
AND I'm added offset of the interrupt vector table in main.c
int main(void)
{
/* USER CODE BEGIN 1 /
__disable_irq();
SCB->VTOR = FLASH_BASE | 0x4000;
__enable_irq();
/ USER CODE END 1 */
....
}
it didn't work without this offset)). Thank you very much!
Now I'm trying to change the loader activation button, and I can't do such a simple operation.
/* Private defines -----------------------------------------------------------/
//#define BTLDR_EN_Pin LL_GPIO_PIN_0
//#define BTLDR_EN_GPIO_Port GPIOA
/ USER CODE BEGIN Private defines /
#define BTLDR_EN_Pin LL_GPIO_PIN_1
#define BTLDR_EN_GPIO_Port GPIOB
/ USER CODE END Private defines */
It turns out like this: i changed the button in this way, pressed the corresponding pin to the ground, MSD started - but then when dragging the file.hex there was a hangup

Cool that you got at least the minimal example running.
Can you confirm that it's really the changed pin which is causing the hangup during .hex flash process? Does it work corractly, if you undo the pin change?
Then I can't imagine a reason for this behavior.
Can you zip your project folder and upload it here (or better create a fork and upload your changes)? I'll try to have a look then.

Hi @tusker-tools!
Today I got a new board with a new chip and everything worked!! Thank you very much for your help!


Simplify redirects to accept an array of strings as redirects and rewrite rules in order

:+1:

woohoo!


Forcefield

Real Quick. How does the force-field work?

The direction placed determines the direction the force field will extend
(facing player if memory serves).  Apply Redstone signal to extend, remove
Redstone signal to retract

Darn enter key.
It extends up to 32 blocks and will stop extending if it hits anything
other than air

Awesome thx! So ships cannot pass through it then?

They should, the force fields are solid

Should not...
On Apr 3, 2017 11:40 AM, "Taylor Loz"<EMAIL_ADDRESS>wrote:

They should, the force fields are solid

Ok thx


I would like to reindent vertical movement using LSP format instead of =

Contributing guidelines

[X] I have read CONTRIBUTING.md
[X] I have read CODE_OF_CONDUCT.md

Module(s)
mini.move
Description
Using LSP to format the line is better than = because it takes into account everything to indent the line (code, Prettier, ESLint, etc..). Probably the performance of doing this is worst, but the dev experience will be better.
It would be nice if it is an optional configuration.
https://github.com/echasnovski/mini.nvim/assets/25249581/e3fdf8d0-4e56-4d23-a9bf-4e5a9d2a266f

Sorry, but no, this is out of scope.
I would suggest to disable formatting by setting options.reindent_linewise to false and then manually format after movement.


Adding CNI integration test suite

Propose adding CNI test suites based on the existing pilot and security suite:
integ-pilot-k8s-cni-tests_istio
integ-security-k8s-cni-tests_istio

This will be useful to catch tricky CNI bugs, make sure feature parity with istio-init, and give us confidence for beta graduation.

Some experiment run: https://github.com/istio/istio/pull/31718
cc @therealmitchconnors @howardjohn @nmittler @stevenctl for comment.

Should we do what we do for the k8s version tests? Which is run all test suites? the slow test time is fine for postsubmit, its only like an hour anyways

Yeah, that is exactly what I am planning to do.

This is done.


Recursive-function-definition syntax error leads to unhelpful compiler behavior

I think maybe the documentation (and possibly the implementation) changed regarding recursive functions - I had some test functions defined so:
!mul2*N : !{case n : Nat} -> Nat
| succ => succ(succ(mul2(n)))
| zero => zero
* zero

This worked a week or two ago, but I believe that the initial ! should now be a #.  This is fine.  However, the compiler does not tell me that's the problem.  What it tells me is that that function and all functions after are undefined:
> fm hello/natmain
Definition not found: hello/natmain

The compiler should probably, instead, tell me that the definition of mul2 is incorrect.

Something else weird; maybe indicative of a broader problem: consider the following test code:
import Base@0 open

lambdatest
  let add = {x : Word, y : Word} : Word
    x + y
  let addOne = add(1)
  let map = {f : {x : Word} -> Word, l : [Word, Word]} : [Word, Word]
    [f(fst(l)), f(snd(l))]
  map(addOne, [3,4])

main
  True

and the following shell stuff:
C:\Users\mewer\Documents\formality\hello>fm test/lambdatest
0

C:\Users\mewer\Documents\formality\hello>fm test/main
Definition not found: test/main

...Actually, it only now occurs to me that the output of lambdatest wrong.  Of the wrong type, even, despite that
C:\Users\mewer\Documents\formality\hello>fm -t test/lambdatest
Word

completes, incorrectly typing the expected output as Word.  Actually, looking again, l is used twice in map, and that should cause a type error, yeah?
I dunno, something weird is going on.  I did npm install -g formality-lang to update my runtime, and deleted fm_modules to keep versions together (it should probably warn you on run if they aren't - I was getting syntax errors from the definition of Bool), so those ought to be synced, now.  Any ideas?

import Base@0 open

lambdatest
  let add = {x : Word, y : Word} : Word
    x + y
  let addOne = add(1)
  let map = {f : {x : Word} -> Word, l : [Word, Word]} : [Word, Word]
    [f(fst(l)), f(snd(l))]
  map(addOne, [3,4])

main
  True

If i insert this into the provit.fm, i get the following output:
import Base@0 open

lambdatest
  let add = {x : Word, y : Word}

Saying lambdatest is a Word.
(See provit.fm)
Also you are using f and l in the map function twice.
If you make a top level function out of it, you get an error there because of the linearity:
map : {f : Word -> Word} -> {l : [:Word, Word]} -> [:Word, Word]
  [f(fst(l)), f(snd(l))]

I'm not sure what you're saying.  Do you mean that you think lambdatest ACTUALLY DOES evaluate to a Word?  If so, what am I misunderstanding about Formality syntax?  The definition I gave above for lambdatest looks to me like it does the following, in order:

Defines a lambda add which takes two Words and outputs a Word: the sum of the two inputs.
Defines a second lambda addOne which I think curries 1 onto add, or however you say that, resulting in a function that accepts one Word and outputs the Word that is 1 greater.
Defines a third lambda map, which takes a function from Word to Word, and a pair of Words, and outputs a pair of Words (by applying the first argument to both elements of the second argument).
It then calls map with addOne and [3,4] as arguments, which should (if you're ignoring the copying problem) return [4,5].  (It HAS done so, in previous builds, and I think the type-checker returned a type error.  I can't remember, though.)

If the code is syntactically correct, the type of lambdatest should be [Word, Word].  (Or maybe [:Word, Word]?)
If the code is NOT syntactically correct, the type-checker should reject it.
There are therefore no circumstances I see under which lambdatest is of type Word.
Noting that I am using f and l twice each in map (which I did not at the time understand to be disallowed), I believe the code to be incorrect, and the type-checker should yield an error rather than return a type.  As the type-checker returns Word, a result previously shown to be impossible, it follows that the type-checker (or something related) has a bug.
Am I missing something?

imo it should throw an error.
and i don't know why it would evaluate to a word.
but looking at the provit output, it seems like it somehow stops compiling after the add function.
this would explain why there is no main function in the output.
does the typechecker throws an error if you explicitly specify the type of lambdatest?
i didn't had the time to look at the code to search for the problem and I'm not part of the moonad team.
so maybe it would be best to wait for @MaiaVictor or another team member.

Oh, I see; you were just adding information, rather than providing an explanation.  Ok, sorry/thanks.
...
It looks like there's something weird about how I'm defining the lambdas; in particular, the return type of the lambda.  If I remove it, so
let add = {x : Word, y : Word}
    x + y

instead of
let add = {x : Word, y : Word} **: Word**
    x + y

(and do similarly with the other lambdas)
then it behaves as expected.  I'm looking over the docs again, and I thought there had been something showing the let lamda = DEFINITION somewhere, but I'm not seeing it.  I do, however, see:
An inline function (lambda expression):

main : Word
  ({x : Word, y : Word} x + y)(40, 2)

and also
You can annotate the full type rather than the type of each variable:

main : Word
  (({x, y} x + y) :: Word -> Word -> Word)(40, 2)

but maybe there's something particular about the way I've combined the two?  Experimentation is required.  (Regardless, it seems clear the type-checker should be yielding an error on the original lambdatest.)

I dunno, as I mess with stuff, it just seems like the compiler errors have suddenly and drastically decreased in helpfulness, in the past week.  No stack traces anymore, for instance.

The type-checker will not be very good giving error messages about things it do not understand right now, but we can surely improve it. Let me see your examples one by one.
!mul2*N : !{case n : Nat} -> Nat
| succ => succ(succ(mul2(n)))
| zero => zero
* zero

Here, we should have # instead of !, and halt: instead of *, because the old syntax changed. The compiler says:
Definition not found: _8/mul2

Very unhelpful. What happens here is that the compiler parses an "empty definition" and stops parsing before it even reaches mul2. I'll now raise an error when that happens. This program now generates the following message:
[PARSE-ERROR]
Expected a definition.

I noticed the problem on line 3, col 0:
   1| import Base
   2|
   3| !mul2*N : !{case n : Nat} -> Nat
   4| | succ => succ(succ(mul2(n)))
   5| | zero => zero
   6| * zero
   7|
   8| main mul2
   9|
But it could have happened a little earlier.

Much better.
Now this:
lambdatest
  let add = {x : Word, y : Word} : Word
    x + y
  let addOne = add(1)
  let map = {f : {x : Word} -> Word, l : [Word, Word]} : [Word, Word]
    [f(fst(l)), f(snd(l))]
  map(addOne, [3,4])

Here, what happens is that lambdas aren't annotated that way, so, the parser stops at the : Word part of the first line. The problem, though, is that instead of raising an error, it was parsing an empty string, which ended up being interpreted as the number 0. That's why you got Word types many times. Awful! Now the compiler won't parse empty strings as numbers anymore, showing the following error:
[PARSE-ERROR]
Unexpected symbol.

I noticed the problem on line 4, col 33:
   1| import Base
   2|
   3| lambdatest
   4|   let add = {x : Word, y : Word} : Word
   5|     x + y
   6|   let addOne = add(1)
   7|   let map = {f : {x : Word} -> Word, l : [Word, Word]} : [Word, Word]
   8|     [f(fst(l)), f(snd(l))]
   9|   map(addOne, [3,4])
  10|
But it could have happened a little earlier.

Now, to fix your actual program, we could do this:
lambdatest

  let add = {x : Word, y : Word}
    (x + y) :: Word

  let add_one = add(1)

  let map = {f : !{x : Word} -> Word, l : ![:Word, Word]}
    dup f = f
    dup l = l
    # [f(fst(l)), f(snd(l))] :: [:Word, Word]

  map(#add_one, #[3,4])

Some notes though:

Annotated anonymous lambdas ({x : Word, y : Word} x + y) don't require you to annotate the return type. If you want to, though, you must use :: on the body.

You can't use f twice on map without boxing it (except if you disable the stratification check, but then you don't get termination/consistency).

This is how you'd do it the most idiomatic way, exploiting boxed definitions, etc.:
add : {x : Word, y : Word} -> Word
  x + y

#map : {f : !{x : Word} -> Word} -> !{pair : [:Word, Word]} -> [:Word, Word]
  get [a, b] = pair
  [f(a), f(b)]

#main : ![:Word, Word]
  let add_one = add(1)
  <map(#add_one)>([3,4])

Thank you so much for sharing your frustrating experience, keep those posts coming, that's very important to help me improve our tools.

Thanks!  As I updated the code, the errors pointed to (near) the next erroneous thing, as desired.
(I find it a little weird that you can't include the return type of a lambda with the other part of its type.  I'd have expected to write their types the same as for an ordinary function.  Was there a particular reason for the difference?)
The code you provide runs and type-checks.  One thing I'm unclear on - why can you use f twice in map?

@Erhannis

This is a lambda: {x : Word} x, which is a term
This is a forall: {x : Word} -> Word, which is a type

These are all the same:
word_id : Word -> Word
 {x} x

word_id : Word -> Word
  {x : Word} x :: Word

word_id : {x : Word} -> Word
  x

It's a little like -XScopedTypeVariables in Haskell:
Prelude> :set -XScopedTypeVariables
Prelude> (\(x :: Int) -> 3 :: Int) 4
3

or
{-# LANGUAGE ScopedTypeVariables #-}

int_id (x :: Int) =
  3 :: Int

I kiiiindof get it, I think, except it seems like it boils down to "that's how we define lambdas", which isn't really a reason.  It's just, the first half of the lambda sure LOOKS to me like a type, but an incomplete one.  It defines the inputs of the lambda, but apparently can't define the outputs as well?  That seems strange.  It's not fundamentally problematic; it just seems to me more intuitive to allow lambdas to be typed in the same way that you type normal functions.  Is there a reason their syntax is made different?
(Also, still, how come you can use f twice in map?)

@Erhannis it is the reason though. The syntax for anonymous lambdas is just {a : A, b : B, ...} return_body, which includes annotations only for argument types. That's because this is always enough, so there is no reason to force the user to annotate the return type. Top-level definitions are different, you must annotate the full type of them, which, in the case of functions, is a forall {a : A, b : B, ...} -> ReturnType. This is not a difference between lambdas and functions, it is a difference between expressions and top-level definitions. But I can see your point and will keep that in mind.
You can use f twice in map because it is boxed! Notice its type:
#map*n : {~A : Type, ~B : Type, f : !A -> B} -> ! {case list : List(A)} -> List(B)

Here, f comes before the function's !, which means it is a boxed level-0 argument instead of an unboxed level-1 argument. That means that it can be used as many times as you want inside the body of map, but, in exchange, it can't vary dynamically (i.e., f can't read information from terms on level-1, so it is essentially "static").

Hmm.  Ok, thanks.


Use JDK 21

Use JDK 21. It should be all possible to replace Java 17 with Java 21. We just need to be careful with the stuff actually now removed from Java, such as Thread.stop() (NavMeshGenerator.java).
NavMeshGenerator should maybe be rewritten to use NB provided thread pools anyway. Unfortunately whatever we do, we can't fix it completely. As changing stop to interrupt doesn't in this case do anything. The library doesn't support it as far as I can remember. Let's just say that is the library's problem.

Since Java 1.1 or 1.2, the standing "joke" has been that the only safe way to murder a thread in Java is System.exit().  It's good that they are finally getting rid of Thread.stop()... code that was using it is already opening itself up to a raft of other problems.

Here is related issue: https://github.com/jMonkeyEngine/sdk/issues/217. And one note that we should wait for jME 3.7. User projects with JDK 21 + pre 3.7 jME + LWJGL 3 will get a nasty warning to the console. It does work but better not have any extra scares for the user. Also https://github.com/jMonkeyEngine/sdk/issues/556 to get rid of any possible warnings. And NB 21.


triple-slash reference added only if another triple-slash reference exists

🔎 Search Terms
triple-slash reference added
🕗 Version & Regression Information

This is the behavior in every version I tried

⏯ Playground Link
Workbench
💻 Code
// @declaration: true
// @filename: /a/node_modules/extra/index.d.ts
interface Error2 {
    stack2: string;
}

// @filename: /a/node_modules/something/index.d.ts
/// <reference types="extra" />
// ^ remove above and it will no directive will be added to app.d.ts
export function foo():Error2;

// @filename: /a/app.ts
// reference to extra will be added here if there exists another reference to extra
export function foo() {
    return null! as Error2;
}

🙁 Actual behavior
/// <reference types="extra" />  is added to app.d.ts only if another reference directive to extra already exists (in this example one from node_modules)
🙂 Expected behavior
/// <reference types="extra" /> is always added since extra is required for app.d.ts to be valid
Additional information about the issue
This was discovered while trying to understand reference directives in the context of isolated declarations.

@andrewbranch do you have any insight on if this behavior is intentional?

I feel like I recently stumbled across a piece of code that doesn’t add type reference directives if the types are found in typeRoots, but I don’t remember exactly where that was, and it feels unjustifiable to me.

This seems to be intentional, but I still don't understand why:
function getTypeReferenceDirectivesForEntityName(node: EntityNameOrEntityNameExpression): [specifier: string, mode: SourceFile["impliedNodeFormat"] | undefined][] | undefined {
    // program does not have any files with type reference directives - bail out
    if (!fileToDirective) {
        return undefined;
    }

Also fileToDirective is populated from the host (const resolvedTypeReferenceDirectives = host.getResolvedTypeReferenceDirectives();) and getResolvedTypeReferenceDirectives just returns the cache of reference directives that were found while parsing the program SourceFiles.
This code seems to be really old (2016 by Vladimir Matveev)


Remove extra 'name' entries in the container spec

Are you getting your CLA?

Closing this as stale.


Sourcemap not working properly with CommonJS - because of added codePrefix while creating the cjs-Module-Object

When debugging with vs-code im allways on line ahead in cjs-modules.
I think that is the culprit ;)
https://github.com/microsoft/ClearScript/blob/6ce0ef74b9ae0da6e2bb1b8f62f5270c9bb8c6aa/ClearScript/JavaScript/CommonJSManager.cs#L132
Using no newline at the end might fix the problem.
My Workaround:

add one ";" at the beginning the sourcemap manually/in the build process

original:
{
  "mappings": "AAKkD;AAMqC;AAuBvF"
              ^ insert here
}

quick and dirty fix:
{
  "mappings": ";AAKkD;AAMqC;AAuBvF"
               ^ inserted here
}

Thanks for reporting this, @juwens!

@juwens BTW, are you using V8 or JScript?

i'm using V8.
specifically :

https://www.nuget.org/packages/Microsoft.ClearScript/6.0.2
https://www.nuget.org/packages/JavaScriptEngineSwitcher.V8/3.5.5
https://www.nuget.org/packages/JavaScriptEngineSwitcher.V8.Native.win-x86/3.5.5

Hi @juwens,

I can create a minimal sample. But it might take a few days.

That shouldn't be necessary, especially since this is a debugging issue, but it would be great if you could provide a brief description of how to reproduce the issue. For example, what tools are you using to process your JavaScript code and create the sourcemap?
Thanks!

webpack5 + ts-loader:

application code written in typescript with ES2015-Style import/export
webpack

transpile with ts-loader
bundle
output

one CommonJS Module
map file

Check source <-> output <-> map-file correctness with https://sokra.github.io/source-map-visualization/
use module with ClearScript with
var engine = new V8ScriptEngine("", V8ScriptEngineFlags.EnableDebugging | V8ScriptEngineFlags.AwaitDebuggerAndPauseOnStart, 9222);

var javascriptStr = System.IO.File.ReadAllText("c:/dev/proj/dist/bundle.js");
var fileUri = new Uri("c:/dev/proj/dist/bundle.js");
var mapUri = new Uri(fileUri  + ".map");
var documentInfo = new DocumentInfo(fileUri)
{
    Category = ModuleCategory.Standard,
    SourceMapUri = mapUri,
};
var doc = new StringDocument(documentInfo, javascriptStr);

engine.DocumentSettings.AddSystemDocument("foobar", doc);

var js = @"
  const foobar = require('foobar');
  let inst = new foobar.MyClass();
  inst.DoSomething();
";

engine.Evaluate(new DocumentInfo
{
    Category = ModuleCategory.CommonJS,
    Flags = DocumentFlags.None,
}, js);

then attach with VS-Code with debugger 'node' or 'pwa-node':
"launch": {
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Attach to ClearScript V8 on port 9222",
            "type": "node",
            "request": "attach",
            "protocol": "inspector",
            "address": "localhost",
            "port": 9222
        }
    ]
}

Hi @juwens,
Unfortunately we haven't found a way to fix this scenario in ClearScript.
Removing the CommonJS preamble newline doesn't work. It leaves the first-line source mappings broken, which is especially problematic in this case, as all the code is packed into that line.
We also tried to use a V8 feature whereby the host can specify where the code starts within a document, but that only served to confuse debuggers further.
On the other hand, adjusting the source map as you suggest works perfectly. It would be great if webpack had some way to specify an offset for the source map, but that doesn't seem to be the case. Luckily the source map is a JSON object that shouldn't be difficult to patch automatically during the build process.
Sorry!

@ClearScriptLib
Thanks for the effort.

i'm using V8, specifically :

https://www.nuget.org/packages/JavaScriptEngineSwitcher.V8/3.5.5 (which containes a bundled ClearScript 6.0.2)
https://www.nuget.org/packages/JavaScriptEngineSwitcher.V8.Native.win-x86/3.5.5

I guess that's not ideal, because i'm not using your pure package.

@juwens In the JavaScript Engine Switcher version 3.9.0 was solved this problem. Now the JavaScriptEngineSwitcher.V8 package depends on the official package (Microsoft.ClearScript.V8). After upgrading to version 3.9.0, you should also replace the JavaScriptEngineSwitcher.V8.Native.win-x86 package by the Microsoft.ClearScript.V8.Native.win-x86 package.


Add custom semantics action to hasSemanticsData matcher

Also removes @visibleForTesting annotation by necessity

cc @DaveShuckerow

Closing in favor of #19665


Internal Error

Hello, im a moderator in a server and recently we had a wiremod internal error. This error began when we switched maps to gm_fork. Ill post some screenshots and the console text below.
Any help would be appreaciated as we don't know what originated the issue or how to fix it. Thanks!
Console showed this:
"Internal error - please report to https://github.com/wiremod/wire/issues
lua/entities/gmod_wire_expression2/base/compiler.lua:46: attempt to index a nil value
Trace:
1: Line 32    "Trace"        lua/includes/extensions/debug.lua
2: Line 301    "__index"        lua/entities/gmod_wire_expression2/core/e2lib.lua
3: Line 46    "nil"        lua/entities/gmod_wire_expression2/base/compiler.lua
4: C function    "Execute"
5: Line 74    "wire_expression2_validate"        lua/entities/gmod_wire_expression2/cl_init.lua
6: Line 1595    "Validate"        lua/wire/client/text_editor/wire_expression2_editor.lua
7: Line 1845    "Close"        lua/wire/client/text_editor/wire_expression2_editor.lua
8: Line 826    "DoClick"        lua/wire/client/text_editor/wire_expression2_editor.lua
9: Line 234    "nil"        lua/vgui/dlabel.lua"

It seems like none of the E2 extensions are loading. Are there any early errors in server/client console (doesn't even have to be from wiremod)? If there aren't try reinstalling wiremod.

I don't see any errors apart from "tried to look up thirdperson as if it were a variable" whenever i enable the thirdperson camera. Ill try to have wiremod reinstalled, thanks. Ill hit you up when its fixed.

It's possible that your install is just corrupt. The default extension loader won't error but just fail to load.

the server has been up for over a year though. this is the first time it happened to us

If you guys installed a new addon, that could be it.

We haven't installed anything recently. We're going to try to do a full reinstall of the adddon

We fixed it. Thanks for the help!

How did you fix it?

Lol you're welcome


How to monitor/view logs during slow data import

Actions before raising this issue

[X] I searched the existing issues and did not find anything similar.
[X] I read/searched the docs

Is your feature request related to a problem? Please describe.
We are mounting s3 via s3fs into a host machine, then deploy cvat via docker-compose and mount the s3 folder into the container (Connected File Share storage).
When using high level API to create a task,
with make_client() as client:
 task = client.tasks.create_from_data()

The procedure can succeed, so I can make sure the call is OK.
However, sometimes when creating a task with a list of ~10000 image files in the s3fs path, each file is 100KB, with option use_cache=True and image_quality=70 and chunk_size=100, the upload call stucks there without returning for hours, before I manually kill the process.
The problem is, I am unable to observe any charts or logs to see what happens.
Describe the solution you'd like
Provide docs and guidance on how to check CVAT's status. I can only make sure that container CPU and mem and IO usage rate are fine. Not sure if that's something related to the CVAT's internal mechanism or maybe the s3fs access is slow.
Describe alternatives you've considered
No response
Additional context
No response

Let me summarize the demands:

When a task with multiple files is creating, how do I know what stage it is and how many files are already processed?
Where can I find the log for the task? Is it for the whole task or lines of logs for each file in the task?.
If I want to boost the performance, how do I know if the CPU or memory or network IO (of the CVAT service) is the bottleneck?


Widget to show some of the last pi-hole queries

Name the integration
Hello
Is there a chance we might see the 10 (more, less or adjustable number) of the last pi-hole queries with the client for each and that the query where blocked or resolved?
Please tick the boxes

[X] You've read the docs
[X] You've checked for duplicate issues
[X] You're not just putting an idea out there and actually give usefull information about how to implement your module idea

Bump


Update Beast to 1.0.0-b13

This changes the behavior of beast::unit_test::dstream on Windows, and could affect console output on Linux and Mac so please check that. Otherwise, it brings the Beast subtree up to version 1.0.0-b13, which has already passed reviews and tests (see https://github.com/vinniefalco/Beast/) There should be no functional changes. Aside from the subtree, all the rippled code changes are in the top 2 commits.

Current coverage is 64.41% (diff: 100%)

Merging #1847 into develop will decrease coverage by <.01%

@@            develop      #1847   diff @@
==========================================
  Files           704        704
  Lines         50747      50747
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits          32696      32691     -5
- Misses        18051      18056     +5
  Partials          0          0

Powered by Codecov. Last update 35fa20a...8e9f959

I tested these changes on Linux. The console output for the unit tests is fine. I also checked the cmake builds for both beast and rippled and reviewed the changes in tidy up cmakelists and Better dstream. :+1: from me.
However, these changes effect windows more than linux. I'd count this as 1/2 a review.

I ran Test.py on OSX and this all passes. The unit test output looks normal to me.  Also reviewed the CMake changes. 👍


Set image id as unique one

Describe what this PR does / why we need it
Does this pull request fix one issue?

Describe how you did it
link to #24
set image ID as unique one
Describe how to verify it
Special notes for reviews

/invite

/test build

/test

/test build

/test build

/test build

/test build


Fix rules target group names

lb_listener_rules improvements
Life cycle rules:
We are planning to change the target group name of existing resources and
this is going to recreate the target group and attachment managed by this
module, and refresh the listener rule. We want to ensure the old target
group is only destroyed when the new one has been created and the listener
rule has been updated.
Target Group names:
Previous target groups created by the module ended up with names not very
user friendly, for instance draft-fron-draft-finder-frontend. We are using
these names in the configuration of Icinga checks. This format, originated
from the trimming of the name variable and the rule name, is making people
confused as it looks like a typo. We need to trim the target group name in
first place because it's limited to 32 characters.
The change here renames the variable to target_group_prefix to make it clear
how/where it's used. The description of the variable is improved. We are also
going to enforce the limit of this variable to 4 characters. With the use of
a null_resource resource, the plan/apply of the code will fail if the user
configures the variable with something longer than 4 chars, for instance:
Error: module.internal_lb_rules.null_resource.check_target_group_prefix_length:
: invalid or unknown key: ERROR: The length of target_group_prefix is longer than 4 characters

Hopefully this will force the user to use a short prefix that uniquely identifies
the target groups. We are expecting to use it with the "zone" of the Loadbalancer,
for instance: int, ext, pub, etc. The Target group tags can be used to search
for TGs instead of expecting to do all the identification from the name.
Update lb_listener_rules usage
Update how we use lb_listener_rules. We need to use target_group_prefix instead
of name and use a short prefix that helps creating unique TG names.

can you give some examples of the name changes?

can you give some examples of the name changes?

name: "frontend-i-government-frontend" => "int-government-frontend"
name: "frontend-i-info-frontend" => "int-info-frontend"
name: "frontend-i-manuals-frontend" => "int-manuals-frontend"
name: "frontend-i-service-manual-fronte" => "int-service-manual-frontend"
name: "calculator-calculators" => "int-calculators"
name: "calculator-calendars" => "int-calendars"
name: "calculator-finder-frontend" => "int-finder-frontend"
name: "calculator-licencefinder" => "int-licencefinder"
name: "calculator-smartanswers" => "int-smartanswers"
name: "draft-fron-draft-email-alert-fro" => "int-draft-email-alert-frontend"
name: "draft-fron-draft-finder-frontend" => "int-draft-finder-frontend"
name: "draft-fron-draft-government-fron" => "int-draft-government-frontend"
name: "cache-www-origin" => "pub-www-origin"
name: "backend-content-performance-m" => "pub-content-performance-manager"
name: "backend-content-publisher" => "pub-content-publisher"
name: "backend-content-tagger" => "pub-content-tagger"
name: "backend-service-manual-publis" => "pub-service-manual-publisher"
name: "backend-short-url-manager" => "pub-short-url-manager"

This has conflicts and Ana isn't going to fix them 😅, plus it's >6 months old, so closing.


Set User.is_active=False on registration, until activation

User.is_active is being set to True in the registration view.  While a token is not necessarily being granted, the user is still activated.  When ActivationView is hit, is_active is being set to True, when it's already True.
Perhaps is_active should be set to True if LOGIN_AFTER_REGISTRATION is True only.

@smcoll, thanks for creating this issue. I agree that the current behaviour is logically inconsistent.
I think it could be solved in three ways:

As @smcoll proposed, is_active should be set to True if LOGIN_AFTER_REGISTRATION is True only.
Same as above but bind is_active flag to SEND_ACTIVATION_EMAIL  setting.
Introduce new setting ACTIVATE_AFTER_REGISTRATION and pass it to create_user() call in UserRegistrationSerializer.save() method.

In my opinion option 3. is the best choice, because it keeps is_active flag independent which allows easier customization by overriding default djoser classes.

Or maybe UserManager.create_user should create activated or not activated user depending on your business logic?
Does it make sense to introduce ACTIVATE_AFTER_REGISTRATION? What if SEND_ACTIVATION_EMAIL will be True and ACTIVATE_AFTER_REGISTRATION will be False ?

Does it make sense to introduce ACTIVATE_AFTER_REGISTRATION? What if SEND_ACTIVATION_EMAIL will be True and ACTIVATE_AFTER_REGISTRATION will be False ?

Somebody can just send welcome email after registration and have still activated user account.

True, but we are providing template for this emails, and it's strictly connected with activation process.

Yep, maybe you're right. So adding the notice in README about customization of create_user() method on user manager is a fourth solution.

I did it overriding save method of UserRegistrationSerializer:
  def save(self, **kwargs):
        data = self.init_data if hasattr(self, 'init_data') else self.initial_data
        new_user = User.objects.create_user(data['username'],
                                            data['email'],
                                            data['password'])
        new_user.is_active = False
        new_user.save()
        return new_user

Ok, I think we should leave it as it is now, users could overwrite UserRegistrationSerializer or User.objects.create_user (I think this is better idea).


main README's links to the Roadmaps are broken

What did you expect to happen?
I expected to click on a link and for it to work instead of 404'ing.
What actually happened?
It 404'd.
Describe your attempts to resolve the issue
Posting an issue here.
Steps to reproduce
Got to the repo's main readme file and click on any of the 3 links in Roadmap section.
System Information
no.

Duplicate of #5973

Sorry; didn't mean to submit a duplicate. Thanks!


Tags and Tagged example request

Hi congrats on the crate release!
Would it be possible to have an example made of how to use Tagged constants? I have read the readme.md but can't seem to figure out what its used for or how its used. Would this allow the changing of, say, a frequency for a pulse() at runtime?
Thanks!
Looks like I've figured it out:
const FREQUENCY_TAG: i64 = 0;
const DUTY_TAG: i64 = 1;
const VOLUME_TAG: i64 = 2;

let func =
    (tag(FREQUENCY_TAG, 0.0) | tag(DUTY_TAG, 0.0)) >> (tag(VOLUME_TAG, 0.0)) * pulse();

// And setting the values later with...
  func.set(FREQUENCY_TAG, new_frequency);
  func.set(VOLUME_TAG, 0.0);

Yes, that's how it works! Tags are constants that allow you to set and query their values, recursively.


bug: When adjsut the opacity of vtk file, data range be set to default automaticly

Here is a video to show how this occurred
https://youtu.be/WmGNzn2_VDA

Thank you for the outstanding illustration of the problem!
On Wed, Jul 15, 2020 at 2:54 AM Daryl.Xu<EMAIL_ADDRESS>wrote:

Here is a video to show how this occurred
https://youtu.be/WmGNzn2_VDA
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Kitware/paraview-glance/issues/341, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACEJL33TCVCCNNW2CR7DSLR3VHC3ANCNFSM4O2HGLYA
.

--
Stephen R. Aylward, Ph.D.
Senior Director of Strategic Initiatives
Kitware: Advancing the frontiers of understanding
by developing innovative open-source software platforms
and integrating them into research, processes, and products.

Thanks for the detailed report! I'll look into this.

Thanks for the detailed report! I'll look into this.

I set breakpoints at these two places:

Let's call it break1: https://github.com/Kitware/paraview-glance/blob/049b4342c6bb360b434c120e19c44899c24a3118/src/components/core/Datasets/helper.js#L228 setOpacity() will be called here.
Let's call it break2: webpack:///./node_modules/vtk.js/Sources/Proxy/Core/LookupTableProxy/index.js line 103,  where publicAPI.setDataRange() defined/called

Then adjust the opacity,  when we paused at break2, look into Call Stack in the browser devtools, I found that function
publicAPI.rescaleTransferFunctionToDataRange() was called to reset the dataRange to the origin range instead of the range we have specified. Hope this will be helpful for you to fix this.
Or we can modify here, https://github.com/Kitware/paraview-glance/blob/049b4342c6bb360b434c120e19c44899c24a3118/src/components/core/Datasets/helper.js#L90

OK, thanks for your hard work, I am looking forward to the bumping of vtk.js version in Glance.

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Use min-height instead of height

Ensure the sticky element will never overlapse when not sticky.

Thanks! useful for me :)

Has been implemented with https://github.com/techwareone/sticky/commit/c0f02541652d87f6324d914fb1dacd18b63401c6


I'm playing around with saltpack and I'm using the keyring to create secret keys, but I can't seem to find a way to get the RawBoxKey from it in order to store it and then load again later.
Am I missing something obvious?

ps. I can create it with the following,  but I wanted to just use the keyring as I'm lazy. :)
	pub, priv, err := box.GenerateKey(rand.Reader)
	if err != nil {
		return nil, err
	}
	sk := basic.NewSecretKey(pub, priv)

I don't think there's any particular reason we didn't include a function for that. Probably we just never happened to need it. If you want to add one, I'd be happy to review :)


Write a Python program to print pascal's triangle

Description
Write a Python program to print pascal's triangle
Pascal's triangle is a triangular array of the binomial coefficients. Write a function that takes an integer value n as input and prints first n lines of the Pascal's triangle.
Input  : 5

Output :
        1
       1 1
      1 2 1
     1 3 3 1
    1 4 6 4 1

How to contribute

Save the solution in program/print-pascal's-triangle.py file
Add print-pascal's-triangle.py file in print-pascal's-triangle folder

!assing

!assign


Need help in understanding, how fragments are being used in stitching

Hi,
Can someone help me in understanding how fragments are used in schema stitching.
Will WeatherLocationArgs as a fragment be part of the underlying query which will be sent to the remote graphql servers and why it is a mandatory to have fragments.
for example
const schema = mergeSchemas({
    schemas: [universeSchema, weatherSchema],
    links: [
      {
        name: 'location',
        from: 'Event',
        to: 'location',
        resolveArgs: parent => ({ place: parent.cityName }),
        fragment: '
          fragment WeatherLocationArgs on Event {
            cityName
          }
        ',
      },
    ],
  });

Thanks

I'm unfamiliar with the links syntax, but in general you define a fragment to define fields you need to be able to call the delegate query.
first Schema:
type Post{
   id: ID!
   title: String!

second Schema:
type Comment {
   postId: ID!
   comment: String!

Now stitching them together:
extend type Post{
   comments: [Comment]

And mergeSchemas:
const schema = mergeSchemas({
  schemas: [postSchema, commentSchema, newTypeDefs],
  resolvers: mergeInfo => ({
     Post: {
       comments: {
         fragment: `fragment PostFragment on Post { id }`
         async resolve(parent, args, context, info) {
             const postId = parent.id
             return mergeInfo.delegate('query', 'allComments', { filter: { postId } }, context, info)
         }
       }
     }
  })
});

Now this fragment definition makes sure that the query engine adds the id field on Post to the query, because it's needed for the delegate. So if I query:
query {
  allPosts {
    title
    comments {
       comment
    }
  }
}

It will add the fragment I defined automatically:
query {
  allPosts {
    ...PostFragment
    title
    comments {
       comment
    }
  }
}

fragment PostFragment on Post { id }

Thank you @kbrandwijk
I was missing the point of having the parameter always available in the parent.


wlan0 doesn't get IP after successful connect API call

I'm submitting a ...

[X] bug report
[ ] feature request
[ ] support request => Please do not submit support request here, see note at the top of this template.

What is the current behavior?
After calling connect API call with successful result, wlan0 doesn't get an IP address and traffic can't flow to the gateway.

If the current behavior is a bug, please provide the steps to reproduce and if possible a minimal demo of the problem

Start iotwifi
Call connect API to one of existing networks
wlan0 doesn't receive proper IP configuration

What is the expected behavior?
wlan0 should have an IP address in order to communicate with gateway.

Please tell us about your environment:

Device: Raspberry Pi Zero W
OS: Linux raspberrypi 4.9.59+ #1047 Sun Oct 29 11:47:10 GMT 2017 armv6l GNU/Linux

Other information (e.g. detailed explanation, stacktraces, related issues, suggestions how to fix, links for us to have context, eg. stackoverflow, gitter, etc)
Logs: https://gist.github.com/cecchisandrone/ad6f7348d2a7eab8096e3492d6ab4733

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::ba27:ebff:fee0:496f  prefixlen 64  scopeid 0x20<link>
        ether b8:27:eb:e0:49:6f  txqueuelen 1000  (Ethernet)
        RX packets 72  bytes 4462 (4.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 17  bytes 2720 (2.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

@cecchisandrone this could be something as simple dhcp not running properly on the host. I'll write up some debug steps tonight or tomorrow. I have also not tested on a Pi Zero W, but I have one so I'll test it.

Thanks. Do you think there are some prerequisites on the host on the networking configuration apart from disabling wpa_supplicant?

@cjimti running sudo dhclient wlan0 -v makes it work:
sudo dhclient wlan0 -v
Internet Systems Consortium DHCP Client 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on LPF/wlan0/b8:27:eb:e0:49:6f
Sending on   LPF/wlan0/b8:27:eb:e0:49:6f
Sending on   Socket/fallback
DHCPDISCOVER on wlan0 to <IP_ADDRESS> port 67 interval 6
DHCPREQUEST of <IP_ADDRESS> on wlan0 to <IP_ADDRESS> port 67
DHCPOFFER of <IP_ADDRESS> from <IP_ADDRESS>
DHCPACK of <IP_ADDRESS> from <IP_ADDRESS>
bound to <IP_ADDRESS> -- renewal in 2985 seconds.

I searched into the code but there is no dhclient call. Should it be done automatically by wpa_supplicant?

There is no call since this was originally for the Pi 3 which as wired ethernet and hdcp is already handling eth0 by default. Sound like this could be another feature request for the next version which I plan to support more operating environments and devices. It's good to hear that you are connected!

What about routes changes needed?

The device itself should have no DNS issues as that would be resolved with the DHCP, however, routing from the uap0 to wlan0 is going to need some work to do it properly with DNS. The current use case is to only allow wifi network configuration and not act as a router/wifi repeater, but I do see demand for that, it's just not a great solution specifically for the Pi since the onboard wifi is not the most robust. I can see it being useful on devices with multiple higher-end wifi interfaces, so it's something I want to explore.
The mainline use case is plugging in a device (like Nest or Amazon Alexa) and using your phone to bring it online, then disconnecting.

Yes, I agree about performances, but imagine scenarios in which you deploy a IoT network, where Rpi is used as router / gateway for smart devices or sensors. This is very useful because you test everything abstracting the connectivity and everything can work seamlessly in every network you are (hopefully :)).


Consider adding a pre-yosys Ventilator lint check

Apparently verilator has a linter that a couple people over in the #yosys channel were praising.  I've found yosys itself has only so-so warnings.  Should we have a step to call:
verilator --lint-only -Wall -Werror [source_files.v]...

?

SGTM.


Voxes that appear on shuttles do not have a nitrogen tank..

Description

Voxes that appear on shuttles do not have a nitrogen tank. Because of this they simply die after a while.

#29756

Duplicate of #29756


DOCS: switch from numpydoc to napoleon, improve display of type hints

Overview
numpydoc and napoleon are tools to parse numpy-style docstrings into Sphinx documentation. This PR switches us to napoleon.
Note to reviewer: I'd appreciate a review of the new rendered API docs, to check I haven't missed anything.
Discussion
This gives us several improvements:

Napolean comes with Sphinx as a builtin extension, so switching to this will allow us to drop a dependency.
The output is a fair bit prettier:

Allows us to simplify the titles of functions by moving the type hints to the parameter descriptions
Types of inputs will be automatically hyperlinked to the relevant class

Works more nicely with autosummary templates. With numpydoc, we sometimes get duplicate tables of classes (as experienced in #3852 )

Closes #3883
Comparison
Current master:

This PR:

TODO

[x] Fix duplicate table of methods, e.g. https://shap--3886.org.readthedocs.build/en/3886/generated/shap.Explainer.html
[x] Drop numpydoc from deps, once #3885 is merged

Am I missing something here? On prod I see:

while on this branch's docs I just find:

I guess this branch is just a few commits behind. But could we update it so that it gets easier to compare?

Am I missing something here?

I don't think so. The change in the rendering style is to be expected, as napolean and numpydoc render in slightly different styles.

Am I missing something here?

I don't think so. The change in the rendering style is to be expected, as napolean and numpydoc render in slightly different styles.

does that mean that napoleon does not take into account type hints?

does that mean that napoleon does not take into account type hints?

I think it's flexible and can behave as we wish. I include a config change that is relevant, moving the typehints from signatures to the Parameters section:
autodoc_typehints = "description"

More info on that setting here. I was inspired by: https://github.com/optuna/optuna/pull/2147
I think this setting makes the display of longer functions (e.g. scatter plot) more tidy.

We have a few options for type hints. At present we typically have the hints in two places, both in the function signature and also in the docstring:
In this example, the parameter x can be type-hinted in two places:
def foo(x: Bar):
    """Calculate foo

    Parameters
    ----------
    x : Baz
        The input
    """

The type hints can be put in the signature (Bar) and/or in the docstring (Baz), and in general they might be different. I believe the napolean docs will use Bar if provided, or else it will use Baz if provided.

We have a few options for type hints. At present we typically have the hints in two places, both in the function signature and also in the docstring:
def foo(x: Bar):
    """Calculate foo

    Parameters
    ----------
    x : Baz
        The input
    """

The type hints can be put in the signature (Bar) and/or in the docstring (Baz), and in general they might be different. I believe the napolean docs will use Bar if provided, or else it will use Baz if provided.

Thanks for the clarification. I'll have a deeper look into this PR later today.

A quick correction to my earlier comment: sphinx-napoleon will use the type in the docstring (Baz) if provided, or else it will use the type hint in the function signature (Bar).
As a quick demo, I experimented with shap.plots.scatter(). Here are some screenshots to show how it seems to work:
Option A: using the docstring types
At present the types are both in the signature and the docstring, like this:
def scatter(
    x_jitter: float | Literal["auto"] = "auto", title: str | None = None, alpha: float = 1.0, ...
):
    """
    x_jitter : 'auto' or float
        Adds random jitter...

    title: str, optional
        Plot title.

    alpha : float
        The transparency of the data points...
    """

The rendered docs look like:

Option B: Using the function signature types
Removing the types from the docstring:
def scatter(
    x_jitter: float | Literal["auto"] = "auto", title: str | None = None, alpha: float = 1.0, ...
):
    """
    x_jitter
        Adds random jitter...

    title
        Plot title.

    alpha
        The transparency of the data points...
    """

The rendered docs like this:

Here are a couple things:

when multiple Added/Changed in version x appear, I think the old layout is nicer, since the new layout is IMO too dense, e.g. here
I consider the positioning of the Changed note weird in the new version:

Would expect that this appears after the return type. I think how the return type is handled pretty inconsistent altogether. Any other parameter has it's type listed right next to the parameter name, but the return type comes just after the description of what is returned. I consider the old layout better here.

what I consider better in the new version is the automatic reference to another class, e.g. on masker here

So I think this is it. Altogether I noted a lot of negative things about the new layout but I think the last point outweighs the negatives slightly. How do you see these points?

Thanks for the analysis! You spotted some interesting things that I'd missed.
Yes, it's a shame the versionadded and versionchanged directives don't look as tidy. I'll see if I can improve things. As it stands I think this is probably a slight marginal improvement.
I think the main benefit of switching to napoleon is having everything inside the Sphinx builtin ecosystem, and hopefully enabling us to document the __call__ methods. I was planning on doing that in a follow-up PR, but I'll have a go here to check it works. That will hopefully make this PR a suitably significant improvement to be worthwhile.

Thanks for the analysis! You spotted some interesting things that I'd missed.
Yes, it's a shame the versionadded and versionchanged directives don't look as tidy. I'll see if I can improve things. As it stands I think this is probably a slight marginal improvement.
I think the main benefit of switching to napoleon is having everything inside the Sphinx builtin ecosystem, and hopefully enabling us to document the __call__ methods. I was planning on doing that in a follow-up PR, but I'll have a go here to check it works. That will hopefully make this PR a suitably significant improvement to be worthwhile.

What's the status here? Can we merge or would you like to check out if the follow up works?


Fix for the case of add tag or add nickname args are nill

close #265
I'm not sure if this is the best fix in terms of where throwing exceptions.
Please tell me your opinion🙏
Thank you.

Hi there! Thanks so much for submitting a pull request!
Let's just make sure together that all of these boxes are checked before we
merge this change:

[x] The code in these changes works correctly.
[x] Code has tests as appropriate.
[x] Code has been reviewed by @JacobEvelyn.
[x] All tests pass on Travis CI.
[x] Code coverage remains high.
[x] Rubocop reports no issues on Travis CI.
[x] The README.md file is updated as appropriate.

Don't worry—this list will get checked off in no time!

Thank you, @m-t-a-n-a-k-a! This change is now released in version 0.53!


Not supporting enterprise server

The hostname github.com appears to be hard-coded into the links for the Actions URL and Commit hash, making the action unsuitable for users on GitHub Enterprise Server where the host is not github.com. The GITHUB_SERVER_URL environment variable should be used instead (see https://docs.github.com/en/actions/reference/environment-variables)

Hey @mnourifar, thanks for the feedback! Totally agree with you, GITHUB_SERVER_URL would be a better fit here - I personally am not a GitHub Enterprise user so I'd miss this!
https://github.com/someimportantcompany/github-actions-slack-message/blob/2637ce2fdb498884618ddfb03098519cd933f3cc/index.js#L41-L58
Assuming you are a GitHub Enterprise user, can you confirm if the following URLs are available, and if not which URL (if applicable) is appropriate:

[ ] Repository home ${GITHUB_SERVER_URL}/${org}/${repo}
[ ] Repository tree ${GITHUB_SERVER_URL}/${org}/${repo}/tree/${branch}
[ ] Commit checks ${GITHUB_SERVER_URL}/${org}/${repo}/commit/${sha1}/checks
[ ] User profile ${GITHUB_SERVER_URL}/${username}
[ ] User avatar ${GITHUB_SERVER_URL}/${username}.png

I'm happy to then modify this action to account for Enterprise setups, and if a given URL in the above list is missing I'll just omit that link.
Thanks 👋

Hi again and thanks for your support and nice slack action!
Yeah, I checked and all the URLs are resolvable after switching the base URL.
I just see that the avatar URL is redirected to https://avatars.${GITHUB_SERVER_URL}/u/1013 which is fine I guess.
Looking forward to using the new version of this!

@mnourifar v1 has been updated to support environment variables, including GITHUB_SERVER_URL. Any issues please let me know!


ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

I was trying to play an audio and got this error.
I tried this but nothing helped.
Windows:: 10
python:: 3.7.7
Django:: 3.1.6
Exception happened during processing of request from ('<IP_ADDRESS>', 51084)
Traceback (most recent call last):
  File "c:\python\python37\lib\socketserver.py", line 650, in process_request_thread
    self.finish_request(request, client_address)
  File "c:\python\python37\lib\socketserver.py", line 360, in finish_request
    self.RequestHandlerClass(request, client_address, self)
  File "c:\python\python37\lib\socketserver.py", line 720, in __init__
    self.handle()
  File "C:\Users\Isha\.virtualenvs\DJ-qI2Tt3md\lib\site-packages\django\core\servers\basehttp.py", line 174, in handle
    self.handle_one_request()
  File "C:\Users\Isha\.virtualenvs\DJ-qI2Tt3md\lib\site-packages\django\core\servers\basehttp.py", line 182, in handle_one_request
    self.raw_requestline = self.rfile.readline(65537)
  File "c:\python\python37\lib\socket.py", line 589, in readinto
    return self._sock.recv_into(b)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

Unfortunately this is a long known problem, see #621. Haven't quite figured out what's causing it, seems to be some issue with Django running on Windows. I will close this ticket since it is kind of a duplicate of #621.


✨ Export common metrics from App Insights to Blob Storage

Cc: @divgul @william-liebenberg @jimmidier @adamcogan @matt-goldman
Depends on

#689

Pain

We did the investigation on what common metrics to track in #688.
We need to export these fields in https://github.com/SSWConsulting/SSW.SophieBot/issues/688#issuecomment-2084509439 to Azure Blob Storage.
Suggested Solution

### Tasks
- [x] Export data
- [x] Document the corresponding fields in Blob Storage

Acceptance Criteria

[ ] Meets Definition of Done
[x] Data is exported to Blob Storage
[ ] Have a note on the fields in Blob Storage

Thanks!

Below are the important fields in App Insights tables (with corresponding Blob Storage fields in brackets).
pageViews
Data about each website view with browser information.

timestamp (TimeGenerated)
name (Name)
url (SophieBot DOESN'T have this field)
user_AccountId (UserAccountId)

Note: For SophieBot, we can skip the report for this table. Because SophieBot is not a web application. It doesn't have url field.
exceptions
Exceptions thrown by the application runtime, captures both server side and client-side (browsers) exceptions.

timestamp (TimeGenerated)
problemId (ProblemId)
type (Type)

requests
Requests received by your application. For example, a separate request record is logged for each HTTP request that your web app receives.

timestamp (TimeGenerated)
name (Name)
url (Url)
success (Success)
responseCode (ResultCode)
duration (DurationMs)

dependencies
Calls from the application to other components (including external components) recorded via TrackDependency() - for example, calls to REST API, database or a file system.

Fields are same as in requests table.

performanceCounters
Performance measurements from the compute resources supporting the application, for example, Windows performance counters.

timestamp (TimeGenerated)
name (Name)
value (Value)


feat(client): Generic DerivationDriver over any BlobProvider

Description
This PR makes DerivationDriver generic over the BlobProvider used by extending OracleDataProvider with a generic type parameter that replaces the previous OracleBlobProvider parameterization. This allows DerivationDriver to be instantiated with custom structs that implement the required BlobProvider trait.
Tests
The existing tests for the ecotone and fjord blocks pass. No tests were added, and no behavior was changed.

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

Project coverage is 77.7%. Comparing base (4c367d8) to head (92f2c85).
Report is 5 commits behind head on main.

Additional details and impacted files

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

Nice!


Bug: Deployment of Docs fails if the Shortcut contains a completely empty title

Issue
Deployment of Docs fails if the Shortcut block contains a title which is empty. This can happen if you add a new Shortcut block into the Docs page, assign some different page into it and delete the assigned page from the left menu right away. Once you try to publish Docs like this, their deployment fails.
Build log:
Finished exporting source index_page.pr
Finished exporting source search_index.pr
Finished exporting source sitemap.pr
Export of full_page.pr for documentation page Empty Shortcuts failed
  | Failed processing template node
     - Executed blueprint: "page_block_shortcut.pr"
     - Executed node: [substitution]:  withHTMLNewlines(shortcut.title)
     - Path: "page_block_shortcut.pr:38:25"
     - Debug symbol: "e4f434c3-fe76-49f7-a345-e53b9d1c127a"
     - Stack: 123 loaded variables
Cannot read property 'split' of null

Scenario
Issue can be reproduced following this exact scenario below:

Start editing Docs.
Put a Shortcut block into Docs.
Assign some Docs page as its shortcut.
Delete the assigned Docs page from the menu right away.
Shortcut title becomes empty.
Try to publish Docs.

Expected result
Docs are published even when the Shortcut title is missing.
Additional information
Video:
https://images.zenhubusercontent.com/360480164/d700c625-6d87-4181-b2fe-55648d99a428/screen_recording_2022_11_10_at_11_57_40.mov
Versions used

Documentation Exporter version 4.0.1
OS: macOS Monterey 12.4 (21F79).

Fixed in ENG-400


Search by BOLD code id

Coverage increased (+0.01%) to 96.26% when pulling c8fdb4b99b5094d0d743bd294637dd6a4fdd2f39 on code_bold into caf6f432b2024dd712e8b2ea3a76fffaedb98218 on master.


Fix typo in German (de) autonym in popup.html

As per https://en.wikipedia.org/wiki/German_language etc., there's definitely a(n) "s" in "Deutsch".

Whoops! Thanks for catching that.


@contentful/rich-text-react-renderer Inspector edit button not shown since 4.5.7 release

@contentful/rich-text-react-renderer v 16.0.0 - in preview Edit button not shown

Live preview SDK version number: [e.g.  4.5.7] on version 4.5.6 works fine
@contentful/rich-text-react-renderer
Attributes are added and they work on version 4.5.6

<div data-contentful-field-id="body" data-contentful-entry-id="id">
content
 </div>

Hey @volodyad, thanks for the report.
Would you mind updating to the latest version (v4.5.14 as of now) and report back. Looking at the change log there were a few bug fixes since 4.5.7.

I have tried all of them from 4.5.14 to 4.5.7, actually it seems it related to https://github.com/contentful/live-preview/issues/942 as element overlapping change was introduced exaclty in 4.5.7

Issue should be fixed as part of this release: https://github.com/contentful/live-preview/releases/tag/%40contentful%2Flive-preview%404.5.15

Issue is still reproduces on version 4.5.16


Define Store API context route as service.

1. Why is this change necessary?
So the ContextRoute class is used as service by the Store API and not directly instantiated. Only this way dependency injection and service decorations work correctly.
2. What does this change do, exactly?
Adds the necessary tag to define a controller as a service. Optionally, it would also be possible to make the service public.
3. Describe each step to reproduce the issue or behaviour.
See linked issue.
4. Please link to the relevant issues (if any).
https://github.com/shopware/platform/issues/2845
5. Checklist

[X] I have rebased my changes to remove merge conflicts
[X] I have written tests and verified that they fail without my change
[X] I have created a changelog file with all necessary information about my changes
[X] I have written or adjusted the documentation according to my changes
[X] This change has comments for package types, values, functions, and non-obvious lines of code
[X] I have read the contribution requirements and fulfil them.

Hi @keulinho is ther eany reason why this PR is still not merged or reviewed?

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/NEXT-25220
Please use this issue to track the state of your pull request.

Hey @AndreasA, sorry that it took so long, but your PR is merged now. :tada: :blue_heart: Thanks again for your contribution!


fix confetti bug

This fixes a bug with the Confetti component: if you resize the window, the Confetti component keeps occupying the original width and height, creating vertical and horizontal scrolling.
Video showing the issue: https://youtu.be/G2d8-KYU7j0
Changes:

Add useWindowSize()
Add useIsomorphicLayoutEffect()
Add useEventListener()
useWindowSize() on the Confetti component to respond to resizing events.

Also, thanks!

 I'll give it a try.

Well, the last update was on May 20, 2022. I'll fork and fix it. I'll post the new version here.
There's also another bug related to viewport width: when the confetti animation is launched, if you scroll, the confetti will disappear.

Closing this until a new package is ready. Thanks!


Thread layout interface

A first draft of the thread layout interface to support hybrid programs.

Hi, @GuillaumeMercier. Can you please fix the style check failures (whitespace)? Also, can you squash all the intermediate commits into a single commit?

Will do.

@samuelkgutierrez : I had to force-push a zillion times but it's ok now.


HA Upgrade: healthcheck and ipsec containers are timing out on one of the hosts

Rancher Version:
1.1.4 --> v1.2.0-rc1
Docker Version:
1.12
OS and where are the hosts located? (cloud, bare metal, etc):
RancherOS 0.7.1
Setup Details: (single node rancher vs. HA rancher, internal DB vs. external DB)
HA rancher
Environment Type: (Cattle/Kubernetes/Swarm/Mesos)
Cattle
Steps to Reproduce:

Setup HA on rancher 1.1.4
deploy catalog where port 80 is exposed
register two hosts on the setup
Upgrade the setup to v1.2.0-rc1

Results:
network-manager is throwing the following error:
nsenter: cannot open /proc/16377/ns/ipc: No such file or directory
11/30/2016 3:02:12 AMtime="2016-11-30T01:02:12Z" level=error msg="Failed to evaluate networking: Bringing up networking: netplugin failed but error parsing its diagnostic message \"\": unexpected end of JSON input"
11/30/2016 3:02:14 AMtime="2016-11-30T01:02:14Z" level=error msg="Error reading metadata version: invalid character '<' looking for beginning of value"
11/30/2016 3:02:14 AMtime="2016-11-30T01:02:14Z" level=error msg="Error reading metadata version: invalid character '<' looking for beginning of value"
11/30/2016 3:02:14 AMtime="2016-11-30T01:02:14Z" level=info msg="Evaluating state from retry" cid=e327f336bbf67a2aae65d818522feb650fdbddbcfb6fb72649589df041b3777a

and healthcheck and ipsec are timing out to find ip address.

Can you re-test with plugin manager v0.2.12 (which will be in v1.2.0-rc2)?

I tested the on v1.2.0-rc2, the system containers were up and running.


RSA authentication with SFTP input / output

Implementation of feature request #838:
Added RSA-based authentication for SFTP input and output with optional passphrase.
Successfully tested, formatted and linted (make test, make fmt, make lint)
Updated documentation of SFTP input and output with yarn
I tested the up- and download to a SFTP server with:

password only
private key only (without passphrase)
private key only (with passphrase)
password and private key (without passphrase)
password and private key (with passphrase)

Error-Messages are provided when a password, key file or passphrase is necessary but not provided.

Awesome, thanks @lorenz-qbees!


Focusing an element not working since 0.24 if it's a sub modal

Describe the bug
I have 2 modals, one calling the other one. In the first modal, focusing an element is working. In the submodal though it's not working. Same code to do the focus. Also using nextTick and onMounted isn't working, only a setTimeout of min 200 ms.
It worked before version 0.24. So, switching the version in the reproduction repo and replacing :autosave via :auto-save will fix it.
Reproduction
https://github.com/dword-design-honestly/demo-modal-focus-submodal-not-working
Used Package Manager
yarn
Validations

[X] Have tested with the latest version. This is still alpha version and sometime things change rapidly.
[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A, please open a GitHub Discussion instead.
[X] The provided reproduction is a minimal reproducible of the bug.

Bumping this up since it's still an issue 🙂.


Tennessee state route shields have repetitive entries in legend

Tennessee’s primary and secondary state route shields have separate entries in the legend, but since these are two shields for the same network, Wikidata has only a single item associated with both network=US:TN:primary and network=US:TN:secondary, resulting in a redundant entry:

The legend should combine these rows into a single row with two shields on it, just as it does in other cases where there are multiple shields within the same shield definition.

As a counterpoint, Puerto Rico similarly has multiple shields for the same network based on classification, but each classification has its own Wikidata item, such as for secondary roads. This would be a better long-term approach for providing more specific captions in each language, but combining the entries would be less silly in the meantime.


Add main code

TODO

[ ] Add tests when used with relation being passed
[ ] Add tests when used without relation being passed and model name can be derived
[ ] Add tests when used without relation being passed and model name can not be derived
[ ] Add tests when used with Scope defined
[ ] Add tests when used without Scope defined
[ ] Add tests when calling ActiveRecord::Relation methods

Seems like 4-letter words for gem names are a thing now 🙈


it wont work hoho

cyclotron is not standalone, it requires jQuery being loaded, also jquery.cyclotron.js and jquery.cyclotron.min.js are the same, so only one should be included. That is all I can see from the first screenshot, the other screenshots did not upload, so I cannot git further information.

cyclotron is not standalone, it requires jQuery being loaded, also jquery.cyclotron.js and jquery.cyclotron.min.js are the same, so only one should be included. That is all I can see from the first screenshot, the other screenshots did not upload, so I cannot git further information.

i'll try uploading the other photos again

have i done it correctly? hohoho i really need some help, thanks in advance

Please have a look at the readme.md. There it says the image has to be a css background image. Your option using an image inside a div does not work. You can also have a look at the demo page where you see more working examples.


[Feature] SSL on Web Server

Is your feature request related to a problem? Please describe.
I'm trying to have Checkrr displayed on HomeAssistant through an iFrame but I'm unable to load HTTP inside a HTTPS web server.
Describe the solution you'd like
Would it be possible to support SSL? Maybe through the config under the webserver options, we could specify the certificate and key and enable SSL on the same port. i.e port 8585 is either served as HTTP or HTTPS.
Describe alternatives you've considered
Disabling HTTPS on HomeAssistant but that would make it very insecure during external access.

hey @smarthome-enthusiast This was just added in d5532b1. If possible, could you test a local build of checkrr from main? Just want to make sure it's working for your usecase prior to 3.4.0's release.

confirmed working with a self-signed cert. Closing as completed.


[AMORO-2289][MIX-ICEBERG]: Fix the failure when creating a table and immediately retrieving Blocker.

Why are the changes needed?
Close #2289.
Brief change log

Force a table sync when retrieving the table blocker.

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[X] Run test locally before making a pull request

Documentation

Does this pull request introduce a new feature? (no)

The concurrent execution of syncTable may bring risks when calling revertTableRuntimeAdded, and remove the tableRuntime from tableRuntimeMap which was added successfully before.
Maybe we should modify it like
  private void syncTable(ExternalCatalog externalCatalog, TableIdentity tableIdentity) {
    AtomicBoolean addSuccess = new AtomicBoolean(false);
    try {
      doAsTransaction(
          () ->
              externalCatalog.syncTable(
                  tableIdentity.getDatabase(),
                  tableIdentity.getTableName(),
                  tableIdentity.getFormat()),
          () -> addSuccess.set(handleTableRuntimeAdded(externalCatalog, tableIdentity)));
    } catch (Throwable t) {
      if (addSuccess.get()) {
        revertTableRuntimeAdded(externalCatalog, tableIdentity);
      }
      throw t;
    }
  }