Lock lost on double fork

When an app self detach, using double fork, or daemon, flock is lost, and anyone can re-attach database.
exemple:
initApp()
initLevelDb()
detach()
-> Anyone own the LOCK file
maybe with pthread_atfork() we can attach an callback to renew the lock.

Hi Antoine,
I recommend that you fork before opening leveldb (or actually initializing
any common libraries).
flock is only one of the potential problems.  Any mutexes in the program,
as well as all the invariants they protect would have to be fixed up in the
child process.  E.g., suppose somebody has a hash-table and a linked-list
that are updated in lock-step protected by a mutex.  The owner of that
library would also have to provide a pthread_atfork handler to fix things
up.
And pthread_atfork is very hard to use correctly in a program that is
composed of libraries written by different authors.  There is no
well-define order in which to grab locks across such libraries, so the
locks that would need to be acquired via pthread_atfork before forking
would be very prone to deadlock.
Some background reading:
http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them
http://stackoverflow.com/questions/6078712/is-it-safe-to-fork-from-within-a-thread
https://thorstenball.com/blog/2014/10/13/why-threads-cant-fork/
On Tue, Mar 7, 2017 at 2:20 AM, Antoine Aubert<EMAIL_ADDRESS>wrote:

When an app self detach, using double fork, or daemon, flock is lost, and
anyone can re-attach database.
exemple:
initApp()
initLevelDb()
detach()
-> Anyone own the LOCK file
maybe with pthread_atfork() we can attach an callback to renew the lock.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/google/leveldb/issues/455, or mute the thread
https://github.com/notifications/unsubscribe-auth/AHuM0cUSQJlx0rlHBji_fq22pZrKPyegks5rjS9igaJpZM4MVSjl
.

Thanks for your answer.
Unfortunately, in on particular project, I'm not able to initialize before fork. (by design)
As I understand, the "best" way can be:

open leveldb
do init stuff inside first pid
doublefork
closing leveldb previously opened in child
re-open a fresh leveldb in child process
use leveldb 👍

On Tue, Mar 7, 2017 at 9:28 AM, Antoine Aubert<EMAIL_ADDRESS>wrote:

Thanks for your answer.
Unfortunately, in on particular project, I'm not able to initialize before
fork. (by design)
As I understand, the "best" way can be:

open leveldb
do init stuff inside first pid
doublefork
closing leveldb previously opened in child
re-open a fresh leveldb in child process
use leveldb 👍

—

The preceding state leaves leveldb open in both the initial process, and in
the child process.  That is not allowed (a single leveldb database must
only be used by one process at a time).  The whole flock business is an
attempt to prevent such mistakes.
Perhaps the parent can close leveldb before it forks.  Though even then,
the general issues I mentioned about thread/fork apply.

You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/google/leveldb/issues/455#issuecomment-284795110, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AHuM0ebxlnenxUYWmyh14AuPYZbheBDqks5rjZO-gaJpZM4MVSjl
.

Thanks for your help. Solved


Feature request: more / refactored Onyx CLI commands

Regarding the Onyx CLI, please consider the following:

onyx init (instead of onyx package init):
Instead of first manually creating a new folder, cd'ing into it and then run onyx package init which more or less only touches ./onyx-pkg.kdl, simply use onyx init from the dev projects home folder to scaffold a new Onyx project. This is inline with for example bun init.

onyx add (instead of onyx package add):
See above.

onyx remove:
See above.

onyx install (instead of onyx package sync):
See above.

This leaves room for onyx package <sub_cmd>:
to deal with publishing packages, updating the (local) package indexer, etc.

onyx <cmd> --help:
To provide additional help information about CLI commands. (Running this in Onyx toolchain version v0.1.9 currently yields an error message.)

onyx upgrade:
To upgrade to the latest stable version from within the locally installed Onyx binary.

These new commands have been added, to a certain extent.
onyx add, onyx a, onyx remove, onyx rm, onyx sync, onyx self-upgrade, onyx <cmd> --help have all been added.
onyx init will be added later, as I have not decided if it should make a new directory or not. bun init actually does not make a new directory, so I'm not sure which way is better.

297cadc address adding onyx init and onyx new, so I'm going to close this issue.


Whether using GraphMatcher.subgraph_is_isomorphic() is correctly used

Hi！I see that GraphMatcher.subgraph_is_isomorphic() is used in data_real/generate_data_v1.py to check whether two graphs are subgraph isomorphic.
However, it seems that this function is only applicable for node-induced subgraphs, and the generated graphs are not node-induced subgraphs. So is there a problem with my understanding of this function, or is this function being used incorrectly?

Thank you for your insight. Your understanding is not wrong.
Actually, this repository focuses on identifying induced-subgraph isomorphism.
Thus, a subgraph that does not satisfy node-induced isomorphism is considered non-isomorphic in this case.

Thanks for you explanation.
However, if I understand it correctly, the subgraph generated by generate_data_v1 should also be node-induced non-isomorphic?

The generate_data_v1.py file is used to generate synthetic datasets for training.
There are two functions in this file, one for generating isomorphic and the other for generating non-isomorphic subgraphs.
Is this answer satisfied? If not, could you please provide me more details?

Sorry for not making it clear before.
I know that one of the functions (generate_iso_subgraph) in generate_data_v1.py is for generating isomorphic subgraphs. However, due to the operation of removing edges, the generated subgraphs,  I think, are also non-node-induced subgraphs. So it seems that the subgraphs generated by "generate_iso_subgraph" are also should be regarded as non-isomorphic subgraphs is this case? (But they are non-induced isomorphic subgraphs.)
I am not sure my understanding on "induced" and "isomorphic" is correct. If I have some misunderstanding, please correct me.

Oh, I see. That might be a bug in synthetic subgraph generation. I have fixed in the latest commit. Thank you so much.

 I'm glad to hear that the issue has been fixed in the latest commit.


Some questions about obtaining the model List

Hello, I would like to ask, whether the stable diffusion webui has an interface to obtain the models of vae, checkpoint, and lora

yes


Removed directory check for vcs detection

https://github.com/golang/go/issues/10322
Git uses a file (instead of a directory) for submodule repositories.

Sorry, we don't accept pull requests.
Please see https://golang.org/doc/contribute.html and send a Gerrit CL instead.


Add better error on export if chrome is not installed

Right now, you get something like:
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':kobwebExport'.
        at ... org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:147)
Caused by: java.lang.RuntimeException: Could not find chrome binary! Try setting CHROME_PATH env to chrome binary path.
        at com.github.kklisura.cdt.launch.ChromeLauncher.getChromeBinaryPath(ChromeLauncher.java:216)
        at com.github.kklisura.cdt.launch.ChromeLauncher.launch(ChromeLauncher.java:163)
        ...

It might be nice if export could immediately show a clear error message to users before even running Gradle if chrome isn't present. At least, maybe a try/catch around attempting to use Chrome in export code.

This is no longer an issue now that we delegate browser installation to Playwright.


Failed to parse JSON

DO NOT REMOVE OR SKIP THE ISSUE TEMPLATE

[X] I understand that I will be blocked if I intentionally remove or skip any mandatory* field

Checklist

[X] I'm reporting that yt-dlp is broken on a supported site
[X] I've verified that I have updated yt-dlp to nightly or master (update instructions)
[X] I've checked that all provided URLs are playable in a browser with the same IP and same login details
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched known issues and the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[X] I've read about sharing account credentials and I'm willing to share it if required

Region
Brasil
Provide a description that is worded well enough to be understood
yt-dlp crashs reporting json error.
Provide verbose output that clearly demonstrates the problem

[X] Run your yt-dlp command with -vU flag added (yt-dlp -vU <your command line>)
[X] If using API, add 'verbose': True to YoutubeDL params instead
[X] Copy the WHOLE output (starting with [debug] Command-line config) and insert it below

Complete Verbose Output
yt-dlp -U
Latest version<EMAIL_ADDRESS>from yt-dlp/yt-dlp
yt-dlp is up to date<EMAIL_ADDRESS>from yt-dlp/yt-dlp)

ERROR: [twitter]<PHONE_NUMBER>226491310:<PHONE_NUMBER>226491310: Failed to parse JSON (caused by JSONDecodeError("Expecting value in '': line 1 column 1 (char 0)")); please report this issue on  https://github.com/yt-dlp/yt-dlp/issues?q= , filling out the appropriate issue template. Confirm you are on the latest version using  yt-dlp -U

that is not complete verbose output


refactor var usage to const/let

Remove all var usage in the project and tests, and replace it with const/let usage. This PR touches a lot of files but the only changes in each file are to convert varto const or let, and to move the declaration of variables based on the new scope rules when necessary. This is part of the refactor updates mentioned in #378.

I updated the commit and reverted the changes to the tests. I forgot that let and const don't work in all cases in Node 4. :-)

Also, it might be worth looking into converting the tests to TS in another PR.


Adding extra configure_* methods.

I should probably add some tests for these before we merge.

Very nice! This will be a nice enhancement. I think tests should be straightforward: the three ways of configuring (via a Layer initialization argument, via config(), and via config_*()) should all result in the same output code.
The last piece of this is to make the code generation use this approach when possible. That also shouldn't be too difficult: it should be very similar to the way we enable keywords in the mark_*() methods currently.

OK I have added tests for everything and simplified the implementation. Waiting for travis now...

@jakevdp can you update the code generation to use the configure_* methods - no hurry.

Code generation update in #127


Stdout and Output file from rules differ. Neither can be consumed as input.

The output of the Rules API via the CLI can not be used as the input to the Rules API via the CLI.
> smartthings rules RULEID --output=RULEID.yaml
> smartthings rules:update RULEID --input=RULEID.yaml
[2021-02-18T13:07:37.646] [ERROR] cli - caught error Error: Request failed with status code 422: {"requestId":"4C153BEC-0CCB-42F6-92D0-ACC3E9C58FB6","error":{"code":"ConstraintViolationError","target":null,"message":"The request is malformed.","details":[{"code":"BodyMalformedError","target":"id","message":"Unknown field on line 1","details":[]}]}}
I guess that might be an API issue rather than specifically a CLI issue.
I also note that the standard output of smartthings rules ends with.
id: RULEID
status: Enabled
executionLocation: Cloud

The above is the same as the output of the API called directly. As mentioned it can not be consumed as input by the API with these lines present.
Howver the  RULEID.yaml is not the same as the standard output.
id: RULEID
status: Enabled
executionLocation: Cloud
locationId: LOCATIONID
locationName: LOCATION

That seems counter-intuitive.

This is indeed an issue across the SmartThings public API and not directly in the CLI. We have tested a number of other endpoints and they behaved inconsistently. We are planning to massage these cases as needed in the CLI and Core SDK (used by the CLI) going forward. The confusion with the location details being added to rule output is a good example where we could document the command better as well.


Implement a filter by dates

Needs to require moment's npm

all work perfect
good job

First there were bugs in filtering , now everything looks good, well done!


Update deployment to run migrations as a separate step

