Xiaomi Mi Smart Air Fryer 3.5L

Just added this to the plugin. Works, but is a bit funny. Remaining time is shown, two times even, but with units Lux and %. Could I change this in the config somehow?

Hi, this will be slightly adjusted in the upcoming update. Heater will be used to set temperature, the slider will be used to set time and there will be a separate switch to start the cooking.
Left time will be displayed as it is now, we have to stick to lux since there is no other way to display a value in homekit. (Especially there is nothing time based)

As a workaround you can use faucet - I know that the icon will be out of place but it shows the timer

Oh, interesting. Did not know about that... What will happen when the time reaches 0? Will the switch automatically turn off? That would fit actually pretty good except of course the completely not fitting icon 😅
But looking at the homebridge api i do not see a time based characteristic on a faucet: https://developers.homebridge.io/#/service/Faucet is that the correct accessory?

The accessory for the air fryer is now adjusted as of version 1.0.0

@merdok Since one of the latest updates, Air Fryer is not working/responding any more here.
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Model known: careli.fryer.maf02!
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Initializing device!
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Initializing device services
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Device services: [
  "air-fryer",
  "custom"
]
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Initializing device properties
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Device properties: [
  "air-fryer:status",
  "air-fryer:fault",
  "air-fryer:target-time",
  "air-fryer:target-temperature",
  "air-fryer:left-time",
  "custom:recipe-id",
  "custom:work-time",
  "custom:work-temp",
  "custom:appoint-time",
  "custom:food-quanty",
  "custom:preheat-switch",
  "custom:appoint-time-left",
  "custom:turn-pot"
]
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Initializing device actions
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Device actions: [
  "air-fryer:start-cook",
  "air-fryer:cancel-cooking",
  "air-fryer:pause",
  "custom:start-custom-cook",
  "custom:resume-cooking"
]
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Successfully created a Oven device! It is a Mi Smart Air Fryer.
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Initializing accessory!
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Accessory successfully initialized!
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Registering 1 accessories!
[2/4/2022, 9:21:06 AM] [miot] [Air Fryer] Everything looks good! Initiating property polling!
[2/4/2022, 9:22:35 AM] [miot] [Air Fryer] Device found: careli.fryer.maf02
[2/4/2022, 9:22:35 AM] [miot] [Air Fryer] Setting up miot device!
[2/4/2022, 9:22:35 AM] [miot] [Air Fryer] Device setup finished! Miot device ready!
[2/4/2022, 9:22:35 AM] [miot] [Air Fryer] [Miot Device] Connected to device: careli.fryer.maf02
[2/4/2022, 9:22:35 AM] [miot] [Air Fryer] Doing initial property fetch.
[2/4/2022, 9:22:35 AM] [miot] [Air Fryer] Starting property polling.
[2/4/2022, 9:23:07 AM] [Homebridge UI] [homebridge-miot] Terminating child process...
[2/4/2022, 9:23:07 AM] [Homebridge UI] [homebridge-miot] Child process ended

{
            "devices": [
                {
                    "name": "Air Fryer",
                    "ip": "xxx.xxx.xxx.xx",
                    "token": "xxxxx",
                    "deviceId": "xxxxxxxx",
                    "model": "careli.fryer.maf02",
                    "pollingInterval": 10,
                    "deepDebugLog": false,
                    "buzzerControl": true,
                    "ledControl": true,
                    "childLockControl": true,
                    "modeControl": true
                }
            ],
            "platform": "miot"
        }

@DJay-X can you provide a debug log?
I also have the exact same device and it is working fine for me...

Today is "der Wurm drin". ;)
Where can I provide you the log non public?
Thx.

You can dm it to me on Twitter or discord.


Add proximate and ultimate analysis conversions

Functions to convert as-received basis of proximate and ultimate analysis to other bases.

This was added to Chemics v20.5


m_len check in rsa_sign()

Reopening #14988.
Technical check of the expected length of m_len in rsa_sign(). I have added a look up on the hash function id using EVP_get_digestbynid(), then a comparison of m_len against the result of a call to EVP_MD_size().
Fixes #14594

The added check does not really fix a bug IMO. This PR should be submitted against the master branch.


SQL server - raw Query with GEOMETRY - FAIL

Hi Prisma Team! My Prisma Client just crashed. This is the report:
PANIC: not yet implemented: not yet implemented for Udt in /Users/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/tiberius-0.6.4/src/tds/codec/type_info.rs:206:26

Versions

Name
Version

Node
v14.16.1

OS
darwin

Prisma Client
3.3.0

Query Engine
0.1.0

Database
sqlserver

Logs
  prisma:tryLoadEnv Environment variables loaded from /~/.env
  prisma:tryLoadEnv Environment variables loaded from /~/.env
  prisma:client clientVersion: 3.3.0
  prisma:client:libraryEngine internalSetup
  prisma:client:libraryEngine Search for Query Engine Library in /~node_modules/.prisma/client
  prisma:client:libraryEngine loadEngine using /~/node_modules/.prisma/client/libquery_engine-darwin.dylib.node
  prisma:client:libraryEngine library starting
  prisma:client:libraryEngine library started
  prisma:client:libraryEngine sending request, this.libraryStarted: true
  prisma:client prisma.queryRaw(SELECT
  prisma:client 	CONCAT(site_position.Lat,',', site_position.Long) as coords, * FROM sites WHERE account_id = 1, [])  +1s
  prisma:client Prisma Client call:
  prisma:client:libraryEngine sending request, this.libraryStarted: true

Client Snippet
PRISMA + FASTIFY
    const rawSites = await app.prisma.$queryRaw`SELECT
	CONCAT(site_position.Lat,',', site_position.Long) as coords, * FROM sites WHERE account_id = 1`

SQL Server schema was pulled from existing DB
Schema
model sites {
  site_id            Int                       @id(map: "PK_sites") @default(autoincrement())
....
  site_position      Unsupported("geography")?
.....
  accounts           accounts?                 @relation(fields: [account_id], references: [account_id], onDelete: NoAction, onUpdate: NoAction, map: "FK_sites_accounts")
}

Prisma Engine Query
{"X":{}}

I can reproduce this:
model Foo {
  foo_id        Int                       @id @default(autoincrement())
  site_position Unsupported("geography")?
}

Migrate with prisma db push, then insert data manually:
INSERT INTO Foo (site_position) VALUES ('POINT(1.1 2.2)')

Then create this script.js:
const { PrismaClient } = require('@prisma/client')

const prisma = new PrismaClient()

async function main() {
    const foo = await prisma.$queryRaw`SELECT CONCAT(site_position.Lat,',', site_position.Long) as coords, * FROM Foo`
}

main()
  .catch((e) => {
    console.error(e)
    process.exit(1)
  })
  .finally(async () => {
    await prisma.$disconnect()
  })

And run via node script.js:
C:\Users\Jan\Documents\throwaway\9933>node scripts.js
  prisma:tryLoadEnv Environment variables loaded from C:\Users\Jan\Documents\throwaway\9933\.env +0ms
[dotenv][DEBUG] did not match key and value when parsing line 1: # Environment variables declared in this file are automatically made available to Prisma.
[dotenv][DEBUG] did not match key and value when parsing line 2: # See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
[dotenv][DEBUG] did not match key and value when parsing line 3:
[dotenv][DEBUG] did not match key and value when parsing line 4: # Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server and MongoDB (Preview).
[dotenv][DEBUG] did not match key and value when parsing line 5: # See the documentation for all the connection string options: https://pris.ly/d/connection-strings
[dotenv][DEBUG] did not match key and value when parsing line 6:
  prisma:tryLoadEnv Environment variables loaded from C:\Users\Jan\Documents\throwaway\9933\.env +13ms
[dotenv][DEBUG] did not match key and value when parsing line 1: # Environment variables declared in this file are automatically made available to Prisma.
[dotenv][DEBUG] did not match key and value when parsing line 2: # See the documentation for more detail: https://pris.ly/d/prisma-schema#using-environment-variables
[dotenv][DEBUG] did not match key and value when parsing line 3:
[dotenv][DEBUG] did not match key and value when parsing line 4: # Prisma supports the native connection string format for PostgreSQL, MySQL, SQLite, SQL Server and MongoDB (Preview).
[dotenv][DEBUG] did not match key and value when parsing line 5: # See the documentation for all the connection string options: https://pris.ly/d/connection-strings
[dotenv][DEBUG] did not match key and value when parsing line 6:
[dotenv][DEBUG] "DATABASE_URL" is already defined in `process.env` and will not be overwritten
  prisma:client clientVersion: 3.4.1 +0ms
  prisma:client:libraryEngine internalSetup +0ms
  prisma:client prisma.queryRaw(SELECT CONCAT(site_position.Lat,',', site_position.Long) as coords, * FROM Foo, []) +7ms
  prisma:client Prisma Client call: +1ms
  prisma:client Prisma Client call: +12ms
  prisma:client prisma.queryRaw({
  prisma:client   query: 'SELECT CONCAT(site_position.Lat,\',\', site_position.Long) as coords, * FROM Foo',
  prisma:client   parameters: {
  prisma:client     values: '[]',
  prisma:client     __prismaRawParamaters__: true
  prisma:client   }
  prisma:client }) +3ms
  prisma:client Generated request: +2ms
  prisma:client mutation {
  prisma:client   queryRaw(
  prisma:client     query: "SELECT CONCAT(site_position.Lat,',', site_position.Long) as coords, * FROM Foo"
  prisma:client     parameters: "[]"
  prisma:client   )
  prisma:client }
  prisma:client  +1ms
  prisma:client:libraryEngine sending request, this.libraryStarted: false +27ms
  prisma:client:libraryEngine Search for Query Engine Library in C:\Users\Jan\Documents\throwaway\9933\node_modules\.prisma\client +2ms
  prisma:client:libraryEngine loadEngine using C:\Users\Jan\Documents\throwaway\9933\node_modules\.prisma\client\query_engine-windows.dll.node +2ms
  prisma:client:libraryEngine library starting +78ms
  prisma:client:libraryEngine library started +324ms
