Can't setup integration

Core
2024.6.4
Supervisor
2024.06.2
Operating System
12.4
Frontend
20240610.1

Downloaded Flair component via HACS
Restarted system
Added Flair integration using oauth 2.0 credentials

Setup fails with error: Failed to setup, check the logs
Stack trace from logs:
return importlib.import_module(f"{self.pkg_path}.{platform_name}")), please create a bug report at https://github.com/RobertD502/home-assistant-flair/issues
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in _run_code
File "/usr/src/homeassistant/homeassistant/main.py", line 223, in
sys.exit(main())
File "/usr/src/homeassistant/homeassistant/main.py", line 209, in main
exit_code = runner.run(runtime_conf)
File "/usr/src/homeassistant/homeassistant/runner.py", line 190, in run
return loop.run_until_complete(setup_and_run_hass(runtime_config))
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 672, in run_until_complete
self.run_forever()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 639, in run_forever
self._run_once()
File "/usr/local/lib/python3.12/asyncio/base_events.py", line 1988, in _run_once
handle._run()
File "/usr/local/lib/python3.12/asyncio/events.py", line 88, in _run
self._context.run(self._callback, *self._args)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 742, in async_setup_locked
await self.async_setup(hass, integration=integration)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
result = await component.async_setup_entry(hass, self)
File "/config/custom_components/flair/init.py", line 20, in async_setup_entry
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
2024-07-01 16:49:33.888 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Flair for flair
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/flair/init.py", line 20, in async_setup_entry
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2031, in async_forward_entry_setups
await integration.async_get_platforms(platforms)
File "/usr/src/homeassistant/homeassistant/loader.py", line 1162, in async_get_platforms
import_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1162, in async_get_platforms
import_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1162, in async_get_platforms
import_future.result()
[Previous line repeated 5 more times]
File "/usr/src/homeassistant/homeassistant/loader.py", line 1150, in async_get_platforms
platforms.update(self._load_platforms(platform_names))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1075, in _load_platforms
platform_name: self._load_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1249, in _load_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1281, in _import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 131, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/config/custom_components/flair/binary_sensor.py", line 7, in
from flairaio.model import Bridge, Puck, Vent
ImportError: cannot import name 'Bridge' from 'flairaio.model' (/config/deps/lib/python3.12/site-packages/flairaio/model.py)
2024-07-01 16:50:22.147 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: {('alarmdecoder', '460334b592752b0dcfa2a8c159a329bd'):<PHONE_NUMBER>15389}
2024-07-01 16:51:22.216 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: {('alarmdecoder', '460334b592752b0dcfa2a8c159a329bd'):<PHONE_NUMBER>15389}
2024-07-01 16:52:22.282 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: {('alarmdecoder', '460334b592752b0dcfa2a8c159a329bd'):<PHONE_NUMBER>15389}
2024-07-01 16:53:22.345 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: {('alarmdecoder', '460334b592752b0dcfa2a8c159a329bd'):<PHONE_NUMBER>15389}
2024-07-01 16:53:23.460 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry /dev/serial/by-id/usb-FTDI_FT230X_Basic_UART_DJ009BA8-if00-port0 for alarmdecoder
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594, in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/components/alarmdecoder/init.py", line 139, in async_setup_entry
await controller.is_init()
File "/usr/local/lib/python3.12/site-packages/adext/adext.py", line 29, in is_init
return (await self._event.wait())
^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/asyncio/locks.py", line 212, in wait
await fut
asyncio.exceptions.CancelledError: Global task timeout

Do you have the "SSH & Web Terminal" add-on by any chance? If so, enter into the homeassistant docker container and run:
pip show flairaio and let me know what version it says flairaio is. I suspect something went wrong when Home Assistant installed the flairaio library.

here's the shell output:
➜  ~ docker exec -it homeassistant bash
homeassistant:/config# pip show flairaio
Name: flairaio
Version: 0.2.0
Summary: Asynchronous Python library for Flair's API
Home-page: https://github.com/RobertD502/flairaio
Author: Robert Drinovac
Author-email: @.***
License:
Location: /usr/local/lib/python3.12/site-packages
Requires: aiohttp
Required-by:
homeassistant:/config#
On Mon, Jul 1, 2024 at 5:26 PM Dr. Drinovac @.***>
wrote:

Do you have the "SSH & Web Terminal" add-on by any chance? If so, enter
into the homeassistant docker container and run:
pip show flairaio and let me know what version it says flairaio is. I
suspect something went wrong when Home Assistant installed the flairaio
library.
—
Reply to this email directly, view it on GitHub
https://github.com/RobertD502/home-assistant-flair/issues/81#issuecomment-2201101873,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJP25PD5UEIYJDQMAMYGLLZKHCR7AVCNFSM6AAAAABKGJG636VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBRGEYDCOBXGM
.
You are receiving this because you authored the thread.Message ID:
@.***>

--
Shahid Siddiqui
(Try not to become a man of success but rather to become a man of value)

Do a pip uninstall flairaio, followed by pip install flairaio. Restart Home Assistant and attempt to set up the integration again.

