a list of known, but unimplemented, PM's

i figured there should maybe be a list made for known but yet unimplemented PM's.
logically, i've omitted pm's that are unmaintained.
if you are working on implementing one of these, let me know and i'll put your username next to the respective PM.
below are all the linux's i know of, and are still maintained:

Sorcery (from Source Mage) - @foxsouns Implemented.
lunar (from Lunar Linux) - @foxsouns Implemented
tce (from Tiny Core Linux)
Tazpkg (from SliTaz GNU/Linux)
pkgutils (from CRUX Linux) - @foxsouns Implemented.
qi (from Dragora GNU/Linux-Libre)
swupd (from Clear Linux OS)
Compile (from GoboLinux)
Upkg (from paldo GNU/Linux)
eopkg (from Solus)
opkg (used by OpenWRT, OpenEmbedded, Onion.io stuff, KOAN)
Entropy (Sabayon Linux)
netpkg (Zenwalk)
openpkg (aims to work on any unix, similar to guix)
puppy package manager (puppy linux: may or may not still be used?)
pkgsrc (a lot, including non-linux's. see this)
apt-rpm (used rarely, needs investigation, might work under normal apt)
0install (seems like a sort of .appimage distributing thing? claims to work on top of other pms, like guix. )

bsd's

freebsd ports: pkg (from FreeBSD, DragonflyBSD, GhostBSD)
openbsd ports: pkg (openbsd)
pkgsrc (NetBSD & others)
openpkg (see linux)

illumos'

IPS (used on multiple illumos forks, including OmniOS and OpenIndiana)
pkgsrc (on at least OpenIndiana, SmartOS)
apt/IPS (used by DilOS, seems to meld IPS into apt and update apt? needs investigation to see if it's compatible with our already used apt)
zap (used by Tribblix)
opencsw
openpkg

mac

fink (seems to be apt?)
pkgsrc (same as the one used above)

other unixs

pkgutils (Redox)
pkgin (MINIX)

others that seem likely candidates to work:

ToaruOS

if anybody else knows of a PM i've missed (and @willeccles: if you have an objection against any of these), please let me know, and i'll update the list.
this wikipedia entry on unix-like os' might be useful.
this wikipedia entry on package managers, generally is probably moreso

update (minor): add pkgsrc to mac, too, because now darwin is forked off in the elifs

@foxsouns Please update the original message to reflect that I have implemented both OpenBSD and FreeBSD's package managers.


HOSTEDCP-1480: Update TLS cert hash creation with sha512

What this PR does / why we need it:
Updates TLS cert hash creation with sha512 instead of sha1
Which issue(s) this PR fixes:
Fixes HOSTEDCP-1480
Checklist

[x] Subject and description added to both, commit and PR.
[x] Relevant issues have been referenced.
[ ] This change includes docs.
[ ] This change includes unit tests.

/test images
/test unit
/test verify
/test e2e-aws

/area hypershift-operator

/cherrypick release-4.15 release-4.14


Fix redis transaction when traffic is mirrored (new PR instead of https://github.com/envoyproxy/envoy/pull/28149)

Duplicate of: https://github.com/envoyproxy/envoy/pull/28149
I had to open this new PR since the commits in the previous PR were not signed properly.
Signing the commits retroactively was problematic because of a merge commit in the middle.

Commit Message: Fix redis transaction when traffic is mirrored
Additional Description:
When envoy is configured to mirror Redis traffic, using transactions (MULTI) would not work well, possibly leading to a crash. This PR fixes this issue by making the following changes:

I have defined MULTI, EXEC, and DISCARD as write commands, so they will be mirrored even when read commands are excluded from mirroring.
A dedicated connection for the transaction is opened for each redis server that receives mirrored commands, the same way a dedicated connection is opened to the main redis server.

This PR fixes the following issue: https://github.com/envoyproxy/envoy/issues/26342
Risk Level: Low
Testing: Integration tests and local tests. Reproduced the problem by using the same configuration used in the open issue.
Docs Changes: None
Release Notes: None
Platform Specific Features: None
[Optional Runtime guard:]
[Optional Fixes #Issue] https://github.com/envoyproxy/envoy/issues/26342
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

Can you add a release note for this? Thank you.
/wait

Done.


fix: precompile stacks to commonjs

Avoid the hell of Pulumi's typescript support.

Welcome to Codecov :tada:
Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.
Thanks for integrating Codecov - We've got you covered :open_umbrella:


RUN dotnet publish -c Release
WORKDIR /app
ENTRYPOINT ["dotnet", "run"]
[Edited by gewarren to add document details]

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

ID: 4c7470d2-9a57-7654-e13a-4f912898f7aa
Version Independent ID: 58d57b81-4ca6-6536-8788-f212402b41a7
Content: Containerize an app with Docker tutorial - .NET Core
Content Source: docs/core/docker/build-container.md
Product: dotnet-core
Technology: dotnet-docker
GitHub Login: @Thraka
Microsoft Alias: adegeo

@OneBlueBird Thanks for logging an issue. Are you referring to this page? https://docs.microsoft.com/en-us/dotnet/architecture/microservices/docker-application-development-process/docker-app-development-workflow

Nope. I will share it..give me some time
On Tue, Apr 21, 2020 at 12:45 AM Genevieve Warren<EMAIL_ADDRESS>wrote:

@OneBlueBird https://github.com/OneBlueBird Thanks for logging an
issue. Are you referring to this page?
https://docs.microsoft.com/en-us/dotnet/architecture/microservices/docker-application-development-process/docker-app-development-workflow
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dotnet/docs/issues/17942#issuecomment-616754532, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AITEMO7LI5OSPM42WKDXSYLRNSNMBANCNFSM4MLZN7ZA
.

Hi,
Good Day. I was referring page from below link:
https://docs.microsoft.com/en-us/dotnet/core/docker/build-container#feedback
Please try to improvise as it needs to help a developer like us to learn
and appreciate it.
Thank you
Saravanakumar
On Tue, Apr 21, 2020 at 12:45 AM Genevieve Warren<EMAIL_ADDRESS>wrote:

@OneBlueBird https://github.com/OneBlueBird Thanks for logging an
issue. Are you referring to this page?
https://docs.microsoft.com/en-us/dotnet/architecture/microservices/docker-application-development-process/docker-app-development-workflow
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dotnet/docs/issues/17942#issuecomment-616754532, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AITEMO7LI5OSPM42WKDXSYLRNSNMBANCNFSM4MLZN7ZA
.

Hello. I think adding WORKDIR is good for the entry point but I don't think copying all of the app into  the container is good.

Hi,
The instructions were not at all clear for a nee developer to take it and
run AS-IS. I didn't find it useful to take the instructions given in the
page as its useless!
On Thu, Apr 23, 2020 at 11:29 PM Andy De George<EMAIL_ADDRESS>wrote:

Hello. I think adding WORKDIR is good for the entry point but I don't
think copying all of the app into the container is good.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/dotnet/docs/issues/17942#issuecomment-618553442, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AITEMOYB5UANT5YCTILXCJLROB6Y5ANCNFSM4MLZN7ZA
.

I'm sorry this article isn't helping you. I took some time to look into the feedback posted through the website and I only came up with 5 from the last 90 days and they were all positive saying how this helped them as a new user.
With your suggestion, I'm not sure what it is adding except compiling within the container itself. I'm not sure what more that adds to the article except moving one step from outside the container to inside the container.
Perhaps you can explain more about your reasoning?

Okay. As a new developer, if I were to try and understand how to write a Dockerfile for a given .NET core console apps from the link https://docs.microsoft.com/en-us/dotnet/core/docker/build-container,  hardly I can only see only below lines as given below:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
COPY app/bin/Release/netcoreapp3.1/publish/ app/
ENTRYPOINT ["dotnet", "app/myapp.dll"]
Do you think, some one new reads full page and copy paste above three lines and gets educated to understand how a dockerfile is written as per instructions from link? I don't see any value here. Neither the above instructions works. If it works by copying the above three lines, please let me know. I owe you a coffee.

After creating the docker image, I am not able to create a runable container. Let me show steps that are not convincing here to me:

I followed the instruction to create myimage:

docker build -t myimage -f Dockerfile .

Create a container
2. docker create myimage
Check the running container
3. docker ps -a
--> Displays container in Exited state!

docker start vibrant_ganguly
--> Displays vibrant_ganguly

docker ps -a
--> Exited (0) x seconds ago !

@OneBlueBird Hello. Can you share the following information?

What OS are you using?
Can you provide the contents of program.cs?
Can you navigate to the working directory from the tutorial and run the command tree and paste the output?

Thanks!

Windows 10 Enterprise with Docker Hub Installed

Program.cs below:
using System;

namespace myapp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}

Tree view

Microsoft Windows [Version 10.0.18362.720]
(c) 2019 Microsoft Corporation. All rights reserved.
C:\Windows\system32>d:
D:>cd D:\skdotnetcoretest
D:\skdotnetcoretest>tree
Folder PATH listing
Volume serial number is 042E-2ED1
D:.
└───app
├───bin
│   ├───Debug
│   │   └───netcoreapp3.1
│   └───Release
│       └───netcoreapp3.1
│           └───publish
└───obj
├───Debug
│   └───netcoreapp3.1
└───Release
└───netcoreapp3.1
D:\skdotnetcoretest>

Ahh I think I found your problem :) The way docker works is that if the process container runs (the app)  ends, the container shuts down. This is why the sample app at the start of the article is a loop that prints.
static void Main(string[] args)
{
    Console.WriteLine("Hello World!");
}

Your code above will print "Hello World" and then quit. That stops the container and the container status is: Exited (0) x seconds ago

Change your app to the following from the tutorial article:
using System;

namespace myapp
{
    class Program
    {
        static void Main(string[] args)
        {
            var counter = 0;
            var max = args.Length != 0 ? Convert.ToInt32(args[0]) : -1;
            while (max == -1 || counter < max)
            {
                counter++;
                Console.WriteLine($"Counter: {counter}");
                System.Threading.Tasks.Task.Delay(1000).Wait();
            }
        }
    }
}

I want to make it simple here. I just want to run a Hello World program. It seems, the code in the docs website uses brute force techniques to make Docker run(for the sake of making it run). Any Docker sample that we run today to run Hello World program need not have these unnecessary loops.

@OneBlueBird Gotcha! Thank you for the feedback.
@IEvangelist has taken over the article. My initial thought is to close this feedback. The article is currently designed to show an app running inside of the container and then how to interact with the container through docker. If the app immediately stops, you can't do that.

Hi @OneBlueBird,
If you're Program.cs is a simple Console.WriteLine it exits immediately. If so, that is fine - however; this tutorial exemplifies a few more capabilities, that require the executable to remain running. With that said, if you want to see "Hello World" print from a container, run the following command with your app:
docker run -it --rm [image name]

This will print "Hello World" to the console, and then remove the container when done - which happens instantly. For the tutorial, we're going to leave it as is. Does this help?

Hi @OneBlueBird - I'm going to close this issue for now. If you would like more assistance with this, please follow up here and we'll have another look. I believe I was able to help you out with the details here. Thank you


Browser support documentation?

I can't find any notes about browser support. Could anyone please tell about it?

With Tailwind browser compatibility is sort of a weird topic. Because everything is just tiny utility classes that only apply one property, its really more up to the user to decide what features they want to use.
For example, Tailwind has a bunch of Flexbox stuff but Flexbox wont work on IE 9, so flex or justify-between aren't going to work there. That doesn't really mean Tailwind is inherently incompatible with IE 9 though, it's only incompatible if you choose to use CSS features that aren't supported in IE 9.
Unlike other frameworks that provide higher level abstractions (like Bootstrap for example), you never really have to worry about some abstraction we provide being built on top of some modern browser feature without you knowing about it. So you're never going to find a class like form-control and not know if it's IE 9 compatible because maybe it's built with Flexbox internally — any time you are using Flexbox with Tailwind it's very explicit.
As a general rule we only include features in core if they are supported in IE 11 + evergreen browsers, but over time hoping to be able to include more useful stuff that's not supported in IE 11, like CSS Grid. We already include some things that aren't supported in IE 11, like utilities for position: sticky and object-fit/object-position but as always you can simply choose not to use those features if you need to support older browsers.


could you provide a simple way for using the library with fragments

could you provide a simple way for using the library with fragments to be similar to FragmentStatePagerAdapter for example?

I am trying this.
For my purpose I added a class that extends AbstractState. But app crashes once TabSwitcherView is opened and I select the tab to show up. Because fragment not found.
I need little help on this.
private class  TabState extends AbstractState {

      @Override
      public final void saveInstanceState(@NonNull final Bundle outState) {
            // ====> this method gets called when tabSwitcherButton Clicked
      }

      @Override
      public void restoreInstanceState(@Nullable final Bundle savedInstanceState) {
              // This method does not get called. When tab is shown.
       }

}

Can you help me on this? How can I make state so that restoreInstanceState gets called on tab shown?


[5.3] Fix a SwiftPM 5.2 regression that cause it to try to compile unknown files in pre-5.3 manifests

SwiftPM 5.2 introduced a regression that caused a semantic change in how package manifests declaring a tools version earlier than 5.3 were parsed. Specifically, files with an unknown source type are not ignored, as they were in SwiftPM 5.1.x and earlier. This leads to issues such as the one reported here: https://swiftpm.slack.com/archives/C14QU6CUU/p1587442104122300
This is the 5.3 nomination PR.  The original change is already on master
(cherry picked from commit 3f63a2ddef92c7feaa083b9418b59988fb20426b)

@swift-ci please test


Shows Platform specific MailAppPickerDialogs and showNoMailAppsDialog added with Updated example app

Shows Platform specific MailAppPickerDialogs and  showMailAppList, showNoMailAppsDialog added with Updated example app

Thanks for the contribution @saurabhandhare. The goal of this project is to abstract the accessing of information about the installed mail apps. With that data, apps are free to implement any UI they want. The current dialog in the project is just so people can test quickly when getting started.
I'm going to close this PR, because we don't want this project to have to maintain user interface components, but I appreciate the work!


Check ifdef MARKDOWN_LINT_WHITELIST

Fixed #26

/lgtm
/approve

@itdove if you use Fixed #26 , your issue will be closed automatically by the ci bot.


confluent_role_binding to accept a list of principal users

Can you implement confluent_role_binding to accept a list of principal users?
We have several teams, and today we have to repeat the resource confluent_role_binding for each principal user. It is a lot of code duplication. It could be nice and cleaner code if we only could add  all the principals as a list:
E.g.
resource "confluent_role_binding" "role-binding-team-sales-dk-DeveloperRead-o-gfdk-webshop-fct-proposal-purchased-r-0" {
  principal   = "User:${local.ua-lukasz-luzny},${local.ua-mikolaj-kieler},${local.ua-joakim-b-hansen}"
  role_name   = "DeveloperRead"
  crn_pattern = "${data.confluent_kafka_cluster.test_kafka_cluster_1.rbac_crn}/kafka=${data.confluent_kafka_cluster.test_kafka_cluster_1.id}/topic=o.gfdk.webshop.fct.proposal-purchased.r.0"
}

Henrik

I am using the below
resource "confluent_role_binding" "nonprod_topics_readonly_rb" {
for_each = toset(var.nonprod_readonly)
principal   = "User:${each.value}"
role_name   = "DeveloperRead"
crn_pattern = "${confluent_kafka_cluster.nonprod.rbac_crn}/kafka=${confluent_kafka_cluster.nonprod.id}/topic=*"
}
in variables.tf
variable "nonprod_readonly" {
description = "Non Production Kafka Topics - ReadOnly"
type        = list(string)
default     = ["u-qrqxq6", "u-97r5n5"]
}


Cross compiling fails to build

Hi I am trying to cross compile a .dll on linux for windows using x86_64-pc-windows-gnu as, my target, however, the build keeps failing. Is this library not compatible for cross compiling yet?

How are you trying to compile and what is the result?

I am compiling from linux to windows using the nightly x86_64-pc-windows-gnu. My code is as follows, but I have removed some of the path information.
use std::path::Path;
use netcorehost::{pdcstring,nethost};
use std::error::Error;
use path_absolutize::Absolutize;

fn main() ->  Result<(), Box <dyn Error>> {
    use pdcstring::PdCString;

    let test_out_dir = Path::new("C:\\some\\pathonwindows\\").absolutize()?;
    let f_path = Path::join(&test_out_dir, "test.dll");
    let assembly_path = PdCString::from_os_str(f_path)?;
    let hostfxr = nethost::load_hostfxr()?;
    let context = hostfxr.initialize_for_dotnet_command_line(assembly_path)?;
    let result = context.run_app();

    Ok(())
}

The error I am getting is when compiling with cargo build --target x86_64-pc-windows-gnu
 $PATH/netcorehost-0.3.0/src/nethost.rs:40: undefined reference to `get_hostfxr_path'
          collect2: error: ld returned 1 exit status

  = help: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
  = note: use the `-l` flag to specify native libraries to link
  = note: use the `cargo:rustc-link-lib` directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

I just pushed some changes can you try it again with the current version on master?

Hi I am still pretty new to rust and I dont know if I am doing this right, but this is my cargo.toml
[package]
name = "dotnettest"
version = "0.1.0"
edition = "2018"

[dependencies]
netcorehost = { git = "https://github.com/OpenByteDev/netcorehost"}
path-absolutize = "3.0"

I tried compiling with cargo build --target x86_64-pc-windows-gnu  but I am still getting the same errors as above. Code has not change at all.

Can you run cargo clean and try again?

I have tried again with cargo clean and then building it, but the result is the same

Can you take a look into target/debug/nethost and tell me what files are inside?

Could you share a repo where the error occurs?

I have tried and changed to use the latest cargo version 0.3.1 and there is a different error now.
  = note: /usr/bin/x86_64-w64-mingw32-ld:$PATH/target/x86_64-pc-windows-gnu/debug/nethost/win-x64/libnethost.lib: error adding symbols: file format not recognized
          collect2: error: ld returned 1 exit status

error: aborting due to previous error; 1 warning emitted

error: could not compile `dotnettest`

You should make a new comment instead of replacing an old one.

I'm not sure what's the problem. I assume the libnethost.lib ist incompatible with the gnu toolchain on windows.
Alternatively you could try to target x86_64-pc-windows-msvc using cross.

The files inside there ar archive
ijwhost.lib:    current ar archive
libnethost.lib: current ar archive
nethost.lib:    current ar archive

Not sure exact issue, but working for me in ubuntu 20.4 LTS.
cstr = "0.2.8"
netcorehost = "^0.3.1"
path-absolutize = "3.0.10"
wchar = "0.10.1"

Are you sure you are building for windows? e.g. with cargo build --target x86_64-pc-windows-gnu?

Sorry, I am using  x86_64-unknown-linux-gnu


Recycle some variables

On aleat3.constructor.Aleatoryous.__init__, there are not-needed variables. I must delete them.

I think there are no problems with merging right now. I will do it.


Any way to open a captured session file?

Sup
I did a trace in a remote machine, copy the saved file (.pmx) but i cannot open it on the app...
Already tried perfview and others but seems the file is not compatible... and i dont have enough c++ knowledge to add this functionality... Any alternative?
Thanks

I haven't added that functionality
I don't know what a .pmx file is... for ETW it should be ETL.
ETL files should be openable at least with WPA (Windows Performance Analyzer).

Hey bud, thanks for the reply.
PMX is the format that ProcMonXv2 offers to save the captured session.

Thanks!

right... it's been a while.
This is a private format, so will not work anywhere else. I think it's text... open in Notepad
I need to get back to this to look closer.

OK, not a text file :) There is a CSV option in Save...
Anyway, you can open pmx file in a compound file viewer (like SSView)

I tried to save (.csv format), but "failed to save data".


bad_json error with b2

I believe I filed this before. But I just can't remember.
log link
rclone v1.33-79-g77b975dβ
Remote is b2.
Basically what's happening is I'm getting a complaint from the log that the file length is way too long?  The line you are looking for is this.
2016/12/19 10:45:40 Failed to sync: File name segment must be no more than 250 bytes (400 bad_json)
This looks very familiar to what I filed a few months ago. By the way the file back up just stops with no errors except with that one. Did the JSON  API Brake? I can back up everything else successfully as far as i can tell.
Thanks.When filing an issue, please include the following information if possible as well as a description of the problem.  Make sure you test with the latest beta of rclone.
If you've just got a question then please use the rclone forum instead of filing an issue.

What is your rclone version (eg output from rclone -V)

Which OS you are using and how many bits (eg Windows 7, 64 bit)

Which cloud storage system are you using? (eg Google Drive)

The command you were trying to run (eg rclone copy /tmp remote:tmp)

A log from the command with the -v flag (eg output from rclone -v copy /tmp remote:tmp)

I'm not 100% sure what is going on from that log.
Can you run it without the -q flag and with the -v flag and post another log please?

You did file this before. Please follow issue reporting procedure: https://github.com/ncw/rclone/blob/master/CONTRIBUTING.md#reporting-a-bug
The B2 API is responding that a filename is too long, but without verbose log output it is impossible to tell what that filename is.

Ok, here is the log again, uploaded to my GDrive
outputsa.logaa.zip https://drive.google.com/uc?export=download&id=0BzuhYKTnNu0ka25sNzRwSHhJejg
(8 KB)

On Dec 21, 2016, at 12:39 PM, Darwin<EMAIL_ADDRESS>wrote:
You did file this before. Please follow issue reporting procedure: https://github.com/ncw/rclone/blob/master/CONTRIBUTING.md#reporting-a-bug https://github.com/ncw/rclone/blob/master/CONTRIBUTING.md#reporting-a-bug
The B2 API is responding that a filename is too long, but without verbose log output it is impossible to tell what that filename is.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/ncw/rclone/issues/965#issuecomment-268633365, or mute the thread https://github.com/notifications/unsubscribe-auth/ADcnFxIfBOs_LjYydjAYyXjvE2hOtbtxks5rKY6RgaJpZM4LRPN9.

I managed to recreate the log file and the issue with the verbose setting. It keeps getting stuck at the ~/library which I excluded. I tried doing a rclone cleanup but that didn't seem to work. I don't know if this log will help, but thought I'd attach it as I happen to look. Interesting that this should only effect my home dir which I'm backing up.
output log file here.
Thanks.

I managed to recreate the log file and the issue with the verbose setting. It keeps getting stuck at the ~/library which I excluded. I tried doing a rclone cleanup but that didn't seem to work. I don't know if this log will help, but thought I'd attach it as I happen to look. Interesting that this should only effect my home dir which I'm backing up.
output log file here.
Thanks.

This is likely caused by a very long filename.
The log, rather unhelpfully doesn't say which file it is.
Can you post the contents of your --filter-from and at least I can help you with the filter lines to stop it transferring?


Remove the now unnecessary 'path' feature

Thanks! BTW, this is the reason I wanted to spread the commit rights further -- I couldn't turn my computer for a second this weekend.

Not a problem! :smile:


兼容OC吗？

兼容OC吗 ????????

You're going to have to be more specific. What is OC?

I think by "OC" he means Objective-C, @davidliu.

It should work with ObjC.


Add header pic & favicon & title

Changes proposed in this Pull Request:

Add title picture in the drawer header
Change title and favicon
Adjust background image positioning
global yarn prettier & lint

Storybook favicon.ico served up and displays for a moment then our pxblue icon displays

I set the padding top of sidebar header to 16px, because 8px feels uncomfortable...


Adjust for upcoming flatdata-rs 0.4 API changes

Mostly minor changes:

&T vs TRef
[] instead of at/slice
T vs StructBuf

The new API looks really good. Did you check if docs are still fine, or we need to add more in flatdata?

Docs for structs were missing: Those should most likely be added


Whitelist: incorrect version matching

Before:
 $ vulnix -w whitelist.yaml —system
…
========================================================================
bundler-1.10.5

CVEs:
	https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-7954

========================================================================
bundler-1.8.9

CVEs:
	https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-7954

========================================================================
…

But when inserting a 'inprogress'-entry for bundler,
…
-
    name: bundler
    version: '1.10.5'
    cve:
        - CVE-2016-7954
    status: 'inprogress'
    comment: |
        Will be fixed soon
-
…

both versions are getting marked as work in progress.
========================================================================
bundler-1.10.5*

CVEs:
	https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-7954

========================================================================
bundler-1.8.9*

CVEs:
	https://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2016-7954

========================================================================

Even though this makes sense in this case as both are affected by the issue, it's kind of surprising behavior.

I think this bug report is obsolete since I've ripped out the "workinprogress" feature completely.


fix: remove export types in eslint-plugin

build.config file has declaration = false

Oh thanks, I just removed it already


[metadata] default with executable and option

The default property in the Property data file readme says
Default values may use the execute: syntax. If they do, the script is executed, and the default value for the property is whatever is in the it variable afterward.
By script, do we mean an LCS handler, or do we mean a function in the LCB file?
NOTE: option also includes the same description of using execute

It is going to be LCS.  The PI is purely in the realm of the IDE and on the LCS side.  I'm not sure how to use this syntax though.

It's curious that you cannot us execute script during OnCreate() and OnLoad(), but default values for properties can use the execute: syntax.

https://livecode.com/topic/hacking-the-ide-properties-elanor-buchanan-2pm/


Exception when running 0.1.0 binaries

Hi,
I tried running "babble_0.1.0_darwin_amd64" and an exception:
DEBU[0000] RUN                                           cache_size=500 client_addr="<IP_ADDRESS>:1339" datadir="/Users/ayishai/Library/BABBLE" heartbeat=1000 max_pool=2 no_client=false node_addr="<IP_ADDRESS>:1337" proxy_addr="<IP_ADDRESS>:1338" service_addr="<IP_ADDRESS>:80" tcp_timeout=1000
DEBU[0000] Init Node                                     node="<IP_ADDRESS>:1337" peers=[]
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x1362201]

goroutine 1 [running]:
github.com/babbleio/babble/node.(*Core).PubKey(0xc420168280, 0xc420178000, 0xc4201212f8, 0x1091912)
	/go/src/github.com/babbleio/babble/node/core.go:67 +0x61
github.com/babbleio/babble/node.(*Core).Init(0xc420168280, 0xc420121628, 0x1)
	/go/src/github.com/babbleio/babble/node/core.go:83 +0x43
github.com/babbleio/babble/node.(*Node).Init(0xc420180000, 0x0, 0x0)
	/go/src/github.com/babbleio/babble/node/node.go:98 +0x280
main.run(0xc420168140, 0x0, 0xc420168140)
	/go/src/github.com/babbleio/babble/cmd/babble/main.go:205 +0xea6
github.com/babbleio/babble/vendor/gopkg.in/urfave/cli%2ev1.HandleAction(0x13efae0, 0x149f6d8, 0xc420168140, 0xc420166000, 0x0)
	/go/src/github.com/babbleio/babble/vendor/gopkg.in/urfave/cli.v1/app.go:485 +0xd2
github.com/babbleio/babble/vendor/gopkg.in/urfave/cli%2ev1.Command.Run(0x1480a8f, 0x3, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1483e83, 0x8, 0x0, ...)
	/go/src/github.com/babbleio/babble/vendor/gopkg.in/urfave/cli.v1/command.go:193 +0xa99
github.com/babbleio/babble/vendor/gopkg.in/urfave/cli%2ev1.(*App).Run(0xc4201581a0, 0xc42000a060, 0x2, 0x2, 0x0, 0x0)
	/go/src/github.com/babbleio/babble/vendor/gopkg.in/urfave/cli.v1/app.go:250 +0x758
main.main()
	/go/src/github.com/babbleio/babble/cmd/babble/main.go:122 +0x557

It looks like this particular error is related to a missing key.
Did you put a priv_key.pem file in datadir (/Users/ayishai/Library/BABBLE)?
I also notice that you are running a single node (peers[] is empty). That wont work.
You will need to run at least two nodes.
I understand this is quite painful to setup. Perhaps looking at the scripts in the demo folder could be useful.
The easiest way to generate the configuration for 2 nodes is to go into the demo/ directory and run:
make conf nodes=2. This will create two folders: demo/conf/node1 and demo/conf/node2.
You can change the peers.json file to use whichever IPs you want to give to your nodes. Then copy the content of the folders in the datadir of the respective nodes.
If you are not going to use docker you are going to have to be careful in setting the address flags when running both nodes otherwise there will be port conflicts..
I hope this makes sense

Hi,
No I didn't created priv_key.pem - but I would expected that a proper error message will be thrown.
Right now, there aren't too many users of babble, but when you will have a bigger userbase, babble will have to tell the user (as much as possible), "User, you did X wrong. please fix", otherwise there is going to be a flood of tickets like this.
In addition, I was following the documentation, but were using the binary files, so didn't do run any 'make' commands, maybe there should be different usage instructions for binaries ?
One last thing, the 'service_addr' is <IP_ADDRESS>:80, which is not going to work out of the box on linux/osx, since non-root users can only use ports above 1024, so it might be better pick some other port, about 1024 (but not 8080 or 3000 - those ports are usually used by other services, and we want to minimize conflicts), even though multiple instances on the same machine WILL conflict.
Not trying to be offensive, I just think this kind of tech is really interesting and I want to see it growing in popularity !
It's working now, closing ticket.

I actually value this feedback a lot. So thanks for taking the time to write this up!
I think the latest commits address the issues you mentioned above. Also I have updated the
documentation to explain the manual setup.
There are obviously many improvements to add to the code to make it easier to adopt and more
robust. Feel free to create some pull requests for the code or the documentation :)


[promtool] Export metrics in openmetrics format

Proposal
It sometimes happens that metrics are ingested with wrong labels, since there's no facility to update the labels on the file inside the tsdb the next best thing would be to export them and reimport.
The reimport is already solved with the tsdb create-block-from openmetrics command.
The export also works via the query range command.
The Problem is that it's not possible to import the data we got from the export with the backfill command. This would allow to modify the data in a text editor or external program and then simply reimport it into prometheus.
For this to work the query range command would need openmetrics as an additional output format (to json and promql).

I think query output in OpenMetrics form is probably generally useful. However for your particular use case you actually want rewriting, rather than export+import, as that way either needs the whole TSDB to be dumped (and that doesn't really scale) or you end up with potentially duplicate data when you import the updated labels.
One option that works now is to use thanos's tooling, for offline block modification, see https://thanos.io/tip/operating/modify-objstore-data.md/ (particularly the relabelling part and "Rewrite Prometheus TSDB blocks" at the end).

For me it would be perfect, I just screwed up 10 minutes of my series when switching exporters and now all of my grafana dashboards with group_left / group-right are screwed since I got suddenly more than one series.
The quick fix was to export the data, and delete it from prometheus. I just need to figure out how to get those 10 min back. It’s only about 100k lines, but the create-blocks-from openmetrics complains about an INVALID token (printing the offending line would also be helpful)

An issue similar to this one https://github.com/prometheus/prometheus/issues/8280 was closed in favor of https://github.com/prometheus/prometheus/issues/8281 which asks for the support of "backfilling" from promtool tsdb dump output.


Tasks Left for App

Client App:

[ ] Diary (Sam)
[ ] Doctor Info, some info arent in the database & Diary in backend (#233 )
[x] Notify to update status everyday (Laila)
[ ]  #335
[x] #333
[x] #327
[x] #4

Admin App:

[x] Finish Notifications (Saleha & Ali)
[x] Dashboard line chart (Quang)
[x] Appointments (Quang)
[ ] Display Upcoming Appointments on Dashboard (Marwa)
[ ] Visibility based on logged in user (Laila & Quang)
[x] CSS for News & Events Page (Hoda) #329
[x] #295
[ ] #339

Both Apps:

[ ] Fix tests (Ali)

I was planning to add the 2 datasets on the line chart (New cases & Active cases) but since this chart needs daily active data and a huge amount of newly reported patients, I'll drop it. Our system is not sophisticated enough.

all done or pushed to sprint 5!


NSFW Content Blocking [Rough Draft]

User Story
As a user, I want to be able to choose whether to see NSFW content, and if I choose not to, listings and users that are labelled NSFW will be obscured when I see them. I also want to be able to take action to temporarily look at a specific NSFW listing or user without having to see all NSFW content.
Functional Requirements
When the user's NSFW flag in settings is set to false:

Listing Cards marked NSFW

[ ] Should be obscured, including the name of the listing and the user name.
[ ] A message explaining they are blocked due to being NSFW should be shown.
[ ] A button that will temporarily (until the next render) show the listing should be available.

User Cards marked NSFW

[ ] Should be obscured, including the user name.
[ ] A message explaining they are blocked due to being NSFW should be shown.
[ ] A button that will temporarily (until the next render) show the listing should be available.

Listing Pages marked NSFW

[ ] Should be obscured, including the name of the listing and the user name.
[ ] A message explaining they are blocked due to being NSFW should be shown.
[ ] A button that will temporarily (until the next render) show the listing should be available.

QUESTION: Should moderators that are marked NSFW also be blocked? Their avatar and name may still be NSFW content.
Notes
This functionality should work in a similar manner to the blocked user functionality.

Design work has been completed on this task


Option to change background

Please add an option to change the background image.

@justoverclockl
Is this done?

Yes is actually available

@shydert


Extract common github config (dependabot)

This was introduced individually in all repos, e.g. https://github.com/rspec/rspec-core/pull/2994

This is provided by #303


High CPU usage

i used caddy-l4 for forwarding data to unix sockets but i have cpu issue with caddy
handler reverse_proxy with proxy_protocol enabled

It's hard to resolve such claim without specifics. You can start by reading this page to extract CPU profiles from Caddy. Share the profiles with us.
I've attached a template below that will help make this easier and faster! This will require some effort on your part -- please understand that we will be dedicating time to fix the bug you are reporting if you can just help us understand it and reproduce it easily.
This template will ask for some information you've already provided; that's OK, just fill it out the best you can. :+1: I've also included some helpful tips below the template. Feel free to let me know if you have any questions!
Thank you again for your report, we look forward to resolving it!
Template
## 1. Environment

### 1a. Operating system and version

```
paste here
```

### 1b. Caddy version (run `caddy version` or paste commit SHA)

```
paste here
```

### 1c. Go version (if building Caddy from source; run `go version`)

```
paste here
```

## 2. Description

### 2a. What happens (briefly explain what is wrong)

### 2b. Why it's a bug (if it's not obvious)

### 2c. Log output

```
paste terminal output or logs here
```

### 2d. Workaround(s)

### 2e. Relevant links

## 3. Tutorial (minimal steps to reproduce the bug)

Helpful tips

Environment: Please fill out your OS and Caddy versions, even if you don't think they are relevant. (They are always relevant.) If you built Caddy from source, provide the commit SHA and specify your exact Go version.

Description: Describe at a high level what the bug is. What happens? Why is it a bug? Not all bugs are obvious, so convince readers that it's actually a bug.

2c) Log output: Paste terminal output and/or complete logs in a code block. DO NOT REDACT INFORMATION except for credentials.
2d) Workaround: What are you doing to work around the problem in the meantime? This can help others who encounter the same problem, until we implement a fix.
2e) Relevant links: Please link to any related issues, pull requests, docs, and/or discussion. This can add crucial context to your report.

Tutorial: What are the minimum required specific steps someone needs to take in order to experience the same bug? Your goal here is to make sure that anyone else can have the same experience with the bug as you do. You are writing a tutorial, so make sure to carry it out yourself before posting it. Please:

Start with an empty config. Add only the lines/parameters that are absolutely required to reproduce the bug.
Do not run Caddy inside containers.
Run Caddy manually in your terminal; do not use systemd or other init systems.
If making HTTP requests, avoid web browsers. Use a simpler HTTP client instead, like curl.
Do not redact any information from your config (except credentials). Domain names are public knowledge and often necessary for quick resolution of an issue!
Note that ignoring this advice may result in delays, or even in your issue being closed. 😞 Only actionable issues are kept open, and if there is not enough information or clarity to reproduce the bug, then the report is not actionable.

Example of a tutorial:
Create a config file:
{ ... }

Open terminal and run Caddy:
$ caddy ...

Make an HTTP request:
$ curl ...

Notice that the result is ___ but it should be ___.

We need the full file, not just a cropped image. Also share the full config.

I noticed the GitHub app has a hard time with SVGs.
looks like a LOT of time is being spent in syscalls... reading and writing file descriptors (sockets) in the proxy module. I assume these are TCP packets from the client, based on the listen address?
@smaznet If you remove the proxy protocol does the CPU usage improve?

@smaznet What exactly do you mean with high CPU usage? What do you expect as normal usage?
Sending requests as fast as possible from 1000 workers with vegeta will obviously max out your CPU.
Since I was afraid this had something to do with the recent matching rewrite (see https://github.com/mholt/caddy-l4/pull/192) I did some own benchmarking. With my favorite testing config 😅 :

prefetch.json
{
  "admin": {
    "disabled": true
  },
  "logging": {
    "logs": {
      "default": {"level":"DEBUG", "encoder": {"format":"console"}}
    }
  },
  "apps": {
    "tls": {
      "certificates": {
        "automate": ["localhost"]
      },
      "automation": {
        "policies": [{
          "subjects": ["localhost"],
          "issuers": [{
            "module": "internal"
          }]
        }]
      }
    },
    "layer4": {
      "servers": {
        "https": {
          "listen": ["<IP_ADDRESS>:10443"],
          "routes": [
            {
              "match": [
                {"proxy_protocol": {}}
              ],
              "handle": [
                {
                  "handler": "proxy_protocol",
                  "timeout": "2s",
                  "allow": ["<IP_ADDRESS>/32"]
                }
              ]
            },
            {
              "match": [
                {"tls": {"sni": ["localhost"]}}
              ],
              "handle": [
                {"handler": "tls"}
              ]
            },
            {
              "match": [
                {"http": [{"host": ["localhost"]}]}
              ],
              "handle": [
                {
                  "handler": "proxy",
                  "upstreams": [{"dial": ["<IP_ADDRESS>:10080"]}]
                }
              ]
            }
          ]
        }
      }
    },
    "http": {
      "servers": {
        "backend": {
          "protocols": ["h1","h2","h2c"],
          "listen": ["<IP_ADDRESS>:10080"],
          "routes": [
            {
              "handle": [{
                "handler": "static_response",
                "status_code": "200",
                "body": "Hello World\n",
                "headers": {
                  "Content-Type": ["text/plain"]
                }
              }]
            }
          ]
        }
      }
    }
  }
}

These are the numbers I get on my machine for the commit 145ec36251a44286f05a10d231d8bfb3a8192e09 (before the matching rewrite) and f04916554cbe94a116aaef90368fd0ac99bce513 is the current master:
PS G:\Temp> echo "GET http://localhost:10443" | ./vegeta.exe attack -rate=0 -max-workers 1000 -duration=60s -output 145ec3-http-1.bin
PS G:\Temp> echo "GET http://localhost:10443" | ./vegeta.exe attack -rate=0 -max-workers 1000 -duration=60s -output 145ec3-http-2.bin
PS G:\Temp> echo "GET http://localhost:10443" | ./vegeta.exe attack -rate=0 -max-workers 1000 -duration=60s -output 145ec3-http-3.bin
PS G:\Temp> .\vegeta.exe report .\145ec3-http-1.bin
Requests      [total, rate, throughput]         9411901, 156865.33, 156855.21
Duration      [total, attack, wait]             1m0s, 1m0s, 3.87ms
Latencies     [min, mean, 50, 90, 95, 99, max]  1.102ms, 3.036ms, 1.614ms, 7.674ms, 10.589ms, 17.863ms, 1.149s
Bytes In      [total, mean]                     112942812, 12.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:9411901
Error Set:
PS G:\Temp> .\vegeta.exe report .\145ec3-http-2.bin
Requests      [total, rate, throughput]         9527806, 158794.31, 158792.91
Duration      [total, attack, wait]             1m0s, 1m0s, 527µs
Latencies     [min, mean, 50, 90, 95, 99, max]  534.7µs, 1.688ms, 595.513µs, 4.06ms, 6.213ms, 12.558ms, 1.119s
Bytes In      [total, mean]                     114333672, 12.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:9527806
Error Set:
PS G:\Temp> .\vegeta.exe report .\145ec3-http-3.bin
Requests      [total, rate, throughput]         9404961, 156749.46, 156749.24
Duration      [total, attack, wait]             1m0s, 1m0s, 84.3µs
Latencies     [min, mean, 50, 90, 95, 99, max]  84.3µs, 3.381ms, 1.777ms, 8.625ms, 11.849ms, 19.253ms, 972.624ms
Bytes In      [total, mean]                     112859532, 12.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:9404961
Error Set:

PS G:\Temp> echo "GET http://localhost:10443" | ./vegeta.exe attack -rate=0 -max-workers 1000 -duration=60s -output f04916-http-1.bin
PS G:\Temp> echo "GET http://localhost:10443" | ./vegeta.exe attack -rate=0 -max-workers 1000 -duration=60s -output f04916-http-2.bin
PS G:\Temp> echo "GET http://localhost:10443" | ./vegeta.exe attack -rate=0 -max-workers 1000 -duration=60s -output f04916-http-3.bin
PS G:\Temp> .\vegeta.exe report .\f04916-http-1.bin
Requests      [total, rate, throughput]         9356041, 155928.36, 155920.48
Duration      [total, attack, wait]             1m0s, 1m0s, 3.035ms
Latencies     [min, mean, 50, 90, 95, 99, max]  22.8µs, 1.815ms, 684.44µs, 4.331ms, 6.731ms, 12.387ms, 1.376s
Bytes In      [total, mean]                     112272492, 12.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:9356041
Error Set:
PS G:\Temp> .\vegeta.exe report .\f04916-http-2.bin
Requests      [total, rate, throughput]         9228292, 153804.43, 153799.90
Duration      [total, attack, wait]             1m0s, 1m0s, 1.767ms
Latencies     [min, mean, 50, 90, 95, 99, max]  110.4µs, 3.416ms, 1.819ms, 8.547ms, 11.795ms, 19.691ms, 1.148s
Bytes In      [total, mean]                     110739504, 12.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:9228292
Error Set:
PS G:\Temp> .\vegeta.exe report .\f04916-http-3.bin
Requests      [total, rate, throughput]         9500202, 158335.41, 158329.55
Duration      [total, attack, wait]             1m0s, 1m0s, 2.22ms
Latencies     [min, mean, 50, 90, 95, 99, max]  606.6µs, 1.762ms, 649.258µs, 4.178ms, 6.483ms, 12.463ms, 1.213s
Bytes In      [total, mean]                     114002424, 12.00
Bytes Out     [total, mean]                     0, 0.00
Success       [ratio]                           100.00%
Status Codes  [code:count]                      200:9500202
Error Set:
PS G:\Temp>

So just a <1% difference in average throughput. But running caddy and vegeta on the same machine is not very sensible anyways since they fight over cpu time.
Adding sending and receiving of proxy_protocol to the config did not change the numbers significantly. Running with TLS was like expected a bit slower with an average throughput of 130590.14

FWIW I'm also guessing normal operation. Lots of traffic = lots of CPU. :man_shrugging:

1. Environment
Ubuntu 22.04.2 LTS
Caddy version:
v2.7.6 h1:w0NymbG2m9PcvKWsrXO6EEkY9Ru4FJK8uQbYcev1p3A=
config

......

    {

    "listen": [

            ":5000",

            ":2087"

          ],

          "routes": [

            {

              "match": [

                {

                  "tls": {}

                }

              ],

              "handle": [

                {

                  "handler": "tls",

                  "connection_policies": [

                    {

                      "client_authentication": {

                        "mode": "request"

                      }

                    }

                  ]

                },

                {

                  "handler": "proxy",

                  "proxy_protocol": "v2",

                  "upstreams": [

                    {

                      "dial": [

                        "unix//sockets/r-{l4.tls.server_name}.socket"

                      ]

                    }

                  ]

                }

              ]

            },

            {

              "match": [

                {

                  "http": []

                }

              ],

              "handle": [

                {

                  "handler": "proxy",

                  "proxy_protocol": "v2",

                  "upstreams": [

                    {

                      "dial": [

                        "unix//sockets/r-{l4.http.host}.socket"

                      ]

                    }

                  ]

                }

              ]

            }

          ]}

    ....

profile.svg

Hey there!
We have also seen this issue, and when grabbing a profile of the process, it seems a lot of time is being wasted in userspace in the layer4 module.

CPU utilization went from ~1% to ~600%. We have isolated this to be a change bewteen commit c5d815daed3cf7c9be6f199b324aeae8b3c865f0 (good, pre 19:00) and ce9789f602eb7de74472d6b15e945181b7bcfe4a (awful, post 19:00)

Please find attached cpu profiles captured (no GC, binary, 60s duration each) during regular traffic periods with Caddy at version 2.8.4 and either commit of the module.
profiles.zip
The following configuration was used: (redacted)
We need to use unix sockets as an intermediate because of a use-case we have.
{
  "logging": {
    "logs": {
      "default": {
        "level": "info",
        "writer": {
          "output": "stdout"
        },
        "encoder": {
          "format": "json"
        }
      }
    }
  },
  "apps": {
    "layer4": {
      "servers": {
        "http": {
          "listen": [
            ":80"
          ],
          "routes": [
            {
              "match": [
                {
                  "http": [
                    {
                      "host": [
                        "gitlab.REDACTED"
                      ]
                    }
                  ]
                }
              ],
              "handle": [
                {
                  "handler": "proxy",
                  "proxy_protocol": "v2",
                  "upstreams": [
                    {
                      "dial": [
                        "unix//var/opt/caddy/caddy.gitlab"
                      ]
                    }
                  ]
                }
              ]
            },
            {
              "match": [
                {
                  "http": [
                    {
                      "host": [
                        "registry.REDACTED"
                      ]
                    }
                  ]
                }
              ],
              "handle": [
                {
                  "handler": "proxy",
                  "proxy_protocol": "v2",
                  "upstreams": [
                    {
                      "dial": [
                        "unix//var/opt/caddy/caddy.registry"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        "https": {
          "listen": [
            ":443"
          ],
          "routes": [
            {
              "match": [
                {
                  "tls": {}
                }
              ],
              "handle": [
                {
                  "handler": "subroute",
                  "routes": [
                    {
                      "match": [
                        {
                          "tls": {
                            "sni": [
                              "gitlab.REDACTED"
                            ]
                          }
                        }
                      ],
                      "handle": [
                        {
                          "handler": "proxy",
                          "proxy_protocol": "v2",
                          "upstreams": [
                            {
                              "dial": [
                                "unix//var/opt/caddy/caddy.gitlab"
                              ]
                            }
                          ]
                        }
                      ]
                    },
                    {
                      "match": [
                        {
                          "tls": {
                            "sni": [
                              "registry.REDACTED"
                            ]
                          }
                        }
                      ],
                      "handle": [
                        {
                          "handler": "proxy",
                          "proxy_protocol": "v2",
                          "upstreams": [
                            {
                              "dial": [
                                "unix//var/opt/caddy/caddy.registry"
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        },
        "ssh": {
          "listen": [
            ":22"
          ],
          "routes": [
            {
              "handle": [
                {
                  "handler": "proxy",
                  "proxy_protocol": "v2",
                  "upstreams": [
                    {
                      "dial": [
                        "<IP_ADDRESS>:2022"
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      }
    },
    "http": {
      "http_port": 80,
      "https_port": 443,
      "servers": {
        "gitlab": {
          "strict_sni_host": true,
          "listen": [
            "unix//var/opt/caddy/caddy.gitlab"
          ],
          "listener_wrappers": [
            {
              "wrapper": "proxy_protocol",
              "timeout": 0
            },
            {
              "wrapper": "http_redirect"
            },
            {
              "wrapper": "tls"
            }
          ],
          "metrics": {},
          "routes": [
            {
              "match": [
                {
                  "host": [
                    "gitlab.REDACTED"
                  ]
                }
              ],
              "handle": [
                {
                  "handler": "headers",
                  "response": {
                    "set": {
                      "Server": [
                        "REDACTED"
                      ]
                    }
                  }
                },
                {
                  "encodings": {
                    "gzip": {},
                    "zstd": {}
                  },
                  "handler": "encode",
                  "prefer": [
                    "zstd",
                    "gzip"
                  ]
                },
                {
                  "handler": "reverse_proxy",
                  "load_balancing": {
                    "selection_policy": {
                      "policy": "round_robin"
                    }
                  },
                  "upstreams": [
                    {
                      "dial": "<IP_ADDRESS>:8081"
                    }
                  ]
                }
              ],
              "terminal": true
            }
          ]
        },
        "registry": {
          "strict_sni_host": true,
          "listen": [
            "unix//var/opt/caddy/caddy.registry"
          ],
          "listener_wrappers": [
            {
              "wrapper": "proxy_protocol",
              "timeout": 0
            },
            {
              "wrapper": "http_redirect"
            },
            {
              "wrapper": "tls"
            }
          ],
          "metrics": {},
          "routes": [
            {
              "match": [
                {
                  "host": [
                    "registry.REDACTED"
                  ]
                }
              ],
              "handle": [
                {
                  "handler": "headers",
                  "response": {
                    "set": {
                      "Server": [
                        "REDACTED"
                      ]
                    }
                  }
                },
                {
                  "encodings": {
                    "gzip": {},
                    "zstd": {}
                  },
                  "handler": "encode",
                  "prefer": [
                    "zstd",
                    "gzip"
                  ]
                },
                {
                  "handler": "reverse_proxy",
                  "load_balancing": {
                    "selection_policy": {
                      "policy": "round_robin"
                    }
                  },
                  "upstreams": [
                    {
                      "dial": "<IP_ADDRESS>:18081"
                    }
                  ]
                }
              ],
              "terminal": true
            }
          ]
        }
      }
    },
    "tls": {
      "certificates": {
        "load_folders": [
          "/var/opt/caddy/certificates"
        ]
      },
      "automation": {
        "policies": [
          {
            "on_demand": true,
            "issuers": [
              {
                "email": "REDACTED",
                "module": "acme",
                "challenges": {
                  "http": {
                    "disabled": true
                  },
                  "tls-alpn": {
                    "disabled": false
                  }
                }
              }
            ]
          }
        ],
        "on_demand": {
          "permission": {
            "endpoint": "http://<IP_ADDRESS>:2223",
            "module": "http"
          }
        }
      }
    }
  }
}

Thanks for the details. So lots of time spent matching TLS in your case.
Does the following PR help? Can you try this branch? https://github.com/mholt/caddy-l4/pull/199


why zephir not shows error on line

I used zephir months ago, it was showing specific line number of error
current version not showing and makes it too harder to find out errors
please advise how can i find error on which line ?
it just shows "cannot parse file"

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41436453-why-zephir-not-shows-error-on-line?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F280146&utm_medium=issues&utm_source=github).

It still shows, it just depends if this is zephir related syntax error(then there will be no line error cuz of limits of parser) or some other error(which will be shown). Cannot parse file is syntax error, like it's lemon error which is not providing(or not returning in zephir) a way to get why exactly file was not parsed.


[OSF Institutions] Add CWRU (Case Western Reserve University) [ENG-342]

Purpose
Add CWRU (Case Western Reserve University)

[x] CWRU's concern about eppn and mail sovled.
[x] Domain/Cert: Not on our side. CWRU handles the redirect from http://case.edu/osf.
[x] Banner and shields have been optimized.
[x] All links in the description work.
[x] Successfully land on CWRU's login page from OSF

DevOps Notes

[x] Update BOTH test and prod CAS settings: add the following to institutions-auth.xsl:

<!-- Case Western Reserve University (CWRU) -->
<xsl:when test="$idp='urn:mace:incommon:case.edu'">
    <id>cwru</id>
    <user>
        <username><xsl:value-of select="//attribute[@name='mail']/@value"/></username>
        <familyName><xsl:value-of select="//attribute[@name='sn']/@value"/></familyName>
        <givenName><xsl:value-of select="//attribute[@name='givenName']/@value"/></givenName>
        <fullname><xsl:value-of select="//attribute[@name='displayName']/@value"/></fullname>
        <middleNames/>
        <suffix/>
    </user>
</xsl:when>

[x] No special Shib config since urn:mace:incommon:case.edu is found in the InCommon's main metadata.

[ ] Please populate institutions for BOTH test and prod OSF.

Other Notes

Ticket
https://openscience.atlassian.net/browse/ENG-342

Picked in as 30abdd2c8c93596a5bb9f6ddbf9234e31196fe37, consider this merged


impl IntoUstr for &PathBuf

IntoUstr is implemented for PathBuf and &'a Path, but not for &'a PathBuf. This requires users to call pathbuf.as_path(), which is mildly inconvenient. I suggest implementing IntoUstr for &'a PathBuf and have it do as_path internally for convenience.

Please create a PR.


Updating CNCF project status on readme and charter

Signed-off-by: alexzhc<EMAIL_ADDRESS>Hi @chira001
I've updated README.md with

ChubaoFS has changed its name to CubeFS;
Both CubeFS and Longhorn have entered incubating stage.

and updated Charter.md with

ChubaoFS has changed its name to CubeFS;
Piraeus is in Sandbox.

Regards

Thanks @alexzhc !
@amye - I believe I counted 7 binding votes for CubeFS, has the voting concluded and had the project been officially moved to incubating?

CubeFS has passed a TOC vote for incubation.
@alexzhc I added one comment.


Error when used without stateparams

I tried to use this way:
app.controller('MerchantsCtrl', ['$scope', '$resource', '$location', '$routeParams','Flash',      function($scope, $resource, $location,Flash){         Flash.create('success', "Not Working");         }]);
But it doesn't work but when I use stateparams, it works:
app.controller('MerchantsCtrl', ['$scope', '$resource', '$location', '$stateParams', 'Flash',      function($scope, $resource, $location,$stateParams,Flash){         Flash.create('success', "Working");         }]);
I am not sure which of my dependency is causing error.
The error I get in first case is :
Flash.create is not a function

Hey @irfaan008 I may be missing something but for me it seems really clear why the above doesn't work where as the bottom one works. Since you are using the array notation to define your controller, you need to match the dependencies specified within the first N (5 in your case) values of array with the function parameters you use to "name" them. What I mean is that since you have 5 dependencies ($scope, $resource etc.), you also need to place them accordingly as the function parameter names.
In your first example you have Flash in the place of $stateParams and thus the Flash name refers to that instead. This will obviously lead to Flash.create not being defined as $stateParams do not have method create.
So what I'm trying to say here is that the solution you have provided by yourself is the correct one where you map the dependencies appropriately.


Update creating-an-extension.mdx

extensions

Any updates on this since the store exists now? It'd likely have to be moved to the new folder, since the site was rewritten.

In the next few days, I'll be spending some time to properly fill out the documentation, including this page.
Closing this as undeeded


scrape: fix two loop variable scoping bugs in test

Consider code like:
for i := 0; i < numTargets; i++ {
	stopFuncs = append(stopFuncs, func() {
		time.Sleep(i*20*time.Millisecond)
	})
}

Because the loop variable i is shared by all closures, all the stopFuncs sleep for numTargets*20 ms.
If the i were made per-iteration, as we are considering for a future Go release, the stopFuncs would have sleep durations ranging from 0 to (numTargets-1)*20 ms.
Two tests had code like this and were checking that the aggregate sleep was at least numTargets*20 ms
("at least as long as the last target slept"). This is only true today because i == numTarget during all the sleeps.
To keep the code working even if the semantics of this loop change, this PR computes
d := time.Duration((i+1)*20) * time.Millisecond

outside the closure (but inside the loop body), and then each closure has its own d. Now the sleeps range from 20 ms to numTargets*20 ms, keeping the test passing
(and probably behaving closer to the intent of the test author).
The failure being fixed can be reproduced by using the current Go development branch with
GOEXPERIMENT=loopvar go test

Thank you for providing such a comprehensive explanation and the solution!


0.1.1 - Documentation and Feature Improvement

Date: Aug 25, 2016
Changes:

Support timeout option for each job.
Test on Helpers function.
Logical delete schedule and job.
Add console commands to migrate database and update missed schedule.
Add document by Sphinx.
PostgreSQL support.

Fixed bugs:

Missing first part of migrating.
Missing schedule id in track table.

Changes Unknown when pulling 3c4e4315974e3e7d158f23667407a3da5e1a7042 on 0.1.1 into ** on master**.


Rename api init methods to set

Fixes #803

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@1b21464). Click here to learn what that means.
The diff coverage is 83.33%.

@@            Coverage Diff            @@
##             master     #839   +/-   ##
=========================================
  Coverage          ?   92.75%
=========================================
  Files             ?      246
  Lines             ?    10835
  Branches          ?     1041
=========================================
  Hits              ?    10050
  Misses            ?      785
  Partials          ?        0

Impacted Files
Coverage Δ

packages/opentelemetry-api/src/api/metrics.ts
53.33% <0%> (ø)

packages/opentelemetry-api/src/api/context.ts
47.05% <0%> (ø)

packages/opentelemetry-api/src/api/propagation.ts
58.82% <0%> (ø)

...s/opentelemetry-web/test/WebTracerProvider.test.ts
0% <0%> (ø)

.../opentelemetry-plugin-express/test/express.test.ts
99.18% <100%> (ø)

packages/opentelemetry-api/test/api/api.test.ts
96.66% <100%> (ø)

.../opentelemetry-plugin-ioredis/test/ioredis.test.ts
94.75% <100%> (ø)

...plugin-https/test/functionals/https-enable.test.ts
96.19% <100%> (ø)

...s/opentelemetry-shim-opentracing/test/Shim.test.ts
100% <100%> (ø)

...ckages/opentelemetry-plugin-grpc/test/grpc.test.ts
96.3% <100%> (ø)

... and 9 more

I intentionally left them out to make the PR easier to read. I can add them back if you think I should.

I intentionally left them out to make the PR easier to read. I can add them back if you think I should.

examples will not be working find and getting started will need to be updated anyway

@obecny updated examples and getting started


Decide on a name

cri was just a place holder, because naming things is hard. cri doesn't really uniquely identify this project (cri implementation in rust).
A couple of ideas floated around so far:

Crustacean puns:

https://en.wikipedia.org/wiki/Krill

crill

https://en.wikipedia.org/wiki/Amphipoda

This is the phyllum of crustaceans (and has pods in the name)

Rust pun

Crrust (container runtime-rust)?

Container pun

Casket

Oxidation pun

Ctrized (like container-dized)
Containerized

Runc pun

rustc

bringing this up in an issue for discussion. I personally am leaning towards crrust (easy to say, clear about what it is)

I'm also in favor of crust, even if the crate name is already taken. We could still use crust-rs.
New proposal:

cri-rs

Any objections? :D

crust +1

I vote crrust, as it could be container runtime rust which I find clear enough. it would also give slightly better google-ability as we won't drown in results for pizza :smile:

I’m fine with crrust, too. WDYT @harche ?

@saschagrunert that sounds good too. So the pronunciation would be c-r-rust or like the word crust (as in pizza)? @haircommander

@harche I think so. I can imagine many delicious logos around that name, too. 🤤

agreed, still pronounced as crust :pizza:

So, do we wanna rename this repo? 😬

Why not krust?

Why not krust?

Oh, that sounds good to me, too. The crate name is also free. 😱

How about
krustd - (Prounounced like CRUSTY)
Kubenernets Rust Daemon

+1 for krustd

Logo https://i.pinimg.com/originals/b1/9b/c2/b19bc29fb72e2f4b9f11d8daa5290a86.jpg

Logo https://i.pinimg.com/originals/b1/9b/c2/b19bc29fb72e2f4b9f11d8daa5290a86.jpg

Definitely +1 for krustd, this made my day!
Can we discuss the logo? 😅

The scope of the project seems to shift to a container library which supports some default implementations like the Kubernetes CRI or CNI. I think the name should reflect that. My latest proposal is: containrs


Add "mediapipe:linux_arm64" failed

OS Platform and Distribution
Linux ubuntu20.04, arm64 ubuntu20.04
Compiler version
aarch64-linux-gnu-gcc 9.4.0
Programming Language and version
C++
Installed using virtualenv? pip? Conda?(if python)
No response
MediaPipe version
0.10.7
Bazel version
6.1.1
XCode and Tulsi versions (if iOS)
No response
Android SDK and NDK versions (if android)
No response
Android AAR (if android)
None
OpenCV version (if running on desktop)
4.5.5
Describe the problem
In .bazelrc, define "linux_arm64", and In “Thirdparty BUILD”, opencv_binary and jsoncpp always choose "conditions:default",  even though bazel build --config=linux_arm64
Complete Logs
WARNING: --verbose_explanations has no effect when --explain=<file> is not enabled
ERROR: /mediapipe/WORKSPACE:354:21: fetching new_local_repository rule //external:linux_jsoncpp: java.io.IOException: The repository's path is "/home/ly/Public/jsoncpp/platform-linux" (absolute: "/home/ly/Public/jsoncpp/platform-linux") but this directory does not exist.
ERROR: /mediapipe/third_party/BUILD:120:6: //third_party:jsoncpp depends on @linux_jsoncpp//:jsoncpp in repository @linux_jsoncpp which failed to fetch. no such package '@linux_jsoncpp//': The repository's path is "/home/ly/Public/jsoncpp/platform-linux" (absolute: "/home/ly/Public/jsoncpp/platform-linux") but this directory does not exist.
ERROR: Analysis of target '//mediapipe/examples/desktop_my/gaze_tracking:gaze_tracking_cpu' failed; build aborted:
INFO: Elapsed time: 0.044s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (2 packages loaded, 0 targets configured)

In .bazelrc
Linux
build:linux --cxxopt=-std=c++17
build:linux --host_cxxopt=-std=c++17
build:linux --copt=-w
build:linux_arm64 --config=linux
build:linux_arm64 --cpu=aarch64
build:linux_arm64 --crosstool_top=@crosstool//:toolchains
In third_party BUILD
alias(
name = "opencv_binary",
actual = select({
"//mediapipe:android_x86": "@android_opencv//:libopencv_x86",
"//mediapipe:android_x86_64": "@android_opencv//:libopencv_x86_64",
"//mediapipe:android_arm": "@android_opencv//:libopencv_armeabi-v7a",
"//mediapipe:android_arm64": "@android_opencv//:libopencv_arm64-v8a",
"//mediapipe:ios": "@ios_opencv//:opencv",
"//mediapipe:macos": "@macos_opencv//:opencv",
"//mediapipe:windows": "@windows_opencv//:opencv",
"//mediapipe:linux_arm64": "@linux_arm64_opencv//:opencv",
"//conditions:default": "@linux_opencv//:opencv",
}),
)
alias(
name = "jsoncpp",
actual = select({
"//mediapipe:android_arm64": "@android_jsoncpp//:jsoncpp",
"//mediapipe:linux_arm64": "@linux_arm64_jsoncpp//:jsoncpp",
"//conditions:default": "@linux_jsoncpp//:jsoncpp",
}),
visibility = ["//visibility:public"],
)

Hi @ly0303521,
Could you kindly provide a detailed overview of the specific steps you are undertaking, making reference to the relevant documentation? Additionally, we've observed that you are employing the "gaze_tracking:gaze_tracking_cpu" target, for which there isn't a direct example available. Are you attempting to create a custom solution? Furnishing these details would greatly assist us in comprehending and replicating the issue on our end.
Thank you

Hi @ly0303521,
Could you kindly provide a detailed overview of the specific steps you are undertaking, making reference to the relevant documentation? Additionally, we've observed that you are employing the "gaze_tracking:gaze_tracking_cpu" target, for which there isn't a direct example available. Are you attempting to create a custom solution? Furnishing these details would greatly assist us in comprehending and replicating the issue on our end.
Thank you

Thank you for responding.
gaze_tracking is a new target which is based on iris_tracking. I think my problem can be reproduced by iris_tracking.
I have run it successfully in desktop linux_64 and android. When it comes to linux arm64, it failed. the opencv and jsoncpp are local libraries, I found that in compiling it always choose "conditions:default", not "//mediapipe:linux_arm64".
In workspace:
`new_local_repository(
name = "linux_opencv",
build_file = "@//third_party:opencv_linux.BUILD",
path = "/home/ly/Public/opencv-4.5.5",
)
new_local_repository(
name = "linux_arm64_opencv",
build_file = "@//third_party:opencv_linux_arm64.BUILD",
path = "/home/ly/Public/aarch64-linux-gnu/opencv-4.5.5",
)
new_local_repository(
name = "linux_jsoncpp",
build_file = "@//third_party:jsoncpp_linux.BUILD",
path = "/home/ly/Public/jsoncpp/platform-linux",
)
new_local_repository(
name = "android_jsoncpp",
build_file = "@//third_party:jsoncpp_android.BUILD",
path = "/home/ly/Public/jsoncpp/platform-android",
)
new_local_repository(
name = "linux_arm64_jsoncpp",
build_file = "@//third_party:jsoncpp_linux_arm64.BUILD",
path = "/home/ly/Public/jsoncpp/platform-arm",
)
 In .bazelrc:build:linux --cxxopt=-std=c++17
build:linux --host_cxxopt=-std=c++17
build:linux --copt=-w
build:linux_arm64 --config=linux
build:linux_arm64 --cpu=aarch64
build:linux_arm64 --crosstool_top=@crosstool//:toolchains`
In third_party BUILD：
alias(     name = "jsoncpp",     actual = select({         "//mediapipe:android_arm64": "@android_jsoncpp//:jsoncpp",         "//mediapipe:linux_arm64": "@linux_arm64_jsoncpp//:jsoncpp",         "//conditions:default": "@linux_jsoncpp//:jsoncpp",     }),     visibility = ["//visibility:public"], ) alias(     name = "opencv_binary",     actual = select({         "//mediapipe:android_x86": "@android_opencv//:libopencv_x86",         "//mediapipe:android_x86_64": "@android_opencv//:libopencv_x86_64",         "//mediapipe:android_arm": "@android_opencv//:libopencv_armeabi-v7a",         "//mediapipe:android_arm64": "@android_opencv//:libopencv_arm64-v8a",         "//mediapipe:ios": "@ios_opencv//:opencv",         "//mediapipe:macos": "@macos_opencv//:opencv",         "//mediapipe:windows": "@windows_opencv//:opencv",         "//mediapipe:linux_arm64": "@linux_arm64_opencv//:opencv",         "//conditions:default": "@linux_opencv//:opencv",     }), )
Finally the compile command is:
bazel build \     --crosstool_top=@crosstool//:toolchains \     --config=linux_arm64 \     --compiler=gcc \     --cpu=aarch64 \     --define darwinn_portable=1 \     --define MEDIAPIPE_DISABLE_GPU=1 \     mediapipe/examples/desktop_my/gaze_tracking:gaze_tracking_cpu

Hi @ly0303521,
Could you kindly provide a detailed overview of the specific steps you are undertaking, making reference to the relevant documentation? Additionally, we've observed that you are employing the "gaze_tracking:gaze_tracking_cpu" target, for which there isn't a direct example available. Are you attempting to create a custom solution? Furnishing these details would greatly assist us in comprehending and replicating the issue on our end.
Thank you

Thank you for responding.
gaze_tracking is a new target which is based on iris_tracking. I think my problem can be reproduced by iris_tracking.
I have run it successfully in desktop linux_64 and android. When it comes to linux arm64, it failed. the opencv and jsoncpp are local libraries, I found that in compiling it always choose "conditions:default", not "//mediapipe:linux_arm64".
In workspace:
`new_local_repository(
name = "linux_opencv",
build_file = "@//third_party:opencv_linux.BUILD",
path = "/home/ly/Public/opencv-4.5.5",
)
new_local_repository(
name = "linux_arm64_opencv",
build_file = "@//third_party:opencv_linux_arm64.BUILD",
path = "/home/ly/Public/aarch64-linux-gnu/opencv-4.5.5",
)
new_local_repository(
name = "linux_jsoncpp",
build_file = "@//third_party:jsoncpp_linux.BUILD",
path = "/home/ly/Public/jsoncpp/platform-linux",
)
new_local_repository(
name = "android_jsoncpp",
build_file = "@//third_party:jsoncpp_android.BUILD",
path = "/home/ly/Public/jsoncpp/platform-android",
)
new_local_repository(
name = "linux_arm64_jsoncpp",
build_file = "@//third_party:jsoncpp_linux_arm64.BUILD",
path = "/home/ly/Public/jsoncpp/platform-arm",
) In .bazelrc:build:linux --cxxopt=-std=c++17
build:linux --host_cxxopt=-std=c++17
build:linux --copt=-w
build:linux_arm64 --config=linux
build:linux_arm64 --cpu=aarch64
build:linux_arm64 --crosstool_top=@crosstool//:toolchains`
In third_party BUILD：
alias(     name = "jsoncpp",     actual = select({         "//mediapipe:android_arm64": "@android_jsoncpp//:jsoncpp",         "//mediapipe:linux_arm64": "@linux_arm64_jsoncpp//:jsoncpp",         "//conditions:default": "@linux_jsoncpp//:jsoncpp",     }),     visibility = ["//visibility:public"], )
alias(     name = "opencv_binary",     actual = select({         "//mediapipe:android_x86": "@android_opencv//:libopencv_x86",         "//mediapipe:android_x86_64": "@android_opencv//:libopencv_x86_64",         "//mediapipe:android_arm": "@android_opencv//:libopencv_armeabi-v7a",         "//mediapipe:android_arm64": "@android_opencv//:libopencv_arm64-v8a",         "//mediapipe:ios": "@ios_opencv//:opencv",         "//mediapipe:macos": "@macos_opencv//:opencv",         "//mediapipe:windows": "@windows_opencv//:opencv",         "//mediapipe:linux_arm64": "@linux_arm64_opencv//:opencv",         "//conditions:default": "@linux_opencv//:opencv",     }), )
Finally the compile command is:
bazel build \     --crosstool_top=@crosstool//:toolchains \     --config=linux_arm64 \     --compiler=gcc \     --cpu=aarch64 \     --define darwinn_portable=1 \     --define MEDIAPIPE_DISABLE_GPU=1 \     mediapipe/examples/desktop_my/gaze_tracking:gaze_tracking_cpu

Hi @ly0303521,
Could you kindly provide a detailed overview of the specific steps you are undertaking, making reference to the relevant documentation? Additionally, we've observed that you are employing the "gaze_tracking:gaze_tracking_cpu" target, for which there isn't a direct example available. Are you attempting to create a custom solution? Furnishing these details would greatly assist us in comprehending and replicating the issue on our end.
Thank you

Thank you for responding.
gaze_tracking is a new target which is based on iris_tracking. I think my problem can be reproduced by iris_tracking.
I have run it successfully in desktop linux_64 and android. When it comes to linux arm64, it failed. the opencv and jsoncpp are local libraries, I found that in compiling it always choose "conditions:default", not "//mediapipe:linux_arm64".
In workspace:
`new_local_repository(
name = "linux_opencv",
build_file = "@//third_party:opencv_linux.BUILD",
path = "/home/ly/Public/opencv-4.5.5",
)
new_local_repository(
name = "linux_arm64_opencv",
build_file = "@//third_party:opencv_linux_arm64.BUILD",
path = "/home/ly/Public/aarch64-linux-gnu/opencv-4.5.5",
)
new_local_repository(
name = "linux_jsoncpp",
build_file = "@//third_party:jsoncpp_linux.BUILD",
path = "/home/ly/Public/jsoncpp/platform-linux",
)
new_local_repository(
name = "android_jsoncpp",
build_file = "@//third_party:jsoncpp_android.BUILD",
path = "/home/ly/Public/jsoncpp/platform-android",
)
new_local_repository(
name = "linux_arm64_jsoncpp",
build_file = "@//third_party:jsoncpp_linux_arm64.BUILD",
path = "/home/ly/Public/jsoncpp/platform-arm",
)In .bazelrc:build:linux --cxxopt=-std=c++17
build:linux --host_cxxopt=-std=c++17
build:linux --copt=-w
build:linux_arm64 --config=linux
build:linux_arm64 --cpu=aarch64
build:linux_arm64 --crosstool_top=@crosstool//:toolchains`
In third_party BUILD：
alias( name = "jsoncpp", actual = select({ "//mediapipe:android_arm64": "@android_jsoncpp//:jsoncpp", "//mediapipe:linux_arm64": "@linux_arm64_jsoncpp//:jsoncpp", "//conditions:default": "@linux_jsoncpp//:jsoncpp", }), visibility = ["//visibility:public"], )
alias( name = "opencv_binary", actual = select({ "//mediapipe:android_x86": "@android_opencv//:libopencv_x86", "//mediapipe:android_x86_64": "@android_opencv//:libopencv_x86_64", "//mediapipe:android_arm": "@android_opencv//:libopencv_armeabi-v7a", "//mediapipe:android_arm64": "@android_opencv//:libopencv_arm64-v8a", "//mediapipe:ios": "@ios_opencv//:opencv", "//mediapipe:macos": "@macos_opencv//:opencv", "//mediapipe:windows": "@windows_opencv//:opencv", "//mediapipe:linux_arm64": "@linux_arm64_opencv//:opencv", "//conditions:default": "@linux_opencv//:opencv", }), )
Finally the compile command is:
bazel build \ --crosstool_top=@crosstool//:toolchains \ --config=linux_arm64 \ --compiler=gcc \ --cpu=aarch64 \ --define darwinn_portable=1 \ --define MEDIAPIPE_DISABLE_GPU=1 \ mediapipe/examples/desktop_my/gaze_tracking:gaze_tracking_cpu

@kuaashish
Thank you for responding.
gaze_tracking is a new target which is based on iris_tracking. I think my problem can be reproduced by iris_tracking.
I have run it successfully in desktop linux_64 and android. When it comes to linux arm64, it failed. the opencv and jsoncpp are local libraries, I found that in compiling it always choose "conditions:default", not "//mediapipe:linux_arm64".
In workspace:
`new_local_repository(
name = "linux_opencv",
build_file = "@//third_party:opencv_linux.BUILD",
path = "/home/ly/Public/opencv-4.5.5",
)
new_local_repository(
name = "linux_arm64_opencv",
build_file = "@//third_party:opencv_linux_arm64.BUILD",
path = "/home/ly/Public/aarch64-linux-gnu/opencv-4.5.5",
)
new_local_repository(
name = "linux_jsoncpp",
build_file = "@//third_party:jsoncpp_linux.BUILD",
path = "/home/ly/Public/jsoncpp/platform-linux",
)
new_local_repository(
name = "android_jsoncpp",
build_file = "@//third_party:jsoncpp_android.BUILD",
path = "/home/ly/Public/jsoncpp/platform-android",
)
new_local_repository(
name = "linux_arm64_jsoncpp",
build_file = "@//third_party:jsoncpp_linux_arm64.BUILD",
path = "/home/ly/Public/jsoncpp/platform-arm",
)In .bazelrc:build:linux --cxxopt=-std=c++17
build:linux --host_cxxopt=-std=c++17
build:linux --copt=-w
build:linux_arm64 --config=linux
build:linux_arm64 --cpu=aarch64
build:linux_arm64 --crosstool_top=@crosstool//:toolchains`
In third_party BUILD：
alias( name = "jsoncpp", actual = select({ "//mediapipe:android_arm64": "@android_jsoncpp//:jsoncpp", "//mediapipe:linux_arm64": "@linux_arm64_jsoncpp//:jsoncpp", "//conditions:default": "@linux_jsoncpp//:jsoncpp", }), visibility = ["//visibility:public"], )
alias( name = "opencv_binary", actual = select({ "//mediapipe:android_x86": "@android_opencv//:libopencv_x86", "//mediapipe:android_x86_64": "@android_opencv//:libopencv_x86_64", "//mediapipe:android_arm": "@android_opencv//:libopencv_armeabi-v7a", "//mediapipe:android_arm64": "@android_opencv//:libopencv_arm64-v8a", "//mediapipe:ios": "@ios_opencv//:opencv", "//mediapipe:macos": "@macos_opencv//:opencv", "//mediapipe:windows": "@windows_opencv//:opencv", "//mediapipe:linux_arm64": "@linux_arm64_opencv//:opencv", "//conditions:default": "@linux_opencv//:opencv", }), )
Finally the compile command is:
bazel build \ --crosstool_top=@crosstool//:toolchains \ --config=linux_arm64 \ --compiler=gcc \ --cpu=aarch64 \ --define darwinn_portable=1 \ --define MEDIAPIPE_DISABLE_GPU=1 \ mediapipe/examples/desktop_my/gaze_tracking:gaze_tracking_cpu


Possible improvement for screen readers

@dfabulich wrote

Lectrote is only slightly better in this sense: it uses an HTML renderer, so it can tell VoiceOver about individual paragraphs. When you type a command, you remain focused on the command area, and you have to navigate backward through the text to find the new text and read that. But at least on Lectrote it is possible to navigate paragraph by paragraph. (Lectrote does mark the transcript window as a live region, but macOS VoiceOver doesn't appear to notice.)

I wonder if all that would need to be done to improve this would be to stop GlkOte from manually focusing the input element (with an option, the current code is probably best for non screenreader users.)

To be clear, this bug doesn't affect iOS VoiceOver. I can double check, but I'm pretty sure it doesn't affect popular Windows screen readers, either. This lead me to conclude that macOS VoiceOver is just buggy, and there's not much we can do.
But if we were to do something, instead of avoiding focusing the text field, I would suggest this change: currently when the user submits the <input> text field, it's removed from the DOM, and a new <input> is created at the bottom of the screen. This necessitates focusing on the new <input>. Instead, I suggest reusing the <input> field, so it's already focused, and doesn't need refocusing.
I sense that this probably won't work if the <input> field is being moved around the DOM, i.e. if it's being reattached with attachChild, but if the <input> box is just pinned to the footer of the screen, then it doesn't need to move, and it should behave normally.
But I also sense that this could be a lot of work.

I wrote this in email a while back.

One of the main compatibility issues with screen readers and parser-based interactive fiction on the web is that the UI paradigm for these games is very unusual.
Consider this example game.
http://eblong.com/zarf/glulx/quixe/quixe/play-remote.html?story=stories/Advent.ulx.js
Below, I quote a typical transcript of play:
At End Of Road
You are standing at the end of a road before a small brick building. Around you is a forest.
There are some keys on the ground here.
There is tasty food here.
There is a shiny brass lamp nearby.
There is an empty bottle here.
>examine lamp
It is a shiny brass lamp. It is not currently lit.
>get lamp
Taken.
The feeling of play is conversational. You might imagine that the game is playing the role of a Dungeon Master in Dungeons and Dragons, where the player and game are taking turns speaking.
If I were coding a "conversational" game today, I'd probably take examples from chat-based apps like Slack, where there's an input box at the bottom of the screen, and a transcript of messages in the main part of the window.
But that is not at all how IF games work (not how they have ever worked historically). Instead of having a separate "input box" into which you type commands, there's just one main window area, the "transcript." The game prints messages into the transcript, then prints a prompt symbol (the ">" symbol) and lets the user type directly into the transcript.
To extend my Dungeons and Dragons metaphor, you might imagine the Dungeon Master writing something on a piece of paper, then handing that same piece of paper over to the player, who would write something at the bottom and then hand the paper back to the Dungeon Master, taking turns writing on the page.
This can be confusing to screen readers. One single rectangle is acting as both output and input. Inform/Quixe has handled this by marking the entire transcript area with "aria-live=polite," meaning that any new text that appears in the window is automatically read aloud.
But the bigger problem has to do with the "focus" of the screen reader.
When it's time for the user to type, the last line is an invisible input box, where the user types. When the user hits enter, the input box is removed and replaced with text that the user typed. Then the game says some response message, and finally a new invisible input box appears at the bottom of the screen.
Removing the currently focused UI element is very bad for screen readers. The screen reader software tries to guess where to focus next. It might try to focus the user on the top of the document (the very first line at the very beginning of the game), or it might focus on the top of the screen (probably a random moment a few turns back).
We can try to focus on the new input box, but focusing that box may interrupt the live ARIA reading of the game's message.
In an ideal world the WAI-ARIA group would have defined a semantic way to mark the transcript as a "console" or "terminal," indicating to screen readers how to handle the box, but that's wishful thinking. I can't find any other professional web application that handles transcripts the way IF handles transcript, for either business or pleasure, so as far as I know, we can't even copy what anyone else has done for 508 compliance. (I'd love to hear from y'all if you know of a web UI that does something like this and actually works.)
An obvious thing to do here would be to abandon the idea that the user should type directly into the transcript, and instead offer the user a fixed box to type in, at the bottom of the screen. That would probably work, but it would break some existing games.
For example, a number of games like to provide the user with a custom prompt inline with the text. "Please enter the secret code: " That may not make sense when the input box appears at the bottom of the screen.
Do y'all have experience with UI like this? How does anybody else handle problems like this?
P.S. I hesitate to mention it, but a few games even rely on the fact that the prompt is in the transcript to play games with the player. For example, "Taco Fiction" prints a fake prompt ">" into the transcript and then waits for the player to type any key. No matter what the user types, the game inserts a character of the author's choosing, "forcing"  players to type what the author wants them to type, letter by letter.
I guess it's more of a practical joke than a serious UI consideration, but needless to say that joke would not work with a fully separate input box.


Do we have Issue for up the IAM groups, roles, bot & user accounts?

Do we need an Issue for the following relatively new requirement to the IC:
User and bot accounts for accessing the cloud provider are automatically provisioned. To fine-tune user access, different groups with different roles must be created.
(Setting up the IAM groups, roles, bot & user accounts.)
Also, should we move these issues into a Github Project

Nice, added here @liamstevens111


notices assumes .connection-notice exists

here https://github.com/Netflix/vizceral/blob/bacb046d5c835b62cca513283aff144cbfb78df6/src/notices.js#L59 and in other places the code operates on noticeElement assuming there is at least a node with the class .connection-notice
one solution is to check if the result of querySelector is defined, the other is to document that it's required to have a tag with that class.
I can provide the patch for this change if you prefer so.

wow, that was fast.
thanks!

Heh, I was already digging around in the code, so it was an easy fix. Thanks for reporting! When refactoring for open source, sometimes it's hard to notice these types of dependencies.


scripts: add convenience script for creating table

What problem does this PR solve?
Add convenience script for creating tables. Users can specify the table owners and their department, the write throttling, as well as the required attributes like 'partition count' and 'table name'.
If the table is created before, users can still reset the table's environments.
This script is at an early stage.
What is changed and how it works?
I use python for this script, reusing the utilities provided by py_utils/lib.py.
Check List
Tests

Manual test (add detailed scripts or steps below)

Related changes

Need to cherry-pick to the release branch
Need to update the documentation
Need to be included in the release note

python脚本的一些警告处理下, IDE一般都能提示出来


Error: "Unable to parse units μV"

I am working with "*.smr" files from Spike2. Sometimes I get the following error: "Unable to parse units μV" so data is not loaded. Can anyone tell me how to solve this? I suppose it is because this "mu" greek character is not included in the type of available units in neo.Spike2IO. Kind regards.

Hi @arnaumanasanch. Please can you post the full error traceback, so we can figure out where in the code this error is occuring?

Hi @apdavison , here is the traceback. I tried importing "logging" in the env but didn't work.  Thank you so much.
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\site-packages\quantities\registry.py in __getitem__(self, string)
     20             try:
---> 21                 return eval(string, self.__context)
     22             except NameError:

<string> in <module>

NameError: name 'μV' is not defined

During handling of the above exception, another exception occurred:

LookupError                               Traceback (most recent call last)
C:\ProgramData\Anaconda3\lib\site-packages\neo\io\proxyobjects.py in ensure_signal_units(units)
    519     try:
--> 520         units = pq.Quantity(1, units)
    521     except:

C:\ProgramData\Anaconda3\lib\site-packages\quantities\quantity.py in __new__(cls, data, units, dtype, copy)
    126         ret = np.array(data, dtype=dtype, copy=copy).view(cls)
--> 127         ret._dimensionality.update(validate_dimensionality(units))
    128         return ret

C:\ProgramData\Anaconda3\lib\site-packages\quantities\quantity.py in validate_dimensionality(value)
     33         try:
---> 34             return unit_registry[value].dimensionality
     35         except (KeyError, UnicodeDecodeError):

C:\ProgramData\Anaconda3\lib\site-packages\quantities\registry.py in __getitem__(self, label)
     60
---> 61         return self.__registry[label]
     62

C:\ProgramData\Anaconda3\lib\site-packages\quantities\registry.py in __getitem__(self, string)
     24                 raise LookupError(
---> 25                     'Unable to parse units: "%s"'%string
     26                 )

LookupError: Unable to parse units: "µV"

During handling of the above exception, another exception occurred:

NameError                                 Traceback (most recent call last)
<ipython-input-3-370b6d6b29ae> in <module>
      3 import logging
      4 # Read smr signal
----> 5 signal = funcs.read_smr_files('171127BrainStatesPreKetaRec04_15Mike.smr')
      6
      7 # Visualize signal of specific channel

~\Desktop\git_repos\neurophy\utils_UD_detection.py in read_smr_files(smr_file)
     23 def read_smr_files(smr_file):
     24     reader = neo.io.Spike2IO(filename = smr_file)
---> 25     Raw_Data = reader.read(lazy = False)[0]
     26
     27     # get sampling frequency

C:\ProgramData\Anaconda3\lib\site-packages\neo\io\baseio.py in read(self, lazy, **kargs)
    120                     callable(getattr(self, 'read_all_blocks'))):
    121                 return self.read_all_blocks(lazy=lazy, **kargs)
--> 122             return [self.read_block(lazy=lazy, **kargs)]
    123         elif Segment in self.readable_objects:
    124             bl = Block(name='One segment only')

C:\ProgramData\Anaconda3\lib\site-packages\neo\io\basefromrawio.py in read_block(self, block_index, lazy, signal_group_mode, units_group_mode, load_waveforms)
    188             seg = self.read_segment(block_index=block_index, seg_index=seg_index,
    189                                     lazy=lazy, signal_group_mode=signal_group_mode,
--> 190                                     load_waveforms=load_waveforms)
    191             bl.segments.append(seg)
    192

C:\ProgramData\Anaconda3\lib\site-packages\neo\io\basefromrawio.py in read_segment(self, block_index, seg_index, lazy, signal_group_mode, load_waveforms, time_slice, strict_slicing)
    258                     # make a proxy...
    259                     anasig = AnalogSignalProxy(rawio=self, global_channel_indexes=ind_abs,
--> 260                                     block_index=block_index, seg_index=seg_index)
    261
    262                     if not lazy:

C:\ProgramData\Anaconda3\lib\site-packages\neo\io\proxyobjects.py in __init__(self, rawio, global_channel_indexes, block_index, seg_index)
    100                     'Channel do not have same sampling_rate'
    101
--> 102         self.units = ensure_signal_units(sig_chans['units'][0])
    103         self.dtype = sig_chans['dtype'][0]
    104         self.sampling_rate = sig_chans['sampling_rate'][0] * pq.Hz

C:\ProgramData\Anaconda3\lib\site-packages\neo\io\proxyobjects.py in ensure_signal_units(units)
    520         units = pq.Quantity(1, units)
    521     except:
--> 522         logging.warning('Units "{}" can not be converted to a quantity. Using dimensionless '
    523                         'instead'.format(units))
    524         units = ''

NameError: name 'logging' is not defined
---------------------------------------------------------------------------

I think I have a solution, but I don't have a way to test it. Please could you send me privately* one of the .smr files that shows this problem?
*andrew.davison at cnrs.fr

Thanks for sending the example file. It turns out that the problem was already fixed in the master branch of Neo, so you can install from there (something like pip install -U https://github.com/NeuralEnsemble/python-neo/archive/master.tar.gz), or you could wait for the release of  v0.9.0, which is expected sometime in October.

Perfect, thanks. Now it works. Best,


fix: clarify clicking is necessary to show possible values, not hover

closes #237.

This change only updates the English instructions.