thread 'tokio-runtime-worker' panicked at 'not yet implemented: not yet implemented for Udt', C:\Users\runneradmin\.cargo\registry\src\github.com-1ecc6299db9ec823\tiberius-0.6.4\src\tds\codec\type_info.rs:206:26
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
  prisma:client:libraryEngine graphQLToJSError +98ms
  prisma:client:fetcher Error: Raw query failed. Code: `N/A`. Message: `not yet implemented: not yet implemented for Udt`
  prisma:client:fetcher     at Object.prismaGraphQLToJSError (C:\Users\Jan\Documents\throwaway\9933\node_modules\@prisma\client\runtime\index.js:36308:14)
  prisma:client:fetcher     at Object.request (C:\Users\Jan\Documents\throwaway\9933\node_modules\@prisma\client\runtime\index.js:36325:22)
  prisma:client:fetcher     at async cb (C:\Users\Jan\Documents\throwaway\9933\node_modules\@prisma\client\runtime\index.js:38474:26)
  prisma:client:fetcher     at async main (C:\Users\Jan\Documents\throwaway\9933\scripts.js:7:22) +0ms
PrismaClientKnownRequestError:
Invalid `prisma.queryRaw()` invocation:

  Raw query failed. Code: `N/A`. Message: `not yet implemented: not yet implemented for Udt`
    at cb (C:\Users\Jan\Documents\throwaway\9933\node_modules\@prisma\client\runtime\index.js:38504:17)
    at async main (C:\Users\Jan\Documents\throwaway\9933\scripts.js:7:22) {
  code: 'P2010',
  clientVersion: '3.4.1',
  meta: {
    code: 'N/A',
    message: 'not yet implemented: not yet implemented for Udt'
  }
}
  prisma:client:libraryEngine hookProcess received: exit +15ms
  prisma:client:libraryEngine runBeforeExit +1ms

Hey,
This query is expected to fail since you're selecting * which includes the Unsupported("geography") type which we currently do not support.
Concatenating the lat & long as string like you did is a workaround for now.


using cloud events for the sample heartbeat

Proposed Changes

Use CloudEvents from knative/eventing for the heartbeat sample.

Release Note
NONE

/assign @grantr

Thanks for the conflicts @vaikas-google :D

PTAL @grantr

/lgtm

/hold cancel


feat: support create/list datasets on a different project

Override projectId used by the request method when projectId is informed when creating and referencing a dataset.
Fixes #1227  🦕

Thanks for this @alvarowolfx 👍


CSLC-S1 v2.0.0 RC.1.2 integration

This branch integrates v2.0.0-rc.1.2 of the CSLC-S1 PGE into PCM. This version resolves the long runtime issue for generation of CSLC-S1 static layers. Static layer generation for CSLC-S1 has been re-enabled in settings.yaml.
This branch was tested with a single SLC archive on both c6[a/i].2xlarge and c6[a/i].4xlarge instances. The runtimes were:
c6a.2xlarge/c6i.2xlarge
SAS runtime: 2:44:03 (hr:min:sec)
PGE/SAS runtime: 10348.026279071
PCM runtime (PGE/SAS runtime + upload time to S3 rolling storage): 11355.594818s
c6a.4xlarge/c6i.4xlarge
SAS runtime: 1:38:33 (hr:min:sec)
PGE/SAS runtime: 6230.522144275 sec
PCM runtime (PGE/SAS runtime + upload time to S3 rolling storage): 7147.259063 sec
The instance types for the CSLC-S1 workers have been updated to the c6[a/i].4xlarge instances based on these metrics.

CSLC PGE executed about 6878 secs with the static layers generations


ATC updates

As a user, I would like better access to information for delays originating from air traffic control. This often make me feel frustrated and/or helpless, primarily because I have no idea what's going on unless the pilot is communicative.

The logistics of this could be complex, since it may require building and implementing APIs for legacy systems. It also has quite a few security and liability concerns.


Client-side support for move dialects

Reason for these changes: https://github.com/microsoft/language-server-protocol/issues/676


python-tests hanging when run on Linux

$ make python-tests

Running Bandit

[main]  INFO    profile include tests: None
[main]  INFO    profile exclude tests: None
[main]  INFO    cli include tests: None
[main]  INFO    cli exclude tests: None
[main]  INFO    running on Python 3.9.2
Run started:2021-03-24 18:22:40.604001

Test results:
        No issues identified.