This PR adds support to run DB migrations as a separate step. In this PR I introduce a new Docker file that allows the migrations to run completely independent from the realm server (having a separate postgres workspace worked out really nicely).
In this PR I actually make running the migrations automatically a flag that we set on the command line. Keep in mind that we want our tests to use the latest schema (the tests run in their own DBs). This also extends to matrix tests too. I opted to let the local dev version of the app auto migrate as well since that seems to work pretty well for our current dev experience. we can make that an opt-in feature if we want, but I'm guessing that most devs will want auto-migrate. it's one less thing to have to troubleshoot when things break (disabling auto migrate in your dev env is also quite simple). The hosted env's, though, do not auto migrate, and instead rely on the newly introduced migration deployment step for their migrations.
This PR depends on the infra PR https://github.com/cardstack/infra/pull/559 which provides an ECS service for the pg migration script to run in that is independent of the realm server.
As part of this I found a bunch of issues when we separated out the postgres workspace from the realm server in that specifically the migration related scripts in the realm-server workspace didn't work anymore. those actually needed to move over to the postgres workspace. I also had to tweak the drop-all-dbs to work using the new postgres workspace, which i renamed to full-reset to be more clear what it actually does.
TODO:

[x] Deploy infra PR to staging
[x] Deploy infra PR to production
[ ] Test deploy in staging with a silly DB migration  (not sure if GH will pick up a change to the deployment workflow in a feature branch, in which case the test might have to happen after this is merged)

Let’s see it in action!

infra has been deployed to staging and prod, and I confirmed the new boxel-pg-migrate ECS service is running. feel free to give it a shot. like i said, I'm not too sure that the workflow updates will be picked up outside of the main branch.

I think you’re right about this PR’s workflows not being used in deployment but I’ll try it to confirm.

It’s happening 😆 I’m honestly always unsure

Ah, I see an error in the docker image:
/bin/sh: 1: ./node_modules/.bin/node-pg-migrate: not found

the migration script is now running succesfully in staging:


feat: single remove cl position and sfs new position msg

Background
Right now if a user wants to make a full range CL position a sfs position, the frontend does a multi message to remove the cl position, then calls the create full range position and sfs stake message. The problem is, the frontend can't know what the slippage will be on the position removal. Its usually small on the order of 1 unit, but we can't assume, and if we do then its possible the user will be left with one unit of an asset which is anoyying.
Suggested Design
Create a message that calls both of these messages in one. It uses whatever the output of the position removal as the position creation.
Acceptance Criteria
Message created and tested on localosmosis.

Can we have a high-level design based on the current architecture?


How to handle Clean arthitecture multiple databases

As I understand, repositories are in infrastructure project. So I planning to refactor my project and I want to be sure about place of repository logics.
In my case, I have 2 relational databases, one bigdata and one cache. So, in my case if data is in cache, I got it from cache. If not, I got relational db and put the cache and return data. It is inside in Business Logic. However, in my old project, usage of this layer has some disadvantages.
I try to understand how to clean arthitecture handle it?

All of those are examples of infrastructure. Accessing each one should be in a separate class (or classes) in the infrastructure project. Let's say you have an entity Customer and Customer gets stored in either a SQL Server or it could be cached in Redis. Then you might have an interface ICustomerRepository and in Infrastructure an implementation called EfCustomerRepository or SqlCustomerRepository to access the relational db. And then another separate class implementing the same interface called RedisCustomerRepository that would check the Redis cache first, and then delegate to another ICustomerRepository (following the CachedRepositoryPattern I've described at length on ardalis.com).
If you had still more places you might persist data to/from, they would also be separate classes of the same (or maybe other) interfaces. In some cases it might make sense to have multiple Infrastructure projects, but I don't usually do this unless it gets large and cumbersome.
Does that help?

@ardalis I looked for the CachedRepositoryPattern on your site and couldn't find it. Could you provide a link?

https://ardalis.com/building-a-cachedrepository-in-aspnet-core

Closing as this seems to be answered. Let's open up another issue if there are further questions.


 Is there a way that the lipgan can be used in real time and create something like a talking avatar that uses text to speech live? Any help will be valuable

I guess real-time is a subjective term and it varies for each problem. For LipGAN, we will need at least a 350 ms audio window and an identity frame with the target head-pose for the model to work. So as long as you can feed a 350 ms audio window and a face with the target pose continuously the model is good to go in theory. The output from the model itself takes some time to generate. The major time-consuming steps that can be avoided in your case are -

Face detection. You can provide an already cropped face to the model.
You should also load the weights only once and then continuously feed the audio chunks.
Some sort of a data buffer can be created wherein you feed the audio and the face in batches, i.e. while one batch is being generated, you create the next batch.

All these can reduce the time taken to generate the output significantly.

@Rudrabha thank you very much for you're response in such a short time

@Leonthegamer12 I built one , feel free to have a look :
https://www.twitch.tv/aipictures

@Leonthegamer12 I built one , feel free to have a look :
https://www.twitch.tv/aipictures

Sorry but is there a way that you can share the code with me. There's a very similar project im working on and it would be very helpful.

@chikiuso that is really cool :) Does it use LipGAN?

@chikiuso that is really cool :) Does it use LipGAN?

@chikiuso of course and you're source code would be very helpful

@Rudrabha thanks! and thank for your great work. I did use LipGAN in this twitch channel , I will cite your great project in my website ai.pictures as twitch panel is too small to show the paper name :)
@Leonthegamer12 the twitch channel code is composed of several recent major advancements in nlp, voice synthesis and LipGAN etc, now the code is really quite in a mess, I may be open it after I tidy it up and write some documentation, as now the installation and setting of the server is now too too complicated.

@chikiuso Thanks!

@Rudrabha thanks! and thank for your great work. I did use LipGAN in this twitch channel , I will cite your great project in my website ai.pictures as twitch panel is too small to show the paper name :)
@Leonthegamer12 the twitch channel code is composed of several recent major advancements in nlp, voice synthesis and LipGAN etc, now the code is really quite in a mess, I may be open it after I tidy it up and write some documentation, as now the installation and setting of the server is now too too complicated.

I dont want the whole project. All i want is the part of the code that makes LipGan work in Real-Time as im having some problems there. I'll figure the rest by myself.


Nothing happens after clicking 'Show in Folder' in the activity of the downloading one file with a whitespace name

Storage Explorer Version: 1.19.0
Build Number: 20210416.2
Branch: main
Platform/OS: Windows 10/Linux Ubuntu 16.04/MacOS Catalina
Architecture: ia32/x64
Regression From: Not a regression
Steps to Reproduce

Expand one storage account -> File Shares.
Open one file share -> Right click one file -> Click 'Clone…'.
Use whitespace as the new name to clone the file.
Download this cloned file -> Click 'Show in Folder' in the Activities.
Check whether the destination File Explorer pops up.

Expected Experience
The File Explorer pops up.
Actual Experience
Nothing happens.
Additional Context

This issue doesn't reproduce for one blob.
An error pops up when opening this file.

Verified on build main/20210507.3. This issue has been fixed. So we close it.


[Request publisher change] Codeunit 1012 "Job Jnl.-Post Line", OnAfterRunCode() IncludeSender

Currently it's not possible to call the global procedure CreateJobLedgEntry() because it relies on global variables (e.g. NextEntryNo and JobReg).
We need to call this procedure from subscribers for two reasons:
a) We extended the Type Enum of Job Journal Lines and need to post job ledger entries accordingly
b) We need to replace PostItem() functionality and call CreateJobLedgEntry()
Please change the publisher like this:
[IntegrationEvent(true, false)]
local procedure OnAfterRunCode(var JobJournalLine: Record "Job Journal Line"; var JobLedgEntryNo: Integer; var JobRegister: Record "Job Register"; var NextEntryNo: Integer)
begin
end;

Thanks!

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.


Table Tags Being Stripped

Maybe I just don't understand everything under the hood here, but I am trying to use the html
 tag, in an html-enabled bootsy content area.
Here's my field setup:
= f.bootsy_area :content, editor_options: { link: true, html: true }, rows: 20, required: true

It's showing me HTML editing just fine:

But when I go to paste my table html (below), it coverts all the tags to span tags:

Here's my table HTML:

Normal	Potential Early Alzheimers Disease*

Can’t find your keys	Routinely place important items in odd places, such as keys in the fridge, wallet in dishwasher

Search for casual names and words	Forget names of family members and common objects, or substitute words with inappropriate ones

Briefly forget conversation details	Frequently forget entire conversations

Can’t find a recipe	Can’t follow recipe directions

Feel the cold more	Dress regardless of weather, wear several skirts on a warm day or shorts in a snow storm

Make an occasional wrong turn	Get lost in familiar places, don’t remember how you got there or how to get home

Feel occasionally sad	Experience rapid mood swings, from tears to rage, for no discernible reason

* Please consult with a physician if you believe you may be experiencing these symptoms.

Does Bootsy not support the Table tag? Am I doing something wrong? I've implemented WYSIWYG elsewhere using different approaches without this problem. ( https://github.com/Nerian/bootstrap-wysihtml5-rails )

Hi, thanks for using Bootsy!
Can you try it on the latest master? Also, make sure to whitelist all HTML tags and attributes you want via parser options.

That did it! Thank you!


[SMALLFIX] Extract create UfsBaseFileSystem for extension

What changes are proposed in this pull request?
Extract the logic to create UfsBaseFileSystem into FileSystemContext, for possible extension. This change is functionally a refactor that changes nothing.

alluxio-bot, merge this please


Refactor catalog, add API Card component

Closes #176
Closes #180
Related to #162
Changes

Reorganize templates

Rename API Catalog
Create API Card

Cleanup

Remove unneeded styles, where possible
Use semantic markup, where possible
Semantic publicaiton/subscription name
Semantic template helpers

Changes to routes

API Catalog (now '/apis')
Add API form (now '/apis/new')

Known issues

Template i18n tokens need to be updated to match new template names (after translation task for this sprint to avoid conflicts)

@brylie Reviewing

@brylie Change router for Sign out case. Not it redirects to 'catalogue' path

@brylie Also create separate issue for udated i18n tags and link with current issue

@brylie Merge it


Add goverment website banner

Description
Adds the banner to the top of the page explaining that it is a government website. This did make me notice that the header is too short on mobile so I filed https://github.com/civiform/civiform/issues/7895

Checklist
General
Read the full guidelines for PRs here

[x] Added the correct label: < feature | enhancement | bug | under-development | dependencies | infrastructure | ignore-for-release | database >
[x] Assigned to a specific person, civiform/developers, or a more specific round-robin list
[x] Added an additional reviewer from outside your organization as FYI (if the primary reviewer is in the same organization as you)
[x] Created unit and/or browser tests which fail without the change (if possible)
[x] Performed manual testing (Chrome and Firefox if it includes front-end changes)

User visible changes

[x] Followed steps to internationalize any new strings

[x] Added context strings to new messages
[x] Didn't use a message in applicant facing code that isn't translated yet (unless behind a flag)

[x] Wrote browser tests using the validateAccessibility method
[x] Tested on mobile view. See mobile device mode
[x] Manually tested at 200% size
[x] Manually evaluated tab order

New Features

[x] Conditioned new functionality on a FeatureFlag
[x] Wrote browser tests with the feature flag off and on, etc.

Issue(s) this completes
Fixes #7772

#7896  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @greg-hyde and the rest of your teammates on  Graphite

