trying to put linux chroot on samsung chromebook to play Old School Runescape

Please paste the output of the following command here: sudo edit-chroot -all

chronos@localhost / $ sudo edit-chroot -all
sudo: edit-chroot: command not found
chronos@localhost / $ sudo edit-chroot-all
sudo: edit-chroot-all: command not found
chronos@localhost / $
Please describe your issue:  I have been trying to be able to play Old School Runescape on my Samsung Chromebook using crouton. Every time I try to run the commands from this page https://platypusplatypus.com/chromebooks/play-runescape-chromebook/
I keep getting the output
sh: 0: Refusing to exec /home/chronos/user/Downloads/crouton from noexec mount; see https://chromium.googlesource.com/chromiumos/docs/+/master/security/noexec_shell_scripts.md
If known, describe the steps to reproduce the issue: Here is the whole process that I went through...
Welcome to crosh, the Chrome OS developer shell.
If you got here by mistake, don't panic!  Just close this tab and carry on.
Type 'help' for a list of commands.
If you want to customize the look/behavior, you can use the options page.
Load it by using the Ctrl-Shift-P keyboard shortcut.
crosh> shell
chronos@localhost / $ sudo sh ~/Downloads/crouton -r trusty -t xfce
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.

sh: 0: Refusing to exec /home/chronos/user/Downloads/crouton from noexec mount; see https://chromium.googlesource.com/chromiumos/docs/+/master/security/noexec_shell_scripts.md
chronos@localhost / $ sudo sh ~/Downloads/crouton -r trusty -t xfce
sh: 0: Refusing to exec /home/chronos/user/Downloads/crouton from noexec mount; see https://chromium.googlesource.com/chromiumos/docs/+/master/security/noexec_shell_scripts.md
chronos@localhost / $ sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton
chronos@localhost / $ sudo edit -chroot -a
sudo: edit: command not found
chronos@localhost / $ sudo edit-chroot -a
sudo: edit-chroot: command not found
chronos@localhost / $ sudo ls /usr/local/chroots
ls: cannot access '/usr/local/chroots': No such file or directory
chronos@localhost / $ sudo crouton -n chrootname -u
Downloading latest crouton installer...
################################################################## 100.0%################################################################## 100.0%
/mnt/stateful_partition/crouton/chroots not found.
/usr/local/chroots/chrootname does not exist; cannot update.
Valid chroots:
chronos@localhost / $ sudo sh~/Downloads/crouton -r trusty -t xfce
sudo: sh~/Downloads/crouton: command not found
chronos@localhost / $ sudo sh ~/Downloads/crouton -r trusty -t xfce
sh: 0: Refusing to exec /home/chronos/user/Downloads/crouton from noexec mount; see https://chromium.googlesource.com/chromiumos/docs/+/master/security/noexec_shell_scripts.md
chronos@localhost / $ sudo install -Dt /usr/local/bin -m 755 ~/Downloads/crouton
chronos@localhost / $ sudo ls /usr/local/chroots
/usr/local/chroots
chronos@localhost / $ sudo crouton -n chrootname -u
Downloading latest crouton installer...
################################################################## 100.0%################################################################## 100.0%
/mnt/stateful_partition/crouton/chroots not found.
/usr/local/chroots/chrootname does not exist; cannot update.
Valid chroots:
chronos@localhost / $ sudo edit-chroot -a
sudo: edit-chroot: command not found
chronos@localhost / $ sudo install -Dt /usr/local/bin -m 755 ~/Downloads.crouton
install: cannot stat '/home/chronos/user/Downloads.crouton': No such file or directory
chronos@localhost / $ sudo sh ~/Downloads/crouton -r trusty -t xfce
sh: 0: Refusing to exec /home/chronos/user/Downloads/crouton from noexec mount; see https://chromium.googlesource.com/chromiumos/docs/+/master/security/noexec_shell_scripts.md
chronos@localhost / $ sudo edit-chroot -all
sudo: edit-chroot: command not found
chronos@localhost / $ sudo edit-chroot-all
sudo: edit-chroot-all: command not found

That website and many others use the older method to install a crouton chroot.
It's always best to look at the source for changes before attempting to follow these online guides, especially one from 2016.
See below for the latest method to install a crouton chroot:

https://github.com/dnschneid/crouton#usage

Hope this helps,
-DennisLfromGA


feature: react web support with vite

Summary
Vite example for React (web).
Test plan
All tests pass.

Nice! ESLint failed btw


Use java defaults when user hasn't specified trusted certs

Purpose
When the user hasn't specified any configurations on trusted certificates or a trust store, use java default keystore as the trust store.
Fixes #https://github.com/ballerina-platform/ballerina-lang/issues/19833

Codecov Report

Merging #19870 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #19870   +/-   ##
=======================================
  Coverage   15.21%   15.21%
=======================================
  Files          50       50
  Lines        1308     1308
  Branches      199      199
=======================================
  Hits          199      199
  Misses       1096     1096
  Partials       13       13

Continue to review full report at Codecov.

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


maxSetId in db1.lookup is 1 and in db1.source is 2

Expected Behavior
I'm trying to concatenate 2 mmseqs sequence databases together via mmseqs concatdbs, but I get the error:
maxSetId in db1.lookup is 1 and in db1.source is 2

Context
I created both sequence databases via mmseqs createdb. None of the sequences overlap between the 2 databases. Note that for DB1, I did copy (all/most) of the associated files from one location to another; maybe I didn't copy them all over, but how would I know??).
Running mmseqs concatdbs on the *_h files for these databases works without an issue. I just get the problem when trying to run mmseqs concatdbs on the main database files.
Your Environment
OS: Ubuntu 18.04.
conda env:
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                 conda_forge    conda-forge
_openmp_mutex             4.5                       0_gnu    conda-forge
bzip2                     1.0.8                h516909a_2    conda-forge
ca-certificates           2020.6.20            hecda079_0    conda-forge
certifi                   2020.6.20        py38h32f6830_0    conda-forge
fasta-splitter            0.2.6                         0    bioconda
gawk                      5.1.0                h516909a_0    conda-forge
gettext                   <IP_ADDRESS>          hc5be6a0_1002    conda-forge
ld_impl_linux-64          2.34                 h53a641e_7    conda-forge
libblas                   3.8.0               17_openblas    conda-forge
libcblas                  3.8.0               17_openblas    conda-forge
libffi                    3.2.1             he1b5a44_1007    conda-forge
libgcc-ng                 9.2.0                h24d8f2e_2    conda-forge
libgfortran-ng            7.5.0                hdf63c60_6    conda-forge
libgomp                   9.2.0                h24d8f2e_2    conda-forge
libidn2                   2.3.0                h516909a_0    conda-forge
liblapack                 3.8.0               17_openblas    conda-forge
libopenblas               0.3.10          pthreads_hb3c22a3_3    conda-forge
libstdcxx-ng              9.2.0                hdf63c60_2    conda-forge
libunistring              0.9.10               h14c3975_0    conda-forge
llvm-openmp               8.0.1                hc9558a2_0    conda-forge
mmseqs2                   11.e1a1c             h2d02072_0    bioconda
ncurses                   6.2                  he1b5a44_1    conda-forge
numpy                     1.19.0           py38h8854b6b_0    conda-forge
openmp                    8.0.1                         0    conda-forge
openssl                   1.1.1g               h516909a_0    conda-forge
perl                      5.26.2            h516909a_1006    conda-forge
perl-constant             1.33                    pl526_1    bioconda
perl-exporter             5.72                    pl526_1    bioconda
perl-file-util            4.161950                pl526_3    bioconda
perl-lib                  0.63                    pl526_1    bioconda
pigz                      2.3.4                hed695b0_1    conda-forge
pip                       20.1.1                     py_1    conda-forge
prodigal                  2.6.3                h516909a_2    bioconda
python                    3.8.4           cpython_h425cb1d_0    conda-forge
python_abi                3.8                      1_cp38    conda-forge
readline                  8.0                  he28a2e2_2    conda-forge
seqkit                    0.13.2                        0    bioconda
setuptools                49.2.0           py38h32f6830_0    conda-forge
sqlite                    3.32.3               hcee41ef_1    conda-forge
tk                        8.6.10               hed695b0_0    conda-forge
vsearch                   2.15.0               h2d02072_0    bioconda
wget                      1.20.1               h22169c7_0    conda-forge
wheel                     0.34.2                     py_1    conda-forge
xz                        5.2.5                h516909a_1    conda-forge
zlib                      1.2.11            h516909a_1006    conda-forge