Code scanned:
        Total lines of code: 2720
        Total lines skipped (#nosec): 0

Run metrics:
        Total issues (by severity):
                Undefined: 0.0
                Low: 0.0
                Medium: 0.0
                High: 0.0
        Total issues (by confidence):
                Undefined: 0.0
                Low: 0.0
                Medium: 0.0
                High: 0.0
Files skipped (0):

Running Flake8 Tests

Running Python Tests

test_token_lifecycle (endpoints.test_authentication_tokens.AsyncHTTPTestCase) ... /home/ar/code/github/aweber/imbi/tests/base.py:53: DeprecationWarning: The loop argument is deprecated since Python 3.8, and scheduled for removal in Python 3.10.
  await asyncio.wait(

System
OS: Arch Linux
Python: 3.9.2
Docker: 20.10.5, build 55c4c88966

Works fine on macOS 11

Works fine in Linux in the CI job in GitHub.


[Feature request] docker network ls --filter scope=swarm|local

docker network ls has a SCOPE column, so it feels natural to be able to filter by it.
$ docker network ls
system root pool is not available on Windows"
NETWORK ID          NAME                DRIVER              SCOPE
e19fab56e9eb        bridge              bridge              local
d8aa3d08b8ef        docker_gwbridge     bridge              local
uel22ez5o3ai        go-demo             overlay             swarm
22b781f4728a        host                host                local
5566fk8ycoug        ingress             overlay             swarm
c5854c993a7b        none                null                local

Added a PR #31529 for that.

@yongtang Congratulations for being a maintainer!


Create index.html

Background

Changes

Documentation

Test Plan

PR Quality Checklist

[x] My pull request is atomic and focuses on a single change.
[ ] I have thoroughly tested my changes with multiple different prompts.
[ ] I have considered potential risks and mitigations for my changes.
[ ] I have documented my changes clearly and comprehensively.
[ ] I have not snuck in any "extra" small tweaks changes.
[ ] I have run the following commands against my code to ensure it passes our linters:black .
isort .
mypy
autoflake --remove-all-unused-imports --recursive --ignore-init-module-imports autogpt tests --in-place

that is so good,I want your Auto Got


Survey - M8 - Sprint 3

How well was the backlog maintained?

[ ] We did not use a backlog.
[ ] We created a backlog, but did not maintain it.
[ ] Our backlog was loosely defined for the project.
[ ] Our backlog was organized into well-defined work items.
[ ] Our backlog was organized into well-defined work items and was actively maintained.
[x] Our backlog was thorough, maintained, and every pull request was associated with a work item.

How effective was sprint planning?

[ ] We did not do any planning.
[ ] We planned some of the work.
[ ] We planned but did not estimate the work.
[ ] We underestimated and didn’t close out the sprint.
[ ] All work was planned and well estimated.
[x] All work was planned, well estimated, and had well-defined acceptance criteria.

How useful were standups?

[ ] We didn't have standups.
[ ] We didn’t meet with any regular cadence.
[ ] Participation was not consistent.
[ ] They were too long, with too much detail.
[ ] People shared updates, but I usually didn’t get unblocked.
[x] Very efficient. People shared openly and received the help they needed.

How informative was the retrospective?

[ ] We didn’t have a retrospective.
[ ] We had a retrospective because they are part of our process, but it wasn't useful.
[ ] Retrospectives helped us understand and improve some aspects of the project and team interactions.
[x] Retrospectives were key to our team’s success. We surfaced areas of improvement and acted on them.

How thorough were design reviews?

[ ] We didn’t do any design reviews.
[ ] We did a high-level system/architecture review.
[ ] We produced and reviewed architecture and component/sequence/data flow diagrams.
[ ] We produced and reviewed all design artifacts and solicited feedback from domain experts.
[x] We produced and reviewed all design artifacts and solicited feedback from domain experts. As the project progressed, we actively validated and updated our designs, based on our learnings.

How effective were code reviews?

[ ] We didn’t review code changes
[ ] We used automated tooling to enforce basic convention/standards.
[ ] We used automated tooling to enforce basic convention/standards. Code changes required approval from one individual on the team.
[ ] We used automated tooling to enforce basic convention/standards. Code changes required approval from two or more individuals on the team.
[x] We used automated tooling to enforce basic convention/standards. Code changes required approval from two or more individuals on the team. Domain experts were added to reviews, when applicable.

How were changes introduced to the codebase?

[ ] No governance; anyone could introduce changes to any part/branch of the codebase.
[ ] Branches were used to isolate new changes and folded into an upstream branch via Pull Request.
[ ] Branches were used to isolate new changes and folded into an upstream branch via Pull Request. Pull Requests were scoped to smaller, more granular changes.
[ ] Branches were used to isolate new changes. Pull Requests were used to fold changes into a primary working branch. Multiple upstream branches were used to manage changes. Master is always shippable. Branch policies and/or commit hooks were in place.
[x] Branches were used to isolate new changes. Pull Requests were used to fold changes into a primary working branch. Branch names and commit message(s) follow a convention and always reference back to a work item. Multiple upstream branches were used to manage/validate/promote changes. Master represents last known good and is always shippable. Branch policies and/or commit hooks were in place.

How rigorous was the code validation?

[ ] We did not do any testing.
[x] Our work was primarily validated through manual testing.
[ ] We consciously did not allocate time for automated testing.
[ ] Automated tests existed in the project, but were challenging to run.
[ ] New tests or test modifications accompanied every significant code change.
[ ] Our project contained automated tests, every check-in must have a test, and they ran as part of CI.

How smooth was continuous integration?

[ ] We didn’t have any continuous integration configured.
[ ] Builds were always done on a central build server.
[x] Builds are always done on a central build server. Automated tests prevented check-ins that would result in a broken build, for some of the codebases.
[ ] Builds are always done on a central build server. Automated tests prevented check-ins that would result in a broken build, for all the codebases.
[ ] Builds are always done on a central build server. Automated tests prevented check-ins that would result in a broken build, for all the codebases. Built artifacts were always shared from a central artifact/package server.

How reliable was continuous delivery?

[ ] We didn’t have any continuous delivery configured.
[ ] We had scripts for some deployments.
[x] We had scripts for both creating and deploying some services to an environment.
[ ] We had scripts for both creating and deploying all services to an environment.
[ ] There were multiple environments and deployments into them were automated and well understood.

How was observability achieved?

[ ] We didn’t add any logging, metrics, tracing, or monitoring.
[ ] We added some logging, metrics, tracing, and/or monitoring but it was not done consistently across all system components.
[ ] We added logging, metrics, tracing, and/or monitoring across most components. However, the implementation was not complete; ex) we did not use correlation ids or business context was missing or alerts were not defined for monitored components, etc.
[x] We added extensive logging, metrics, tracing, and monitoring alerts to facilitate debugging, viewing of historical trends, understanding control flow, and the current state of the system.
[ ] We designed and implemented instrumentation to help run the solution with the goal of adding value to the customer.

How was security evaluated in this engagement?

[ ] We did not evaluate security as a part of this engagement.
[ ] Security was evaluated only at the end of the engagement; little to no time was available to remediate issues.
[ ] Security was evaluated only at the end of the engagement; there was time remaining prior to hand-off to fix issues (if needed).
[ ] Secure design was considered during the design and implementation phases but with no ongoing support.
[x] Secure design was considered during the design and implementation phases, and ongoing automated testing was introduced to the DevSecOps process prior to hand off.

How was impactful Product Group engineering feedback provided?

[ ] Microsoft products/services worked flawlessly without any issues, therefore, there was no engineering feedback to share.
[ ] We encountered some friction with Microsoft products/services but didn’t submit any engineering feedback for the Product Group.
[ ] We shared our feedback directly with the Product Group but only in an ad-hoc manner (i.e. via email, teams, etc).
[ ] Mostly at the end of the engagement, we submitted some engineering feedback via CSE Feedback tool.
[x] On an ongoing basis, we submitted all of the relevant high-quality feedback via CSE Feedback tool, including priority, scenario-based description, repro steps with screenshots, and attached relevant email threads with the Product Group.

Updated


Document how to work on the CLI

How do use the Nix flake etc.

@raphaeltm  Glad we discussed this when we met IRL. If you can post the steps in the documentation that'd be amazing! :D


Read from S3 with s3fs

Describe the Bug
Following the s3fs example in the docs I should be able to read a ZARR from S3. Instead, I get an UnsupportedFileFormatError
Reproduction
Minimal example
from bioio import BioImage
import s3fs

s3 = s3fs.S3FileSystem(anon=True)
path = "s3://allencell/aics/nuc_morph_data/data_for_analysis/baseline_colonies/20200323_09_small/raw.ome.zarr"
image = BioImage(path)

Additional example with some clues.
# %%
from bioio import BioImage
import bioio_base as biob
from ome_zarr.io import parse_url
from ome_zarr.reader import Reader as ZarrReader
import s3fs

s3 = s3fs.S3FileSystem(anon=True)

path = "s3://allencell/aics/nuc_morph_data/data_for_analysis/baseline_colonies/20200323_09_small/raw.ome.zarr"

# %% Alternate version
image = BioImage(path, fs_kwargs=dict(anon=True))  # raises UnsupportedFileFormatError

# %% Related issue
BioImage.determine_plugin(path)  # raises UnsupportedFileFormatError

# %% More clues
reader = ZarrReader(parse_url(path))  # No error, returns a ZarrReader

(abstract_fs, modified_path) = biob.io.pathlike_to_fs(
    path, enforce_exists=True, fs_kwargs={}
)
path2 = "allencell/aics/nuc_morph_data/data_for_analysis/baseline_colonies/20200323_09_small/raw.ome.zarr"
assert modified_path == path2

ZarrReader(parse_url(path2, mode="r"))  # raises AttributeError: 'NoneType' object has no attribute 'exists'

Environment

OS Version: Ubuntu 18.04
bioio-ome-zarr 1.0.0
bioio 1.0.1
bioio-base 1.0.0
s3fs 2023.6.0

I think I have a fix but not sure how this repository is supposed to be tested

Currently stuck running the tests

S3 AccessDenied for S3Api.HEAD_OBJECT on bucket: bioio-dev-test-resources


Fix tiny error in language.

Please report small issues like this to the OCD issue.

Please add a comment on this issue: https://github.com/SpongePowered/SpongeAPI/issues/1000


HA-Proxy does not restart after ipconf.sh

The HA-Proxy service doesn't restart like it's supposed to as part of ipconf.sh processing:
● haproxy.service - HAProxy Load Balancer
   Loaded: loaded (/usr/lib/systemd/system/haproxy.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Mon 2022-01-31 02:09:27 UTC; 3s ago
  Process: 33875 ExecStart=/usr/sbin/haproxy -Ws -f $CONFIG -p $PIDFILE $OPTIONS (code=exited, status=1/FAILURE)
  Process: 33869 ExecStartPre=/bin/bash -c until host api.ocp-z-poc.wsc.ibm; do sleep 1; done && /usr/sbin/haproxy -f $CONFIG -c -q (code=exited, status=0/SUCCESS)
 Main PID: 33875 (code=exited, status=1/FAILURE)

Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm haproxy[33875]: [WARNING] 030/020927 (33875) : config : 'option forwardfor' ignored for backend 'ocp4-router-http' as it requires HTTP mode.
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm haproxy[33875]: [WARNING] 030/020927 (33875) : config : 'option forwardfor' ignored for backend 'ocp4-router-https' as it requires HTTP mode.
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm haproxy[33875]: [WARNING] 030/020927 (33875) : Setting tune.ssl.default-dh-param to 1024 by default, if your workload permits it you should set >
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm haproxy[33875]: [ALERT] 030/020927 (33875) : Starting frontend ocp4-kubernetes-api-server: cannot bind socket [<IP_ADDRESS>:6443]
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm haproxy[33875]: [ALERT] 030/020927 (33875) : Starting frontend ocp4-machine-config-server: cannot bind socket [<IP_ADDRESS>:22623]
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm haproxy[33875]: [ALERT] 030/020927 (33875) : Starting frontend ocp4-router-http: cannot bind socket [<IP_ADDRESS>:80]
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm haproxy[33875]: [ALERT] 030/020927 (33875) : Starting frontend ocp4-router-https: cannot bind socket [<IP_ADDRESS>:443]
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm systemd[1]: haproxy.service: Main process exited, code=exited, status=1/FAILURE
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm systemd[1]: haproxy.service: Failed with result 'exit-code'.
Jan 31 02:09:27 lxocpb01.ocp-z-poc.wsclab.endicott.ibm systemd[1]: Failed to start HAProxy Load Balancer.

The process cannot bind its configured ports because it's using the wrong IP address.

The config file /etc/haproxy/haproxy.cfg is not edited after the domain name change, and is still pointing to the wsc.ibm domain.  Actually, the DNS config doesn't look to have changed at all. ☹

Issue was that the new zone file for Finna support was missing from the ELAN, which meant that the update-dns-domain playbook (which does all the work) did not run.
Fixed now in commit 15f0e1b.


Infinite activation/binding loop after navigating away then back

This issue seems to be specific to version 2.1.0. If start from Page A then navigate to Page B then back to Page A, it triggers an endless loop of activating and binding.

If I replace viewEngine.js v2.1.0 with viewEngine.js v2.0.1, the endless loop is gone but the double activation happens.

If you could provide a gist or git repo demonstrating the problem that would help me resolve it.

Closing since Durandal has been superseded by Aurelia just shy of four years ago.


[Windows] Teach Build-Testing how to Foundation

Pass Foundation_DIR to the CMake configuration.

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please smoke test

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please build Toolchain

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please smoke test

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please smoke test

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please smoke test

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please test WebAssembly

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please test WebAssembly

https://github.com/swiftlang/swift-testing/pull/693
@swift-ci Please smoke test


Add some more analyzer/planner benchmarks

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@9ebffaa). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #6254   +/-   ##
=========================================
  Coverage          ?   83.29%
  Complexity        ?    12574
=========================================
  Files             ?     1454
  Lines             ?    47540
  Branches          ?     5827
=========================================
  Hits              ?    39600
  Misses            ?     5232
  Partials          ?     2708

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 9ebffaa...1b81890. Read the comment docs.


Allow us to change compression level of backups

Feature Request
Feature Information:
Please include a config option be it a global setting or per instance to change the compression level of backups.
I confirm:

[x] that I have searched for an existing feature request matching the description.

Implemented in previous update :)


feat/publishing-strategies-api

Adds new PublishingStrategies API to unify how workloads are exposed.
Design
Any workload that exposes an endpoint that  can be consumed by clients (either in-cluster or out-of-cluster clients) exposes the api field publishingStrategies, which allows a user to configure how the endpoint/s is/are exposed. This is called a "publishing strategy". All workload endpoints have a default publishing strategy, which right now can be one of two types: "Simple" or "Marin3rSidecar".
Other design decisions:

All workload endpoints are identified by a name (i.e.: HTTP, Proxy, etc).
When a user specifies configuration through the workload's custom resource, the user defined configuration is merged with the defaults. This is the default mode of operation for the API, but there is also a 'replace' mode.
By default, specifying configuration for a non-defined service is an error unless the option create: true is set to declare the intent of creating a new endpoint.
The 'replace' mode can be used to avoid merging with the default configuration. In the replace mode, the user must specify all fields. Replace mode still requires create: true when adding a new endpoint.
Replace mode can be used to duplicate an endpoint's strategy, declaring for example both a Simple and a Marin3rStrategy for the same endpoint, effectively causing the endpoint to be exposed by two different strategies at the same time. The user can then control the dns to decide how to route traffic to each strategy.

Simple strategy
The service is exposed through a k8s Service resource, which can be a ClusterIP Service or a LoadBalancer Service (either NLB or ELB).
publishingStrategies:
  mode: Merge
  endpoints:
    - name: HTTP
      # strategy to use
      strategy: Simple
      simple:
        # overrides the default service name
        serviceName: service-name
        # the type of service: ClusterIP/ELB/NLB
        serviceType: NLB
        # configures the external-dns annotation in the Service resource
        externalDnsHostnames:
          - example.com
        # AWS network load balancer configuration in the form of Service annotations
        # Check API definition for a comprehensive list of options
        networkLoadBalancerConfig:
          proxyProtocol: true
        # overrides the default list of ports for the Service resource
        servicePorts:
          - name: http
            protocol: TCP
            port: 80
            targetPort: echo-api-http
          - name: https
            protocol: TCP
            port: 443
            targetPort: echo-api-https