Just a question: is it possible to take screenshots that intentionally exclude the banner (and header/footer?)
I think screenshot tests should focus on the content being tested. Including the banner in every test means that any minor change to the banner will result in us having to regenerate all the screenshots.

For the whole page tests, I think it's important to include them. In my mind, stuff like that is exactly what full page screenshots are for. I've narrowed the question type screenshots, but they annoyingly vary by 1 px in height (see https://github.com/civiform/civiform/issues/7809)

@greg-hyde We could look into adjusting the maxDiffPixelRatio if it ever becomes a problem. Right now it's 0 so it has to be a perfect match.

@greg-hyde We could look into adjusting the maxDiffPixelRatio if it ever becomes a problem. Right now it's 0 so it has to be a perfect match.

I looked into that a bit. At least at Google, it's generally not recommended because then you'll miss a small real change. But if we find the churn more annoying than potentially missing something, we can do it

Confirming that this works as expected when toggled as well (like below)? May be worth adding a test for that too if it doesn't exist.

Added a test to header.test.ts :)

Confirming that this works as expected when toggled as well (like below)? May be worth adding a test for that too if it doesn't exist.

Added a test to header.test.ts :)

Thank you!!


Default to double-float ABI on RISC-V Linux

This is the default ABI used by GCC and rustc on linux (https://github.com/rust-lang/rust/blob/4007d4ef26eab44bdabc2b7574d032152264d3ad/src/librustc_target/spec/riscv64gc_unknown_linux_gnu.rs#L20).

Also RISC-V ELF psABI documentation says that the default ABI is always double-float: https://github.com/riscv/riscv-elf-psabi-doc/blob/master/riscv-elf.md#default-abis
Maybe we can only use soft-float ABI for *-none-* target?

Also there is riscv64gc-unknown-none-elf target and riscv32imafdc-unknown-none-elf target that supports hard float. Should we default to double-float for these target in rustc?

I'm not personally too familiar with the various naming conventions around the riscv targets, but I'm happy to merge PRs to incrementally improve support!

Now a new cc version should be released to crates.io?

Sure thing, done now!


Maximum call stack size exceeded when realityDataAccess is supplied

The viewer doesn't work anymore when realityDataAccess is supplied :
const realityDataAccessClient = useMemo(
    (): RealityDataAccessClient => {
        const realityDataClientOptions: RealityDataClientOptions = {
            baseUrl: "https://" + process.env.IMJS_URL_PREFIX + "api.bentley.com/realitydata",
            authorizationClient: authClient
        };
        return new RealityDataAccessClient(realityDataClientOptions);
    },[authClient],
);

<Viewer
    authClient={props.authClient}
    blankConnection={{
        name: "Test",
        location: Cartographic.fromDegrees({longitude: -75.686694, latitude: 40.065757, height: 0}),
        extents: new Range3d(-1000, -1000, -100, 1000, 1000, 100),
        iTwinId: process.env.IMJS_PROJECT_ID
    }}
    enablePerformanceMonitors={false}
    realityDataAccess={props.realityDataAccessClient}
/>

Removing
authorizationClient: authClient
from reality data access client initialization seems to fix the error.
Environment :
@itwin/web-viewer-react version: 3.1.1
iTwinJs : 3.4.6
Might be related to #224 ?

Update :
Doesn't work since 3.0.9

Guess this line broke it, https://github.com/iTwin/viewer/pull/218/files#diff-8d5aa7547013bfbb02cb24d8c6699445fc2e85755643b78510d8c47db1e83ee0R163
This is definitely related to #224 as well, with this change https://github.com/iTwin/viewer/pull/218/files#diff-8d5aa7547013bfbb02cb24d8c6699445fc2e85755643b78510d8c47db1e83ee0R158


Issue108 daily functions

#108
This is basically a backward-compatible implementation. But I’d really like to get rid of that split_by_day function. We don’t need it anymore for these functions and I think we can use Pandas more efficiently in other circumstances.
I’d also like to make these two functions more generic, because now the only difference is min and max. But again this is for backwards compatibility.

Good work, I think these are correct simplifications. I didn't yet take time to integrate the min and max functions, so you took a step back and that's good!
These min and max are atm only used in the caching mechanisms, so we should also adapt these and then the backwards compatibility is solved.
We have a unittest for split_by_day.  We could get rid of the split_by_day function and adapt the test to become a test of the daily_min and daily_max functions.  OTOH, we should dissect our required functionality in such way that things are reusable.  That was the original reason for separating the split_by_day from the analysis functions.  If we keep on repeating the same line in our analysis methods to slice dataframes in a specific way, a sub-function is useful.
When you are finished, I'll look at the pull request as a whole and adapt the caching on it. Let me know when you stop working on this so we avoid merge conflicts.

At first I thought to just remove the split_by_day function, because I believe there will always be a way to do an analysis without having to resort to splitting a dataframe up in subframes and working with lists of dataframes. Pandas is super powerful in this regard and we should exploit that.
That being said, split_by_day is still a useful function, so I have rewritten it to use some built-in filtering and grouping, which should be faster and is more readable.
I think I'm finished with this issue, so please review it. I have tested it in the notebooks, works fine for me. Caching should be faster too I recon ;-)

ok, I'l lhave a look now.
The main caching cpu time comes from fetching the data from tmpo.  One day
we'll have to attack that issue too :-(  But not a priority now.
On Thu, Feb 25, 2016 at 3:59 PM, Jan Pecinovsky<EMAIL_ADDRESS>wrote:

At first I thought to just remove the split_by_day function, because I
believe there will always be a way to do an analysis without having to
resort to splitting a dataframe up in subframes and working with lists of
dataframes. Pandas is super powerful in this regard and we should exploit
that.
That being said, split_by_day is still a useful function, so I have
rewritten it to use some built-in filtering and grouping, which should be
faster and is more readable.
I think I'm finished with this issue, so please review it. I have tested
it in the notebooks, works fine for me. Caching should be faster too I
recon ;-)
—
Reply to this email directly or view it on GitHub
https://github.com/opengridcc/opengrid/pull/109#issuecomment-188822131.

Jan, if we solve the backward compatibility, do you agree to remove the daily_min and daily_max functions entirely? Your daily does the job now.  We can maybe rename daily to daily_aggregation ?

You might want to check out #110 first then. It is an implementation of that Analysis class we talked about in #94.


feat(dev): #70 add dev validate cmd

Closes: #70
Depends on: #325
Whats Changed

create cmd/dev/validate

create test/e2e/dev_validation_test

[ ] update docs

For me, the nice-to-haves:

If I could pass an "expected result" such as --expected-result=False and have a return that tells me if the validation output is the same
If it could return a structured error on the validation.yaml being the wrong format. Right now I think the unmarshaling just fails, it would be nice if that was caught and returned as a structured output
I'm not sure if it fails if required fields are missing from the yaml? but that would be good as well

Linting Resource-rule:

version and resource are required in resource-rule
namespaces should be included if name is
if field is specified, there should also be a name


Ability to use with static image assets

For example public/hello.jpg.

This one probably can be closed as https://github.com/area17/twill-image/blob/1.x/src/Models/StaticImage.php this class can be used as TwillStaticImage::make(['file' => 'public/hello.jpg.'])

Yes, thanks @AidasK !


Add Jupyter Notebook example for signing and verifying a model

Closes #169
Summary

Help make it easier to incorporate signing and verifying models into notebooks. To test, install Jupyter Notebook and run it locally inside the model_signing directory containing the notebook:
cd ./model-transparency/model_signing
jupyter notebook

Then open the sign_and_verify_model.ipynb notebook and execute it. Note that certain steps are interactive and the execution will halt at various cells waiting for input from the user.
Release Note

Documentation

Thank you for the PR and the issue.
I'll take a closer look, but overall, this looks like it extracts parts of the CLI code into notebook cells and makes the notebook be the driver for signing. Please correct me if I was wrong, I only skimmed through this right now.

Yes, that's correct!

We are working on making a library for signing so people don't need to copy code, just call an API.

Where is this work happening? Happy to help in any way I can.

We are working on making a library for signing so people don't need to copy code, just call an API.

Where is this work happening? Happy to help in any way I can.

See https://github.com/sigstore/model-transparency/issues/172 https://github.com/sigstore/model-transparency/pull/188 and https://github.com/sigstore/model-transparency/pull/190


Transfer to another simulation

Has anyone try to transfer VoxPoser to another simulation (like gazebo) and use ROS to communicate? I think this is the first step to deploy VoxPoser on our own embodiment. If someone is doing the same work, we can exchange ideas!

I am trying to simulate in NVIDIA Isaac Sim, if you are interested, wo can exchange ideas

I am currently replicating the work of VoxPoser on a real robotic arm, but I feel that I haven't fully understood it yet. If you are interested, we can exchange ideas.

I am currently replicating the work of VoxPoser on a real robotic arm, but I feel that I haven't fully understood it yet. If you are interested, we can exchange ideas.

I am trying to simulate in NVIDIA Isaac Sim, if you are interested, wo can exchange ideas

I am currently replicating the work of VoxPoser on a real robotic arm, but I feel that I haven't fully understood it yet. If you are interested, we can exchange ideas.

Maybe we can set up a WeChat group and exchange ideas there! My WeChat ID is Keith-Luo20040123.


Issue with any version above 2.2.0

Hi!
I've got issues with the lib if using any version above 2.2.0, starting with 2.3.0.
FOA the text in EditText looks like it has gravity top (2.2.0 - everything is ok) and if I tap the editbox the text vanishes like its textcolor becames white on white bg editText but the bigger issue gere - no keyboard appears so I'm unable to enter any text into editText.
Also buttons starts ignoring gravity of its text, so the text label with v 2.2.0 is centered but if I switch to 2.3.0 text appears at left instead.
You could see the diff here - http://prntscr.com/akfos1
The same applies to latest 2.50 version.
I don't use appCompat.v7 in my app but olny support.v4 of 23.1.1 version. However adding appcompat.v7 lib to build.gradle does not change anything. EditText are locked from entering text and almost every TextView/EditText looks like it has gravity top. Every single layout appears broken and looks strange...

Are you sure? I have a text is always in the middle, and the input is not locked. (RobotoTextView 2.5 & Android 6.0.1).
<FrameLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <com.devspark.robototextview.widget.RobotoEditText
        android:id="@+id/edt_text"
        android:layout_width="match_parent"
        android:layout_height="100dp"/>

</FrameLayout>

@stan-ko try to test on sample project.

Like I'd said I do not use AppCompat support lib in my project and to get issue I need only 1 thing to do - change the version of your lib in my build.gradle and nothing more. Here is my build.gradle, maybe you will see something conflicting setting you know:
buildscript {
    repositories {
        maven { url 'https://maven.fabric.io/public' }
    }

    dependencies {
        classpath 'io.fabric.tools:gradle:1.+'
    }

}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'

repositories {
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
    maven { url 'https://maven.fabric.io/public' }
}