I think that I might know the issue:
I'm using snakemake to create the databases, and snakemake was running mmseqs createdb with all input files instead of just the amino acid sequence file (instead, the amino acid, nucleotide, and sequence metadata files). Apparently mmseqs createdb still worked and generated all appropriate output files. However, the db.source file just contained the list of the 3 input files (seqs.faa, seqs.fna, and seqs.txt)

I am trying to reproduce the issue but can't manage to. Could you upload the files somewhere (or at least a small subset that also fails with this error message)?


Integrate Flutter in GitHub Advisory Database

Is there an existing issue for this?

[X] I have searched the existing issues
[X] I have read the guide to filing a bug

Use case
In the past months we've had two critical security fixes released (CVE-2023-4863 and CVE-2023-6345). However, unless you carefully read the Hotfixes to the Stable Channel release notes you would not know about these security fixes.
It would be great if Flutter would integrate with the GitHub Advisory Database so that security fixes are automatically reported to users that have their Flutter apps repositories in GitHub (which I assume is a large percentage).
For example, in the CVE-2023-4863 GitHub Advisory report Electron was listed as affected package. So all GitHub repositories that had electron as a dependency were automatically notified about the security fix.
Proposal
Integrate Flutter in GitHub Advisory Database.
I guess the integration is not as simple as just listing Flutter as an affected package in the reports, because currently GitHub doesn't detect repositories that depend on Flutter, so first that needs to be addressed. But I think it would be worth the effort to improve the security of the Flutter ecosystem.

@athomas where can I find design docs and/or implementation details of the pub tool integration with the Dart advisory database.

@szakarias would be the right contact point. go/advisories-on-pub it the most relevant document.

Next steps:

[ ] Follow up with @szakarias in the pub implementation details.
[ ] Sync with @itsjustkevin and GOSST on how to report flutter advisories for issues caused by third party dependencies.
[ ] Sync with @christopherfujino for advise on implementation ideas to integrate the functionality with the flutter tool.

I think this would be difficult as the ecosystem currently exists, as I'm not sure that most Flutter projects (apps, modules, plugins) actually constrain the Flutter SDK (it's more common to constrain the Dart SDK version). In particular, I don't think flutter pub get enforces the upper limit in a constraint.


Part-1: Pinot Timeseries Engine SPI

The design doc and the corresponding issue was raised ~2 weeks ago: #13760
You can find the reference complete working implementation here. It also has instructions on how you can kickstart it on your local. The PR has slight improvements and code-cleanup over the full implementation: https://github.com/ankitsultana/pinot/pull/35

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 0.00%. Comparing base (59551e4) to head (ce37d2e).
Report is 935 commits behind head on master.

:exclamation:  There is a different number of reports uploaded between BASE (59551e4) and HEAD (ce37d2e). Click for more details.
HEAD has 43 uploads less than BASE

Flag
BASE (59551e4)
HEAD (ce37d2e)

integration
7
3

temurin
12
3

java-21
7
2

skip-bytebuffers-true
3
1

skip-bytebuffers-false
7
2

unittests
5
0

unittests1
2
0

java-11
5
1

unittests2
3
0

integration1
2
0

custom-integration1
2
0

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #13885       +/-   ##
=============================================
- Coverage     61.75%    0.00%   -61.76%
=============================================
  Files          2436     2502       +66
  Lines        133233   138573     +5340
  Branches      20636    21540      +904
=============================================
- Hits          82274        0    -82274
- Misses        44911   138573    +93662
+ Partials       6048        0     -6048

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <ø> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <ø> (ø)

java-11
0.00% <ø> (-61.71%)
:arrow_down:

java-21
0.00% <ø> (-61.63%)
:arrow_down:

skip-bytebuffers-false
0.00% <ø> (-61.75%)
:arrow_down:

skip-bytebuffers-true
0.00% <ø> (-27.73%)
:arrow_down:

