[CIT-468] subscribe to many topics

Proposed changes
An MQTT client can subscribe to several topics and receive all the messages on a single message stream
  // Several topics and patterns can be added to a topic filter
  let mut topic_filter = TopicFilter::new("/a/first/topic")?;
  topic_filter.add("/a/second/topic")?;
  topic_filter.add("/a/+/pattern")?; // one can use + pattern
  topic_filter.add("/any/#")?; // one can use # pattern

  // The messages for these topics will all be received on the same message stream
  let mut messages = client.subscribe(topic_filter).await?;

Types of changes
What types of changes does your code introduce to thin-edge.io?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Improvement (general improvements like code refactorings that doesn't explicitly fix a bug or add any new functionality)
[ ] Documentation Update (if none of the other choices apply)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Paste Link to the issue

Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

[ ] I have read the CONTRIBUTING doc
[ ] I have signed the CLA (in all commits with git commit -s)
[x] I ran cargo fmt as mentioned in CODING_GUIDELINES
[ ] I used cargo clippy as mentioned in CODING_GUIDELINES
[x] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if appropriate)

Further comments
If this is a relatively large or complex change, kick off the discussion by explaining why you chose the solution you did and what alternatives you considered, etc...

Codecov Report

Merging #371 (367f43f) into main (faf65de) will increase coverage by 0.30%.
The diff coverage is 96.15%.

@@            Coverage Diff             @@
##             main     #371      +/-   ##
==========================================
+ Coverage   71.71%   72.02%   +0.30%
==========================================
  Files          93       93
  Lines        5445     5490      +45
==========================================
+ Hits         3905     3954      +49
+ Misses       1540     1536       -4

Impacted Files
Coverage Δ

common/mqtt_client/tests/mqtt_pub_sub_test.rs
92.98% <94.73%> (+3.50%)
:arrow_up:

common/mqtt_client/src/lib.rs
73.52% <100.00%> (+1.07%)
:arrow_up:

mapper/tedge_mapper/src/collectd_mapper/batcher.rs
82.58% <0.00%> (+2.23%)
:arrow_up:

Continue to review full report at Codecov.

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


"Machine Learning Model" was not available in the popup menu for Add

System Information (please complete the following information):

Model Builder Version: 2022 <IP_ADDRESS>2602
Visual Studio Version: Community 2022 (64-bit) - Current

Describe the bug

On which page of the tutorial did you run into an issue (URL): Create Your App's 3rd screenshot from top under Add Machine Learning
Clear description of the problem:
I do not see myMLApp project under Solution 'myMLApp' in the Solution Explorer. When I right-click on Solution 'myMLApp' in Solution Explorer, I do not see some of the options in the Add menu in the screenshot, including the Machine Learning Model option. I assume this is because I'm not right-clicking on the myMLApp project, but I don't know what I have to do to get it to appear under Solution 'myMLApp'.

Also, if I right-click Solution 'myMLApp' and select "Add...", and then select "New Item...", I do not see the Machine Learning Model (ML.NET) in the list of items in the screen that pops up.
To Reproduce
Steps to reproduce the behavior:
0. Follow steps upto Create Your App

Go to 'Solution Explorer'
Right-Click on 'myMLApp'
Scroll down to 'Add'
Notice the limited number of options in the popup-menu, which does not include Machine Learning Model
Also notice that myMLApp project is missing under Solution 'myMLApp'

Expected behavior
Expected the myMLApp project to exist under Solution 'myMLApp' per instructions. Also, expected Add popup menu to contain the Machine Learning Model option as shown in Step 3 under Add Machine Learning.
Screenshots
N/A
Additional context
I followed all the steps upto that point exactly as described. I'm using Visual Studio on a Microsoft Windows 10 Home edition to learn ML.NET.

Also noticed that the green triangle at the top center of the window that normally says "Start" in Visual Studio shows "Attach" for this solution (shows "Start" for other solutions), and when "Attach" is clicked it shows the running services, but I'm not sure which service to attach to from the list.

I found the reason for this issue and was able to fix it myself. It was caused by "C:\Program Files (x86)\dotnet" being placed ahead of the "C:\Program Files\dotnet" in the Path environment variable of the System. I assume it was created automatically that way when I upgraded the Visual Studio while following ML instructions. Switching the order of the 2 paths fixed the issue.


fix: use new object property from Now

(It looks like Now silently changed the name of the cache directory from cachePath to prepareCachePath.)
Closes #111

Thanks mate!


Add login, signup, authentication for supplier

in this commit i will be adding the login functionality with the signup
and i will do the authenticate part for the supplier in order to continue
doing the project logic.

closes #77

At the moment no need to review,but if there is some specific thing that need to be said i will do it

first commit looks good, second commit i will be working on the login page so no need to add that in the title.
plus will rebase on the first commit.

realizing now that this PR should be based on PR #74, in both PRs youre editing the supplier and client model.
also mention in the description.

Please mention it is dependent of #74 .

Sign up page working with hash:

solve conflicts, then ping me for review

@thetaxas2468 please update the PR description - it says that it depends on a closed PR.

@thetaxas2468 please update the PR description - it says that it depends on a closed PR.

It is a closed PR i will be creating new one that is more understandable and better and working more accurate


Update README.md

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.7%) to 77.243%

Totals

Change from base Build<PHONE_NUMBER>:
0.7%

Covered Lines:
1868

Relevant Lines:
2395

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1870

Relevant Lines:
2397

💛  - Coveralls


core_lldp_tlv_population_test.go : panic: runtime error: index out of range [0] with length 0

panic: runtime error: index out of range [0] with length 0   goroutine 12 [running]: testing.tRunner.func1.2({0xba98740, 0xc0015a41c8})                 /usr/local/go/src/testing/testing.go:1209 +0x47e testing.tRunner.func1()                 /usr/local/go/src/testing/testing.go:1212 +0x350 panic({0xba98740, 0xc0015a41c8})                 /usr/local/go/src/runtime/panic.go:1047 +0x262 github.com/openconfig/featureprofiles/feature/lldp/tests/core_lldp_tlv_population_test_test.verifyNodeTelemetry(0xc001526ea0, 0xc002878c38, 0xc002878c40, 0xc0019d0b00, 0xc0019d0ae0)                 /root/featureprofiles/feature/lldp/tests/core_lldp_tlv_population_test/core_lldp_tlv_population_test.go:113 +0x5f8 github.com/openconfig/featureprofiles/feature/lldp/tests/core_lldp_tlv_population_test_test.verifyNode(0xc001526ea0, 0xc002878c38, 0xc002878c40, 0xc0019d0b00, 0xc0019d0ae0, 0xc0028dfec0)                 /root/featureprofiles/feature/lldp/tests/core_lldp_tlv_population_test/core_lldp_tlv_population_test.go:80 +0x65 github.com/openconfig/featureprofiles/feature/lldp/tests/core_lldp_tlv_population_test_test.TestCoreLLDPTLVPopulation(0xc001526ea0)                 /root/featureprofiles/feature/lldp/tests/core_lldp_tlv_population_test/core_lldp_tlv_population_test.go:58 +0x2fe testing.tRunner(0xc001526ea0, 0xbfdfa40)                 /usr/local/go/src/testing/testing.go:1259 +0x1db created by testing.(*T).Run                 /usr/local/go/src/testing/testing.go:1306 +0x673
Getting above runtime error in case where lldp is disabled globally on dut and script is verifying LLDP state of the peer on ate.

Here, since LLDP is still enabled on ate, the interfaces will still be listed but there won’t be any neighbors on that interface though.
The check in the script to make sure there are no neighbors is based on the interfaces presence:
https://github.com/openconfig/featureprofiles/blob/main/feature/lldp/tests/core_lldp_tlv_population_test/core_lldp_tlv_population_test.go#L102

In the discussed case, this code check fails as LLDP is enabled on ate(hence interface is present) and the code go ahead and try to fetch the LLDP port neighbor ID on peer and panic @
https://github.com/openconfig/featureprofiles/blob/main/feature/lldp/tests/core_lldp_tlv_population_test/core_lldp_tlv_population_test.go#L113

Could you please investigate?

Thanks.

This should be fixed with #415


Add support for catalog file

Backport of catalog file support from ewerk branch

Initially I forked it with this support, but the way it was implemented meant that the catalog was not optional so I had to remove it.
I'm a bit short on time this week, but I can work on getting that fixed next week, my own initial use-case didn't require it so I opted for the lazy way (which was waiting for an upstreams fix)

Ah, I see. I updated the PR so the catalog argument is now optional

Works great! Thank you for the PR :-)

0.2.0 has been released with this fix.

Thanks!


Unzip benchmark

I created a benchmark to see which unzip module is the fastest.
modules

adm-zip (currently this project uses)
decompress-zip
extract-zip
node-unzip

benchmark script
(Using matcha)
'use strict';

var fs = require('fs');

var rimraf = require('rimraf');

var AdmZip = require('adm-zip');
var DecompressZip = require('decompress-zip');
var extractZip = require('extract-zip');
var unzip = require('unzip');

var FIXTURE_PATH = 'fixture.zip'; // path to a ZIP file

suite('Extract all files from a ZIP archive', function() {
  set('iterations', 10);

  before(rimraf.bind(null, 'tmp'));

  bench('adm-zip', function() {
    new AdmZip(FIXTURE_PATH).extractAllTo('tmp/adm-zip', true);
  });

  bench('decompress-zip', function(next) {
    new DecompressZip(FIXTURE_PATH)
    .on('extract', next)
    .on('error', next)
    .extract({path: 'tmp/decompress-zip'});
  });

  bench('extract-zip', function(next) {
    extractZip(FIXTURE_PATH, {dir: 'tmp/extract-zip'}, next);
  });

  bench('node-unzip', function(next) {
    var extract = new unzip.Extract({path: 'tmp/unzip/'})
    .on('finish', next)
    .on('error', next);

    fs.createReadStream(FIXTURE_PATH).pipe(extract);
  });
});

result
                      Extract all files from a ZIP archive
              43 op/s » adm-zip
             112 op/s » decompress-zip
              70 op/s » extract-zip
              49 op/s » node-unzip