android {

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
    compileSdkVersion 23
    buildToolsVersion '23.0.2'

    defaultConfig {

        minSdkVersion 10
        targetSdkVersion 16
        ndk {
            moduleName "Superpowered"
        }
        versionCode 15
        versionName "3.5 dev"
    }
    sourceSets.main {
        jniLibs.srcDir 'src/main/jniLibs'
        jni.srcDirs = [] //disable automatic ndk-build call
    }
    buildTypes {

        debug {
            buildConfigField "Boolean", "DEBUG_MODE", "true"
        }

        release {
            buildConfigField "boolean", "DEBUG_FLAG", "false"
            apply plugin: 'idea'
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
}

crashlytics {
    enableNdk true
    androidNdkOut 'src/main/jniLibs'
    androidNdkLibsOut 'src/main/jniLibs'
}

dependencies {
    // Crashlytics SDK Kit
    compile('com.crashlytics.sdk.android:crashlytics:2.5.2@aar') {
        transitive = true;
    }
    // Crashlytics NDK Kit
    compile('com.crashlytics.sdk.android:crashlytics-ndk:1.0.0@aar') {
        transitive = true
    }
    compile fileTree(dir: 'libs', include: ['*.jar'])

    // Google support Libraries
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.android.support:design:23.1.1'
    // Google f-g play services
    compile 'com.google.android.gms:play-services:4.2+'
    // Google GSON/JSON
    compile 'com.google.code.gson:gson:2.6.2'
    // EventBus
    compile 'de.greenrobot:eventbus:2.4.0'
    // OK HTTP + Retrofit
    compile 'com.squareup.okhttp:okhttp:2.0.0'
    compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'
    compile 'com.squareup.retrofit:retrofit:1.9.0'
    // Camera Utils (available on github)
    compile project(':camera_utils')
    // cool cropper! based on 'com.edmodo:cropper:1.0.1'
    compile project(':cropper')
    // rounded/circle ImageView
    compile 'de.hdodenhof:circleimageview:1.2.2'
    // Images loading lib
    compile 'com.github.bumptech.glide:glide:3.7.0'
    // Roboto font TextViews
    compile 'com.github.johnkil.android-robototextview:robototextview:2.2.0'
    //Swipe layout
    compile 'com.daimajia.swipelayout:library:1.2.0@aar'
    // lib Phone Number formatter
    compile 'com.googlecode.libphonenumber:libphonenumber:7+'
    // StanKoUtils - a set of helper utils and tools
    compile 'com.github.stankoutils:app:1.3.3'
    // FAB
    compile 'com.melnykov:floatingactionbutton:1.3.0'

    //gif animation
    //compile 'pl.droidsonroids.gif:android-gif-drawable:1.1.11'
}

and here is a button which has gravity change issue:
        <com.devspark.robototextview.widget.RobotoButton
            android:id="@+id/btnLogin"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/btn_common_blue_selector"
            android:padding="@dimen/padding_6"
            android:text="@string/login"
            android:textColor="@color/dark_gray"
            android:textSize="@dimen/text_size_button"
            app:textWeight="medium" />

nothing really special (wrapers are RelativeLayout and LinearLayout, no SwipeLayout or any other custom layout),
And the EditText:
            <com.devspark.robototextview.widget.RobotoEditText
                android:id="@+id/editEMail"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:background="@color/white"
                android:drawableLeft="@drawable/ico_mail"
                android:hint="@string/login_hint"
                android:inputType="textEmailAddress"
                android:paddingBottom="@dimen/editText_paddingTopBottom"
                android:paddingTop="@dimen/editText_paddingTopBottom"
                android:textSize="@dimen/text_size_edit_text" />

And there is nothing special here too.
Also I can't apply AppCompat since it breaks colors in my app if extending AppCompatActivity.
Also here is my styles:
<resources>

    <!--
        Base application theme, dependent on API level. This theme is replaced
        by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
    -->
    <style name="AppBaseTheme" parent="android:Theme.Light">
        <!--
            Theme customizations available in newer API levels can go in
            res/values-vXX/styles.xml, while customizations related to
            backward-compatibility can go here.
        -->
    </style>

    <!-- Application theme. -->
    <style name="AppTheme" parent="android:Theme.Light.NoTitleBar">

        <!-- All customizations that are NOT specific to a particular API-level can go here. -->
        <item name="android:windowNoTitle">true</item>
        <item name="android:windowBackground">@color/main_blue</item>
    </style>

you don't need to extend AppCompatActivity, only change theme to Theme.AppCompat. This solves the problem.

You are right, its not about AppCompatActivity. Actually changing theme to Theme.AppCompat is the main problem to me,

I'll try to rebuild the project without appcompat.

https://oss.sonatype.org/content/repositories/snapshots/com/github/johnkil/android-robototextview/robototextview/2.5.1-SNAPSHOT/

How to use in gradle:
repositories {
    jcenter()
    maven {
        url "https://oss.sonatype.org/content/repositories/snapshots"
    }
}

dependencies {
    compile 'com.github.johnkil.android-robototextview:robototextview:2.5.1-SNAPSHOT'
}

Thanx, that 2.5.1-SNAPSHOT has no issues ) Would you include this fix in official 2.5.1 version or this will be only SNAPSHOT build?

yes, in near future)


Switch to docs.asciidoctor.org domain

Currently, this site is being deployed to a temporary domain on Netlify. The Netlify domain should only be used for deploy previews. The main site should run on docs.asciidoctor.org. Since this domain is not currently in use, we can provide early access to it, even before asciidoctor.org/docs redirects to it.

I added docs.asciidoctor.org to the DNS zone file and pointed it at Netlify (using an A DNS record).
I also set up Travis CI to trigger the Netlify build daily. (This was previously being done by the asciidoctor.js build, but that can now be removed. cc: @Mogztter)
All that's left is to add the custom domain in the Netlify configuration, click through to enable HTTPS, and force HTTPS. That takes about 5 minutes. Then, docs.asciidoctor.org will be live. I'll hold off on doing that until the content is ready.

Completed as part of #27 and by c15162d488461b358ad4087d8e5fe7e98a21b188 and 17292b5ec0406b2dcb975daecad005fdcfd8981f.


Fix 0.4 deprecation

This one managed to hide from the v0.4 updates.
The warning message gets annoying after a while :)

A new version needs to be tagged.  (I can't do this right now.)

Just a reminder if you still want to tag this to fix the deprecation.


[Workflow] Add options parameter to workflow start method

Describe the feature
This proposal applies to the DaprWorkflowClient.ScheduleNewWorkflowAsync method, which is specific to the Dapr Workflow engine. It doesn't apply to DaprClient.StartWorkflowAsync, which is the "building block" API that is engine agnostic.
The current signature looks like this:
public Task<string> ScheduleNewWorkflowAsync(
    string name,
    string? instanceId = null,
    object? input = null,
    DateTime? startTime = null)
{
    // ...
}

As an aside, Dapr Workflow doesn't currently support the startTime parameter, so this needs to be removed

However, it should ideally be changed to better align with Microsoft's Azure SDK guidelines for clients since those guidelines represent general best practices and many .NET developers will find them familiar.
Since this method could be considered complex, or could turn into a complex method, it should be changed to look something like this:
public Task<string> ScheduleNewWorkflowAsync(
    string name,
    ScheduleWorkflowOptions? options = default)
{
    // ...
}

public class ScheduleNewWorkflowOptions
{
    public string? InstanceId { get; set; }
    public object? Input { get; set; }
    // start time
    // ID reuse/conflict policy
    // workflow tags
    // etc.
}

This should be done for the beta release since it's a breaking change and likely represents the path forward.
Release Note
RELEASE NOTE: UPDATE New (breaking) method signature for starting workflows

My 2c
public class ScheduleNewWorkflowOptions
{
    public string? InstanceId { get; set; }
    public object? Input { get; set; }
    // start time
    public ReusePolicy reusePolicy { get; set; }
    // workflow tags
    // etc.
}

public class ReusePolicy
{
    public WorkflowState[] PermittedStates { get; set; }
    public OnPolicyViolation PolicyViolationAction { get; set; }
}

public enum WorkflowState
{
   Pending,
   Running,
   Completed,
   Failed,
   Paused,
   Terminated
}

public enum PolicyViolationAction
{
   Silent / Skip / Supress,
   Throw
}

The default behaviour when ScheduleNewWorkflowOptions has not been specified would be the equivalent of :
new ScheduleNewWorkflowOptions
{
    ReusePolicy = new ReusePolicy
    {
        // No reuse, therefor maximum safety against accidentally rerunning a
        // workflow and performing potentially duplicate / undesirable side-effects
        PermittedStates = {},

        // Maximum awareness to devs/operators that re-use is not occurring by
        // throwing, they can choose to suppress if this is noisy
        OnPolicyViolation = PolicyViolationAction.Throw
    }
}

The Exception thrown by PolicyViolationAction.Throw can be polite and hint to the dev/operator that supression options are available and the allowed Reuse states can be specified.
InvalidOperationException : Reuse of this workflow instance ID is not permitted. Specify a custom 'ReusePolicy' to alter the conditions that reuse is permitted, and how policy violations are handled.

For @Clintsligner use-case, the option would be :
   daprWorkflowClient.ScheduleNewWorkflowAsync(
      name : ...,
      instanceId : ...,
      reusePolicy : new ReusePolicy {
         PermittedStates = { WorkflowState.Running, ... }
      });

This would permit an existing running/etc workflow to be replaced by another

I like the idea of moving the options to an actual options class.   Definitely allows for future growth without breaking changes.  @olitomlinson proposal of a re-use policy also looks good.  The only thing I'd change at this time is change the PermittedStates to be an enum flags rather than an array and possibly rename it to Conditions.
 [Flags]
 public enum WorkflowState
 {
      None = 0
      Pending = 1,
      Running = 2,
      Completed = 4,
      Failed = 8,
      Paused = 16,
      Terminated = 32,
      All = Pending | Running | Completed | Failed | Paused | Terminated
}

By using enum flags the conditions can be merged and defaults can be included, such as an All option.
daprWorkflowClient.ScheduleNewWorkflowAsync(
      name : ...,
      instanceId : ...,
      reusePolicy : new ReusePolicy {
         Conditions = WorkflowState.All
      });

The user can also use it in a fine grain manner by cherry picking specific conditions .
daprWorkflowClient.ScheduleNewWorkflowAsync(
      name : ...,
      instanceId : ...,
      reusePolicy : new ReusePolicy {
         Conditions = WorkflowState.Completed | WorkflowState.Failed
      });

This one wouldn't allow re-use and would be the default condition.
daprWorkflowClient.ScheduleNewWorkflowAsync(
      name : ...,
      instanceId : ...,
      reusePolicy : new ReusePolicy {
         Conditions = WorkflowState.None
      });

As to the DelayStart option, I think it would be great to still include it as part of the scheduling rather than relying on workflows always needing the CreateTimer internally.
Adding it would close https://github.com/dapr/dapr/issues/6450

@clintsinger

The only thing I'd change at this time is change the PermittedStates to be an enum flags rather than an array and possibly rename it to Conditions.

Good suggestions, I'm on board.

As to the DelayStart option, I think it would be great to still include it as part of the scheduling rather than relying on workflows always needing the CreateTimer internally.

I agree. Tucking the StartTimeUtc property into the options would make sense, if thats possible.
   daprWorkflowClient.ScheduleNewWorkflowAsync(
      name : ...,
      instanceId : ...,
      options : new ScheduleNewWorkflowOptions {
         StartTimeUtc : DateTime.UtcNow().AddMinutes(5),
         ReusePolicy : new ReusePolicy {
           ...
         }
      });

My only question here is at the point of performing the above operation, the runtime would have to 'claim' that particular Workflow ID (or not, and throw an exception etc) -- So what would the runtime status of the workflow be during the 5 minute window before the Workflow actually starts? scheduled ?

Perhaps instead of StartTime being a DateTime it could be a TimeSpan to match what is in CreateTimer?
As for the state I think the Pending state would be sufficient.

I'm not sure where I got the DelayStart name as the startTime parameter, but either way I stillthink we should keep it but have it act as if there was a CreateTimer with a TimeSpan.
Probably also need a similar option for child workflows, or continue as new workflows.


Create README.md

Summary
This test checks for DUT functionality of BGP addpath capability. It also confirms accuracy of addpath capabilities negotiation, following checks

DUT sets value for the Send/Receive field as "3" during capabilities negotiation to signal support for both Send and Receive ability for multiple paths.
DUT sets value for the Send/Receive field as "1" during capabilities negotiation to signal support for Receive ability for multiple paths.
DUT sets value for the Send/Receive field as "2" during capabilities negotiation to signal support for Send ability for multiple paths.

Pull Request Functional Test Report for #1783 / b3942842d42d94ca1ed14b2086fb01f9911ba684
No tests identified for validation.
Help

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1341

Relevant Lines:
2806

💛  - Coveralls


Task 4: Use optuna to perform a hyperparameter search

Task 4: Use optuna to perform a hyperparameter search

Overall great job - please ensue to only check in code and not experiment data.


Creating a connection if Redis is not available yet

My application needs to continue running if Redis is unavailable. Part of that involves being able to startup successfully if Redis is unavailable, and be able to connect to Redis when/if it comes back.
I can get almost all of the way there using the default reconnect functionality that comes built in with lettuce. If I issue a command and it fails, I can continue normally. However I'm finding that if my application starts up, the following throws an exception:
val defaultClientResources = ClientOptions.builder()
      .cancelCommandsOnReconnectFailure(true)
      .disconnectedBehavior(DisconnectedBehavior.REJECT_COMMANDS)
      .build()
val client = RedisClient.create(defaultClientResources, "redis://localhost")
client.setOptions(defaultClientOptions)
val connection = client.connect() // Throws if Redis is not available!

This throws with:
Exception in thread "main" com.lambdaworks.redis.RedisConnectionException: Unable to connect to localhost/<IP_ADDRESS>:6379
	at com.lambdaworks.redis.RedisConnectionException.create(RedisConnectionException.java:45)
	at com.lambdaworks.redis.AbstractRedisClient.getConnection(AbstractRedisClient.java:263)
	at com.lambdaworks.redis.RedisClient.connectStandalone(RedisClient.java:466)
	at com.lambdaworks.redis.RedisClient.connect(RedisClient.java:382)
	at com.lambdaworks.redis.RedisClient.connect(RedisClient.java:369)
	at i.f.a.Application$.start(Application.scala:86)
	at AppMain$.main(AppMain.scala:11)
	at AppMain.main(AppMain.scala)
Caused by: io.netty.channel.AbstractChannel$AnnotatedConnectException: Connection refused: localhost/<IP_ADDRESS>:6379
	at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
	at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717)
	at io.netty.channel.socket.nio.NioSocketChannel.doFinishConnect(NioSocketChannel.java:225)
	at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.finishConnect(AbstractNioChannel.java:291)
	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:634)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:581)
	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:498)
	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:460)
	at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.ConnectException: Connection refused
	... 11 more