Marin3rStrategy
publishingStrategies:
  endpoints:
    - name: HTTP
      # strategy to use
      strategy: Marin3rSidecar
      # configuration options for the Marin3rSidecar strategy
      marin3rSidecar:
        # envoy dynamic configurations
        dynamicConfigs:
          http:
            generatorVersion: v1
            listenerHttp:
              allowHeadersWithUnderscores: true
              enableHttp2: false
              port: 38080
              proxyProtocol: true
              routeConfigName: router_external
        # override envoy image
        envoyImage: "envoyproxy/envoy:v1.22.11"
        # configures the external-dns annotation in the Service resource
        externalDnsHostnames:
          - example.com
        # AWS network load balancer configuration in the form of Service annotations
        # Check API definition for a comprehensive list of options
        networkLoadBalancerConfig:
          proxyProtocol: true
        # envoy node-id. If not specified the workload name is used
        nodeID: backend-listener
        # envoy sidecar port definitions
        ports:
          - name: http
            port: 15080
          - name: http-internal
            port: 15081
          - name: https
            port: 15443
          - name: metrics
            port: 15000
        # envoy sidecar resource requirements
        resources: {}
        # overrides the default Service name
        serviceName: service-name
        # overrides the default list of ports for the Service resource
        servicePorts:
          - name: http
            port: 80
            protocol: TCP
            targetPort: http
          - name: https
            port: 443
            protocol: TCP
            targetPort: https
        # the type of service: ClusterIP/ELB/NLB
        serviceType: NLB
        # configures Marin3r's shutdown manager lifecycle hooks
        shtdnmgrExtraLifecycleHooks:
          - backend-listener

Upgrade
Each controller will upgrade it's the custom resources to migrate from the old API fields to the new publishingStrategies field. As default Service names have changed, the controllers will check if the Services already exists and keep the old names to avoid recreation of Service, which most certainly would lead to loss of Service during the upgrade. This has been tested in dev but still requires thorough testing in the staging environment.

/kind feature
/priority important-longterm
/assign

/lgtm
Outstanding work, congrats @roivaz

/approve


nickserv: use NICKSERV instead of PRIVMSG

This is same as #833, but to correct  branch.
Closes #833

Personally I'd prefer master. This is a behavioral change that may break things for some.

Closing because of previous commit.

J-P, may you write some guide explaining which changes should go to which
branch? So far you were saying about changes to znc.conf and .h
2015-02-18 23:28 GMT-08:00 Mikaela Suomalainen<EMAIL_ADDRESS>
Closed #877 https://github.com/znc/znc/pull/877.
—
Reply to this email directly or view it on GitHub
https://github.com/znc/znc/pull/877#event-238205031.

I started http://wiki.znc.in/Branches wiki page. I'll collect more examples on the list when something comes up. This particular change is IMHO in the "behavioral change" category.


Decide on relationship: splenic vein and hilum of spleen

There is currently no is_a, part_of or overlaps relationship between  UBERON:0003713 	splenic vein 	Splenic Vein 	UBERON:0001248 	hilum of spleen 	Hilum; see PMID: 25827019 "The splenic vein allows for the venous drainage of the spleen. It also runs from the hilum and runs posteriorly to the pancreas and later joins with the superior mesenteric vein to constitute the portal vein."I don't see an object property of "enters", Would "channels into" make sense? I don't see good options.

(Note these relations are subrelations of connected_to, not part_of.


Connect to application in default namespace

I followed the documentation to create a postgress "hippo" cluster which is in the "postgress-operator" namespace, is there a way to connect the users made in the postgress Cluster file to applications in the "default" namespace? Since the generated pguser secrets are only in the postgress-operator namespace. I have looked through the documentation provided at https://access.crunchydata.com/documentation/postgres-operator/5.0.5/ and have been unable to find much about namespaces.

I'm using the kustomise method btw

@RampedIndent Kubernetes secrets can only be accessed from the namespace they live in.  For cases like yours, you could either deploy the cluster in the namespace you need it in or just grab the value you need from that secret and manually set it for the service that needs it (via env var, etc).
kubectl get secret -n $NS $PGO_SECRET -o jsonpath='{.data.pgbouncer-uri}' | base64 -d

# outputs:  postgresql://user:pw@host:5432/dbname

Solution found: install reflector this allows for secrets to be automatically mirrored between namespaces
the required annotations can be added with a yaml file, just make sure the name of the secret is the same as the auto generated secret.
kind: Secret
metadata:
  name: hippo-pguser-inventree
  namespace: postgres-operator
  annotations:
    reflector.v1.k8s.emberstack.com/reflection-allowed-namespaces: "default"
    reflector.v1.k8s.emberstack.com/reflection-allowed: "true"
    reflector.v1.k8s.emberstack.com/reflection-auto-enabled: "true"

I've just upgraded to latest PGO 5.3 and as far as I can tell, no secrets reflection is necessary
I simply created PostgresCluster manifest based on kustomize/postgres/postgres.yaml changing name and adding namespace:
apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
metadata:
  name: postgres-example
  namespace: customer-example

and it worked:
$ kubectl get -n my-example pods | grep postgres
postgres-example-backup-whxv-rct7p   0/1     Completed   0          18m
postgres-example-instance1-6lt2-0    4/4     Running     0          19m
postgres-example-repo-host-0         2/2     Running     0          19m

$ kubectl get -n my-example secrets | grep postgres
postgres-example-cluster-cert                          Opaque   3      16m
postgres-example-instance1-6lt2-certs                  Opaque   6      16m
postgres-example-pgbackrest                            Opaque   5      16m
postgres-example-pguser-example-pgo                    Opaque   8      16m
postgres-example-replication-cert                      Opaque   3      16m

and I was able to connect to the database too.


portal: Allow magic link auth flow to accept the OTP directly

In the Apple client, we can't guarantee other apps won't intercept our URI handler, so we need the entire auth flow to occur inside the single ASWebAuthenticationSession view. One solution could be for the portal to prompt for the OTP directly after sending the magic link email, and then redirecting to the firezone:// handler just like any other auth flow.

Fixed by #1916


Build failed on Android ( flutter_contacts: 1.1.7 )

There's an Error in GeneratedPluginRegistrant.java file  which makes the building apk file is failed (ANDROID)
Version: flutter_contacts: 1.1.7
error: package co.quis.flutter_contacts does not exist
flutterEngine.getPlugins().add(new co.quis.flutter_contacts.FlutterContactsPlugin());

I'm getting the following error too when trying to build on the android emulator
e: file:///Users/josiahyeow/.pub-cache/hosted/pub.dev/flutter_contacts-1.1.6/android/src/main/kotlin/co/quis/flutter_contacts/FlutterContacts.kt:45:7 Redeclaration: FlutterContacts
e: file:///Users/josiahyeow/.pub-cache/hosted/pub.dev/flutter_contacts-1.1.6/android/src/main/kotlin/co/quis/flutter_contacts/FlutterContactsPlugin.kt:27:7 Redeclaration: FlutterContactsPlugin
e: file:///Users/josiahyeow/.pub-cache/hosted/pub.dev/flutter_contacts-1.1.7/android/src/main/kotlin/co/quis/flutter_contacts/FlutterContacts.kt:45:7 Redeclaration: FlutterContacts
e: file:///Users/josiahyeow/.pub-cache/hosted/pub.dev/flutter_contacts-1.1.7/android/src/main/kotlin/co/quis/flutter_contacts/FlutterContactsPlugin.kt:27:7 Redeclaration: FlutterContactsPlugin
e: file:///Users/josiahyeow/.pub-cache/hosted/pub.dev/flutter_contacts-1.1.7/android/src/main/kotlin/co/quis/flutter_contacts/FlutterContactsPlugin.kt:328:87 Too many arguments for public final fun openExternalPickOrInsert(activity: Activity?, context: Context?, insert: Boolean): Unit defined in co.quis.flutter_contacts.FlutterContacts.Companion

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':flutter_contacts:compileDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
   > Compilation error. See log for more details

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 15s
Exception: Gradle task assembleDebug failed with exit code 1]

Thanks for reporting @minhtuanat4
Closing as duplicate of #127


Bits, subs, alerts and channel point integration

Is there a way or a roadmap for adding alerts for subs, bits and channel points?

Yes, this is coming after #16 :)
Currently you'd have to connect to Twitch with a seperate websocket yourself, as the events are fired from a different API at wss://pubsub-edge.twitch.tv
More details here; https://dev.twitch.tv/docs/pubsub/

Done, testing would be appreciated <3


Access Denied exception in Tenant root Site Collection only

Category

[ ] Question
[ ] Typo
[x] Bug
[ ] Additional article idea

Launching an App fails in the root Site Collection of a Tenancy with an Access Denied exception, whereas launching an App in ANY other Site Collection in the Tenancy works as expected.
Expected or Desired Behavior
I expect the App to launch successfully in ANY Site Collection, including the root Site Collection of the Tenancy.
Observed Behavior
I created 3 separate Tenancies to test this. I was able to observe the Access Denied exception in the root Site Collection of all 3 trial tenancies. I observed the App successfully launch in 10 non-root Site Collections in each tenancy.
Steps to Reproduce
Create an app with, in my case, Site Collection [Read] and Site [Full Control] permissions and leverage them in your PHA to read or modify your root Site Collection, and subsequently, any other Site Collection, upon App launch. I observe an Access Denied exception in each root Site Collection.
In my case I am adding a folder and a file to the root web's root folder in the root site collection of the tenancy.
UPDATE
The folder and file I am adding above are actually being added in the App Web, by my App installed in the root web of the root site collection of the tenancy. My APP is getting an Access Denied trying to write to its OWN App Web.

Temporarily closing, doing some further research...

I am seeing the same behavior in sub webs of the root Site Collection of the tenancy as well, not just the root web,

This is similar to intermittent issues I've seen over the last 18 months where random customers are unable to install marketplace apps because of Access Denied to app webs, and may be the same problem. However, I believe some of the affected users were in site collections other than the root.