I think we should replace adm-zip with another module.

Too bad decompress-zip doesn't support listing the files contents and their attributes on the list event.

Fixed in https://github.com/kevva/decompress-unzip/commit/253d4f1afafada9b052e784f4bc011bf8d7d046d. @shinnn, do you think it's safe to release this is a minor? Or how much testing have you done with various zip files?

At least pngcrush-bin works well. I'm trying to test other zip files...

I've added you to the repo. Feel free to publish when you feel confident it's working.

@shinnn, https://github.com/sindresorhus/flow-bin/issues/7.

Yes, I already know write after EOF problem.

I released v2.1.1. flow-bin passes the test with v2.1.1.

Sweet.


custom icons not working

Environment
"dependencies": {
    "@iconify-json/lucide": "^1.2.11",
    "@nuxt/ui": "3.0.0-alpha.8",
    "drizzle-orm": "^0.36.1",
    "nuxt": "^3.14.159",
    "postgres": "^3.4.5",
    "vue": "latest",
    "vue-router": "latest"
  },
  "devDependencies": {
    "@nuxt/test-utils": "^3.14.4",
    "@nuxtjs/html-validator": "^1.8.2",
    "@vue/test-utils": "^2.4.6",
    "drizzle-kit": "^0.28.0",
    "happy-dom": "^15.11.0",
    "jsdom": "^25.0.1",
    "playwright-core": "^1.48.2",
    "vitest": "^2.1.4"
  }

Version
3.0.0-alpha.8
Reproduction
trying to make and use a custom icon:
assets/icons/soundcloud.svg
<svg role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><path d="M23.999 14.165c-.052 1.796-1.612 3.169-3.4 3.169h-8.18a.68.68 0 0 1-.675-.683V7.862a.747.747 0 0 1 .452-.724s.75-.513 2.333-.513a5.364 5.364 0 0 1 2.763.755 5.433 5.433 0 0 1 2.57 3.54c.282-.08.574-.121.868-.12.884 0 1.73.358 2.347.992s.948 1.49.922 2.373ZM10.721 8.421c.247 2.98.427 5.697 0 8.672a.264.264 0 0 1-.53 0c-.395-2.946-.22-5.718 0-8.672a.264.264 0 0 1 .53 0ZM9.072 9.448c.285 2.659.37 4.986-.006 7.655a.277.277 0 0 1-.55 0c-.331-2.63-.256-5.02 0-7.655a.277.277 0 0 1 .556 0Zm-1.663-.257c.27 2.726.39 5.171 0 7.904a.266.266 0 0 1-.532 0c-.38-2.69-.257-5.21 0-7.904a.266.266 0 0 1 .532 0Zm-1.647.77a26.108 26.108 0 0 1-.008 7.147.272.272 0 0 1-.542 0 27.955 27.955 0 0 1 0-7.147.275.275 0 0 1 .55 0Zm-1.67 1.769c.421 1.865.228 3.5-.029 5.388a.257.257 0 0 1-.514 0c-.21-1.858-.398-3.549 0-5.389a.272.272 0 0 1 .543 0Zm-1.655-.273c.388 1.897.26 3.508-.01 5.412-.026.28-.514.283-.54 0-.244-1.878-.347-3.54-.01-5.412a.283.283 0 0 1 .56 0Zm-1.668.911c.4 1.268.257 2.292-.026 3.572a.257.257 0 0 1-.514 0c-.241-1.262-.354-2.312-.023-3.572a.283.283 0 0 1 .563 0Z"/></svg>

nuxt.config.ts
// https://nuxt.com/docs/api/configuration/nuxt-config
export default defineNuxtConfig({
  compatibilityDate: '2024-04-03',
  devtools: { enabled: true },
  modules: ['@nuxt/ui', '@nuxtjs/html-validator'],
  css: ['~/assets/css/main.css'],
  icon: {
    customCollections: [{
      prefix: 'custom',
      dir: './assets/icons'
    }]
  },

  // modules
  htmlValidator: {
    usePrettier: false,
  },
})

in my component SFooter.vue:

            <nuxt-link
                       v-for="social in socialLinks"
                       :key="social.name"
                       :href="social.link"
                       :aria-label="social.name"
                       class="hover:text-gray-700">
              <UIcon :name="social.icon" class="size-5" aria-hidden="true" />
              Visit our {{ social.name }} page
            </nuxt-link>


Signup/login page

I want to add signup/login page with backend

@sharmi4590 There is already a kinda working version of Github sign in
There is a bug tho. It only works when you refresh the page AFTER you click on sign in.
Fix that bug if you can instead of building it afresh...

Ok @RushilJalal I will work on it , please assign me.

@sharmi4590 I'm not a maintainer haha

Hii @sharmi4590 I will be work on that, Plz assign to me ,

/assign-me


Fixed the wrong command on selection bug in search.

Fixed the bug talked about on stream.
Also, @ChrisTitusTech, you implemented scroll logic, but there is a built-in scroll up and down function in the crate we are using for the list, so I removed your function and added the built-in one.

I was using rust 1.79 , and github actions was using 1.80, that's why my cargo fmt was failing.....

Looks great, thanks @afonsofrancof


Add ADNI dataset Siamese network/classifier model

This PR adds a Siamese Network/Classifier model trained on the ADNI dataset.
On the (entire) test dataset, this model, unfortunately, does not meet the minimum accuracy requirement of 80% and only achieves 67.12%, though this could be improved with further hyperparameter/architecture tuning.
The following files are included in this PR under the recognition/46991030-ADNI-siamese directory:

README.md - an overview of the problem, model, dependencies and how to use, etc.
constants.py - constants including image shape, dataset path and model output paths
dataset.py - functions to load the dataset from the given path
modules.py - components of the architecture for the model(s).
predict.py - a script to sample some test data and display results visually.
train.py - a script to load the data, train/validate each model and test the models on the datasets.
utils.py - contains a function to plot the training history of models

This is an initial inspection, no action is required at this point
Difficulty: Hard
Readme: Good

clear flow of information
algorithm and usage explained well
relevant plots/figures provided
results followed with discussion

Commit messages: Good
Code:

good design
minimal to no comments
algorithm is implemented correctly

Functionality/Performance:

both siamese and classifier seem to be massively overfitting, although no mention of steps taken to try and resolve this
classifier only achieves 67% accuracy on the test set

General comments:

algorithm solves the problem apporpriately although performance is poor

Marking
Good Practice (Design/Commenting, TF/Torch Usage)
Adequate design and implementation
Good spacing and comments
Header blocks
Recognition Problem
Solves problem
Driver Script present
File structure present
Shows Usage & Demo & Visualisation & Data usage
Module present
Commenting minimal -1
No Data leakage
Difficulty: Hard
Commit Log
Meaningful commit messages
Progressive commits used
Documentation
ReadMe good, refs missing -1
Model/technical explanation
Good Description and Comments
Markdown used and PDF submitted
Pull Request
Successful Pull Request (Working Algorithm Delivered on Time in Correct Branch)
No Feedback required
Request Description good


Fix use of open_cluster_tunnels cache to account for dead connections.

pytest -v --level local "TestCluster and TestResource" once again passes.

Current dependencies on/for this PR:

main

PR #194   👈

This stack of pull requests is managed by Graphite.


Components in Resources

Let's hold on this part till after the API Collections work is released....
Since the API collections work has added a few tweaks here


Support different scheme for authorization

The goal here would be that given a certain image_path:

Get the user from the backend, through the cookie
Verify that user.slurm_account is set - if not, fail
Verify that image_path is relative to {ZARR_DATA_BASE_PATH}/{user.slurm_account}/ - if not, fail

For the moment we can support two different schemes, and switch via another env variable AUTHORIZATION_SCHEME="allowed-list", "user-folders".

Let's also include AUTHORIZATION_SCHEME="none", which would be useful e.g. within the fractal-containers demo


Recheck only selected keyword

Some time the system failed to check some keywords due to captcha or captcha error.
I would like to let it recheck for that keyword.
or at least let me manual edit ranking number

not a bad idea, I agree

Maybe you could also make it more obvious a search failed, because now it just seems you're out of the results


change winthing in the topic

cant find any function that I can change the topic
from
winthing/keyboard/commands/press_keys
to
PC1/keyboard/commands/press_keys
or
PC2/keyboard/commands/press_keys
can we add a function to make this ?

There's an undocumented setting to do this called prefix. You can put in winthing.conf or in command line as -Dprefix=PC1


suggestSelection not working