temurin
0.00% <ø> (-61.76%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Seems you are adding the ser/de layer in this PR. I don't think they belong to SPI

This is temporary and I can add a TODO (or create an issue). Right now I am relying on Jackson for the serde and we unfortunately have some Serde related code in the plan nodes (JsonCreator, JsonProperty, etc.). Keeping the SPI here for now allows users to test their plans easily.
I am thinking of building a better approach once the baseline implementation is ready.


[Suggestion] The need for language uniformity

📝 Provide a description of the new request

When I run PowerToys, only the "General" and "File Explorer" items appear in Korean in the left menu. I think we need the unity of the language. Can I proceed with the modification on this part?

[Photo of that]

Duplicate of #7859

@hyejooLim
thank you for reporting the issue.

Can I proceed with the modification on this part?

The localization is done by Microsoft, thank you.


Problem "Property 'then' does not exist on type 'void'." with HTMLAudioElement

Hi all,
I use HTMLAudioElement to play audio. But when I 'npm start' or 'ng build ..', there is a problem. "Property 'then' does not exist on type 'void'."
Please help me.
Code below (https://googlechrome.github.io/samples/play-return-promise/):
playAudio(src: any) {
let audio: HTMLAudioElement = this.player.nativeElement;
audio.src = src;
// audio.load();
if (this.isPlay === false) {
var playPromise = audio.play();
if (playPromise !== undefined) {
playPromise.then(function () {
// Automatic playback started!
}).catch(function (error) {
// Automatic playback failed.
// Show a UI element to let the user manually start playback.
});
}
this.isPlay = true;
audio.onended = function () {
this.isPlay = false;
}.bind(this);
} else {
audio.pause();
this.isPlay = false;
}
}

It looks like the problem is on this line:
playPromise.then(function () {
I'm not quite sure exactly how you'd include this code in a component.ts file. You could try including it as a static .js file instead (by adding it to the "assets" array in .angular-cli.json).
At any rate, this issue is related to getting code working in typescript and so isn't an issue with angular-cli...so your issue is probably going to be closed. You'd be better off asking on Stack Overflow.

Yeah stack overflow is a better place to ask this sort of question. @BurningDog is right that this is a TypeScript types issue. Maybe you can get around it by doing (playPromise as any).then(function () { but the real fix is to figure out where your typings are broken.

use arrow functions it will resolve the issue
playAudio(src: any) { let audio: HTMLAudioElement = this.player.nativeElement; audio.src = src; // audio.load(); if (this.isPlay === false) { var playPromise = audio.play(); if (playPromise !== undefined) { playPromise.then( () =>{ // Automatic playback started! }).catch( (error) =>{ // Automatic playback failed. // Show a UI element to let the user manually start playback. }); } this.isPlay = true; audio.onended =  ()=> { this.isPlay = false; }.bind(this); } else { audio.pause(); this.isPlay = false; } }


Problem with start npm react-app

I dowload first-react-app and start npm, but i have a some problem

Before I start react script I had gulp local server and he had been worked before start react. Now do not work anything

Add in your Path
'C\Windows\System32'


Code workflow

This pipeline configuration builds the application and produces a build for the Release configuration.

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


Adopt Prettier code formatter

Since we use a strong-flavored code format provided by WebStorm, contributors may introduce code formatting changes unexpectedly. I suggest using prettier in this project.

#2474


❓ Does video quality affects photo preview?

Question
Hi, I have an app where users can take pictures and videos with different resolutions and aspect ratios. Im selecting a format using both picture and video resolutions values set by the users, they are the default ones 2048, 1024, 720 for pictures and 720p, 480p and 288p for videos.
When I set a lower video resolution parameter for selecting a format, the picture preview gets really blurry, this is the intended behavior? Can I decouple preview from video resolution in any way so the preview always looks good and the resulting video gets as small as needed?
Thanks in advance!
What I tried
Example of video resolution parameter :
{"videoResolution": {"height": 480, "width": 640}
format got:
{"autoFocusSystem": "phase-detection", "fieldOfView":<PHONE_NUMBER>8652344, "maxExposure": 8, "maxFps": 60, "maxISO": 5280, "maxZoom": 94.5, "minExposure": -8, "minFps": 60, "minISO": 55, "photoHeight": 1512, "photoWidth": 2016, "pixelFormats": ["yuv", "yuv", "rgb", "yuv", "unknown", "yuv", "unknown", "rgb", "unknown"], "supportsDepthCapture": false, "supportsPhotoHdr": false, "supportsVideoHdr": false, "videoHeight": 480, "videoStabilizationModes": ["auto", "off"], "videoWidth": 640}
Device: iPhone 15 Pro with iOS 17.3
VisionCamera Version
3.6.8
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar questions in the issues page as well as in the discussions page and found none.

Yes, as a technical explanation:

Photo: A single capture request that can be of high quality. The output is a special format, will be encoded to JPEG. It's quality can be high even if video quality is low.
Video: A repeating capture request that can also be of high quality. The output is a streaming format such as YUV or PRIVATE and will be used for multiple outputs:

Video Recordings (pretty obvious)
Frame Processing (raw frame data access for ML stuff)
Code Scanning (the same as Frame Processing just wrapped nicely)
Preview (lower resolution to match the screen size)

So in your case, you need to select a video resolution that is at least screen size to make the preview look a bit better, and then downsize the video later maybe. But preview and video are tied together. I don't see any reason why modern apps should choose a video resolution of less than 720p.

The issue is that I need to switch between different photo resolutions, but i need the preview to always look fine. So I dont have any format with high video resolution to make the screen look good, and smaller image size that allows me to take lighter pictures.

yea still, just pass videoResolution of at least screen size. Even if you only use photo


question about occ_track

Hi,
I make profiles of sample A and B centered around factor C (+/-300bps) using occ.bedgraph files. What will your interpretation of the results? I think there is nucleosome clearance at the peak center of sample A compared to B. Is it right?
Thanks,
Duy
occ_A.agg.track.pdf
occ_B.agg.track.pdf

Hi Duy, That would be my interpretation as well, although I would be cautious in that interpretation as the overall magnitude seems low even in A. It would probably be worth looking more into whether 1) results are fairly consistent across all sites with C (by making heatmap for example) and 2) whether signal to noise is adequate to get good occupancy determination

Thanks for your help!


Add option to use default stylesheet

Add a new setting useDefaultStylesheet which, if enabled, renders using the default Asciidoctor stylesheet instead of the extension's default one.
This is compatible with the focus-following and highlighting behaviour.
Resolves #98

Thanks for the contribution.


axis.x.tick.values = [] does not work with bar chart

It does not hide only the ticks it also hides all bars in the chart. Example is in the fiddle
http://jsfiddle.net/831kje72/1/

Hello,
Want do you want to do ? hide the x axis ?
If so just do the following :
var chart = c3.generate({
    data: {
        columns: [
            ['data1', 100, 200, 150, 300, 200],
            ['data2', 400, 500, 250, 700, 300],
        ],
        type: 'bar'
    },
    axis: {
        x: {
            show: false
        }
    }
});

Hi,
thanks for the response. No, I don't want to hide x axis. I want to hide only ticks and labels on x axis.
I think the best example to this is to compare how axis.x.tick.values = [] works with bar chart and line chart.
If I use line chart:
var chart = c3.generate({
    data: {
        columns: [
            ['data1', 100, 200, 150, 300, 200],
            ['data2', 400, 500, 250, 700, 300],
        ],
        type: 'line'
    },
    axis: {
        x: {
            tick: {
                values: []
            }
        }
    }
});

The result will look like this: http://jsfiddle.net/2pkq2fpd/1/
But if I use it with bar chart:
var chart = c3.generate({
    data: {
        columns: [
            ['data1', 100, 200, 150, 300, 200],
            ['data2', 400, 500, 250, 700, 300],
        ],
        type: 'bar'
    },
    axis: {
        x: {
            tick: {
                values: []
            }
        }
    }
});

the result is http://jsfiddle.net/831kje72/1/
With line chart it works how it should and it is broken if it is used with bar chart.

still there
bug


Consul K/V certstore and wildcard certificates

Hi,
I am a little bit confused about how the SSL-certs works with Consul, I have the following domains
billett.ooo

and
*.test.mothership.billett.ooo

If I run Fabio like this:
/usr/bin/fabio \
-proxy.cs 'cs=ssl;type=consul;cert=http://localhost:8500/v1/kv/ssl-certificates'

And then configure my services with the following tags:
tags = ["urlprefix-fabio.test.mothership.billett.ooo/ proto=https"]

and:
tags = ["urlprefix-billett.ooo/ proto=https", "urlprefix-www.billett.ooo/ proto=https"]

Should the pem/key be placed at ssl-certificates/billett.ooo.pem and ssl-certificates/billett.ooo.key? And should I also have a cert like ssl-certificates/www.billett.ooo.pem even though it is the same cert for both www and non-www?
And how would I install and configure the wildcard certificate?

Fabio takes certificates in a combined PEM format.  With consul the path you specify is interpreted as a prefix.  In your example it's expected that you would have a structure similar to this in your Consul KV store:
/ssl-certificates/
                 /cert1
                 /cert2

In each of those keys you should have a concatenated combined pem ... if cert1 was a file you would create it by doing:
cat domain-cert.pem intermediate-signing-cert.pem domain-cert.key > cert1

That make sense?  With LetsEncrypt it would be the fullchain bundle concatenated with the private key.

@leprechau Hi Aaron, thanks for getting back to me.
That does make sense, does Fabio read the domains from the certificates and use the correct one automatically based on the request, or do I need to name my keys accordingly?

The name isn't important.  Fabio will pick the most specific matching CN of the available certificates.

@leprechau That is good to know, that sounds almost magical :)
I am having some issues and the log-file isn't helping me so much.
My service is tagged with: "urlprefix-clusterapp.prod.mothership.billett.ooo/ proto=https".
I've installed the fullchain certificate inside of consul and it lives at kv/sslcerts/cert01:

And I am using the default Fabio configuration, only thing changed is the proxy.cs like this:
proxy.cs = cs=billettocerts;type=consul;cert=http://localhost:8500/v1/kv/sslcerts

However, the log doesn't show anything related to the proxy.cs setting, and when visiting the site https://clusterapp.prod.mothership.billett.ooo/ I get an error:

Here is the full fabio log:
2019/03/15 14:20:31 [INFO] Setting log level to INFO
2019/03/15 14:20:31 [INFO] Runtime config
{
    "Proxy": {
        "Strategy": "rnd",
        "Matcher": "prefix",
        "NoRouteStatus": 404,
        "MaxConn": 10000,
        "ShutdownWait": 0,
        "DialTimeout":<PHONE_NUMBER>0,
        "ResponseHeaderTimeout": 0,
        "KeepAliveTimeout": 0,
        "FlushInterval":<PHONE_NUMBER>,
        "GlobalFlushInterval": 0,
        "LocalIP": "<IP_ADDRESS>",
        "ClientIPHeader": "",
        "TLSHeader": "",
        "TLSHeaderValue": "",
        "GZIPContentTypes": null,
        "RequestID": "",
        "STSHeader": {
            "MaxAge": 0,
            "Subdomains": false,
            "Preload": false
        }
    },
    "Registry": {
        "Backend": "consul",
        "Static": {
            "NoRouteHTML": "",
            "Routes": ""
        },
        "File": {
            "NoRouteHTMLPath": "",
            "RoutesPath": ""
        },
        "Consul": {
            "Addr": "localhost:8500",
            "Scheme": "http",
            "Token": "",
            "KVPath": "/fabio/config",
            "NoRouteHTMLPath": "/fabio/noroute.html",
            "TagPrefix": "urlprefix-",
            "Register": true,
            "ServiceAddr": ":9998",
            "ServiceName": "fabio",
            "ServiceTags": null,
            "ServiceStatus": [
                "passing"
            ],
            "CheckInterval":<PHONE_NUMBER>,
            "CheckTimeout":<PHONE_NUMBER>,
            "CheckScheme": "http",
            "CheckTLSSkipVerify": false,
            "CheckDeregisterCriticalServiceAfter": "90m",
            "ChecksRequired": "one"
        },
        "Timeout":<PHONE_NUMBER>0,
        "Retry": 500000000
    },
    "Listen": [
        {
            "Addr": ":9999",
            "Proto": "http",
            "ReadTimeout": 0,
            "WriteTimeout": 0,
            "CertSource": {
                "Name": "",
                "Type": "",
                "CertPath": "",
                "KeyPath": "",
                "ClientCAPath": "",
                "CAUpgradeCN": "",
                "Refresh": 0,
                "Header": null
            },
            "StrictMatch": false,
            "TLSMinVersion": 0,
            "TLSMaxVersion": 0,
            "TLSCiphers": null
        }
    ],
    "Log": {
        "AccessFormat": "common",
        "AccessTarget": "",
        "RoutesFormat": "delta",
        "Level": "INFO"
    },
    "Metrics": {
        "Target": "",
        "Prefix": "{{clean .Hostname}}.{{clean .Exec}}",
        "Names": "{{clean .Service}}.{{clean .Host}}.{{clean .Path}}.{{clean .TargetURL.Host}}",
        "Interval":<PHONE_NUMBER>0,
        "Timeout":<PHONE_NUMBER>0,
        "Retry": 500000000,
        "GraphiteAddr": "",
        "StatsDAddr": "",
        "Circonus": {
            "APIKey": "",
            "APIApp": "fabio",
            "APIURL": "",
            "CheckID": "",
            "BrokerID": ""
        }
    },
    "UI": {
        "Listen": {
            "Addr": ":9998",
            "Proto": "http",
            "ReadTimeout": 0,
            "WriteTimeout": 0,
            "CertSource": {
                "Name": "",
                "Type": "",
                "CertPath": "",
                "KeyPath": "",
                "ClientCAPath": "",
                "CAUpgradeCN": "",
                "Refresh": 0,
                "Header": null
            },
            "StrictMatch": false,
            "TLSMinVersion": 0,
            "TLSMaxVersion": 0,
            "TLSCiphers": null
        },
        "Color": "light-green",
        "Title": "",
        "Access": "rw"
    },
    "Runtime": {
        "GOGC": 800,
        "GOMAXPROCS": 1
    },
    "ProfileMode": "",
    "ProfilePath": "/tmp",
    "Insecure": false,
    "GlobMatchingDisabled": false
}
2019/03/15 14:20:31 [INFO] Version 1.5.10 starting
2019/03/15 14:20:31 [INFO] Go runtime is go1.11.1
2019/03/15 14:20:31 [INFO] Running fabio as UID=0 EUID=0 GID=0
2019/03/15 14:20:31 [WARN]

  ************************************************************
  You are running fabio as root without the '-insecure' flag
  This will stop working with fabio 1.7!
  ************************************************************

2019/03/15 14:20:31 [INFO] Metrics disabled
2019/03/15 14:20:31 [INFO] Setting GOGC=800
2019/03/15 14:20:31 [INFO] Setting GOMAXPROCS=1
2019/03/15 14:20:31 [INFO] Running fabio as UID=0 EUID=0 GID=0
2019/03/15 14:20:31 [WARN]

  ************************************************************
  You are running fabio as root without the '-insecure' flag
  This will stop working with fabio 1.7!
  ************************************************************

2019/03/15 14:20:31 [INFO] consul: Connecting to "localhost:8500" in datacenter "eu-central-1"
2019/03/15 14:20:31 [INFO] Admin server access mode "rw"
2019/03/15 14:20:31 [INFO] Admin server listening on ":9998"
2019/03/15 14:20:31 [INFO] Waiting for first routing table
2019/03/15 14:20:31 [INFO] consul: Using dynamic routes
2019/03/15 14:20:31 [INFO] consul: Using tag prefix "urlprefix-"
2019/03/15 14:20:31 [INFO] consul: Watching KV path "/fabio/config"
2019/03/15 14:20:31 [INFO] consul: Watching KV path "/fabio/noroute.html"
2019/03/15 14:20:31 [INFO] HTTP proxy listening on :9999
2019/03/15 14:20:31 [INFO] Running fabio as UID=0 EUID=0 GID=0
2019/03/15 14:20:31 [WARN]

  ************************************************************
  You are running fabio as root without the '-insecure' flag
  This will stop working with fabio 1.7!
  ************************************************************

2019/03/15 14:20:31 [INFO] Access logging disabled
2019/03/15 14:20:31 [INFO] Using routing strategy "rnd"
2019/03/15 14:20:31 [INFO] Using route matching "prefix"
2019/03/15 14:20:31 [INFO] consul: Registered fabio as "fabio"
2019/03/15 14:20:31 [INFO] consul: Registered fabio with id "fabio-ip-10-1-1-192.eu-central-1.compute.internal-9998"
2019/03/15 14:20:31 [INFO] consul: Registered fabio with address "<IP_ADDRESS>"
2019/03/15 14:20:31 [INFO] consul: Registered fabio with tags ""
2019/03/15 14:20:31 [INFO] consul: Registered fabio with health check to "http://[<IP_ADDRESS>]:9998/health"
2019/03/15 14:20:32 [INFO] Config updates
+ route add whoami www.billett.ooo/ http://<IP_ADDRESS>:25262/
+ route add whoami www.billett.ooo/ http://<IP_ADDRESS>:31507/
+ route add whoami www.billett.ooo/ http://<IP_ADDRESS>:29010/
+ route add whoami billett.ooo/ http://<IP_ADDRESS>:25262/
+ route add whoami billett.ooo/ http://<IP_ADDRESS>:31507/
+ route add whoami billett.ooo/ http://<IP_ADDRESS>:29010/
+ route add nomad-ui nomad.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:4646/ opts "allow=ip:<IP_ADDRESS>/32 pxyproto=true"
+ route add nomad-ui nomad.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:4646/ opts "allow=ip:<IP_ADDRESS>/32 pxyproto=true"
+ route add nomad-ui nomad.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:4646/ opts "allow=ip:<IP_ADDRESS>/32 pxyproto=true"
+ route add consul-ui consul.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:8585/ opts "allow=ip:<IP_ADDRESS>/32 pxyproto=true"
+ route add consul-ui consul.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:8585/ opts "allow=ip:<IP_ADDRESS>/32 pxyproto=true"
+ route add consul-ui consul.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:8585/ opts "allow=ip:<IP_ADDRESS>/32 pxyproto=true"
+ route add clusterapp-group-web clusterapp.prod.mothership.billett.ooo/ https://<IP_ADDRESS>:22822
2019/03/15 14:20:33 [INFO] Config updates
+ fabio-ui fabio.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:9998/ opts "allow=ip:<IP_ADDRESS>/32"
+ route add
2019/03/15 14:20:35 [INFO] Config updates
+ fabio-ui fabio.prod.mothership.billett.ooo/ http://<IP_ADDRESS>:9998/ opts "allow=ip:<IP_ADDRESS>/32"
+ route add
invalid log msg: 2019/03/15 14:21:48 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:21:52 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:21:54 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:22:02 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:22:02 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:22:06 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:22:08 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:22:12 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:22:12 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:23:02 http: proxy error: tls: oversized record received with length 20527
invalid log msg: 2019/03/15 14:23:03 http: proxy error: tls: oversized record received with length 20527
invalid log msg: 2019/03/15 14:23:04 http: proxy error: tls: oversized record received with length 20527
invalid log msg: 2019/03/15 14:23:48 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:26:09 http: proxy error: context canceled
invalid log msg: 2019/03/15 14:26:09 http: proxy error: context canceled

Am I missing something obvious?

You'll need the fullchain + key in the key store (in the cert01 key).  The server needs the certificate (public key) chain plus the private key to initiate an encrypted connection.

Hi, just a hunch but wildcard certs I have seen  are usually *.domain.tld and not for *.*.*.domain.tld
Would it possible to verify the cert and key first using a tls web server like
https://github.com/udhos/gowebhello

@shantanugadgil Thanks for your suggestion. I did have some issues with the wildcard certs, so I've decided to just use full domains and skip the wildcard certs for now, it is more important to get some https working than get wildcards working :) I will take a look at gowebhello when I toy with wildcard certs again.

@leprechau I see, I didn't read what you wrote, I have now done the cat fullchain.pem privkey.pem > cert01.pem and pasted it into Consul, but still no change.
I noticed this from the logs:
route add clusterapp-group-web clusterapp.prod.mothership.billett.ooo/ https://<IP_ADDRESS>:22822

Does that look right? It look like Fabio is doing a https connection to my service, I thought Fabio would serve the cert and do http internally.

Ohh, okay ... so fabio can do HTTPs termination for you on the front ... and it can also do HTTPs termination to backend services.  The proto=https option to the urlprefix- tag tells fabio it should use https when communicating with the backend.
I think what you are wanting is for fabio to handle all HTTPs termination and then use plain HTTP to the backend?  If that's the case you simply need to configure the urlprefix- without the proto=https option and connect to fabio via an HTTPs listener.  To do that you need to configure the certificate store like you have done AND specify an HTTPs listener via the proxy.addr option:
https://fabiolb.net/ref/proxy.addr/
You can also have fabio automatically redirect port 80 to 443 using a redirect.
https://fabiolb.net/feature/http-redirects/
Hope that helps!

Here's an example configuration from our development environment where we have several listeners defined:
proxy.cs = cs=files;type=path;cert=/etc/fabio/certs;refresh=60s
proxy.addr = <IP_ADDRESS>:80;proto=http;rt=90s;wt=60s,\
             <IP_ADDRESS>:443;proto=https;rt=90s;wt=60s;cs=files;tlsmin=tls10, \
             <IP_ADDRESS>:80;proto=http;rt=69s;wt=60s,\
             <IP_ADDRESS>:443;proto=https;rt=90s;wt=60s;cs=files;tlsmin=tls10, \
             <IP_ADDRESS>:8443;proto=tcp+sni, \
             <IP_ADDRESS>:26257;proto=tcp

The above config creates one certificate store as a file base where I have the concatenated certs in /etc/fabio/certs.  It also defines multiple listeners some service HTTPS on port 443, HTTP on port 80, TCP+SNI passthrough on port 8443 and standard TCP on port 26257.
Requests inbound on port 80 will be standard HTTP ... requests on port 443 fabio will terminate TLS and us the configured certificate store to find a certificate matching the SNI of the request.
To force HTTPS we place the following in the consul KV config:
route add http-redirect dev.ena.net:80 https://dev.ena.net$path opts "redirect=301"

@leprechau Thank you so much for your patience and examples, very handy to know about the \ for newlines, and the http redirection.
I've now done the changes you recommended, so my config is now like this:
proxy.cs = cs=billettocerts;type=consul;cert=http://<IP_ADDRESS>:8500/v1/kv/sslcerts
proxy.addr = :9999;proto=http,:9995;proto=https;cs=billettocerts

And now Fabio also picks up the configuration on boot:
{
    "Addr": ":9995",
    "Proto": "https",
    "ReadTimeout": 0,
    "WriteTimeout": 0,
    "CertSource": {
        "Name": "billettocerts",
        "Type": "consul",
        "CertPath": "http://<IP_ADDRESS>:8500/v1/kv/sslcerts",
        "KeyPath": "",
        "ClientCAPath": "",
        "CAUpgradeCN": "",
        "Refresh": 0,
        "Header": null
    },
    "StrictMatch": false,
    "TLSMinVersion": 0,
    "TLSMaxVersion": 0,
    "TLSCiphers": null
}

However, when I visit any of the sites the log shows this:
2019/03/16 06:24:20 [INFO] cert: Store has certificates for [""]
invalid log msg: 2019/03/16 06:33:38 http: TLS handshake error from <IP_ADDRESS>:61064: cert: no certificates stored

It turned out that the key had to be named cert01.pem instead of just cert01 to work 👍


feature: add assert_matches as unstable feature

Closes #80
Inlines the existing top level implementation of stdlib's assert_matches, and links it into our existing display framework. The results look... okay. Patterns don't come with nice multiline displaying, so we're mostly diffing a value against a pattern - but just getting them displayed in red/green and on separate lines is still nice.

@gilescope this was your suggestion, so will leave open for a bit if you have any further thoughts?

Codecov Report

Merging #81 (fa8731f) into main (55f9b7a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main      #81   +/-   ##
=======================================
  Coverage   96.95%   96.95%
=======================================
  Files           4        4
  Lines         197      197
=======================================
  Hits          191      191
  Misses          6        6

Impacted Files
Coverage Δ

pretty_assertions/src/lib.rs
100.00% <ø> (ø)

pretty_assertions/tests/macros.rs
98.18% <ø> (ø)

Continue to review full report at Codecov.

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

That's smashing! You've made my day. Yes closes the issue.


fix: apply lazygit theme

use themes-mergable folder to apply lazygit theme as this has gui field
see https://github.com/catppuccin/lazygit/issues/13

thanks!


getImageDataUrl doesn't exist on the diff data object

getImageDataUrl doesn't exist on the diff data object. I get
{ isSameDimensions: false,
dimensionDifference: { width: 0, height: -154 },
misMatchPercentage: '22.48',
analysisTime: 346,
getDiffImage: [Function] }
}
It looks like getDiffImage, returns a node stream... But I'm unable to write it to a file... could you give an example?

+1

@franck34
After digging through the source code, I was able to come up with this solution to write the image to a file:
`var png = data.getDiffImage();
var imageName = "out.png";
png.pack().pipe(fs.createWriteStream(imageName));
png.on('parsed', function() {
return png.pack().pipe(fs.createWriteStream(imageName));
});`

Same here, but i had to clone another branch because getDiffImage does not exist on master branch.
I did it few hours ago. But curiously branches vanished from github. Or perhaps i'm really tired ??

Ha. Got it. Was using this fork : https://github.com/nikrolls/node-resemble

@jkieley this repo does not contain any "getDiffImage" occurence :)

@jkieley here is what I did and it seems to work:
var fs = require('fs');
var resemble = require('node-resemble');

var img1 = fs.readFileSync('before.png');
var img2 = fs.readFileSync('after.png');

resemble(img1).compareTo(img2).onComplete(function(data){
  var png = data.getImageDataUrl();
  var base64Data = png.replace(/^data:image\/png;base64,/, "");
  fs.writeFile("out.png", base64Data, 'base64', function(err) {
    console.log(err); // if any
  });
});


If instruction tutorial page

One thing I realized with Glider is that working with IfInstructions are not super intuitive. Is there any desire to add a page for querying IfInstructions? It's likely something I can write up and submit as a PR. Let me know!

Sure, you can make a PR, it's not a problem. I was thinking about writing an article about your lib too :D
Don't have much time at the moment to spare, unfortunately

Currently considering holding off on writing this after investigating IfInstructions. I'm leaning towards waiting for a new update on the Glider IfInstruction API before spending time writing out guide on it.
If someone is interested in this article now please ping me and I will try my best to get something out sooner than later.


Fix osx/linux path problem with props file

This change ensures that the osx and linux native binaries get copied to the correct location during build, regardless of project/solution structure.
This fixes #10.

:+1:

@bording Do you need me to push now an updated version of the native binaries NuGet package?

You'd also need a new version of the main package that depends on this new version in order for people to use it.
If you do that, then @copygirl's problem with building with MonoDevelop on linux goes away.


Hauling point storage amount resets to default on game load

Posted issue on Steam Workshop page.
Tested with only this mod and Mod Updater installed.
Method to replicate:
:: Start ONI with only this mod and Mod Updater activated
:: Start a new survival game using the Spaced Out start
:: Mine some material to give sandstone to test with
:: Place a hauling point
:: Set hailing point limit to a lower amount (eg 20kg)
:: Save game
:: Load game
If you mouse over the hauling point (don't click it!), it will show the default value of 20,000kg, and dupes will continue to load the hauling point with material in excess of the user specified limit (20kg). When you do actually click the hauling point to select it, the load limit will revert to the user set limit and dupes will stop delivering at that point. If the amount loaded has already exceeded the user specified limit, there is no way to remove the excess as stuff cannot be removed, and the excess doesn't automatically fall out.

fixed, thank you for reporting!


Add darker overlay for video embeds to make the white button always visible

Before:

After:

I would rather change the ../Assets/play.svg icon to be non-white and also change it's opacity to 1 (it's .8 now)

I changed the icon, added shadow.
New look:

имхо можно тень понежнее, в 2 раза больше прозрачности

@ArtCraft , what about now?


Add verbose error when path isn't within object

🔎 Overview
Recently, I had an error
Uncaught TypeError: Cannot use 'in' operator to search for 'someKeyHere' in
While I debug things, I think it's better to have a full path as part of stack trace.
WDYT ?
Ex (Feat):

This PR {adds/fixes/improves} the {feature/bug/something}.

Ex (Locale):

This PR changes the {locale} messages style because {reason}

🤓 Code snippets/examples (if applicable)
// some code

✔ Issues affected
list of issues formatted like this:

closes #{issue id}

@logaretm, I've add some test as well to verify my code works.
Can you review this ?


[Documentation]: What is the testing flow?

Describe the whole process of

Recommended way to author tests
Setting appropriate environment variables
How authentication is handled in different modes
How record and replay works

Please see the Documentation folder


Support Trigger Tokens for projects

One of the token types that is missing is a pipeline trigger token.
I do not want to give alternate tokens with API access to other projects which is an alternative to this but I do want to allow said projects to kick off a pipeline in the downstream project without having access to code or other things in said project.
Other tokens/access that work but give too much access:

Personal Access tokens with API scope
Project Access tokens with API scipe
Group Access tokens with API scope
CICD job token that inherits the permissions of the person who kicked off the job.
Developer access to downstream project

References:

https://docs.gitlab.com/ee/ci/triggers/
https://docs.gitlab.com/ee/api/pipeline_triggers.html
https://docs.gitlab.com/ee/security/tokens/index.html

I'll need to take a look if this can be integrated.
Can you provide some full examples of how would you use it?

Sure!

One thing I want to do is let upstream projects kick off a specific downstream project without direct access via a users personal permissions or via project tokens that give too many permissions to the triggering project as I do not want the upstream project to have code access.  This would allow allowed projects to request a temporary token to the downstream project regardless of the users permissions and without needing a token with expanded permissions to kick off a pipeline
Another would be for external systems to kick off a pipeline in GitLab without manually provisioning specific per project tokens that are static.  For instance if I had a service now workflow that updated a system and some GitLab projects are dependent on that change I can have the service now workflow request a temporary token to kick off the pipeline instead of something static that needs to be rotated and also expires at the end of its life where someone needs to remember to do so

I've released a new version, v0.7.1

Gitlab Pipeline Project Trigger Tokens - https://docs.gitlab.com/ee/api/pipeline_triggers.html
Gitlab Group/Project Deploy Tokens - https://docs.gitlab.com/ee/user/project/deploy_tokens

Can you give it a try and let me know how it goes?

Please reopen if you have any issues.


ci: fix regex to capture only necessary version update

Tested in regex101.com.
It captured mkdocstrings = {version=">=0", extras=["python"]} as well which we don't need.
Fixes https://github.com/splunk/addonfactory-solutions-library-python/actions/runs/7713020796/job/21022116056#step:6:502

:tada: This PR is included in version 4.12.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Folding sidebar sections causes sidebar overflow

VSCode Version: 1.17.0
OS Version: Debian 9.1
Screen resolution: 1366x768

Steps to Reproduce:

Fold some sidebar sections (starting from the bottom - Drake's voice)
Unfold all and the bottom ones should overflow out of the sidebar

Reproduces without extensions: No
Example:

@joaomoreno Any insights?

@sandy081 All those views have a pretty big minimum size when expanded. If you sum up all those minimum sizes, it will be larger than the layout size of the split view. Nothing we can do to fix that.
The bug is valid though, I'll take it.

Good catch!


fix #765 and pretty print

@AndreaBorgia-Abo Sorry for this unintended review request and all my future unintended actions. Learning to be a new collaborator...

@sandraros the same goes for me, don't sweat it. It seems a bit odd me reviewing your code but I'll do my best :)


⚠ Bofrost.lu has degraded performance

In 4c4484b, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 2123 ms

Resolved: Bofrost.lu performance has improved in 5410977 after 20 minutes.


Compile to WASM

Hi,
Is it possible compile to the WASM?
It would be nice if we can compile to the WASM, So we can test easily via Web browser.

It takes a lot of work, you can try


Add possibility of binary manipulation in copy tasks

Current Behavior
When you are copying with a copy task, you can easily manipulate text files on-the-fly with filters defined in the copy spec. However filters support only text files via the Reader interface. It is possible to replace tokens, process lines, etc., but you can not perform binary manipulations such as: compression, encryption, character encoding change, and so on.
Desired Behavior
I would suggest to introduce a new method with name encode (or something similar), which declares binary manipulations which will be applied after filters. For example:
task fooCopy(type: Copy) {
    // ...
    filteringCharset = 'UTF-8'
    filter(ReplaceTokens, tokens: ['TITLE': title])
    encode(SetCharset, to: 'ISO-8859-1')
    encode(CompressWithGzip, level: 9)
}

Context
In the case of a simple Copy task you can do any manipulation in doLast or in a next task. However, in a tricky copy task (like archive creation, copy to remote system etc.) this is not an option. To be more specific, last time I tried to gzip some files while copying into a deb package. See https://stackoverflow.com/questions/48188092/how-to-compress-a-single-file-in-gradle/48189999?noredirect=1#comment83362053_48189999.

How about adding ContentFilterable filter(Class<? extends FilterInputStream> filterType); to ContentFilterable?
It looks trivial, yet helpful.
PS. If is "funny" how ContentFilterable refers to Represents some binary resource whose content can be filtered while the only possible way to filter is to apply TEXT transformations.

Oh, it looks like a workaround could be to use ISO-8859-1 encoding as it is safe for binary data.
In other words: declare filteringCharset = 'ISO-8859-1'
Then add custom filters that would gzip the data. The filter would convert char[] via ISO-8859-1 to byte[], gzip the bytes and convert back to char[] via ISO-8859-1
Even though it would require multiple encode steps it would probably work with current versions  of Gradle.
See https://stackoverflow.com/questions/15925458/iso-8859-1-encoding-and-binary-data-preservation

I would suggest:

decode function for "decoding bytes into characters"
filter(FilterInputStream) for filtering binary data
encode function to "encoding characters to bytes".

Note: if decode is not specified, and text-based filters are used, then Gradle would add a default InputStreamReader as it does now.
In the same way, if encode is not specified, then Gradle would add a default OutputStreamWriter.
Samples:
task fooCopy(type: Copy) {
    // ...
    filteringCharset = 'UTF-8'
    filter(Gunzip) // binary->binary filter, and it is performed before UTF-8 processing
    filter(ReplaceTokens, tokens: ['TITLE': title]) // Gradle should add implicit encode-decode here
    filter(Gzip) // binary->binary filter, and it is performed at byte level
}

which is equivalent to
task fooCopy(type: Copy) {
    // ...
    filteringCharset = 'UTF-8'
    filter(Gunzip) // binary->binary filter, and it is performed before UTF-8 processing
    decode(InputStreamReader, encoding: 'UTF-8')
    filter(ReplaceTokens, tokens: ['TITLE': title]) // input is text (it comes from "decode"), so no implicit decode is added
    encode(OutputStreamWriter, encoding: 'UTF-8')
    filter(Gzip) // binary->binary filter, and it is performed at byte level
}

Sorry for the late reply
This feature request is in the backlog of the relevant team and is prioritized by them.

Having that feature in Gradle makes sense. But it is unclear whether this should be added to Copy or designed as something else, like artifact transforms.


Could the authors provide checkpoints and inference code?

Thanks for your interest in our work! You may find the weights here. However, please bear with me as I need time to tidy up the pipeline. Thank you for your patience!

Thank you very much for sharing.


[Signing 2] Add only signed options to remote form

[x] There is maybe a need to add a sign that repo is syncs only signed only

Waiting for more info here: https://issues.redhat.com/browse/AAH-1333
Api does not supports it yet, by chat conversation we will not implement this now.

@ZitaNemeckova this PR is ready. That particular feature can come later when api supports it.

@brumik Right now I can say it looks good code-wise :+1:
BUT it's impossible to test without API and definetely shouldn't be merged because it breaks the form rigth now if an user changes the value of signed_only. So that's why I would add some kind of warning to prevent anyone from merging it before API.

@himdel Yes, we will card it up probably now.

Yes, we will card it up probably now.

What does this mean?
That sounds like "yes, we're not doing this" but if so, why the merge?

Thanks for the merge, yes, the missing part is moved to a separate issue.


Generate identity proxy bytecode without solc

Fix: #77
My solution remove solc completely and add only library https://github.com/axic/swarmhash which is used to generate metadata hash (swarmhash is quite small with a few line of code).
The idea is make use of a pre-generated assemply code to create opcodes template, then use the template to generate bytecode.
It requires some effort from the maintainer but run super fast at user side
The code is very simple so it can run in browser without any trouble

ultimately decided to go a different direction


[feature] Add overlay tracking of the HMD

Basically what the titles says. Make the overlay track the HMD instead of the controller. Basically make it a static position relative the eyes.

Yes, that it quite easy to achieve, actually. It might not be everyone's cup of tea, due to nausea though.

Aha, hadn't occurred to me that it could be an issue!
I thought of it partly because I had issues getting the hand based tracking to work pleasantly, or perhaps rather understanding how it is supposed to work. More specifically how the dim/undim works, it would not show at all most of the time when I tried it out. And possibly only show itself when pointing in weird angles.

The hand tracking will get an update soon for the show/hide behavior, how it is implemented right now is not intuitive. Dim/undim works by just looking at it for the x amount of seconds you specify


community: Add sqlite-vec as a vector store

This PR add sqlite-vec as a vector store option.

The only depency for this vector store option is to install sqlite-vec library.
My twitter handle is https://x.com/Philippe_Oger. A lot of credit should go to https://x.com/agarcia_me who has created the sqlite-vec library. I have only done the langchain integration. It would be great if you could push forward this article as well https://alexgarcia.xyz/blog/2024/sqlite-vec-stable-release/index.html that introduces the library.

I originally did the SQLite-vss integration, the implementation is basically the same. Tests are passing.

Closing as this has already been submitted: https://github.com/langchain-ai/langchain/pull/25003


json: cannot unmarshal object into Go value of type string

I get this error trying to run this script
/usr/local/bin/systemd-docker run --rm --name mycontainer

docker info
lient:
 Debug Mode: false

Server:
 Containers: 7
  Running: 1
  Paused: 0
  Stopped: 6
 Images: 18
 Server Version: 19.03.5
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: b34a5c8af56e510852c35414db4c1f4fa6172339
 runc version: 3e425f80a8c931f88e6d94a8c831b9d5aa481657
 init version: fec3683
 Security Options:
  apparmor
  seccomp
   Profile: default
 Kernel Version: 5.3.0-7625-generic
 Operating System: Ubuntu 18.04.3 LTS
 OSType: linux
 Architecture: x86_64
 CPUs: 12
 Total Memory: 31.22GiB
 Name: #####
 ID: ######
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  <IP_ADDRESS>/8
 Live Restore Enabled: false

WARNING: No swap limit support

Same here

I have no Go experience but some simple debugging suggests that every call to dockerClient is returning this json error.

I have no Go experience but some simple debugging suggests that every call to dockerClient is returning this json error.

+1 for this bug

Here the same. There must be some call in go language function that can't read correctly a formatted text exchanging data, but this is just a generic attempt to describe.

Got this bug too.

Doesn't fix the issue at hand, but just sharing that this fork's build worked for me:
https://github.com/subdavis/systemd-docker/releases/tag/1.0.0

@darkvertex Please share the fix. Thanks.

@darkvertex Please share the fix. Thanks.

I can dig up the executable from my server, but maybe it would be best if @subdavis shared it themselves. (The repo disappeared. Can you share what you had fixed in your fork, @subdavis?)
Sadly I don't believe I cloned the fork, so best I can do is give you the 64bit Linux build executable that is working for me.

Thanks, it's not necessary, working forks exist.

I deleted my fork, sorry.
FWIW (and sorry for the somewhat off topic rant) systemd-docker is kind of a bad idea in general and I wouldn't recommend anyone use it.  Docker (the daemon service) provides all of the same features as systemd, and they're much easier to use with docker-compose (for dependency management) and restart policies.
I used to tell people that I used systemd-docker because docker was not a real, reliable service manager.  I was wrong, and it is.  If you need to integrate some dependencies on external systemd resources, just make those dependencies of the docker daemon and not individual containers.
There's nothing wrong with this project as a neat proof of concept.  It's just that the concept isn't good or practical, and you shouldn't use it in any real environment.  Just go use docker-compose.

@subdavis I'm not an expert on docker-compose, but I have spent quite a lot of frustrating time fighting the lack of proper dependency management. I certainly would not call it a "service manager"!
There is no way to do proper dependency control in docker-compose. In particular, no way to create subsystem trees with dependency rules specified in docker-compose. Just to take a simple example from a server I am currently working on... There are three services: web front-end, nextcloud service, roundcube service. I need to be able to start and stop services, make changes (e.g. resource assignments) and restart services, etc. Each service is specified in a separate docker-compose file (each quite complex - with multiple containers, volumes, etc). I want to be able to change one of the .yml files and tell docker-compose to reestablish the modified configuration - taking into account, for example, whether it needs to restart all three services (which could be 10 in a larger deployment!) or just one or two. I want to be able to add a new service, without having to restart all the others. Etc.
Systemd can do that sort of dependency management - which is why it is a service manager but docker-compose is not.

taking into account, for example, whether it needs to restart all three services (which could be 10 in a larger deployment!) or just one or two. I want to be able to add a new service, without having to restart all the others. Etc.

Yep. docker-compose is smart and it does all of that.  Try combining all your docker-compose files (or just specifying all of them with 'f) and bringing the stack up.  Now just change 1, and run docker-compsoe up -d again. Only the changed one will update.

Thanks @subdavis. I will do some experimentation but I am not convinced your proposal will work. I need the docker-compose files separate because each service has its own directory tree, and are maintained separately. If I combine them (I presume using -f is equivalent to appending the files into one giant file) I am afraid I risk losing the constraints that prevent one service from reading files owned by another, for example.
Also, I need to be able to (say) start all three services but later take down (say) nextcloud for maintenance. I would expect a service manager to have some way to say "stop nextcloud", which would work out what subsystems survive and what have to be stopped and would remember that the current state of the service is "stopped". Are you saying the way to do that would be to reissue the docker-compose up command leaving the -f for the nextcloud file off? I see what you mean but it is quite clunky, particularly if the operator responsible for something else needs to shutdown another subsystem and doesn't know nextcloud is also currently shutdown. Not what I would expect from a service manager - I don't think it can be called a manager if it is stateless.
But thanks for the ideas - I will look into it further. For now, my systemd-driven management works "well enough".

You guys may also wanna consider podman as a runtime instead of Docker, as it can work rootless and run Docker images straight with almost the same API, but integrates well with systemd:

https://www.tutorialworks.com/podman-systemd/
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html/managing_containers/running_containers_as_systemd_services_with_podman

podman does not require a daemon and runs well rootless, and because it's daemon free, the process will run directly under systemd's control, without a hack necessary like systemd-docker.
Most of the flags you know from "docker run" work the same in "podman run"; you'd be surprised how easy it is to port over.


Show submission time in local time zone

@ mention of reviewers
@Didayolo
A brief description of the purpose of the changes contained in this PR.
submissions panel and leaderboard now show submission time in local time zone
Submission panel shows time in local time zone

Leaderboard shows time in local time zone

Issues this PR resolves

#1359

Checklist

[x] Code review by me
[x] Hand tested by me
[x] I'm proud of my work
[x] Code review by reviewer
[ ] Hand tested by reviewer
[x] CircleCi tests are passing
[ ] Ready to merge

The date of submission shown is alwayw "2024-10-13 13:00".
On submission_time branch:`

On develop branch:


UserWarning: cannot import name 'Sources'

Hi Robert! Hope you are doing well :-)
I am back on track for publishing databases in the CLDF format, but I recently encountered a new error (that I did not have a few weeks ago) when deploying the database on my virtual machine.
When I run the process https://github.com/cldf/cookbook/blob/master/recipes/clld/README.md (or the tutorial https://clld.readthedocs.io/en/latest/tutorial.html) and reach
clld initdb development.ini

it shows the following error/warning message:
/home/marcat/clld/src/clld/cliutil.py:57: UserWarning: cannot import name 'Sources'
  warnings.warn(str(e))

Then, when I start the app, the local host page shows 404 Not Found The resource could not be found.
Would you have any hints as to where I should check :-P?  Please let me know if you need more information :-)

Hm, I'd need to know a bit about versions of installed packages. Can you run pip freeze and let me know the results?

Sure :-) I give the following as detailed as possible:
If I run pip freeze outside of the VM
appdirs==1.4.4
apturl==0.5.2
asn1crypto==0.24.0
Brlapi==0.6.6
certifi==2018.1.18
chardet==3.0.4
command-not-found==0.3
cryptography==2.1.4
cupshelpers==1.0
cycler==0.10.0
decorator==4.4.2
defer==1.0.6
distlib==0.3.1
distro-info===0.18ubuntu<IP_ADDRESS>
filelock==3.0.12
httplib2==0.9.2
idna==2.6
importlib-metadata==4.0.1
importlib-resources==5.1.2
keyring==10.6.0
keyrings.alt==3.0
kiwisolver==1.3.1
language-selector==0.1
launchpadlib==1.10.6
lazr.restfulclient==0.13.5
lazr.uri==1.0.3
louis==3.5.0
lxml==4.6.2
macaroonbakery==1.1.3
Mako==1.0.7
MarkupSafe==1.0
matplotlib==3.3.3
netifaces==0.10.4
networkx==2.5
numpy==1.19.5
oauth==1.0.1
olefile==0.45.1
onboard==1.4.1
pexpect==4.2.1
Pillow==8.1.0
protobuf==3.0.0
pycairo==1.16.2
pycrypto==2.6.1
pycups==1.9.73
pygobject==3.26.1
pymacaroons==0.13.0
PyNaCl==1.1.2
pyparsing==2.4.7
pyPdf==1.13
pyRFC3339==1.0
python-apt==1.6.5+ubuntu0.5
python-dateutil==2.8.1
python-debian==0.1.32
python-distutils-extra==2.39
pytz==2018.3
pyxdg==0.25
PyYAML==3.12
reportlab==3.4.0
requests==2.18.4
requests-unixsocket==0.1.5
SecretStorage==2.3.1
simplejson==3.13.2
six==1.15.0
system-service==0.3
systemd-python==234
typing-extensions==<IP_ADDRESS>
ubuntu-drivers-common==0.0.0
ufw==0.36
unattended-upgrades==0.1
urllib3==1.22
usb-creator==0.3.3
virtualenv==20.4.4
wadllib==1.3.2
xkit==0.0.0
zipp==3.4.1
zope.interface==4.3.2

If I run it in the VM
alembic==1.6.5
attrs==21.2.0
Babel==2.9.1
certifi==2020.12.5
chardet==4.0.0
clld==7.4.2
clldutils==3.8.0
colander==1.8.3
colorlog==5.0.1
csvw==1.11.0
greenlet==1.1.0
hupper==1.10.3
idna==2.10
importlib-metadata==4.3.0
iso8601==0.1.14
isodate==0.6.0
latexcodec==2.0.1
Mako==1.1.4
MarkupSafe==2.0.1
nameparser==1.0.6
paginate==0.5.6
PasteDeploy==2.1.1
plaster==1.0
plaster-pastedeploy==0.7
purl==1.6
pybtex==0.24.0
pycldf==1.21.1
pyparsing==2.4.7
pyramid==2.0
pyramid-mako==1.1.0
pyramid-tm==2.4
python-dateutil==2.8.1
python-editor==1.0.4
pytz==2021.1
PyYAML==5.4.1
rdflib==5.0.0
requests==2.25.1
rfc3986==1.5.0
six==1.16.0
SQLAlchemy==1.4.15
tabulate==0.8.9
transaction==3.0.1
translationstring==1.4
typing-extensions==<IP_ADDRESS>
uritemplate==3.0.1
urllib3==1.26.5
venusian==3.0.0
waitress==2.0.0
webassets==2.0
WebHelpers2==2.0
WebOb==1.8.7
zipp==3.4.1
zope.deprecation==4.4.0
zope.interface==5.4.0
zope.sqlalchemy==1.4

A short note: when running pip install "clld>=7.1.1" in the VM, I get a warning that
WARNING: You are using pip version 21.0.1; however, version 21.1.2 is available.
You should consider upgrading via the '/home/marcat/myenv/bin/python -m pip install --upgrade pip' command.

if I run that upgrade pip code, I still get the cannot import name 'Sources' error at the end, but here is the output of pip freeze if I did run that upgrade pip code
alembic==1.6.5
attrs==21.2.0
Babel==2.9.1
certifi==2020.12.5
chardet==4.0.0
clld==7.4.2
clldutils==3.8.0
colander==1.8.3
colorlog==5.0.1
csvw==1.11.0
greenlet==1.1.0
hupper==1.10.3
idna==2.10
importlib-metadata==4.3.0
iso8601==0.1.14
isodate==0.6.0
latexcodec==2.0.1
Mako==1.1.4
MarkupSafe==2.0.1
nameparser==1.0.6
paginate==0.5.6
PasteDeploy==2.1.1
plaster==1.0
plaster-pastedeploy==0.7
purl==1.6
pybtex==0.24.0
pycldf==1.21.1
pyparsing==2.4.7
pyramid==2.0
pyramid-mako==1.1.0
pyramid-tm==2.4
python-dateutil==2.8.1
python-editor==1.0.4
pytz==2021.1
PyYAML==5.4.1
rdflib==5.0.0
requests==2.25.1
rfc3986==1.5.0
six==1.16.0
SQLAlchemy==1.4.15
tabulate==0.8.9
transaction==3.0.1
translationstring==1.4
typing-extensions==<IP_ADDRESS>
uritemplate==3.0.1
urllib3==1.26.5
venusian==3.0.0
waitress==2.0.0
webassets==2.0
WebHelpers2==2.0
WebOb==1.8.7
zipp==3.4.1
zope.deprecation==4.4.0
zope.interface==5.4.0
zope.sqlalchemy==1.4

Ok, I can reproduce the error :) Might be a regression in pycldf.

It's a bug in pycldf, will fix, re-release and report here, when done.

ok, fixed in https://pypi.org/project/pycldf/1.21.2/ so running
pip install -U pycldf

in the VM should fix this problem.

It works on my side too with your fix! Thanks a lot for your super fast reaction! Have a nice weekend!


B2B2-34 add in option to pass in a class for regular ads

@jcain3389 @prosanelli this allows you to add the same div_class option to the dfp tag


Deliver Pulls Build Number From IPA If It Exists

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I read the Contribution Guidelines
[x] I read docs.fastlane.tools
[x] I searched for existing GitHub issues

Issue Description
When calling Deliver with a simple command of:
deliver(app_version: VERSION_NUMBER)
I was expecting it to pull the latest build number from Appstore Connect but it was pulling 1000 for some reason. Thusly it was waiting forever for the build to process.
Waiting for processing on... app_id: XXXXX, app_version: VERSION_NUMBER, build_version: 1000, platform: IOS
WARN [2021-02-23 18:36:23.36]: Read more information on why this build isn't showing up yet - https://github.com/fastlane/fastlane/issues/14997
INFO [2021-02-23 18:36:23.36]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
INFO [2021-02-23 18:36:38.76]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
INFO [2021-02-23 18:36:54.35]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
INFO [2021-02-23 18:37:09.68]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)
INFO [2021-02-23 18:37:25.02]: Waiting for the build to show up in the build list - this may take a few minutes (check your email for processing issues if this continues)

Appears I had a locally built APPNAME.ipa in my folder and it was pulling 1000 from that and sending it to Apple as a filter instead of using the value from Apple.
Command executed
bundle exec fastlane release
which runs
deliver(app_version: VERSION_NUMBER)
@joshdholtz thinks he knows where the bug is, so asked me to file this.
Complete output when running fastlane, including the stack trace and command used

N/A

Environment

N/A

As far as I know Apple broke the whole build pipeline stuff with their App Store Connect changes. There is no easy way to find out the latest build info anymore (even with the API).

As far as I know Apple broke the whole build pipeline stuff with their App Store Connect changes. There is no easy way to find out the latest build info anymore (even with the API).

Hmm that's strange as it does pull the right build info now, just in this case Fastlane is pulling a version off a local file as input to query Apple when that wasn't defined as the input so it would never return the right build. It works fine with that IPA file not existing.
@joshdholtz said he knows where the bug was, and asked me to create the ticket.


Include nuad.de

We should include http://nuad.de/ under explorers in the future.

Added in footer.  Where else should this go?

Header too

#72 adds to header

This issue was moved to gridcoin-community/Gridcoin-Site#2


Add float32 signatures to numba njits

@jpivarski this just adds two common signatures to the njit, I don't think this is too onerous on import (I don't notice it).

I'll take this, adding more up-front compilation when importing awkward.numba, but when this reaches some tipping point, we won't be keeping them. Maybe after awkward.pybind11 exists. The value of a Numba version is the fact that its just-in-time compilation is just-in-time.


Testcafe not running on chromium

What is your Test Scenario?
I want to run tests on Chromium
What is the Current behavior?
This error appears in console (it works normally on firefox)

It seems to be failing here:

What is the Expected behavior?
It also works on chromium
What is your web application and your TestCafe test code?
Any test cafe code, it doesn't even get to the tests. It seems to fail before.
Steps to Reproduce:

run testcafe chromium src/anyTest.ts

Your Environment details:

testcafe version:                  ^0.23.0
node.js version:                   8.10.0
yarn version:                       1.10.1
command-line arguments:  testcafe chromium src/anyTest.ts
browser name and version: Version 70.0.3538.67 (Official Build) Built on Ubuntu , running on Ubuntu 18.04 (64-bit)
platform and version:          Ubuntu 18.04 (64-bit)
It works fine on firefox, same environment. Also, I'm using yarn instead of npm

UPDATE: Just tested with NPM and the result is the same.

I was not able to reproduce the issue. Could you please check the document.documentElement.clientHeight and document.documentElement.clientWidth properties when you browser stops on an error?

I tried to get these from testcafe using
const getWindowLocation = ClientFunction(() => {
        console.log('height:', document.documentElement.clientHeight) ;
        console.log('width:', document.documentElement.clientWidth) ;
    }) ;

And if I open the console, I have to resize the window so it won't be accurate. But this is how it looks like:

Not sure how to see the initial height without modifying it...

@madroneropaulo
As a workarround, have you try setting height and width of the browser by command line?:
testcafe 'chromium:emulation:width=1920;height=800' src/anyTest.ts

@NickCis I'm just using my own testcafe version which uses an arc radius zero if it is a negative value, and it works. I just don't open any PR because I'm not sure that's the best solution, and because I don't know what the problem truly is.

@madroneropaulo, did you just patch the arc radius calculation code to get your tests working? Didn't you add a call to resizeWindow/maximizeWindow to set a proper window size? I suspect that even if you get your tests running with the arc radius patch, any test action will fail with the The specified selector is invisible error because any element will be out of such 0x0 viewport,
Could you please try to disable temporary browser profile creation by using chromium:userProfile as a browser argument:
testcafe chromium:userProfile test.js

It's the second report about this bug, the first one was submitted to the DevExpress ISC a couple of months ago. I feel that we should fix the arc radius calculation code and maybe automatically resize the browser window if it has an incorrect size (like 0x0 or 1x1).