What I perceive my ideal scenario to be is that I would still get a StatefulRedisConnection regardless if it was actually able to connect to the Redis server, however its built-in reconnect functionality would be in progress.
Without that type of operation, I'm forced to roll my own "try and reconnect" logic to get my initial connection.
Does anything like this exist with Lettuce? I haven't been able to pinpoint anything in the docs.
Thanks for the great Redis library!

Thanks for using Lettuce, appreciate your feedback.
You can create RedisClient/RedisClusterClient upon application startup regardless of Redis availability. Calling .connect() initiates the actual connection and fails if Redis is not available.
You could do different things. Feasibility depends on how you've built your application:

Use a DI container to lazily create components. Depending on how the container manages components, you're able to start up but calling functionality that involves Redis interaction will fail.
Wrap StatefulRedisConnection within a Java Proxy with an InvocationHandler attached: This way you're able to pass StatefulRedisConnection around and the only bit you need is keeping state in the invocation handler to obtain a connection and delegate calls.
Use Connection-Pooling: While I'm not a huge fan of connection pooling, it could address your use-case. You can create a pool without pre-allocating objects and fetch a connection when necessary.

All mentioned approaches defer the actual connection to the time where you want to interact with Redis.

Thanks @mp911de, looks like my perceived ideal interface isn't available -- creating a connection that needs to reconnect later is not synonymous with having a connection that needs to reconnect later.
I started down the route of your suggestions 1 & 2 (both of which essentially lazily create a connection), however I found myself running into: "Well, what if this connection fails? I have to delay and reconnect, and reject all commands until connection is successful" -- which I imagine is exactly what the client is doing behind the scenes in the case where were were initially able to connect to Redis, but later lost connection.
Would it be bad if autoReconnect is enabled, connect() always succeeds and initiates the reconnect behaviour? Maybe this is just food for thought in #622 .

I'm curious about how to go about solving this issue. My application is similar in which it needs to start up and run healthy without any coupling to the connection status with Redis. If redis is down to begin with, or goes down during the app instance's lifecycle, it should not impact the app.
Using a lazy instantiation of the connection works for redis being down upon app startup, but doesn't suffice when redis goes down afterwards.

We set autoReconnect to true and set it to reject commands on failure. Then we catch errors that come from any redis operations and gracefully degrade.
Lazy instantiationis one thing but if instantiation fails you need to roll your own back off and retry logic.

Closing this one as there is nothing we can do here right now.


Fix bpf_printk only accept three parameter

Hello team,
In the PR, I've fixed a bug related to the use of bpf_printk. Since bpf_printk can only accept a maximum of three arguments, I split it into two lines.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

CC @grcevski .
As we discussed in our Slack thread, I've resolved the issue


HamburgerButtonInfo: ToolTipService.ToolTip not working[not visible]

Currently it doesn't work to define ToolTip at HamburgerButtonInfo or content of it because the ToolTip isn't visible.

Define the ToolTip on the content of the button, maybe?

I defined the ToolTip at Shell.xaml(Minimal sample)
<Controls:HamburgerButtonInfo ClearHistory="True" PageType="views:MainPage" ToolTipService.ToolTip="Home">...
or
<Controls:HamburgerButtonInfo ClearHistory="True" PageType="views:MainPage" > <StackPanel Orientation="Horizontal" ToolTipService.ToolTip="Home"> <SymbolIcon Width="48" Height="48" Symbol="Home" />                             <TextBlock Margin="12,0,0,0" VerticalAlignment="Center" Text="Home" />                         </StackPanel>                     </Controls:HamburgerButtonInfo>
But the ToolTip is not visible. Finally I edited the "NavButtonTemplate" at HamburgerButton.xaml. And it works if I define the ToolTip in the RadioButton(not in the "RadioButton.Template").
In that conlusion do we need a new parameter at HamburgerButtonInfo so that we can create easily the content with the ToolTip at Shell.xaml?

Please add {ToolTipService.ToolTip} to the RadioButton in NavButtonTemplate and submit a Pull Request so I can merge it into the source. We'll shoot for 1.1.4. Good catch.

Curiously my trying has failed to bind the attached property.It's almost like wouldn't pass the ToolTip to the NavButtonTemplate.
Can someone look into it?

It can only be done in code, I did submit a pull request about a month ago, but it was ignored.
  void NavButton_Loaded(object sender, RoutedEventArgs e)
       {
        DebugWrite($"Info: {(sender as FrameworkElement).DataContext}");

        // add this radio to the list
        var r = sender as RadioButton;
        var i = r.DataContext as HamburgerButtonInfo;
		var sp = i.Content as StackPanel;

		// Get the text of the button
		var buttonText = string.Empty;
		foreach (var child in sp.Children)
		{
			if (child.GetType() == typeof(TextBlock))
			{
				buttonText = (child as TextBlock).Text;
			}
		}

		// Set the automation properties for each button
		AutomationProperties.SetAutomationId(r, buttonText + "Button");
		AutomationProperties.SetName(r, buttonText);
		AutomationProperties.SetHelpText(r, "Click to go to " + buttonText + " page");
        ToolTipService.SetToolTip(r, buttonText);

		//Debug.WriteLine("AutomationId : " + AutomationProperties.GetAutomationId(r));
		//Debug.WriteLine("Name : " + AutomationProperties.GetName(r));
		//Debug.WriteLine("HelpText : " + AutomationProperties.GetHelpText(r));

		_navButtons.Add(r, i);
        HighlightCorrectButton();
    }

Not ignored. Perhaps misunderstood.

So we are on the same page now?
this is not the solution but a workaround as the developer might not have a textblock in the menu, therefore making this code redundant.

Thanks for the workaround, works pretty well. I agree to the not good access to the HamburgerButtonInfo.

No worries, you might want to add
AutomationProperties.AccessibilityView="Raw"
<ToggleButton AutomationProperties.AccessibilityView="Raw">

<ToggleButton>

in RadioButton.Template

I would like to start a thread identifying accessibility issues in Template 10.


fix forbid inline view but not the subquery resolve from parent tuples

in PR #17813 , we want to forbid bind slot on brother's column howerver the fix is not in correct way.
the correct way to do that is forbid inline view but not the subquery resolve from parent tuples.
This reverts commit b91a3b5a72520105638dad1079b71a05f02c10a0.
Proposed changes
Issue Number: close #xxx
Problem summary
Describe your changes.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[ ] Has document been added or modified
[ ] Does it need to update dependencies
[ ] Is this PR support rollback (If NO, please explain WHY)

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

run buildall

TeamCity pipeline, clickbench performance test result:
the sum of best hot time: 33.88 seconds
stream load tsv:          454 seconds loaded<PHONE_NUMBER>9 Bytes, about 157 MB/s
stream load json:         24 seconds loaded<PHONE_NUMBER> Bytes, about 93 MB/s
stream load orc:          73 seconds loaded<PHONE_NUMBER> Bytes, about 14 MB/s
stream load parquet:          31 seconds loaded 861443392 Bytes, about 26 MB/s
https://doris-community-test-1308700295.cos.ap-hongkong.myqcloud.com/tmp/20230323014321_clickbench_pr_119063.html


Register with bower?

Any chance you could register this with bower? Would love to use it and easily pull updates too.

Sure, I didn't have time to finish the documentation, upload the demos and publish or bower, I will do it soon.


wrong jsx-chai dep

https://github.com/nteract/react-jupyter-display-area/blob/master/package.json#L62 the tarball does not exists
is that a correct fix ?
diff --git a/package.json b/package.json
index fda2e60..22e3bee 100644
--- a/package.json
+++ b/package.json
@@ -59,7 +59,7 @@
     "eslint-plugin-react": "^4.3.0",
     "estraverse-fb": "^1.3.1",
     "immutable": "3.7.x",