Tried this and unfortunately didn't work.
Here's the stack trace:
Logger: homeassistant.config_entries
Source: config_entries.py:594
First occurred: 6:04:44 PM (1 occurrences)
Last logged: 6:04:44 PM
Error setting up entry Flair for flair
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 594,
in async_setup
result = await component.async_setup_entry(hass, self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/config/custom_components/flair/init.py", line 20, in
async_setup_entry
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
File "/usr/src/homeassistant/homeassistant/config_entries.py", line 2031,
in async_forward_entry_setups
await integration.async_get_platforms(platforms)
File "/usr/src/homeassistant/homeassistant/loader.py", line 1162, in
async_get_platforms
import_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1162, in
async_get_platforms
import_future.result()
File "/usr/src/homeassistant/homeassistant/loader.py", line 1162, in
async_get_platforms
import_future.result()
[Previous line repeated 5 more times]
File "/usr/src/homeassistant/homeassistant/loader.py", line 1150, in
async_get_platforms
platforms.update(self._load_platforms(platform_names))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1075, in
_load_platforms
platform_name: self._load_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1249, in
_load_platform
cache[full_name] = self._import_platform(platform_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/loader.py", line 1281, in
_import_platform
return importlib.import_module(f"{self.pkg_path}.{platform_name}")
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/src/homeassistant/homeassistant/util/loop.py", line 131, in
protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/importlib/init.py", line 90, in
import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in
_find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in
_call_with_frames_removed
File "/config/custom_components/flair/binary_sensor.py", line 7, in

from flairaio.model import Bridge, Puck, Vent
ImportError: cannot import name 'Bridge' from 'flairaio.model'
(/config/deps/lib/python3.12/site-packages/flairaio/model.py)
On Tue, Jul 2, 2024, 3:33 PM Dr. Drinovac @.***> wrote:

Do a pip uninstall flairaio, followed by pip install flairaio. Restart
Home Assistant and attempt to set up the integration again.
—
Reply to this email directly, view it on GitHub
https://github.com/RobertD502/home-assistant-flair/issues/81#issuecomment-2204193162,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABJP25I6CEM65773C2PXKTTZKL6CNAVCNFSM6AAAAABKGJG636VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBUGE4TGMJWGI
.
You are receiving this because you authored the thread.Message ID:
@.***>

I see where you problem is. Home Assistant isn't looking for flairaio in the correct location. Notice that it is trying to import from:
/config/deps/lib/python3.12/site-packages/flairaio/model.py
That is not correct. The python dependencies are supposed to be installed at /usr/local/lib/python3.12/site-packages/. Something funky is going on with your Home Assistant environment.


⌚Sending Bare Meshes Takes Forever

Expected vs. Actual Behavior
Meshes that are not in any group/component takes significantly longer. Especially geometries that are a bit complex takes forever to send.

Reproduction Steps & System Config (win, osx, web, etc.)
Download the file from below link, send it to Speckleverse🟦.
https://drive.google.com/file/d/17jwqMrPap31us8onEcpsAZwmu3KT_-L4/view?usp=sharing
Proposed Solution (if any)
Group meshes/faces by material or layer (maybe this can be in Advanced Settings too).
Optional: Affected Projects
💄DUI Makeover for Sketchup Connector

this is due to the fact that in sketchup, you don't really have meshes but you have faces which are each flat ngons. in a component definition / group, I am assuming it is safe to group all faces with the same material into one mesh. if you haven't grouped your faces, each face goes out as an individual mesh
as bilal says, the solution would prob be to combine all touching faces with the same material with an option to turn this behaviour off in advanced settings (bc there are prob cases where this doesn't work as the user expects and they should be able to configure it)


Feature request: Parameterized tests with only one verified file because outcomes are/should be the same

Problem:
I've got a parameterized test and I expect for each test the same output. Therefore, i want to force disable the use of parameters Verify.
Sample code. I know this doesn't make sense because it is not logical to assert an int result using verify.
    public int BuyBeer(Gender gender, int age, int requestedNumberOfBottles)
    {
        if (age < 21)
        {
            // you are a child!
            return 0;
        }

        if (gender is Gender.Male or Gender.Unknown)
        {
            // Better giving a little bit less
            return Math.Max(requestedNumberOfBottles - 5, 1);
        }

        return requestedNumberOfBottles;
    }

    public enum Gender
    {
        Male,
        Female,
        Unknown,
    }

    [Theory]
    [InlineData(Gender.Female)]
    [InlineData(Gender.Male)]
    [InlineData(Gender.Unknown)]
    public async Task BuyBeer_ShouldReturnZero_WhenPersonIsChild_ForEachGender(Gender gender)
    {
        // arrange
        const int AGE = 4;
        const int REQUESTED_NUMBER_OF_BOTTLES = 10;

        // act
        var result =BuyBeer(gender, AGE, REQUESTED_NUMBER_OF_BOTTLES);

        // assert
        await Verifier.Verify(result);

        /*
         This throws:

Method `TestClass.BuyBeer_ShouldReturnZero_WhenPersonIsChild_ForEachGender` requires parameters, but none have been defined. Add UseParameters. For example:

var settings = new VerifySettings();
settings.UseParameters(gender);
await Verifier.Verify(target, settings);
        */
    }

Describe the solution
There already exists an option to specify the Filename (ie. .UseFileName("filename")) which works but I propose a new setting to explicitly disable the Parameter usage (ie. .DisableParameters())
var settings = new VerifySettings();
settings.DisableParameters();

or in the previous example:
    [Theory]
    [InlineData(Gender.Female)]
    [InlineData(Gender.Male)]
    [InlineData(Gender.Unknown)]
    public async Task BuyBeer_ShouldReturnZero_WhenPersonIsChild_ForEachGender(Gender gender)
    {
        // arrange
        const int AGE = 4;
        const int REQUESTED_NUMBER_OF_BOTTLES = 10;

        // act
        var result =BuyBeer(gender, AGE, REQUESTED_NUMBER_OF_BOTTLES);

        // assert
        await Verifier.Verify(result).DisableParameters();;
    }

lets say multiple of those cases fail. each of those failures needs to be able to write a received file. how would you reconcile the fact that with this proposed change you could have multiple failures needing to write to the same file?
Also note that on a successful run received files for that test are cleaned up, so depending on the order of the above, the successful run could delete the received from the failed run

I see your point. Good one.
But your argument also holds for the for the following cases (as well as for #468 ).  In both examples, I think developers should also recognize that multiple tests using the same verified file can cause trouble.
[Theory]
    [InlineData(Gender.Female)]
    [InlineData(Gender.Male)]
    [InlineData(Gender.Unknown)]
    public async Task Test1(Gender gender)
    {
        const int AGE = 4;
        const int REQUESTED_NUMBER_OF_BOTTLES = 10;
        var result = BuyBeer(gender, AGE, REQUESTED_NUMBER_OF_BOTTLES);

        // this will use the same parameter value for each case resulting each test uses the same verify file
        await Verifier.Verify(result).UseTextForParameters("_").DisableRequireUniquePrefix();
        // or
        // await Verifier.Verify(result).UseParameters("_").DisableRequireUniquePrefix();
    }

or these two seperate tests using the same Verified file:
    [Fact]
    public async Task Test2()
    {
        var result = Method();
        await Verifier.Verify(result).UseFileName("MyCustomFilename");
    }

    [Fact]
    public async Task Test3()
    {
        var result = Method();
        await Verifier.Verify(result).UseFileName("MyCustomFilename");
    }

Proposed solution
A solution for your question can be that Verify recognizes that the test is parameterized and when .DisableParameters() is used, the corresponding *.received.* filenames uses the convention with parameters and the *.verified.* file is without the paramters.
Mabye then, a better name would be  .DisableParametersForVerified().
Lets take a test (named MyTest) with one parameter (string, name)
test case 1: parameter name = Simon
received file = MyTest_Simon.received.txt
verified file = MyTest.verified.txt
test case 2: parameter name = Coen
received file = MyTest_Coen.received.txt
verified file = MyTest.verified.txt
Still the issue of multiple writes to the same verified file can happen (ie with AutoVerify()) but this can also happen in other cases.

i am ok with your Proposed solution, but i prefer Verifier.Verify(result).IgnoreParametersForVerified();


fix link to paper in README

currently links to github home page

Hi @sammlapp,
We update the README with the manuscript link.
Cheers, Juan

Hi @sammlapp,
We update the README with the manuscript link.
Cheers, Juan


Update UserGuide.md

Codecov Report

Merging #205 (088f43d) into master (de840bd) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #205   +/-   ##
=========================================
  Coverage     67.44%   67.44%
  Complexity      718      718
=========================================
  Files           114      114
  Lines          2436     2436
  Branches        247      247
=========================================
  Hits           1643     1643
  Misses          689      689
  Partials        104      104

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 de840bd...088f43d. Read the comment docs.


Do Duckdb WASM Supports Angular?

Hi Team,
I am working on Angular Project and want to use WASM , I am getting issue in running the Duckdb wasm on Angular, Request you to guide do duckdb supports Angular and Is there any sample project in Angular for Duckdb.
Regards,
AKash

Hi @akash-goel, have you managed to find a way to make duckdb-wasm works with your project?

I put together a simple app to demonstrate a DuckDB WASM and shell implementation in Angular v16.
It can be referenced here. Hopefully this is helpful to others!
@carlopi Is this something that could be added to the DuckDB WASM Examples?

Closing since there is nothing specific that duckdb needs to do to support angular.


Bug: Unintended values come in due to automatic input by google chrome

Environment
Host

item
version

OS
mac OS 10.15.4

GROWI
3.8.1-RC

node.js
12.14.0

npm
6.13.4

Using Docker
no

Using [growi-docker-compose][growi-docker-compose]
no

Client

item
version

OS
mac OS 10.15.4

browser
chrome 80.0.3987.163

How to reproduce? (再現手順)

Make google remember password at login.
Access to user settings page

What happens? (症状)

There is a name in the field to enter the email address

What is the expected result? (期待される動作)

Email address comes in automatically

Attempted to fix this issue here(https://github.com/weseek/growi/releases) but it's still happening in dev/4.5.x.
Currently looking for an implementer

Fixed the issue in all the versions


Dynamic tabs, routerLink-linkActive[BUG]

🐞 Bug report
Description
Got troubles with performance, got a notice what a 'page has slowing down your browser',  when render dynamic tabs with routerLink and routerLinkActive, this behavior not observe when render the buttons.
Reproduction
Example on stackblitz
Need to reload page several time, to render the More button  after that we can reproduce on stackblitz, click one dynamic link X#tab, next one, and when click some link from the more button, the browser send a notice what it`s 'page has slowing down your browser'.
Again, this repoduced like it has been description  here, but when i reproduce it by a similar way on local project , i got a notice after first click on dynamic X#tab.
Expected behavior
Without browser wrong notices
Versions

OS: ManjaroLinux 21.1.0
Browser: FireFox (90.0 (64-bit)), Chrome 91.0.4472.164
Angular and Package bundle are from forked project "Taiga Starter" on stackblitz

@LowRideSky thank you for reporting this. Could you try it with the latest version 2.13.1? We recently fixed potential loop in recalculations for tabs.

I has been update app deps by stackblitz "Update all deps to latest", in result got compile erros?

and i has been updated dependecies (@taiga-ui/cdk, @taiga-ui/core, @taiga-ui/icons, @taiga-ui/kit)in local project, remove and install, and bug still repuduce when click on link from exactly from "More" button, but now with usual dynamic X#tab works well
Local deps list from, package.json:
"dependencies": {
    "@angular/animations": "^12.0.0",
    "@angular/common": "^12.0.0",
    "@angular/compiler": "^12.0.0",
    "@angular/core": "^12.0.0",
    "@angular/forms": "^12.0.0",
    "@angular/localize": "^12.1.2",
    "@angular/platform-browser": "^12.0.0",
    "@angular/platform-browser-dynamic": "^12.0.0",
    "@angular/router": "^12.0.0",
    "@nestjs/common": "^7.0.0",
    "@nestjs/config": "^1.0.0",
    "@nestjs/core": "^7.0.0",
    "@nestjs/jwt": "^8.0.0",
    "@nestjs/passport": "^8.0.0",
    "@nestjs/platform-express": "^7.0.0",
    "@ngrx/effects": "^12.2.0",
    "@ngrx/router-store": "^12.2.0",
    "@ngrx/store": "^12.2.0",
    "@nrwl/angular": "12.5.7",
    "@taiga-ui/cdk": "^2.13.1",
    "@taiga-ui/core": "^2.13.1",
    "@taiga-ui/icons": "^2.13.1",
    "@taiga-ui/kit": "^2.13.1",
    "@typegoose/typegoose": "^7.6.3",
    "bcryptjs": "^2.4.3",
    "class-transformer": "^0.4.0",
    "class-validator": "^0.13.1",
    "lodash": "^4.17.21",
    "mongoose": "^5.10.0",
    "nestjs-typegoose": "^7.1.38",
    "passport": "^0.4.1",
    "passport-jwt": "^4.0.0",
    "reflect-metadata": "^0.1.13",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^12.0.0",
    "@angular-eslint/eslint-plugin": "~12.0.0",
    "@angular-eslint/eslint-plugin-template": "~12.0.0",
    "@angular-eslint/template-parser": "~12.0.0",
    "@angular/cli": "^12.0.0",
    "@angular/compiler-cli": "^12.0.0",
    "@angular/language-service": "^12.0.0",
    "@nestjs/schematics": "^7.0.0",
    "@nestjs/testing": "^7.0.0",
    "@ngrx/store-devtools": "^12.2.0",
    "@nrwl/cli": "12.5.7",
    "@nrwl/cypress": "12.5.7",
    "@nrwl/eslint-plugin-nx": "12.5.7",
    "@nrwl/jest": "12.5.7",
    "@nrwl/linter": "12.5.7",
    "@nrwl/nest": "12.5.7",
    "@nrwl/node": "12.5.7",
    "@nrwl/tao": "12.5.7",
    "@nrwl/workspace": "12.5.7",
    "@types/bcryptjs": "^2.4.2",
    "@types/express": "^4.17.13",
    "@types/faker": "^5.5.7",
    "@types/jest": "26.0.8",
    "@types/lodash": "^4.14.171",
    "@types/mongoose": "^5.10.0",
    "@types/node": "14.14.33",
    "@types/passport-jwt": "^3.0.6",
    "@typescript-eslint/eslint-plugin": "4.19.0",
    "@typescript-eslint/parser": "4.19.0",
    "cypress": "^7.3.0",
    "dotenv": "8.2.0",
    "eslint": "7.22.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-cypress": "^2.10.3",
    "faker": "^5.5.3",
    "jest": "27.0.3",
    "jest-preset-angular": "9.0.3",
    "prettier": "^2.3.1",
    "ts-jest": "27.0.3",
    "ts-node": "~9.1.1",
    "typescript": "~4.2.4"
  }

@LowRideSky thank you for reporting this. Could you try it with the latest version 2.13.1? We recently fixed potential loop in recalculations for tabs.

I has been update app deps by stackblitz "Update all deps to latest", in result got compile erros?

and i has been updated dependecies (@taiga-ui/cdk, @taiga-ui/core, @taiga-ui/icons, @taiga-ui/kit)in local project, remove and install, and bug still repuduce when click on link from exactly from "More" button, but now with usual dynamic X#tab works well
Local deps list from, package.json:
"dependencies": {
    "@angular/animations": "^12.0.0",
    "@angular/common": "^12.0.0",
    "@angular/compiler": "^12.0.0",
    "@angular/core": "^12.0.0",
    "@angular/forms": "^12.0.0",
    "@angular/localize": "^12.1.2",
    "@angular/platform-browser": "^12.0.0",
    "@angular/platform-browser-dynamic": "^12.0.0",
    "@angular/router": "^12.0.0",
    "@nestjs/common": "^7.0.0",
    "@nestjs/config": "^1.0.0",
    "@nestjs/core": "^7.0.0",
    "@nestjs/jwt": "^8.0.0",
    "@nestjs/passport": "^8.0.0",
    "@nestjs/platform-express": "^7.0.0",
    "@ngrx/effects": "^12.2.0",
    "@ngrx/router-store": "^12.2.0",
    "@ngrx/store": "^12.2.0",
    "@nrwl/angular": "12.5.7",
    "@taiga-ui/cdk": "^2.13.1",
    "@taiga-ui/core": "^2.13.1",
    "@taiga-ui/icons": "^2.13.1",
    "@taiga-ui/kit": "^2.13.1",
    "@typegoose/typegoose": "^7.6.3",
    "bcryptjs": "^2.4.3",
    "class-transformer": "^0.4.0",
    "class-validator": "^0.13.1",
    "lodash": "^4.17.21",
    "mongoose": "^5.10.0",
    "nestjs-typegoose": "^7.1.38",
    "passport": "^0.4.1",
    "passport-jwt": "^4.0.0",
    "reflect-metadata": "^0.1.13",
    "rxjs": "~6.6.0",
    "tslib": "^2.0.0",
    "zone.js": "~0.11.4"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^12.0.0",
    "@angular-eslint/eslint-plugin": "~12.0.0",
    "@angular-eslint/eslint-plugin-template": "~12.0.0",
    "@angular-eslint/template-parser": "~12.0.0",
    "@angular/cli": "^12.0.0",
    "@angular/compiler-cli": "^12.0.0",
    "@angular/language-service": "^12.0.0",
    "@nestjs/schematics": "^7.0.0",
    "@nestjs/testing": "^7.0.0",
    "@ngrx/store-devtools": "^12.2.0",
    "@nrwl/cli": "12.5.7",
    "@nrwl/cypress": "12.5.7",
    "@nrwl/eslint-plugin-nx": "12.5.7",
    "@nrwl/jest": "12.5.7",
    "@nrwl/linter": "12.5.7",
    "@nrwl/nest": "12.5.7",
    "@nrwl/node": "12.5.7",
    "@nrwl/tao": "12.5.7",
    "@nrwl/workspace": "12.5.7",
    "@types/bcryptjs": "^2.4.2",
    "@types/express": "^4.17.13",
    "@types/faker": "^5.5.7",
    "@types/jest": "26.0.8",
    "@types/lodash": "^4.14.171",
    "@types/mongoose": "^5.10.0",
    "@types/node": "14.14.33",
    "@types/passport-jwt": "^3.0.6",
    "@typescript-eslint/eslint-plugin": "4.19.0",
    "@typescript-eslint/parser": "4.19.0",
    "cypress": "^7.3.0",
    "dotenv": "8.2.0",
    "eslint": "7.22.0",
    "eslint-config-prettier": "8.1.0",
    "eslint-plugin-cypress": "^2.10.3",
    "faker": "^5.5.3",
    "jest": "27.0.3",
    "jest-preset-angular": "9.0.3",
    "prettier": "^2.3.1",
    "ts-jest": "27.0.3",
    "ts-node": "~9.1.1",
    "typescript": "~4.2.4"
  }

Looking like i has been something wrong with dependecies update with stackblitz in previous example.
So now has been maked new fork from taiga-starter and updated deps and now its compiled.
And bug still reproduced, with "More" button.
New example

Added async variant for tabs component, and "exact" option for first tab-link whose forward on root page and now all working well, on stakcblitz.

Don`t know what happened with my local project, but now tabs works well. May be it was browser cache? I just added 'exact' option for every link-tab in local project.
Think, the main trouble in my project in doubled data for some  tabs in template, found it problem recently now.
Think, main problem of this issue got a resolved, thanks.

May be next report, when select "tab which has a doubled brother" from "More" button, the  "More" button not opens when click on it.

@LowRideSky thank you for reporting this. Could you try it with the latest version 2.13.1? We recently fixed potential loop in recalculations for tabs.

Don`t know what happened with my local project, but now tabs works well. May be it was browser cache? I just added 'exact' option for every link-tab in local project.
Think, the main trouble in my project in doubled data for some  tabs in template, found it problem recently now.
Think, main problem of this issue got a resolved, thanks.

May be next report, when select "tab which has a doubled brother" from "More" button, the  "More" button not opens when click on it.

I got a try to reproduce the doubled tabs and now page got critical loading again, stackblitz example

Thank you, I'm able to reproduce it. Will try to fix it for the next release

Ok, so the problem here is active tab from "More" is always put to the visible list. Since you have multiple same tabs they start to fight for that spot in an infinite loop. I wonder what's the best way to handle this, as it is obviously an incorrect configuration but it shouldn't lock the tab but instead it should somehow warn you 🤔

I'm afraid I cannot come up with a good enough solution without adding unpleasant extra code just for the warning. I think it should be clear one shouldn't add multiple of the same tabs and expect the component to sort out which one to consider active. Plus this is only an issue when one same tab is visible and other is hidden in the "More" section. So I'm afraid I'm gonna leave it as is.


More fluid tab reordering

VSCode Version: 1.7.2
OS Version: Windows 10 Enterprise

Steps to Reproduce:

Open VS Code and open multiple tabs.
Try to re-order the tabs or move them.
For expected behavior: see comparison between VS Code and Sublime for what I would consider "fluid" movements. VS Code tabs seem to use move and snap/lock type UI while sublime provide continuous movement/feedback.

Is this behavior likely to change? If not, what is the rationale here?
VS Code:

Sublime:

Reproduces without extensions: Yes

I believe we should re-consider this issue. A big part of VS Code's success (imo) is its actual light footprint and responsiveness (combined with the perception of it being quick to start/use overall). The current tabbing UI, at the very least, starts to hurt that perception. Having a set of UI interactions behave this way can add up resulting in users "feeling" the editor is heavy-weight (regardless of whether it actually is) and that perception is hard to reverse. I am not really familiar with the code base, but I am assuming this request could be implemented without substantial re-design or introducing too much complexity (and hopefully there isn't a technical reason blocking it or making it an costly issue to solve).
An analogous product that has fluid tabbing is the Chrome browser (and also Edge on Chromium). The motion to re-ordering the tabs is fluid and the pop-lock into a new window makes it seem more responsive too.


add go.mod file

this allows building with current versions of golang and fixes installation with --HEAD in homebrew: (https://github.com/aykamko/homebrew-tag-ag/issues/1)

I would very much like to see this merged as I'm facing the same issue @aykamko :)

ah, missed that there was a prior PR for this too in August:
https://github.com/aykamko/tag/pull/46
this PR uses 1.17 syntax though; and pins the indirect dependencies, and so maybe is preferable for that reason?


Application error: /newsletter/latest

Application error occurs while browsing the /newsletter/latest page. A PR is created for this issue. #697

The following paths do not generate the error:

Enter the URL in your browser
Go to the menu and open in a new tab
Go to the menu and open in a new window

It is only reproducible if you:

Go to https://developers.sitecore.com
Click on the "Community" menu option
Click on the "Latest edition" link (do not try to open in new tab)


Getting image from img folder when writing a post

In your example of posts, you get the image from 3rd party website like below.

But, how do i do to get the image directly from /img folder?


LCAM-1548

What
Link to story
Describe what you did and why.
Log changes from info debug
Checklist
Before you ask people to review this PR:

[ ] Tests should be passing: ./gradlew test
[ ] Github should not be reporting conflicts; you should have recently run git rebase main.
[ ] Avoid mixing whitespace changes with code changes in the same commit. These make diffs harder to read and conflicts more likely.
[ ] You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
[ ] You should have checked that the commit messages say why the change was made.

Additional checks

Don’t forget to run the MAAT functional test suite after deploying your changes to the DEV or TEST environments to ensure your changes haven’t broken any of the functional tests.

@loganathanMOJ One of the acceptance criteria is to log the before invoking the end points


[fix] pfe-number | Not working in Angular

For some reason, pfe-number and Angular are not getting along.
https://codesandbox.io/embed/pfe-number-with-angular-xe6ng
We should be seeing 4th and instead we're seeing 0th.

Validated that this still is not working in 1.6.0: https://codesandbox.io/s/pfe-number-with-angular-forked-r2z1y?file=/src/app/app.component.html

Can we try this again with 2.0?


IOS Mobile ACE doesn't display Office Fabric Icons

Target SharePoint environment
SharePoint Online
What SharePoint development model, framework, SDK or API is this about?
💥 SharePoint Framework
Developer environment
macOS
What browser(s) / client(s) have you tested

[ ] 💥 Internet Explorer
[ ] 💥 Microsoft Edge
[ ] 💥 Google Chrome
[ ] 💥 FireFox
[ ] 💥 Safari
[X] mobile (iOS/iPadOS)
[ ] mobile (Android)
[ ] not applicable
[ ] other (enter in the "Additional environment details" area below)

Additional environment details
Iphone 11 and 12
IOS 15.1.1
Describe the bug / error
When creating an ACE using the yeoman generator in the manifest a property is added for officeFabricIconFontName. When adding an office fabric icon name it displays the icon in the web dashboard but in the IOS Teams mobile app the icons don't display.

Steps to reproduce

Use the generator to create a new ACE. Doesn't matter the template.
Open the manifest file and enter ShoppingCartSolid in the officeFabricIconFontName property
Deploy app to app catalog and add to dashboard.
Open Dashboard on Teams App on IPhone (e.g IPhone 12)
View App - Icon should be broken

Expected behavior
Icon should display the same in browser as in mobile app.

@dcashpeterson
Please try using cart to fix the issue.

Currently Icons only support a pre-defined set on mobile. The pre-defined set is visible in Card designer's Icon picker.
Thank you for reporting. We will update the documentation with the list of pre-defined icons.

@Zaidos9 Thank you for the update. Changing it to use cart (or any of the other select icons) does fix the issue with the icon not being displayed in mobile however it introduces a new issue. If you create a new ACE and in the officeFabricIconFontName property you enter cart then in the ACE picker it doesn't show with any icon. It is just a blank space unless there is a corresponding Office Fabric UI Icon with that name and then it shows that instead of the desired icon.
This example uses ribbon for the icon name in the manifest
This is the ACE picker

This is the ACE rendered on the dashboard

Here is the ACE picker with the officeFabricIconFontName in the manifest set to cart

When the card displays on dashboard in the browser it displays fine

In Teams Mobile IOS it displays fine

Folks, thanks for the feedback and sorry for the delay in answering. We have confirmed we have a discrepancy between the way mobile and web understand and parses valid icons. We are working to fix that.

@dcashpeterson - could you please check if that's fixed on your end?

@AJIXuMuK I will give this a look soon. Thanks for the update.

@AJIXuMuK I took a look at this and it does not look fixed. I am using 1.17.1 and still when I use an Office Fabrics Icon ShoppingCartSolid it shows in the ACE picker in the UI, and on the dashboard page but in Teams mobile I get the no icon found. When I change to use cart I get nothing in the ACE picker but I can see the icons in both the web and mobile experience.

@dcashpeterson Thanks Derek!

We have provided an update to the documentation that describes how the iconography works for the ACEs: https://learn.microsoft.com/en-us/sharepoint/dev/spfx/viva/get-started/fluent-icons-limitations


autolink for non-HTTP URIs, and other non-tag content, produces invalid XML

Consider the following:
import markdown

md = '''
Here are some elements:

  * url <http://example.org>
  * repo url <ssh://example.org>, which is a non-HTTP URL
  * and <urn:foo> is something else
  * ssh url2<EMAIL_ADDRESS>handled as an email address
  * misc element boo!
'''

converter = markdown.Markdown()
print(converter.convert(md))

This renders as

Here are some elements:

url http://example.org

repo url <ssh://example.org>, which is a non-HTTP URL

and <urn:foo> is something else

ssh url2 ssh:me@example.org, handled as an email address

misc element boo!

I think items number 2 and 3 are incorrect, (a) because the behaviour doesn't match two significant Markdown specs, and (b) because they are both invalid XML (yes, <urn:foo> looks like an XML element with a namespace prefix; let's not go there...).
The autolink feature in the Daring Fireball spec is ‘for URLs and email addresses’ (though the only URL in that example is an HTTP URL).  The corresponding section in the CommonMark spec says that the autolink should happen for an absolute URI.  So the second case should be turned into ssh://example.org.
What appears to be happening, instead, is that this is being interpreted as literal HTML.  The relevant section of Gruber's spec is rather vague, but the corresponding part of the CommonMark spec says that this should happen only to ‘[t]ext between < and > that looks like an HTML tag’, which of course <ssh://example.org> doesn't (CommonMark: ‘A tag name consists of an ASCII letter followed by zero or more ASCII letters, digits, or hyphens (-)’).
Independently of any spec, however, having <ssh://example.org> appear in the output means that that output is syntactically invalid, and I feel this shouldn't happen for any input, however insane.
Suggestion:

When <starttag> consists of something other than [a-zA-Z][a-zA-Z0-9-]*, then it is either a URI, in which case it should be turned into an  element, or it is not, in which case it should be included literally in the output, as if the content were instead enclosed in backticks.

This would imply that item 3 should render as urn:foo.

First of all, Python-Markdown is NOT a Commonmark implementation, so I will ignore all references to that spec.

The autolink feature in the Daring Fireball spec is ‘for URLs and email addresses’ (though the only URL in that example is an HTTP URL).

And in fact, according to Babelmark, Markdown.pl only recognizes HTTP URLs. Seems to me we are mostly inline with the reference implementation.

Independently of any spec, however, having ssh://example.org appear in the output means that that output is syntactically invalid, and I feel this shouldn't happen for any input, however insane.

This seems to be the motivation behind your report. However, I have a different view. We cannot be responsible for invalid input. That is the responsibility of the document author. In fact, we do not validate any raw HTML for this reason. In fact any contact wrapped in angle brackets which is not recognized as a auto link is just treated as raw HTML Everything between (and including) the angle brackets is passed thorough unaltered in any way. I have no intention of changing that.
That said, if there are some additional forms of URLs would should clearly be recognized as auto links which are not currently, then I would be willing to review a PR. However, if those URLs are not also recognized by the reference implementation, then they it would be better for support to be provided through a third party extension.

Thanks for looking at this.

First of all, Python-Markdown is NOT a Commonmark implementation, so I will ignore all references to that spec.

And the wonderful thing about Markdown implementations is that there are so many to choose from!  I only mentioned Commonmark because it was one that came to mind, and it seemed useful to mention some spec on top of Gruber's original.  I didn't intend to suggest that python-markdown was, or should be, specifically a Commonmark implementation.

And in fact, according to Babelmark, Markdown.pl only recognizes HTTP URLs. Seems to me we are mostly inline with the reference implementation.

True, but I notice that, if we look at the other parsers in that useful list, which produce a result, it's only Markdown.pl and python-markdown that don't do at least something with <ssh://example.org>, and instead pass it through verbatim.  Some turn it into a  link, others give up and escape the < with < – either of those seems a reasonable strategy.

Independently of any spec, however, having ssh://example.org appear in the output means that that output is syntactically invalid, and I feel this shouldn't happen for any input, however insane.

This seems to be the motivation behind your report.

That is indeed the motivation.  I want to consume what python-markdown produces, so I naturally have an interest in it being consumable.

However, I have a different view. We cannot be responsible for invalid input. That is the responsibility of the document author. In fact, we do not validate any raw HTML for this reason. Any contact wrapped in angle brackets which is not recognized as a auto link is just treated as raw HTML Everything between (and including) the angle brackets is passed thorough unaltered in any way.

That's an interesting point of view.  Myself, I feel that if there's a ‘spirit of Markdown’, it's that the user is never wrong, and there is no such thing as ‘invalid input’, only input which the processor doesn't recognise, where the user therefore fails to communicate their intention.  A Markdown processor is a fairly heuristic tool, and should always have sensible defaults.
That is, Markdown is a DWIM application, and I think we can say, with some degree of confidence, that if the user types <ssh://example.org> then their intention was something other than creating inline HTML.  All I'm suggesting is that if python-markdown spots something like that, which is not a mailto, and which is clearly not intended as inline HTML, that it has a third strategy.

That said, if there are some additional forms of URLs would should clearly be recognized as auto links which are not currently, then I would be willing to review a PR. However, if those URLs are not also recognized by the reference implementation, then they it would be better for support to be provided through a third party extension.

I think it would be reasonable to regard essentially any URL inside angle brackets as an autolink candidate -- there's nothing special about HTTP and FTP from Markdown's point of view.  That would pass a DWI(probably)M test, for me.  In the case of ssh://example.org I don't think there's much useful that could happen if that appears in a web page, but if that turned into an  link, then I as a user would not feel surprised or cheated.
Thus, in inlinepatterns.py, change AUTOLINK_RE to
AUTOLINK_RE = r'<([a-zA-Z]+://[^<>]*)>'

Additionally, and whether or not you though the above was a good idea (ie, I can see at least some sort of case for restricting autolink to HTTP/FTP), there might be milage in something like
# According to <https://www.w3.org/TR/REC-xml/#NT-Name>,
# an element start tag is
#
#    '<' Name (S Attribute)* S? '>'
# where
# [4]   	NameStartChar	   ::=   	":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
# [4a]   	NameChar	   ::=   	NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
#
# but we don't have to be so general, if what we're aiming to spot is (the complement of) HTML element names.
# So match an element-start-tag or end-tag
# which has something other than [a-z]+ for the element name
NONHTML_RE = re.compile('(<\/?[a-zA-Z][a-zA-Z0-9.-]*[^ a-zA-Z0-9.-]([^ <>]*)?>)')

That (along with a suitable NonhtmlInlineProcessor class) would identify those <something...> which are obviously not intended to be inline HTML, and could escape the leading < (or put the content in ..., if one wanted to be fancy).

Although, I would think a post processor would be better suited to the task. Simply pass the output from Python-Markdown into some HTML tidy library and then use the output of that on your HTML templates (or whatever you are going with it).

Indeed, but element <ssh://example.org> manages to confuse lxml's HTMLParser (and I can't say I really blame it, but a bug report is heading their way...).  There's ‘tag soup’ and there's ‘what...!’.

Let me restate that everything in angle brackets is considered to be raw HTML unless it is clearly an auto link. That is how the reference implementation works and that is how Python-Markdown will always work by default. If you want to alter that behavior, then you can do so in a third party extension.
However, if you want to explore expanding auto links, then that may be worth considering. However, as with everything else in Markdown, I don't think we want to be super strict and encode the entire requirements of some spec. Something simple like AUTOLINK_RE = r'<([a-zA-Z]+://[^<>]*)>' is probably the right direction. My only concern is whether that could be to general and match things it shouldn't. A good set of tests would likely address any such concern. Therefore, a PR with such and change and a full set of tests would be given serious consideration. However, anything more complex can be handled by a third party extension.


Create new ps_tag schema and operators for tag matching

created new ps_tag schema
created a type for each data type / operator combination
created a function for each data type / operator combination to create an instance of the type
created an operator for each function

This may seem like overkill, but it will allow for the most streamlined (performance-wise) code, as there will be no need for CASE statements to switch on type or operator.

taking a different direction


crash when starting fresh install of Spyder Anaconda 4.3!

Hello everyone,
Just installed the new Anaconda 4.3 (Python 2.7 version WIN64 installer) and I am not even able to start Spyder,
I am getting the cryptic message:

I am so sad. What is going on here?
Rebooted and reinstalled. Still the same. :(

@ccordoba12 @goanpeca please tell me everything is under control here! I want to use that version :D

@randomgambit, some questions for you:

Did you install Anaconda in a directory with spaces or non-ascii characters on it (like tildes or non-english characters)?
Did you install Anaconda for all users in your computer or just you?

@ccordoba12 some answers for you:

I dont think so. my path is "C:\Users\mylogin\AppData\Local\Continuum\Anaconda2\pythonw.exe"
just for me

And what is the output of
qmake -query

?

(C:\Users\m1hxb02\AppData\Local\Continuum\Anaconda2) C:\Users\mylogin>qmake -que
ry
QT_SYSROOT:
QT_INSTALL_PREFIX:C:/Users/ray/qtb-2.7-64/_b_env/Library
QT_INSTALL_ARCHDATA:C:/Users/ray/qtb-2.7-64/_b_env/Library
QT_INSTALL_DATA:C:/Users/ray/qtb-2.7-64/_b_env/Library
QT_INSTALL_DOCS:C:/Users/ray/qtb-2.7-64/_b_env/Library/doc
QT_INSTALL_HEADERS:C:/Users/ray/qtb-2.7-64/_b_env/Library/include/qt
QT_INSTALL_LIBS:C:/Users/ray/qtb-2.7-64/_b_env/Library/lib
QT_INSTALL_LIBEXECS:C:/Users/ray/qtb-2.7-64/_b_env/Library/bin
QT_INSTALL_BINS:C:/Users/ray/qtb-2.7-64/_b_env/Library/bin
QT_INSTALL_TESTS:C:/Users/ray/qtb-2.7-64/_b_env/Library/tests
QT_INSTALL_PLUGINS:C:/Users/ray/qtb-2.7-64/_b_env/Library/plugins
QT_INSTALL_IMPORTS:C:/Users/ray/qtb-2.7-64/_b_env/Library/imports
QT_INSTALL_QML:C:/Users/ray/qtb-2.7-64/_b_env/Library/qml
QT_INSTALL_TRANSLATIONS:C:/Users/ray/qtb-2.7-64/_b_env/Library/translations
QT_INSTALL_CONFIGURATION:
QT_INSTALL_EXAMPLES:C:/Users/ray/qtb-2.7-64/_b_env/Library/examples
QT_INSTALL_DEMOS:C:/Users/ray/qtb-2.7-64/_b_env/Library/examples
QT_HOST_PREFIX:C:/Users/ray/qtb-2.7-64/_b_env/Library
QT_HOST_DATA:C:/Users/ray/qtb-2.7-64/_b_env/Library
QT_HOST_BINS:C:/Users/ray/qtb-2.7-64/_b_env/Library/bin
QT_HOST_LIBS:C:/Users/ray/qtb-2.7-64/_b_env/Library/lib
QMAKE_SPEC:win32-msvc2008
QMAKE_XSPEC:win32-msvc2008
QMAKE_VERSION:3.0
QT_VERSION:5.6.2

(C:\Users\mylogin\AppData\Local\Continuum\Anaconda2) C:\Users\mylogin>

Ok, so that's the problem.
@mingwandroid, what if we use a default qt.conf for the root environment to avoid this problem for most users? And use our post-install script when people wants to use install Qt in a different environment?
I mean, I know that's not a real solution but I really don't know how else to improve this situation.

thanks @ccordoba12 ! Does your answer imply there is a quick fix for that problem (which is pretty radical --> I cannot even start Spyder once)

By default qt.conf I mean a file whose paths are fixed and not computed depending on the installation directory.

@randomgambit, I'm looking into it :-)

please post it there ASAP !!!!! :D hehe

Need to figure out what's going on here..

Ray, I have a solution for this, but I'll post it tomorrow (I've got to go to sleep :-)

whaaat!!! Cannot wait bro ! :D

@mingwandroid, the solution is to work with relative paths in qt.conf and get rid of our post install script on Windows (and possibly other OSes, but Windows would be fine to start with because it's the one that's giving us more headaches :-).
So our qt package would install a qt.conf in Library\bin with these contents
[Paths]
Prefix = ..
Binaries = .
Libraries = ../Library/lib
Headers = ../Library/include/qt

and our pyqt package would install another qt.conf in the root of the environment (i.e. next to python.exe and pythonw.exe) with these contents:
[Paths]
Prefix = Library
Binaries = Library/bin
Libraries = Library/lib
Headers = Library/include/qt

Since the contents of those files are fixed, we don't need our post install script anymore!
I tried those files in one of my environments and they seem to work as expected (at least Spyder and qtconsole start without problems). Unfortunately, I don't have time to test if pyqt compiles with these changes, but you could help me to try that :-)

@randomgambit, the solution for you is to create a file named qt.confusing a text editor in
C:\Users\m1hxb02\AppData\Local\Continuum\Anaconda2

with these contents
[Paths]
Prefix = Library
Binaries = Library/bin
Libraries = Library/lib
Headers = Library/include/qt

@mingwandroid, sorry for not have thought about this before, but it just occurred to me last night!

OK that's cool and I'm +1 on it so long as it works for hardlinked and symlinker environments but I need to know why post install scripts are not being run for some people with the 4.3 release.
It seems pretty urgent to get that fixed.

@mingwandroid @ccordoba12 whoa is it that simple?? great! nut cant you have some sort of update via conda so that people can have the right file automatically?

@mingwandroid @ccordoba12 it worked! cannot believe it! that s great. Is there any way this fix can mess up with my packages or the overall functioning of the program?

@mingwandroid @ccordoba12 whoa is it that simple?? great! but can't you have some sort of update via conda so that people can have the right file automatically?

The installer already does try to write this file.

Is there any way this fix can mess up with my packages or the overall functioning of the program?

No.

OK I found the problem. I'll add it to the agenda for the team meeting today.

So are we going to have Anaconda 4.3.1 to fix this?

Yep, new release coming I bleieve

Ray, we should try to add to that release my proposed fix for qt.conf
Do you think it is feasible?

I'm closing this one as it is fixed.

Hey @ccordoba12, since I got to the root cause of the problem (it was an issue in constructor where it attempted to do binary prefix replacement on Windows causing the post install to not even run).
Now the post install gets run and it does the right thing so I think we are fine. It was decided to make the only the least amount of changes necessary to fix this issue for the new release as we didn't want to run it through the complete QA cycle so the only change is literally 2 lines of Python to _install.py.

@ccordoba12 @mingwandroid @goanpeca Hello there.
Unfortunately I just discovered a fatal bug in this new release. Just clicking on maximize current pane will crash Spyder beyond repair.
This is the message I get when I clink on the pane button
Spyder Internal Console

This console is used to report application
internal errors and to inspect Spyder
internals with the following commands:
  spy.app, spy.window, dir(spy)

Please don't use it to run your code

>>> WARNING:traitlets:kernel died: 6.01600003242
WARNING:traitlets:kernel died: 6.0110001564
WARNING:traitlets:kernel died: 6.00899982452
WARNING:traitlets:kernel died: 6.00600004196
WARNING:traitlets:kernel died: 6.00599980354
WARNING:traitlets:kernel died: 6.00999999046
Traceback (most recent call last):
  File "C:\Users\mylogin\AppData\Local\Continuum\Anaconda2\lib\site-packages\spyder\app\mainwindow.py", line 2202, in maximize_dockwidget
    self.last_plugin.dockwidget.toggleViewAction().setDisabled(True)
AttributeError: 'NoneType' object has no attribute 'dockwidget'

Any ideas?
Thanks!!

@randomgambit I think this has been solved by https://github.com/spyder-ide/spyder/pull/4109
And will come in the next bugfix release

thanks that s good to know. Is there any quick and dirt fix for that like the small txt file @ccordoba12 created for the original bug above? Maximizing the pane is pretty important to me... Thanks!

I can't fix it. I made the file qt.conf with the exact contents you have mentioned.

But I couldn't find the folder continuum anywhere.

I did find these files which are from anaconda.So I pasted the file here.

and also in the installed directory over here, but when I pasted the file, it asked me to replace the existing file. I replaced it.

I still couldn't run it


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


1.4.0: Extended ASCII is necessary.

Version 1.4.0 I think it have a problem with the accepted character code.
In Win 10 64. Example: C: \ Users \ "MyUser" \ AppData \ Roaming \ SpectreCoin
If "MyUser" has characters with different accents (ö, é, è, ÿ, ü, ...)
an error appears and the wallet does not open. In version 1.3.5 this works well.
Instead of using the ASCII code the program should use the Extended ASCII code.

Duplicate of https://github.com/spectrecoin/spectre/issues/40

@teknex I'll take a look soon

I finished testing version <IP_ADDRESS> and happily resolves this problem (#53 and also #40).


Inputmask.remove(document.getElementById(selector)) is not working in Node after version 5.0.5 update

Describe the bug

The "Inputmask.remove(document.getElementById(selector))" was working normally in my node application, but in the version 5.0.5  it is returning the error:
Uncaught TypeError: Cannot read property 'dependencyLib' of undefined at HTMLInputElement.ev (inputmask.js:1479)
This error is occurring only in the Node library.

OS: Linux
Browser: Chrome
Input mask version: 5.0.5 (Node Library)

@lossantis,
Can you try with version 5.0.6-beta.6
Can you provide some context.  By node library, you mean using it as a module?

This specific issue was fixed in the beta version. Thanks.
But, after to remove, it's showing a new issue:
Uncaught TypeError: Cannot read property 'split' of undefined
    at DependencyLib.off (inputmask.js:1748)
    at HTMLInputElement.ev (inputmask.js:1482)

Answering your questions, "Can you provide some context. By node library, you mean using it as a module?", I'm importing your library inside a JQuery Plugin, using requires.

@lossantis ,
Can you provide some example code to get the Cannot read property split of undefined.
Thx

I've created a JQuery Plugin, like this:
   Plugin.prototype._addMask = function () {
        try {
            Inputmask(this.options).mask(this.element);
        } catch (error) {
            console.log('Unable to add mask');
        }
    };

    Plugin.prototype._removeMask = function () {
        const unmaskedValue = this.elemen.inputmask.unmaskedvalue();

        if (unmaskedValue === undefined) {
            return;
        }

        Inputmask.remove(this..element);
        $(this.element).val(unmaskedValue);
    };

I use _addMask when I create de element, and the _removeMask while submitting the form. If I have a validation error in the submit, I add the mask again.

@lossantis ,
Can you also share your submit code.


[FLINK-11740] [core] Clarify CompositeTypeSerializerSnapshot class signature

What is the purpose of the change
Prior to this PR, the class signature of CompositeTypeSerializerSnapshot allowed subclasses to have raw types, while also requiring subclasses to erase types and re-cast when providing the expected serializer class in constructors.
This PR fixes the signature, as well as simplify subclass implementations of the class type erasure and re-casts.
Brief change log

The main change is in the signature changes in the CompositeTypeSerializerSnapshot class.
Other changes in the subclasses corresponds to the signature change.

Verifying this change
This change is a trivial rework / code cleanup.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changed class annotated with @Public(Evolving): no
The serializers: yes
The runtime per-record code paths (performance sensitive): no
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: no
The S3 file system connector: no

Documentation

Does this pull request introduce a new feature? no
If yes, how is the feature documented? N/A

@flinkbot attention @igalshilman

Thanks for the review @igalshilman! I'll proceed to merge this PR.


Suggestion: Partial Tag Helper.

I think the PartialTagHelper used on live.asp.net it's a great addition to the framework baked taghelpers.
It's beautiful :heart:

This one came first but @DamianEdwards speced it out in #5916.


laenger/ViewPagerBottomSheet#4

This PR resolves laenger/ViewPagerBottomSheet#4.
Fixed closing/opening bottom sheet when ViewPager is scrolled based on @justasm's comment.

Please release this fix. Current version is 0.0.5 and it doesn't contain this fix

Sorry for the delay. The changes look good to me and they are now part of master as 014590b14f08bd17ffb6b5b32b26615d5445f276 as well as a new release 0.0.6. Closing this.


Set readPending to false when EOF is detected while issue an read

Motivation:
We need to set readPending to false when we detect a EOF while issue a read as otherwise we may not unregister from the Selector / Epoll / KQueue and so keep on receving wakeups.
The important bit is that we may even get a wakeup for a read event but will still will only be able to read 0 bytes from the socket, so we need to be very careful when we clear the readPending. This can happen because we generally using edge-triggered mode for our native transports and because of the nature of edge-triggered we may schedule an read event just to find out there is nothing left to read atm (because we completely drained the socket on the previous read).
Modifications:
Set readPending to false when EOF is detected.
Result:
Fixes [#7255].

Cherry-picked into 4.1 (e7f02b1dc0af2024a4ce3fa132f175da34e16303)


[cosmetic] base-files: fix foreign sysupgrade detection

Backups are gzipped, include the missing z parameter in tar call. While at it, make grep call quiet (add q parameter).
This is more a cosmetic change, relevant only to locally/manually made sysupgrade.
Should cleanly apply to main and next.

merged, thanks !


New repository for an NSE to demonstrate the remote vlan mechanism

This is a follow up of the issue #358 .
A new repository should be added to demonstrate the remote vlan mechanis support - functionality added to vpp forwarder. The name of the new repository should be: 'cmd-nse-remote-vlan' if that correspond to used naming conventions (open for any other name)
Sample NSE for reference: https://github.com/Nordix/nsm-nse-generic/tree/vlansup-dev

/cc @edwarnicke

The repository was created and the implementation was merged, now closing the issue.


ARROW-15403: [Python][Packaging] Use bundled ORC to build the python wheels

The bundled ORC version contains the necessary API for #9702

Crossbow builds: https://github.com/ursacomputing/crossbow/branches/all?query=build-594

Crossbow builds: https://github.com/ursacomputing/crossbow/branches/all?query=build-595

Seems like this is going to resolve the packaging issues. We should update the ORC version in vcpkg on long term, so we can remove these workarounds.
@dongjoon-hyun or @iajoiner could you handle it and/or file an ORC issue about updating the vcpkg port?

Crossbow builds for the M1 wheels: https://github.com/ursacomputing/crossbow/branches/all?query=build-596

Thank you for pinging me, @kszucs . Yes, I remember your email last year.

https://lists.apache.org/thread/l3wjm2r6l57pz1q3o7wx57zvgzh7nxgl

The ORC library in vcpkg seems to be outdated and is not maintained by Apache ORC community. Let me take a look to find some way in the Apache ORC community side.


[MINOR][R][DOCS] Rewrite \url to \href, if name is provided

What changes were proposed in this pull request?

This PR replaces \url commands with \href, when alias is provided.
Why are the changes needed?

\url is applicable only to links which have no aliases ‒ https://roxygen2.r-lib.org/articles/rd-formatting.html#links-1
As a result, some the links are not rendered as expected

After this PR is merged, will get expected results, with href applied to provided text

Does this PR introduce any user-facing change?

Docs only, as described above.
How was this patch tested?

Docs build and manual inspection of the results.

Test build #145638 has started for PR 34714 at commit 9aa5fdd.

Test build #145638 has finished for PR 34714 at commit 9aa5fdd.

This patch fails SparkR unit tests.
This patch merges cleanly.
This patch adds no public classes.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50109/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145638/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/50109/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/50109/


Update index.md

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

@piyushbajaj0704  Thank you for your contribution to the page! 👍
We're happy to accept these changes, and look forward to future contributions. 📝


add missing attributes

This issue was migrated from an old repository: https://github.com/CiscoDevNet/catalystwan/pull/21


targets in the top-level directory aren't executed correctly

e.g. I had this in my project.yaml:
# Path to the project executable from the top-level project directory
target: "./hello"

Note the leading ./.  When I ran obi go, I saw this:
% obi go
[localhost] Executing task '<lambda>'
[localhost] Executing task 'build_task'
[localhost] local: /usr/bin/env true
[localhost] Executing task 'stop_task'
[localhost] local: pkill -KILL -f '[a-z/]+hello .*' || true
[localhost] Executing task 'launch_task'
[localhost] local:  hello   2>&1 | tee -a hello.log
/bin/sh: hello: command not found

If I moved it to scripts/hello and adjusted the target accordingly, the target was executed correctly.


Compiling on Intel compiler

@andreapiacentini is having problems compiling the code using the intel suite of compilers. Andrea reports
In the meantime, the simple sequence of commands
mkdir build
cd build
cmake -DBoost_INCLUDE_DIR=${BOOST_INC_DIR} -DEigen3_DIR=${EIGEN_DIR}/share/eigen3/cmake ..
make VERBOSE=1

miserably ended very soon (much sooner than what happened with Eric's old branch even if ConfigMap.hpp is unchanged)
I definitely need a little push toward c++ and cmake misteries (both far more modern than I am)
In file included from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/Configured.hpp(11),
                 from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/Logged.cpp(9):
/home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/ConfigMap.hpp(17): error: qualified name is not allowed
  typedef std::variant<double, unsigned, int, std::string> Fusi;
          ^

In file included from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/Configured.hpp(11),
                 from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/Logged.cpp(9):
/home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/ConfigMap.hpp(17): error: expected a ";"
  typedef std::variant<double, unsigned, int, std::string> Fusi;
                      ^

In file included from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/Configured.hpp(11),
                 from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/Logged.cpp(9):
/home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/ConfigMap.hpp(18): error: identifier "Fusi" is undefined
  typedef std::map<std::string, Fusi> ConfigMap;
                                ^

In file included from /opt/softs/gcc/9.2.0/include/c++/9.2.0/bits/ios_base.h(46),
                 from /opt/softs/gcc/9.2.0/include/c++/9.2.0/ios(42),
                 from /opt/softs/gcc/9.2.0/include/c++/9.2.0/ostream(38),
                 from /opt/softs/gcc/9.2.0/include/c++/9.2.0/iterator(64),
                 from /opt/softs/libraries/ICC_2018.5.274/boost-1.81.0/include/boost/iterator/iterator_traits.hpp(10),
                 from /opt/softs/libraries/ICC_2018.5.274/boost-1.81.0/include/boost/range/iterator_range_core.hpp(26),
                 from /opt/softs/libraries/ICC_2018.5.274/boost-1.81.0/include/boost/lexical_cast.hpp(30),
                 from /opt/softs/libraries/ICC_2018.5.274/boost-1.81.0/include/boost/program_options/value_semantic.hpp(14),
                 from /opt/softs/libraries/ICC_2018.5.274/boost-1.81.0/include/boost/program_options/options_description.hpp(13),
                 from /opt/softs/libraries/ICC_2018.5.274/boost-1.81.0/include/boost/program_options.hpp(15),
                 from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/Configurator.hpp(13),
                 from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/include/Configured.hpp(13),
                 from /home/ext/cf/cglo/piacentinia/SASIP/nextsimdg/core/src/Logged.cpp(9):
/opt/softs/gcc/9.2.0/include/c++/9.2.0/bits/stl_function.h(437): error: identifier "__builtin_is_constant_evaluated" is undefined
        if (__builtin_is_constant_evaluated())

My own attempt at compiling develop with intel also fail.
<EMAIL_ADDRESS>~/src/nextsimdg/intel]$ icpc --version
icpc (ICC) 2021.6.0 20220226
Copyright (C) 1985-2022 Intel Corporation.  All rights reserved.

[ 67%] Building CXX object CMakeFiles/nextsimlib.dir/physics/src/modules/OceanBoundaryModule/ConfiguredOcean.cpp.o
/cluster/home/einola/src/nextsimdg/dynamics/src/include/CGDynamicsKernel.hpp(38): error: the default constructor of "Nextsim::DynamicsKernel<6, 8>" cannot be referenced -- it is a deleted function
      {
      ^
          detected during:
            instantiation of "Nextsim::CGDynamicsKernel<DGadvection>::CGDynamicsKernel() [with DGadvection=6]" at line 37 of "/cluster/home/einola/src/nextsimdg/dynamics/src/include/FreeDriftDynamicsKernel.hpp"
            instantiation of "Nextsim::FreeDriftDynamicsKernel<DGadvection>::FreeDriftDynamicsKernel(const Nextsim::DynamicsParameters &) [with DGadvection=6]" at line 26 of "/cluster/home/einola/src/nextsimdg/core/src/modules/DynamicsModule/include/FreeDriftDynamics.hpp"

[ 68%] Building CXX object CMakeFiles/nextsimlib.dir/physics/src/modules/OceanBoundaryModule/FluxConfiguredOcean.cpp.o
[ 69%] Building CXX object CMakeFiles/nextsimlib.dir/physics/src/modules/OceanBoundaryModule/TOPAZOcean.cpp.o
[ 70%] Building CXX object CMakeFiles/nextsimlib.dir/physics/src/modules/OceanBoundaryModule/UniformOcean.cpp.o
[ 71%] Building CXX object CMakeFiles/nextsimlib.dir/physics/src/modules/OceanBoundaryModule/module.cpp.o
compilation aborted for /cluster/home/einola/src/nextsimdg/core/src/modules/DynamicsModule/module.cpp (code 2)
make[2]: *** [CMakeFiles/nextsimlib.dir/build.make:510: CMakeFiles/nextsimlib.dir/core/src/modules/DynamicsModule/module.cpp.o] Error 2
make[2]: *** Waiting for unfinished jobs....
/cluster/home/einola/src/nextsimdg/dynamics/src/include/CGDynamicsKernel.hpp(38): error: the default constructor of "Nextsim::DynamicsKernel<6, 8>" cannot be referenced -- it is a deleted function
      {
      ^
          detected during:
            instantiation of "Nextsim::CGDynamicsKernel<DGadvection>::CGDynamicsKernel() [with DGadvection=6]" at line 55 of "/cluster/home/einola/src/nextsimdg/dynamics/src/include/VPCGDynamicsKernel.hpp"
            instantiation of "Nextsim::VPCGDynamicsKernel<DGadvection>::VPCGDynamicsKernel(Nextsim::StressUpdateStep<DGadvection, 8> &, const Nextsim::DynamicsParameters &) [with DGadvection=6]" at line 25 of "/cluster/home/einola/src/nextsimdg/dynamics/src/include/MEVPDynamicsKernel.hpp"
            instantiation of "Nextsim::MEVPDynamicsKernel<DGadvection>::MEVPDynamicsKernel(const Nextsim::DynamicsParameters &) [with DGadvection=6]" at line 25 of "/cluster/home/einola/src/nextsimdg/core/src/modules/DynamicsModule/MEVPDynamics.cpp"

compilation aborted for /cluster/home/einola/src/nextsimdg/core/src/modules/DynamicsModule/MEVPDynamics.cpp (code 2)
make[2]: *** [CMakeFiles/nextsimlib.dir/build.make:496: CMakeFiles/nextsimlib.dir/core/src/modules/DynamicsModule/MEVPDynamics.cpp.o] Error 2
/cluster/home/einola/src/nextsimdg/dynamics/src/include/CGDynamicsKernel.hpp(38): error: the default constructor of "Nextsim::DynamicsKernel<6, 8>" cannot be referenced -- it is a deleted function
      {
      ^
          detected during:
            instantiation of "Nextsim::CGDynamicsKernel<DGadvection>::CGDynamicsKernel() [with DGadvection=6]" at line 60 of "/cluster/home/einola/src/nextsimdg/dynamics/src/include/BrittleCGDynamicsKernel.hpp"
            instantiation of "Nextsim::BrittleCGDynamicsKernel<DGadvection>::BrittleCGDynamicsKernel(Nextsim::StressUpdateStep<DGadvection, 8> &, const Nextsim::DynamicsParameters &) [with DGadvection=6]" at line 30 of "/cluster/home/einola/src/nextsimdg/dynamics/src/include/BBMDynamicsKernel.hpp"
            instantiation of "Nextsim::BBMDynamicsKernel<DGadvection>::BBMDynamicsKernel(const Nextsim::DynamicsParameters &) [with DGadvection=6]" at line 17 of "/cluster/home/einola/src/nextsimdg/core/src/modules/DynamicsModule/BBMDynamics.cpp"

compilation aborted for /cluster/home/einola/src/nextsimdg/core/src/modules/DynamicsModule/BBMDynamics.cpp (code 2)
make[2]: *** [CMakeFiles/nextsimlib.dir/build.make:482: CMakeFiles/nextsimlib.dir/core/src/modules/DynamicsModule/BBMDynamics.cpp.o] Error 2
make[1]: *** [CMakeFiles/Makefile2:279: CMakeFiles/nextsimlib.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

However, simply changing DynamicsKernel() = default to DynamicsKernel() {} in DynamicsKernel.hpp lets the code compile (but with some warnings for CGModelArray_test.cpp).
diff --git a/dynamics/src/include/DynamicsKernel.hpp b/dynamics/src/include/DynamicsKernel.hpp
index 63ba93e4..36fe7dee 100644
--- a/dynamics/src/include/DynamicsKernel.hpp
+++ b/dynamics/src/include/DynamicsKernel.hpp
@@ -41,7 +41,7 @@ public:
     typedef std::pair<const std::string, const DGVector<DGadvection>&> DataMapping;
     typedef std::map<typename DataMapping::first_type, typename DataMapping::second_type> DataMap;

-    DynamicsKernel() = default;
+    DynamicsKernel() {};
     virtual ~DynamicsKernel() = default;
     virtual void initialise(const ModelArray& coords, bool isSpherical, const ModelArray& mask)
     {

@timspainNERSC: Shouldn't the two be equivalent, or is there a subtle difference?

@timspainNERSC: Shouldn't the two be equivalent, or is there a subtle difference?
😬🤷

I'll have a quick investigate, but as I understand it, the two should be equivalent.

They are so not equivalent. The default constructor = default will initialize everything with its default value (zeroes, default constructors). An empty constructor {} explicitly says: We initialize nothing! Nothing! Good day, sir!
I did manage to remove a warning in Eclipse by initializing all the fields in DynamicsKernel.
diff --git a/dynamics/src/include/DynamicsKernel.hpp b/dynamics/src/include/DynamicsKernel.hpp
index 63ba93e..2f68eef 100644
--- a/dynamics/src/include/DynamicsKernel.hpp
+++ b/dynamics/src/include/DynamicsKernel.hpp
@@ -168,7 +168,7 @@
     }

 protected:
-    Nextsim::DGTransport<DGadvection>* dgtransport;
+    Nextsim::DGTransport<DGadvection>* dgtransport = nullptr;

     DGVector<DGadvection> hice;
     DGVector<DGadvection> cice;
@@ -181,9 +181,9 @@

     size_t stepNumber = 0;

-    double deltaT;
+    double deltaT = 0.;

-    Nextsim::ParametricMesh* smesh;
+    Nextsim::ParametricMesh* smesh = nullptr;

     virtual void updateMomentum(const TimestepTime& tst) = 0;

Does that allow ICC to build DynamicsKernel?

Ah, good to know about = default!
But it still doesn't compile. It's strange because the compiler says, "You deleted the constructor, so I can't call it" if we use = default but not if we use an empty constructor. But both are valid constructors and not deleted, right?!
I did find something potentially relevant on stackoverflow. It's about a bug in Visual Studio 2015, which seems to have been fixed*, but the accepted answer lists conditions under which a default constructor is deleted. Unfortunately, I can't tell if any of these are true for us.
*I verified that the MWE on stackoverflow compiles with my setup.

@TomMelt or @jwallwork23 - Can you have a look at this one?

I compiled using icpc (ICC) 2021.10.0 20230609 from the intel oneapi compiler tools<EMAIL_ADDRESS>and<EMAIL_ADDRESS>and I didn't have any issues compiling.
I used:
cmake .. -DENABLE_MPI=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=$(which mpiicc) -DCMAKE_CXX_COMPILER=$(which mpiicpc)

I get some warnings but no errors. The warnings can be resolved simply but don't relate to the issues mentioned above.
Could you please provide more information on the compilers used? Also could you provide the output from cmake
e.g., mine was:
-- The C compiler identification is Intel 2<IP_ADDRESS>30609
-- The CXX compiler identification is Intel 2<IP_ADDRESS>30609
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /software/spack/var/spack/environments/nextsim-intel/.spack-env/view/bin/mpiicc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /software/spack/var/spack/environments/nextsim-intel/.spack-env/view/bin/mpiicpc - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /software/spack/var/spack/environments/nextsim-intel/.spack-env/view/bin/pkg-config (found version "1.9.5")
-- Found OpenMP_C: -qopenmp (found version "5.0")
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
-- Found OpenMP: TRUE (found version "5.0")
-- Found Boost: /software/spack/var/spack/environments/nextsim-intel/.spack-env/view/lib/cmake/Boost-1.80.0/BoostConfig.cmake (found version "1.80.0") found components: program_options log
-- Found MPI_C: /software/spack/var/spack/environments/nextsim-intel/.spack-env/view/bin/mpiicc (found version "3.1")
-- Found MPI_CXX: /software/spack/var/spack/environments/nextsim-intel/.spack-env/view/bin/mpiicpc (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: C CXX
-- Found Python: /home/melt/miniconda3/envs/nextsim/bin/python3.10 (found version "3.10.13") found components: Interpreter

I managed to compile and run all the tests (MPI=ON and MPI=OFF)
Only one test fails on a floating point comparison, but again not relevant to this discussion.
$ ./testTOPAZOcn
[doctest] doctest version is "2.4.11"
[doctest] run with "--help" for options
===============================================================================
/home/melt/sync/cambridge/projects/current/sasip/nextsimdg/physics/test/TOPAZOcn_test.cpp:28:
TEST SUITE: TOPAZOcean
TEST CASE:  TOPAZOcean test

/home/melt/sync/cambridge/projects/current/sasip/nextsimdg/physics/test/TOPAZOcn_test.cpp:76: FATAL ERROR: REQUIRE( sst(45, 35) == -(0 + targetFrac) ) is NOT correct!
  values: REQUIRE( -0.035045 == -0.035045 )

===============================================================================
[doctest] test cases: 1 | 0 passed | 1 failed | 0 skipped
[doctest] assertions: 3 | 2 passed | 1 failed |
[doctest] Status: FAILURE!

cmake .. -DENABLE_MPI=ON -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=$(which mpiicc) -DCMAKE_CXX_COMPILER=$(which mpiicpc)
-- The C compiler identification is Intel 2<IP_ADDRESS>20226
-- The CXX compiler identification is Intel 2<IP_ADDRESS>20226
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /cluster/software/impi/2021.6.0-intel-compilers-2022.1.0/mpi/2021.6.0/bin/mpiicc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /cluster/software/impi/2021.6.0-intel-compilers-2022.1.0/mpi/2021.6.0/bin/mpiicpc - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.7.3")
-- Checking for one of the modules 'netcdf-cxx4'
-- Found OpenMP_C: -qopenmp (found version "5.0")
-- Found OpenMP_CXX: -qopenmp (found version "5.0")
-- Found OpenMP: TRUE (found version "5.0")
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found Boost: /usr/include (found version "1.75.0") found components: program_options log date_time log_setup filesystem thread regex chrono atomic
-- Found MPI_C: /cluster/software/impi/2021.6.0-intel-compilers-2022.1.0/mpi/2021.6.0/bin/mpiicc (found version "3.1")
-- Found MPI_CXX: /cluster/software/impi/2021.6.0-intel-compilers-2022.1.0/mpi/2021.6.0/bin/mpiicpc (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: C CXX
-- Found Python: /usr/bin/python3.9 (found version "3.9.16") found components: Interpreter

... and then there's a bunch of errors because I'm having problems with the python environment, but this shouldn't be a problem.
The compiler version is slightly older than yours, but that seems to make a difference. So then my error is perhaps not very interesting.
<EMAIL_ADDRESS>~/src/nextsimdg/intel]$ mpiicc --version
icc (ICC) 2021.6.0 20220226
Copyright (C) 1985-2022 Intel Corporation.  All rights reserved.

<EMAIL_ADDRESS>~/src/nextsimdg/intel]$ mpiicpc --version
icpc (ICC) 2021.6.0 20220226
Copyright (C) 1985-2022 Intel Corporation.  All rights reserved.

@andreapiacentini: What version are you using?
Let's also see what happens when @auraoupa tries to get Intel working with the CI.

Hi, I had problems (and different ones) bot on my laptop with
(PyO) (davinci)~:1002>mpiicc --version
icc (ICC) 2021.1 Beta 20201112
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.

(PyO) (davinci)~:1003>mpiicpc --version
icpc (ICC) 2021.1 Beta 20201112
Copyright (C) 1985-2020 Intel Corporation.  All rights reserved.

and on the Météo-France mainframe with
(belenoslogin3)~:1002>mpiicc --version
icc (ICC) 18.0.5 20180823
Copyright (C) 1985-2018 Intel Corporation.  All rights reserved.

(belenoslogin3)~:1003>mpiicpc --version
icpc (ICC) 18.0.5 20180823
Copyright (C) 1985-2018 Intel Corporation.  All rights reserved.

Hi @TomMelt and @einola ! I started building a docker image with intel compilers to add to the CI but I must be missing something because it does not compile, the cmake command gives this :
# cmake ..
-- The C compiler identification is IntelLLVM 2023.2.0
-- The CXX compiler identification is IntelLLVM 2023.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: /opt/views/view/compiler/2023.2.1/linux/bin/icx
-- Check for working C compiler: /opt/views/view/compiler/2023.2.1/linux/bin/icx - broken
CMake Error at /opt/software/linux-ubuntu22.04-zen2/gcc-11.4.0/cmake-3.27.7-kf673ma62g4gmlnduycnqluovk6knhzd/share/cmake-3.27/Modules/CMakeTestCCompiler.cmake:67 (message):
  The C compiler

    "/opt/views/view/compiler/2023.2.1/linux/bin/icx"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: '/nextsimdg/build/CMakeFiles/CMakeScratch/TryCompile-0AkUEE'

    Run Build Command(s): /opt/software/linux-ubuntu22.04-zen2/gcc-11.4.0/cmake-3.27.7-kf673ma62g4gmlnduycnqluovk6knhzd/bin/cmake -E env VERBOSE=1 /usr/bin/gmake -f Makefile cmTC_15bfe/fast
    /usr/bin/gmake  -f CMakeFiles/cmTC_15bfe.dir/build.make CMakeFiles/cmTC_15bfe.dir/build
    gmake[1]: Entering directory '/nextsimdg/build/CMakeFiles/CMakeScratch/TryCompile-0AkUEE'
    Building C object CMakeFiles/cmTC_15bfe.dir/testCCompiler.c.o
    /opt/views/view/compiler/2023.2.1/linux/bin/icx    -MD -MT CMakeFiles/cmTC_15bfe.dir/testCCompiler.c.o -MF CMakeFiles/cmTC_15bfe.dir/testCCompiler.c.o.d -o CMakeFiles/cmTC_15bfe.dir/testCCompiler.c.o -c /nextsimdg/build/CMakeFiles/CMakeScratch/TryCompile-0AkUEE/testCCompiler.c
    Linking C executable cmTC_15bfe
    /opt/software/linux-ubuntu22.04-zen2/gcc-11.4.0/cmake-3.27.7-kf673ma62g4gmlnduycnqluovk6knhzd/bin/cmake -E cmake_link_script CMakeFiles/cmTC_15bfe.dir/link.txt --verbose=1
    /opt/views/view/compiler/2023.2.1/linux/bin/icx CMakeFiles/cmTC_15bfe.dir/testCCompiler.c.o -o cmTC_15bfe
    /usr/bin/ld: /opt/software/linux-ubuntu22.04-zen2/gcc-11.4.0/intel-oneapi-compilers-2023.2.1-2rozt3ehbzwbex7texurn33kticj4qdn/compiler/2023.2.1/linux/compiler/lib/intel64_lin/libsvml.a: error adding symbols: archive has no index; run ranlib to add one
    icx: error: linker command failed with exit code 1 (use -v to see invocation)
    gmake[1]: *** [CMakeFiles/cmTC_15bfe.dir/build.make:100: cmTC_15bfe] Error 1
    gmake[1]: Leaving directory '/nextsimdg/build/CMakeFiles/CMakeScratch/TryCompile-0AkUEE'
    gmake: *** [Makefile:127: cmTC_15bfe/fast] Error 2

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:5 (project)

I built the image from this dockerfile, @TomMelt can you spot what is wrong ? I guess the intel compiler is quite recent (IntelLLVM 2023.2.0) maybe too recent ? What spack commands did you use to make it work with Intel 2<IP_ADDRESS>30609 ?

Hi again,
in the meantime I've double checked the current compiler and intel mpi versions used for the NEMO compilation in the coupled runs at Météo-France
They use some oldish yet well tested and stable releases:
intel/2018.5.274
intelmpi/2018.5.274
phdf5/1.8.18
netcdf_par/4.7.1_V2 N.B. no C++ interfaces
xios-2.5_rev1903
(cf /home/gmgec/mrgi/voldoire/SAVE/nemo/NEMO-forge/arch/CNRM/arch-xios-trunk-r2253-oasis5.fcm on belenos M.F. mainframe)
I hope we'll get to a NextSIM-DG compiling with all possible intel flavours, but this one is the one to be granted.

We target C++17, and do use a handful of C++17 features. I found a matrix of Intel's C++17 support. Do you know what version 2018.5.274 corresponds to on the linked chart?

Hi, when loading the  intel/2018.5.274 module we get this answer:
(belenoslogin1)~:1001>icpc --version
icpc (ICC) 18.0.5 20180823
Copyright (C) 1985-2018 Intel Corporation.  All rights reserved.

Cheers

After discussion with @TomMelt, @einola and @timspainNERSC, I've installed on my PC (no spack, direct compilation, mostly autotools or b2)

cmake 3.27.7
gnu 10.2.0
intel and intelmpi 2021.1.1
eigen 3.4.0
boost 1.80.0 (with log and program_options libraries)
HDF5 1.14.3 (with parallel support)
NetCDF-C 4.9.2 (with parallel support)
NetCDF Fortran 4.4.4
NetCDF Cxx4 4.3.1

Choosing a recent NetCDF-C solves the issue about the |  NC_MPIIO bit. Yet I still need to fix ConfigOutput.cpp as in PR #679
It is now possible to compile NextSIM-DG either choosing the gnu wrappers mpicc, mpicxx or the intel wrappers mpiicc, mpiicpc.
In the second case, when compiling the main programs a warning about functions simultaneously being inline and not appears.  Does it mean somthing to you?
With the gnu compiler I can run tests, with the intel compiler I can run the examples in run, but not the tests. Any idea why?

I also got a warning about being simultaneously in-line and not. I have no idea what it means. It's worth checking out, but it's not a very high priority (at least not yet).
Which tests don't run, and what are the errors?

I've tried to run our beloved simple coupling test. And the executable crashes on a sygsev violation at loading. No other messages. Trying to run under totalview is useless: the crash happens before the executable is entirely loaded.
Since the nextsimdg executable runs fine, my hypothesis is that doctest_mpi - or the way we use it - could be incompatible with my intel run time. Does it run ok for you?

Moving up from
(PyO) (davinci)~:1001>which mpirun
/scratch/root/opt/intel/oneapi/mpi/2021.1.1/bin/mpirun
(PyO) (davinci)~:1002>mpiicpc --version
icpc (ICC) 2021.1 Beta 20201112

to
(PyO) (davinci)~/SASIP/nextsimdg/run_coupled_test:1032>which mpirun
/scratch/root/opt/intel/oneapi/mpi/2021.5.0/bin/mpirun
(PyO) (davinci)~/SASIP/nextsimdg/run_coupled_test:1033>mpiicpc --version
icpc (ICC) 2021.5.0 20211109

the test passes.
NextSIM-DG is really a young and modern guy.
Notice that this version of OneAPI (distributed as oneAPI 2022.2.1, their numbering is pretty misleading) is the last one I can install with the glibc versions of the CERFACS workstations.
About the strange warning, I've noticed that the in eigen/3.4.0/include/eigen3/Eigen/src/Core/util/DisableStupidWarnings.h we read
#elif defined __INTEL_COMPILER
  // 2196 - routine is both "inline" and "noinline" ("noinline" assumed)
  //        ICC 12 generates this warning even without any inline keyword, when defining class methods 'inline' i.e. inside of class body
  //        typedef that may be a reference type.
  // 279  - controlling expression is constant
  //        ICC 12 generates this warning on assert(constant_expression_depending_on_template_params) and frankly this is a legitimate use case.
  // 1684 - conversion from pointer to same-sized integral type (potential portability problem)
  // 2259 - non-pointer conversion from "Eigen::Index={ptrdiff_t={long}}" to "int" may lose significant bits
  #ifndef EIGEN_PERMANENTLY_DISABLE_STUPID_WARNINGS
    #pragma warning push
  #endif
  #pragma warning disable 2196 279 1684 2259

2196 is considered a stupid warning. I don't think you've to worry.


Make all exceptions inherit from Exception instead of BaseException

I have analysed use cases here, and I have come to a conclusion that it's actually OK for ReportedException to be descendant of BaseException directly. The missing semantics that we need to document is to inform users that this exception is to be raised from cheatcodes and its purpose is to interrupt the Cairo VM. I think we may consider renaming ReportedException so something akin to CheatcodeInterrupt (in similar fashion to Python's KeyboardInterrupt). This is a topic for future PR.
I will effectively revert all changes that needed review since initial commit, so I am going to merge this now.


Remove ActionMailer

This application does not send emails. Presumably the action_mailer framework with SES config was added to support error notification (we used to use a email-based thing, but that has all been replaced by
Errbit/Airbrake).
This will speed up the load time for the app slightly.
Previously: https://github.com/alphagov/frontend/pull/929

Another good one to remove is therubyracer :+1:


[FLOC-2161] Longer wipe grace period

I expect some unit tests to fail... I think they hard code assumption of ten seconds.

If so, fix them so they use the constant rather than hard-coded numbers, then merge when green.


TCP Send Mangles ByteStrings

I'm using socket-0.7 with GHC-8.0 and building on NixOS. The changelog for 0.8 does not indicate that this was addressed in the new release, but if upgrading will fix this, let me know. The application we are writing sends data to carbon-cache (part of the graphite technology stack) using a plaintext protocol. Basically, we open up a TCP socket, do a ton of sendAll calls (no recvs), and then close the socket. What goes wrong is that the haskell-socket library occassionally mangles bytes that it's sending across the wire. I have confirmed this by using tcpflow. I cannot give an actual example because the data contains confidential information, but here is something similar to what is happening to the TCP stream.
Expected:
foo.bar.baz.node1.metric 1.98<PHONE_NUMBER>
foo.bar.baz.node2.metric 2.16<PHONE_NUMBER>
foo.bar.baz.node3.metric 2.04<PHONE_NUMBER>

Actual:
foo.bar.baz.node1.metric 1.98<PHONE_NUMBER>
foo.bar.baz.node2.metfoo.bar.baz.node56 2.43<PHONE_NUMBER>0804745
foo.bar.baz.node3.metric 2.04<PHONE_NUMBER>

Just for extra clarity, the second line has had a fragment deleted from it and another another line has replaced that fragment:
foo.bar.baz.node2.met[[[foo.bar.baz.node56 2.43<PHONE_NUMBER>]]]0804745

Basically, another line from somewhere else in the TCP stream shows up in the middle of the line. Here is some additional information that may be helpful:

This happens regardless of whether we use sendAll or sendAllBuilder.
This only happens when using a real network interface. This issue is never manifested when using the loopback interface. In the application my team works on, we have a TCP connection to localhost and to a remote host. We send the same metrics to both. Only the metrics going to the remote host get mangled. This makes me suspect that there is a subtle concurrency issue. The loopback interface is probably fast enough to hide it.
The application is multi-threaded and makes concurrent calls to sendAll.
The frequency of mangled-line-occurences is about thirty per hour (out of the 5 million lines sent every hour).

That's everything I know. I've looked through the code a little, and I cannot see any obvious issues. If there's any additional information that I could provide, let me know.

@mckeankylej

Hi Andrew,
thanks for the report. I think the problem is that sendAll etc are not thread-safe. The behavior you're observing can occur if the TCP send buffer is nearly full and a single send system call returns an n where 0 < n < bytestring_len. In this case sendAll would wait until the socket becomes writable again and then tries to transmit the remaining bytes of the string.
I confess this is a little counter-intuitive and this behavior is not explicitly documented. It is safe though to read and write simultaneously using two threads. The solution is therefor to serialize the writes (for example by using an MVar and one extra thread).
A little more explanation: The lock on the socket only protects single system calls. If the send syscall signals a partial write one has to wait until the socket becomes writable again. It is a design decision that the socket must not be locked while waiting. Otherwise the socket couldn't be closed or read from by a different thread.

Thanks! That totally makes sense. Now that you point that out, I'm not sure why I even expected that sendAll would be thread-safe. I'll try to PR some documentation warning about this.


Annotation removes code from a line

Line 150 is longer in the student's submission.  I selected most of the text on this line and then added an annotation.  The annotation doesn't show, but also the text I annotated disappeared.

I'm still unable to recreate this bug so I'm going to close this for now. If this continues to happen, please re-open this issue.


chore: rename key to avoid cache collisions

Try out this version of the Hiro Wallet - download extension builds.

This makes a small change so that fungible token meta data will not use the same cache key as it did in older versions, as the shape of persisted data has changed.
cc/ @aulneau @kyranjamie @fbwoolf

Could we use the action wallet version in key as well?

Do we want something like this https://github.com/blockstack/stacks-wallet-web/pull/1708/commits/078945e54e7f58f5c72395249b99bbef1cd575b4 ?

yes, nice 👍🏼

I also added it to the query client persistence: https://github.com/blockstack/stacks-wallet-web/pull/1708/commits/85c7617b59fdc503f9195cc8be7726ab49de97f7#diff-2a29b6ded1b3297189cd352577bba1694275daf0167ced108f0f51bf8a424944R21


how to transmit reader_options credential to xarray.open_dataset ?

I've created a json concatenation from netcdf files in S3, and then open it with xarray.open_dataset("combined.json"), which is fine but the sources aren't set up for actual reading downstream so I see errors like this when attempts to pull actual values:
"sst/16<IP_ADDRESS>" failed to fetch target ['s3://bucket/key.nc', 58900, 652770]

I understand that the step here had access to the creds, so how do I pass that on to xarray for later use?
open_virtual_dataset('s3://bucket/key.nc',  reader_options={'storage_options': creds})

(Not sure if this is a lack of famil with xarray question or ??)  Feel like I'm missing something simple-ish.
Fwiw the bucket is public, and an example source file is
's3://idea-10.7289-v5sq8xb5/www.ncei.noaa.gov/data/sea-surface-temperature-optimum-interpolation/v2.1/access/avhrr/202410/oisst-avhrr-v02r01.20241024_preliminary.nc'

endpoint is 'projects.pawsey.org.au', so it really shouldn't need credentials but I could only get it to work with explicit keys, i.e.
## in open_virtual_dataset:
reader_options={'storage_options': creds}

where
aws_credentials = {"endpoint_url": "https://projects.pawsey.org.au", "key": <key>, "secret": <secret>}

this appears to work:
import virtualizarr

url = "s3://idea-10.7289-v5sq8xb5/www.ncei.noaa.gov/data/sea-surface-temperature-optimum-interpolation/v2.1/access/avhrr/202410/oisst-avhrr-v02r01.20241024_preliminary.nc"
storage_options = {"endpoint_url": "https://projects.pawsey.org.au", "anon": True}
ds = virtualizarr.open_virtual_dataset(
    url,
    indexes={},
    loadable_variables=["time", "lon", "lat", "zlev"],
    reader_options={"storage_options": storage_options},
)

(the important part appears to be anon=True)

Oh cool I didn't understand about the anon part, doh 🙏
My other question is about when xarray loads the virtualized store from a . json, how does it obtain these reader_options?

oh!  awesome,  ty so much!!   it's working, this is excellent