Default is recentlyUsed, change it to first not working.
After debugging, I found the reason in source code. The SuggestMemoryService can't get the changed configure of editor.suggestSelection. It is always recentlyUsed.
var SuggestMemoryService = /** @class */ (function (_super) {
...
         var update = function () {
            // Here got `recentlyUsed` always
            var mode = _this._configService.getValue('editor.suggestSelection');
            ...

        _this._register(_this._configService.onDidChangeConfiguration(function (e) {
            // Never trigger event called `editor.updateOptions({suggestSelection: 'first'})`
            if (e.affectsConfiguration('editor.suggestSelection') || e.affectsConfiguration('editor.suggest.shareSuggestSelections')) {
                update();
            ...

I too faced same issue. Found a work around
Override the SuggestMemoryService
import * as Suggest from 'monaco-editor/esm/vs/editor/contrib/suggest/suggestMemory.js'
Suggest.SuggestMemoryService.prototype._update = function() {
        this._mode = 'first';
        this._strategy = new Suggest.NoMemory();
        try {
            var scope = 0;
            var raw = this._storageService.get(this._storagePrefix + "/" + this._mode, scope);
            if (raw) {
                this._strategy.fromJSON(JSON.parse(raw));
            }
        } catch (e) {
            // things can go wrong with JSON...
        }
      }


Add documentation for "Timeline" component

https://ons-design-system.netlify.app/components/timeline/

https://trello.com/c/wQrcsg0d/568-design-system-timeline

Oscar has drafted this - needs to be reviewed

Reviewed content but waiting for follow up questions

Draft now live as published version. Content reviewed and okay, however raises a potential enhancement to this component that may result in further content changes down the line.

Raised enhancement #2694


Add Professionshøjskolen Absalon

@aat2703 Please provide us with:

the school official website URL
an URL of a page on the official website where the school offers an IT-related long-term (>1 year) course
a proof, which shows that the school recognizes the domain you are submitting as an official email domain for the students.

You can provide us with any of the following as the proof:

A copy of instruction (a hard-copy or electronic one) given to you by the school that tells you to use an email address in this email domain
An URL of a page at the official school website that says that students use this email domain
A reference to a recognized journal where an article was published by someone from the school, with explicit affiliation to the school, and e-mail address from the email domain
A WHOIS data that link the email domain to the school somehow
A copy of official letter from the school representative saying that the school provides e-mail addresses in this domain to the students
Anything else that can prove this fact in similar way, i.e. can be verified independently.

Hi @philipto,
Thanks for your time. I have tried to collect the requested information.
Thank you.

https://phabsalon.dk/
https://phabsalon.dk/uddannelser/maskinteknologi
https://phabsalon.dk/ - can be found in the footer.

WHOIS data:
Domain:               pha.dk
DNS:                  pha.dk
Registered:           2010-09-22
Expires:              2021-09-30
Registration period:  1 year
VID:                  no
DNSSEC:               Signed delegation
Status:               Active
Registrant
Handle:               N/A
Name:                 Professionsh�jskolen Absalon S/I
Address:              Sdr.Stationsvej 30
Postalcode:           4200
City:                 Slagelse
Country:              DK
Phone:                +4572481000
Nameservers
Hostname:             ns1.gratisdns.dk
Hostname:             ns2.gratisdns.dk
Hostname:             ns3.gratisdns.dk
Hostname:             ns4.gratisdns.dk
Hostname:             ns5.gratisdns.dk

@aat2703 Thank you for the clarification. Pull request merged.


OOM Problem

Inpainting batch of images... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━   0% 0:00:03
torch.cuda.OutOfMemoryError: CUDA out of memory. Tried to allocate 9.38 GiB (GPU 0; 23.70 GiB total capacity; 8.04 GiB already allocated; 9.27 GiB free; 12.92 GiB reserved in total by PyTorch) If reserved memory is >> allocated memory try setting max_split_size_mb to avoid fragmentation.  See documentation for Memory Management and PYTORCH_CUDA_ALLOC_CONF.
Environment: GPU RTX 3090 24GB

Hm, could you provide more details leading to this error? Are you running in the ns-launch command or individually? Running the command by itself will help to debug where it's running out of memory and why. Maybe you have something else running on the same machine or GPU?

When I use python scripts/inpaint_nerfstudio_dataset.py grid-prior --nerfstudio-dataset data/nerfstudio/materials to generate inpainting image, torch.cuda. OutOfMemoryError: insufficient CUDA memory. tried to allocate 9.38 GiB (GPU 0; 23.70 GiB total capacity; 7.97 GiB already allocated; 7.68 GiB free; 8.23 GiB reserved in total by PyTorch) If the reserved memory is larger than the allocated memory, try setting max_split_size_mb to avoid fragmentation. See the memory management and PYTORCH_CUDA_ALLOC_CONF documentation.

I see! Try running python scripts/inpaint_nerfstudio_dataset.py grid-prior --help if you want to see things you can modify.
Maybe make this 20 and 10, respectively. It would be inpainting less images at a time in a batch, but it might let you get around this memory issue. https://github.com/ethanweber/nerfiller/blob/c59164a0206b44b7ae8fc6b7033070a4dd558498/nerfiller/configs/inpaint.py#L40-L43


Please document, that fetchOptions is ignored when request.mode is 'navigate'

Library Affected:
workbox-strategies
Browser & Platform:
all browsers
Issue or Feature Request Description:
Please mention in the documentation that fetchOptions for a workbox-strategies is ignored when request.mode === 'navigate'. One might spend hours chasing 👻 ...
This behaviour was introduced with https://github.com/GoogleChrome/workbox/pull/1862 and still exists today in v6.
Original issue is still open: https://github.com/GoogleChrome/workbox/issues/1796

Sorry about that 😦 . We can get this added to the docs, since I'm still not sure how we're going to resolve #1796. (Implementing in Workbox v7 the work around that broke older versions of Edge is one option, since Edge is now using Chromium under the hood.)


I built a site with Eleventy!

I just built my personal website with Eleventy:
tobiasschmidt.me
I really enjoyed how flexible and un-intrusive Eleventy is.
Thanks for building and maintaining it!

@zachleat please close this issue because the site already exists

Thank you!


ORA-01745: Ungültiger Host-/Bindevariablenname caused by :table

In /src/Metadata/Source/OracleMetadata.php#L127 :table is a reserved word and therefore the query fails

The query does also contain additional line breaks (#125, #128) and a semicolon at the end (#129)

Linking sources: https://github.com/zendframework/zend-db/blob/790123893c01ad597b28652b2a382ac86186c6c8/src/Metadata/Source/OracleMetadata.php

@lkainers what oracle version are you testing against? Also, got an example of a generated query?

Oracle Database 11g Enterprise Edition Release <IP_ADDRESS>.0 - 64bit
There is no generated query https://github.com/zendframework/zend-db/blob/790123893c01ad597b28652b2a382ac86186c6c8/src/Metadata/Source/OracleMetadata.php#L107 is the query

$params = array(
'driver' => 'Oci8',
'hostname' => 'host',
'username' => 'user',
'password' => pass',
'port' => '',
);
$connection = new Zend\Db\Adapter\Driver\Oci8\Connection($params);
$driver = new Zend\Db\Adapter\Driver\Oci8\Oci8($connection);
$adapter = new Zend\Db\Adapter\Adapter($driver);
$metadata = new Zend\Db\Metadata\Metadata($adapter);
$metadata->getConstraints('tablename');

Here's a PR that would fix this https://github.com/zendframework/zend-db/pull/34 issue


Di, Latest static binding

It's not implemented yet in zephir https://github.com/phalcon/zephir/issues/606

close it at this time


Check onwheel event in IE and other browsers

In particular check html.canvas.onwheel and possibly make pull request for scala.js.dom to add method.

Edge: ERROR: black screen

think i should put this issue elsewhere as its better served on a roadmap/structure doc thing i have in mind for project niceties
i vote byebye


[7.x.x] Bump Dependencies #5015571334

Bumps dependencies for product-is. Link : https://github.com/wso2/product-is/actions/runs/5015571334

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jenkins-is-staging seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


wip - doc to install weave gitops enterprise  airgap / offline mode

Result of https://github.com/weaveworks/weave-gitops-enterprise/issues/1809

What changed?
Added guide

Why was this change made?
To guide wge admins while installing wge in a restricted netwrok

How was this change implemented?
docs

How did you validate the change?
locally running the doc

Release notes
Documentation added to guide platform admin while installing weave gitops enterprise in a restricted network

Documentation Changes
No

updated guide

What are your thoughts @darrylweaver l

What I think is missing the installation of clusterctl into the destination cluster, as I said.
You collect the artefacts, which would include some containers, it should save the capi containers too.
But then for the installation in the air-gapped cluster, you only say install the WGE helm chart with some images specified from the local container repo.
You do not say to run clusterctl init and the problem with running that would be it would connect to the repo for the provider to init the cluster.
So, once you have the containers in your local repo, how do you provide kubernetes manifests to install them for CAPI?

Another comment:
Why are we making the customer run the build of the artefact to cross over the airgap, when we could easily run all of that in our own CI and just publish the tarball they need to download?
We just need download location and pushing to the local repo rather than installing Kind, clusterctl, WGE etc and having to do that for each release version themselves.
If we just make it part of our CI we can automatically publish it whenever a new version is released.  They can then follow the install instructions from the tarball whenever they want to upgrade.


Update class to work with SILE v0.10.11

I'm pretty sure (but haven't actually tested) that this class is going to break in SILE v0.10.11 (released yesterday). I say that because I recognize this bit:
https://github.com/silnrsi/fontproof/blob/28247947e565351f3cbb794fdf68693dc8ded4f9/classes/fontproof.lua#L15-L26
...working outside of the init() function is a loophole that I closed to address another issue. It probably never should have worked this way, but it's now stricter about class instantiation actually happening in the callback function (and hence in the correct sequence with class inheritance and other package initialization). Some of my own projects ran afoul of this too.
(Feel free to assign this issue to me, I'll submit a fix when I get a chance.)

Somewhat surprising this didn't actually break completely, it does still work in v0.10.11 as written — still by a loophole that I think shouldn't have worked. To make life easier when the upcoming full blown breaking change to the class system hits I'm submitting a PR so that at least it uses the current class system as intended. It should be easier to port this (and things like deprecation warnings should work better) if you're actually using the currently documented API.


Polling Movement Sensor

Hi, this isn't really an issue, but whats the best way to poll the movement sensor to find out if someone is there? check State.Presence every .5 seconds? is there a push event of any sort?

The Philips Hue Bridge does not support push events through the public developer api. So polling is currently your best option.

Thanks, is that likely to drain the sensors battery or, i suppose you're only polling the hub which will only be updated when the sensor changes.


Something went wrong error when a dapp is signed in with a wallet that is signed out

The error is displayed when a dapp is signed in with one account and the wallet is signed in with another seed phrase.
Steps to reproduce
0. Sign in on Hiro wallet with seed 1

Go to explorer.hiro.so
Go to sandbox explorer (top right)
Sign in on the sandbox with current account on Hiro wallet
Sign out on the wallet
Sign in with another seed phrase (seed 2)
Deploy a contract in the sendbox
See this error (an issue is expected, you can't sign with the account that is logged in on the dapp).

Expected:
A more meaningful error. example: De app you are using is signed in with an account that is not accessible with the current wallet (seed) you are using. Or the dapp and wallet are on a different network (testnet and mainnet Stacks for example).
Is that an option? Could the wallet detect that? Or at least suggest a fix because it is likely caused by this?

Related: https://github.com/hirosystems/wallet/issues/3770


Adding messageHash atribute in DB, focusing synchronization

Waku is the family of decentralized protocols.
The Waku network consists of independent nodes running the corresponding protocols.
Waku store/archive uses id attribute as the primary key (in conjunction to storedAt and pubsubTopic), indexing and cursor related functions. A deterministic way of addressing a message is referred to in RFC. We require this deterministic addressing in synchronization of messages across the nodes operating in the decentralized space. For legacy reasons we aim not to break the existing id attribute, in parallel there should be a messageHash attribute driving from the above-mentioned RFC. There seems to be a wider need for clarity on the nitty gritty details of such a proposal/change.
After multiple deliberations with Hanno and Ivan, following is the direction/approach we can take:
Introduce a messageHash attribute in DB (SQLite and Postgres) while keeping id attribute to support the legacy application, in future id will be deprecated, and messageHash will take over. Breakdown of notable action items below:

to compute the messageHash renaming the existing RFC function/proc in Waku Core code from digest to computeMessageHash. This change will not impact any API or break legacy code, a limited in codebase renaming, nothing that others should be mindful of.
renaming of the type of the messageHash type of variables from WakuMessageDigest to WakuMessageHash
make related changes in test suite where messageHash is used as a part of put driver code/func/proc.
DB migration script for the introduction of new messageHash attribute. Where themessageHash is backfilled with simple counter values. Considering the older versions of SQLite, a very rudimentary method will be used to backfill the messageHash attribute.

This also aims to reverse the already made change to computeDigest calculation in PR, whose revert is already in progress on PR. This will spill over to goWaku who have already made this change so they also need to reverse this. And will abandon/cancel the ongoing issue and PR in jsWaku.
Seeking input from all the interested parties: @jm-clius @Ivansete-status @alrevuelta @vpavlin @fryorcraken @richard-ramos @weboko @waku-org/waku

This will spill over to goWaku who have already made this change so they also need to reverse this.

Change reverted in this commit https://github.com/waku-org/go-waku/commit/cf82f66d12ed84550722f8da156a9fb39a85114b

This seems reasonable. Since the RFC uses the term message_hash I think it's fine to continue renaming the waku core module from digest to computeMessageHash.

where messageHash is used as a part of put driver code/func/proc

Do you mean once we add the messageHash attribute? Afaik existing tests shouldn't be affected, unless there are already some tests related to this attribute.
Yes upon adding the messageHash attribute we need to change some test cases where there is a put driver trying to inject a message in the database. The nature of the test cases will not change just some input parameter related changes.

DB migration script for the introduction of new messageHash attribute

This will just add the new column, but since it may become the primary key and should be both unique and NOT NULL value, we should come up with something simple to backfill messageHash for historical entries - perhaps a simple counter will do? This won't be an addressable key, but since these entries will become obsolete within max 30 days for our longest store that's not really a concern. We should just not break the uniqueness and not null constraint.
Indeed we should use a counter and not leave messageHash as NULL value.

Thanks for the detailed description @ABresting :100: !
Instead of renaming things in digest.nim maybe it is better to create a new message_hash.nim file, and add a comment in the digest.nim file stating that it will get deprecated soon. Then, we will remove the digest.nim once we deprecate the id field.
Let me also add an interesting point, extracted from @jm-clius's comments in a 1:1, about the message_hash attribute (maybe already considered somewhere:)

The new Sync protocol, or a new version of the Store protocol, will allow Store peers to ask among them <<Please, give me the message_hashes from a certain period of time>>. Then, the nodes could retrieve the missing messages based on the missing message_hash set.

This idea of key-value storage connects very well with the aim of bringing Redis as an intermediate layer between the Waku node and Postgres.

Instead of renaming things in digest.nim

In this case, if we have decided to change the terminology I would just go for it. It's good to keep backwards compatibility, but only if some external clients depend on this or if we extensively reference this elsewhere in the code and changing it will obscure other changes. digest.nim is not currently used anywhere (except for some logging), so we'll just create dead code if we keep the old module (the id and digest we're planning to deprecate is part of the archive module, not core).


Exported Game exe doesn't run on other computers

Godot version:

3.0.6 Mono Version
OS/device including version:

Windows 10
Issue description:

I exported my finished game for windows and the exe file for the game runs fine on my computer, however, when others download the exe and pck files, they get this error (Cannot Find mono in the registry)
(I'm not sure why it's so blurry, but i did not take this photo)
https://media.discordapp.net/attachments/514232464873619483/514623850756046849/unknown.png
Here is my game download:
https://kaideu.itch.io/just-another-space-shooter
Am I to assume that the person downloading needs to have something pre-installed to allow them to play this? or is this a mono export bug?
Steps to reproduce:
Minimal reproduction project:

Mono must be installed on system, i think

Mono must be installed on system, i think
So, I would need to list mono as a requirement for my player base?

Has anyone else had this issue or figured out an alternative to having a mono requirement?
I tried looking into web export to not have to deal with this, but web export seemed like it wasn't ready yet or had some steps that I couldn't figure out dealing with a third party software.

C# support isn't finished yet. I believe the plan is to include a Mono runtime library with exported C# projects in the end, thereby removing the requirement for players to install mono.
Also see #18364 C# status and plans towards 3.1
It states: "2. Finish project exporting. This is almost done. It's just missing exporting the right mono runtime library for the target platform, making it work with the Export PCK/Zip(-only) option, and more testing of course."
It may be possible to simply copy the Mono runtime library into your exported project's folder, but I don't know from the top of my head which files you need (start with Mono.dll maybe :)).

C# support isn't finished yet. I believe the plan is to include a Mono runtime library with exported C# projects in the end, thereby removing the requirement for players to install mono.

What if my code doesn't use any C#?
I tried using C# but some keywords didn't work as they should so, as stated here #23609, so I just used the Godot language.
Does this mean i would need to replace the mono version with the standard version to be able to get this game to run properly?
Do you know if I am able to simply backup my project, replace my Godot version and reopen it safely for export?
I'll try this to see if I can get it to work.


knative addon on v1.26 RC is failing with

Summary
Enabling the knative addon on the 1.26-RC results in a setup that cannot be disabled. The K8s 1.26 release removes the
autoscaling/v2beta2 API version of HorizontalPodAutoscaler, the autoscaling/v2 should be used instead. Enabling the knative addon (see repro steps below) results in  microk8s.kubectl describe -n knative-serving knativeserving.operator.knative.dev showing the following warning:
  Warning  InternalError  3m4s (x3 over 13m)  knativeserving-controller  failed to apply non rbac manifest: no matches for kind "HorizontalPodAutoscaler" in version "autoscaling/v2beta2"

Looking at the release notes of knative v1.8.0 [2] this issue must have been addressed, but unfortunately I am still seeing it.
Maybe I am missing something in the deployment process, @csantanapr could you offer some insight on what might be wrong?
[1] https://kubernetes.io/blog/2022/11/18/upcoming-changes-in-kubernetes-1-26/#removal-of-the-v2beta2-horizontalpodautoscaler-api
[2] https://github.com/knative/serving/releases/tag/knative-v1.8.0
What Should Happen Instead?
The addon should come up correctly.
Reproduction Steps
Install the 1.26 RC:
sudo snap install microk8s --classic --channel=1.26/candidate

Enable the community addons:
sudo microk8s enable community

Have the knative addon deploy the v1.8.1 release by editing /var/snap/microk8s/common/addons/community/addons/knative/enable and /var/snap/microk8s/common/addons/community/addons/knative/disable  to set  `KNATIVE_VERSION="1.8.1".
Enable the knative addon:
sudo microk8s enable knative

See the error:
sudo microk8s.kubectl describe -n knative-serving knativeserving.operator.knative.dev

See disable command hang:
sudo microk8s disable knative

From some early investigation, perhaps there are still some dependencies using autoscaling/v2beta2?
I see https://github.com/knative/serving/blob/3d9c724d13c5ebe23317f4f77d996b373440b831/vendor/knative.dev/pkg/client/injection/kube/client/client.go have lots of references to it, and this is pulled as a depedency of knative serving. So perhaps there is still some usage of the v2beta2 APIs that has not been fixed?
Dependency on knative/pkg here https://github.com/knative/serving/blob/cd1cd1a612579f93cc6d94df07b20be3247159fb/go.mod#L40


Frontmatter Layout Control

If I'm not mistaken -- and maybe I am as I'm just getting to the implementation of this -- this plugin uses the router as the primary source to determine which layout to use and I can understand that this is indeed a useful pattern particularly as the "primary pattern" to manage layouts.
If, however, you want to change this at the individual page though it would be really nice if this were able to interact with the defacto Markdown meta format of Frontmatter. Because I've always paired this plugin with vite-plugin-pages and vite-plugin-md I always just assumed this would be there but I believe it is not.
To be clear, what I'd like to see is that when a markdown file has a layout prop defined in Frontmatter it overrides the route based configuration.
---
title: My Post
layout: special
---

# Hello World

Am I just being a numpty and this is in fact supported? Is this something you've considered before? Would you consider?

Note: the only way i know of to do this atm is to put this into a Markdown file:
<route lang="yaml">
meta:
    layout: 404
</route>

This shifts it but is quite awkward for Markdown ... absolutely fine for VueJS based pages.

Note: i had Anthony approve a PR on vite-plugin-md which opens this a bit (quite indirectly) and hope to have another much bigger PR on vite-plugin-md soon which makes this more explicit.

@yankeeinlondon hi! Has the layout of MD been supported? In my current situation, even if the layout is set, it is still the default layout!As follows, it was actually Deault

If anyone needs this and wants to do a PR, I'd be happy to review.  I don't want to add any dependencies to this package


minimum block reward

Added a new flag --minimum-block-reward to the daemon command.
If the total reward of a block generated by a node is less than the  minimum-block-reward configured by the node then it discards the diff (consisting of transactions and snark work) and creates an empty block (no coinbase or transactions) instead.
This is temporary solution to a problem described in #8576. The long term solution is described here #8585
Closes #8576

!approved-for-mainnet

Hi, as a BP I'm wondering what benefits this solution brings please? The snark fees cannot exceed the coinbase rewards in the first place, so the reward without this solution will always be positive or 0. This solution, when triggered, seems to ditch the small, positive reward and produce an empty block with 0 reward. Why would a BP use this please?

It's due to the Foundation rules as they do not include fees see https://docs.minaprotocol.com/en/advanced/foundation-delegation-program. If you produced a block with 720 rewards you are responsible to pay the same proportion of block rewards (less fees) regardless if you only received a net 20 after buying a snark for 700. So it guards against this case.

It's due to the Foundation rules as they do not include fees see https://docs.minaprotocol.com/en/advanced/foundation-delegation-program. If you produced a block with 720 rewards you are responsible to pay the same proportion of block rewards (less fees) regardless if you only received a net 20 after buying a snark for 700. So it guards against this case.

understood. Thanks Gareth!


KNX component configuration: fire_event_filter is not optional

Home Assistant release with the issue: 0.68.1

Last working Home Assistant release (if known): not known
Operating environment (Hass.io/Docker/Windows/etc.): Docker @ Synology

Component/platform: https://www.home-assistant.io/components/knx/

Description of problem:
The KNX component documentation states, that the fire_event_filter configuration is optional. But adding only fire_event to the config, omitting fire_event_filter results in a config error:

Invalid config for [knx]: some but not all values in the same group of inclusion 'fire_ev' @ data['knx'][<fire_ev>]. Got None. (See /config/configuration.yaml, line 96). Please check the docs at https://home-assistant.io/components/knx/

Problem-relevant configuration.yaml entries and (fill out even if it seems unimportant):
knx:
  tunneling:
    host: '<IP_ADDRESS>'
    port: 3671
    local_ip: '<IP_ADDRESS>'
  fire_event: True
#  fire_event_filter: ["*/*/*"]

Traceback (if applicable):

Additional information:
It should either be made more clear in the documentation, that fire_event_filter is no longer optional, if fire_event is used, or fire_event_filter should become truly optional, i.e. default to ["*/*/*"] if omitted in the config.

From the documentation:

If fire_event is set fire_event_filter has to be specified. fire_event_filter defines a list of patterns for filtering KNX addresses. Only telegrams which match this pattern are sent to the HOme [sic!] Assistant event bus.

Oops, thanks. I should actually read the documentation. Erm... ;-)


npm install remark-flexible-containers

What do you mean with that issue? You did not provide any descriptive comment !


[Kotlin DSL] Task type-safe accessor generated with type Any if task type is internal

Now Kotlin DSL generate type-safe accessors for tasks and task type is used in the configuration lambda.
But if task type is internal, will be generated accessor with type Task instead of the public parent type
Expected Behavior
Accessor should be generated with a closest parent public type.
Imagine this hierarchy:
abstract class MyCustomTask : DefaultTask()

internal class MyCustomTaskImpl : MyCustomTask()

Should be generated this accessor:
val TaskContainer.`myCustomTask`: TaskProvider<MyCustomTask>
    get() = named<MyCustomTask>("myCustomTask")

Current Behavior
Will be generated this accessor
val TaskContainer.`myCustomTask`: TaskProvider<Task>
    get() = named("myCustomTask")

Also, configuration lambda type will be Any instead of Task:
tasks.myCustomTask {
   // this receiver has type Any, not Task, but it's probably some invoke function resolution problem
}

Currently, Kotlin Gradle plugin itself has this problem because provides new Worker-based tasks implementation which is internal, so this broke type-safe accessors.
See https://youtrack.jetbrains.com/issue/KT-31435

Also see https://youtrack.jetbrains.com/issue/KT-29699

Fixed in https://github.com/gradle/gradle/pull/9981, will be in Gradle 5.6


adding dubbo-core package for the separation of the abstraction and implementation

this idea is good. When the overall function of the second stage is completed, we can consider this work again.

Abstraction and implementation separation will be based on modules, split into multiple small pr.


Can't see the users connected to localhost

Hello,
I'm trying to set up the server and I ran into some problems.
I successfully started the project with "npm start" but when I connect to https://<IP_ADDRESS>:8086 nothing happens. I can see the blue bar but that's it. I tried connecting in the same time with Mozilla, Chrome and an Android phone and none update.
After this I tried deploying it on heroku but it fails. You can see it here.
I have a turn server because now I'm rewrtiting my application and I had another signaling server before but I'm not sure how to make this work. Please help me! Thank you! ^_^

4 zeros IP?
You've done something terribly wrong, and I don't even know, at which step

I can access https://localhost:8086 as well and the same happens.

Well, then
Blue bar at the top indicates, that you have connected to yourself
Now you need to connect other device or devices
But that won't work with localhost obviously
You need to enter you local network IP on other device
It must start with 192.168.X.X

Alright. That makes sense. If I open 2 Chrome tabs and connect them to 192.168.X.X:8086 I can see both tabs in the list, even start a call (So my Turn server works). When I do that from Mozilla, it doesn't appear in the list and the console shows "Firefox can’t establish a connection to the server at wss://192.168.X.X:4443/.". This might be the same issue as the other opened issue.
I can't connect to the server through the app as well but I'm thinking this might be because the connection is not secured (I think).
Anyway, I don't really care about the browser (I just wanted to see if I set up the Turn server correct) and I would like to upload the signaling server on Heroku. Do you know why that error pops up? I added a screenshot of it in the issue. Thank you very much for your time!

I also get 4 zero IP, what's wrong?

You need to enter computers ip address in android server address for see android users on web.

Same issue

Hello,
I'm trying to set up the server and I ran into some problems.
I successfully started the project with "npm start" but when I connect to https://<IP_ADDRESS>:8086 nothing happens. I can see the blue bar but that's it. I tried connecting in the same time with Mozilla, Chrome and an Android phone and none update.
After this I tried deploying it on heroku but it fails. You can see it here.
I have a turn server because now I'm rewrtiting my application and I had another signaling server before but I'm not sure how to make this work. Please help me! Thank you! ^_^

I have then same error when I tried deploying it on heroku, any advices, please help me. Thanks


Add Nairobi and Havanna to city extracts

Nairobi (Kenya): http://www.openstreetmap.org/relation/3492709
Havanna (Cuba): http://www.openstreetmap.org/relation/5252057
Alphabetically sort city extracts

I propose a new tradition :)

Every new OSM2Vectortiles member has to be a right to propose a new city extracts.

My choose :

Budapest (Hungary) : http://www.openstreetmap.org/relation/1244004

Rationale:

the ideal for testing maps   -> always on the contributor  neighborhood
( and )  a little reward  :)

Budapest (Hungary) : http://www.openstreetmap.org/relation/1244004

Would be nice to see something different than always Zurich in the examples as well :grin:
If we can get a big list of bounding boxes for city extracts we can also do the same as for countries. Extract 200 cities and list them as searchable extracts on the site.

Great idea @ImreSamu. The current selection is very random, just chosen well-know cities of every continent. Do have other cities you miss?

Howto get BBOX with online tools?

Search location at http://osm.org, note relation OSM id (admin. boundaries always are r.).
Given OSM id relation get polygon: http://polygons.openstreetmap.fr/
On same site: If need a buffer, choose line. If need simplified polygon, generate simplified polygon.
To get BBOX, paste result to http://geojson.io/ and choose menu "Meta > Add bboxes".

A possibility would be to use the list compiled by Mapzen for their metro extracts, which can be found here

A possibility would be to use the list compiled by Mapzen for their metro extracts, which can be found here

Ready made bounding boxes as GeoJSON including the name. That's actually all we need.

+1 for Budapest :-)
On 26 April 2016 at 15:06, Stefan<EMAIL_ADDRESS>wrote:

Howto get BBOX with online tools?

Search location at http://osm.org, note relation OSM id (admin.
boundaries always are r.).
Given OSM id relation get polygon: http://polygons.openstreetmap.fr/
On same site: If need a buffer, choose line. If need simplified
polygon, generate simplified polygon.
To get BBOX, paste result to http://geojson.io/ and choose menu "Meta

Add bboxes".

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/osm2vectortiles/osm2vectortiles/issues/293#issuecomment-214734655

automatic selection is a good idea.
my first  proposal  -  for fine customization:

with a basic filter  -
for capital cities

 [ population  >  0.5M AND  capital=yes  AND   [ area(city) / area(country) < 0,3 ] ]

and  for  the big cities .

[  population >  2M    AND   [ area(city) / area(country) < 0,3 ] ]

with

include(city list )
exclude(city list)

the [ area(city) / area(country) < 0,3 ]  for  excluding  city-states ( like Singapore,  Vatican )
for example - now there are 2 versions in the downloading:

Singapore as a City
Singapore as a Country
see  create-extracts.sh

create_extract "singapore.mbtiles" "103.4666667" "1.0303611" "104.6706735" "1.6130449"
create_extract "singapore.mbtiles" "103.84417"   "1.28469"   "103.86235"   "1.30287"

They have it available also as plain JSON, which should be simpler to import at https://github.com/mapzen/metroextractor-cities/blob/master/cities.json

Cities and countries TSV I can then later parse in #294 to create extracts.

https://github.com/osm2vectortiles/osm2vectortiles/blob/feature/mbtiles-extract-csv/src/create-extracts/country_extracts.tsv
https://github.com/osm2vectortiles/osm2vectortiles/blob/feature/mbtiles-extract-csv/src/create-extracts/city_extracts.tsv

As soon as e.g. Havanna is showing up on http://osm2vectortiles.org/downloads/ we can tweet about supporting the Cuba Conference too :-) https://twitter.com/Mapbox/status/724616125301030913


Magic Card Trap Card does not respond after launching

Magic Card Trap Card does not respond after launching

The same issue as #92

Sorry I didn't notice, thank you very much for making mods


Changing color of selection elements, and cursor

I already have set my accent colors but I need a different color for the cursor, and the "selection" handles because the background in the prompt is white.
Here my styles.xml:
        <item name="colorAccent">@android:color/white</item>

        <!-- colorPrimary is used for the default action bar background -->
        <item name="colorPrimary">@color/primaryDark</item>

        <!-- colorPrimaryDark is used for the status bar -->
        <item name="colorPrimaryDark">@color/primaryDark</item>

I am trying to set @drawable/edit_text_cursor by doing <item name="@drawable/edit_text_cursor">@color/primary</item> but its not working. Is it possible to control the cursor color and selection handles in the prompt?

Hi,
i'm curious if you succeeded. I am having the exact same issue.
Any news?
Thx


[Audit] Does TWData even need to be shared down to render op impl?

When things were first implemented, there was a need to share cursor_position: Position to various RenderOp impls. This is because the cursor position was managed globally and there was no concept of atomic paint operations.
With the introduction of atomic RenderOps is it even necessary to do this? Can't a &mut caret_position be shared from the RenderOps down? This would simply prevent certain side effects from ever having the chance of manifesting (as they can today!).

Findings - there is no need to do this due to the requirement of the PaintRenderOp::paint() trait to modify the Position that is passed in. In other words, interior mutability is required for the Position which is used during paint operations and also possibly updated as well.


Normals inverted on mirrored objects

Godot version
4.0.2
System information
Arch Linux
Issue description
I have modeled a scene in blender. One object has a mirror modifier. So the texture gets also mirrored. The problem is that the normal map is inverted on the mirrored side like this:

But it should be like this:

The issues appears when importing the scene as a .blend file and as well when importing from a gltf file that was exported from blender previously.
Other
Inverting the y axis in the import settings of the normal map texture doesn't work either. Both sides get inverted and they are still different.
Steps to reproduce
Just import such a scene and look at it in the editor view.
Minimal reproduction project
issue_test.zip

Blender modifiers are blender specific. They do not exist in the real world outside of Blender.
Hence why they do not work in nearly all cases when exported, same with Blender shader nodes that go beyond the very PBR material basics.
All Blender modifiers need to be applied / baked to a mesh / texture before exporting. Some addons do this for you behind the scene before exporting but in most cases you need to apply all your modifiers manually.

I applied all modifiers on export. The mirror modifier is just what I found caused the issue. As I said the exported glb file is corretly rendered by other 3d viewers. just not godot.

The texture is only baked from one side of the mirrored mesh, but as the texture coordinates get also mirrored it is not a problem.

I am not sure if it is related, but the texture of the object also begins to flicker if looked at from a nearly 90° angle. Its especially noticable if the object has a emission map. The part that flickers has no emission though, but the flickering appears in the emission color. I my case its white:

It appears also when turning the normal map of.

the texture of the object also begins to flicker if looked at from a nearly 90° angle

I think this is because of specular antialiasing. After turning on TAA it descreased significantly.


add link to the latest release

Hi. Could you please add a direct link to the latest release? That would simplify automation. Thank you!

You can always find links to the latest release on https://www.win-acme.com/ and https://github.com/win-acme/win-acme/releases
If you're automating I would recommend not linking to the latest version, but to one that you've tested, and reading the release notes and retesting before you update. There is always the chance of breaking changes or bugs popping up.


python311Packages.bitarray: 2.8.1 -> 2.8.2

Changelog: https://github.com/ilanschnell/bitarray/raw/2.8.2/CHANGE_LOG
Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 260164 run on x86_64-linux 1

8 packages failed to build:

python310Packages.fairseq
python310Packages.fairseq.dist
python310Packages.scancode-toolkit
python310Packages.scancode-toolkit.dist
python311Packages.fairseq
python311Packages.fairseq.dist
python311Packages.scancode-toolkit
python311Packages.scancode-toolkit.dist

30 packages built:

echidna
glasgow
glasgow.dist
home-assistant-component-tests.apple_tv
python310Packages.bitarray
python310Packages.bitarray.dist
python310Packages.eth-account
python310Packages.eth-account.dist
python310Packages.pyatv
python310Packages.pyatv.dist
python310Packages.pybloom-live
python310Packages.pybloom-live.dist
slither-analyzer (python310Packages.slither-analyzer)
slither-analyzer.dist (python310Packages.slither-analyzer.dist)
python310Packages.web3
python310Packages.web3.dist
python311Packages.bitarray
python311Packages.bitarray.dist
python311Packages.eth-account
python311Packages.eth-account.dist
python311Packages.pyatv
python311Packages.pyatv.dist
python311Packages.pybloom-live
python311Packages.pybloom-live.dist
python311Packages.slither-analyzer
python311Packages.slither-analyzer.dist
python311Packages.web3
python311Packages.web3.dist
sacad
sacad.dist

torch and scancode-toolkit are already failing,


fix #727

With that change this seems fine. I like strict but matching other nickservs out of the box seems like the best thing to do right now


Unable to update the Visual Studio Code on MAC

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

VS Code Version:

Version: 1.80.2 (Universal)
Commit: 2ccd690cbff1569e4a83d7c43d45101f817401dc
Date: 2023-07-27T21:05:41.366Z
Electron: 22.3.14
ElectronBuildId: 22695494
Chromium: 108.0.5359.215
Node.js: 16.17.1
V8: <IP_ADDRESS>-electron.0
OS: Darwin arm64 22.3.0

OS Version:

MacOs Ventura 13.2.1

Steps to Reproduce:

check for updates
Click on Update Now button

ER - VsCode closes automatically, then re-launch with updated version.
AR - VsCode closes, then nothing happens (stays on its old version).
I have extensively explored online resources in an attempt to resolve the matter at hand. Despite my efforts, I have been unable to solve the issue.
I confirmed that the application is located within the Applications folder and proceeded to execute the commands mentioned in this issue: https://github.com/microsoft/vscode/issues/7426#issuecomment-277737150:
sudo chown -R $USER ~/Library/Caches/com.microsoft.VSCode.ShipIt
xattr -dr com.apple.quarantine /Applications/Visual\ Studio\ Code.app

Regrettably, noting solved my problem.
I also checked the ShipIt_stderr.log and found the following error (not sure if it is related to my problem or if its just a red herring as it is quite old. I replaced the hashes from the error with ...):
 Couldn't remove owned bundle at location file:///var/folders/tb/.../T/com.microsoft.VSCode.ShipIt.../Visual%20Studio%20Code.app, error NSError { domain: NSCocoaErrorDomain, code: 4, description: "“Visual Studio Code.app” couldn’t be removed.", failureReason: "The file doesn’t exist.", underlying error: NSError { domain: NSPOSIXErrorDomain, code: 2, description: "The operation couldn’t be completed. No such file or directory" }, userInfo: {
    NSFilePath = "/var/folders/tb/.../T/com.microsoft.VSCode.ShipIt..../Visual Studio Code.app";
    NSUserStringVariant =     (
        Remove
    );
} }

I've also been experiencing this issue since VSCode 1.80 on MacOS 13.4.
Tried this same things attempting to resolve it and nothing worked. For now I've just been manually replacing the app in Applications with the one in ShipIt

@urig-40seas can you check if the issue is present with our nightly insiders version https://code.visualstudio.com/insiders

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Not able to build project if I used implementation instead of compile

This Library is not supporting implementation tag in gradle file, please update

You can just replace the compile with implementation. it will work

I tried, but it giving so many errors in all the compressor files

Please paste your stacktrace. I was having the same issue and i solved it


/v1/tags aggregate-result missing

/v1/tags as of last commit is missing aggregate-result property.

Very quick fix.

I can confirm that this one is fixed.


jplayer swf path corrected

The swf path of jplayer wasn't well set, so the flash fallback wasn't working.
This fixes this.

Thanks for that @serdnab !

And depoyed on driveplayer.com


safe or nah ?

tryna ddos some kids is it safe ?

maybe

If you're openly asking that on GitHub, then you probably shouldn't.
But yeah, this program is safe. Maintaining privacy/anonymity though, no idea.


Support CreateTopics / DeleteTopics APIs

https://kafka.apache.org/protocol#The_Messages_CreateTopics
It would be awesome to be able to create/delete topics in pykafka.

@messense I agree pykafka should support the topic creation and deletion APIs. Do you know when support for these APIs was added to kafka?

I think it was added in Kafka 0.11, a new Java AdminClient was added too.
https://cwiki.apache.org/confluence/display/KAFKA/KIP-4+-+Command+line+and+centralized+administrative+operations

@emmett9001 I was able to create a topic with kafka broker 0.11.0 with the following setup:

Assuming that 'mytopic' does not exist
Create a producer from topic in the following way:

client = KafkaClient(hosts='localhost:9092', broker_version="0.11.0")
topic = client.topics['mytopic']
p = topic.get_producer()

Produce some message by the producer:

for msg in range(0,10):
        p.produce('%i message' % msg, partition_key='key/garbage', timestamp=time.time()*1000)
p.stop()

The topic was automatically created and the message were properly written.

NOTE:
While running all of this, I get one warning from pykafka:
No handlers could be found for logger "pykafka.cluster"

@nikhilbiyani What you're noticing is pykafka's support for automatic topic creation, which is distinct from use of the topic create/delete API. The API provides a rich interface to topic settings as they're being created and deleted, where the autocreation interface simply uses broker defaults to create a topic for which a metadata request is sent.

This is blocked by #755

#750 is now unblocked and needs a bit more work, but should be mergeable in the next few weeks.


Implement Connection trait for PgListener

PgListener implements Executor trait but not Connection which makes it impossible to begin a transaction with an underlying postgres connection.
This feels contradictory since a listener can be used for interaction with a database.

This is intentional.
I'm not sure how a transaction would affect a listen. Do messages keep flowing in while you're in the transaction?
Additionally, anything more than the minimum activity on a connection that is being used as a listener can greatly worsen the incoming rate of notifications.
I personally think the design for PgListener should be cleaned up to work more around channels, which would remove any issue of allowing transactions on the listener.

This is intentional.
I'm not sure how a transaction would affect a listen. Do messages keep flowing in while you're in the transaction?
Additionally, anything more than the minimum activity on a connection that is being used as a listener can greatly worsen the incoming rate of notifications.
I personally think the design for PgListener should be cleaned up to work more around channels, which would remove any issue of allowing transactions on the listener.

I see, this definitely makes sense. Thank you for the clarification!


Add TYPE_CHECKING blocks to all required files

Closes #253
Changes

Add flake8-type-checking extension to pre-commit
Enable pydantic and FastAPI configuration options for flake8-type-checking extension
Fixed all flake8-type-checking linting errors.

There were a couple of things I wanted to note:
1
In starlite/types.py, there was some imports which were converted to Any when not TYPE_CHECKING. I left these as they were and added noqa: TC004 to prevent the linter from erroring those lines.
2
In starlite/routes.py there were several imports which raised errors when placed in the TYPE_CHECKING block.
from starlite.handlers import ASGIRouteHandler  # noqa: TC001
from starlite.handlers import BaseRouteHandler  # noqa: TC001
from starlite.handlers import HTTPRouteHandler  # noqa: TC001
from starlite.handlers import WebsocketRouteHandler  # noqa: TC001

I believe this is due to the fact that the pydantic @validate_arguments decorator does some magic under the hood which the flake8 extension doesn't detect. AFAIK this is the only instance in the codebase where this interaction occurs, so I just marked all the imports as noqa: TC001.
3
After I noticed point 2 happening, I enabled the type-checking-fastapi-enabled = true option in .flake8. This didn't actually fix 2, but the docs say

This will treat the annotations of any decorated function as needed at runtime.

which I thought could be helpful in avoiding other issues with decorators confusing the type checker. Disabling this option does actually recommend quite a few more types be moved into TYPE_CHECKING blocks, I didn't test to see how many (if any) of these new recommendations caused errors.

@all-contributors add @Harry-Lees code


CharacterBody2D stops receiving the velocity when is grounded

Godot version
4.0.2 Stable
System information
Xubuntu 20.04 (Linux),Compatibility
Issue description
I'm experiencing a very strange bug. I'm passing my velocity through a component, but when the object is on the ground, after a while, it stops moving, stops receiving the velocity. However, when I jump, the velocity is applied again.
Steps to reproduce
Create a velocity component
extends
var velocity := Vector2.ZERO
func acceleration_to(move_direction: Vector2) -> void:
velocity.x = lerpf(velocity.x, move_direction.x * 500.0, 0.4)
velocity.y += 3000.0 * get_physics_process_delta_time()
func move() -> void:
owner.velocity = velocity
owner.move_and_slide()
Call on player script
func _physics_process(delta: float) -> void:
$VelocityComponent.acceleration_to(Vector2(Input.get_axis("ui_left", "ui_right"), 1.0))
$VelocityComponent.move()
Minimal reproduction project
bug.zip

Hi,
In velocity_component, the velocity property is never zeroed, so the y component keeps increasing every frame. When this value has become sufficiently large (50 000) and because up_direction on player is (0, -1) (down), so much of the movement is into the ground that move_and_slide doesn't slide anymore.
Jumping isn't in the MRP, but I guess when you jump you set the y component to an upwards value, effectively resetting the y component of velocity.
Removing the += on line 8 in velocity_component seems to fix the problem
velocity.y = 3000.0 * get_physics_process_delta_time()

But on line 8 apply gravity, maybe check if not on floor ?

Ahh, I see. You can take advantage of the fact that move_and_slide() modifies owner.velocity to the actual velocity after handling collisions and sliding. If you update velocity_component's velocity with owner.velocity after move_and_slide(), it will reset y velocity when on the floor but keep it when in the air, and keep x velocity as long as player is not running into a wall.
So move() becomes
func move() -> void:
owner.velocity = velocity
owner.move_and_slide()
velocity = owner.velocity

Should work with jump as well.

Thank you

Closing, as this isn't a bug.


How to deal with categorical variables

Thanks for sharing the implementation. I haven't figured out the way you deal with the categorical variables. Could you please tell me what type the input categorical variables should take the form of? It seems to me they could be string labels, and you apply one-hot encoding to them before imputation. Not sure if I understand it correctly. Thanks in advance for your help.

I agree, this is missing in the Readme.

Great package, thanks

Class method '_get_map_and_revmap' will checks if all values in the columns of the data are string, if so, it will constructs and returns two dictionaries 'mappings' and 'rev_mappings'. 'mappings' will be used to encode those categorical variables from strings to intergers and 'rev_mappings' will be used to reversely encode those integers back to the original strings.


ECS Fargate: Agent shuts down after panicking, health check seems to still be passing

Output of the info page (if this is a bug)
Sorry, access to this is limited right now; hopefully the below description still helps.
Describe what happened:
The datadog agent stopped working after a panic has been encountered:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|   timestamp   |                                                                                message                                                                                |
|---------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
|<PHONE_NUMBER>218 | 2020-10-26 21:04:05 UTC | PROCESS | INFO | (collector.go:209 in func1) | Delivery queues: process[size=0, weight=0], pod[size=0, weight=0]                                                                                |
|<PHONE_NUMBER>953 | 2020-10-26 21:04:54 UTC | TRACE | INFO | (pkg/trace/info/stats.go:101 in LogStats) | No data received                                                                                |
|<PHONE_NUMBER>226 | 2020-10-26 21:04:55 UTC | PROCESS | INFO | (collector.go:161 in runCheck) | Finish container check #4200 in 4.243073ms                                                                                |
|<PHONE_NUMBER>218 | 2020-10-26 21:05:05 UTC | PROCESS | INFO | (collector.go:209 in func1) | Delivery queues: process[size=0, weight=0], pod[size=0, weight=0]                                                                                |
|<PHONE_NUMBER>234 | 2020-10-26 21:05:08 UTC | CORE | INFO | (pkg/serializer/serializer.go:356 in sendMetadata) | Sent metadata payload, size (raw/compressed): 467/287 bytes.                                                                                |
|<PHONE_NUMBER>250 | 2020-10-26 21:05:08 UTC | CORE | INFO | (pkg/serializer/serializer.go:376 in SendJSONToV1Intake) | Sent processes metadata payload, size: 392 bytes.                                                                                |
|<PHONE_NUMBER>953 | 2020-10-26 21:05:54 UTC | TRACE | INFO | (pkg/trace/info/stats.go:101 in LogStats) | No data received                                                                                |
|<PHONE_NUMBER>218 | 2020-10-26 21:06:05 UTC | PROCESS | INFO | (collector.go:209 in func1) | Delivery queues: process[size=0, weight=0], pod[size=0, weight=0]                                                                                |
|<PHONE_NUMBER>952 | 2020-10-26 21:07:04 UTC | TRACE | INFO | (pkg/trace/info/stats.go:101 in LogStats) | No data received                                                                                |
|<PHONE_NUMBER>218 | 2020-10-26 21:07:05 UTC | PROCESS | INFO | (collector.go:209 in func1) | Delivery queues: process[size=0, weight=0], pod[size=0, weight=0]                                                                                |
|<PHONE_NUMBER>218 | 2020-10-26 21:08:05 UTC | PROCESS | INFO | (collector.go:209 in func1) | Delivery queues: process[size=0, weight=0], pod[size=0, weight=0]                                                                                |
|<PHONE_NUMBER>758 | 2020-10-26 21:08:05 UTC | CORE | ERROR | (pkg/autodiscovery/listeners/ecs.go:117 in refreshServices) | failed to get task metadata, not refreshing services - Get "http://<IP_ADDRESS>/v2/metadata": dial tcp <IP_ADDRESS>:80: connect: connection refused                                             |
|<PHONE_NUMBER>758 | 2020-10-26 21:08:07 UTC | CORE | ERROR | (pkg/autodiscovery/config_poller.go:123 in collect) | Unable to collect configurations from provider ecs: Get "http://<IP_ADDRESS>/v2/metadata": dial tcp <IP_ADDRESS>:80: connect: connection refused                                                        |
|<PHONE_NUMBER>758 | 2020-10-26 21:08:07 UTC | CORE | ERROR | (pkg/autodiscovery/listeners/ecs.go:117 in refreshServices) | failed to get task metadata, not refreshing services - Get "http://<IP_ADDRESS>/v2/metadata": dial tcp <IP_ADDRESS>:80: connect: connection refused                                             |
|<PHONE_NUMBER>833 | 2020-10-26 21:08:08 UTC | TRACE | WARN | (pkg/tagger/tagger.go:211 in pull) | Get "http://<IP_ADDRESS>/v2/metadata": dial tcp <IP_ADDRESS>:80: connect: connection refused                                                                                |
|<PHONE_NUMBER>856 | 2020-10-26 21:08:08 UTC | CORE | WARN | (pkg/tagger/tagger.go:211 in pull) | Get "http://<IP_ADDRESS>/v2/metadata": dial tcp <IP_ADDRESS>:80: connect: connection refused                                                                                |
|<PHONE_NUMBER>875 | 2020-10-26 21:08:08 UTC | CORE | ERROR | (pkg/collector/python/datadog_agent.go:118 in LogMessage) | ecs_fargate:d884b5186b651429 | (ecs_fargate.py:90) | Error fetching Fargate http://<IP_ADDRESS>/v2/metadata endpoint                                                                               |
|<PHONE_NUMBER>875 | Traceback (most recent call last):                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/connection.py", line 159, in _new_conn                                                                                |
|<PHONE_NUMBER>875 |     conn = connection.create_connection(                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/util/connection.py", line 84, in create_connection                                                                                |
|<PHONE_NUMBER>875 |     raise err                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/util/connection.py", line 74, in create_connection                                                                                |
|<PHONE_NUMBER>875 |     sock.connect(sa)                                                                                |
|<PHONE_NUMBER>875 | ConnectionRefusedError: [Errno 111] Connection refused                                                                                |
|<PHONE_NUMBER>875 | During handling of the above exception, another exception occurred:                                                                                |
|<PHONE_NUMBER>875 | Traceback (most recent call last):                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/connectionpool.py", line 670, in urlopen                                                                                |
|<PHONE_NUMBER>875 |     httplib_response = self._make_request(                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/connectionpool.py", line 392, in _make_request                                                                                |
|<PHONE_NUMBER>875 |     conn.request(method, url, **httplib_request_kw)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/http/client.py", line 1255, in request                                                                                |
|<PHONE_NUMBER>875 |     self._send_request(method, url, body, headers, encode_chunked)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/http/client.py", line 1301, in _send_request                                                                                |
|<PHONE_NUMBER>875 |     self.endheaders(body, encode_chunked=encode_chunked)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/http/client.py", line 1250, in endheaders                                                                                |
|<PHONE_NUMBER>875 |     self._send_output(message_body, encode_chunked=encode_chunked)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/http/client.py", line 1010, in _send_output                                                                                |
|<PHONE_NUMBER>875 |     self.send(msg)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/http/client.py", line 950, in send                                                                                |
|<PHONE_NUMBER>875 |     self.connect()                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/connection.py", line 187, in connect                                                                                |
|<PHONE_NUMBER>875 |     conn = self._new_conn()                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/connection.py", line 171, in _new_conn                                                                                |
|<PHONE_NUMBER>875 |     raise NewConnectionError(                                                                                |
|<PHONE_NUMBER>875 | urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7f97799bac70>: Failed to establish a new connection: [Errno 111] Connection refused                                                                                |
|<PHONE_NUMBER>875 | During handling of the above exception, another exception occurred:                                                                                |
|<PHONE_NUMBER>875 | Traceback (most recent call last):                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/requests/adapters.py", line 439, in send                                                                                |
|<PHONE_NUMBER>875 |     resp = conn.urlopen(                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/connectionpool.py", line 726, in urlopen                                                                                |
|<PHONE_NUMBER>875 |     retries = retries.increment(                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/urllib3/util/retry.py", line 446, in increment                                                                                |
|<PHONE_NUMBER>875 |     raise MaxRetryError(_pool, url, error or ResponseError(cause))                                                                                |
|<PHONE_NUMBER>875 | urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='<IP_ADDRESS>', port=80): Max retries exceeded with url: /v2/metadata (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f97799bac70>: Failed to establish a new connection: [Errno 111] Connection refused'))    |
|<PHONE_NUMBER>875 | During handling of the above exception, another exception occurred:                                                                                |
|<PHONE_NUMBER>875 | Traceback (most recent call last):                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/ecs_fargate/ecs_fargate.py", line 79, in check                                                                                |
|<PHONE_NUMBER>875 |     request = self.http.get(metadata_endpoint)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/utils/http.py", line 283, in get                                                                                |
|<PHONE_NUMBER>875 |     return self._request('get', url, options)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/datadog_checks/base/utils/http.py", line 332, in _request                                                                                |
|<PHONE_NUMBER>875 |     return getattr(requests, method)(url, **new_options)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/requests/api.py", line 75, in get                                                                                |
|<PHONE_NUMBER>875 |     return request('get', url, params=params, **kwargs)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/requests/api.py", line 60, in request                                                                                |
|<PHONE_NUMBER>875 |     return session.request(method=method, url=url, **kwargs)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/requests/sessions.py", line 533, in request                                                                                |
|<PHONE_NUMBER>875 |     resp = self.send(prep, **send_kwargs)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/requests/sessions.py", line 646, in send                                                                                |
|<PHONE_NUMBER>875 |     r = adapter.send(request, **kwargs)                                                                                |
|<PHONE_NUMBER>875 |   File "/opt/datadog-agent/embedded/lib/python3.8/site-packages/requests/adapters.py", line 516, in send                                                                                |
|<PHONE_NUMBER>875 |     raise ConnectionError(e, request=request)                                                                                |
|<PHONE_NUMBER>875 | requests.exceptions.ConnectionError: HTTPConnectionPool(host='<IP_ADDRESS>', port=80): Max retries exceeded with url: /v2/metadata (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f97799bac70>: Failed to establish a new connection: [Errno 111] Connection refused')) |
|<PHONE_NUMBER>940 | 2020-10-26 21:08:08 UTC | PROCESS | WARN | (pkg/tagger/tagger.go:211 in pull) | Get "http://<IP_ADDRESS>/v2/metadata": dial tcp <IP_ADDRESS>:80: connect: connection refused                                                                                |
|<PHONE_NUMBER>761 | panic: runtime error: slice bounds out of range [:12] with length 0                                                                                |
|<PHONE_NUMBER>761 | goroutine 220 [running]:                                                                                |
|<PHONE_NUMBER>761 | github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners.(*ECSListener).createService(0xc00079b2c0, 0xc000742250, 0x3, 0xc000836180, 0xc0008700a0, 0x47, 0x0, 0x0, 0x0, 0x0, ...)                                                                                |
|<PHONE_NUMBER>761 |  /.omnibus/src/datadog-agent/src/github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners/ecs.go:207 +0x829                                                                                |
|<PHONE_NUMBER>761 | github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners.(*ECSListener).refreshServices(0xc00079b2c0, 0xc000eb5f00)                                                                                |
|<PHONE_NUMBER>761 |  /.omnibus/src/datadog-agent/src/github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners/ecs.go:146 +0x871                                                                                |
|<PHONE_NUMBER>761 | github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners.(*ECSListener).Listen.func1(0xc00079b2c0)                                                                                |
|<PHONE_NUMBER>761 |  /.omnibus/src/datadog-agent/src/github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners/ecs.go:100 +0x114                                                                                |
|<PHONE_NUMBER>761 | created by github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners.(*ECSListener).Listen                                                                                |
|<PHONE_NUMBER>761 |  /.omnibus/src/datadog-agent/src/github.com/DataDog/datadog-agent/pkg/autodiscovery/listeners/ecs.go:91 +0x5c                                                                                |
|<PHONE_NUMBER>766 | AGENT EXITED WITH CODE 2, SIGNAL 0, KILLING CONTAINER                                                                                |
|<PHONE_NUMBER>773 | 2020-10-26 21:08:09 UTC | TRACE | INFO | (main.go:23 in handleSignal) | received signal 15 (terminated)                                                                                |
|<PHONE_NUMBER>773 | 2020-10-26 21:08:09 UTC | TRACE | INFO | (pkg/trace/agent/agent.go:132 in loop) | Exiting...                                                                                |
|<PHONE_NUMBER>773 | 2020-10-26 21:08:09 UTC | TRACE | INFO | (pkg/trace/stats/concentrator.go:105 in Run) | Exiting concentrator, computing remaining stats                                                                                |
|<PHONE_NUMBER>773 | 2020-10-26 21:08:09 UTC | PROCESS | CRITICAL | (pkg/process/util/signal_nowindows.go:21 in HandleSignals) | Caught signal 'terminated'; terminating.                                                                                |
|<PHONE_NUMBER>773 | 2020-10-26 21:08:09 UTC | PROCESS | INFO | (pkg/forwarder/forwarder.go:280 in Stop) | stopping the Forwarder                                                                                |
|<PHONE_NUMBER>773 | 2020-10-26 21:08:09 UTC | PROCESS | INFO | (pkg/forwarder/domain_forwarder.go:233 in Stop) | domainForwarder stopped                                                                                |
|<PHONE_NUMBER>773 | 2020-10-26 21:08:09 UTC | PROCESS | INFO | (pkg/forwarder/forwarder.go:280 in Stop) | stopping the Forwarder                                                                                |
|<PHONE_NUMBER>773 | trace-agent exited with code 0, disabling                                                                                |
|<PHONE_NUMBER>775 | process-agent exited with code 0, disabling                                                                                |
|<PHONE_NUMBER>776 | [cont-finish.d] executing container finish scripts...                                                                                |
|<PHONE_NUMBER>777 | [cont-finish.d] done.                                                                                |
|<PHONE_NUMBER>777 | [s6-finish] waiting for services.                                                                                |
|<PHONE_NUMBER>981 | [s6-finish] sending all processes the TERM signal.                                                                                |
|<PHONE_NUMBER>986 | [s6-finish] sending all processes the KILL signal and exiting.                                                                                |
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

However, the defined health check still seems to be succeeding since the task is not restarted and the container is still marked as HEALTHY.
          ...
          HealthCheck:
            Command:
              - CMD-SHELL
              - /probe.sh
            Interval: 120
            Retries: 2
            Timeout: 5
          ...

From a short dive into the code, the problem seems to be here:
https://github.com/DataDog/datadog-agent/blob/b1324f0c28d6095cfa0cfa072778009af1c36f4b/pkg/autodiscovery/listeners/ecs.go#L206-L208
There seem to be assumptions around c.DockerID that are not met.
Describe what you expected:
At the very least, the health check to fail.
Steps to reproduce the issue:
Unsure. This happens very sporadically, but the root cause seems to be a failed HTTP request to the metadata endpoint.
Additional environment details (Operating System, Cloud provider, etc):
Cloud Provider: AWS
Orchestration: ECS Fargate
Agent Image: datadog/agent:latest-jmx
Environment Variables:
          Environment:
            - Name: ECS_FARGATE
              Value: "true"
            - Name: DD_TAGS
              Value: !Sub "accountid:${AWS::AccountId} env:${ServiceEnvironment} service_name:${ServiceName} service_version:${ImageTag}"
            - Name: DD_APM_ENABLED
              Value: "true"
            - Name: DD_JMXFETCH_ENABLED
              Value: "true"
            - Name: DD_HISTOGRAM_AGGREGATES
              Value: max median avg count sum
            # See: https://github.com/DataDog/datadog-agent/issues/3159
            - Name: DD_DOGSTATSD_TAG_CARDINALITY
              Value: orchestrator

Update (27.10.2020): Provided more comprehensive agent log.

+1

+1

+1

+1

+1

We are running into the same issue. Looks like ECS issue to me, should we add a graceful retry in datadog agent to workaround it?

Not sure if it's an ECS issue if the agent health check itself is still passing which is what I assume ECS would be using to determine if the container needs restarting? Having the same issue here.

Not sure if it's an ECS issue if the agent health check itself is still passing which is what I assume ECS would be using to determine if the container needs restarting? Having the same issue here.

yeah, we should also fail agent health check in case of this kind of unrecoverable error.

yeah, we should also fail agent health check in case of this kind of unrecoverable error.

Is there an update to this bug fix? Seeing the same in ECS Fargate.

I am seeing this same issue in AWS ECS Fargate, but seems like an s6-overlay issue. I have this agent as an essential sidecar to my application, (both containers are essential, which if either exits the task should exit) this error happens but it seems task does not exiting overall, which to me make me feel that maybe the s6-overlay is not allowing the container to exit when this error is happening, and thus my application does not exit either. Perhaps that is to be expected? To me that would be unexpected behavior.

Hey all,
The issue has been fixed with this PR: https://github.com/DataDog/datadog-agent/pull/6938 and is in the version 7.25 of the Datadog Agent.
Thanks!