-    "jsx-chai": "https://github.com/rgbkrk/jsx-chai/tarball/bump-to-react-15",
+    "jsx-chai": "git+https://github.com/bkonkle/jsx-chai.git#4e74f995f2919fcaf6d76500c391c84f90619525",
     "mkdirp": "^0.5.1",
     "mocha": "^2.3.4",
     "react": "^15.0.1",

Weird.
Related to https://github.com/bkonkle/jsx-chai/pull/6


Transpilation of multiple circuits broken

Environment

Qiskit Terra version: 0.20.0
Python version:  3.9.5

What is happening?
When multiple circuits are submitted to the transpile command, the following error appears:
---------------------------------------------------------------------------
_RemoteTraceback                          Traceback (most recent call last)
_RemoteTraceback:
"""
Traceback (most recent call last):
  File "/Software/anaconda3/envs/qc/lib/python3.9/multiprocessing/queues.py", line 245, in _feed
    obj = _ForkingPickler.dumps(obj)
  File "/Software/anaconda3/envs/qc/lib/python3.9/multiprocessing/reduction.py", line 51, in dumps
    cls(buf, protocol).dump(obj)
  File "stringsource", line 2, in symengine.lib.symengine_wrapper.Symbol.__reduce_cython__
TypeError: self.thisptr cannot be converted to a Python object for pickling
"""

The above exception was the direct cause of the following exception:

TypeError                                 Traceback (most recent call last)
<ipython-input-20-f81f0132fe08> in <module>
      1 from qiskit import transpile
----> 2 transpile([qc]*2, backend)

/Software/anaconda3/envs/qc/lib/python3.9/site-packages/qiskit/compiler/transpiler.py in transpile(circuits, backend, basis_gates, inst_map, coupling_map, backend_properties, initial_layout, layout_method, routing_method, translation_method, scheduling_method, instruction_durations, dt, approximation_degree, timing_constraints, seed_transpiler, optimization_level, callback, output_name, unitary_synthesis_method, unitary_synthesis_plugin_config, target)
    302
    303     # Transpile circuits in parallel
--> 304     circuits = parallel_map(_transpile_circuit, list(zip(circuits, transpile_args)))
    305
    306     end_time = time()

/Software/anaconda3/envs/qc/lib/python3.9/site-packages/qiskit/tools/parallel.py in parallel_map(task, values, task_args, task_kwargs, num_processes)
    159             # Otherwise just reset parallel flag and error
    160             os.environ["QISKIT_IN_PARALLEL"] = "FALSE"
--> 161             raise error
    162
    163         Publisher().publish("terra.parallel.finish")

/Software/anaconda3/envs/qc/lib/python3.9/site-packages/qiskit/tools/parallel.py in parallel_map(task, values, task_args, task_kwargs, num_processes)
    149                 future = executor.map(_task_wrapper, param)
    150
--> 151             results = list(future)
    152             Publisher().publish("terra.parallel.done", len(results))
    153