Any chance we could get a repro for this from someone as an example app or correlation ID on the exception (it's visible in F12) - just to speed up the resolution and investigation?

This is related to our discussion at SPCNA @VesaJuvonen . Essentially, the fact that the AddAndCustomizePages permission mask is not present in the root site collection of a tenant prevents our app from launching. In this case, our app creates a folder and a couple of pages in the user's site, and of course they reference external scripts. Our app has full control of the site (WebFullControl). These types of apps should not even be allowed to be added to a site in the root site collection as the FullControl contract is clearly being broken in this case. Any app that creates a page should be able to reproduce this in any root site collection. In addition to being blocked in the user's site, we are also blocked in the app web from doing this, which technically is still just a site in that site collection, but a major reason an app web ever existed was to isolate its permissions (including AddAndCustomizePages), which now don't even exist there. Hope this helps. Let me know if you need anything else.

We are closing this issue because it is "by design".
Now, we understand that this is not the right design and we are working on APIs that, at least for modern, will allow to create pages without requiring to turn NoScript off.
For now, the only workaround is to have the app checking if the permission is not part of the Permission Mask and fail gracefully.


[3.0] Add CI target for separate CI systems

Description

Cherry Picked change to Makefile to break out a CI target to be used on different CI systems.
Cherry Pick went in clean.
Original Pull Request https://github.com/projectcalico/calico/pull/1694
Signed-off-by: jose-bigio<EMAIL_ADDRESS>(cherry picked from commit 0d69dad556f37c72e5c7ffbac26dc5e1086da271)
Signed-off-by: jose-bigio<EMAIL_ADDRESS>

I believe https://github.com/projectcalico/calico/pull/1694 is the PR to master for this commit.


Add ability to omit the first character in dir path

As @Hebgbs suggested in the chat, here is the option to omit the first character in dir segment.
Before (with POWERLEVEL9K_DIR_PATH_SEPARATOR set):

After:

@Hebgbs Could you confirm that this is what you wanted?

This is the behaviour I wanted, though I wouldn't want to have this strictly imposed as the only way if somebody doesn't want it; Is it toggleable for users who don't want this behaviour? If so, what's the proposed Boolean argument for it?
Cool if it's not, just looking out for people who would dislike this.

Well, if somebody does not want this feature, they could just not set this variable. Or - as we check for true - just set it to any other value..

This will produce ambiguous output with zsh aliased dir :
withdev=~/dev,

~/dev-> < open_folder > dev
/dev  -> <closed_folder> dev

I think we should default the HOME_SUB_ICON to the same icon as HOME_ICON because it was already misleading without this

There's the same problem as stated in https://github.com/bhilburn/powerlevel9k/pull/346#issuecomment-264660826 fixed by 202ab1500727e4f37545eaff849d4f9a52b823c4
I suggest we define current_path with local current_path=$(print -P '%~') (immediately evaluate) and revert 202ab1500727e4f37545eaff849d4f9a52b823c4

@V1rgul Yes, I see the ambiguity as well. The icon is with this option set a crucial part of the path. So two folders with the same name, one in the home folder, and one in the root folder would only be distinguishable by the icon. To make it even worse, the icons for a subfolder of the home dir (open-folder) and for a subfolder of root (closed folder) are very similar.
Changing the default behaviour could be an option. I do not have a strong opinion on that. What do others think?
Regarding your second comment: I don't think I understand you right. Changing that line to what you suggest would it make impossible to use tuncation together with changing the dir path separator, no? Is anything broken for you?

@V1rgul about the ambiguity, I can see where you are coming from. It's also super-ambiguous when you're in root regardless which is a very bad thing to say the least.
I propose a means to figure out if a user is in any root path that doesn't begin with M produce a briefcase icon, similar to old Apple's "System suitcase" feature. While not exactly a 1:1 representation, it would at least prevent ambiguity by making /dev, ~/dev, /mnt/.../dev and /media/$USER/.../dev represented as such;
💼>dev
🏠>dev
↻ >mnt/.../dev (assuming /mnt is for loopback devices / files as devices)
➝>media/$USER/dev
Noticed how I dropped the folder completely? 📂 should be for an else condition when the shell does not know how to represent the path. Does that mean that there may end up being ambiguity when a root path can be accessed in a different fashion? Maybe. Is this a lot of unnecessary work to make conditional when you're in a root path? Oh yeah. Tat's why I was fairly hesitant about suggesting iconifying the first dir segment based on location on system, because I was afraid this was going to get real stupid, real quick.
Is it worth the hassle then?

@dritter Yes, the pull request doesn't work on my machine, I have a problem similar to https://github.com/bhilburn/powerlevel9k/pull/346#issuecomment-264660826 but for this segment
%~ with the 1st character omitted just leads to ~ which isn't evaluated latter
in this case evaluating %~ could be done immediately after the truncation, because it is needed for POWERLEVEL9K_DIR_PATH_SEPARATOR and POWERLEVEL9K_DIR_OMIT_FIRST_CHARACTER
@Hebgbs that could be great
My ideal scenario for the icon/first character (using POWERLEVEL9K_DIR_PATH_SEPARATOR='>') would be
~     -> 🏠
~/... -> 🏠>...
~...  -> 🏠 ~... under home, 💼 ~... else
/     -> 💼
/...  -> 💼>...

@V1rgul Hah!  I'll fix this in the next couple of days. Thank you very much!

@V1rgul - Would you mind reviewing this change and making sure it has your use-case covered?

@bhilburn It is working now.
Concerning my use case, named directories are still shown as home subfolder, because they start with ~.

@V1rgul Yes, I didn't change the HOME_SUBFOLDER_ICON.. For me that is a matter of taste and not very important. You could file a PR for that anyway. 😉

Just resolved a minor conflict that resulted from merging the new path shorten strategy, and all looks good. Nice coding, @dritter, and thanks for the testing & feedback, @V1rgul!


refactor: use custom API client wrappers from SDK

TL;DR: This PR uses the custom API client contrucutors added to the Golang SDK: https://github.com/redhat-developer/app-services-sdk-go/tree/v0.3.1/kafkamgmt/apiv1#configuration.
This PR also removes the internal client for the Kafka Admin API and now uses the Go SDK client: https://github.com/redhat-developer/app-services-sdk-go/tree/v0.3.1/kafkainstance/apiv1internal
Verification Steps
Everything should continue to work as normal.
Type of change

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

Checklist

[x] CI and all relevant tests are passing
[ ] Code Review completed
[ ] Verified independently by reviewer

@wtrocki @rkpattnaik780 the 77 files changed is mainly deleting ./pkg/api/strimzi-admin - the main file to focus on is keycloak_connection.go.


scheduler-cli is super frustrating

Some thoughts on scheduler-cli after installing it (had to run sudo, setup.py said to use -d but that option as well as --install-dir didn't work).

--profile-name is not documented in --help, so using it when having multiple account credentials isn't intuitive
I'm not sure if the arguments are positional (e.g. --stack should be first)
If I use =, the command seems to work, sort of... if I use a space (e.g. --stack stackname), I get an error.  The help doesn't mention how to pass arguments
If I use "argumentname argumentvalue" the wrong argumentvalue is picked for argumentname.  E.g. one of the attempts below I tried "scheduler-cli --profile-name=someprofile -s instance-scheduler describe-periods", and the script attempted to use instance-scheduler as the command
I finally got this to work, after a dozen and a half commands, due to insufficient help and difficult usage guidance from the command
coming from a Linux and AWS CLI background, having this CLI require the action be at the front of the command was a difficult mental block for me, as I'm used to putting "--" arguments that change the behavior in the front of a command, and items like filters after the "action" (e.g. aws --profile=something ec2 describe-instances --query 'Something[].' --filter 'SomethingElse.[]')
The -h (or --help) seem to indicate that the arguments can go in front of the action (e.g. -h and --version).  Why can these go in front but others can't?

mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name someprofile describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'someprofile' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile -s instance-scheduler describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'instance-scheduler' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile -s=instance-scheduler describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile --stacks=instance-scheduler describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile --stacks instance-scheduler describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'instance-scheduler' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name someprofile --stacks instance-scheduler describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'someprofile' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name someprofile --stacks instance-scheduler describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'someprofile' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile --stacks instance-scheduler describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'instance-scheduler' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile --stacks=instance-scheduler describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile --stack=instance-scheduler describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --profile-name=someprofile -s=instance-scheduler describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli -s=instance-scheduler --profile-name=someprofile describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --stack=instance-scheduler --profile-name=someprofile describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --stack instance-scheduler --profile-name someprofile describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'instance-scheduler' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --stack instance-scheduler --profile-name=someprofile describe-periods
usage: scheduler-cli [-h] [--version] {create-period,create-schedule,delete-period,delete-schedule,describe-periods,describe-schedule-usage,describe-schedules,update-period,update-schedule} ...
scheduler-cli: error: invalid choice: 'instance-scheduler' (choose from 'create-period', 'create-schedule', 'delete-period', 'delete-schedule', 'describe-periods', 'describe-schedule-usage', 'describe-schedules', 'update-period', 'update-schedule')
 mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli --stack=instance-scheduler --profile-name=someprofile describe-periods
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s
FINAL WORKING COMMAND (seems arguments are positional, after all)
mmoldvan  ~  projects  someprofile  keypairs  scheduler-cli describe-periods -s instance-scheduler --profile-name=someprofile
{
"Periods": [
{
"Begintime": "00:00",
"Description": "development systems schedule",
"Endtime": "12:00",
"Weekdays": "mon-fri",
"Name": "dev",
"Type": "period"
},
{
"Begintime": "21:00",
"Description": "production systems schedule",
"Endtime": "22:30",
"Weekdays": "mon-fri",
"Name": "prod",
"Type": "period"
}
]
}

Hi @sandwormusmc Reviewing your entire comment, looks like you were able to create the periods. Scheduler-cli instructions are provided in the documenation here, let me know if these instructions are not helpful or are missing some details which would have been helpful. We will review the documentation and update it.

Yes, the help area in the command itself is lacking and it's unclear if the arguments are positional.  I think other users of the CLI would find it helpful if the help and documentation were consistent, so rather than opening a browser and searching for the documentation, then the part that is relevant to what they are doing, it could be in the output of -h.  Hope I explained that well.

I'm not convinced this is completed. I've just started using this command and I've found it to be one of the least friendly CLIs I've encountered in the last few decades.
e.g. the command scheduler-cli describe-periods –-stack cicd-pre-prod-ci-instance-scheduler-stack --profile-name=dev gave the response
usage: scheduler-cli describe-periods [-h] [--name NAME] [--query QUERY] [--region REGION] --stack STACK
                                      [--profile-name PROFILE_NAME]
scheduler-cli describe-periods: error: the following arguments are required: --stack/-s

i.e. it's complaining it doesn't have the argument it's got. I'm sure you can understand why this is frustrating to an end user.
After much fiddling about, I eventually found that the key was to ignore the error message it was emitting (because that was a pack of lies) and in fact the command scheduler-cli describe-periods --stack cicd-pre-prod-ci-instance-scheduler-stack --profile=dev finally yielded results.
i.e. when it says --profile-name NAME what it actually means is --profile=NAME. SMH.
Having to resort to trial and error and/or guesswork is super frustrating.
I'm not sure which is worse - finding out that you can't configure the instance scheduler properly via CloudFormation (so you can't do configuration-as-code and have to use this cli tool instead), finding out that the cli tool needs a version of python newer that the latest you have available for your OS, finding out that the CLI you have to use is frustratingly unhelpful, or finding out that the bug report about this issue has been closed despite it still being "super frustrating".
It's certainly not a user-experience that's consistent with user-expectations for a world-leading cloud provider.
Y'all need to remove data-duplication / copy-paste in your source code so that all these bits of text are built up from the argument(s) that the command really expects. If you do that, you won't be able to tell the user misleading lies because you'll only have correct argument names available, and when someone changes the code to change the arguments, the generated help/errors will change too.
(this is a lesson I've had to teach younger coders a gazillion times; copy/paste code may save you a few seconds today but it will cost you hours tomorrow)

@Peter-Darton-i2 Thanks for the feedback!
We completely hear you on the difficulties with the CLI and the complexity of the source code. Our team is hard at work on resolving many of these issues.
You mentioned that you couldn't configure schedules properly via cloud-formation. Do you have any specific issues that you ran into that were preventing you from creating schedules via CloudFormation? We have a custom-resource that allows schedules to be managed via cloud-formation templates as documented in our implementation guide. You can find several example templates on how to do this here
Thanks again for the feedback. I'm reopening this ticket to help with our internal tracking.

I did (eventually) find examples of configuring schedules via cloud-formation, on the page you linked to ... but unfortunately that's got a broken link so we can't see what the actual expected format is:

The following CloudFormation template will create the above schedule using the schedule custom resource.

...but https://docs.aws.amazon.com/solutions/latest/instance-scheduler-on-aws/appendix-resource is "not a functioning page on our site"

The next issue was that when I tried adding custom resources to my template, deployment then failed because it exceeded a 51200 byte limit.
(I'm old enough to remember home computing in the 1980s when 50k was considered to be a lot of memory, but I wasn't expecting to hit that limit four decades later when taking to a multinational cloud service that doesn't/shouldn't have any 8bit systems or limits)
...so I deleted all the "metadata" to bring the file size down and eventually got things working.
...but not until after I found that the scheduler logic doesn't understand that morning follows night (See #456); I wanted an overnight job and it doesn't seem to understand that jobs can start at 9pm and finish 6 hours later at 3am. So I had to set my jobs to start a minute after midnight instead because that way the CLI's belief that 3am can't be later than 9pm doesn't break things.
IMO it would really help if the CFN template included a (commented-out?) example of using CFN to configure it ... although I guess then it'd blow the 50k limit there too :-/
FYI there's also inconsistent links in https://repost.aws/knowledge-center/stop-start-instance-scheduler. One points to a "latest instance-scheduler" which turns out to be version 1.3.3 whereas the other "latest instance-scheduler" is version 1.5.0. Unfortunately I used the first link, not the second, so that cost me a day's rework, at which point the frustration-factor was starting to exceed medically-safe levels...
...and, lastly, my AWS admin tells me that having all the IAM resources bundled up within the same template is frustrating; they're of the opinion that IAM resources should be kept separate from everything else so that the admin can deploy the IAM stuff and then "mere users" (like myself) can "get on with everything else" ... but by that point I'd pretty much lost the will to live and could barely muster a "Meh" in reply.
TL;DR: Lots of frustration and wails of "it shouldn't be this hard!" but got there in the end.

Thanks for the info! I'll see what I can do to get those documentation links corrected.
For the 50k limit, this is a general quota limitation of CloudFormation when embedding templates directly in the html request body as described in the documentation here. The fix for this would be to spread the schedules you want to create across multiple stacks or to upload and deploy the template from S3 (which has much higher limitations)


Support for llvm 8

As title.
Don't merge yet!

the random failure on Azure seems unrelated to this PR, so I think this is ready to merge.


Add direct flag option to momondo query string

Also store it in the database

Dont forget to improve the test


Update go-ipfs dependency

I've tried to update the go-ipfs dependency using Godep. I've never used the tool before, maybe I'm doing something wrong. Is this documented somewhere?
Justins-MacBook-Air:openbazaar-go justin$ go get -u github.com/ipfs/go-ipfs
Justins-MacBook-Air:openbazaar-go justin$ godep update github.com/ipfs/go-ipfs
godep: not in manifest: github.com/ipfs/go-ipfs
godep: error loading dependencies

I've also tried doing something similar with the OpenBazaar/go-ipfs fork:
Justins-MacBook-Air:openbazaar-go justin$ godep update github.com/OpenBazaar/go-ipfs
godep: not in manifest: github.com/OpenBazaar/go-ipfs
godep: error loading dependencies

I don't know what the error is but I would recommend against arbitrarily updating IPFS. Any rebase to a new version of IPFS will likely cause merge conflicts or cause things to break in OpenBazaar/go-ipfs.
Rebases need to be don't very carefully. Also, a rebase will almost certainly cause every gx import statement in openbazaar-go to break which will require manually updating every one.

I'm doing preparation work for an IPFS crawler, and the IPFS DHT code in openbazaar-go is outdated. It's been refactored in go-ipfs and I wanted to play with the latest version.

@cpacia mentioned that go-ipfs will be rebased for stable releases of go-ipfs.


[--same-dimensions | --no-same-dimensions]

Hi,
with version 0.3.3 all the nerf volumes from a Reality Capture alignment looked blurry, and I spent some time to realize the problem was related to the new downscaling process with images of different sizes and orientation
(-) If I process the images with this command [ns-process-data images --no-same-dimensions] the downscaling is correct, and the images with different orientation and sizes are scaled correctly (no stretching)
(-) If I process the images with this command [ns-process-data realitycapture --no-same-dimensions] the argument is not recognized, and I receive this message: error: unrecognized arguments: --no-same-dimensions
(-) If I process the images with this command [ns-process-data realitycapture] the images that have a different orientaton are stretched after downscaling
I solved the problem processing the data with version 0.3.2 (when I use Reality Capture), and training with version 0.3.3
Is there a way to add the new argument [--same-dimensions | --no-same-dimensions] when processing RealityCapture or Metashape data?

May I ask what is your RC version

Hi,
with version 0.3.3 all the nerf volumes from a Reality Capture alignment looked blurry, and I spent some time to realize the problem was related to the new downscaling process with images of different sizes and orientation
(-) If I process the images with this command [ns-process-data images --no-same-dimensions] the downscaling is correct, and the images with different orientation and sizes are scaled correctly (no stretching) (-) If I process the images with this command [ns-process-data realitycapture --no-same-dimensions] the argument is not recognized, and I receive this message: error: unrecognized arguments: --no-same-dimensions (-) If I process the images with this command [ns-process-data realitycapture] the images that have a different orientaton are stretched after downscaling
I solved the problem processing the data with version 0.3.2 (when I use Reality Capture), and training with version 0.3.3
Is there a way to add the new argument [--same-dimensions | --no-same-dimensions] when processing RealityCapture or Metashape data?

May I ask what is your RealityCapture version

Hi, I think it's the latest version
<IP_ADDRESS>899 RC Tarasque


is this lib thread safe?

@musicwei There are no globals, no local statics (except const).
So it should be thread safe.


Documentation tests don't move via #[cfg(test)]

Problem
Running cargo test doesn't do doc testing for documentation under #[cfg(test)]
Steps

///```rust
/// println!("test")
/// ```
extern "C" {}

#[cfg(test)]
mod A {
    ///```rust
    /// println!("test"
    /// ```
    extern "C" {}

    #[test]
    fn test() {
        println!("test")
    }
}

Output from cargo test:
running 1 test
test A::test ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

     Running target/debug/deps/test_cargo-81aed86b67506427

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

   Doc-tests test-cargo

running 1 test
test src/lib.rs -  (line 3) ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out

``

As you can see the first doc test is ran, the test in `A` also runs but the doc tests in `A` doesn't run

**Notes**

Output of `cargo version`:
`cargo 1.34.0 (6789d8a0a 2019-04-01)`
`rustc 1.34.1 (fc50f328b 2019-04-24)`

This just changed a few days ago (https://github.com/rust-lang/rust/pull/59940).  Can you try with the latest nightly and see if it behaves the way you want?

@ehuss Wow!, yes it seems that latest nightly solves this.
I'm sorry I missed it before.
(FYI Idk how the C-bug got there)
Thank you!

Sure, no problem.  The C-bug label is added by GitHub automatically based on which template you pick.  I'll close this for now since it seems to be fixed.


Change $gs.get_prop to take a thunk.

Instead of the current implementation of getters and setters where: a.b => $gs.get_prop(a, "b"), do the following: $gs.get_prop(() => a.b).
Doing this side steps the prototype binding issues with the current implementation.

This isn't going to fix anything. You're still aliasing the property access and calling the function on the alias, which loses the binding. The application needs to be made with .call to restore the binding. Closing this and leaving the other issue.


🇲🇹 Added metadata for Malta in integration

⬆ Agree - and indeed one of our OKRs this quarter is to make connecting countries easier


Support MySQL JSON

MySQL supports JSON fields since 5.7.8.
Your gem actually does support MySQL JSON fields at least for storage (I did not check querying).
So there is no need to restrict it to PostgreSQL-only

Hm, I wonder why I put that "require" in, I feel like I wouldn't have put it in unless it was needed to work.
If just removing the require makes things work for you -- and I can't figure out anything it breaks -- we can remove the 'require'.
I wouldn't want to actually document it as supported unless we had rspec tests for it. Which might meaning running most tests twice, once with pg and once with mysql, which might be a pain to figure out how to wet up. (The querying definitely won't work, you're right, but most of the storage ought to, yes.).

@jrochkind do I need to make any further changes to make it merged?

I'm a bit nervous about taking out the require, but let's try it if it helps you out!


what happens Bimodal is false? Is it just positive amplitudes?

https://github.com/abcucberkeley/opticalaberrations/blob/36a7dacd470b9254831a89bb5d0c752db0d865eb/src/allencell_dataset.py#L312

yup!


[BUG] Position already running

NeoVim Version
0.9.1
Describe the bug
i am using neotest-rspec, but when i try to call :lua require("neotest").run.run() the log showing error with message Position already running
To Reproduce
please check my nvim dotfile
Current config

Logfile

Please fill out the requested info. I'm not going to debug an entire neovim config and you haven't provided any information on how to run the test. I've never used Ruby before so have no idea how the environment should be setup.
The template also states to set the log level to debug and paste the logs, not paste a screenshot.
The more information you provide, the easier it will be to help debug the issue


Client Allocation Request for: Fit2cloud

Client Allocation Questions
Core Information

Name: Fit2cloud
Website / Social Media: https://www.fit2cloud.com/index.html
Region: Greater China
DataCap Requested: 10TiB
Addresses to be Notarized: f1tvmuf74imrzwhhsqthswfamxttqt32rtfqhakwq
Notary Requested: ozhtdong

@shantiviavince Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Request Approved
Your Datacap Allocation Request has been approved by the Notary
Message sent to Filecoin Network

bafy2bzaceamtakw5erzdcr6imhpsm4dabuxdmyqrzjvnxw2qfvwv2asaitcnq

Address

f1tvmuf74imrzwhhsqthswfamxttqt32rtfqhakwq

Datacap Allocated

NaNB

You can check the status of the message here: https://filfox.info/en/message/bafy2bzaceamtakw5erzdcr6imhpsm4dabuxdmyqrzjvnxw2qfvwv2asaitcnq


VC: Support VC CR specifying the Control Plane Namespace Name

This is open for discussion, but would it make sense to allow the VirtualCluster CR to have a field for spec.clusterNamespace something that it could use provision the tenant control plane into? What issues would this cause?
Throughout the code base it seems we have a conversion function https://github.com/kubernetes-sigs/multi-tenancy/blob/master/incubator/virtualcluster/pkg/syncer/conversion/helper.go#L52-L55 that will create the control plane namespace name, this is used heavily in the sync controller and I’m assuming elsewhere, it currently takes in the virtual cluster object and will sha256 of the UID and prefix/postfix with the original namespace and cluster name respectively, I’m thinking we could change this to have a generation function if one isn’t specified as well we could then change this to return the value stored in status.clusterNamespace.
I’m concerned about using the UID field in the namespace because this could be changed as we version the VirtualCluster CR for example if we create a v1beta1 and we set that as the stored resource I’m not certain that the UID will stay the same as it gets restored in etcd. This would also allow a virtual cluster user to specify their own scheme for managing cluster namespaces and help reduce the likelihood of control plane namespace + tenant namespace to extend beyond the Namespace field max length limits that we have to do in https://github.com/kubernetes-sigs/multi-tenancy/blob/master/incubator/virtualcluster/pkg/syncer/conversion/helper.go#L59-L62
wdyt?

/cc @Fei-Guo @charleszheng44

Are you suggesting to make spec.clusterNamespace as the prefix of generated name? otherwise, it is difficult to resolve ns conflict in super master.
Note that giving this flexibility will create the chance of ns conflict in super master. Tenant namespace can never be the prefix substring of another tenant namespace ( say tenant A uses "foo" and tenant B uses "foobar", tenant A cannot create ns "bar" in tenant master  ), even though appending random hash string after the ns name can help reducing the chance.
Current way of constructing the tenant ns name in super can maximally reduce the chance of ns conflict.
Currently, the tenant ns clean up is done asynchronously after vc-object is deleted. We can never assume the same name will not be used by another tenant, then we will have trouble for security. Also, this cannot help ns name limit since it may always happen as we use one ns space quota for two namespaces.
Overall, the tenant root ns name is very critical in syncer design. I don't think it is a good idea to offer tenant control for this.
With regard to whether UID is changed after version change, I have done a quick test and found the UID is not changed after changing the version from v1alpha1 to v1beta1.

Yes, I'm thinking the cluster namespace prefix. I'm assuming that we could technically enforce things like must be a unique namespace prefix using validating admission webhook.
The criticality in the syncer was my concern as well. The security aspects of not being able to reclaim someone else's NS after they deleted the cluster is a good point.
Thanks for checking on the UID field.
Closing this for now.
/close


[Test Failed] Flashing and Runtime Errors ESP32-C6-DevKitM-1 Lighting-App Example

Test issue(s)
Problem
I have followed all steps to configure and build the Matter lighting-app specifically for ESP32-C6 following the guide here. However, I encounter the following errors during the flashing process and runtime:
1. ESP32 Monitor Logs:

I (108680) NimBLE: GATT procedure initiated: indicate;
I (108680) NimBLE: att_handle=18
I (108740) chip[DL]: Confirm received for CHIPoBLE TX characteristic indication (con 0) status= 14
I (111220) CHIP[DL]: Write request received for CHIPoBLE RX characteristic con 0 16
I (113720) NimBLE: GATT procedure initiated: indicate;
I (113720) NimBLE: att_handle=18
I (113780) chip[DL]: Confirm received for CHIPoBLE TX characteristic indication (con 0) status= 14
I (116300) CHIP[DL]: Write request received for CHIPoBLE RX characteristic con 0 16
I (118800) NimBLE: GATT procedure initiated: indicate;
I (118800) NimBLE: att_handle=18
I (118910) chip[DL]: Confirm received for CHIPoBLE TX characteristic indication (con 0) status= 14
I (119360) chip[DL]: Write request/command received for CHIPoBLE TX CCCD characteristic (con 0 ) indicate = 0
I (119360) chip[DL]: CHIPoBLE unsubscribe received
I (119360) chip[BLE]: Releasing end point's BLE connection back to application.
I (121750) chip[DL]: BLE GAP connection terminated (con 0 reason 0x213)
I (121750) app-devicecallbacks: CHIPoBLE disconnected
I (121760) app-devicecallbacks: Current free heap: 192704

2. Linux terminal Logs:

[1719223801.303382][30626:30626] CHIP:CTL: Shutting down the System State, this will teardown the CHIP Stack
[1719223801.303416][30626:30626] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet
[1719223801.303487][30626:30626] CHIP:FP: Shutting down FabricTable
[1719223801.303538][30626:30626] CHIP:TS: Pending Last Known Good Time: 2023-10-14T01:16:48
[1719223801.303560][30626:30626] CHIP:TS: Previous Last Known Good Time: 2023-10-14T01:16:48
[1719223801.303563][30626:30626] CHIP:TS: Reverted Last Known Good Time to previous value
[1719223801.303659][30626:30627] CHIP:DL: Bluez disconnected
[1719223801.304403][30626:30627] CHIP:DL: Bluez notify CHIPoBluez connection disconnected
[1719223801.303704][30626:30626] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-2giA2p)
[1719223801.305017][30626:30626] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini)
[1719223801.305076][30626:30626] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0)
[1719223801.305082][30626:30626] CHIP:DL: Inet Layer shutdown
[1719223801.305085][30626:30626] CHIP:DL: BLE Layer shutdown
[1719223801.306361][30626:30626] CHIP:DL: System Layer shutdown
[1719223801.306752][30626:30626] CHIP:TOO: Run command failure: ../../examples/chip-tool/commands/common CHIPCommand.cpp:619: CHIP Error 0x00000032: Timeout

Additional Information
Configuration Details: I have  configured the build specifically for ESP32-C6 as per the documentation. (I'm using ESP32-C6-DevKitM-1)
Operating System: Ubuntu 22.04 running on a virtual machine.
Bluetooth Adapter: USB Bluetooth adapter is used for connectivity.
Logs: Detailed logs for both ESP32 monitor and Linux terminal are attached in a separate text file for detailed analysis.
log_monitor.txt
log_terminal.txt
Platform
esp32
Anything else?
No response

@dhrishi @shubhamdp

I have resolved the issue. The problem was caused by the virtual machine's NAT configuration, which was blocking the commissioning process. Changing the network setting to Bridged Adapter fixed the issue, and everything is now functioning correctly.


More than one activities require API client connection

Hi,
As recommended by Google, I was trying to connect to API client in onStart() and disconnect in onStop. However, the onStart() in Activity2 is called before the onStop() in Activity1, which causes the API client to be disconnected in Activity2.
I thought about simply not disconnecting API client in Activity1, but I'm worrying that if user kills the app in Activity1, would the API remain connected and end up causing memory issue or app crashing?
Is there a recommended way to resolve this issue?

"the onStart() in Activity2 is called before the onStop() in Activity1". Can you explain how this happens? I am a little confused.

I was referring to this page. Sorry, should have mentioned my question is regarding activity navigation.
https://developer.android.com/guide/components/activities/activity-lifecycle.html#soafa
Should I only connect API client when needed instead of keeping it alive with the activity? Then what if I require continuous GPS updates in two different activities?


Add volumetric flow rate value and add in water flow rate #688

Closes #688
Adds volumetric flow rate value with the definition "A volumetric flow rate value is a quantity value that has a volumetric flow rate unit as unit." and extends water flow rate by 'has quantity value' some 'volumetric flow rate value'. Deletes 'has unit' some 'volumetric flow rate unit' from water flow rate. If I did everyting right, that is :) This is my first implementation, so please have a closer look.

It would also be a nice addition to have an axiom for volumetric flow rate value that says it is a subclass of has unit some volumetric flow rate unit.

I added a term tracker item, updated the changelog and added the axiom to volumetric flow rate value that says it is a subclass of has unit some volumetric flow rate unit.

I only saw now that you made your changes mainly in the file oeo.omn instead of oeo-physical.omn.
@sfluegel05: What is the best way to move the changes into the right file?

I only saw now that you made your changes mainly in the file oeo.omn instead of oeo-physical.omn.
@sfluegel05: What is the best way to move the changes into the right file?

Oh, sorry about that. I was wondering how protégé deals with that. I thought since it's loading these ontologies from the original, it somehow knows what goes where, but it didn't come to mind again when committing (only) oeo.omn. To work on oeo physical specifically, I would need to just open oeo-physical? If there is no easy way to move this with git I can also recreate the whole procedure from scratch and remove the first changes. there weren't too many steps involved.

I usually first open oeo.omn. This imports and loads all other relevant files. Then I switch to the module I want to work on:

I guess the easiest way to solve this is to open the files in a text editor and just cut and paste the added part from oeo to oeo-physical.

Okay, I tried to operate all changes made to oeo.omn over to oeo-physical.omn which was a bit of a challenge and I hope everything was carried over. At least it still works in protege and I believe I caught all the changes from the diff.

The diff for the oeo-physical looks good now. However there are still some leftovers in the oeo.omn. I think these should be deleted manually. Do you agree, @sfluegel05 ?

Thanks for the clean-up and being patient with me!


Update buildifier to v6.4.0

Updated running zsh getshas.sh v6.4.0.
Also, on macOS, sha256sum does not seem to be shipped, so in that case, define it as an alias to shasum using the SHA256 algorithm.

re: the shellcheck CI failure, I would argue that the case here is exactly the one mentioned in "Exceptions" (conditional alias based on platform), so I think this should be allowed?
The mentioned fix (defining a function sha256sum() inline) does not work for me locally fwiw, but I'm also not a shell script expert.

Thanks, fixed the shell script in https://github.com/keith/pre-commit-buildifier/pull/23


[WIP] editing verification requests

TBD

hi @tortila  thanks for taking me through this on the call just now - I feel like I have a good understanding of the changes now, and the last few bits before we merge it in. Have a nice week away :)


Cursor is not aligned

/* html in vue */
<div class="container"  :class="`cm-s-${$store.state.theme}-code-wrap`" id="code-wrap">

/* js */
CodeMirror(document.getElementById('code-wrap'), {
	mode: 'text/html',
	lineNumbers: true,
	json: true,
	value: myData,
})
/* css */
.container{ width: 100%; height: 100%; }

The above is my code.
Just like the picture, when I click some place, the cursor is not aligned with my code.
I try to enter, and found where my cursor stay is not the code's place, but some strange place just like the follow.

How could this happened ?How to fix this ?

Have you tried calling the refresh method? In your vue instance you can call it after setting the CodeMirror value and during a resize event. e.g. this.$nextTick(() => cmInstance.refresh())

I try to add the options{inputStyle: 'contenteditable'},and it works well.
I think just because I render the CodeMirror with a
, but the inputStyle still textarea, the cursor rendered for the textarea.So Is this a little bug or I use it in wrong way?

This tends to happen when the layout of your editor changes after it is initialized, for example because a font finishes loading or its css changes. Calling refresh when the layout has stabilized is the recommended solution.


[BUG] DerivePartialModel attr entity not support syn::Path token

Description
DerivePartialModel will produce error when set entity as path::to::entity::Entity
Steps to Reproduce

prepare an Entity, using cake for example
define the partial model like following

#[derive(FromQueryResult, DerivePartialModel)]
#[sea_orm(entity="cake::Entity")]
struct CakePartial{
   .. // fields
}

get the macro error :

error: unexpected token
  --> src\service\child_statical.rs:48:45
   |
48 | #[derive(FromQueryResult, DerivePartialModel)]
   |                           ^^^^^^^^^^^^^^^^^^
   |
   = note: this error originates in the derive macro `DerivePartialModel` (in Nightly builds, run with -Z macro-backtrace for more info)

Expected Behavior
the macro should accept the entity as a Path token
Actual Behavior
The macro only accept Ident token
Workarounds

using the Cake in the src/entities/prelude ( the src/entities is the out put dir of the command sea-orm-cli generate entity)
using a local mod use the entity, like following

mod local_quiz {
            use crate::entities::quizes::Entity;
            use sea_orm::DerivePartialModel;
            use sea_orm::FromQueryResult;
            #[derive(Debug, FromQueryResult, DerivePartialModel)]
            #[sea_orm(entity = "Entity")]
            pub(super) struct Quiz {
                pub(super) qid: i32,
                pub(super) quiz: String,
            }
        }

Versions
????? sea-orm v0.12.12
??  ????? sea-orm-macros v0.12.12 (proc-macro)
??  ??  ????? sea-bae v0.2.0 (proc-macro)
??  ????? sea-query v0.30.7
??  ????? sea-query-binder v0.5.0
??  ??  ????? sea-query v0.30.7 (*)

A PR would be appreciated!

A PR would be appreciated!

Here is the pr to fix this bug #2137

A PR would be appreciated!

Here is the pr to fix this bug #2137


<EMAIL_ADDRESS>Download failed

Download failed!

I can see nothing changed with the resulting download link.
What I get when downloading it manually from their website is this:
https://nl2-dl.techpowerup.com/files/zExbNGfEY47Yf6N97tXIiQ/1636609014/NVCleanstall_1.11.0.exe
So nothing seems to be changed other than the fact that downloading creates a unique ID.
So far I haven't figured out how to circumvent this and make a static download link for use with Scoop.

What is the output of scoop config SCOOP_REPO?
Unable to reproduce. The link gives 404 in the browser, but on Scoop, it works:

Using the Shovel fork from @Ash258 here, but I'm not sure that's the reason.
Rather I've previously had applications not install cause I don't have Scoop in its usual spot; C:\Users<user>\scoop right?

https://github.com/ScoopInstaller/Extras/issues/6931#issuecomment-930429181


vscode: Inconsistent syntax highlighting inside

I found that syntax highlighting for JavaScript and CSS inside the <script> and <style>  tags are highlighted inconsistently. Code inside a function is highlighted properly, whereas the others are not.

Is templ currently does not support syntax highlighting for content inside <script> and <style>  tags or I misconfigured something?

I can look into this.

Opened a PR: https://github.com/templ-go/templ-vscode/pull/32.


[Error: Parse Error] bytesParsed: 215, code: 'HPE_INVALID_CONSTANT'

It occure when I use request to get data from depositphotos API: getMedia to purchase a image
var params = {
          "dp_command": "getMedia",
          "dp_apikey": "http://api.depositphotos.com",
          "dp_session_id": sessionId,
          "dp_media_id": mediaId,
          "dp_media_option": mediaOption,
          "dp_media_license": "standard",
          "dp_purchase_currency": "credits"
};

request.get({
  url: Stocksow.thirdParty['depositphoto']['url'],
  qs: params
}, function(err, res, body){
  if(err){
    console.log(err);
    callback(err);
  } else {
    console.log(body);
    callback(null, body);
  }
});

And I'll receive an error with
{ [Error: Parse Error] bytesParsed: 215, code: 'HPE_INVALID_CONSTANT' }
If I use PAW to make the same request, the raw data of response is below:
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 16 Jun 2016 09:46:18 GMT
Content-Type: application/json
Content-Length: 215
Connection: close
Content-Language: en
Set-Cookie: dEEn2wbX=jjliv080gqpb73l14kdaenuff7; expires=Thu, 23-Jun-2016 09:46:18 GMT; Max-Age=604800; path=/; domain=.depositphotos.com
Expires: Thu, 16 Jun 2016 09:46:18 GMT
Cache-Control: public, max-age=0
Last-Modified: Thu, 28 Apr 2016 12:18:24 GMT

{"timestamp":"2016-06-16 05:46:17","version":"1.3","type":"success","downloadLink":"http:\/\/depositphotos.com\/download_prepaid_file.php?id=xxxxxxxx","licenseId":12345678,"method":"credits"}

Can anyone give me a tip how to fix it?

Ahh, it happens for me too, can't really find a problem with the remote source though :(


Custom Class Can't Be Sync By [SyncVar]

Describe the bug
Custom Class Can't Be Sync By [SyncVar]
[IMPORTANT] How can we reproduce the issue, step by step:
here is my custom class

and I call this method to change data

However when call this method on server , client's playerData never changed expect the first time

If you want to change a value inside a sync class, you have to create new instance to sync it. Mirror syncs class object, not values of class, you should change class object. So finally, you have to call new() after change to sync. And also, Mirror recommends to use struct instead of class to prevent garbage collection.

thanks !


Context  with metadata

Add metadata to context.
ctx.meta = {
  user: 5
}

Coverage increased (+0.007%) to 99.618% when pulling 5be1717b14bf5e3ee1560ca9c802edafa16d5db3 on context-meta into f6319128998c7b20ba3ffbbfd51947ebdc5469d9 on master.


Could not find BSgenome Mmusculus.UCSC.mm10

I encountered error when I run trinucleotideMatrix
library("BSgenome.Mmusculus.UCSC.mm10")
ref="BSgenome.Mmusculus.UCSC.mm10"
trinucleotideMatrix(master_s, ref_genome=ref, prefix="", add=TRUE, ignoreChr="MT")
Could not find BSgenome Mmusculus.UCSC.mm10
Found following BSgenome installtions. Correct ref_genome argument if necessary.
1: BSgenome.Hsapiens.UCSC.hg19 Hsapiens     UCSC             hg19  FALSE
Error in trinucleotideMatrix(master_s, ref_genome = ref, prefix = "",  :

Any suggestions? Thanks

The mm10 package may not install correctly.
BSgenome::installed.genomes(splitNameParts only return hg19 in your case.

Yes, you don't seem to have mm10 genome installed.

I can see both of them:

BSgenome::installed.genomes()
[1] "BSgenome.Hsapiens.UCSC.hg19"  "BSgenome.Mmusculus.UCSC.mm10"

Hmm.. maftools version on Bioconductor doesn't support mouse genome. This has been fixed in recent updates.. Could you try installing from GitHub and see if it works for you ?


Interest in P9k Keycap?

This is the best way I have of getting word out to the community, so this is just a quick interest check:
I plan to place an order for a custom PBT dye-subbed DSA Cherry MX-stem keycap with the P9k logo printed on it as a colored legend. I was thinking probably as a 1x1.5, so I could use it as a TAB key, but I'm open to other options if people feel strongly about it.
Anyway, let me know if you have any interest in this! If only a couple of other people are interested, the price would be like $10 per cap, but if more come in it would obviously go down.

I'll get one! Got a render of it?

@DanielGGordon - I don't have a render, yet, but I'll see if I can get one! I might just order a bunch and hope that a few other people decide they want one later to bring down the cost per cap a bit.

I don't have an external keyboard, but I am still interested :)