/Software/anaconda3/envs/qc/lib/python3.9/concurrent/futures/process.py in _chain_from_iterable_of_lists(iterable)
    557     careful not to keep references to yielded objects.
    558     """
--> 559     for element in iterable:
    560         element.reverse()
    561         while element:

/Software/anaconda3/envs/qc/lib/python3.9/concurrent/futures/_base.py in result_iterator()
    606                     # Careful not to keep a reference to the popped future
    607                     if timeout is None:
--> 608                         yield fs.pop().result()
    609                     else:
    610                         yield fs.pop().result(end_time - time.monotonic())

/Software/anaconda3/envs/qc/lib/python3.9/concurrent/futures/_base.py in result(self, timeout)
    436                     raise CancelledError()
    437                 elif self._state == FINISHED:
--> 438                     return self.__get_result()
    439
    440                 self._condition.wait(timeout)

/Software/anaconda3/envs/qc/lib/python3.9/concurrent/futures/_base.py in __get_result(self)
    388         if self._exception:
    389             try:
--> 390                 raise self._exception
    391             finally:
    392                 # Break a reference cycle with the exception in self._exception

/Software/anaconda3/envs/qc/lib/python3.9/multiprocessing/queues.py in _feed(buffer, notempty, send_bytes, writelock, close, ignore_epipe, onerror, queue_sem)
    243
    244                         # serialize the data before acquiring the lock
--> 245                         obj = _ForkingPickler.dumps(obj)
    246                         if wacquire is None:
    247                             send_bytes(obj)

/Software/anaconda3/envs/qc/lib/python3.9/multiprocessing/reduction.py in dumps(cls, obj, protocol)
     49     def dumps(cls, obj, protocol=None):
     50         buf = io.BytesIO()
---> 51         cls(buf, protocol).dump(obj)
     52         return buf.getbuffer()
     53

~/.local/lib/python3.9/site-packages/symengine/lib/symengine_wrapper.cpython-39-x86_64-linux-gnu.so in symengine.lib.symengine_wrapper.Symbol.__reduce_cython__()

TypeError: self.thisptr cannot be converted to a Python object for pickling

How can we reproduce the issue?
I used the following code:
from qiskit.test.mock import FakeToronto
backend = FakeToronto()

from qiskit import QuantumCircuit
qc = QuantumCircuit(6)
qc.h(0)
for ii in range(qc.num_qubits-1):
    qc.cx(0,ii+1)

qc.measure_all()

from qiskit import transpile
transpile([qc]*2, backend)

What should happen?
The transpiler should transpile each circuit and return a list of transpiled circuits.
Any suggestions?
No response

This error is strange - it looks very like an error we've previously fixed. Please could you show us the version of symengine you have installed?

I have symengine version 0.8.1 installed. I just saw that there is a new version released about two months ago. I will try to update and then rerun the transpilation

Yeah, this error is caused by running with symengine < 0.9.0. We raised the minimum requirement on symengine in 0.20.0 to symengine >= 0.9. If for some reason pip isn't handling that and upgrading symengine for you you'll face an error like this with an older version of symengine.

I just found out that there was a symengine package installed incorrectly which was not updated with the main qiskit code, thus leading to the error. now everything works fine. Thanks for your support.


SKU for Azure Firewall

AZFW_Hub
AZFW-VNet
https://docs.microsoft.com/en-us/rest/api/firewall/azurefirewalls/list#azurefirewallskuname
Could please point out the difference of these two SKU? or where the description of the SKU is documented?
[Enter feedback here]

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 474ba3cb-afa1-4ec5-37df-6553a5523dbb
Version Independent ID: 56096558-1943-3f6b-9609-7722200272fb
Content: What is Azure Firewall?
Content Source: articles/firewall/overview.md
Service: firewall
GitHub Login: @vhorne
Microsoft Alias: victorh

@RonnieQuan, Thanks for bringing this to our attention. Your feedback has been shared with the content owner for further review.

@RonnieQuan
The SKU is made up of two parts, the architecture name  and the tier:
{Sku: {Name: VHUB/VNET, Tier: Standard/Premium}}
So the "Name" is the architecture. For more information about architecture options for Azure Firewall, see https://docs.microsoft.com/azure/firewall-manager/vhubs-and-vnets

#please-close


CIS benchmark gaps: k8s v1.8 master

$ kubectl get nodes -o wide
NAME                        STATUS    ROLES     AGE       VERSION   EXTERNAL-IP   OS-IMAGE             KERNEL-VERSION      CONTAINER-RUNTIME
k8s-agentpool1-12380904-0   Ready     agent     16m       v1.8.15   <none>        Ubuntu 16.04.4 LTS   4.15.0-1013-azure   docker://1.13.1
k8s-agentpool1-12380904-1   Ready     agent     14m       v1.8.15   <none>        Ubuntu 16.04.4 LTS   4.15.0-1013-azure   docker://1.13.1
k8s-master-12380904-0       Ready     master    19m       v1.8.15   <none>        Ubuntu 16.04.4 LTS   4.15.0-1013-azure   docker://1.13.1

Showing master failures from $ ./kube-bench master --version 1.8:
[INFO] 1.1 API Server

[ ] [FAIL] 1.1.6 Ensure that the --insecure-port argument is set to 0 (Scored)
[ ] [FAIL] 1.1.12 Ensure that the admission control policy is set to DenyEscalatingExec (Scored)
[ ] [FAIL] 1.1.13 Ensure that the admission control policy is set to SecurityContextDeny (Scored)
[ ] [FAIL] 1.1.21 Ensure that the --kubelet-certificate-authority argument is set as appropriate (Scored)
[ ] [FAIL] 1.1.24 Ensure that the admission control policy is set to PodSecurityPolicy (Scored)
[ ]  [FAIL] 1.1.32 Ensure that the admission control policy is set to NodeRestriction (Scored)
[ ]  [FAIL] 1.1.33 Ensure that the --experimental-encryption-provider-config argument is set as appropriate (Scored)
[ ] [FAIL] 1.1.35 Ensure that the admission control policy is set to EventRateLimit (Scored)

[INFO] 1.3 Controller Manager

[ ] [FAIL] 1.3.7  Ensure that the RotateKubeletServerCertificate argument is set to true (Scored)

[INFO] 1.4 Configuration Files

[ ] [FAIL] 1.4.7 Ensure that the etcd pod specification file permissions are set to 644 or more restrictive (Scored)
[ ] [FAIL] 1.4.8 Ensure that the etcd pod specification file ownership is set to root:root (Scored)
[ ] [FAIL] 1.4.11 Ensure that the etcd data directory permissions are set to 700 or more restrictive (Scored)
[ ] [FAIL] 1.4.13 Ensure that the admin.conf file permissions are set to 644 or more restrictive (Scored)
[ ] [FAIL] 1.4.14 Ensure that the admin.conf file ownership is set to root:root (Scored)

[INFO] 1.5 etcd

[ ] [FAIL] 1.5.2 Ensure that the --client-cert-auth argument is set to true (Scored)
[ ] [FAIL] 1.5.5 Ensure that the --peer-client-cert-auth argument is set to true (Scored)
[ ] [FAIL] 1.5.7 Ensure that the --wal-dir argument is set as appropriate (Scored)
[ ] [FAIL] 1.5.8 Ensure that the --max-wals argument is set to 0 (Scored)

Just updating the results from 1.11.
Master
[INFO] 1 Master Node Security Configuration
[INFO] 1.1 API Server
[PASS] 1.1.1 Ensure that the --anonymous-auth argument is set to false (Scored)
[PASS] 1.1.2 Ensure that the --basic-auth-file argument is not set (Scored)
[PASS] 1.1.3 Ensure that the --insecure-allow-any-token argument is not set (Scored)
[PASS] 1.1.4 Ensure that the --kubelet-https argument is set to true (Scored)
[PASS] 1.1.5 Ensure that the --insecure-bind-address argument is not set (Scored)
[FAIL] 1.1.6 Ensure that the --insecure-port argument is set to 0 (Scored)
[PASS] 1.1.7 Ensure that the --secure-port argument is not set to 0 (Scored)
[PASS] 1.1.8 Ensure that the --profiling argument is set to false (Scored)
[PASS] 1.1.9 Ensure that the --repair-malformed-updates argument is set to false (Scored)
[PASS] 1.1.10 Ensure that the admission control plugin AlwaysAdmit is not set (Scored)
[PASS] 1.1.11 Ensure that the admission control plugin AlwaysPullImages is set (Scored)
[FAIL] 1.1.12 Ensure that the admission control plugin DenyEscalatingExec is set (Scored)
[FAIL] 1.1.13 Ensure that the admission control plugin SecurityContextDeny is set (Scored)
[FAIL] 1.1.14 Ensure that the admission control plugin NamespaceLifecycle is set (Scored)
[PASS] 1.1.15 Ensure that the --audit-log-path argument is set as appropriate (Scored)
[PASS] 1.1.16 Ensure that the --audit-log-maxage argument is set to 30 or as appropriate (Scored)
[PASS] 1.1.17 Ensure that the --audit-log-maxbackup argument is set to 10 or as appropriate (Scored)
[PASS] 1.1.18 Ensure that the --audit-log-maxsize argument is set to 100 or as appropriate (Scored)
[PASS] 1.1.19 Ensure that the --authorization-mode argument is not set to AlwaysAllow (Scored)
[PASS] 1.1.20 Ensure that the --token-auth-file parameter is not set (Scored)
[FAIL] 1.1.21 Ensure that the --kubelet-certificate-authority argument is set as appropriate (Scored)
[PASS] 1.1.22 Ensure that the --kubelet-client-certificate and --kubelet-client-key arguments are set as appropriate (Scored)
[PASS] 1.1.23 Ensure that the --service-account-lookup argument is set to true (Scored)
[FAIL] 1.1.24 Ensure that the admission control plugin PodSecurityPolicy is set (Scored)
[PASS] 1.1.25 Ensure that the --service-account-key-file argument is set as appropriate (Scored)
[PASS] 1.1.26 Ensure that the --etcd-certfile and --etcd-keyfile arguments are set as appropriate (Scored)
[PASS] 1.1.27 Ensure that the admission control plugin ServiceAccount is set(Scored)
[PASS] 1.1.28 Ensure that the --tls-cert-file and --tls-private-key-file arguments are set as appropriate (Scored)
[PASS] 1.1.29 Ensure that the --client-ca-file argument is set as appropriate (Scored)
[FAIL] 1.1.30 Ensure that the API Server only makes use of Strong Cryptographic Ciphers (Not Scored)
[PASS] 1.1.31 Ensure that the --etcd-cafile argument is set as appropriate (Scored)
[PASS] 1.1.32 Ensure that the --authorization-mode argument is set to Node (Scored)
[FAIL] 1.1.33 Ensure that the admission control plugin NodeRestriction is set (Scored)
[FAIL] 1.1.34 Ensure that the --experimental-encryption-provider-config argument is set as appropriate (Scored)
[WARN] 1.1.35 Ensure that the encryption provider is set to aescbc (Scored)
[FAIL] 1.1.36 Ensure that the admission control plugin EventRateLimit is set (Scored)
[FAIL] 1.1.37 Ensure that the AdvancedAuditing argument is not set to false (Scored)
[PASS] 1.1.38 Ensure that the --request-timeout argument is set as appropriate (Scored)
[FAIL] 1.1.39 Ensure that the API Server only makes use of Strong Cryptographic Ciphers ( Not Scored)
[INFO] 1.2 Scheduler
[PASS] 1.2.1 Ensure that the --profiling argument is set to false (Scored)
[PASS] 1.2.2 Ensure that the --address argument is set to <IP_ADDRESS> (Scored)
[INFO] 1.3 Controller Manager
[PASS] 1.3.1 Ensure that the --terminated-pod-gc-threshold argument is set as appropriate (Scored)
[PASS] 1.3.2 Ensure that the --profiling argument is set to false (Scored)
[PASS] 1.3.3 Ensure that the --use-service-account-credentials argument is set to true (Scored)
[PASS] 1.3.4 Ensure that the --service-account-private-key-file argument is set as appropriate (Scored)
[PASS] 1.3.5 Ensure that the --root-ca-file argument is set as appropriate (Scored)
[FAIL] 1.3.6 Ensure that the RotateKubeletServerCertificate argument is set to true (Scored)
[PASS] 1.3.7 Ensure that the --address argument is set to <IP_ADDRESS> (Scored)
[INFO] 1.4 Configuration Files
[FAIL] 1.4.1 Ensure that the API server pod specification file permissions are set to 644 or more restrictive (Scored)
[FAIL] 1.4.2 Ensure that the API server pod specification file ownership is set to root:root (Scored)
[FAIL] 1.4.3 Ensure that the controller manager pod specification file permissions are set to 644 or more restrictive (Scored)
[FAIL] 1.4.4 Ensure that the controller manager pod specification file ownership is set to root:root (Scored)
[FAIL] 1.4.5 Ensure that the scheduler pod specification file permissions are set to 644 or more restrictive (Scored)
[FAIL] 1.4.6 Ensure that the scheduler pod specification file ownership is set to root:root (Scored)
[FAIL] 1.4.7 Ensure that the etcd pod specification file permissions are set to 644 or more restrictive (Scored)
[FAIL] 1.4.8 Ensure that the etcd pod specification file ownership is set to root:root (Scored)
[WARN] 1.4.9 Ensure that the Container Network Interface file permissions are set to 644 or more restrictive (Not Scored)
[WARN] 1.4.10 Ensure that the Container Network Interface file ownership is set to root:root (Not Scored)
[FAIL] 1.4.11 Ensure that the etcd data directory permissions are set to 700 or more restrictive (Scored)
[FAIL] 1.4.12 Ensure that the etcd data directory ownership is set to etcd:etcd (Scored)
[FAIL] 1.4.13 Ensure that the admin.conf file permissions are set to 644 or more restrictive (Scored)
[FAIL] 1.4.14 Ensure that the admin.conf file ownership is set to root:root (Scored)
[FAIL] 1.4.15 Ensure that the scheduler.conf file permissions are set to 644 or more restrictive (Scored)
[FAIL] 1.4.16 Ensure that the scheduler.conf file ownership is set to root:root (Scored)
[FAIL] 1.4.17 Ensure that the controller-manager.conf file permissions are set to 644 or more restrictive (Scored)
[FAIL] 1.4.18 Ensure that the controller-manager.conf file ownership is set to root:root (Scored)
[INFO] 1.5 etcd
[PASS] 1.5.1 Ensure that the --cert-file and --key-file arguments are set as appropriate (Scored)
[FAIL] 1.5.2 Ensure that the --client-cert-auth argument is set to true (Scored)
[PASS] 1.5.3 Ensure that the --auto-tls argument is not set to true (Scored)
[WARN] 1.5.4 Ensure that the --peer-cert-file and --peer-key-file arguments are set as appropriate (Scored)
[WARN] 1.5.5 Ensure that the --peer-client-cert-auth argument is set to true (Scored)
[WARN] 1.5.6 Ensure that the --peer-auto-tls argument is not set to true (Scored)
[WARN] 1.5.7 Ensure that a unique Certificate Authority is used for etcd (Not Scored)
[INFO] 1.6 General Security Primitives
[WARN] 1.6.1 Ensure that the cluster-admin role is only used where required (Not Scored)
[WARN] 1.6.2 Create administrative boundaries between resources using namespaces (Not Scored)
[WARN] 1.6.3 Create network segmentation using Network Policies (Not Scored)
[WARN] 1.6.4 Ensure that the seccomp profile is set to docker/default in your pod definitions (Not Scored)
[WARN] 1.6.5 Apply Security Context to Your Pods and Containers (Not Scored)
[WARN] 1.6.6 Configure Image Provenance using ImagePolicyWebhook admission controller (Not Scored)
[WARN] 1.6.7 Configure Network policies as appropriate (Not Scored)
[WARN] 1.6.8 Place compensating controls in the form of PSP and RBAC for privileged containers usage (Not Scored)
[INFO] 1.7 PodSecurityPolicies
[WARN] 1.7.1 Do not admit privileged containers (Not Scored)
[WARN] 1.7.2 Do not admit containers wishing to share the host process ID namespace (Not Scored)
[WARN] 1.7.3 Do not admit containers wishing to share the host IPC namespace (Not Scored)
[WARN] 1.7.4 Do not admit containers wishing to share the host network namespace (Not Scored)
[WARN] 1.7.5  Do not admit containers with allowPrivilegeEscalation (Not Scored)
[WARN] 1.7.6 Do not admit root containers (Not Scored)
[WARN] 1.7.7 Do not admit containers with dangerous capabilities (Not Scored)


properties types fixed

if messages is
<BigCalendar
  events={events}
  messages={{
    previous: <i className="fa fa-chevron-left" />,
    next: <i className="fa fa-chevron-right" />
  }}
/>

then warning:
Warning: Failed propType: Invalid prop 'messages.previous' of type 'object' supplied to 'Calendar', expected 'string'. Check the render method of 'Uncontrolled(Calendar)'.
There is fix

why did you commit the lib/ folder?!

Also, you can use PropTypes.node which includes string and element
https://facebook.github.io/react/docs/reusable-components.html

React.PropTypes.node:
Anything that can be rendered: numbers, strings, elements or an array (or fragment) containing these types.

gonna close since it includes a bunch of noise from the lib folder. will take a PR that just adjsuts the propType to node though if anyone wants

You already did in #40 ;-)

lol


RKObjectLoader's response is empty in didFailWithError

If you attempt to access an RKObjectLoader's response property in your RKObjectLoaderDelegate's - (void) objectLoader:(RKObjectLoader *)objectLoader didFailWithError:(NSError *)error it is always null. It would be very useful to have the full response here, to detect exactly what the error was. Is this a bug or am I missing something?

Would be great if you had a failing test showing the response property being nil, as that is not expected behavior.


Cannot embed OneDrive File Picker in an iframe when hosted in a custom domain

We want to use the OneDrive File Picker in one of our products which is a Teams app.

The teams app opens up a page in a teams dialog which is hosted in a custom domain of our product.
This page acts as a proxy so that the communication between the OneDriveFilePicker and the parent app works.
The teams dialog is not a browser window therefore they have other APIs for the communication between dialog and app.

So we currently have the problem that we cannot embed the picker as the CSP Headers of the page does not allow it.
Refused to frame 'https://mytenant.sharepoint.com/' because an ancestor violates the following Content Security Policy directive: "frame-ancestors 'self' teams.microsoft.com *.teams.microsoft.com *.skype.com *.teams.microsoft.us local.teams.office.com teams.microsoftonline.cn *.powerapps.com *.yammer.com *.officeapps.live.com *.office.com *.stream.azure-test.net *.microsoftstream.com *.dynamics.com *.microsoft.com onedrive.live.com *.onedrive.live.com securebroker.sharepointonline.com".
When we open the File Picker as a popup we don't have these problems but sometimes different hosts have own implemented dialogs, e.g.

Teams
Office addins

In these hosts we need a proxy page and we need to load the picker in an iframe.
Wishes/Options:

Option 1: It would be really cool if you can frame the FilePicker also within custom domains so that we don't have to reinvent the wheel for picker a file or a folder again
Option 2: The picker recognizes the host and uses the host APIs, like in Teams or in an Office Addin. In this case we don't need a proxy page.

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 3d07a81d-cdaf-bafb-c1d5-aaf640d8de09
Version Independent ID: c674b276-f0cb-a5d6-3098-6a31c417f162
Content: OneDrive File Picker - OneDrive dev center
Content Source: docs/controls/file-pickers/index.md
Service: one-drive
GitHub Login: @patrick-rodgers
Microsoft Alias: patrodg

OK found out that the access token needs the right scopes otherwise it will cause this CSP issue. This should be documented because the error is not so obvious..


lit-pose crashes while using .avis

trainer.fit will crash if the unlabeled data are in .avi format, just hangs without any errors.
This is obviously dealt with in the io module with a couple of asserts and booleans, but before digging into the details I figured asking why here would be worth while.

hey @jackransomlovell thanks for raising the issue, sounds like we need some more assertions in the code
the issue is with the DALI package, it currently only supports a limited subset of encoding/chroma formats. not sure what their long-term plan is for supporting more formats

here's a function we use to reencode the videos (must have ffmpeg installed):
import os
import subprocess

def reencode_video(input_file: str, output_file: str) -> None:
    """reencodes video into H.264 coded format using ffmpeg from a subprocess.

    Args:
        input_file: abspath to existing video
        output_file: abspath to to new video

    """
    # check input file exists
    assert os.path.isfile(input_file), "input video does not exist."
    # check output is mp4
    assert output_file.endswith(".mp4"), "output video must in with '.mp4'"
    # check directory for saving outputs exists
    os.makedirs(os.path.dirname(output_file), exist_ok=True)
    ffmpeg_cmd = f'ffmpeg -i {input_file} -c:v libx264 -pix_fmt yuv420p -c:a copy -y {output_file}'
    subprocess.run(ffmpeg_cmd, shell=True)

hey @jackransomlovell thanks for raising the issue, sounds like we need some more assertions in the code

I just commented those assertions out, to confirm on my end things they work pretty well from what I recall.
Thank you for sharing the function above, and developing this library, we will certainly put both to good use!


Project Review: Strawberry GraphQL

Hi there, I just started following you on youtube! I'd love to get a review on this project I'm working on: https://github.com/strawberry-graphql/strawberry
I've been trying to build a nice community around it and it seems to be going well, but would love to get some feedback from you <3
Thank you 🍓

Reviewed on a live stream, thank you for sharing 👍 https://www.youtube.com/watch?v=LyTUj6YQoBo


Request initialize failed with message: this.send is not a function

I encountered an error, however, it was only specific to one workspace's name. The name of the workspace was MichaelJBerry-Space. I can't remember at what point in my setup of Visual Studio Code (as I'm new to VSC), that this error began appearing, but I can't imagine that the error would be specific to my name, right? I haven't offended you in some way, have I? 😄
I thought that deleting the workspace, MichaelJBerry-Space, and re-creating it would solve the error, but it didn't entirely. I created the workspace again for the same project and things worked just fine until I saved the workspace with the same name as before MichaelJBerry-Space. As soon as I saved the workspace using the same name as the previous problem workspace, I started receiving the error message again.
So, I deleted the new workspace, MichaelJBerry-Space, re-created the workspace and saved it with a different name, Michael-Space, and now the extension's features are working without issue. I wanted to see if there was a correlation with the workspace's name and the issue, so I chose a different project, created a workspace for it and named it MichaelJBerry-Space and the error came back.
Any derivative of the workspace name MichaelJBerry-Space worked, just as long as it wasn't exactly MichaelJBerry-Space. It almost seems like there's a cache somewhere that says that that workspace name has issues, but I don't know for sure what's going on.
I'm running Windows 10 Education with Visual Studio Code 64bit version 1.18.1 if that helps.
The issue revolves around the initialization of your extension. I'd receive this error, but only when loading a specific workspace:
[PHP Intelephense] Request initialize failed with message: this.send is not a function

I uninstalled all extensions except your PHP Intelephense extension and I still received the error each time I opened that specific workspace. Since I have multiple workspaces, I tried a combination of scenarios. If I opened up the workspace that was experiencing the error first, then any subsequent workspaces that I opened would also not work as expected. However, if I opened one of the other workspaces and then opened the problem workspace, the extension seemed to work well in the first workspace opened, but still not in the problem workspace.
While I don't know all of the features that your extension provides, the ones that I was using (class importing hints, variable hints, etc.) didn't populate at all. I assume that's because the initialization failed.
I opened the dev tools and restarted the problem workspace and this is the error I found:
[bmewburn.vscode-intelephense-client] Request shutdown failed with message: this.send is not a function: Error: Request shutdown failed with message: this.send is not a function
at new ResponseError (C:\Users\My User Name\.vscode\extensions\bmewburn.vscode-intelephense-client-0.8.2\node_modules\vscode-jsonrpc\lib\messages.js:46:28)
at handleResponse (C:\Users\My User Name\.vscode\extensions\bmewburn.vscode-intelephense-client-0.8.2\node_modules\vscode-jsonrpc\lib\main.js:430:48)
at processMessageQueue (C:\Users\My User Name\.vscode\extensions\bmewburn.vscode-intelephense-client-0.8.2\node_modules\vscode-jsonrpc\lib\main.js:258:17)
at Immediate.<anonymous> (C:\Users\My User Name\.vscode\extensions\bmewburn.vscode-intelephense-client-0.8.2\node_modules\vscode-jsonrpc\lib\main.js:242:13)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)

I don't know much about extension creation/debugging in Visual Studio Code, so I apologize I can't help much, but I hope this is helpful. Again, after I deleted the problem workspace and re-created it with a new workspace name, there hasn't been an issue at all. Let me know if you need any other information to help with this error.

I can confirm there is no code in there to throw errors for users named MichaelJBerry 😆 . Strange that it seems to be the folder name that causes issues. At at guess there may be some old cached data in the workspace storage dir that is not compatible with recent updates of the ext. To troubleshoot further you could set "intelephense.trace.server" : "verbose" and look at the output at extension startup for any other errors. You will also be able to see the value of storagePath and can then delete the extension specific contents of this directory. Other solutions include changing your name with your government registrar 😄

This is what I found. It looks like there's another error, but I can't determine if it's related and/or the cause of the previous error.
exitCode: 128
message: "Git error"
stderr: "fatal: Pathspec 'c:\Users\My User Name\path\to\project\michaeljberry\webpack.mix.js' is in submodule 'michaeljberry'"
stdout: ""

Any ideas? It seems that anytime I scroll through the explorer, a similar error occurs - all referencing the Pathspec being in submodule "michaeljberry".

Looks like your git is messed up. I'm unsure if it is related.

I finally found the storagePath property you referred to. I kept looking in the developer tools window, but it was in the output window in VSC. I deleted the extension specific information in the folder and it works just fine now. Thank you for your help!


double CAMES for wildcard domains?

when I try to get a wildcard cert for my    mydomain.com and *.mydomain.com, the certbot comes back with asking me to add 2 CNAMES with the same name to different hosts. Ive searched and this doesn't seem to be a valid DNS option.
Output from acme-dns-auth.py:
Please add the following CNAME record to your main DNS zone:
_acme-challenge.mydomain.com CNAME 34b62d67-4a60-4cc5-a30e-ceddf6f61cf0.auth.mydomain.com.
Output from acme-dns-auth.py:
Please add the following CNAME record to your main DNS zone:
_acme-challenge.mydomain.com CNAME 7879f9a9-1fd4-44a0-bc76-048390ffec62.auth.mydomain.com.
This doesnt seem right, am I really supposed to put 2 CNAMES in like this?
-db

This certainly isn't possible to do in DNS, and looks like a bug in the authentication hook code. I'll investigate a bit. Thanks for opening the issue!

After a quick look, this should be handled by the authentication hook, here:
https://github.com/joohoi/acme-dns-certbot-joohoi/blob/master/acme-dns-auth.py#L120-L126
I'm a bit lost why it doesn't work for you.

i just looked at my acme-dns-auth.py and at that block of code, I have that code..  at line 120:
def put(self, key, value):
    """Puts the configuration value to storage and sanitize it"""
    # If wildcard domain, remove the wildcard part as this will use the
    # same validation record name as the base domain
    if key.startswith("*."):
        key = key[2:]
    self._data[key] = value

what else can I do to help troubleshoot/debug this?
-db

Can you add these lines before if key.startswith("*."):
import binascii
print(binascii.hexlify(key))

This will convert the key, which is the domain in question to a hex string and print it out. Please note that this output will disclose your domains.

certbot certonly  --server https://acme-v02.api.letsencrypt.org/directory --manual --manual-auth-hook /etc/acme-dns/acme-dns-auth.py --preferred-challenges dns --debug-challenges -d mydomain.com -d *.mydomain.com
is how im running it.. ill add those likes in my code and let you know in a few..

Oh! Try to escape the wildcard, as shell might mess it up if you don't. That is ... -d \*.mydomain.com

now I get ...
(Y)es/(N)o: Y
Output from acme-dns-auth.py:
676c617373747265652e636f6d
Please add the following CNAME record to your main DNS zone:
_acme-challenge.mydomain.com CNAME 00abf720-8b26-4a5f-8e33-97054ada6374.auth.mydomain.com.
Output from acme-dns-auth.py:
676c617373747265652e636f6d
Please add the following CNAME record to your main DNS zone:
_acme-challenge.mydomain.com CNAME 9f1ed737-dcc8-4c1c-9d55-06f177a5889a.auth.mydomain.com.
for the output above,  i tried it with the -d *.mydomain.com
-db

One thing that comes to mind, is that there might be a problem writing to the account data file: https://github.com/joohoi/acme-dns-certbot-joohoi/blob/master/acme-dns-auth.py#L12 (default value: /etc/letsencrypt/acmedns.json). Can you check if the file exists, and if it holds more than one key?

Oh! Or do you have FORCE_REGISTER = True, as I see a potential bug in handling that!

FORCE_REGISTER = True  where?

https://github.com/joohoi/acme-dns-certbot-joohoi/blob/master/acme-dns-auth.py#L17

I do!
Force re-registration. Overwrites the already existing acme-dns accounts.
FORCE_REGISTER = True

Oh, that's the issue then! It practically registers a new account on each run (and hence prompts the user to update the records). I suggest you change it to False and Certbot should prompt you to add only one CNAME record and you're good to go!

I take that back,You won't be prompted for a CNAME addition as the hook finds an already existing account. I suggest you delete the storage file: /etc/letsencrypt/acmedns.json, change FORCE_REGISTER to False and rerun Certbot.

I expect that fixed your issue, so I'm going to close this now. If the issue is not resolved, feel free to comment here and I'll reopen.

yaaaa!! that worked!! thanks bro!
-db


HTML

HTML
User Story
As a bootcamp student
I hope I find the layout of the website easy to navigate
so that I don't become flustered
Acceptance Criteria
GIVEN a Pre Study website
WHEN I visit the website in my browser.
Then I will see all my work listed

CSS
As a bootcamp student
I want my prework notes to be structured on a webpage
So that I can easily find and read the information
GIVEN a Prework Study Guide website
WHEN I view the study guide
THEN I see a dark blue header and footer, and four boxes with a shadow